From 9b376b0fd6e356d4c8b160fd972101912a177269 Mon Sep 17 00:00:00 2001 From: casjay Date: Thu, 6 Apr 2023 19:28:01 -0400 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=A6=88=F0=9F=8F=A0=F0=9F=90=9C?= =?UTF-8?q?=E2=9D=97=20Initial=20Commit=20=E2=9D=97=F0=9F=90=9C?= =?UTF-8?q?=F0=9F=A6=88=F0=9F=8F=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 93 + LICENSE.md | 13 + README.md | 8 + configs/ampache/ampache.cfg.php | 355 + configs/apache2/conf.d/php-fpm.conf | 7 + configs/apache2/httpd.conf | 219 + configs/apache2/httpd.ssl.conf | 252 + configs/apache2/vhosts.d/default.conf | 4 + configs/apache2/vhosts.d/default.ssl.conf | 8 + configs/caddy/Caddyfile | 7 + configs/caddy/reverse.Caddyfile | 3 + configs/cherokee/cherokee.conf | 321 + configs/couchdb/default.ini | 158 + configs/couchdb/local.ini | 6 + configs/docker/daemon.json | 7 + configs/docker/registry.yaml | 144 + configs/headphones/headphones.ini | 308 + configs/homepage/bookmarks.yaml | 17 + configs/homepage/docker.yaml | 5 + configs/homepage/services.yaml | 3 + configs/homepage/settings.yaml | 18 + configs/homepage/widgets.yaml | 19 + configs/homey/homey.yml | 40 + configs/lighttpd/lighttpd.conf | 60 + configs/lighttpd/mod_cgi.conf | 23 + configs/lighttpd/mod_fastcgi_fpm.conf | 23 + configs/mongodb/mongod.conf | 24 + configs/mysql/my.cnf | 38 + configs/named/certbot-update.conf | 8 + configs/named/named.conf | 77 + configs/named/rndc.key | 5 + configs/nginx/mime.types | 99 + configs/nginx/nginx.conf | 68 + configs/nginx/vhosts.d/default.conf | 13 + configs/nginx/vhosts.d/default.ssl.conf | 18 + configs/php/php-fpm.conf | 7 + configs/php/php-fpm.d/www.conf | 27 + configs/php/php.ini | 347 + configs/redis/redis.conf | 7 + configs/ssmtp/revaliases | 2 + configs/ssmtp/ssmtp.conf | 5 + db/couchdb.sh | 162 + db/mariadb.sh | 570 ++ db/mongodb.sh | 434 + db/postgresql.sh | 372 + dockerfile/nginx | 180 + htdocs/cgi-bin/env.cgi | 404 + htdocs/cgi-bin/env.php | 41 + htdocs/cgi-bin/env.pl | 404 + htdocs/cgi-bin/env.py | 8 + htdocs/cgi-bin/env.rb | 7 + htdocs/cgi-bin/printenv | 12 + htdocs/cgi-bin/printenv.vbs | 17 + htdocs/cgi-bin/printenv.wsf | 19 + htdocs/cgi-bin/test-cgi | 26 + htdocs/www/404.html | 71 + htdocs/www/css/bootstrap.css | 10522 +++++++++++++++++++ htdocs/www/css/bootstrap.min.css | 10531 ++++++++++++++++++++ htdocs/www/css/bs.plain.css | 9872 ++++++++++++++++++ htdocs/www/css/cookieconsent.css | 275 + htdocs/www/css/errorpages.css | 337 + htdocs/www/css/index.css | 123 + htdocs/www/favicon.ico | Bin 0 -> 766 bytes htdocs/www/health/index.json | 1 + htdocs/www/health/index.txt | 1 + htdocs/www/images/403.png | Bin 0 -> 35464 bytes htdocs/www/images/404.gif | Bin 0 -> 95633 bytes htdocs/www/images/bg.png | Bin 0 -> 1218 bytes htdocs/www/images/favicon.ico | Bin 0 -> 766 bytes htdocs/www/images/icon.png | Bin 0 -> 4029 bytes htdocs/www/images/icon.svg | 1 + htdocs/www/index.php | 104 + htdocs/www/info.php | 63 + htdocs/www/js/app.js | 0 htdocs/www/js/bootstrap.min.js | 4075 ++++++++ htdocs/www/js/errorpages/homepage.js | 6 + htdocs/www/js/errorpages/isup.js | 7 + htdocs/www/js/errorpages/loaddomain.js | 7 + htdocs/www/js/errorpages/scale.fix.js | 20 + htdocs/www/js/jquery/default.js | 5540 ++++++++++ htdocs/www/js/passprotect.min.js | 2294 +++++ htdocs/www/site.webmanifest | 14 + init/bin/act-runner | 115 + init/bin/buildah-build | 42 + init/bin/ddns | 147 + init/bin/docker-buildx | 105 + init/done/00-couchdb.sh | 487 + init/done/00-mariadb.sh | 445 + init/done/00-mongodb.sh | 404 + init/done/03-aria2.sh | 420 + init/done/03-headphones.sh | 398 + init/done/03-homepage.sh | 404 + init/done/03-homey.sh | 405 + init/done/04-bind.sh | 456 + init/done/05-ifconfig.sh | 407 + init/done/07-dictd.sh | 412 + init/done/07-docker.sh | 411 + init/done/08-apache.sh | 397 + init/done/08-caddy.sh | 399 + init/done/08-cherokee.sh | 402 + init/done/08-gitea.sh | 440 + init/done/08-gohttpserver.sh | 405 + init/done/08-jekyll.sh | 414 + init/done/09-ampache.sh | 401 + init/done/09-apprise.sh | 406 + init/done/98-ddns.sh | 404 + init/done/99-bash.sh | 404 + init/done/99-buildah.sh | 404 + init/done/99-bun.sh | 408 + init/done/99-code.sh | 404 + init/done/99-commitment.sh | 398 + init/done/99-deno.sh | 407 + init/orig/00-couchdb.sh | 229 + init/orig/00-mariadb.sh | 437 + init/orig/00-mongodb.sh | 175 + init/orig/00-postgresql.sh | 157 + init/orig/01-php-fpm.sh | 384 + init/orig/02-docker.sh | 156 + init/orig/03-named.sh | 222 + init/orig/09-nodejs.sh | 244 + init/orig/zz-apache2.sh | 388 + init/orig/zz-cherokee.sh | 177 + init/orig/zz-echoip.sh | 155 + init/orig/zz-lighttpd.sh | 176 + init/orig/zz-nginx.sh | 185 + init/setup/deno-init.sh | 59 + init/update/00-golang.sh | 404 + init/update/00-jellyfin.sh | 405 + init/update/00-lenpaste.sh | 404 + init/update/00-lighttpd.sh | 404 + init/update/00-link-warden.sh | 404 + init/update/00-memos.sh | 404 + init/update/00-mpd.sh | 404 + init/update/00-navidrome.sh | 404 + init/update/00-neovim.sh | 404 + init/update/00-nextcloud.sh | 404 + init/update/00-nginx.sh | 408 + init/update/00-nodejs.sh | 404 + init/update/00-opencv.sh | 404 + init/update/00-php.sh | 404 + init/update/00-podman.sh | 404 + init/update/00-postgres.sh | 404 + init/update/00-proftpd.sh | 404 + init/update/00-readme-to-dockerhub.sh | 404 + init/update/00-redis.sh | 404 + init/update/00-registry-web.sh | 404 + init/update/00-registry.sh | 404 + init/update/00-soft-serve.sh | 404 + init/update/00-sqlite3.sh | 404 + init/update/00-squidguard.sh | 404 + init/update/00-ssl-ca.sh | 404 + init/update/00-supabase.sh | 404 + init/update/00-system-scripts.sh | 404 + init/update/00-tftpd.sh | 404 + init/update/00-theHarvester.sh | 404 + init/update/00-tor-browser.sh | 404 + init/update/00-tor.sh | 404 + init/update/00-traefik.sh | 404 + init/update/00-transmission.sh | 404 + init/update/00-vaultwarden.sh | 404 + init/update/00-vim.sh | 404 + init/update/00-wordpress.sh | 404 + init/update/00-wttr.sh | 404 + init/update/00-xfce4.sh | 404 + init/update/00-ympd.sh | 404 + init/update/00-youtube-dl.sh | 404 + 166 files changed, 79846 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 configs/ampache/ampache.cfg.php create mode 100644 configs/apache2/conf.d/php-fpm.conf create mode 100644 configs/apache2/httpd.conf create mode 100644 configs/apache2/httpd.ssl.conf create mode 100644 configs/apache2/vhosts.d/default.conf create mode 100644 configs/apache2/vhosts.d/default.ssl.conf create mode 100644 configs/caddy/Caddyfile create mode 100644 configs/caddy/reverse.Caddyfile create mode 100644 configs/cherokee/cherokee.conf create mode 100644 configs/couchdb/default.ini create mode 100644 configs/couchdb/local.ini create mode 100644 configs/docker/daemon.json create mode 100644 configs/docker/registry.yaml create mode 100644 configs/headphones/headphones.ini create mode 100644 configs/homepage/bookmarks.yaml create mode 100644 configs/homepage/docker.yaml create mode 100644 configs/homepage/services.yaml create mode 100644 configs/homepage/settings.yaml create mode 100644 configs/homepage/widgets.yaml create mode 100644 configs/homey/homey.yml create mode 100644 configs/lighttpd/lighttpd.conf create mode 100644 configs/lighttpd/mod_cgi.conf create mode 100644 configs/lighttpd/mod_fastcgi_fpm.conf create mode 100644 configs/mongodb/mongod.conf create mode 100644 configs/mysql/my.cnf create mode 100644 configs/named/certbot-update.conf create mode 100644 configs/named/named.conf create mode 100644 configs/named/rndc.key create mode 100644 configs/nginx/mime.types create mode 100644 configs/nginx/nginx.conf create mode 100644 configs/nginx/vhosts.d/default.conf create mode 100644 configs/nginx/vhosts.d/default.ssl.conf create mode 100644 configs/php/php-fpm.conf create mode 100644 configs/php/php-fpm.d/www.conf create mode 100644 configs/php/php.ini create mode 100644 configs/redis/redis.conf create mode 100644 configs/ssmtp/revaliases create mode 100644 configs/ssmtp/ssmtp.conf create mode 100644 db/couchdb.sh create mode 100644 db/mariadb.sh create mode 100644 db/mongodb.sh create mode 100644 db/postgresql.sh create mode 100644 dockerfile/nginx create mode 100755 htdocs/cgi-bin/env.cgi create mode 100755 htdocs/cgi-bin/env.php create mode 100755 htdocs/cgi-bin/env.pl create mode 100755 htdocs/cgi-bin/env.py create mode 100755 htdocs/cgi-bin/env.rb create mode 100644 htdocs/cgi-bin/printenv create mode 100644 htdocs/cgi-bin/printenv.vbs create mode 100644 htdocs/cgi-bin/printenv.wsf create mode 100644 htdocs/cgi-bin/test-cgi create mode 100644 htdocs/www/404.html create mode 100644 htdocs/www/css/bootstrap.css create mode 100644 htdocs/www/css/bootstrap.min.css create mode 100644 htdocs/www/css/bs.plain.css create mode 100644 htdocs/www/css/cookieconsent.css create mode 100644 htdocs/www/css/errorpages.css create mode 100644 htdocs/www/css/index.css create mode 100644 htdocs/www/favicon.ico create mode 100644 htdocs/www/health/index.json create mode 100644 htdocs/www/health/index.txt create mode 100644 htdocs/www/images/403.png create mode 100644 htdocs/www/images/404.gif create mode 100644 htdocs/www/images/bg.png create mode 100644 htdocs/www/images/favicon.ico create mode 100644 htdocs/www/images/icon.png create mode 100644 htdocs/www/images/icon.svg create mode 100644 htdocs/www/index.php create mode 100644 htdocs/www/info.php create mode 100644 htdocs/www/js/app.js create mode 100644 htdocs/www/js/bootstrap.min.js create mode 100644 htdocs/www/js/errorpages/homepage.js create mode 100644 htdocs/www/js/errorpages/isup.js create mode 100644 htdocs/www/js/errorpages/loaddomain.js create mode 100644 htdocs/www/js/errorpages/scale.fix.js create mode 100644 htdocs/www/js/jquery/default.js create mode 100644 htdocs/www/js/passprotect.min.js create mode 100644 htdocs/www/site.webmanifest create mode 100644 init/bin/act-runner create mode 100755 init/bin/buildah-build create mode 100755 init/bin/ddns create mode 100644 init/bin/docker-buildx create mode 100755 init/done/00-couchdb.sh create mode 100755 init/done/00-mariadb.sh create mode 100755 init/done/00-mongodb.sh create mode 100755 init/done/03-aria2.sh create mode 100755 init/done/03-headphones.sh create mode 100755 init/done/03-homepage.sh create mode 100755 init/done/03-homey.sh create mode 100755 init/done/04-bind.sh create mode 100755 init/done/05-ifconfig.sh create mode 100755 init/done/07-dictd.sh create mode 100755 init/done/07-docker.sh create mode 100755 init/done/08-apache.sh create mode 100755 init/done/08-caddy.sh create mode 100755 init/done/08-cherokee.sh create mode 100755 init/done/08-gitea.sh create mode 100755 init/done/08-gohttpserver.sh create mode 100755 init/done/08-jekyll.sh create mode 100755 init/done/09-ampache.sh create mode 100755 init/done/09-apprise.sh create mode 100755 init/done/98-ddns.sh create mode 100755 init/done/99-bash.sh create mode 100755 init/done/99-buildah.sh create mode 100755 init/done/99-bun.sh create mode 100755 init/done/99-code.sh create mode 100755 init/done/99-commitment.sh create mode 100755 init/done/99-deno.sh create mode 100755 init/orig/00-couchdb.sh create mode 100755 init/orig/00-mariadb.sh create mode 100755 init/orig/00-mongodb.sh create mode 100755 init/orig/00-postgresql.sh create mode 100755 init/orig/01-php-fpm.sh create mode 100755 init/orig/02-docker.sh create mode 100755 init/orig/03-named.sh create mode 100755 init/orig/09-nodejs.sh create mode 100755 init/orig/zz-apache2.sh create mode 100755 init/orig/zz-cherokee.sh create mode 100755 init/orig/zz-echoip.sh create mode 100755 init/orig/zz-lighttpd.sh create mode 100755 init/orig/zz-nginx.sh create mode 100644 init/setup/deno-init.sh create mode 100755 init/update/00-golang.sh create mode 100755 init/update/00-jellyfin.sh create mode 100755 init/update/00-lenpaste.sh create mode 100755 init/update/00-lighttpd.sh create mode 100755 init/update/00-link-warden.sh create mode 100755 init/update/00-memos.sh create mode 100755 init/update/00-mpd.sh create mode 100755 init/update/00-navidrome.sh create mode 100755 init/update/00-neovim.sh create mode 100755 init/update/00-nextcloud.sh create mode 100755 init/update/00-nginx.sh create mode 100755 init/update/00-nodejs.sh create mode 100755 init/update/00-opencv.sh create mode 100755 init/update/00-php.sh create mode 100755 init/update/00-podman.sh create mode 100755 init/update/00-postgres.sh create mode 100755 init/update/00-proftpd.sh create mode 100755 init/update/00-readme-to-dockerhub.sh create mode 100755 init/update/00-redis.sh create mode 100755 init/update/00-registry-web.sh create mode 100755 init/update/00-registry.sh create mode 100755 init/update/00-soft-serve.sh create mode 100755 init/update/00-sqlite3.sh create mode 100755 init/update/00-squidguard.sh create mode 100755 init/update/00-ssl-ca.sh create mode 100755 init/update/00-supabase.sh create mode 100755 init/update/00-system-scripts.sh create mode 100755 init/update/00-tftpd.sh create mode 100755 init/update/00-theHarvester.sh create mode 100755 init/update/00-tor-browser.sh create mode 100755 init/update/00-tor.sh create mode 100755 init/update/00-traefik.sh create mode 100755 init/update/00-transmission.sh create mode 100755 init/update/00-vaultwarden.sh create mode 100755 init/update/00-vim.sh create mode 100755 init/update/00-wordpress.sh create mode 100755 init/update/00-wttr.sh create mode 100755 init/update/00-xfce4.sh create mode 100755 init/update/00-ympd.sh create mode 100755 init/update/00-youtube-dl.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3bee0b --- /dev/null +++ b/.gitignore @@ -0,0 +1,93 @@ +# gitignore created on 04/06/23 at 18:41 +# Disable reminder in prompt +ignoredirmessage + +# OS generated files +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ignore commit message +**/.gitcommit + +#ignore .failed +**/.build_failed + +# ignore .bak files +**/*.bak + +# ignore .no_push files +**/.no_push + +# ignore .no_git files +**/.no_git + +# ignore .installed files +**/.installed + diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..cececca --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2023 casjay + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 1. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fdb9640 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +## 👋 Welcome to docker-scripts 🚀 + +docker-scripts README + + +## Author + +🤖 casjay: [Github](https://github.com/casjay) 🤖 diff --git a/configs/ampache/ampache.cfg.php b/configs/ampache/ampache.cfg.php new file mode 100644 index 0000000..0a6c26a --- /dev/null +++ b/configs/ampache/ampache.cfg.php @@ -0,0 +1,355 @@ +;### +;######################################################### +; General Config # +;######################################################### +config_version = 63 + +;######################################################### +; Auto Update # +;######################################################### +github_force_branch = "master" +composer_binary_path = "composer" +hide_ampache_messages = "false" + +;######################################################### +; Path Vars # +;######################################################### +;http_host = "localhost" +;http_port = 80 +;web_path = "" +;local_web_path = "http://localhost/ampache" + +;######################################################### +; Database # +;######################################################### +database_name = ampache +database_hostname = localhost +database_port = 3306 +database_username = root +;database_password = password +database_charset = "utf8mb4" +database_collation = "utf8mb4_unicode_ci" + +;######################################################### +; Session and Security # +;######################################################### +secret_key = "abcdefghijklmnoprqstuvwyz0123456" +session_length = 3600 +stream_length = 7200 +remember_length = 604800 +session_name = ampache +session_cookielife = 0 +session_cookiesecure = 0 +auth_methods = "mysql" +;external_authenticator = "/usr/sbin/pwauth" +;auth_password_save = "true" +;logout_redirect = "http://sso.example.com/logout" +access_control = "true" +require_session = "true" +require_localnet_session = "true" +;prevent_multiple_logins = "true" +;disable_xframe_sameorigin = "true" + +;######################################################### +; Metadata # +;######################################################### +getid3_tag_order = "vorbiscomment,id3v2,id3v1,quicktime,matroska,ape,asf,avi,mpeg,riff" +;getid3_detect_id3v2_encoding = "true" +;write_id3 = "true" +;write_id3_art = "true" +metadata_order = "getID3,MusicBrainz,TheAudioDb,filename" +metadata_order_video = "filename,getID3" +deferred_ext_metadata = "true" +additional_genre_delimiters = "[/]{2}|[/\\\\|,;]" +;enable_custom_metadata = "true" + +;######################################################### +; File Tags # +;write_tags = "true" + +;######################################################### +; Catalog # +;######################################################### +catalog_file_pattern = "mp3|mpc|m4p|m4a|aac|ogg|oga|wav|aif|aiff|rm|wma|asf|flac|opus|spx|ra|ape|shn|wv" +catalog_video_pattern = "avi|mpg|mpeg|flv|m4v|mp4|webm|mkv|wmv|ogv|mov|divx|m2ts" +catalog_playlist_pattern = "m3u|m3u8|pls|asx|xspf" +catalog_prefix_pattern = "The|An|A|Die|Das|Ein|Eine|Les|Le|La" +;catalog_disable = "true" +;catalog_filter = "true" +;delete_from_disk = "true" +;catalog_verify_by_time = "true" + +;######################################################### +; Program Settings # +;######################################################### +;downsample_remote = "true" +;track_user_ip = "true" +;user_ip_cardinality = "42" +;allow_zip_download = "true" +;allow_zip_types = "album" +;art_zip_add = "true" +;file_zip_comment = "Ampache - Zip Batch Download" +;webplayer_debug = "true" +;waveform = "true" +;waveform_color = "#FF0000" +;waveform_height = 32 +;waveform_width = 400 +;tmp_dir_path = "/tmp" +;throttle_download = 10 +;generate_video_preview = "true" +;no_symlinks = "true" +use_auth = "true" +default_auth_level = "guest" +;skip_timer = 20 +ratings = "true" +;rating_browse_filter = "true" +;rating_browse_minimum_stars = 1 +;rating_file_tag_user = 1 +directplay = "true" +sociable = "true" +;licensing = "true" +;demo_mode = "true" +;simple_user_mode = "true" +;memory_cache = "true" +;memory_limit = 32 +;album_art_preferred_filename = "folder.jpg" +;artist_art_preferred_filename = "folder.jpg" +;artist_art_folder = "/data/htdocs/www/art" +;album_art_store_disk = "true" +;local_metadata_dir = "/metadata" +;max_upload_size = 1048576 +;album_art_min_width = 100 +;album_art_max_width = 1024 +;album_art_min_height = 100 +;album_art_max_height = 1024 +;resize_images = "true" +playlist_art = "true" +;statistical_graphs = "true" +art_order = "db,tags,folder,spotify,musicbrainz" +;gather_song_art = "true" +;show_song_art = "true" +;spotify_art_filter = "artist" +;art_search_limit = 15 +;show_similar = "true" +;hide_search = "true" +;allow_upload_scripts = "true" + +;######################################################### +; API keys # +;######################################################### +lastfm_api_key = "d5df942424c71b754e54ce1832505ae2" +lastfm_api_secret = "" + +;spotify_client_id = "" +;spotify_client_secret = "" +;wanted = "true" +wanted_types = "album,official" +;wanted_auto_accept = "true" +;label = "true" +;broadcast = "true" +live_stream = "true" +podcast = "true" +;websocket_address = "ws://localhost:8100" +refresh_limit = "60" +;use_now_playing_embedded = "true" +;now_playing_refresh_limit = "-1" +;now_playing_css_file = "templates/now-playing.css" +show_footer_statistics = "true" +;use_rss = "true" +;allow_php_themes = "true" + +;######################################################### +; Debugging # +;######################################################### +debug = "false" +debug_level = 2 +log_path = "/data/logs/httpd" +log_filename = "ampache.log" + +;######################################################### +; Encoding Settings # +;######################################################### +site_charset = UTF-8 +;lc_charset = "ISO8859-1" +;mb_detect_order = "ASCII,UTF-8,EUC-JP,ISO-2022-JP,SJIS,JIS" + +;######################################################### +; Custom actions (optional) # +;######################################################### +;custom_play_action_title_0 = "" +;custom_play_action_icon_0 = "" +;custom_play_action_run_0 = "" + +; Example for Karaoke playing +;custom_play_action_title_0 = "Karaoke" +;custom_play_action_icon_0 = "microphone" +;custom_play_action_run_0 = "sox \"%f\" -p oops | ffmpeg -i pipe:0 -f %c pipe:1" + +;######################################################### +; LDAP login info (optional) # +;######################################################### +;ldap_url = "ldap://localhost/" +;ldap_url = "ldaps://localhost/" +;ldap_username = "" +;ldap_password = "" +;ldap_search_dn = "ou=People,dc=yoursubdomain,dc=yourdomain,dc=yourtld" +;ldap_objectclass = "posixAccount" ; OpenLDAP +;ldap_objectclass = "organizationalPerson" ; Microsoft Active Directory +;ldap_filter = "(uid=%v)" ; OpenLDAP +;ldap_filter = "(sAMAccountName=%v)" ; Microsoft Active Directory +;ldap_require_group = "cn=yourgroup,ou=yourorg,dc=yoursubdomain,dc=yourdomain,dc=yourtld" +;ldap_name_field = "cn" +;ldap_name_field = "displayName" +;ldap_email_field = "mail" +;ldap_avatar_field = "jpegPhoto" +;ldap_avatar_mime = "image/jpeg" +;ldap_protocol_version = 3 +;ldap_start_tls = "true" +;ldap_member_attribute = "member" +;ldap_member_attribute = "memberuid" + +;######################################################### +; OpenID login info (optional) # +;######################################################### +;openid_required_pape = "" + +;######################################################### +; Public Registration settings, defaults to disabled # +;######################################################### +;auto_create = "true" +;external_auto_update = "true" +;allow_public_registration = "true" +;captcha_public_reg = "true" +;admin_notify_reg = "true" +;admin_enable_required = "true" +;auto_user = "guest" +;user_agreement = "true" +;user_no_email_confirm = "true" +;cookie_disclaimer = "true" +registration_display_fields = "fullname,website" +registration_mandatory_fields = "fullname" + +;######################################################### +; These options control the dynamic downsampling based # +; on current usage # +; *Note* Transcoding must be enabled and working # +;######################################################### +;max_bit_rate = 576 +;min_bit_rate = 48 + +;######################################################### +; Transcode Settings # +;######################################################### +;transcode_m4a = "allowed" +;transcode_flac = "required" +;transcode_mpc = "required" +;transcode_ogg = "required" +;transcode_oga = "required" +;transcode_opus = "required" +;transcode_wav = "required" +;transcode_wma = "required" +;transcode_aif = "required" +;transcode_aiff = "required" +;transcode_ape = "required" +;transcode_shn = "required" +transcode_mp3 = "allowed" +;transcode_avi = "allowed" +;transcode_flv = "allowed" +;transcode_mkv = "allowed" +;transcode_mpg = "allowed" +;transcode_mpeg = "allowed" +;transcode_m4v = "allowed" +;transcode_mp4 = "allowed" +;transcode_mov = "allowed" +;transcode_wmv = "allowed" +;transcode_ogv = "allowed" +;transcode_divx = "allowed" +;transcode_m2ts = "allowed" +;transcode_webm = "allowed" +;encode_target = mp3 +;encode_video_target = webm +;encode_target_flac = opus +;transcode_player_webplayer_m4a = "required" +;transcode_player_webplayer_flac = "required" +;transcode_player_webplayer_mpc = "required" +;encode_player_webplayer_target = mp3 +;encode_player_api_target = mp3 +transcode_player_customize = "true" +;transcode_cmd = "ffmpeg" +;transcode_cmd = "avconv" +;transcode_cmd = "/usr/bin/neatokeen" +transcode_input = "-i %FILE%" +;transcode_cmd_mid = "timidity -Or -o – %FILE% | ffmpeg -f s16le -i pipe:0" +encode_args_mp3 = "-vn -b:a %BITRATE%K -c:a libmp3lame -f mp3 pipe:1" +encode_args_ogg = "-vn -b:a %BITRATE%K -c:a libvorbis -f ogg pipe:1" +encode_args_opus = "-vn -b:a %BITRATE%K -c:a libopus -compression_level 10 -vsync 2 -f ogg pipe:1" +encode_args_m4a = "-vn -b:a %BITRATE%K -c:a libfdk_aac -f adts pipe:1" +encode_args_wav = "-vn -b:a %BITRATE%K -c:a pcm_s16le -f wav pipe:1" +encode_args_flv = "-b:a %BITRATE%K -ar 44100 -ac 2 -v 0 -f flv -c:v libx264 -preset superfast -threads 0 pipe:1" +encode_args_webm = "-b:a %BITRATE%K -f webm -c:v libvpx -preset superfast -threads 0 pipe:1" +encode_args_ts = "-q %QUALITY% -s %RESOLUTION% -f mpegts -c:v libx264 -c:a libmp3lame -maxrate %MAXBITRATE%k -preset superfast -threads 0 pipe:1" +encode_args_ogv = "-codec:v libtheora -qscale:v 7 -codec:a libvorbis -qscale:a 5 -f ogg pipe:1" +encode_get_image = "-ss %TIME% -f image2 -vframes 1 pipe:1" +encode_srt = "-vf \"subtitles='%SRTFILE%'\"" +encode_ss_frame = "-ss %TIME%" +encode_ss_duration = "-t %DURATION%" +send_full_stream = "webplayer" + +;######################################################### +; Transcode Caching # +;######################################################### +;cache_path = "/tmp" +;cache_target = "mp3" +;cache_m4a = "true" +;cache_flac = "true" +;cache_mpc = "true" +;cache_ogg = "true" +;cache_oga = "true" +;cache_opus = "true" +;cache_wav = "true" +;cache_wma = "true" +;cache_aif = "true" +;cache_aiff = "true" +;cache_ape = "true" +;cache_shn = "true" +;cache_mp3 = "true" +;cache_remote = "true" + +;######################################################### +; Proxy Settings (optional) # +;######################################################### +;proxy_host = "192.168.0.1" +;proxy_port = "8080" +;proxy_user = "" +;proxy_pass = "" +;force_ssl = "true" + +;######################################################### +; Mail Settings # +;######################################################### +;mail_enable = "true" +;mail_type = "php" +;mail_domain = "example.com" +;mail_user = "info" +;mail_name = "Ampache" +;mail_check = "strict" + +;######################################################### +; sendmail Settings # +;######################################################### +;sendmail_path = "/usr/sbin/sendmail" + +;######################################################### +; SMTP Settings # +;######################################################### +;mail_host = "localhost" +;mail_port = 25 +;mail_secure_smtp = tls +;mail_auth = "true" +;mail_auth_user = "" +;mail_auth_pass = "" + +;######################################################### +; Abbreviation Filter # +;######################################################### +common_abbr = "divx,xvid,dvdrip,hdtv,lol,axxo,repack,xor,pdtv,real,vtv,caph,2hd,proper,fqm,uncut,topaz,tvt,notv,fpn,fov,orenji,0tv,omicron,dsr,ws,sys,crimson,wat,hiqt,internal,brrip,boheme,vost,vostfr,fastsub,addiction,x264,LOL,720p,1080p,YIFY,evolve,fihtv,first,bokutox,bluray,tvboom,info" diff --git a/configs/apache2/conf.d/php-fpm.conf b/configs/apache2/conf.d/php-fpm.conf new file mode 100644 index 0000000..c7e24fa --- /dev/null +++ b/configs/apache2/conf.d/php-fpm.conf @@ -0,0 +1,7 @@ +# +# SetHandler application/x-httpd-php +# + + + SetHandler "proxy:fcgi://127.0.0.1:9000" + diff --git a/configs/apache2/httpd.conf b/configs/apache2/httpd.conf new file mode 100644 index 0000000..2674ad8 --- /dev/null +++ b/configs/apache2/httpd.conf @@ -0,0 +1,219 @@ +# This is the main Apache HTTP server configuration file. +# Set to one of: Full | OS | Minor | Minimal | Major | Prod +ServerTokens PROD +ServerRoot /var/www +Listen REPLACE_SERVER_PORT + +LoadModule mpm_event_module modules/mod_mpm_event.so +#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so +LoadModule authn_file_module modules/mod_authn_file.so +LoadModule authn_dbm_module modules/mod_authn_dbm.so +LoadModule authn_anon_module modules/mod_authn_anon.so +LoadModule authn_dbd_module modules/mod_authn_dbd.so +LoadModule authn_socache_module modules/mod_authn_socache.so +LoadModule authn_core_module modules/mod_authn_core.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule authz_groupfile_module modules/mod_authz_groupfile.so +LoadModule authz_user_module modules/mod_authz_user.so +LoadModule authz_dbm_module modules/mod_authz_dbm.so +LoadModule authz_owner_module modules/mod_authz_owner.so +LoadModule authz_dbd_module modules/mod_authz_dbd.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule access_compat_module modules/mod_access_compat.so +LoadModule auth_basic_module modules/mod_auth_basic.so +LoadModule auth_form_module modules/mod_auth_form.so +LoadModule auth_digest_module modules/mod_auth_digest.so +LoadModule allowmethods_module modules/mod_allowmethods.so +LoadModule file_cache_module modules/mod_file_cache.so +LoadModule cache_module modules/mod_cache.so +LoadModule cache_disk_module modules/mod_cache_disk.so +LoadModule cache_socache_module modules/mod_cache_socache.so +LoadModule socache_shmcb_module modules/mod_socache_shmcb.so +LoadModule socache_dbm_module modules/mod_socache_dbm.so +LoadModule socache_memcache_module modules/mod_socache_memcache.so +LoadModule socache_redis_module modules/mod_socache_redis.so +LoadModule watchdog_module modules/mod_watchdog.so +LoadModule macro_module modules/mod_macro.so +LoadModule dbd_module modules/mod_dbd.so +LoadModule dumpio_module modules/mod_dumpio.so +LoadModule echo_module modules/mod_echo.so +LoadModule buffer_module modules/mod_buffer.so +LoadModule data_module modules/mod_data.so +LoadModule ratelimit_module modules/mod_ratelimit.so +LoadModule reqtimeout_module modules/mod_reqtimeout.so +LoadModule ext_filter_module modules/mod_ext_filter.so +LoadModule request_module modules/mod_request.so +LoadModule include_module modules/mod_include.so +LoadModule filter_module modules/mod_filter.so +LoadModule reflector_module modules/mod_reflector.so +LoadModule substitute_module modules/mod_substitute.so +LoadModule sed_module modules/mod_sed.so +LoadModule charset_lite_module modules/mod_charset_lite.so +LoadModule deflate_module modules/mod_deflate.so +LoadModule brotli_module modules/mod_brotli.so +LoadModule mime_module modules/mod_mime.so +LoadModule log_config_module modules/mod_log_config.so +LoadModule log_debug_module modules/mod_log_debug.so +LoadModule log_forensic_module modules/mod_log_forensic.so +LoadModule logio_module modules/mod_logio.so +LoadModule env_module modules/mod_env.so +LoadModule mime_magic_module modules/mod_mime_magic.so +LoadModule expires_module modules/mod_expires.so +LoadModule headers_module modules/mod_headers.so +LoadModule usertrack_module modules/mod_usertrack.so +LoadModule unique_id_module modules/mod_unique_id.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule version_module modules/mod_version.so +LoadModule remoteip_module modules/mod_remoteip.so +LoadModule session_module modules/mod_session.so +LoadModule session_cookie_module modules/mod_session_cookie.so +LoadModule session_crypto_module modules/mod_session_crypto.so +LoadModule session_dbd_module modules/mod_session_dbd.so +LoadModule slotmem_shm_module modules/mod_slotmem_shm.so +LoadModule slotmem_plain_module modules/mod_slotmem_plain.so +LoadModule dialup_module modules/mod_dialup.so +LoadModule http2_module modules/mod_http2.so +LoadModule unixd_module modules/mod_unixd.so +LoadModule heartbeat_module modules/mod_heartbeat.so +LoadModule heartmonitor_module modules/mod_heartmonitor.so +LoadModule status_module modules/mod_status.so +LoadModule autoindex_module modules/mod_autoindex.so +LoadModule asis_module modules/mod_asis.so +LoadModule info_module modules/mod_info.so +LoadModule cgi_module modules/mod_cgi.so +LoadModule vhost_alias_module modules/mod_vhost_alias.so +LoadModule dir_module modules/mod_dir.so +LoadModule actions_module modules/mod_actions.so +LoadModule speling_module modules/mod_speling.so +LoadModule userdir_module modules/mod_userdir.so +LoadModule alias_module modules/mod_alias.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule fcgid_module modules/mod_fcgid.so +LoadModule dav_module modules/mod_dav.so +LoadModule dav_fs_module modules/mod_dav_fs.so +LoadModule ssl_module modules/mod_ssl.so +LoadModule wsgi_module modules/mod_wsgi.so +LoadModule lua_module modules/mod_lua.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +LoadModule proxy_balancer_module modules/mod_proxy_balancer.so +LoadModule proxy_connect_module modules/mod_proxy_connect.so +LoadModule proxy_express_module modules/mod_proxy_express.so +LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so +LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so +LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_scgi_module modules/mod_proxy_scgi.so +LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so +LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +#LoadModule suexec_module modules/mod_suexec.so +#LoadModule php_module modules/mod_php8.so + + +User apache +Group apache + + +# 'Main' server configuration +ServerName REPLACE_SERVER_NAME +ServerAdmin REPLACE_SERVER_ADMIN +ServerSignature On + +DocumentRoot "REPLACE_SERVER_DIR" + + + AllowOverride none + Require all denied + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Order deny,allow + Deny from all + + + + DirectoryIndex index.php index.cgi index.asp index.aspx index.pl index.aspx index.shtml awstats.pl index.txt index.json index.html index.html.var Default.aspx default.aspx index.unknown.php index.default.php + + + + Require all denied + + +ErrorLog /data/logs/apache2/error.log +LogLevel warn + + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + CustomLog /data/logs/apache2/access.default.log combined + + + + Alias /health /data/htdocs/www/health/index.txt + Alias /health/json /data/htdocs/www/health/index.json + ScriptAlias /cgi-bin/ "/data/htdocs/cgi-bin/" + + + + AllowOverride None + Options None + Require all granted + + + + #Scriptsock cgisock + + + + RequestHeader unset Proxy early + + + + TypesConfig /etc/apache2/mime.types + AddType application/x-gzip .tgz + AddEncoding x-compress .Z + AddEncoding x-gzip .gz .tgz + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + AddHandler cgi-script .cgi + AddHandler type-map var + AddType text/html .shtml + AddOutputFilter INCLUDES .shtml + + + + MIMEMagicFile /etc/apache2/magic + + + + + SetHandler server-status + + + +ProxyErrorOverride on +IncludeOptional /etc/apache2/conf.d/*.conf +IncludeOptional /etc/apache2/vhosts.d/*.conf diff --git a/configs/apache2/httpd.ssl.conf b/configs/apache2/httpd.ssl.conf new file mode 100644 index 0000000..b76ea71 --- /dev/null +++ b/configs/apache2/httpd.ssl.conf @@ -0,0 +1,252 @@ +# This is the main Apache HTTP server configuration file. +# Set to one of: Full | OS | Minor | Minimal | Major | Prod +ServerTokens PROD +ServerRoot /var/www +Listen REPLACE_SERVER_PORT + +LoadModule mpm_event_module modules/mod_mpm_event.so +#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so +LoadModule authn_file_module modules/mod_authn_file.so +LoadModule authn_dbm_module modules/mod_authn_dbm.so +LoadModule authn_anon_module modules/mod_authn_anon.so +LoadModule authn_dbd_module modules/mod_authn_dbd.so +LoadModule authn_socache_module modules/mod_authn_socache.so +LoadModule authn_core_module modules/mod_authn_core.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule authz_groupfile_module modules/mod_authz_groupfile.so +LoadModule authz_user_module modules/mod_authz_user.so +LoadModule authz_dbm_module modules/mod_authz_dbm.so +LoadModule authz_owner_module modules/mod_authz_owner.so +LoadModule authz_dbd_module modules/mod_authz_dbd.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule access_compat_module modules/mod_access_compat.so +LoadModule auth_basic_module modules/mod_auth_basic.so +LoadModule auth_form_module modules/mod_auth_form.so +LoadModule auth_digest_module modules/mod_auth_digest.so +LoadModule allowmethods_module modules/mod_allowmethods.so +LoadModule file_cache_module modules/mod_file_cache.so +LoadModule cache_module modules/mod_cache.so +LoadModule cache_disk_module modules/mod_cache_disk.so +LoadModule cache_socache_module modules/mod_cache_socache.so +LoadModule socache_shmcb_module modules/mod_socache_shmcb.so +LoadModule socache_dbm_module modules/mod_socache_dbm.so +LoadModule socache_memcache_module modules/mod_socache_memcache.so +LoadModule socache_redis_module modules/mod_socache_redis.so +LoadModule watchdog_module modules/mod_watchdog.so +LoadModule macro_module modules/mod_macro.so +LoadModule dbd_module modules/mod_dbd.so +LoadModule dumpio_module modules/mod_dumpio.so +LoadModule echo_module modules/mod_echo.so +LoadModule buffer_module modules/mod_buffer.so +LoadModule data_module modules/mod_data.so +LoadModule ratelimit_module modules/mod_ratelimit.so +LoadModule reqtimeout_module modules/mod_reqtimeout.so +LoadModule ext_filter_module modules/mod_ext_filter.so +LoadModule request_module modules/mod_request.so +LoadModule include_module modules/mod_include.so +LoadModule filter_module modules/mod_filter.so +LoadModule reflector_module modules/mod_reflector.so +LoadModule substitute_module modules/mod_substitute.so +LoadModule sed_module modules/mod_sed.so +LoadModule charset_lite_module modules/mod_charset_lite.so +LoadModule deflate_module modules/mod_deflate.so +LoadModule brotli_module modules/mod_brotli.so +LoadModule mime_module modules/mod_mime.so +LoadModule log_config_module modules/mod_log_config.so +LoadModule log_debug_module modules/mod_log_debug.so +LoadModule log_forensic_module modules/mod_log_forensic.so +LoadModule logio_module modules/mod_logio.so +LoadModule env_module modules/mod_env.so +LoadModule mime_magic_module modules/mod_mime_magic.so +LoadModule expires_module modules/mod_expires.so +LoadModule headers_module modules/mod_headers.so +LoadModule usertrack_module modules/mod_usertrack.so +LoadModule unique_id_module modules/mod_unique_id.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule version_module modules/mod_version.so +LoadModule remoteip_module modules/mod_remoteip.so +LoadModule session_module modules/mod_session.so +LoadModule session_cookie_module modules/mod_session_cookie.so +LoadModule session_crypto_module modules/mod_session_crypto.so +LoadModule session_dbd_module modules/mod_session_dbd.so +LoadModule slotmem_shm_module modules/mod_slotmem_shm.so +LoadModule slotmem_plain_module modules/mod_slotmem_plain.so +LoadModule dialup_module modules/mod_dialup.so +LoadModule http2_module modules/mod_http2.so +LoadModule unixd_module modules/mod_unixd.so +LoadModule heartbeat_module modules/mod_heartbeat.so +LoadModule heartmonitor_module modules/mod_heartmonitor.so +LoadModule status_module modules/mod_status.so +LoadModule autoindex_module modules/mod_autoindex.so +LoadModule asis_module modules/mod_asis.so +LoadModule info_module modules/mod_info.so +LoadModule cgi_module modules/mod_cgi.so +LoadModule vhost_alias_module modules/mod_vhost_alias.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule dir_module modules/mod_dir.so +LoadModule actions_module modules/mod_actions.so +LoadModule speling_module modules/mod_speling.so +LoadModule userdir_module modules/mod_userdir.so +LoadModule alias_module modules/mod_alias.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule fcgid_module modules/mod_fcgid.so +LoadModule dav_module modules/mod_dav.so +LoadModule dav_fs_module modules/mod_dav_fs.so +LoadModule ssl_module modules/mod_ssl.so +LoadModule wsgi_module modules/mod_wsgi.so +LoadModule lua_module modules/mod_lua.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +LoadModule proxy_balancer_module modules/mod_proxy_balancer.so +LoadModule proxy_connect_module modules/mod_proxy_connect.so +LoadModule proxy_express_module modules/mod_proxy_express.so +LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so +LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so +LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_scgi_module modules/mod_proxy_scgi.so +LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so +LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so +#LoadModule suexec_module modules/mod_suexec.so +#LoadModule php_module modules/mod_php8.so + + +User apache +Group apache + + +# 'Main' server configuration +ServerName REPLACE_SERVER_NAME +ServerAdmin REPLACE_SERVER_ADMIN +ServerSignature On + +DocumentRoot "REPLACE_SERVER_DIR" + + + AllowOverride none + Require all denied + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + Options Indexes FollowSymLinks MultiViews ExecCGI Includes + AllowOverride All + Require all granted + + + + DirectoryIndex index.php index.cgi index.asp index.aspx index.pl index.aspx index.shtml awstats.pl index.txt index.json index.html index.html.var Default.aspx default.aspx index.unknown.php index.default.php + + + + Require all denied + + +ErrorLog /data/logs/httpd/httpd.log +LogLevel warn + + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + CustomLog /data/logs/httpd/access.default.log combined + + + + Alias /health /data/htdocs/www/health/index.txt + Alias /health/json /data/htdocs/www/health/index.json + ScriptAlias /cgi-bin/ "/data/htdocs/cgi-bin/" + + + + AllowOverride None + Options None + Require all granted + + + + #Scriptsock cgisock + + + + RequestHeader unset Proxy early + + + + TypesConfig /etc/apache2/mime.types + AddType application/x-gzip .tgz + AddEncoding x-compress .Z + AddEncoding x-gzip .gz .tgz + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + AddHandler cgi-script .cgi + AddHandler type-map var + AddType text/html .shtml + AddOutputFilter INCLUDES .shtml + + + + MIMEMagicFile /etc/apache2/magic + + +#SSLUseStapling On +#SSLOCSPEnable on +#SSLStaplingCache shmcb:/run/httpd/ssl_stapling(32768) +SSLProxyCheckPeerName off +SSLProxyCheckPeerExpire off +SSLProxyCheckPeerCN off +SSLSessionCache shmcb:/run/httpd/sslcache(512000) +SSLSessionCacheTimeout 300 +SSLRandomSeed startup file:/dev/urandom 256 +SSLRandomSeed connect builtin +SSLCryptoDevice builtin +SSLOpenSSLConfCmd DHParameters "/etc/ssl/dhparam/httpd.pem" +SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +SSLHonorCipherOrder on +SSLOptions +StrictRequire +SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 +Protocols h2 http/1.1 + +Header set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS +Header always set Access-Control-Allow-Origin "*" +Header always set Content-Security-Policy "*" +Header always set Access-Control-Max-Age "1000" +Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding" +Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" +Header always add Header "It took %D microseconds for request" + + + + SetHandler server-status + + + +ProxyErrorOverride on +IncludeOptional /etc/apache2/conf.d/*.conf +IncludeOptional /etc/apache2/vhosts.d/*.conf diff --git a/configs/apache2/vhosts.d/default.conf b/configs/apache2/vhosts.d/default.conf new file mode 100644 index 0000000..fd6acb1 --- /dev/null +++ b/configs/apache2/vhosts.d/default.conf @@ -0,0 +1,4 @@ +# Default host + +DocumentRoot "REPLACE_SERVER_DIR" + diff --git a/configs/apache2/vhosts.d/default.ssl.conf b/configs/apache2/vhosts.d/default.ssl.conf new file mode 100644 index 0000000..a44fb3c --- /dev/null +++ b/configs/apache2/vhosts.d/default.ssl.conf @@ -0,0 +1,8 @@ +# Default host for SSL + +SSLEngine on +DocumentRoot "REPLACE_SERVER_DIR" +SSLCertificateFile /config/ssl/server.crt +SSLCertificateKeyFile /config/ssl/server.key +Header always set Strict-Transport-Security "max-age=31536000; preload" + diff --git a/configs/caddy/Caddyfile b/configs/caddy/Caddyfile new file mode 100644 index 0000000..e9bd174 --- /dev/null +++ b/configs/caddy/Caddyfile @@ -0,0 +1,7 @@ + +:REPLACE_SERVER_PORT { + root * /data/htdocs/www + file_server + #reverse_proxy localhost:8080 + php_fastcgi localhost:9000 +} diff --git a/configs/caddy/reverse.Caddyfile b/configs/caddy/reverse.Caddyfile new file mode 100644 index 0000000..75ca388 --- /dev/null +++ b/configs/caddy/reverse.Caddyfile @@ -0,0 +1,3 @@ +:REPLACE_SERVER_PORT { + reverse_proxy localhost:8080 +} diff --git a/configs/cherokee/cherokee.conf b/configs/cherokee/cherokee.conf new file mode 100644 index 0000000..575c10f --- /dev/null +++ b/configs/cherokee/cherokee.conf @@ -0,0 +1,321 @@ +config!version = 001002104 +server!bind!1!port = REPLACE_SERVER_PORT +server!collector = rrd +server!keepalive = 1 +server!keepalive_max_requests = 500 +server!panic_action = /usr/local/share/cherokee/bin/cherokee-panic +server!pid_file = /tmp/cherokee.pid +server!post_track = post_track +server!server_tokens = product +server!timeout = 15 +vserver!1!collector!enabled = 1 +vserver!1!directory_index = index.php,index.cgi,index.asp,index.aspx,index.pl,index.aspx,index.shtml,index.txt,index.json,awstats.pl,Default.aspx,default.aspx,index.html,index.html.var,index.unknown.php,index.default.php +vserver!1!document_root = REPLACE_WWW_DIR +vserver!1!error_writer!filename = /data/logs/cherokee/cherokee.log +vserver!1!error_writer!type = file +vserver!1!evhost = evhost +vserver!1!evhost!tpl_document_root = REPLACE_WWW_DIR/${domain} +vserver!1!logger = combined +vserver!1!logger!access!buffsize = 16384 +vserver!1!logger!access!filename = /data/logs/cherokee/access.log +vserver!1!logger!access!type = file +vserver!1!logger!x_real_ip_access = 0.0.0.0 +vserver!1!logger!x_real_ip_access_all = 0 +vserver!1!logger!x_real_ip_enabled = 1 +vserver!1!nick = default +vserver!1!rule!60!encoder!gzip = allow +vserver!1!rule!60!flcache = forbid +vserver!1!rule!60!flcache!policy = explicitly_allowed +vserver!1!rule!60!handler = fcgi +vserver!1!rule!60!handler!balancer = round_robin +vserver!1!rule!60!handler!balancer!source!10 = 1 +vserver!1!rule!60!handler!error_handler = 1 +vserver!1!rule!60!handler!x_real_ip_enabled = 1 +vserver!1!rule!60!match = extensions +vserver!1!rule!60!match!check_local_file = 1 +vserver!1!rule!60!match!extensions = php +vserver!1!rule!60!match!final = 0 +vserver!1!rule!60!timeout = 30 +vserver!1!rule!50!encoder!gzip = allow +vserver!1!rule!50!handler = server_info +vserver!1!rule!50!handler!type = just_about +vserver!1!rule!50!match = directory +vserver!1!rule!50!match!directory = /about +vserver!1!rule!40!document_root = /data/htdocs/cgi-bin +vserver!1!rule!40!handler = cgi +vserver!1!rule!40!match = directory +vserver!1!rule!40!match!directory = /cgi-bin +vserver!1!rule!30!document_root = /usr/local/share/cherokee/share/cherokee/themes +vserver!1!rule!30!handler = file +vserver!1!rule!30!match = directory +vserver!1!rule!30!match!directory = /cherokee_themes +vserver!1!rule!20!document_root = /usr/local/share/cherokee/share/cherokee/icons +vserver!1!rule!20!handler = file +vserver!1!rule!20!match = directory +vserver!1!rule!20!match!directory = /cherokee_icons +vserver!1!rule!10!handler = common +vserver!1!rule!10!handler!iocache = 1 +vserver!1!rule!10!match = default +source!1!env!PHP_FCGI_CHILDREN = 5 +source!1!env!PHP_FCGI_MAX_REQUESTS = 490 +source!1!env_inherited = 0 +source!1!host = 127.0.0.1:9000 +source!1!interpreter = /usr/bin/php-cgi -b 127.0.0.1:9000 +source!1!nick = PHP Interpreter +source!1!type = host +icons!default = page_white.png +icons!directory = folder.png +icons!file!bomb.png = core +icons!file!page_white_go.png = *README* +icons!parent_directory = arrow_turn_left.png +icons!suffix!camera.png = jpg,jpeg,jpe +icons!suffix!cd.png = iso,ngr,cue +icons!suffix!color_wheel.png = png,gif,xcf,bmp,pcx,tiff,tif,cdr,psd,xpm,xbm +icons!suffix!control_play.png = bin,exe,com,msi,out +icons!suffix!css.png = css +icons!suffix!cup.png = java,class,jar +icons!suffix!email.png = eml,mbox,box,email,mbx +icons!suffix!film.png = avi,mpeg,mpe,mpg,mpeg3,dl,fli,qt,mov,movie,flv,webm +icons!suffix!font.png = ttf +icons!suffix!html.png = html,htm +icons!suffix!music.png = au,snd,mid,midi,kar,mpga,mpega,mp2,mp3,sid,wav,aif,aiff,aifc,gsm,m3u,wma,wax,ra,rm,ram,pls,sd2,ogg +icons!suffix!package.png = tar,gz,bz2,zip,rar,ace,lha,7z,dmg,cpk +icons!suffix!page_white_acrobat.png = pdf +icons!suffix!page_white_c.png = c,h,cpp +icons!suffix!page_white_office.png = doc,ppt,xls +icons!suffix!page_white_php.png = php +icons!suffix!page_white_text.png = txt,text,rtf,sdw +icons!suffix!printer.png = ps,eps +icons!suffix!ruby.png = rb +icons!suffix!script.png = sh,csh,ksh,tcl,tk,py,pl +mime!application/bzip2!extensions = bz2 +mime!application/gzip!extensions = gz +mime!application/hta!extensions = hta +mime!application/java-archive!extensions = jar +mime!application/java-serialized-object!extensions = ser +mime!application/java-vm!extensions = class +mime!application/json!extensions = json +mime!application/mac-binhex40!extensions = hqx +mime!application/msaccess!extensions = mdb +mime!application/msword!extensions = doc,dot +mime!application/octet-stream!extensions = bin +mime!application/octetstream!extensions = ace +mime!application/oda!extensions = oda +mime!application/ogg!extensions = ogx +mime!application/pdf!extensions = pdf +mime!application/pgp-keys!extensions = key +mime!application/pgp-signature!extensions = pgp +mime!application/pics-rules!extensions = prf +mime!application/postscript!extensions = ps,ai,eps +mime!application/rar!extensions = rar +mime!application/rdf+xml!extensions = rdf +mime!application/rss+xml!extensions = rss +mime!application/smil!extensions = smi,smil +mime!application/vnd.mozilla.xul+xml!extensions = xul +mime!application/vnd.ms-excel!extensions = xls,xlb,xlt +mime!application/vnd.ms-pki.seccat!extensions = cat +mime!application/vnd.ms-pki.stl!extensions = stl +mime!application/vnd.ms-powerpoint!extensions = ppt,pps +mime!application/vnd.oasis.opendocument.chart!extensions = odc +mime!application/vnd.oasis.opendocument.database!extensions = odb +mime!application/vnd.oasis.opendocument.formula!extensions = odf +mime!application/vnd.oasis.opendocument.graphics!extensions = odg +mime!application/vnd.oasis.opendocument.image!extensions = odi +mime!application/vnd.oasis.opendocument.presentation!extensions = odp +mime!application/vnd.oasis.opendocument.spreadsheet!extensions = ods +mime!application/vnd.oasis.opendocument.text!extensions = odt +mime!application/vnd.oasis.opendocument.text-master!extensions = odm +mime!application/vnd.oasis.opendocument.text-web!extensions = oth +mime!application/vnd.pkg5.info!extensions = p5i +mime!application/vnd.visio!extensions = vsd +mime!application/vnd.wap.wbxml!extensions = wbxml +mime!application/vnd.wap.wmlc!extensions = wmlc +mime!application/vnd.wap.wmlscriptc!extensions = wmlsc +mime!application/x-7z-compressed!extensions = 7z +mime!application/x-abiword!extensions = abw +mime!application/x-apple-diskimage!extensions = dmg +mime!application/x-bcpio!extensions = bcpio +mime!application/x-bittorrent!extensions = torrent +mime!application/x-cdf!extensions = cdf +mime!application/x-cpio!extensions = cpio +mime!application/x-csh!extensions = csh +mime!application/x-debian-package!extensions = deb,udeb +mime!application/x-director!extensions = dcr,dir,dxr +mime!application/x-dvi!extensions = dvi +mime!application/x-flac!extensions = flac +mime!application/x-font!extensions = pfa,pfb,gsf,pcf,pcf.Z +mime!application/x-freemind!extensions = mm +mime!application/x-gnumeric!extensions = gnumeric +mime!application/x-gtar!extensions = gtar,tgz,taz +mime!application/x-gzip!extensions = gz,tgz +mime!application/x-httpd-php!extensions = phtml,pht,php +mime!application/x-httpd-php-source!extensions = phps +mime!application/x-httpd-php3!extensions = php3 +mime!application/x-httpd-php3-preprocessed!extensions = php3p +mime!application/x-httpd-php4!extensions = php4 +mime!application/x-internet-signup!extensions = ins,isp +mime!application/x-iphone!extensions = iii +mime!application/x-iso9660-image!extensions = iso +mime!application/x-java-jnlp-file!extensions = jnlp +mime!application/x-javascript!extensions = js +mime!application/x-kchart!extensions = chrt +mime!application/x-killustrator!extensions = kil +mime!application/x-koan!extensions = skp,skd,skt,skm +mime!application/x-kpresenter!extensions = kpr,kpt +mime!application/x-kspread!extensions = ksp +mime!application/x-kword!extensions = kwd,kwt +mime!application/x-latex!extensions = latex +mime!application/x-lha!extensions = lha +mime!application/x-lzh!extensions = lzh +mime!application/x-lzx!extensions = lzx +mime!application/x-ms-wmd!extensions = wmd +mime!application/x-ms-wmz!extensions = wmz +mime!application/x-msdos-program!extensions = com,exe,bat,dll +mime!application/x-msi!extensions = msi +mime!application/x-netcdf!extensions = nc +mime!application/x-ns-proxy-autoconfig!extensions = pac +mime!application/x-nwc!extensions = nwc +mime!application/x-object!extensions = o +mime!application/x-oz-application!extensions = oza +mime!application/x-pkcs7-certreqresp!extensions = p7r +mime!application/x-pkcs7-crl!extensions = crl +mime!application/x-python-code!extensions = pyc,pyo +mime!application/x-quicktimeplayer!extensions = qtl +mime!application/x-redhat-package-manager!extensions = rpm +mime!application/x-sh!extensions = sh +mime!application/x-shar!extensions = shar +mime!application/x-shockwave-flash!extensions = swf,swfl +mime!application/x-stuffit!extensions = sit,sea +mime!application/x-sv4cpio!extensions = sv4cpio +mime!application/x-sv4crc!extensions = sv4crc +mime!application/x-tar!extensions = tar +mime!application/x-tcl!extensions = tcl +mime!application/x-tex-pk!extensions = pk +mime!application/x-texinfo!extensions = texinfo,texi +mime!application/x-trash!extensions = ~,bak,old,sik +mime!application/x-troff!extensions = t,tr,roff +mime!application/x-troff-man!extensions = man +mime!application/x-troff-me!extensions = me +mime!application/x-troff-ms!extensions = ms +mime!application/x-ustar!extensions = ustar +mime!application/x-x509-ca-cert!extensions = crt +mime!application/x-xcf!extensions = xcf +mime!application/x-xfig!extensions = fig +mime!application/x-xpinstall!extensions = xpi +mime!application/xhtml+xml!extensions = xhtml,xht +mime!application/xml!extensions = xml,xsl +mime!application/zip!extensions = zip +mime!audio/basic!extensions = au,snd +mime!audio/midi!extensions = mid,midi,kar +mime!audio/mpeg!extensions = mpga,mpega,mp2,mp3,m4a +mime!audio/ogg!extensions = ogg,oga +mime!audio/prs.sid!extensions = sid +mime!audio/x-aiff!extensions = aif,aiff,aifc +mime!audio/x-gsm!extensions = gsm +mime!audio/x-mpegurl!extensions = m3u +mime!audio/x-ms-wax!extensions = wax +mime!audio/x-ms-wma!extensions = wma +mime!audio/x-pn-realaudio!extensions = ra,rm,ram +mime!audio/x-realaudio!extensions = ra +mime!audio/x-scpls!extensions = pls +mime!audio/x-sd2!extensions = sd2 +mime!audio/x-wav!extensions = wav +mime!chemical/x-cache!extensions = cac,cache +mime!chemical/x-cache-csf!extensions = csf +mime!chemical/x-cdx!extensions = cdx +mime!chemical/x-cif!extensions = cif +mime!chemical/x-cmdf!extensions = cmdf +mime!chemical/x-cml!extensions = cml +mime!chemical/x-compass!extensions = cpa +mime!chemical/x-crossfire!extensions = bsd +mime!chemical/x-csml!extensions = csml,csm +mime!chemical/x-ctx!extensions = ctx +mime!chemical/x-cxf!extensions = cxf,cef +mime!chemical/x-isostar!extensions = istr,ist +mime!chemical/x-jcamp-dx!extensions = jdx,dx +mime!chemical/x-kinemage!extensions = kin +mime!chemical/x-pdb!extensions = pdb,ent +mime!chemical/x-swissprot!extensions = sw +mime!chemical/x-vamas-iso14976!extensions = vms +mime!chemical/x-vmd!extensions = vmd +mime!chemical/x-xtel!extensions = xtel +mime!chemical/x-xyz!extensions = xyz +mime!image/gif!extensions = gif +mime!image/jpeg!extensions = jpeg,jpg,jpe +mime!image/pcx!extensions = pcx +mime!image/png!extensions = png +mime!image/svg+xml!extensions = svg,svgz +mime!image/tiff!extensions = tiff,tif +mime!image/vnd.djvu!extensions = djvu,djv +mime!image/vnd.wap.wbmp!extensions = wbmp +mime!image/x-icon!extensions = ico +mime!image/x-ms-bmp!extensions = bmp +mime!image/x-photoshop!extensions = psd +mime!image/x-portable-anymap!extensions = pnm +mime!image/x-portable-bitmap!extensions = pbm +mime!image/x-portable-graymap!extensions = pgm +mime!image/x-portable-pixmap!extensions = ppm +mime!image/x-xbitmap!extensions = xbm +mime!image/x-xpixmap!extensions = xpm +mime!image/x-xwindowdump!extensions = xwd +mime!model/iges!extensions = igs,iges +mime!model/mesh!extensions = msh,mesh,silo +mime!model/vrml!extensions = wrl,vrml +mime!text/calendar!extensions = ics,icz +mime!text/comma-separated-values!extensions = csv +mime!text/css!extensions = css +mime!text/h323!extensions = 323 +mime!text/html!extensions = html,htm,shtml +mime!text/iuls!extensions = uls +mime!text/mathml!extensions = mml +mime!text/plain!extensions = asc,txt,text,diff,pot +mime!text/richtext!extensions = rtx +mime!text/rtf!extensions = rtf +mime!text/scriptlet!extensions = sct,wsc +mime!text/tab-separated-values!extensions = tsv +mime!text/vnd.sun.j2me.app-descriptor!extensions = jad +mime!text/vnd.wap.wml!extensions = wml +mime!text/vnd.wap.wmlscript!extensions = wmls +mime!text/x-boo!extensions = boo +mime!text/x-c++hdr!extensions = h++,hpp,hxx,hh +mime!text/x-c++src!extensions = c++,cpp,cxx,cc +mime!text/x-chdr!extensions = h +mime!text/x-csh!extensions = csh +mime!text/x-csrc!extensions = c +mime!text/x-dsrc!extensions = d +mime!text/x-haskell!extensions = hs +mime!text/x-java!extensions = java +mime!text/x-literate-haskell!extensions = lhs +mime!text/x-moc!extensions = moc +mime!text/x-pascal!extensions = p,pas +mime!text/x-pcs-gcd!extensions = gcd +mime!text/x-perl!extensions = pl,pm +mime!text/x-python!extensions = py +mime!text/x-setext!extensions = etx +mime!text/x-sh!extensions = sh +mime!text/x-tcl!extensions = tcl,tk +mime!text/x-tex!extensions = tex,ltx,sty,cls +mime!text/x-vcalendar!extensions = vcs +mime!text/x-vcard!extensions = vcf +mime!video/dl!extensions = dl +mime!video/dv!extensions = dif,dv +mime!video/fli!extensions = fli +mime!video/gl!extensions = gl +mime!video/mp4!extensions = mp4 +mime!video/mpeg!extensions = mpeg,mpg,mpe +mime!video/ogg!extensions = ogv +mime!video/quicktime!extensions = qt,mov +mime!video/vnd.mpegurl!extensions = mxu +mime!video/webm!extensions = webm +mime!video/x-flv!extensions = flv +mime!video/x-la-asf!extensions = lsf,lsx +mime!video/x-mng!extensions = mng +mime!video/x-ms-asf!extensions = asf,asx +mime!video/x-ms-wm!extensions = wm +mime!video/x-ms-wmv!extensions = wmv +mime!video/x-ms-wmx!extensions = wmx +mime!video/x-ms-wvx!extensions = wvx +mime!video/x-msvideo!extensions = avi +mime!video/x-sgi-movie!extensions = movie +mime!x-conference/x-cooltalk!extensions = ice +mime!x-world/x-vrml!extensions = vrm,vrml,wrl diff --git a/configs/couchdb/default.ini b/configs/couchdb/default.ini new file mode 100644 index 0000000..5c4d1b6 --- /dev/null +++ b/configs/couchdb/default.ini @@ -0,0 +1,158 @@ +; Upgrading CouchDB will overwrite this file. +[vendor] +name = CasjaysDev + +[couchdb] +;uuid = +database_dir = REPLACE_DATABASE_DIR +view_index_dir = REPLACE_DATABASE_DIR + +[couchdb_engines] +couch = couch_bt_engine + +[chttpd] +port = 5984 +bind_address = any +require_valid_user = false +prefer_minimal = Cache-Control, Content-Length, Content-Range, Content-Type, ETag, Server, Transfer-Encoding, Vary +admin_only_all_dbs = true +allow_jsonp = true +enable_cors = true +enable_xframe_options = false +max_uri_length = 8000 +x_forwarded_host = X-Forwarded-Host +x_forwarded_proto = X-Forwarded-Proto +x_forwarded_ssl = X-Forwarded-Ssl +max_http_request_size = 4294967296 +decode_plus_to_space = true + +[couch_peruser] +enable = true +delete_dbs = true +database_prefix = userdb_ + +[httpd] +port = 5986 +bind_address = any +enable_cors = true + +[chttpd_auth] +authentication_db = _users +authentication_redirect = /_utils/session.html +require_valid_user = false +timeout = 600 +auth_cache_size = 50 +allow_persistent_cookies = true +iterations = 10 + +[couch_httpd_auth] +authentication_db = _users + +[ssl] +enable = false +verify_ssl_certificates = false +cert_file = /config/ssl/localhost.crt +key_file = /config/ssl/localhost.key + +[csp] +utils_enable = true +utils_header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; +attachments_enable = true +attachments_header_value = sandbox +showlist_enable = true +showlist_header_value = sandbox + +[cors] +origins = * +credentials = true +methods = GET, PUT, POST, HEAD, DELETE, PATCH +headers = accept, authorization, content-type, origin, referer + +[x_frame_options] +hosts = * +same_origin = true + +[native_query_servers] +enable_erlang_query_server = false + +[query_server_config] +reduce_limit = true +os_process_limit = 100 +group_info_timeout = 5000 +query_limit = 268435456 +partition_query_limit = 268435456 + +[mango] +default_limit = 25 +index_all_disabled = false +index_scan_warning_threshold = 10 + +[indexers] +couch_mrview = true + +[feature_flags] +partitioned||* = true + +[uuids] +algorithm = sequential +utc_id_suffix = +max_count = 1000 + +[attachments] +compression_level = 8 +compressible_types = text/*, application/javascript, application/json, application/xml + +[replicator] +startup_jitter = 5000 + +[replicator.shares] +_replicator = 100 + +[log] +writer = stderr +level = error + +[stats] +interval = 10 + +[smoosh] +db_channels = upgrade_dbs,ratio_dbs,slack_dbs +view_channels = upgrade_views,ratio_views,slack_views + +[ioq] +concurrency = 10 +ratio = 0.01 + +[ioq.bypass] +os_process = true +read = true +write = true +view_update = true +shard_sync = false +compaction = false + +[dreyfus] +name = clouseau@127.0.0.1 +retry_limit = 5 +limit = 25 +limit_partitions = 2000 +max_limit = 200 +max_limit_partitions = 2000 + +[reshard] +max_jobs = 48 +max_history = 20 +max_retries = 1 +retry_interval_sec = 10 +delete_source = true +update_shard_map_timeout_sec = 60 +source_close_timeout_sec = 600 +require_node_param = false +require_range_param = false + +[prometheus] +bind_address = any +port = 17986 + +[cluster] +n = 1 diff --git a/configs/couchdb/local.ini b/configs/couchdb/local.ini new file mode 100644 index 0000000..74eaaa4 --- /dev/null +++ b/configs/couchdb/local.ini @@ -0,0 +1,6 @@ +[couchdb] +single_node=true + +[log] +writer = file +file = /data/logs/couchdb/couch.log diff --git a/configs/docker/daemon.json b/configs/docker/daemon.json new file mode 100644 index 0000000..a457ae9 --- /dev/null +++ b/configs/docker/daemon.json @@ -0,0 +1,7 @@ +{ + "ip": "127.0.0.1", + "iptables": true, + "log-level": "error" , + "pidfile": "/tmp/docker.pid", + "insecure-registries": ["localhost:5000"] +} diff --git a/configs/docker/registry.yaml b/configs/docker/registry.yaml new file mode 100644 index 0000000..87f0518 --- /dev/null +++ b/configs/docker/registry.yaml @@ -0,0 +1,144 @@ +#https://docs.docker.com/registry/configuration/ +version: 0.1 +log: + formatter: text + fields: + service: registry +################ +storage: + delete: + enabled: true + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: /data/registry +################ +http: + addr: :5000 + #prefix: /my/nested/registry/ + #host: https://myregistryaddress.org:5000 + #secret: asecretforlocaldevelopment + #relativeurls: false + #draintimeout: 60s + # tls: + # certificate: /certs/certs/localhost.crt + # key: /certs/private/localhost.key + # letsencrypt: + # cachefile: /config/certs/cache + # email: emailused@letsencrypt.com + # hosts: [myregistryaddress.org] + headers: + X-Content-Type-Options: [nosniff] + Access-Control-Max-Age: [1728000] + Access-Control-Allow-Origin: ['*'] + #Access-Control-Allow-Credentials: [true] + #Access-Control-Allow-Headers: ['Authorization', 'Accept'] + #Access-Control-Expose-Headers: ['Docker-Content-Digest'] + #Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE'] + debug: + addr: :5001 + prometheus: + enabled: true + path: /metrics + http2: + disabled: false +################ +auth: + none: + # silly: + # realm: silly-realm + # service: silly-service + # token: + # autoredirect: true + # realm: token-realm + # service: token-service + # issuer: registry-token-issuer + # rootcertbundle: /root/certs/bundle + # htpasswd: + # realm: basic-realm + # path: /config/auth/htpasswd +################ +# middleware: +# registry: +################ +# reporting: +# bugsnag: +# apikey: bugsnagapikey +# releasestage: bugsnagreleasestage +# endpoint: bugsnagendpoint +# newrelic: +# licensekey: newreliclicensekey +# name: newrelicname +# verbose: true + +# notifications: +# events: +# includereferences: true +# endpoints: +# - name: alistener +# disabled: false +# url: https://my.listener.com/event +# headers: +# timeout: 1s +# threshold: 10 +# backoff: 1s +# ignoredmediatypes: +# - application/octet-stream +# ignore: +# mediatypes: +# - application/octet-stream +# actions: +# - pull +################ +redis: + addr: localhost:6379 +# password: asecret +# db: 0 +# dialtimeout: 10ms +# readtimeout: 10ms +# writetimeout: 10ms +# pool: +# maxidle: 16 +# maxactive: 64 +# idletimeout: 300s +################ +health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 + file: + - file: /config/docker/registry.yaml + interval: 10s + # http: + # - uri: http://server.to.check/must/return/200 + # headers: + # Authorization: [Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==] + # statuscode: 200 + # timeout: 3s + # interval: 10s + # threshold: 3 + # tcp: + # - addr: redis-server.domain.com:6379 + # timeout: 3s + # interval: 10s + # threshold: 3 +################ +# proxy: +# remoteurl: https://registry-1.docker.io +# username: [username] +# password: [password] +################ +compatibility: + schema1: + # signingkeyfile: /etc/registry/key.json + enabled: true +################ +# validation: +# manifests: +# urls: +# allow: +# - ^https?://([^/]+\.)*example\.com/ +# deny: +# - ^https?://www\.example\.com/ + diff --git a/configs/headphones/headphones.ini b/configs/headphones/headphones.ini new file mode 100644 index 0000000..977a9ad --- /dev/null +++ b/configs/headphones/headphones.ini @@ -0,0 +1,308 @@ +[General] +add_album_art = 1 +advancedencoder = "" +album_art_format = folder +api_enabled = 1 +api_key = "" +auto_add_artists = 1 +autowant_all = 0 +autowant_manually_added = 1 +autowant_upcoming = 1 +bitrate = 192 +blackhole = 0 +blackhole_dir = "" +cache_dir = /data/cache +check_github = 1 +check_github_interval = 360 +check_github_on_startup = 1 +cleanup_files = 0 +config_version = 5 +correct_metadata = 0 +cue_split = 1 +cue_split_flac_path = "" +cue_split_shntool_path = "/usr/bin" +customauth = 0 +customhost = localhost +custompass = "" +customport = REPLACE_SERVER_PORT +customsleep = 1 +customuser = "" +delete_lossless_files = 1 +destination_dir = "" +detect_bitrate = 0 +do_not_override_git_branch = 0 +download_dir = "/data/downloads" +download_scan_interval = 5 +download_torrent_dir = "" +embed_album_art = 1 +embed_lyrics = 1 +enable_https = 0 +encoder = ffmpeg +encoder_multicore = 0 +encoder_multicore_count = 0 +encoder_path = "" +encoderfolder = "" +encoderlossless = 1 +encoderoutputformat = mp3 +encoderquality = 2 +encodervbrcbr = cbr +extras = "" +file_format = $Track $Artist - $Title +file_permissions = 0644 +file_underscores = 0 +folder_format = $Artist +folder_permissions = 0755 +freeze_db = 0 +git_branch = master +git_path = "" +git_user = rembo10 +headphones_indexer = 0 +hppass = "" +hpuser = "" +http_host = 0.0.0.0 +http_port = 80 +http_proxy = 0 +http_root = / +http_username = "" +http_password = "" +https_cert = /config/ssl/server.crt +https_key = /config/ssl/server.key +ignore_clean_releases = 0 +ignored_words = "" +include_extras = 0 +interface = default +keep_nfo = 0 +keep_original_folder = 0 +keep_torrent_files = 0 +lastfm_username = "" +launch_browser = 0 +libraryscan = 1 +libraryscan_interval = 300 +log_dir = /data/logs/headphones +lossless_bitrate_from = 0 +lossless_bitrate_to = 0 +lossless_destination_dir = "" +magnet_links = 0 +mb_ignore_age = 365 +mirror = musicbrainz.org +move_files = 1 +music_dir = "/data/music" +music_encoder = 0 +numberofseeders = 10 +nzb_downloader = 0 +official_releases_only = 0 +open_magnet_links = 0 +prefer_torrents = 0 +preferred_bitrate = "" +preferred_bitrate_allow_lossless = 0 +preferred_bitrate_high_buffer = 0 +preferred_bitrate_low_buffer = 0 +preferred_quality = 320 +preferred_words = "" +rename_files = 0 +replace_existing_folders = 0 +required_words = "" +samplingfrequency = 44100 +search_interval = 1440 +torrent_downloader = 0 +torrent_removal_interval = 720 +torrentblackhole_dir = "" +update_db_interval = 24 +usenet_retention = 1500 +wait_until_release_date = 0 +xldprofile = "" + +[Growl] +growl_enabled = 0 +growl_onsnatch = 0 +growl_host = "" +growl_password = "" + +[Subsonic] +subsonic_host = "" +subsonic_password = "" +subsonic_enabled = 0 +subsonic_username = "" + +[Waffles] +waffles_passkey = "" +waffles = 0 +waffles_uid = "" +waffles_ratio = "" + +[Email] +email_onsnatch = 0 +email_smtp_password = "" +email_tls = 0 +email_smtp_port = 25 +email_smtp_server = "" +email_enabled = 0 +email_smtp_user = "" +email_ssl = 0 +email_to = "" +email_from = "" + +[Plex] +plex_token = "" +plex_client_host = "" +plex_notify = 0 +plex_update = 0 +plex_username = "" +plex_password = "" +plex_server_host = "" +plex_enabled = 0 + +[Old Piratebay] +oldpiratebay = 0 +oldpiratebay_ratio = "" +oldpiratebay_url = "" + +[Pushover] +pushover_apitoken = "" +pushover_onsnatch = 0 +pushover_enabled = 0 +pushover_keys = "" +pushover_priority = 0 + +[NZBget] +nzbget_priority = 0 +nzbget_password = "" +nzbget_host = "" +nzbget_category = "" +nzbget_username = nzbget + +[NZBsorg] +nzbsorg_hash = "" +nzbsorg = 0 +nzbsorg_uid = "" + +[NMA] +nma_priority = 0 +nma_onsnatch = 0 +nma_apikey = "" +nma_enabled = 0 + +[Advanced] +verify_ssl_cert = 1 +ignored_files = , +journal_mode = wal +album_completion_pct = 80 +ignored_folders = , +cache_sizemb = 32 + +[Newznab] +newznab = 0 +newznab_apikey = "" +newznab_enabled = 1 +extra_newznabs = , +newznab_host = "" + +[Prowl] +prowl_onsnatch = 0 +prowl_enabled = 0 +prowl_priority = 0 +prowl_keys = "" + +[Twitter] +twitter_prefix = Headphones +twitter_enabled = 0 +twitter_username = "" +twitter_password = "" +twitter_onsnatch = 0 + +[SABnzbd] +sab_category = "" +sab_password = "" +sab_host = "" +sab_username = "" +sab_apikey = "" + +[Songkick] +songkick_apikey = nd1We7dFW2RqxPw8 +songkick_location = "" +songkick_enabled = 1 +songkick_filter_enabled = 0 + +[uTorrent] +utorrent_password = "" +utorrent_host = "" +utorrent_username = "" +utorrent_label = "" + +[LMS] +lms_enabled = 0 +lms_host = "" + +[PushBullet] +pushbullet_deviceid = "" +pushbullet_apikey = "" +pushbullet_enabled = 0 +pushbullet_onsnatch = 0 + +[Pushalot] +pushalot_enabled = 0 +pushalot_onsnatch = 0 +pushalot_apikey = "" + +[Kat] +kat_ratio = "" +kat = 0 +kat_proxy_url = "" + +[Piratebay] +piratebay_ratio = "" +piratebay = 0 +piratebay_proxy_url = "" + +[MPC] +mpc_enabled = 0 + +[XBMC] +xbmc_username = "" +xbmc_host = "" +xbmc_enabled = 0 +xbmc_update = 0 +xbmc_password = "" +xbmc_notify = 0 + +[Beets] +idtag = 1 + +[Rutracker] +rutracker_user = "" +rutracker_ratio = "" +rutracker = 0 +rutracker_password = "" + +[Boxcar] +boxcar_onsnatch = 0 +boxcar_enabled = 0 +boxcar_token = "" + +[Transmission] +transmission_password = "" +transmission_username = "" +transmission_host = "" + +[Mininova] +mininova = 0 +mininova_ratio = "" + +[OSX_Notify] +osx_notify_enabled = 0 +osx_notify_app = /Applications/Headphones +osx_notify_onsnatch = 0 + +[What.cd] +whatcd_password = "" +whatcd_username = "" +whatcd = 0 +whatcd_ratio = "" + +[Synoindex] +synoindex_enabled = 0 + +[omgwtfnzbs] +omgwtfnzbs = 0 +omgwtfnzbs_uid = "" +omgwtfnzbs_apikey = "" diff --git a/configs/homepage/bookmarks.yaml b/configs/homepage/bookmarks.yaml new file mode 100644 index 0000000..48cb1b9 --- /dev/null +++ b/configs/homepage/bookmarks.yaml @@ -0,0 +1,17 @@ +# For configuration options and examples, please see: +# https://gethomepage.dev/en/configs/bookmarks/ +--- +- Developer: + - Github: + - abbr: GH + href: https://github.com/ + +- Social: + - Reddit: + - abbr: RE + href: https://reddit.com/ + +- Entertainment: + - YouTube: + - abbr: YT + href: https://youtube.com/ diff --git a/configs/homepage/docker.yaml b/configs/homepage/docker.yaml new file mode 100644 index 0000000..7da2e67 --- /dev/null +++ b/configs/homepage/docker.yaml @@ -0,0 +1,5 @@ +# For configuration options and examples, please see: +# https://gethomepage.dev/en/configs/docker/ +--- +local: + socket: /var/run/docker.sock diff --git a/configs/homepage/services.yaml b/configs/homepage/services.yaml new file mode 100644 index 0000000..3bac7f8 --- /dev/null +++ b/configs/homepage/services.yaml @@ -0,0 +1,3 @@ +# For configuration options and examples, please see: +# https://gethomepage.dev/en/configs/services/ +--- diff --git a/configs/homepage/settings.yaml b/configs/homepage/settings.yaml new file mode 100644 index 0000000..71f989e --- /dev/null +++ b/configs/homepage/settings.yaml @@ -0,0 +1,18 @@ +# For configuration options and examples, please see: +# https://gethomepage.dev/en/configs/settings +--- +title: StartPage +theme: dark +color: purple +target: _blank +language: en +headerStyle: boxed + +layout: + Media: + style: row + columns: 4 + +providers: + openweathermap: openweathermapapikey + weatherapi: weatherapiapikey diff --git a/configs/homepage/widgets.yaml b/configs/homepage/widgets.yaml new file mode 100644 index 0000000..d153525 --- /dev/null +++ b/configs/homepage/widgets.yaml @@ -0,0 +1,19 @@ +# For configuration options and examples, please see: +# https://gethomepage.dev/en/configs/widgets/ +--- +- resources: + cpu: true + memory: true + disk: / + +- search: + focus: true + target: _blank + provider: duckduckgo + url: https://search.casjay.net/?q= + +- datetime: + format: + dateStyle: short + timeStyle: short + hour12: false diff --git a/configs/homey/homey.yml b/configs/homey/homey.yml new file mode 100644 index 0000000..54cde18 --- /dev/null +++ b/configs/homey/homey.yml @@ -0,0 +1,40 @@ +# Refer to README.md for configuration instructions +title: homey # dashboard title +minimal_mode: false # disable functionality; conserve resources +show_house: true # disable 3D house in header +compact_services: false # reduce service padding +enable_service_status: true # toggle up/down indicators for services +enable_notifications: true # toggle in-page notifications for selected events +audio_notifications: false # toggle notification audio +bookmarks_in_header: false # fill empty space in header with bookmarks +docker_api_backend: docker # valid options: docker, portainer + +services: + - name: Portainer + icon: portainer.png + subtitle: Docker container management + url: https://192.168.1.XXX:9443 + - name: Flood + icon: flood.png + subtitle: Web UI for rTorrent + url: http://192.168.1.XXX: + - name: Router + icon: router.png + url: http://192.168.1.1 + +cards: + - name: Torrents + enable: false + - name: Weather + enable: true + - name: System + enable: false + - name: Bookmarks + enable: true + +bookmarks: + - name: GitHub + url: https://github.com + - name: YTMND + url: https://ytmnd.com/ + hover: lol internet diff --git a/configs/lighttpd/lighttpd.conf b/configs/lighttpd/lighttpd.conf new file mode 100644 index 0000000..37070ae --- /dev/null +++ b/configs/lighttpd/lighttpd.conf @@ -0,0 +1,60 @@ +############################################################################### +# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/lighttpd.conf,v 1.3 2005/09/01 14:22:35 ka0ttic Exp $ +############################################################################### + +var.basedir = "/var/www/localhost" +var.statedir = "/var/lib/lighttpd" +var.logdir = "/data/logs/lighttpd" + +server.modules = ( + "mod_auth", + "mod_rewrite", + "mod_redirect", + "mod_alias", + "mod_access", + "mod_status", + "mod_setenv", + "mod_proxy", + "mod_simple_vhost", + "mod_evhost", + "mod_userdir", + "mod_deflate", + "mod_ssi", + "mod_usertrack", + "mod_expire", + "mod_secdownload", + "mod_rrdtool", + "mod_webdav", + "mod_accesslog", + "mod_cgi", + "mod_fastcgi" +) + +server.username = "lighttpd" +server.groupname = "lighttpd" + +server.port = REPLACE_SERVER_PORT + +server.document-root = "/data/htdocs/www" + +server.tag = "lighttpd" +server.follow-symlink = "enable" +server.errorfile-prefix = var.basedir + "/error/status-" +server.indexfiles = ("index.php", "index.html","index.htm", "default.htm", "index.lighttpd.html","index.txt","index.json") + +server.pid-file = "/tmp/lighttpd.pid" +server.errorlog = "/data/logs/lighttpd/lighttpd.log" +accesslog.filename = "/data/logs/lighttpd/access_log" + +static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi") + +include "mime-types.conf" +include "mod_cgi.conf" +include "mod_fastcgi_fpm.conf" + +url.access-deny = ("~", ".inc") +ssi.extension = (".shtml") +status.status-url = "/server-status" +status.config-url = "/server-config" + +# vim: set ft=conf foldmethod=marker et : diff --git a/configs/lighttpd/mod_cgi.conf b/configs/lighttpd/mod_cgi.conf new file mode 100644 index 0000000..df66de4 --- /dev/null +++ b/configs/lighttpd/mod_cgi.conf @@ -0,0 +1,23 @@ +############################################################################### +# mod_cgi.conf +# include'd by lighttpd.conf. +# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mod_cgi.conf,v 1.1 2005/08/27 12:36:13 ka0ttic Exp $ +############################################################################### +# NOTE: this requires mod_alias +alias.url = ( + "/cgi-bin/" => "/data/htdocs/cgi-bin" +) + +cgi.assign = ( + ".pl" => "/usr/bin/perl", + ".cgi" => "/usr/bin/perl", + ".rb" => "/usr/bin/ruby", + ".py" => "/usr/bin/python", + ".php" => "/usr/bin/php-cgi" +) + +$HTTP["url"] =~ "^/cgi-bin/" { + dir-listing.activate = "disable" +} + +# vim: set ft=conf foldmethod=marker et : diff --git a/configs/lighttpd/mod_fastcgi_fpm.conf b/configs/lighttpd/mod_fastcgi_fpm.conf new file mode 100644 index 0000000..4b04684 --- /dev/null +++ b/configs/lighttpd/mod_fastcgi_fpm.conf @@ -0,0 +1,23 @@ +############################################################################### +# mod_fastcgi_fpm.conf +# include'd by lighttpd.conf. +############################################################################### +fastcgi.server = ( + ".php" => + (( "host" => "127.0.0.1", + "port" => 9000, + "bin-path" => "/usr/bin/php" + )) +) + +fastcgi.map-extensions = ( + ".php3" => ".php", + ".php4" => ".php", + ".php5" => ".php", + ".php7" => ".php", + ".php8" => ".php", + ".phps" => ".php", + ".phtml" => ".php" +) + +# vim: set ft=conf foldmethod=marker et : diff --git a/configs/mongodb/mongod.conf b/configs/mongodb/mongod.conf new file mode 100644 index 0000000..44036be --- /dev/null +++ b/configs/mongodb/mongod.conf @@ -0,0 +1,24 @@ +# mongod.conf + +# where to write logging data. +systemLog: + destination: file + logAppend: true + path: /dev/stdout + +# Where and how to store data. +storage: + dbPath: /data/db/mongo + journal: + enabled: true +# engine: +# wiredTiger: + +# how the process runs +processManagement: + timeZoneInfo: /usr/share/zoneinfo + +# network interfaces +net: + port: 27017 + bindIp: 0.0.0.0 diff --git a/configs/mysql/my.cnf b/configs/mysql/my.cnf new file mode 100644 index 0000000..f392610 --- /dev/null +++ b/configs/mysql/my.cnf @@ -0,0 +1,38 @@ +# Default mariadb config file + +[client] +port = 3306 +socket = /tmp/mysql.sock +default_character_set = utf8 + +[mysqld_safe] +datadir = REPLACE_DATABASE_DIR +port = 3306 +socket = /tmp/mysql.sock +open_files_limit = 16384 +log-error = /data/logs/mysql/mysql.err.log + +[mysqld] +datadir = REPLACE_DATABASE_DIR +port = 3306 +bind-address = 0.0.0.0 +socket = /tmp/mysql.sock +open_files_limit = 16384 +max_allowed_packet = 1024M +max_connections = 200 +max_user_connections = 50 +log_warnings = 2 +slow_query_log = 1 +general_log = 1 +key_buffer_size = 8M +general_log_file = /data/logs/mysql/mysql.log +slow_query_log_file = /data/logs/mysql/mysql.err.log +log_error = /data/logs/mysql/mysql.err.log + +[mysql] +no_auto_rehash +max_allowed_packet = 1024M +prompt = '\u@\h [\d]> ' + +[mysqldump] +max_allowed_packet = 1024M diff --git a/configs/named/certbot-update.conf b/configs/named/certbot-update.conf new file mode 100644 index 0000000..ee985c9 --- /dev/null +++ b/configs/named/certbot-update.conf @@ -0,0 +1,8 @@ +#Certbot DNS +dns_rfc2136_server = 127.0.0.1 +# TSIG key name +dns_rfc2136_name = certbot. +# TSIG key secret +dns_rfc2136_secret = REPLACE_KEY_CERTBOT +# TSIG key algorithm +dns_rfc2136_algorithm = HMAC-SHA256 diff --git a/configs/named/named.conf b/configs/named/named.conf new file mode 100644 index 0000000..02d399e --- /dev/null +++ b/configs/named/named.conf @@ -0,0 +1,77 @@ +# default options - https://bind9.readthedocs.io/en/latest/chapter3.html +options { + version "9"; + listen-on { any; }; + listen-on-v6 { any; }; + zone-statistics yes; + max-cache-size 60m; + interface-interval 60; + max-ncache-ttl 10800; + max-udp-size 4096; + forwarders { 1.1.1.1; 8.8.8.8; 8.8.4.4; }; + notify yes; + allow-transfer { trusted; }; + transfer-format many-answers; + allow-query { any; }; + allow-recursion { any; }; + allow-query-cache { any; }; + auth-nxdomain no; + dnssec-validation auto; + directory "/var/bind"; + managed-keys-directory "/etc/bind/keys"; + pid-file "/run/named/named.pid"; + dump-file "/data/logs/named/dump.db"; + statistics-file "/data/logs/named/named.stats"; + memstatistics-file "/data/logs/named/mem.stats"; +}; +##################################################################### +# access settings +acl "all" { 0.0.0.0/0; ::/0; }; +acl "trusted" { 10.0.0.0/8; 127.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; }; +##################################################################### +# named logging options +logging { +channel xfer-in { stderr; severity info; print-category yes; print-severity yes; print-time yes; }; +channel xfer-out { stderr; severity info; print-category yes; print-severity yes; print-time yes; }; +channel update { stderr; severity info; print-category yes; print-severity yes; print-time yes; }; +channel notify { stderr; severity info; print-category yes; print-severity yes; print-time yes; }; +channel querylog { stderr; severity info; print-time yes; }; +channel security { file "/data/logs/named/security.log"; severity dynamic; print-severity yes; print-time yes; }; +channel default { file "/data/logs/named/default.log"; severity debug; print-category yes; print-severity yes; print-time yes; }; +channel debug { file "/data/logs/named/debug.log"; severity debug; }; +category lame-servers { default; debug; }; +category dispatch { default; debug; }; +category queries { querylog; debug; }; +category update { default; update; debug; }; +category network { default; debug; }; +category unmatched { default; debug; }; +category client { default; debug; }; +category notify { notify; debug; }; +category xfer-out { xfer-out; debug; }; +category xfer-in { xfer-in; debug; }; +category resolver { default; debug; }; +category config { default; debug; }; +category security { security; debug; }; +category database { default; debug; }; +category general { default; debug; }; +category default { default; }; +category dnssec { security; debug; }; +}; +##################################################################### +# rndc keys +key "certbot." { algorithm hmac-sha256; secret "REPLACE_KEY_CERTBOT"; }; +key "rndc-key" { algorithm hmac-sha256; secret "REPLACE_KEY_RNDC"; }; +key "dhcp-key" { algorithm hmac-sha256; secret "REPLACE_KEY_DHCP"; }; +key "backup-key" { algorithm hmac-sha256; secret "REPLACE_KEY_BACKUP"; }; +##################################################################### +# rndc settings +controls { inet 127.0.0.1 allow { trusted; } keys { "rndc-key"; }; }; +##################################################################### +# ********** begin root info ********** +zone "." { + type hint; + file "/var/bind/root.cache"; +}; +# ********** end root info ********** +# end +##################################################################### diff --git a/configs/named/rndc.key b/configs/named/rndc.key new file mode 100644 index 0000000..48d3480 --- /dev/null +++ b/configs/named/rndc.key @@ -0,0 +1,5 @@ +# rndc keys +key "certbot." { algorithm hmac-sha256; secret "REPLACE_KEY_CERTBOT"; }; +key "rndc-key" { algorithm hmac-sha256; secret "REPLACE_KEY_RNDC"; }; +key "dhcp-key" { algorithm hmac-sha256; secret "REPLACE_KEY_DHCP"; }; +key "backup-key" { algorithm hmac-sha256; secret "REPLACE_KEY_BACKUP"; }; diff --git a/configs/nginx/mime.types b/configs/nginx/mime.types new file mode 100644 index 0000000..1c00d70 --- /dev/null +++ b/configs/nginx/mime.types @@ -0,0 +1,99 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/avif avif; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/wasm wasm; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/configs/nginx/nginx.conf b/configs/nginx/nginx.conf new file mode 100644 index 0000000..e7006bb --- /dev/null +++ b/configs/nginx/nginx.conf @@ -0,0 +1,68 @@ +# Default nginx configuration +user root; +worker_processes auto; +daemon off; +error_log /data/logs/nginx/nginx.log warn; +pid /run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type "text/html"; + access_log /data/logs/nginx/access.default.log; + sendfile on; + keepalive_timeout 65; + gzip on; + map $http_upgrade $connection_upgrade { default upgrade; '' close; } + disable_symlinks off; + + server { + listen REPLACE_SERVER_PORT default_server; + server_name REPLACE_SERVER_NAME; + + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + location /health { + default_type text/html; + allow all; + access_log off; + return 200 'OK'; + } + + location /health/json { + default_type application/json; + allow all; + access_log off; + return 200 '{"status":"OK"}'; + } + + location /health/status { + stub_status; + } + + location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_param HTTP_PROXY ""; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + } + include /etc/nginx/vhosts.d/*.conf; +} diff --git a/configs/nginx/vhosts.d/default.conf b/configs/nginx/vhosts.d/default.conf new file mode 100644 index 0000000..1272ebe --- /dev/null +++ b/configs/nginx/vhosts.d/default.conf @@ -0,0 +1,13 @@ + server { + listen REPLACE_SERVER_PORT; + server_name REPLACE_SERVER_NAME; + root REPLACE_SERVER_DIR; + index index.php index.cgi index.pl index.aspx awstats.pl index.txt index.json index.html index.unknown.php index.default.php; + proxy_intercept_errors off; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-XSS-Protection "1; mode=block" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "no-referrer-when-downgrade" always; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *; frame-src 'self' *; object-src 'self'" always; + } diff --git a/configs/nginx/vhosts.d/default.ssl.conf b/configs/nginx/vhosts.d/default.ssl.conf new file mode 100644 index 0000000..2a35cb5 --- /dev/null +++ b/configs/nginx/vhosts.d/default.ssl.conf @@ -0,0 +1,18 @@ + server { + listen REPLACE_SERVER_PORT ssl http2 default_server; + server_name REPLACE_SERVER_NAME; + root REPLACE_SERVER_DIR; + index index.php index.cgi index.pl index.aspx awstats.pl index.txt index.json index.html index.unknown.php index.default.php; + proxy_intercept_errors off; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-XSS-Protection "1; mode=block" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "no-referrer-when-downgrade" always; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; + add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *; frame-src 'self' *; object-src 'self'" always; + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; + ssl_prefer_server_ciphers off; + ssl_certificate /etc/ssl/localhost.crt; + ssl_certificate_key /etc/ssl/localhost.key; + } diff --git a/configs/php/php-fpm.conf b/configs/php/php-fpm.conf new file mode 100644 index 0000000..d980f13 --- /dev/null +++ b/configs/php/php-fpm.conf @@ -0,0 +1,7 @@ +;;;;;;;;;;;;;;;;;;;;; + +pid = /run/php-fpm.pid +error_log = /data/logs/php/error_log +daemonize = no + +include=/etc/php/php-fpm.d/*.conf diff --git a/configs/php/php-fpm.d/www.conf b/configs/php/php-fpm.d/www.conf new file mode 100644 index 0000000..476e3fb --- /dev/null +++ b/configs/php/php-fpm.d/www.conf @@ -0,0 +1,27 @@ +[www] +user = root +group = root +listen = 9000 +listen.backlog = 65535 +listen.allowed_clients = 127.0.0.1 +pm = ondemand +pm.max_children = 50 +pm.start_servers = 5 +pm.min_spare_servers = 5 +pm.max_spare_servers = 35 +pm.status_path = /status +ping.path = /ping +ping.response = pong +access.log = /data/logs/php/access_log +access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" +slowlog = /data/logs/php/error_log +clear_env = no +env[HOSTNAME] = $HOSTNAME +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /tmp +env[TMPDIR] = /tmp +env[TEMP] = /tmp +php_flag[display_errors] = on +php_admin_value[error_log] = /data/logs/php/error_log +php_admin_flag[log_errors] = on +php_admin_value[memory_limit] = 512M diff --git a/configs/php/php.ini b/configs/php/php.ini new file mode 100644 index 0000000..7df16d1 --- /dev/null +++ b/configs/php/php.ini @@ -0,0 +1,347 @@ +[PHP] +user_ini.filename = "php.ini" +user_ini.filename = ".user.ini" +user_ini.cache_ttl = 300 +engine = On +short_open_tag = Off +asp_tags = Off +precision = 14 +output_buffering = 4096 +;output_handler = +zlib.output_compression = Off +;zlib.output_compression_level = -1 +;zlib.output_handler = +implicit_flush = Off +unserialize_callback_func = +serialize_precision = 17 +;open_basedir = +disable_functions = +disable_classes = +ignore_user_abort = On +realpath_cache_size = 16k +realpath_cache_ttl = 120 +zend.enable_gc = On +zend.multibyte = Off +zend.script_encoding = +expose_php = Off +max_execution_time = 3600 +max_input_time = 3600 +;max_input_nesting_level = 64 +; max_input_vars = 1000 +memory_limit = 512M +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT +display_errors = On +display_startup_errors = Off +log_errors = On +log_errors_max_len = 1024 +ignore_repeated_errors = Off +ignore_repeated_source = Off +report_memleaks = On +;report_zend_debug = 0 +track_errors = Off +;xmlrpc_errors = 0 +;xmlrpc_error_number = 0 +html_errors = On +;docref_root = "/phpmanual/" +;docref_ext = .html +error_prepend_string = "" +error_append_string = "" +error_log = /data/logs/php/php.log +;arg_separator.input = ";&" +variables_order = "GPCS" +request_order = "GP" +register_argc_argv = Off +auto_globals_jit = On +;enable_post_data_reading = Off +post_max_size = 1G +auto_prepend_file = +auto_append_file = +default_mimetype = "text/html" +default_charset = "UTF-8" +;internal_encoding = +;input_encoding = +;output_encoding = +always_populate_raw_post_data = -1 +doc_root = +user_dir = +enable_dl = Off +cgi.force_redirect = 1 +;cgi.nph = 1 +cgi.redirect_status_env = +cgi.fix_pathinfo = 1 +fastcgi.impersonate = 1 +fastcgi.logging = 1 +;cgi.rfc2616_headers = 0 +file_uploads = On +upload_tmp_dir = /var/tmp +upload_max_filesize =1G +max_file_uploads = 20 +allow_url_fopen = On +allow_url_include = On +;from="john@doe.com" +;user_agent="PHP" +default_socket_timeout = 60 +;auto_detect_line_endings = Off + +[CLI Server] +cli_server.color = On + +[Date] +date.timezone = America/New_York +;date.default_latitude = 31.7667 +;date.default_longitude = 35.2333 + +[filter] +;filter.default = unsafe_raw +;filter.default_flags = + +[iconv] +;iconv.input_encoding = +;iconv.internal_encoding = +;iconv.output_encoding = + +[intl] +;intl.default_locale = +;intl.error_level = E_WARNING + +[sqlite] +;sqlite.assoc_case = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;pcre.backtrack_limit=100000 +;pcre.recursion_limit=100000 + +[Pdo] +;pdo_odbc.connection_pooling=strict +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +pdo_mysql.cache_size = 2000 +pdo_mysql.default_socket= + +[Phar] +;phar.readonly = On +;phar.require_hash = On +;phar.cache_list = + +[mail function] +sendmail_path = -S localhost -t -i +;sendmail_path = /usr/sbin/sendmail -t -i +;mail.force_extra_parameters = +mail.add_x_header = On +;mail.log = syslog + +[SQL] +sql.safe_mode = Off + +[ODBC] +;odbc.default_db = Not yet implemented +;odbc.default_user = Not yet implemented +;odbc.default_pw = Not yet implemented +;odbc.default_cursortype +odbc.allow_persistent = On +odbc.check_persistent = On +odbc.max_persistent = -1 +odbc.max_links = -1 +odbc.defaultlrl = 4096 +odbc.defaultbinmode = 1 +;birdstep.max_links = -1 + +[Interbase] +ibase.allow_persistent = 1 +ibase.max_persistent = -1 +ibase.max_links = -1 +;ibase.default_db = +;ibase.default_user = +;ibase.default_password = +;ibase.default_charset = +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" +ibase.dateformat = "%Y-%m-%d" +ibase.timeformat = "%H:%M:%S" + +[MySQL] +mysql.allow_local_infile = On +mysql.allow_persistent = On +mysql.cache_size = 2000 +mysql.max_persistent = -1 +mysql.max_links = -1 +mysql.default_port = +mysql.default_socket = +mysql.default_host = +mysql.default_user = +mysql.default_password = +mysql.connect_timeout = 60 +mysql.trace_mode = Off + +[MySQLi] +mysqli.max_persistent = -1 +mysqli.allow_local_infile = On +mysqli.allow_persistent = On +mysqli.max_links = -1 +mysqli.cache_size = 2000 +mysqli.default_port = 3306 +mysqli.default_socket = +mysqli.default_host = +mysqli.default_user = +mysqli.default_pw = +mysqli.reconnect = Off + +[mysqlnd] +mysqlnd.collect_statistics = On +mysqlnd.collect_memory_statistics = Off +;mysqlnd.net_cmd_buffer_size = 2048 +;mysqlnd.net_read_buffer_size = 32768 + +[OCI8] +;oci8.privileged_connect = Off +;oci8.max_persistent = -1 +;oci8.persistent_timeout = -1 +;oci8.ping_interval = 60 +;oci8.connection_class = +;oci8.events = Off +;oci8.statement_cache_size = 20 +;oci8.default_prefetch = 100 +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +pgsql.allow_persistent = On +pgsql.auto_reset_persistent = Off +pgsql.max_persistent = -1 +pgsql.max_links = -1 +pgsql.ignore_notice = 0 +pgsql.log_notice = 0 + +[Sybase-CT] +sybct.allow_persistent = On +sybct.max_persistent = -1 +sybct.max_links = -1 +sybct.min_server_severity = 10 +sybct.min_client_severity = 10 +;sybct.timeout= +;sybct.packet_size +;sybct.login_timeout= +;sybct.hostname= +;sybct.deadlock_retry_count= + +[bcmath] +bcmath.scale = 0 + +[browscap] +;browscap = extra/browscap.ini + +[Session] +session.save_handler = files +session.save_path = "/tmp" +session.use_strict_mode = 0 +session.use_cookies = 1 +;session.cookie_secure = +session.use_only_cookies = 1 +session.name = PHPSESSID +session.auto_start = 0 +session.cookie_lifetime = 525600 +session.cookie_path = / +session.cookie_domain = +session.cookie_httponly = +session.serialize_handler = php +session.gc_probability = 1 +session.gc_divisor = 1000 +session.gc_maxlifetime = 525600 +session.referer_check = +;session.entropy_length = 32 +;session.entropy_file = /dev/urandom +session.cache_limiter = nocache +session.cache_expire = 180 +session.use_trans_sid = 0 +session.hash_function = 0 +session.hash_bits_per_character = 5 +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" +session.upload_progress.enabled = On +session.upload_progress.cleanup = On +session.upload_progress.prefix = "upload_progress_" +session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" +session.upload_progress.freq = "1%" +session.upload_progress.min_freq = "1" + +[MSSQL] +mssql.allow_persistent = On +mssql.max_persistent = -1 +mssql.max_links = -1 +mssql.min_error_severity = 10 +mssql.min_message_severity = 10 +mssql.compatibility_mode = Off +;mssql.connect_timeout = 5 +;mssql.timeout = 60 +;mssql.textlimit = 4096 +;mssql.textsize = 4096 +;mssql.batchsize = 0 +;mssql.datetimeconvert = On +mssql.secure_connection = Off +;mssql.max_procs = -1 +;mssql.charset = "ISO-8859-1" + +[Assertion] +;assert.active = On +;assert.warning = On +;assert.bail = Off +;assert.callback = 0 +;assert.quiet_eval = 0 + +[mbstring] +;mbstring.language = Japanese +;mbstring.internal_encoding = +;mbstring.http_input = +;mbstring.http_output = +;mbstring.encoding_translation = Off +;mbstring.detect_order = auto +;mbstring.substitute_character = none +;mbstring.func_overload = 0 +;mbstring.strict_detection = On +;mbstring.http_output_conv_mimetype= + +[gd] +;gd.jpeg_ignore_warning = 0 + +[exif] +;exif.encode_unicode = ISO-8859-15 +;exif.decode_unicode_motorola = UCS-2BE +;exif.decode_unicode_intel = UCS-2LE +;exif.encode_jis = +;exif.decode_jis_motorola = JIS +;exif.decode_jis_intel = JIS + +[Tidy] +;tidy.default_config = /usr/local/lib/php/default.tcfg +tidy.clean_output = Off + +[soap] +soap.wsdl_cache_enabled=1 +soap.wsdl_cache_dir="/tmp" +soap.wsdl_cache_ttl=86400 +soap.wsdl_cache_limit = 5 + +[sysvshm] +;sysvshm.init_mem = 10000 + +[ldap] +ldap.max_links = -1 + +[mcrypt] +;mcrypt.algorithms_dir= +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[curl] +;curl.cainfo = + +[openssl] +;openssl.cafile= +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/configs/redis/redis.conf b/configs/redis/redis.conf new file mode 100644 index 0000000..7faa539 --- /dev/null +++ b/configs/redis/redis.conf @@ -0,0 +1,7 @@ +# Redis conf file +port 6379 +unixsocket /run/redis.sock +unixsocketperm 770 +daemonize no +pidfile /tmp/redis.pid +dir /data/redis diff --git a/configs/ssmtp/revaliases b/configs/ssmtp/revaliases new file mode 100644 index 0000000..7e54ada --- /dev/null +++ b/configs/ssmtp/revaliases @@ -0,0 +1,2 @@ +# sSMTP aliases +#root:your_login@your.domain:mailhub.your.domain[:port] diff --git a/configs/ssmtp/ssmtp.conf b/configs/ssmtp/ssmtp.conf new file mode 100644 index 0000000..042651d --- /dev/null +++ b/configs/ssmtp/ssmtp.conf @@ -0,0 +1,5 @@ +# sSMTP sendmail +root=postmaster +mailhub=172.17.0.1 +rewriteDomain=localhost +hostname="localhost" diff --git a/db/couchdb.sh b/db/couchdb.sh new file mode 100644 index 0000000..a892d8c --- /dev/null +++ b/db/couchdb.sh @@ -0,0 +1,162 @@ +#!/usr/bin/env sh +export PATH="/opt/couchdb/bin:$PATH" +RUN_AS="${SERVICE_USER:-couchdb}" +COUCHDB_USER="${DATABASE_USER_ROOT:-root}" +COUCHDB_PASSWORD=${DATABASE_PASS_ROOT:-couchdb_password} +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +__exec_command() { + exitCode=0 + cmd="${*:-bash -l}" + echo "${exec_message:-Executing command: $cmd}" + $cmd || exitCode=1 + [ "$exitCode" = 0 ] || exitCode=10 + return ${exitCode:-$?} +} +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +__curl() { curl -q -LSsf --user $COUCHDB_USER:$COUCHDB_PASSWORD "$@" || return 1; } +__curl_database() { curl -q -LSsf -X PUT "http://$COUCHDB_USER:$COUCHDB_PASSWORD@127.0.0.1:5984/$1" || return 1; } +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +__curl_users() { + __curl -X PUT "http://localhost:5984/_users/org.couchdb.user:$1" \ + -H "Accept: application/json" \ + -H "Content-Type: application/json" \ + -d '{"name": "'$1'", "password": "'$2'", "roles": ['$4'], "type": "'${3:-user}'"}' + return $? +} +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +[ -z "$DATA_DIR_INITIALIZED" ] && [ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true" || DATA_DIR_INITIALIZED="false" +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Create user if needed +if ! grep -q "$RUN_AS" /etc/passwd; then + groupadd -g 5984 -r $RUN_AS && useradd -u 5984 -d /opt/$RUN_AS -g $RUN_AS $RUN_AS +fi +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +[ -d "/data/couchdb" ] || mv -f "/opt/couchdb/data" "/data/couchdb" +[ -d "/opt/couchdb/data" ] && rm -Rf "/opt/couchdb/data" +ln -sf "/data/couchdb" "/opt/couchdb/data" 2>/dev/null +touch "/opt/couchdb/etc/local.d/docker.ini" 2>/dev/null +chown -Rf $RUN_AS:$RUN_AS "/data/couchdb" "/opt/couchdb" 2>/dev/null +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +case "$1" in +db) + shift 1 + case "$1" in + create) + shift 1 + __curl_database "$1" + exit $? + ;; + update) + shift 1 + __curl_database "$1" + exit $? + ;; + *) + echo "Usage: db [create,update] name" + exit 1 + ;; + esac + ;; + +user) + shift 1 + case "$1" in + create) + shift 1 + __curl_users "$1" "${2:-password}" + exit $? + ;; + update) + shift 1 + __curl_users "$1" "${2:-password}" + exit $? + ;; + *) + echo "Usage: user [create,update] username password type roles" + ;; + esac + ;; + +init) + shift 1 + if [ "$DATA_DIR_INITIALIZED" = "false" ]; then + { + sleep 60 + echo "Creating the default databases" + __curl -X PUT "http://127.0.0.1:5984/_users" 2>/dev/null >/dev/null && + echo "Created database _users" + __curl -X PUT "http://127.0.0.1:5984/_replicator" 2>/dev/null >/dev/null && + echo "Created database _replicator" + __curl -X PUT "http://127.0.0.1:5984/_global_changes" 2>/dev/null >/dev/null && + echo "Created database _global_changes" + echo "" + } >"/dev/stdout" & + fi + exit $? + ;; + +*) + if [ "$(id -u)" = '0' ]; then + find /opt/couchdb \! \( -user $RUN_AS -group $RUN_AS \) -exec chown -f $RUN_AS:$RUN_AS '{}' + + find /opt/couchdb/data -type d ! -perm 0755 -exec chmod -f 0755 '{}' + + find /opt/couchdb/data -type f ! -perm 0644 -exec chmod -f 0644 '{}' + + find /opt/couchdb/etc -type d ! -perm 0755 -exec chmod -f 0755 '{}' + + find /opt/couchdb/etc -type f ! -perm 0644 -exec chmod -f 0644 '{}' + + fi + + if [ -n "$NODENAME" ] && ! grep "couchdb@" /opt/couchdb/etc/vm.args; then + echo "-name couchdb@$NODENAME" >>/opt/couchdb/etc/vm.args + fi + + if [ -n "$RUN_AS" ]; then + if ! grep -sPzoqr "\[admins\]\n$RUN_AS =" /opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then + printf "\n[admins]\n%s = %s\n" "$RUN_AS" "$RUN_AS" >>/opt/couchdb/etc/local.d/docker.ini + fi + fi + + if [ -n "$COUCHDB_SECRET" ]; then + if ! grep -sPzoqr "\[chttpd_auth\]\nsecret =" /opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then + printf "\n[chttpd_auth]\nsecret = %s\n" "$COUCHDB_SECRET" >>/opt/couchdb/etc/local.d/docker.ini + fi + fi + + if [ -n "$COUCHDB_ERLANG_COOKIE" ]; then + cookieFile='/opt/couchdb/.erlang.cookie' + if [ -e "$cookieFile" ]; then + if [ "$(cat "$cookieFile" 2>/dev/null)" != "$COUCHDB_ERLANG_COOKIE" ]; then + echo >&2 + echo >&2 "warning: $cookieFile contents do not match COUCHDB_ERLANG_COOKIE" + echo >&2 + fi + else + echo "$COUCHDB_ERLANG_COOKIE" >"$cookieFile" + fi + chown $RUN_AS:$RUN_AS "$cookieFile" + chmod 600 "$cookieFile" + fi + + if [ "$(id -u)" = '0' ]; then + chown -f $RUN_AS:$RUN_AS /opt/couchdb/etc/local.d/docker.ini || true + fi + + if ! grep -Pzoqr '\[admins\]\n[^;]\w+' /opt/couchdb/etc/default.d/*.ini /opt/couchdb/etc/local.d/*.ini /opt/couchdb/etc/local.ini; then + cat >&2 <<-'EOWARN' +************************************************************* +ERROR: CouchDB 3.0+ will no longer run in "Admin Party" + mode. You *MUST* specify an admin user and + password, either via your own .ini file mapped + into the container at /opt/couchdb/etc/local.ini + or inside /opt/couchdb/etc/local.d, or with + "-e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password" + to set it via "docker run". +************************************************************* +EOWARN + exit 1 + fi + if [ "$(id -u)" = '0' ]; then + __exec_command gosu $RUN_AS /opt/couchdb/bin/couchdb + fi + + echo "This script should be called by root user" + ;; +esac diff --git a/db/mariadb.sh b/db/mariadb.sh new file mode 100644 index 0000000..37ce834 --- /dev/null +++ b/db/mariadb.sh @@ -0,0 +1,570 @@ +#!/usr/bin/env bash +set -eo pipefail +shopt -s nullglob +MARIADB_ROOT_HOST="%" +MARIADB_AUTO_UPGRADE="yes" +MARIADB_DATABASE="$DATABASE_CREATE" +MARIADB_USER="$DATABASE_USER_NORMAL" +MARIADB_PASSWORD="$DATABASE_PASS_NORMAL" +MARIADB_ROOT_PASSWORD="$DATABASE_PASS_ROOT" +MARIADB_ALLOW_EMPTY_ROOT_PASSWORD="" +MARIADB_INITDB_SKIP_TZINFO="" +MARIADB_RANDOM_ROOT_PASSWORD="" +# logging functions +mysql_log() { + local type="$1" + shift + printf '%s [%s] [Entrypoint]: %s\n' "$(date --rfc-3339=seconds)" "$type" "$*" +} +mysql_note() { + mysql_log Note "$@" +} +mysql_warn() { + mysql_log Warn "$@" >&2 +} +mysql_error() { + mysql_log ERROR "$@" >&2 + exit 1 +} + +# usage: file_env VAR [DEFAULT] +# ie: file_env 'XYZ_DB_PASSWORD' 'example' +# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of +# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature) +file_env() { + local var="$1" + local fileVar="${var}_FILE" + local def="${2:-}" + if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then + mysql_error "Both $var and $fileVar are set (but are exclusive)" + fi + local val="$def" + if [ "${!var:-}" ]; then + val="${!var}" + elif [ "${!fileVar:-}" ]; then + val="$(<"${!fileVar}")" + fi + export "$var"="$val" + unset "$fileVar" +} + +# set MARIADB_xyz from MYSQL_xyz when MARIADB_xyz is unset +# and make them the same value (so user scripts can use either) +_mariadb_file_env() { + local var="$1" + shift + local maria="MARIADB_${var#MYSQL_}" + file_env "$var" "$@" + file_env "$maria" "${!var}" + if [ "${!maria:-}" ]; then + export "$var"="${!maria}" + fi +} + +# check to see if this file is being run or sourced from another script +_is_sourced() { + # https://unix.stackexchange.com/a/215279 + [ "${#FUNCNAME[@]}" -ge 2 ] && + [ "${FUNCNAME[0]}" = '_is_sourced' ] && + [ "${FUNCNAME[1]}" = 'source' ] +} + +# usage: docker_process_init_files [file [file [...]]] +# ie: docker_process_init_files /always-initdb.d/* +# process initializer files, based on file extensions +docker_process_init_files() { + # mysql here for backwards compatibility "${mysql[@]}" + # ShellCheck: mysql appears unused. Verify use (or export if used externally) + # shellcheck disable=SC2034 + mysql=(docker_process_sql) + + echo + local f + for f; do + case "$f" in + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + mysql_note "$0: running $f" + "$f" + else + mysql_note "$0: sourcing $f" + # ShellCheck can't follow non-constant source. Use a directive to specify location. + # shellcheck disable=SC1090 + . "$f" + fi + ;; + *.sql) + mysql_note "$0: running $f" + docker_process_sql <"$f" + echo + ;; + *.sql.gz) + mysql_note "$0: running $f" + gunzip -c "$f" | docker_process_sql + echo + ;; + *.sql.xz) + mysql_note "$0: running $f" + xzcat "$f" | docker_process_sql + echo + ;; + *.sql.zst) + mysql_note "$0: running $f" + zstd -dc "$f" | docker_process_sql + echo + ;; + *) mysql_warn "$0: ignoring $f" ;; + esac + echo + done +} + +# arguments necessary to run "mariadbd --verbose --help" successfully (used for testing configuration validity and for extracting default/configured values) +_verboseHelpArgs=( + --verbose --help +) + +mysql_check_config() { + local toRun=("$@" "${_verboseHelpArgs[@]}") errors + if ! errors="$("${toRun[@]}" 2>&1 >/dev/null)"; then + mysql_error $'mariadbd failed while attempting to check config\n\tcommand was: '"${toRun[*]}"$'\n\t'"$errors" + fi +} + +# Fetch value from server config +# We use mariadbd --verbose --help instead of my_print_defaults because the +# latter only show values present in config files, and not server defaults +mysql_get_config() { + local conf="$1" + shift + "$@" "${_verboseHelpArgs[@]}" 2>/dev/null | + awk -v conf="$conf" '$1 == conf && /^[^ \t]/ { sub(/^[^ \t]+[ \t]+/, ""); print; exit }' + # match "datadir /some/path with/spaces in/it here" but not "--xyz=abc\n datadir (xyz)" +} + +# Do a temporary startup of the MariaDB server, for init purposes +docker_temp_server_start() { + "$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF \ + --expire-logs-days=0 \ + --loose-innodb_buffer_pool_load_at_startup=0 & + declare -g MARIADB_PID + MARIADB_PID=$! + mysql_note "Waiting for server startup" + # only use the root password if the database has already been initialized + # so that it won't try to fill in a password file when it hasn't been set yet + extraArgs=() + if [ -z "$DATABASE_ALREADY_EXISTS" ]; then + extraArgs+=('--dont-use-mysql-root-password') + fi + local i + for i in {30..0}; do + if docker_process_sql "${extraArgs[@]}" --database=mysql <<<'SELECT 1' &>/dev/null; then + break + fi + sleep 1 + done + if [ "$i" = 0 ]; then + mysql_error "Unable to start server." + fi +} + +# Stop the server. When using a local socket file mariadb-admin will block until +# the shutdown is complete. +docker_temp_server_stop() { + kill "$MARIADB_PID" + wait "$MARIADB_PID" +} + +# Verify that the minimally required password settings are set for new databases. +docker_verify_minimum_env() { + if [ -z "$MARIADB_ROOT_PASSWORD" ] && [ -z "$MARIADB_ROOT_PASSWORD_HASH" ] && [ -z "$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" ] && [ -z "$MARIADB_RANDOM_ROOT_PASSWORD" ]; then + mysql_error $'Database is uninitialized and password option is not specified\n\tYou need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ROOT_PASSWORD_HASH, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD' + fi + # More preemptive exclusions of combinations should have been made before *PASSWORD_HASH was added, but for now we don't enforce due to compatibility. + if [ -n "$MARIADB_ROOT_PASSWORD" ] || [ -n "$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" ] || [ -n "$MARIADB_RANDOM_ROOT_PASSWORD" ] && [ -n "$MARIADB_ROOT_PASSWORD_HASH" ]; then + mysql_error "Cannot specify MARIADB_ROOT_PASSWORD_HASH and another MARIADB_ROOT_PASSWORD* option." + fi + if [ -n "$MARIADB_PASSWORD" ] && [ -n "$MARIADB_PASSWORD_HASH" ]; then + mysql_error "Cannot specify MARIADB_PASSWORD_HASH and MARIADB_PASSWORD option." + fi +} + +# creates folders for the database +# also ensures permission for user mysql of run as root +docker_create_db_directories() { + local user + user="$(id -u)" + + # TODO other directories that are used by default? like /var/lib/mysql-files + # see https://github.com/docker-library/mysql/issues/562 + mkdir -p "$DATADIR" + + if [ "$user" = "0" ]; then + # this will cause less disk access than `chown -R` + find "$DATADIR" \! -user mysql -exec chown mysql: '{}' + + # See https://github.com/MariaDB/mariadb-docker/issues/363 + find "${SOCKET%/*}" -maxdepth 0 \! -user mysql -exec chown mysql: '{}' \; + fi +} + +_mariadb_version() { + local mariaVersion="${MARIADB_VERSION##*:}" + mariaVersion="${mariaVersion%%[-+~]*}" + echo -n "${mariaVersion}-MariaDB" +} + +# initializes the database directory +docker_init_database_dir() { + mysql_note "Initializing database files" + installArgs=(--datadir="$DATADIR" --rpm --auth-root-authentication-method=normal) + # "Other options are passed to mariadbd." (so we pass all "mysqld" arguments directly here) + mariadb-install-db "${installArgs[@]}" "${@:2}" \ + --skip-test-db \ + --old-mode='UTF8_IS_UTF8MB3' \ + --default-time-zone=SYSTEM --enforce-storage-engine= \ + --skip-log-bin \ + --expire-logs-days=0 \ + --loose-innodb_buffer_pool_load_at_startup=0 \ + --loose-innodb_buffer_pool_dump_at_shutdown=0 + mysql_note "Database files initialized" +} + +# Loads various settings that are used elsewhere in the script +# This should be called after mysql_check_config, but before any other functions +docker_setup_env() { + # Get config + declare -g DATADIR SOCKET + DATADIR="$(mysql_get_config 'datadir' "$@")" + SOCKET="$(mysql_get_config 'socket' "$@")" + + # Initialize values that might be stored in a file + _mariadb_file_env 'MYSQL_ROOT_HOST' '%' + _mariadb_file_env 'MYSQL_DATABASE' + _mariadb_file_env 'MYSQL_USER' + _mariadb_file_env 'MYSQL_PASSWORD' + _mariadb_file_env 'MYSQL_ROOT_PASSWORD' + # No MYSQL_ compatibility needed for new variables + file_env 'MARIADB_PASSWORD_HASH' + file_env 'MARIADB_ROOT_PASSWORD_HASH' + + # set MARIADB_ from MYSQL_ when it is unset and then make them the same value + : "${MARIADB_ALLOW_EMPTY_ROOT_PASSWORD:=${MYSQL_ALLOW_EMPTY_PASSWORD:-}}" + export MYSQL_ALLOW_EMPTY_PASSWORD="$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" MARIADB_ALLOW_EMPTY_ROOT_PASSWORD + : "${MARIADB_RANDOM_ROOT_PASSWORD:=${MYSQL_RANDOM_ROOT_PASSWORD:-}}" + export MYSQL_RANDOM_ROOT_PASSWORD="$MARIADB_RANDOM_ROOT_PASSWORD" MARIADB_RANDOM_ROOT_PASSWORD + : "${MARIADB_INITDB_SKIP_TZINFO:=${MYSQL_INITDB_SKIP_TZINFO:-}}" + export MYSQL_INITDB_SKIP_TZINFO="$MARIADB_INITDB_SKIP_TZINFO" MARIADB_INITDB_SKIP_TZINFO + + declare -g DATABASE_ALREADY_EXISTS + if [ -d "$DATADIR/mysql" ]; then + DATABASE_ALREADY_EXISTS='true' + fi +} + +# Execute the client, use via docker_process_sql to handle root password +docker_exec_client() { + # args sent in can override this db, since they will be later in the command + if [ -n "$MYSQL_DATABASE" ]; then + set -- --database="$MYSQL_DATABASE" "$@" + fi + mariadb --protocol=socket -uroot -hlocalhost --socket="${SOCKET}" "$@" +} + +# Execute sql script, passed via stdin +# usage: docker_process_sql [--dont-use-mysql-root-password] [mysql-cli-args] +# ie: docker_process_sql --database=mydb <<<'INSERT ...' +# ie: docker_process_sql --dont-use-mysql-root-password --database=mydb "${DATADIR}/${backup_db}"; then + mysql_error "Unable backup system database for upgrade from $oldfullversion." + fi + mysql_note "Backing up complete" +} + +# perform mariadb-upgrade +# backup the mysql database if this is a major upgrade +docker_mariadb_upgrade() { + if [ -z "$MARIADB_AUTO_UPGRADE" ] || + [ "$MARIADB_AUTO_UPGRADE" = 0 ]; then + mysql_note "MariaDB upgrade (mariadb-upgrade) required, but skipped due to \$MARIADB_AUTO_UPGRADE setting" + return + fi + mysql_note "Starting temporary server" + docker_temp_server_start "$@" --skip-grant-tables \ + --loose-innodb_buffer_pool_dump_at_shutdown=0 \ + --skip-slave-start + mysql_note "Temporary server started." + + docker_mariadb_backup_system + + mysql_note "Starting mariadb-upgrade" + mariadb-upgrade --upgrade-system-tables + mysql_note "Finished mariadb-upgrade" + + mysql_note "Stopping temporary server" + docker_temp_server_stop + mysql_note "Temporary server stopped" +} + +_check_if_upgrade_is_needed() { + if [ ! -f "$DATADIR"/mariadb_upgrade_info ]; then + mysql_note "MariaDB upgrade information missing, assuming required" + return 0 + fi + local mariadbVersion + mariadbVersion="$(_mariadb_version)" + IFS='.-' read -ra newversion <<<"$mariadbVersion" + IFS='.-' read -ra oldversion <"$DATADIR"/mariadb_upgrade_info || true + + if [[ ${#newversion[@]} -lt 2 ]] || [[ ${#oldversion[@]} -lt 2 ]] || + [[ ${oldversion[0]} -lt ${newversion[0]} ]] || + [[ ${oldversion[0]} -eq ${newversion[0]} && ${oldversion[1]} -lt ${newversion[1]} ]]; then + return 0 + fi + mysql_note "MariaDB upgrade not required" + return 1 +} + +# check arguments for an option that would cause mariadbd to stop +# return true if there is one +_mysql_want_help() { + local arg + for arg; do + case "$arg" in + -'?' | --help | --print-defaults | -V | --version) + return 0 + ;; + esac + done + return 1 +} + +_main() { + # if command starts with an option, prepend mariadbd + if [ "${1:0:1}" = '-' ]; then + set -- mariadbd "$@" + fi + + #ENDOFSUBSTITUTIONS + # skip setup if they aren't running mysqld or want an option that stops mysqld + if [ "$1" = 'mariadbd' ] || [ "$1" = 'mysqld' ] && ! _mysql_want_help "$@"; then + mysql_note "Entrypoint script for MariaDB Server ${MARIADB_VERSION} started." + + mysql_check_config "$@" + # Load various environment variables + docker_setup_env "$@" + docker_create_db_directories + + # If container is started as root user, restart as dedicated mysql user + if [ "$(id -u)" = "0" ]; then + mysql_note "Switching to dedicated user 'mysql'" + exec gosu mysql "${BASH_SOURCE[0]}" "$@" + fi + + # there's no database, so it needs to be initialized + if [ -z "$DATABASE_ALREADY_EXISTS" ]; then + docker_verify_minimum_env + + # check dir permissions to reduce likelihood of half-initialized database + ls /docker-entrypoint-initdb.d/ >/dev/null + + docker_init_database_dir "$@" + + mysql_note "Starting temporary server" + docker_temp_server_start "$@" + mysql_note "Temporary server started." + + docker_setup_db + docker_process_init_files /docker-entrypoint-initdb.d/* + # Wait until after /docker-entrypoint-initdb.d is performed before setting + # root@localhost password to a hash we don't know the password for. + if [ -n "${MARIADB_ROOT_PASSWORD_HASH}" ]; then + mysql_note "Setting root@localhost password hash" + docker_process_sql --dont-use-mysql-root-password --binary-mode <<-EOSQL + SET @@SESSION.SQL_LOG_BIN=0; + SET PASSWORD FOR 'root'@'localhost'= '${MARIADB_ROOT_PASSWORD_HASH}'; + EOSQL + fi + + mysql_note "Stopping temporary server" + docker_temp_server_stop + mysql_note "Temporary server stopped" + + echo + mysql_note "MariaDB init process done. Ready for start up." + echo + # MDEV-27636 mariadb_upgrade --check-if-upgrade-is-needed cannot be run offline + #elif mariadb-upgrade --check-if-upgrade-is-needed; then + elif _check_if_upgrade_is_needed; then + docker_mariadb_upgrade "$@" + fi + fi + exec "$@" +} + +# If we are sourced from elsewhere, don't perform any further actions +if ! _is_sourced; then + _main "$@" +fi diff --git a/db/mongodb.sh b/db/mongodb.sh new file mode 100644 index 0000000..6bf1cc9 --- /dev/null +++ b/db/mongodb.sh @@ -0,0 +1,434 @@ +#!/bin/bash +set -Eeuo pipefail + +if [ "${1:0:1}" = '-' ]; then + set -- mongod "$@" +fi + +originalArgOne="$1" + +# allow the container to be started with `--user` +# all mongo* commands should be dropped to the correct user +if [[ "$originalArgOne" == mongo* ]] && [ "$(id -u)" = '0' ]; then + if [ "$originalArgOne" = 'mongod' ]; then + find /data/configdb /data/db \! -user mongodb -exec chown mongodb '{}' + + fi + + # make sure we can write to stdout and stderr as "mongodb" + # (for our "initdb" code later; see "--logpath" below) + chown --dereference mongodb "/proc/$$/fd/1" "/proc/$$/fd/2" || : + # ignore errors thanks to https://github.com/docker-library/mongo/issues/149 + + exec gosu mongodb "$BASH_SOURCE" "$@" +fi + +dpkgArch="$(dpkg --print-architecture)" +case "$dpkgArch" in +amd64) # https://github.com/docker-library/mongo/issues/485#issuecomment-891991814 + if ! grep -qE '^flags.* avx( .*|$)' /proc/cpuinfo; then + { + echo + echo 'WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!' + echo ' see https://jira.mongodb.org/browse/SERVER-54407' + echo ' see also https://www.mongodb.com/community/forums/t/mongodb-5-0-cpu-intel-g4650-compatibility/116610/2' + echo ' see also https://github.com/docker-library/mongo/issues/485#issuecomment-891991814' + echo + } >&2 + fi + ;; + +arm64) # https://github.com/docker-library/mongo/issues/485#issuecomment-970864306 + # https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features + # http://javathunderx.blogspot.com/2018/11/cheat-sheet-for-cpuinfo-features-on.html + if ! grep -qE '^Features.* (fphp|dcpop|sha3|sm3|sm4|asimddp|sha512|sve)( .*|$)' /proc/cpuinfo; then + { + echo + echo 'WARNING: MongoDB 5.0+ requires ARMv8.2-A or higher, and your current system does not appear to implement any of the common features for that!' + echo ' see https://jira.mongodb.org/browse/SERVER-55178' + echo ' see also https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features' + echo ' see also https://github.com/docker-library/mongo/issues/485#issuecomment-970864306' + echo + } >&2 + fi + ;; +esac + +# you should use numactl to start your mongod instances, including the config servers, mongos instances, and any clients. +# https://docs.mongodb.com/manual/administration/production-notes/#configuring-numa-on-linux +if [[ "$originalArgOne" == mongo* ]]; then + numa='numactl --interleave=all' + if $numa true &>/dev/null; then + set -- $numa "$@" + fi +fi + +# usage: file_env VAR [DEFAULT] +# ie: file_env 'XYZ_DB_PASSWORD' 'example' +# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of +# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature) +file_env() { + local var="$1" + local fileVar="${var}_FILE" + local def="${2:-}" + if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then + echo >&2 "error: both $var and $fileVar are set (but are exclusive)" + exit 1 + fi + local val="$def" + if [ "${!var:-}" ]; then + val="${!var}" + elif [ "${!fileVar:-}" ]; then + val="$(<"${!fileVar}")" + fi + export "$var"="$val" + unset "$fileVar" +} + +# see https://github.com/docker-library/mongo/issues/147 (mongod is picky about duplicated arguments) +_mongod_hack_have_arg() { + local checkArg="$1" + shift + local arg + for arg; do + case "$arg" in + "$checkArg" | "$checkArg"=*) + return 0 + ;; + esac + done + return 1 +} +# _mongod_hack_get_arg_val '--some-arg' "$@" +_mongod_hack_get_arg_val() { + local checkArg="$1" + shift + while [ "$#" -gt 0 ]; do + local arg="$1" + shift + case "$arg" in + "$checkArg") + echo "$1" + return 0 + ;; + "$checkArg"=*) + echo "${arg#$checkArg=}" + return 0 + ;; + esac + done + return 1 +} +declare -a mongodHackedArgs +# _mongod_hack_ensure_arg '--some-arg' "$@" +# set -- "${mongodHackedArgs[@]}" +_mongod_hack_ensure_arg() { + local ensureArg="$1" + shift + mongodHackedArgs=("$@") + if ! _mongod_hack_have_arg "$ensureArg" "$@"; then + mongodHackedArgs+=("$ensureArg") + fi +} +# _mongod_hack_ensure_no_arg '--some-unwanted-arg' "$@" +# set -- "${mongodHackedArgs[@]}" +_mongod_hack_ensure_no_arg() { + local ensureNoArg="$1" + shift + mongodHackedArgs=() + while [ "$#" -gt 0 ]; do + local arg="$1" + shift + if [ "$arg" = "$ensureNoArg" ]; then + continue + fi + mongodHackedArgs+=("$arg") + done +} +# _mongod_hack_ensure_no_arg '--some-unwanted-arg' "$@" +# set -- "${mongodHackedArgs[@]}" +_mongod_hack_ensure_no_arg_val() { + local ensureNoArg="$1" + shift + mongodHackedArgs=() + while [ "$#" -gt 0 ]; do + local arg="$1" + shift + case "$arg" in + "$ensureNoArg") + shift # also skip the value + continue + ;; + "$ensureNoArg"=*) + # value is already included + continue + ;; + esac + mongodHackedArgs+=("$arg") + done +} +# _mongod_hack_ensure_arg_val '--some-arg' 'some-val' "$@" +# set -- "${mongodHackedArgs[@]}" +_mongod_hack_ensure_arg_val() { + local ensureArg="$1" + shift + local ensureVal="$1" + shift + _mongod_hack_ensure_no_arg_val "$ensureArg" "$@" + mongodHackedArgs+=("$ensureArg" "$ensureVal") +} + +# _js_escape 'some "string" value' +_js_escape() { + jq --null-input --arg 'str' "$1" '$str' +} + +: "${TMPDIR:=/tmp}" +jsonConfigFile="$TMPDIR/docker-entrypoint-config.json" +tempConfigFile="$TMPDIR/docker-entrypoint-temp-config.json" +_parse_config() { + if [ -s "$tempConfigFile" ]; then + return 0 + fi + + local configPath + if configPath="$(_mongod_hack_get_arg_val --config "$@")" && [ -s "$configPath" ]; then + # if --config is specified, parse it into a JSON file so we can remove a few problematic keys (especially SSL-related keys) + # see https://docs.mongodb.com/manual/reference/configuration-options/ + if grep -vEm1 '^[[:space:]]*(#|$)' "$configPath" | grep -qE '^[[:space:]]*[^=:]+[[:space:]]*='; then + # if the first non-comment/non-blank line of the config file looks like "foo = ...", this is probably the 2.4 and older "ini-style config format" + # mongod tries to parse config as yaml and then falls back to ini-style parsing + # https://github.com/mongodb/mongo/blob/r6.0.3/src/mongo/util/options_parser/options_parser.cpp#L1883-L1894 + echo >&2 + echo >&2 "WARNING: it appears that '$configPath' is in the older INI-style format (replaced by YAML in MongoDB 2.6)" + echo >&2 ' This script does not parse the older INI-style format, and thus will ignore it.' + echo >&2 + return 1 + fi + if [ "$mongoShell" = 'mongo' ]; then + "$mongoShell" --norc --nodb --quiet --eval "load('/js-yaml.js'); printjson(jsyaml.load(cat($(_js_escape "$configPath"))))" >"$jsonConfigFile" + else + # https://www.mongodb.com/docs/manual/reference/method/js-native/#std-label-native-in-mongosh + "$mongoShell" --norc --nodb --quiet --eval "load('/js-yaml.js'); JSON.stringify(jsyaml.load(fs.readFileSync($(_js_escape "$configPath"), 'utf8')))" >"$jsonConfigFile" + fi + if [ "$(head -c1 "$jsonConfigFile")" != '{' ] || [ "$(tail -c2 "$jsonConfigFile")" != '}' ]; then + # if the file doesn't start with "{" and end with "}", it's *probably* an error ("uncaught exception: YAMLException: foo" for example), so we should print it out + echo >&2 'error: unexpected "js-yaml.js" output while parsing config:' + cat >&2 "$jsonConfigFile" + exit 1 + fi + jq 'del(.systemLog, .processManagement, .net, .security, .replication)' "$jsonConfigFile" >"$tempConfigFile" + return 0 + fi + + return 1 +} +dbPath= +_dbPath() { + if [ -n "$dbPath" ]; then + echo "$dbPath" + return + fi + + if ! dbPath="$(_mongod_hack_get_arg_val --dbpath "$@")"; then + if _parse_config "$@"; then + dbPath="$(jq -r '.storage.dbPath // empty' "$jsonConfigFile")" + fi + fi + + if [ -z "$dbPath" ]; then + if _mongod_hack_have_arg --configsvr "$@" || { + _parse_config "$@" && + clusterRole="$(jq -r '.sharding.clusterRole // empty' "$jsonConfigFile")" && + [ "$clusterRole" = 'configsvr' ] + }; then + # if running as config server, then the default dbpath is /data/configdb + # https://docs.mongodb.com/manual/reference/program/mongod/#cmdoption-mongod-configsvr + dbPath=/data/configdb + fi + fi + + : "${dbPath:=/data/db}" + + echo "$dbPath" +} + +if [ "$originalArgOne" = 'mongod' ]; then + file_env 'MONGO_INITDB_ROOT_USERNAME' + file_env 'MONGO_INITDB_ROOT_PASSWORD' + + mongoShell='mongo' + if ! command -v "$mongoShell" >/dev/null; then + mongoShell='mongosh' + fi + + # pre-check a few factors to see if it's even worth bothering with initdb + shouldPerformInitdb= + if [ "$MONGO_INITDB_ROOT_USERNAME" ] && [ "$MONGO_INITDB_ROOT_PASSWORD" ]; then + # if we have a username/password, let's set "--auth" + _mongod_hack_ensure_arg '--auth' "$@" + set -- "${mongodHackedArgs[@]}" + shouldPerformInitdb='true' + elif [ "$MONGO_INITDB_ROOT_USERNAME" ] || [ "$MONGO_INITDB_ROOT_PASSWORD" ]; then + cat >&2 <<-'EOF' + + error: missing 'MONGO_INITDB_ROOT_USERNAME' or 'MONGO_INITDB_ROOT_PASSWORD' + both must be specified for a user to be created + + EOF + exit 1 + fi + + if [ -z "$shouldPerformInitdb" ]; then + # if we've got any /docker-entrypoint-initdb.d/* files to parse later, we should initdb + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh | *.js) # this should match the set of files we check for below + shouldPerformInitdb="$f" + break + ;; + esac + done + fi + + # check for a few known paths (to determine whether we've already initialized and should thus skip our initdb scripts) + if [ -n "$shouldPerformInitdb" ]; then + dbPath="$(_dbPath "$@")" + for path in \ + "$dbPath/WiredTiger" \ + "$dbPath/journal" \ + "$dbPath/local.0" \ + "$dbPath/storage.bson"; do + if [ -e "$path" ]; then + shouldPerformInitdb= + break + fi + done + fi + + if [ -n "$shouldPerformInitdb" ]; then + mongodHackedArgs=("$@") + if _parse_config "$@"; then + _mongod_hack_ensure_arg_val --config "$tempConfigFile" "${mongodHackedArgs[@]}" + fi + _mongod_hack_ensure_arg_val --bind_ip 127.0.0.1 "${mongodHackedArgs[@]}" + _mongod_hack_ensure_arg_val --port 27017 "${mongodHackedArgs[@]}" + _mongod_hack_ensure_no_arg --bind_ip_all "${mongodHackedArgs[@]}" + + # remove "--auth" and "--replSet" for our initial startup (see https://docs.mongodb.com/manual/tutorial/enable-authentication/#start-mongodb-without-access-control) + # https://github.com/docker-library/mongo/issues/211 + _mongod_hack_ensure_no_arg --auth "${mongodHackedArgs[@]}" + # "keyFile implies security.authorization" + # https://docs.mongodb.com/manual/reference/configuration-options/#mongodb-setting-security.keyFile + _mongod_hack_ensure_no_arg_val --keyFile "${mongodHackedArgs[@]}" + if [ "$MONGO_INITDB_ROOT_USERNAME" ] && [ "$MONGO_INITDB_ROOT_PASSWORD" ]; then + _mongod_hack_ensure_no_arg_val --replSet "${mongodHackedArgs[@]}" + fi + + # "BadValue: need sslPEMKeyFile when SSL is enabled" vs "BadValue: need to enable SSL via the sslMode flag when using SSL configuration parameters" + tlsMode='disabled' + if _mongod_hack_have_arg '--tlsCertificateKeyFile' "$@"; then + tlsMode='allowTLS' + fi + _mongod_hack_ensure_arg_val --tlsMode "$tlsMode" "${mongodHackedArgs[@]}" + + if stat "/proc/$$/fd/1" >/dev/null && [ -w "/proc/$$/fd/1" ]; then + # https://github.com/mongodb/mongo/blob/38c0eb538d0fd390c6cb9ce9ae9894153f6e8ef5/src/mongo/db/initialize_server_global_state.cpp#L237-L251 + # https://github.com/docker-library/mongo/issues/164#issuecomment-293965668 + _mongod_hack_ensure_arg_val --logpath "/proc/$$/fd/1" "${mongodHackedArgs[@]}" + else + initdbLogPath="$(_dbPath "$@")/docker-initdb.log" + echo >&2 "warning: initdb logs cannot write to '/proc/$$/fd/1', so they are in '$initdbLogPath' instead" + _mongod_hack_ensure_arg_val --logpath "$initdbLogPath" "${mongodHackedArgs[@]}" + fi + _mongod_hack_ensure_arg --logappend "${mongodHackedArgs[@]}" + + pidfile="$TMPDIR/docker-entrypoint-temp-mongod.pid" + rm -f "$pidfile" + _mongod_hack_ensure_arg_val --pidfilepath "$pidfile" "${mongodHackedArgs[@]}" + + "${mongodHackedArgs[@]}" --fork + + mongo=("$mongoShell" --host 127.0.0.1 --port 27017 --quiet) + + # check to see that our "mongod" actually did start up (catches "--help", "--version", MongoDB 3.2 being silly, slow prealloc, etc) + # https://jira.mongodb.org/browse/SERVER-16292 + tries=30 + while true; do + if ! { [ -s "$pidfile" ] && ps "$(<"$pidfile")" &>/dev/null; }; then + # bail ASAP if "mongod" isn't even running + echo >&2 + echo >&2 "error: $originalArgOne does not appear to have stayed running -- perhaps it had an error?" + echo >&2 + exit 1 + fi + if "${mongo[@]}" 'admin' --eval 'quit(0)' &>/dev/null; then + # success! + break + fi + ((tries--)) + if [ "$tries" -le 0 ]; then + echo >&2 + echo >&2 "error: $originalArgOne does not appear to have accepted connections quickly enough -- perhaps it had an error?" + echo >&2 + exit 1 + fi + sleep 1 + done + + if [ "$MONGO_INITDB_ROOT_USERNAME" ] && [ "$MONGO_INITDB_ROOT_PASSWORD" ]; then + rootAuthDatabase='admin' + + "${mongo[@]}" "$rootAuthDatabase" <<-EOJS + db.createUser({ + user: $(_js_escape "$MONGO_INITDB_ROOT_USERNAME"), + pwd: $(_js_escape "$MONGO_INITDB_ROOT_PASSWORD"), + roles: [ { role: 'root', db: $(_js_escape "$rootAuthDatabase") } ] + }) + EOJS + fi + + export MONGO_INITDB_DATABASE="${MONGO_INITDB_DATABASE:-test}" + + echo + for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sh) + echo "$0: running $f" + . "$f" + ;; + *.js) + echo "$0: running $f" + "${mongo[@]}" "$MONGO_INITDB_DATABASE" "$f" + echo + ;; + *) echo "$0: ignoring $f" ;; + esac + echo + done + + "${mongodHackedArgs[@]}" --shutdown + rm -f "$pidfile" + + echo + echo 'MongoDB init process complete; ready for start up.' + echo + fi + + # MongoDB 3.6+ defaults to localhost-only binding + haveBindIp= + if _mongod_hack_have_arg --bind_ip "$@" || _mongod_hack_have_arg --bind_ip_all "$@"; then + haveBindIp=1 + elif _parse_config "$@" && jq --exit-status '.net.bindIp // .net.bindIpAll' "$jsonConfigFile" >/dev/null; then + haveBindIp=1 + fi + if [ -z "$haveBindIp" ]; then + # so if no "--bind_ip" is specified, let's add "--bind_ip_all" + set -- "$@" --bind_ip_all + fi + + unset "${!MONGO_INITDB_@}" +fi + +rm -f "$jsonConfigFile" "$tempConfigFile" + +exec "$@" diff --git a/db/postgresql.sh b/db/postgresql.sh new file mode 100644 index 0000000..ff4b969 --- /dev/null +++ b/db/postgresql.sh @@ -0,0 +1,372 @@ +#!/usr/bin/env bash +set -Eeo pipefail +# TODO swap to -Eeuo pipefail above (after handling all potentially-unset variables) +PGDATA="$DATABASE_DIR_PGSQL" +POSTGRES_USER="$DATABASE_USER_ROOT" +POSTGRES_PASSWORD="$DATABASE_PASS_ROOT" +# usage: file_env VAR [DEFAULT] +# ie: file_env 'XYZ_DB_PASSWORD' 'example' +# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of +# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature) +file_env() { + local var="$1" + local fileVar="${var}_FILE" + local def="${2:-}" + if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then + printf >&2 'error: both %s and %s are set (but are exclusive)\n' "$var" "$fileVar" + exit 1 + fi + local val="$def" + if [ "${!var:-}" ]; then + val="${!var}" + elif [ "${!fileVar:-}" ]; then + val="$(<"${!fileVar}")" + fi + export "$var"="$val" + unset "$fileVar" +} + +# check to see if this file is being run or sourced from another script +_is_sourced() { + # https://unix.stackexchange.com/a/215279 + [ "${#FUNCNAME[@]}" -ge 2 ] && + [ "${FUNCNAME[0]}" = '_is_sourced' ] && + [ "${FUNCNAME[1]}" = 'source' ] +} + +# used to create initial postgres directories and if run as root, ensure ownership to the "postgres" user +docker_create_db_directories() { + local user + user="$(id -u)" + + mkdir -p "$PGDATA" + # ignore failure since there are cases where we can't chmod (and PostgreSQL might fail later anyhow - it's picky about permissions of this directory) + chmod 700 "$PGDATA" || : + + # ignore failure since it will be fine when using the image provided directory; see also https://github.com/docker-library/postgres/pull/289 + mkdir -p /var/run/postgresql || : + chmod 775 /var/run/postgresql || : + + # Create the transaction log directory before initdb is run so the directory is owned by the correct user + if [ -n "${POSTGRES_INITDB_WALDIR:-}" ]; then + mkdir -p "$POSTGRES_INITDB_WALDIR" + if [ "$user" = '0' ]; then + find "$POSTGRES_INITDB_WALDIR" \! -user postgres -exec chown postgres '{}' + + fi + chmod 700 "$POSTGRES_INITDB_WALDIR" + fi + + # allow the container to be started with `--user` + if [ "$user" = '0' ]; then + find "$PGDATA" \! -user postgres -exec chown postgres '{}' + + find /var/run/postgresql \! -user postgres -exec chown postgres '{}' + + fi +} + +# initialize empty PGDATA directory with new database via 'initdb' +# arguments to `initdb` can be passed via POSTGRES_INITDB_ARGS or as arguments to this function +# `initdb` automatically creates the "postgres", "template0", and "template1" dbnames +# this is also where the database user is created, specified by `POSTGRES_USER` env +docker_init_database_dir() { + # "initdb" is particular about the current user existing in "/etc/passwd", so we use "nss_wrapper" to fake that if necessary + # see https://github.com/docker-library/postgres/pull/253, https://github.com/docker-library/postgres/issues/359, https://cwrap.org/nss_wrapper.html + local uid + uid="$(id -u)" + if ! getent passwd "$uid" &>/dev/null; then + # see if we can find a suitable "libnss_wrapper.so" (https://salsa.debian.org/sssd-team/nss-wrapper/-/commit/b9925a653a54e24d09d9b498a2d913729f7abb15) + local wrapper + for wrapper in {/usr,}/lib{/*,}/libnss_wrapper.so; do + if [ -s "$wrapper" ]; then + NSS_WRAPPER_PASSWD="$(mktemp)" + NSS_WRAPPER_GROUP="$(mktemp)" + export LD_PRELOAD="$wrapper" NSS_WRAPPER_PASSWD NSS_WRAPPER_GROUP + local gid + gid="$(id -g)" + printf 'postgres:x:%s:%s:PostgreSQL:%s:/bin/false\n' "$uid" "$gid" "$PGDATA" >"$NSS_WRAPPER_PASSWD" + printf 'postgres:x:%s:\n' "$gid" >"$NSS_WRAPPER_GROUP" + break + fi + done + fi + + if [ -n "${POSTGRES_INITDB_WALDIR:-}" ]; then + set -- --waldir "$POSTGRES_INITDB_WALDIR" "$@" + fi + + # --pwfile refuses to handle a properly-empty file (hence the "\n"): https://github.com/docker-library/postgres/issues/1025 + eval 'initdb --username="$POSTGRES_USER" --pwfile=<(printf "%s\n" "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"' "$@"' + + # unset/cleanup "nss_wrapper" bits + if [[ "${LD_PRELOAD:-}" == */libnss_wrapper.so ]]; then + rm -f "$NSS_WRAPPER_PASSWD" "$NSS_WRAPPER_GROUP" + unset LD_PRELOAD NSS_WRAPPER_PASSWD NSS_WRAPPER_GROUP + fi +} + +# print large warning if POSTGRES_PASSWORD is long +# error if both POSTGRES_PASSWORD is empty and POSTGRES_HOST_AUTH_METHOD is not 'trust' +# print large warning if POSTGRES_HOST_AUTH_METHOD is set to 'trust' +# assumes database is not set up, ie: [ -z "$DATABASE_ALREADY_EXISTS" ] +docker_verify_minimum_env() { + # check password first so we can output the warning before postgres + # messes it up + if [ "${#POSTGRES_PASSWORD}" -ge 100 ]; then + cat >&2 <<-'EOWARN' + + WARNING: The supplied POSTGRES_PASSWORD is 100+ characters. + + This will not work if used via PGPASSWORD with "psql". + + https://www.postgresql.org/message-id/flat/E1Rqxp2-0004Qt-PL%40wrigleys.postgresql.org (BUG #6412) + https://github.com/docker-library/postgres/issues/507 + + EOWARN + fi + if [ -z "$POSTGRES_PASSWORD" ] && [ 'trust' != "$POSTGRES_HOST_AUTH_METHOD" ]; then + # The - option suppresses leading tabs but *not* spaces. :) + cat >&2 <<-'EOE' + Error: Database is uninitialized and superuser password is not specified. + You must specify POSTGRES_PASSWORD to a non-empty value for the + superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run". + + You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all + connections without a password. This is *not* recommended. + + See PostgreSQL documentation about "trust": + https://www.postgresql.org/docs/current/auth-trust.html + EOE + exit 1 + fi + if [ 'trust' = "$POSTGRES_HOST_AUTH_METHOD" ]; then + cat >&2 <<-'EOWARN' + ******************************************************************************** + WARNING: POSTGRES_HOST_AUTH_METHOD has been set to "trust". This will allow + anyone with access to the Postgres port to access your database without + a password, even if POSTGRES_PASSWORD is set. See PostgreSQL + documentation about "trust": + https://www.postgresql.org/docs/current/auth-trust.html + In Docker's default configuration, this is effectively any other + container on the same system. + + It is not recommended to use POSTGRES_HOST_AUTH_METHOD=trust. Replace + it with "-e POSTGRES_PASSWORD=password" instead to set a password in + "docker run". + ******************************************************************************** + EOWARN + fi +} + +# usage: docker_process_init_files [file [file [...]]] +# ie: docker_process_init_files /always-initdb.d/* +# process initializer files, based on file extensions and permissions +docker_process_init_files() { + # psql here for backwards compatibility "${psql[@]}" + psql=(docker_process_sql) + + printf '\n' + local f + for f; do + case "$f" in + *.sh) + # https://github.com/docker-library/postgres/issues/450#issuecomment-393167936 + # https://github.com/docker-library/postgres/pull/452 + if [ -x "$f" ]; then + printf '%s: running %s\n' "$0" "$f" + "$f" + else + printf '%s: sourcing %s\n' "$0" "$f" + . "$f" + fi + ;; + *.sql) + printf '%s: running %s\n' "$0" "$f" + docker_process_sql -f "$f" + printf '\n' + ;; + *.sql.gz) + printf '%s: running %s\n' "$0" "$f" + gunzip -c "$f" | docker_process_sql + printf '\n' + ;; + *.sql.xz) + printf '%s: running %s\n' "$0" "$f" + xzcat "$f" | docker_process_sql + printf '\n' + ;; + *.sql.zst) + printf '%s: running %s\n' "$0" "$f" + zstd -dc "$f" | docker_process_sql + printf '\n' + ;; + *) printf '%s: ignoring %s\n' "$0" "$f" ;; + esac + printf '\n' + done +} + +# Execute sql script, passed via stdin (or -f flag of pqsl) +# usage: docker_process_sql [psql-cli-args] +# ie: docker_process_sql --dbname=mydb <<<'INSERT ...' +# ie: docker_process_sql -f my-file.sql +# ie: docker_process_sql >"$PGDATA/pg_hba.conf" +} + +# start socket-only postgresql server for setting up or running scripts +# all arguments will be passed along as arguments to `postgres` (via pg_ctl) +docker_temp_server_start() { + if [ "$1" = 'postgres' ]; then + shift + fi + + # internal start of server in order to allow setup using psql client + # does not listen on external TCP/IP and waits until start finishes + set -- "$@" -c listen_addresses='' -p "${PGPORT:-5432}" + + PGUSER="${PGUSER:-$POSTGRES_USER}" \ + pg_ctl -D "$PGDATA" \ + -o "$(printf '%q ' "$@")" \ + -w start +} + +# stop postgresql server after done setting up user and running scripts +docker_temp_server_stop() { + PGUSER="${PGUSER:-postgres}" \ + pg_ctl -D "$PGDATA" -m fast -w stop +} + +# check arguments for an option that would cause postgres to stop +# return true if there is one +_pg_want_help() { + local arg + for arg; do + case "$arg" in + # postgres --help | grep 'then exit' + # leaving out -C on purpose since it always fails and is unhelpful: + # postgres: could not access the server configuration file "/var/lib/postgresql/data/postgresql.conf": No such file or directory + -'?' | --help | --describe-config | -V | --version) + return 0 + ;; + esac + done + return 1 +} + +_main() { + # if first arg looks like a flag, assume we want to run postgres server + if [ "${1:0:1}" = '-' ]; then + set -- postgres "$@" + fi + + if [ "$1" = 'postgres' ] && ! _pg_want_help "$@"; then + docker_setup_env + # setup data directories and permissions (when run as root) + docker_create_db_directories + if [ "$(id -u)" = '0' ]; then + # then restart script as postgres user + exec su-exec postgres "$BASH_SOURCE" "$@" + fi + + # only run initialization on an empty data directory + if [ -z "$DATABASE_ALREADY_EXISTS" ]; then + docker_verify_minimum_env + + # check dir permissions to reduce likelihood of half-initialized database + ls /docker-entrypoint-initdb.d/ >/dev/null + + docker_init_database_dir + pg_setup_hba_conf "$@" + + # PGPASSWORD is required for psql when authentication is required for 'local' connections via pg_hba.conf and is otherwise harmless + # e.g. when '--auth=md5' or '--auth-local=md5' is used in POSTGRES_INITDB_ARGS + export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}" + docker_temp_server_start "$@" + + docker_setup_db + docker_process_init_files /docker-entrypoint-initdb.d/* + + docker_temp_server_stop + unset PGPASSWORD + + cat <<-'EOM' + + PostgreSQL init process complete; ready for start up. + + EOM + else + cat <<-'EOM' + + PostgreSQL Database directory appears to contain a database; Skipping initialization + + EOM + fi + fi + + exec "$@" +} + +if ! _is_sourced; then + _main "$@" +fi diff --git a/dockerfile/nginx b/dockerfile/nginx new file mode 100644 index 0000000..931dd51 --- /dev/null +++ b/dockerfile/nginx @@ -0,0 +1,180 @@ +# Docker image for dockerfile using the alpine template +ARG LICENSE="MIT" +ARG IMAGE_NAME="dockerfile" +ARG PHP_SERVER="dockerfile" +ARG BUILD_DATE="Fri Mar 10 03:23:26 PM EST 2023" +ARG LANGUAGE="en_US.UTF-8" +ARG TIMEZONE="America/New_York" +ARG WWW_ROOT_DIR="/data/htdocs" +ARG DEFAULT_FILE_DIR="/usr/local/share/template-files" +ARG DEFAULT_DATA_DIR="/usr/local/share/template-files/data" +ARG DEFAULT_CONF_DIR="/usr/local/share/template-files/config" +ARG DEFAULT_TEMPLATE_DIR="/usr/local/share/template-files/defaults" + +ARG IMAGE_REPO="alpine" +ARG IMAGE_VERSION="latest" +ARG CONTAINER_VERSION="${IMAGE_VERSION}" + +ARG SERVICE_PORT="" +ARG EXPOSE_PORTS="" +ARG PHP_VERSION="system" +ARG NODE_VERSION="system" +ARG NODE_MANAGER="system" + +ARG USER="root" +ARG DISTRO_VERSION="${IMAGE_VERSION}" +ARG BUILD_VERSION="${DISTRO_VERSION}" + +FROM tianon/gosu:latest AS gosu +FROM ${IMAGE_REPO}:${IMAGE_VERSION} AS build +ARG USER +ARG LICENSE +ARG TIMEZONE +ARG LANGUAGE +ARG IMAGE_NAME +ARG PHP_SERVER +ARG BUILD_DATE +ARG SERVICE_PORT +ARG EXPOSE_PORTS +ARG NODE_VERSION +ARG NODE_MANAGER +ARG BUILD_VERSION +ARG WWW_ROOT_DIR +ARG DEFAULT_FILE_DIR +ARG DEFAULT_DATA_DIR +ARG DEFAULT_CONF_DIR +ARG DEFAULT_TEMPLATE_DIR +ARG DISTRO_VERSION +ARG PHP_VERSION + +ARG PACK_LIST="bash bash-completion git curl wget sudo iproute2 ssmtp openssl jq ca-certificates tzdata mailcap ncurses util-linux pciutils usbutils coreutils binutils findutils grep rsync zip certbot tini \ + nginx nginx-mod-http-brotli nginx-mod-http-cache-purge nginx-mod-http-dav-ext nginx-mod-http-echo \ + nginx-mod-http-encrypted-session nginx-mod-http-fancyindex nginx-mod-http-geoip nginx-mod-http-geoip2 \ + nginx-mod-http-headers-more nginx-mod-http-image-filter nginx-mod-http-js nginx-mod-http-lua nginx-mod-http-perl \ + nginx-mod-http-redis2 nginx-mod-http-set-misc nginx-mod-http-shibboleth nginx-mod-http-untar nginx-mod-http-upload \ + nginx-mod-http-upload-progress nginx-mod-http-upstream-fair nginx-mod-http-xslt-filter nginx-mod-http-zip " + +ENV ENV=~/.bashrc +ENV SHELL="/bin/sh" +ENV TZ="${TIMEZONE}" +ENV TIMEZONE="${TZ}" +ENV container="docker" +ENV LANG="${LANGUAGE}" +ENV TERM="xterm-256color" +ENV HOSTNAME="casjaysdev-dockerfile" + +USER ${USER} +WORKDIR /root + +COPY --from=gosu /usr/local/bin/gosu /usr/local/bin/gosu +COPY ./rootfs/. / + +RUN set -ex; \ + rm -Rf "/etc/apk/repositories"; \ + [ "$DISTRO_VERSION" = "latest" ] && DISTRO_VERSION="edge"; \ + [ "$DISTRO_VERSION" = "edge" ] || DISTRO_VERSION="v${DISTRO_VERSION}" ; \ + mkdir -p "${DEFAULT_DATA_DIR}" "${DEFAULT_CONF_DIR}" "${DEFAULT_TEMPLATE_DIR}"; \ + echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/main" >>"/etc/apk/repositories"; \ + echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/community" >>"/etc/apk/repositories"; \ + if [ "${DISTRO_VERSION}" = "edge" ]; then echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/testing" >>"/etc/apk/repositories" ; fi ; \ + apk update --update-cache && apk add --no-cache ${PACK_LIST} + +RUN echo "$TIMEZONE" >"/etc/timezone" ; \ + echo 'hosts: files dns' >"/etc/nsswitch.conf" ; \ + [ -f "/usr/share/zoneinfo/${TZ}" ] && ln -sf "/usr/share/zoneinfo/${TZ}" "/etc/localtime" ; \ + PHP_FPM="$(ls /usr/*bin/php*fpm* 2>/dev/null)" ; \ + [ -n "$PHP_FPM" ] && [ -z "$(type -P php-fpm)" ] && ln -sf "$PHP_FPM" "/usr/bin/php-fpm" ; \ + if [ -f "/etc/profile.d/color_prompt.sh.disabled" ]; then mv -f "/etc/profile.d/color_prompt.sh.disabled" "/etc/profile.d/color_prompt.sh"; fi + +RUN touch "/etc/profile" "/root/.profile" ; \ + [ -f "/etc/bash/bashrc" ] && cp -Rf "/etc/bash/bashrc" "/root/.bashrc" || [ -f "/etc/bashrc" ] && cp -Rf "/etc/bashrc" "/root/.bashrc" ; \ + sed -i 's|root:x:.*|root:x:0:0:root:/root:/bin/bash|g' "/etc/passwd" ; \ + grep -s -q 'alias quit' "/root/.bashrc" || printf '# Profile\n\n%s\n%s\n%s\n' '. /etc/profile' '. /root/.profile' "alias quit='exit 0 2>/dev/null'" >>"/root/.bashrc" ; \ + [ -f "/usr/local/etc/docker/env/default.sample" ] && [ -d "/etc/profile.d" ] && \ + cp -Rf "/usr/local/etc/docker/env/default.sample" "/etc/profile.d/container.env.sh" && chmod 755 "/etc/profile.d/container.env.sh" ; \ + BASH_CMD="$(type -P bash)" ; [ -f "$BASH_CMD" ] && rm -rf "/bin/sh" && ln -sf "$BASH_CMD" "/bin/sh" + +RUN set -ex ; \ + echo + +RUN echo 'Running cleanup' ; \ + [ -d "/etc/nginx/http.d" ] && mv -f "/etc/nginx/http.d" "/etc/nginx/vhosts.d" ; + + +RUN rm -Rf "/config" "/data" ; \ + rm -rf /etc/systemd/system/*.wants/* ; \ + rm -rf /lib/systemd/system/systemd-update-utmp* ; \ + rm -rf /lib/systemd/system/anaconda.target.wants/*; \ + rm -rf /lib/systemd/system/local-fs.target.wants/* ; \ + rm -rf /lib/systemd/system/multi-user.target.wants/* ; \ + rm -rf /lib/systemd/system/sockets.target.wants/*udev* ; \ + rm -rf /lib/systemd/system/sockets.target.wants/*initctl* ; \ + rm -Rf /usr/share/doc/* /usr/share/info/* /tmp/* /var/tmp/* /var/cache/*/* ; \ + if [ -d "/lib/systemd/system/sysinit.target.wants" ]; then cd "/lib/systemd/system/sysinit.target.wants" && rm -f $(ls | grep -v systemd-tmpfiles-setup) ; fi + +RUN echo "Init done" + +FROM scratch +ARG USER +ARG LICENSE +ARG LANGUAGE +ARG TIMEZONE +ARG IMAGE_NAME +ARG PHP_SERVER +ARG BUILD_DATE +ARG SERVICE_PORT +ARG EXPOSE_PORTS +ARG NODE_VERSION +ARG NODE_MANAGER +ARG BUILD_VERSION +ARG DEFAULT_DATA_DIR +ARG DEFAULT_CONF_DIR +ARG DEFAULT_TEMPLATE_DIR +ARG DISTRO_VERSION +ARG PHP_VERSION + +USER ${USER} +WORKDIR /root + +LABEL maintainer="CasjaysDev " +LABEL org.opencontainers.image.vendor="CasjaysDev" +LABEL org.opencontainers.image.authors="CasjaysDev" +LABEL org.opencontainers.image.vcs-type="Git" +LABEL org.opencontainers.image.name="${IMAGE_NAME}" +LABEL org.opencontainers.image.base.name="${IMAGE_NAME}" +LABEL org.opencontainers.image.license="${LICENSE}" +LABEL org.opencontainers.image.vcs-ref="${BUILD_VERSION}" +LABEL org.opencontainers.image.build-date="${BUILD_DATE}" +LABEL org.opencontainers.image.version="${BUILD_VERSION}" +LABEL org.opencontainers.image.schema-version="${BUILD_VERSION}" +LABEL org.opencontainers.image.url="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}" +LABEL org.opencontainers.image.vcs-url="https://github.com/casjaysdevdocker/${IMAGE_NAME}" +LABEL org.opencontainers.image.url.source="https://github.com/casjaysdevdocker/${IMAGE_NAME}" +LABEL org.opencontainers.image.documentation="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}" +LABEL org.opencontainers.image.description="Containerized version of ${IMAGE_NAME}" +LABEL com.github.containers.toolbox="false" + +ENV ENV=~/.bashrc +ENV SHELL="/bin/bash" +ENV TZ="${TIMEZONE}" +ENV TIMEZONE="${TZ}" +ENV container="docker" +ENV LANG="${LANGUAGE}" +ENV TERM="xterm-256color" +ENV PORT="${SERVICE_PORT}" +ENV ENV_PORTS="${EXPOSE_PORTS}" +ENV PHP_SERVER="${PHP_SERVER}" +ENV PHP_VERSION="${PHP_VERSION}" +ENV CONTAINER_NAME="${IMAGE_NAME}" +ENV HOSTNAME="casjaysdev-${IMAGE_NAME}" +ENV USER="${USER}" + +COPY --from=build /. / + +VOLUME [ "/config","/data" ] + +EXPOSE ${EXPOSE_PORTS} + +#CMD [ "" ] +ENTRYPOINT [ "tini", "-p", "SIGTERM", "--", "/usr/local/bin/entrypoint.sh" ] +HEALTHCHECK --start-period=1m --interval=2m --timeout=3s CMD [ "/usr/local/bin/entrypoint.sh", "healthcheck" ] diff --git a/htdocs/cgi-bin/env.cgi b/htdocs/cgi-bin/env.cgi new file mode 100755 index 0000000..e86aa7c --- /dev/null +++ b/htdocs/cgi-bin/env.cgi @@ -0,0 +1,404 @@ +#!/usr/bin/env perl +## +########################### +## Server Info CGI v1.08 ## +########################### +## +## ###################################### +## ## Server Info CGI v1.08 � 2000 ## +## ## http://www.widexl.com ## +## ## Made by Henk Boonstra ## +## ###################################### +## +## This script gives information about your (web)server. +## Software, Modules, libraries, env, network... +## +## Install: +## Change the path to perl (The first line in this script). +## Upload the script in ASCII mode to your cgi-bin directory. +## chmod script to 755. +## Open the script in a browser. +## +############################## +############################## + +use strict; +use warnings FATAL => 'all'; +no warnings 'redefine'; # to be remove in production +use Carp; + +our %info = (); +my $output = undef; +my $ver = 'v1.8'; + +find_prog(); + +print "Content-type: text/html\n\n"; + +my $header = qq| + + + + + Server Info script + + + + + +|; + +$output .= "$header\n"; +$output .= "
\n\n"; + +if ($^O eq 'MSWin32') { + $info{'OS_VERSION'} = `ver`; + $info{'HOST_NAME'} = `hostname`; + if ($info{'OS_VERSION'}) {$info{'EXEC'} = 'Enabled'} +} + +else { + $info{'PROC_RELEASE'} = `uname -r`; + $info{'MACHINE'} = `uname -m`; + $info{'PROCESSOR'} = `uname -p`; + $info{'NODE_NAME'} = `uname -n`; + $info{'SYS_NAME'} = `uname -s`; + $info{'WHOAMI'} = `whoami`; + + my $ex = `which perl`; + $info{'TAR'} = `which tar` || $info{'TAR'}; + $info{'GZIP'} = `which gzip` || $info{'GZIP'}; + $info{'COMPRESS'} = `which compress` || $info{'COMPRESS'}; + $info{'WHOIS'} = `which whois` || $info{'WHOIS'}; + $info{'CONVERT'} = `which convert` || $info{'CONVERT'}; + $info{'MAIL_PROGRAM'} = `which sendmail` || $info{'MAIL_PROGRAM'}; + $info{'MAIL_PROGRAM'} = "Found no mail program" if (!$info{'MAIL_PROGRAM'}); + + $info{'UPTIME'} = `uptime`; + $info{'QUOTA'} = `quota`; + $info{'QUOTA'} =~ s/\n/
/isg if ($info{'QUOTA'}); + + if ($ex) {$info{'EXEC'} = 'Enabled'} +} + +$info{'OS'} = $^O; +$info{'SERVER_NAME'} = $ENV{'SERVER_NAME'}; +$info{'SERVER_ADDR'} = $ENV{'SERVER_ADDR'}; + +$info{'PERL_EXE'} = $^X; +$info{'PERL_VER'} = $]; +$info{'PERL_LIB'} = "@INC"; + +$info{'HTTP_HOST'} = $ENV{'HTTP_HOST'}; +$info{'APACHE_LIB'} = $info{'APACHE_LIB'}; +$info{'DOCU_ROOT'} = $ENV{'DOCUMENT_ROOT'}; +$info{'SERVER_ADMIN'} = $ENV{'SERVER_ADMIN'}; +$info{'SERVER_SOFT'} = $ENV{'SERVER_SOFTWARE'}; +$info{'HTTP_ACCEPT'} = $ENV{'HTTP_ACCEPT'}; + +$info{'REMOTE_ADDR'} = $ENV{'REMOTE_ADDR'}; +$info{'REMOTE_HOST'} = $ENV{'REMOTE_HOST'}; +$info{'ACCEPT_LANG'} = $ENV{'HTTP_ACCEPT_LANGUAGE'}; +$info{'USER_AGENT'} = $ENV{'HTTP_USER_AGENT'}; + +$info{'SERVER_VER'} = server('version'); +$info{'SERVER_CPU'} = server('cpuinfo'); +$info{'SERVER_MEM'} = server('meminfo'); + +# The Output. +$output .= "Server info
\n"; +$output .= "Operating system = <%OS%>
\n"; + +if (("$^O" eq "MSWin32") and ($info{'EXEC'})) { + $output .= "Version = <%OS_VERSION%>
\n"; + $output .= "Host name = <%HOST_NAME%>
\n"; +} + +if (("$^O" ne "MSWin32") and ($info{'EXEC'})) { + $output .= "Kernel = <%PROC_RELEASE%>
\n"; + $output .= "Machine = <%MACHINE%>
\n"; + $output .= "Processor type = <%PROCESSOR%>
\n"; + $output .= "Whoami = <%WHOAMI%>
\n"; + $output .= "Host name = <%NODE_NAME%>
\n"; +} + +$output .= "Server name = <%SERVER_NAME%>
\n"; +$output .= "Server IP = <%SERVER_ADDR%>
\n"; +$output .= "
\n\n"; + +$output .= "Web server info
\n"; +$output .= "HTTP address = <%HTTP_HOST%>
\n"; +$output .= "Document root = <%DOCU_ROOT%>
\n"; +$output .= "Apache lib = <%APACHE_LIB%>
\n"; +$output .= "Administrator = <%SERVER_ADMIN%>
\n"; +$output .= "Server software = <%SERVER_SOFT%>
\n"; +$output .= "HTTP accept = <%HTTP_ACCEPT%>
\n"; +$output .= "
\n\n"; + +$output .= "Server programs
\n"; +$output .= "Mail program = <%MAIL_PROGRAM%>
\n"; +$output .= "Tar program = <%TAR%>
\n"; +$output .= "Gzip program = <%GZIP%>
\n"; +$output .= "Compress program = <%COMPRESS%>
\n"; +$output .= "Whois program = <%WHOIS%>
\n"; +$output .= "ImageMagick convert = <%CONVERT%>
\n"; +$output .= "
\n\n"; + +$output .= "Perl info
\n"; +$output .= "Perl location = <%PERL_EXE%>
\n"; +$output .= "Perl version = <%PERL_VER%>
\n"; +$output .= "Locations of Perl libraries = <%PERL_LIB%>
\n"; +$output .= "
\n\n"; + +$output .= "Remote user info
\n"; +$output .= "Remote IP = <%REMOTE_ADDR%>
\n"; +$output .= "Remote hostname = <%REMOTE_HOST%>
\n"; +$output .= "Language = <%ACCEPT_LANG%>
\n"; +$output .= "User agent = <%USER_AGENT%>
\n"; +$output .= "
\n\n"; + +$output .= "Extra info
\n"; +$output .= "Executing of system commands = Enabled
\n" if ($info{'EXEC'}); +$output .= "Executing of system commands = Not enabled
\n" if (!$info{'EXEC'}); +$output .= "Server uptime = <%UPTIME%>
\n"; +$output .= "
\n\n"; + +if ("$^O" ne "MSWin32") { + + $output .= "Server version
\n"; + $output .= "<%SERVER_VER%>
\n"; + $output .= "
\n\n"; + + if ($info{'QUOTA'}) { + $output .= "Disk Quota
\n"; + $output .= "<%QUOTA%>\n"; + $output .= "
\n\n"; + } + + $output .= "CPU info
\n"; + $output .= "<%SERVER_CPU%>
\n"; + $output .= "
\n\n"; + + $output .= "Memory info
\n"; + $output .= "<%SERVER_MEM%>
\n"; + $output .= "
\n\n"; +} + +$output .= "Perl libraries installed
\n"; +eval {require CGI}; +if ($@) {$output .= "The library CGI is not installed
\n"} +else {$output .= "Library CGI v$CGI::VERSION installed
\n"} + +eval {require mod_perl}; +if ($@) {$output .= "The library mod_perl is not installed
\n"} +else {$output .= "Library mod_perl v$mod_perl::VERSION installed
\n"} + +eval {require LWP}; +if ($@) {$output .= "The library www-perl is not installed
\n"} +else {$output .= "Library www-perl v$LWP::VERSION installed
\n"} + +eval {require LWP::Parallel}; +if ($@) {$output .= "The library LWP::Parallel is not installed
\n"} +else {$output .= "Library LWP::Parallel v$LWP::Parallel::VERSION installed
\n"} + +eval {require SOAP::Lite}; +if ($@) {$output .= "The library SOAP::Lite is not installed
\n"} +else {$output .= "Library SOAP::Lite v$SOAP::Lite::VERSION installed
\n"} + +eval {require DBI}; +if ($@) {$output .= "The library DBI is not installed
\n"} +else {$output .= "Library DBI v$DBI::VERSION installed
\n"} + +eval {require DBD::mysql}; +if ($@) {$output .= "The library DBD::mysql is not installed
\n"} +else {$output .= "Library DBD::mysql v$DBD::mysql::VERSION installed
\n"} + +eval {require URI}; +if ($@) {$output .= "The library URI is not installed
\n"} +else {$output .= "Library URI v$URI::VERSION installed
\n"} + +eval {require Digest::MD5}; +if ($@) {$output .= "The library Digest::MD5 is not installed
\n"} +else {$output .= "Library Digest::MD5 v$Digest::MD5::VERSION installed
\n"} + +eval {require Crypt::SSLeay}; +if ($@) {$output .= "The library Crypt::SSLeay is not installed
\n"} +else {$output .= "Library Crypt::SSLeay v$Crypt::SSLeay::VERSION installed
\n"} + +eval {require Net::SSLeay}; +if ($@) {$output .= "The library Net::SSLeay is not installed

\n\n"} +else {$output .= "Library Net::SSLeay.pm v$Net::SSLeay::VERSION installed

\n\n"} + + + +if ($info{'APACHE_LIB'}) { + my @standard_mod = ('mod_rewrite.so', 'mod_cgi.so', 'mod_perl.so', 'mod_env.so', 'mod_include.so', 'mod_alias.so', 'mod_python.so'); + my @auth_mod = ('mod_auth_digest.so', 'mod_auth_mysql.so'); + my @ext_mod = ('mod_expires.so', 'mod_headers.so', 'libphp5.so', 'mod_proxy.so', 'mod_speling.so', 'mod_status.so', 'mod_usertrack.so', 'mod_vhost_alias.so'); + + $output .= "Apache modules installed
\n"; + + foreach my $item(@standard_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; + + foreach my $item (@auth_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; + + foreach my $item(@ext_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; +} + +eval { + $info{'GET_USER'} = getpwent(); + $info{'GET_GROUP'} = getgrent(); + $info{'GET_HOST'} = gethostent(); + $info{'GET_NET'} = getnetent(); + $info{'GET_PROTO'} = getprotoent(); + $info{'GET_SERV'} = getservent(); + + $output .= "Special info
\n"; + $output .= "user = <%GET_USER%>
\n"; + $output .= "group = <%GET_GROUP%>
\n"; + $output .= "host = <%GET_HOST%>
\n"; + $output .= "network = <%GET_NET%>
\n"; + $output .= "protocol = <%GET_PROTO%>
\n"; + $output .= "service = <%GET_SERV%>
\n"; + $output .= "
\n\n"; +}; + +$output .= "Web server Env
\n"; + +my @keys = keys %ENV; +my @values = values %ENV; +foreach my $key (sort(@keys)) { + $output .= "$key = $ENV{$key}
\n"; +} + +$output .= "
\n"; +$output .= "\n"; + +$output =~ s/<%\s*(.*?)\s*%>/if ($info{$1}) {$info{$1}} else {"undefined<\/i>"}/oesg; + +print $output; + +return 'OK'; + +######################## +## Find Programs +######################## +sub find_prog { + +if (-e "/usr/local/bin/tar") {$info{'TAR'} = "/usr/local/bin/tar"} +elsif (-e "/usr/bin/tar") {$info{'TAR'} = "/usr/bin/tar"} +elsif (-e "/usr/local/tar") {$info{'TAR'} = "/usr/local/tar"} + +if (-e "/usr/local/bin/gzip") {$info{'GZIP'} = "/usr/local/bin/gzip"} +elsif (-e "/usr/bin/gzip") {$info{'GZIP'} = "/usr/bin/gzip"} +elsif (-e "/usr/local/gzip") {$info{'GZIP'} = "/usr/local/gzip"} + +if (-e "/usr/local/bin/compress") {$info{'COMPRESS'} = "/usr/local/bin/compress"} +elsif (-e "/usr/bin/compress") {$info{'COMPRESS'} = "/usr/bin/compress"} +elsif (-e "/usr/local/compress") {$info{'COMPRESS'} = "/usr/local/compress"} + +if (-e "/usr/local/bin/whois") {$info{'WHOIS'} = "/usr/local/bin/whois"} +elsif (-e "/usr/bin/whois") {$info{'WHOIS'} = "/usr/bin/whois"} +elsif (-e "/usr/local/whois") {$info{'WHOIS'} = "/usr/local/whois"} + +if (-e "/usr/local/bin/convert") {$info{'CONVERT'} = "/usr/local/bin/convert"} +elsif (-e "/usr/bin/convert") {$info{'CONVERT'} = "/usr/bin/convert"} +elsif (-e "/usr/local/convert") {$info{'CONVERT'} = "/usr/local/convert"} + +######################## +## Find Mail +######################## +if (-e "/var/qmail/bin/qmail-inject") {$info{'MAIL_PROGRAM'} = "/var/qmail/bin/qmail-inject"} +elsif (-e "/usr/sbin/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/sbin/sendmail"} +elsif (-e "/usr/lib/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/lib/sendmail"} +elsif (-e "/usr/bin/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/bin/sendmail"} + +######################## +## Find Apache +######################## +if (-e "/usr/lib/httpd/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/httpd/modules"} +elsif (-e "/opt/lib/apache2/mod_env.so") {$info{'APACHE_LIB'} = "/opt/lib/apache2"} +if (-e "/usr/lib64/httpd/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib64/httpd/modules"} +#elsif (-e "/System/Library/Apache/Modules/mod_env.so") {$info{'APACHE_LIB'} = "/System/Library/Apache/Modules"}# Mac +#elsif (-e "/System/Library/Apache2/Modules/mod_env.so") {$info{'APACHE_LIB'} = "/System/Library/Apache2/Modules"}# Mac +#elsif (-e "/usr/local/apache/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/local/apache/modules"}# MachTen/WebTen +#elsif (-e "/usr/local/apache2/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/local/apache2/modules"}# MachTen/WebTen +#elsif (-e "/usr/lib/apache/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache/modules"}# OpenBSD +#elsif (-e "/usr/lib/apache2/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache2/modules"}# OpenBSD +#elsif (-e "/usr/lib/apache/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache"} +#elsif (-e "/usr/lib/httpd/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/httpd"} +#elsif (-e "C:/Apache/modules") {$info{'APACHE_LIB'} = "C:/Apache/modules"}# windows +#elsif (-e "C:/Apache2/modules") {$info{'APACHE_LIB'} = "C:/Apache2/modules"}# windows +} + +############## +## Server Info +############## +sub server { + my $serv_info = shift; + my $server_info = undef; + + if (-e "/proc/$serv_info") { + open SERVER, "", ); + close SERVER; + } + return $server_info; +} diff --git a/htdocs/cgi-bin/env.php b/htdocs/cgi-bin/env.php new file mode 100755 index 0000000..10fde86 --- /dev/null +++ b/htdocs/cgi-bin/env.php @@ -0,0 +1,41 @@ + + + + + + + + + + + + + PHP Info + + + + + + + + + + diff --git a/htdocs/cgi-bin/env.pl b/htdocs/cgi-bin/env.pl new file mode 100755 index 0000000..e86aa7c --- /dev/null +++ b/htdocs/cgi-bin/env.pl @@ -0,0 +1,404 @@ +#!/usr/bin/env perl +## +########################### +## Server Info CGI v1.08 ## +########################### +## +## ###################################### +## ## Server Info CGI v1.08 � 2000 ## +## ## http://www.widexl.com ## +## ## Made by Henk Boonstra ## +## ###################################### +## +## This script gives information about your (web)server. +## Software, Modules, libraries, env, network... +## +## Install: +## Change the path to perl (The first line in this script). +## Upload the script in ASCII mode to your cgi-bin directory. +## chmod script to 755. +## Open the script in a browser. +## +############################## +############################## + +use strict; +use warnings FATAL => 'all'; +no warnings 'redefine'; # to be remove in production +use Carp; + +our %info = (); +my $output = undef; +my $ver = 'v1.8'; + +find_prog(); + +print "Content-type: text/html\n\n"; + +my $header = qq| + + + + + Server Info script + + + + + +|; + +$output .= "$header\n"; +$output .= "
\n\n"; + +if ($^O eq 'MSWin32') { + $info{'OS_VERSION'} = `ver`; + $info{'HOST_NAME'} = `hostname`; + if ($info{'OS_VERSION'}) {$info{'EXEC'} = 'Enabled'} +} + +else { + $info{'PROC_RELEASE'} = `uname -r`; + $info{'MACHINE'} = `uname -m`; + $info{'PROCESSOR'} = `uname -p`; + $info{'NODE_NAME'} = `uname -n`; + $info{'SYS_NAME'} = `uname -s`; + $info{'WHOAMI'} = `whoami`; + + my $ex = `which perl`; + $info{'TAR'} = `which tar` || $info{'TAR'}; + $info{'GZIP'} = `which gzip` || $info{'GZIP'}; + $info{'COMPRESS'} = `which compress` || $info{'COMPRESS'}; + $info{'WHOIS'} = `which whois` || $info{'WHOIS'}; + $info{'CONVERT'} = `which convert` || $info{'CONVERT'}; + $info{'MAIL_PROGRAM'} = `which sendmail` || $info{'MAIL_PROGRAM'}; + $info{'MAIL_PROGRAM'} = "Found no mail program" if (!$info{'MAIL_PROGRAM'}); + + $info{'UPTIME'} = `uptime`; + $info{'QUOTA'} = `quota`; + $info{'QUOTA'} =~ s/\n/
/isg if ($info{'QUOTA'}); + + if ($ex) {$info{'EXEC'} = 'Enabled'} +} + +$info{'OS'} = $^O; +$info{'SERVER_NAME'} = $ENV{'SERVER_NAME'}; +$info{'SERVER_ADDR'} = $ENV{'SERVER_ADDR'}; + +$info{'PERL_EXE'} = $^X; +$info{'PERL_VER'} = $]; +$info{'PERL_LIB'} = "@INC"; + +$info{'HTTP_HOST'} = $ENV{'HTTP_HOST'}; +$info{'APACHE_LIB'} = $info{'APACHE_LIB'}; +$info{'DOCU_ROOT'} = $ENV{'DOCUMENT_ROOT'}; +$info{'SERVER_ADMIN'} = $ENV{'SERVER_ADMIN'}; +$info{'SERVER_SOFT'} = $ENV{'SERVER_SOFTWARE'}; +$info{'HTTP_ACCEPT'} = $ENV{'HTTP_ACCEPT'}; + +$info{'REMOTE_ADDR'} = $ENV{'REMOTE_ADDR'}; +$info{'REMOTE_HOST'} = $ENV{'REMOTE_HOST'}; +$info{'ACCEPT_LANG'} = $ENV{'HTTP_ACCEPT_LANGUAGE'}; +$info{'USER_AGENT'} = $ENV{'HTTP_USER_AGENT'}; + +$info{'SERVER_VER'} = server('version'); +$info{'SERVER_CPU'} = server('cpuinfo'); +$info{'SERVER_MEM'} = server('meminfo'); + +# The Output. +$output .= "Server info
\n"; +$output .= "Operating system = <%OS%>
\n"; + +if (("$^O" eq "MSWin32") and ($info{'EXEC'})) { + $output .= "Version = <%OS_VERSION%>
\n"; + $output .= "Host name = <%HOST_NAME%>
\n"; +} + +if (("$^O" ne "MSWin32") and ($info{'EXEC'})) { + $output .= "Kernel = <%PROC_RELEASE%>
\n"; + $output .= "Machine = <%MACHINE%>
\n"; + $output .= "Processor type = <%PROCESSOR%>
\n"; + $output .= "Whoami = <%WHOAMI%>
\n"; + $output .= "Host name = <%NODE_NAME%>
\n"; +} + +$output .= "Server name = <%SERVER_NAME%>
\n"; +$output .= "Server IP = <%SERVER_ADDR%>
\n"; +$output .= "
\n\n"; + +$output .= "Web server info
\n"; +$output .= "HTTP address = <%HTTP_HOST%>
\n"; +$output .= "Document root = <%DOCU_ROOT%>
\n"; +$output .= "Apache lib = <%APACHE_LIB%>
\n"; +$output .= "Administrator = <%SERVER_ADMIN%>
\n"; +$output .= "Server software = <%SERVER_SOFT%>
\n"; +$output .= "HTTP accept = <%HTTP_ACCEPT%>
\n"; +$output .= "
\n\n"; + +$output .= "Server programs
\n"; +$output .= "Mail program = <%MAIL_PROGRAM%>
\n"; +$output .= "Tar program = <%TAR%>
\n"; +$output .= "Gzip program = <%GZIP%>
\n"; +$output .= "Compress program = <%COMPRESS%>
\n"; +$output .= "Whois program = <%WHOIS%>
\n"; +$output .= "ImageMagick convert = <%CONVERT%>
\n"; +$output .= "
\n\n"; + +$output .= "Perl info
\n"; +$output .= "Perl location = <%PERL_EXE%>
\n"; +$output .= "Perl version = <%PERL_VER%>
\n"; +$output .= "Locations of Perl libraries = <%PERL_LIB%>
\n"; +$output .= "
\n\n"; + +$output .= "Remote user info
\n"; +$output .= "Remote IP = <%REMOTE_ADDR%>
\n"; +$output .= "Remote hostname = <%REMOTE_HOST%>
\n"; +$output .= "Language = <%ACCEPT_LANG%>
\n"; +$output .= "User agent = <%USER_AGENT%>
\n"; +$output .= "
\n\n"; + +$output .= "Extra info
\n"; +$output .= "Executing of system commands = Enabled
\n" if ($info{'EXEC'}); +$output .= "Executing of system commands = Not enabled
\n" if (!$info{'EXEC'}); +$output .= "Server uptime = <%UPTIME%>
\n"; +$output .= "
\n\n"; + +if ("$^O" ne "MSWin32") { + + $output .= "Server version
\n"; + $output .= "<%SERVER_VER%>
\n"; + $output .= "
\n\n"; + + if ($info{'QUOTA'}) { + $output .= "Disk Quota
\n"; + $output .= "<%QUOTA%>\n"; + $output .= "
\n\n"; + } + + $output .= "CPU info
\n"; + $output .= "<%SERVER_CPU%>
\n"; + $output .= "
\n\n"; + + $output .= "Memory info
\n"; + $output .= "<%SERVER_MEM%>
\n"; + $output .= "
\n\n"; +} + +$output .= "Perl libraries installed
\n"; +eval {require CGI}; +if ($@) {$output .= "The library CGI is not installed
\n"} +else {$output .= "Library CGI v$CGI::VERSION installed
\n"} + +eval {require mod_perl}; +if ($@) {$output .= "The library mod_perl is not installed
\n"} +else {$output .= "Library mod_perl v$mod_perl::VERSION installed
\n"} + +eval {require LWP}; +if ($@) {$output .= "The library www-perl is not installed
\n"} +else {$output .= "Library www-perl v$LWP::VERSION installed
\n"} + +eval {require LWP::Parallel}; +if ($@) {$output .= "The library LWP::Parallel is not installed
\n"} +else {$output .= "Library LWP::Parallel v$LWP::Parallel::VERSION installed
\n"} + +eval {require SOAP::Lite}; +if ($@) {$output .= "The library SOAP::Lite is not installed
\n"} +else {$output .= "Library SOAP::Lite v$SOAP::Lite::VERSION installed
\n"} + +eval {require DBI}; +if ($@) {$output .= "The library DBI is not installed
\n"} +else {$output .= "Library DBI v$DBI::VERSION installed
\n"} + +eval {require DBD::mysql}; +if ($@) {$output .= "The library DBD::mysql is not installed
\n"} +else {$output .= "Library DBD::mysql v$DBD::mysql::VERSION installed
\n"} + +eval {require URI}; +if ($@) {$output .= "The library URI is not installed
\n"} +else {$output .= "Library URI v$URI::VERSION installed
\n"} + +eval {require Digest::MD5}; +if ($@) {$output .= "The library Digest::MD5 is not installed
\n"} +else {$output .= "Library Digest::MD5 v$Digest::MD5::VERSION installed
\n"} + +eval {require Crypt::SSLeay}; +if ($@) {$output .= "The library Crypt::SSLeay is not installed
\n"} +else {$output .= "Library Crypt::SSLeay v$Crypt::SSLeay::VERSION installed
\n"} + +eval {require Net::SSLeay}; +if ($@) {$output .= "The library Net::SSLeay is not installed

\n\n"} +else {$output .= "Library Net::SSLeay.pm v$Net::SSLeay::VERSION installed

\n\n"} + + + +if ($info{'APACHE_LIB'}) { + my @standard_mod = ('mod_rewrite.so', 'mod_cgi.so', 'mod_perl.so', 'mod_env.so', 'mod_include.so', 'mod_alias.so', 'mod_python.so'); + my @auth_mod = ('mod_auth_digest.so', 'mod_auth_mysql.so'); + my @ext_mod = ('mod_expires.so', 'mod_headers.so', 'libphp5.so', 'mod_proxy.so', 'mod_speling.so', 'mod_status.so', 'mod_usertrack.so', 'mod_vhost_alias.so'); + + $output .= "Apache modules installed
\n"; + + foreach my $item(@standard_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; + + foreach my $item (@auth_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; + + foreach my $item(@ext_mod) { + if (-e "$info{'APACHE_LIB'}/$item") {$output .= "Module '$item' installed
\n"} + else {$output .= "Module '$item' is not installed
\n"} + } + + $output .= "
\n\n"; +} + +eval { + $info{'GET_USER'} = getpwent(); + $info{'GET_GROUP'} = getgrent(); + $info{'GET_HOST'} = gethostent(); + $info{'GET_NET'} = getnetent(); + $info{'GET_PROTO'} = getprotoent(); + $info{'GET_SERV'} = getservent(); + + $output .= "Special info
\n"; + $output .= "user = <%GET_USER%>
\n"; + $output .= "group = <%GET_GROUP%>
\n"; + $output .= "host = <%GET_HOST%>
\n"; + $output .= "network = <%GET_NET%>
\n"; + $output .= "protocol = <%GET_PROTO%>
\n"; + $output .= "service = <%GET_SERV%>
\n"; + $output .= "
\n\n"; +}; + +$output .= "Web server Env
\n"; + +my @keys = keys %ENV; +my @values = values %ENV; +foreach my $key (sort(@keys)) { + $output .= "$key = $ENV{$key}
\n"; +} + +$output .= "
\n"; +$output .= "\n"; + +$output =~ s/<%\s*(.*?)\s*%>/if ($info{$1}) {$info{$1}} else {"undefined<\/i>"}/oesg; + +print $output; + +return 'OK'; + +######################## +## Find Programs +######################## +sub find_prog { + +if (-e "/usr/local/bin/tar") {$info{'TAR'} = "/usr/local/bin/tar"} +elsif (-e "/usr/bin/tar") {$info{'TAR'} = "/usr/bin/tar"} +elsif (-e "/usr/local/tar") {$info{'TAR'} = "/usr/local/tar"} + +if (-e "/usr/local/bin/gzip") {$info{'GZIP'} = "/usr/local/bin/gzip"} +elsif (-e "/usr/bin/gzip") {$info{'GZIP'} = "/usr/bin/gzip"} +elsif (-e "/usr/local/gzip") {$info{'GZIP'} = "/usr/local/gzip"} + +if (-e "/usr/local/bin/compress") {$info{'COMPRESS'} = "/usr/local/bin/compress"} +elsif (-e "/usr/bin/compress") {$info{'COMPRESS'} = "/usr/bin/compress"} +elsif (-e "/usr/local/compress") {$info{'COMPRESS'} = "/usr/local/compress"} + +if (-e "/usr/local/bin/whois") {$info{'WHOIS'} = "/usr/local/bin/whois"} +elsif (-e "/usr/bin/whois") {$info{'WHOIS'} = "/usr/bin/whois"} +elsif (-e "/usr/local/whois") {$info{'WHOIS'} = "/usr/local/whois"} + +if (-e "/usr/local/bin/convert") {$info{'CONVERT'} = "/usr/local/bin/convert"} +elsif (-e "/usr/bin/convert") {$info{'CONVERT'} = "/usr/bin/convert"} +elsif (-e "/usr/local/convert") {$info{'CONVERT'} = "/usr/local/convert"} + +######################## +## Find Mail +######################## +if (-e "/var/qmail/bin/qmail-inject") {$info{'MAIL_PROGRAM'} = "/var/qmail/bin/qmail-inject"} +elsif (-e "/usr/sbin/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/sbin/sendmail"} +elsif (-e "/usr/lib/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/lib/sendmail"} +elsif (-e "/usr/bin/sendmail") {$info{'MAIL_PROGRAM'} = "/usr/bin/sendmail"} + +######################## +## Find Apache +######################## +if (-e "/usr/lib/httpd/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/httpd/modules"} +elsif (-e "/opt/lib/apache2/mod_env.so") {$info{'APACHE_LIB'} = "/opt/lib/apache2"} +if (-e "/usr/lib64/httpd/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib64/httpd/modules"} +#elsif (-e "/System/Library/Apache/Modules/mod_env.so") {$info{'APACHE_LIB'} = "/System/Library/Apache/Modules"}# Mac +#elsif (-e "/System/Library/Apache2/Modules/mod_env.so") {$info{'APACHE_LIB'} = "/System/Library/Apache2/Modules"}# Mac +#elsif (-e "/usr/local/apache/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/local/apache/modules"}# MachTen/WebTen +#elsif (-e "/usr/local/apache2/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/local/apache2/modules"}# MachTen/WebTen +#elsif (-e "/usr/lib/apache/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache/modules"}# OpenBSD +#elsif (-e "/usr/lib/apache2/modules/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache2/modules"}# OpenBSD +#elsif (-e "/usr/lib/apache/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/apache"} +#elsif (-e "/usr/lib/httpd/mod_env.so") {$info{'APACHE_LIB'} = "/usr/lib/httpd"} +#elsif (-e "C:/Apache/modules") {$info{'APACHE_LIB'} = "C:/Apache/modules"}# windows +#elsif (-e "C:/Apache2/modules") {$info{'APACHE_LIB'} = "C:/Apache2/modules"}# windows +} + +############## +## Server Info +############## +sub server { + my $serv_info = shift; + my $server_info = undef; + + if (-e "/proc/$serv_info") { + open SERVER, "", ); + close SERVER; + } + return $server_info; +} diff --git a/htdocs/cgi-bin/env.py b/htdocs/cgi-bin/env.py new file mode 100755 index 0000000..5f97222 --- /dev/null +++ b/htdocs/cgi-bin/env.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +import sys +import os + +print "Content-Type: text/html\n\n" + +for name, value in os.environ.items(): + print "%s\t= %s
" % (name, value) diff --git a/htdocs/cgi-bin/env.rb b/htdocs/cgi-bin/env.rb new file mode 100755 index 0000000..10cd3ee --- /dev/null +++ b/htdocs/cgi-bin/env.rb @@ -0,0 +1,7 @@ +#!/usr/bin/env ruby +# -*- coding: None -*- + +require 'cgi' //cgi file to create a simple cgi object. + cgi = CGI.new //instantiating a cgi object. + puts cgi.header //thats telling the server about the type(html). + puts "hello" // thats the output on the browser. diff --git a/htdocs/cgi-bin/printenv b/htdocs/cgi-bin/printenv new file mode 100644 index 0000000..457834e --- /dev/null +++ b/htdocs/cgi-bin/printenv @@ -0,0 +1,12 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +print "Content-type: text/plain; charset=iso-8859-1\n\n"; +foreach my $var (sort(keys(%ENV))) { + my $val = $ENV{$var}; + $val =~ s|\n|\\n|g; + $val =~ s|"|\\"|g; + print "${var}=\"${val}\"\n"; +} diff --git a/htdocs/cgi-bin/printenv.vbs b/htdocs/cgi-bin/printenv.vbs new file mode 100644 index 0000000..6f438e9 --- /dev/null +++ b/htdocs/cgi-bin/printenv.vbs @@ -0,0 +1,17 @@ +'!c:/windows/system32/cscript -nologo +Option Explicit + +Dim objShell, objArray, str, envvar, envval +Set objShell = CreateObject("WScript.Shell") +Set objArray = CreateObject("System.Collections.ArrayList") + +WScript.StdOut.WriteLine "Content-type: text/plain; charset=iso-8859-1" & vbLF +For Each str In objShell.Environment("PROCESS") + objArray.Add str +Next +objArray.Sort() +For Each str In objArray + envvar = Left(str, InStr(str, "=")) + envval = Replace(Mid(str, InStr(str, "=") + 1), vbLF, "\n") + WScript.StdOut.WriteLine envvar & Chr(34) & envval & Chr(34) +Next diff --git a/htdocs/cgi-bin/printenv.wsf b/htdocs/cgi-bin/printenv.wsf new file mode 100644 index 0000000..511fa73 --- /dev/null +++ b/htdocs/cgi-bin/printenv.wsf @@ -0,0 +1,19 @@ +'!c:/windows/system32/cscript -nologo + + + + diff --git a/htdocs/cgi-bin/test-cgi b/htdocs/cgi-bin/test-cgi new file mode 100644 index 0000000..f3e3562 --- /dev/null +++ b/htdocs/cgi-bin/test-cgi @@ -0,0 +1,26 @@ +#!/usr/bin/env sh +# disable filename globbing +set -f +echo "Content-type: text/plain; charset=iso-8859-1" +echo +echo CGI/1.0 test script report: +echo +echo argc is $#. argv is "$*". +echo +echo SERVER_SOFTWARE = $SERVER_SOFTWARE +echo SERVER_NAME = $SERVER_NAME +echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE +echo SERVER_PROTOCOL = $SERVER_PROTOCOL +echo SERVER_PORT = $SERVER_PORT +echo REQUEST_METHOD = $REQUEST_METHOD +echo HTTP_ACCEPT = "$HTTP_ACCEPT" +echo PATH_INFO = "$PATH_INFO" +echo PATH_TRANSLATED = "$PATH_TRANSLATED" +echo SCRIPT_NAME = "$SCRIPT_NAME" +echo QUERY_STRING = "$QUERY_STRING" +echo REMOTE_HOST = $REMOTE_HOST +echo REMOTE_ADDR = $REMOTE_ADDR +echo REMOTE_USER = $REMOTE_USER +echo AUTH_TYPE = $AUTH_TYPE +echo CONTENT_TYPE = $CONTENT_TYPE +echo CONTENT_LENGTH = $CONTENT_LENGTH diff --git a/htdocs/www/404.html b/htdocs/www/404.html new file mode 100644 index 0000000..3f7b186 --- /dev/null +++ b/htdocs/www/404.html @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 404 Not Found + + + + +
+
+ + 404 Not Found +

+ We apologize but we can't seem to be able to find what you're looking + for! +

+ + error
+
+ + +
+ + diff --git a/htdocs/www/css/bootstrap.css b/htdocs/www/css/bootstrap.css new file mode 100644 index 0000000..727c7db --- /dev/null +++ b/htdocs/www/css/bootstrap.css @@ -0,0 +1,10522 @@ +@charset "UTF-8"; /*! + * Bootswatch v5.2.3 (https://bootswatch.com) + * Theme: darkly + * Copyright 2012-2022 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*/ /*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap); +:root { + --bs-blue: #375a7f; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #e83e8c; + --bs-red: #e74c3c; + --bs-orange: #fd7e14; + --bs-yellow: #f39c12; + --bs-green: #00bc8c; + --bs-teal: #20c997; + --bs-cyan: #3498db; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #888; + --bs-gray-dark: #303030; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #ebebeb; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #888; + --bs-gray-700: #444; + --bs-gray-800: #303030; + --bs-gray-900: #222; + --bs-primary: #375a7f; + --bs-secondary: #444; + --bs-success: #00bc8c; + --bs-info: #3498db; + --bs-warning: #f39c12; + --bs-danger: #e74c3c; + --bs-light: #adb5bd; + --bs-dark: #303030; + --bs-primary-rgb: 55, 90, 127; + --bs-secondary-rgb: 68, 68, 68; + --bs-success-rgb: 0, 188, 140; + --bs-info-rgb: 52, 152, 219; + --bs-warning-rgb: 243, 156, 18; + --bs-danger-rgb: 231, 76, 60; + --bs-light-rgb: 173, 181, 189; + --bs-dark-rgb: 48, 48, 48; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 255, 255, 255; + --bs-body-bg-rgb: 34, 34, 34; + --bs-font-sans-serif: Lato, -apple-system, BlinkMacSystemFont, 'Segoe UI', + Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol'; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; + --bs-gradient: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.15), + rgba(255, 255, 255, 0) + ); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #fff; + --bs-body-bg: #222; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-2xl: 2rem; + --bs-border-radius-pill: 50rem; + --bs-link-color: #00bc8c; + --bs-link-hover-color: #009670; + --bs-code-color: #e83e8c; + --bs-highlight-bg: #fdebd0; +} +*, +::after, +::before { + box-sizing: border-box; +} +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: 1px solid; + opacity: 0.25; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} +.h1, +h1 { + font-size: calc(1.425rem + 2.1vw); +} +@media (min-width: 1200px) { + .h1, + h1 { + font-size: 3rem; + } +} +.h2, +h2 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .h2, + h2 { + font-size: 2.5rem; + } +} +.h3, +h3 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + .h3, + h3 { + font-size: 2rem; + } +} +.h4, +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + .h4, + h4 { + font-size: 1.5rem; + } +} +.h5, +h5 { + font-size: 1.25rem; +} +.h6, +h6 { + font-size: 1rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} +ol, +ul { + padding-left: 2rem; +} +dl, +ol, +ul { + margin-top: 0; + margin-bottom: 1rem; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +b, +strong { + font-weight: bolder; +} +.small, +small { + font-size: 0.875em; +} +.mark, +mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: var(--bs-link-color); + text-decoration: underline; +} +a:hover { + color: var(--bs-link-hover-color); +} +a:not([href]):not([class]), +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} +code, +kbd, +pre, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; + color: inherit; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} +figure { + margin: 0 0 1rem; +} +img, +svg { + vertical-align: middle; +} +table { + caption-side: bottom; + border-collapse: collapse; +} +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #888; + text-align: left; +} +th { + text-align: inherit; + text-align: -webkit-match-parent; +} +tbody, +td, +tfoot, +th, +thead, +tr { + border-color: inherit; + border-style: solid; + border-width: 0; +} +label { + display: inline-block; +} +button { + border-radius: 0; +} +button:focus:not(:focus-visible) { + outline: 0; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +select { + text-transform: none; +} +[role='button'] { + cursor: pointer; +} +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} +[list]:not([type='date']):not([type='datetime-local']):not([type='month']):not( + [type='week'] + ):not([type='time'])::-webkit-calendar-picker-indicator { + display: none !important; +} +[type='button'], +[type='reset'], +[type='submit'], +button { + -webkit-appearance: button; +} +[type='button']:not(:disabled), +[type='reset']:not(:disabled), +[type='submit']:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} +::-moz-focus-inner { + padding: 0; + border-style: none; +} +textarea { + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-year-field { + padding: 0; +} +::-webkit-inner-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; + -webkit-appearance: textfield; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-color-swatch-wrapper { + padding: 0; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +iframe { + border: 0; +} +summary { + display: list-item; + cursor: pointer; +} +progress { + vertical-align: baseline; +} +[hidden] { + display: none !important; +} +.lead { + font-size: 1.25rem; + font-weight: 300; +} +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #888; +} +.blockquote-footer::before { + content: '— '; +} +.img-fluid { + max-width: 100%; + height: auto; +} +.img-thumbnail { + padding: 0.25rem; + background-color: #222; + border: 1px solid var(--bs-border-color); + border-radius: 0.375rem; + max-width: 100%; + height: auto; +} +.figure { + display: inline-block; +} +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} +.figure-caption { + font-size: 0.875em; + color: #888; +} +.container, +.container-fluid, +.container-lg, +.container-md, +.container-sm, +.container-xl, +.container-xxl { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container, + .container-sm { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} +.col { + flex: 1 0 0%; +} +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} +.col-auto { + flex: 0 0 auto; + width: auto; +} +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} +.col-3 { + flex: 0 0 auto; + width: 25%; +} +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} +.col-6 { + flex: 0 0 auto; + width: 50%; +} +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} +.col-9 { + flex: 0 0 auto; + width: 75%; +} +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} +.col-12 { + flex: 0 0 auto; + width: 100%; +} +.offset-1 { + margin-left: 8.33333333%; +} +.offset-2 { + margin-left: 16.66666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.33333333%; +} +.offset-5 { + margin-left: 41.66666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.33333333%; +} +.offset-8 { + margin-left: 66.66666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.33333333%; +} +.offset-11 { + margin-left: 91.66666667%; +} +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: #444; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--bs-table-color); + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table-group-divider { + border-top: 2px solid currentcolor; +} +.caption-top { + caption-side: top; +} +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} +.table-primary { + --bs-table-color: #fff; + --bs-table-bg: #375a7f; + --bs-table-border-color: #4b6b8c; + --bs-table-striped-bg: #416285; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #4b6b8c; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #466689; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-secondary { + --bs-table-color: #fff; + --bs-table-bg: #444444; + --bs-table-border-color: #575757; + --bs-table-striped-bg: #4d4d4d; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #575757; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #525252; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-success { + --bs-table-color: #fff; + --bs-table-bg: #00bc8c; + --bs-table-border-color: #1ac398; + --bs-table-striped-bg: #0dbf92; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #1ac398; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #13c195; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-info { + --bs-table-color: #fff; + --bs-table-bg: #3498db; + --bs-table-border-color: #48a2df; + --bs-table-striped-bg: #3e9ddd; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #48a2df; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #43a0de; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-warning { + --bs-table-color: #fff; + --bs-table-bg: #f39c12; + --bs-table-border-color: #f4a62a; + --bs-table-striped-bg: #f4a11e; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #f4a62a; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #f4a324; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-danger { + --bs-table-color: #fff; + --bs-table-bg: #e74c3c; + --bs-table-border-color: #e95e50; + --bs-table-striped-bg: #e85546; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #e95e50; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #e9594b; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-light { + --bs-table-color: #fff; + --bs-table-bg: #adb5bd; + --bs-table-border-color: #b5bcc4; + --bs-table-striped-bg: #b1b9c0; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #b5bcc4; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #b3bbc2; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #303030; + --bs-table-border-color: #454545; + --bs-table-striped-bg: #3a3a3a; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #454545; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #404040; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #888; +} +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #303030; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #222; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type='file'] { + overflow: hidden; +} +.form-control[type='file']:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #303030; + background-color: #fff; + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #888; + opacity: 1; +} +.form-control::placeholder { + color: #888; + opacity: 1; +} +.form-control:disabled { + background-color: #ebebeb; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #fff; + background-color: #444; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #fff; + background-color: #444; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #414141; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #414141; +} +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #fff; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0; +} +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} +.form-control-color { + width: 3rem; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 0.375rem; +} +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 1rem + 2px); +} +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #303030; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #222; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-select[multiple], +.form-select[size]:not([size='1']) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #ebebeb; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #303030; +} +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type='checkbox'] { + border-radius: 0.25em; +} +.form-check-input[type='radio'] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-check-input:checked { + background-color: #375a7f; + border-color: #375a7f; +} +.form-check-input:checked[type='checkbox'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type='radio'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type='checkbox']:indeterminate { + background-color: #375a7f; + border-color: #375a7f; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input:disabled ~ .form-check-label, +.form-check-input[disabled] ~ .form-check-label { + cursor: default; + opacity: 0.5; +} +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + 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='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + 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='%239badbf'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + 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"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check:disabled + .btn, +.btn-check[disabled] + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #375a7f; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #c3ced9; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #375a7f; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #c3ced9; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} +.form-floating > .form-control-plaintext::-moz-placeholder, +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext::placeholder, +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown), +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown), +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control-plaintext:-webkit-autofill, +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: 1px 0; +} +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-floating, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-floating:focus-within, +.input-group > .form-select:focus { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #adb5bd; + text-align: center; + white-space: nowrap; + background-color: #444; + border: 1px solid #222; + border-radius: 0.375rem; +} +.input-group-lg > .btn, +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.input-group-sm > .btn, +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) + > .form-floating:not(:last-child) + > .form-control, +.input-group:not(.has-validation) + > .form-floating:not(:last-child) + > .form-select, +.input-group:not(.has-validation) + > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not( + .form-floating + ) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation + > .form-floating:nth-last-child(n + 3) + > .form-control, +.input-group.has-validation + > .form-floating:nth-last-child(n + 3) + > .form-select, +.input-group.has-validation + > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not( + .form-floating + ) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group + > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not( + .valid-feedback + ):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #00bc8c; +} +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(0, 188, 140, 0.9); + border-radius: 0.375rem; +} +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip, +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip { + display: block; +} +.form-control.is-valid, +.was-validated .form-control:valid { + border-color: #00bc8c; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73.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"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-valid, +.was-validated .form-select:valid { + border-color: #00bc8c; +} +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size='1'], +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' d='M2.3 6.73.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"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-valid:focus, +.was-validated .form-select:valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.form-control-color.is-valid, +.was-validated .form-control-color:valid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} +.form-check-input.is-valid, +.was-validated .form-check-input:valid { + border-color: #00bc8c; +} +.form-check-input.is-valid:checked, +.was-validated .form-check-input:valid:checked { + background-color: #00bc8c; +} +.form-check-input.is-valid:focus, +.was-validated .form-check-input:valid:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: #00bc8c; +} +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-valid, +.input-group > .form-floating:not(:focus-within).is-valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-control:not(:focus):valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.was-validated .input-group > .form-select:not(:focus):valid { + z-index: 3; +} +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #e74c3c; +} +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(231, 76, 60, 0.9); + border-radius: 0.375rem; +} +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip, +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip { + display: block; +} +.form-control.is-invalid, +.was-validated .form-control:invalid { + border-color: #e74c3c; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%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='%23e74c3c' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-invalid, +.was-validated .form-select:invalid { + border-color: #e74c3c; +} +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size='1'], +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%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='%23e74c3c' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-invalid:focus, +.was-validated .form-select:invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.form-control-color.is-invalid, +.was-validated .form-control-color:invalid { + width: calc(3rem + calc(1.5em + 0.75rem)); +} +.form-check-input.is-invalid, +.was-validated .form-check-input:invalid { + border-color: #e74c3c; +} +.form-check-input.is-invalid:checked, +.was-validated .form-check-input:invalid:checked { + background-color: #e74c3c; +} +.form-check-input.is-invalid:focus, +.was-validated .form-check-input:invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: #e74c3c; +} +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +.input-group > .form-control:not(:focus).is-invalid, +.input-group > .form-floating:not(:focus-within).is-invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-control:not(:focus):invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.was-validated .input-group > .form-select:not(:focus):invalid { + z-index: 4; +} +.btn { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: #fff; + --bs-btn-bg: transparent; + --bs-btn-border-width: 1px; + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 0.375rem; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), + 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem + rgba(var(--bs-btn-focus-shadow-rgb), 0.5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, +.btn.active, +.btn.show, +.btn:first-child:active, +:not(.btn-check) + .btn:active { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, +.btn.active:focus-visible, +.btn.show:focus-visible, +.btn:first-child:active:focus-visible, +:not(.btn-check) + .btn:active:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #375a7f; + --bs-btn-border-color: #375a7f; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #2f4d6c; + --bs-btn-hover-border-color: #2c4866; + --bs-btn-focus-shadow-rgb: 85, 115, 146; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #2c4866; + --bs-btn-active-border-color: #29445f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #375a7f; + --bs-btn-disabled-border-color: #375a7f; +} +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #444; + --bs-btn-border-color: #444; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #3a3a3a; + --bs-btn-hover-border-color: #363636; + --bs-btn-focus-shadow-rgb: 96, 96, 96; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #363636; + --bs-btn-active-border-color: #333333; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #444; + --bs-btn-disabled-border-color: #444; +} +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #00bc8c; + --bs-btn-border-color: #00bc8c; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #00a077; + --bs-btn-hover-border-color: #009670; + --bs-btn-focus-shadow-rgb: 38, 198, 157; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #009670; + --bs-btn-active-border-color: #008d69; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #00bc8c; + --bs-btn-disabled-border-color: #00bc8c; +} +.btn-info { + --bs-btn-color: #fff; + --bs-btn-bg: #3498db; + --bs-btn-border-color: #3498db; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #2c81ba; + --bs-btn-hover-border-color: #2a7aaf; + --bs-btn-focus-shadow-rgb: 82, 167, 224; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #2a7aaf; + --bs-btn-active-border-color: #2772a4; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #3498db; + --bs-btn-disabled-border-color: #3498db; +} +.btn-warning { + --bs-btn-color: #fff; + --bs-btn-bg: #f39c12; + --bs-btn-border-color: #f39c12; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #cf850f; + --bs-btn-hover-border-color: #c27d0e; + --bs-btn-focus-shadow-rgb: 245, 171, 54; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #c27d0e; + --bs-btn-active-border-color: #b6750e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #f39c12; + --bs-btn-disabled-border-color: #f39c12; +} +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #e74c3c; + --bs-btn-border-color: #e74c3c; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #c44133; + --bs-btn-hover-border-color: #b93d30; + --bs-btn-focus-shadow-rgb: 235, 103, 89; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #b93d30; + --bs-btn-active-border-color: #ad392d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #e74c3c; + --bs-btn-disabled-border-color: #e74c3c; +} +.btn-light { + --bs-btn-color: #fff; + --bs-btn-bg: #adb5bd; + --bs-btn-border-color: #adb5bd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #939aa1; + --bs-btn-hover-border-color: #8a9197; + --bs-btn-focus-shadow-rgb: 185, 192, 199; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #8a9197; + --bs-btn-active-border-color: #82888e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #adb5bd; + --bs-btn-disabled-border-color: #adb5bd; +} +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #303030; + --bs-btn-border-color: #303030; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #4f4f4f; + --bs-btn-hover-border-color: #454545; + --bs-btn-focus-shadow-rgb: 79, 79, 79; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #595959; + --bs-btn-active-border-color: #454545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #303030; + --bs-btn-disabled-border-color: #303030; +} +.btn-outline-primary { + --bs-btn-color: #375a7f; + --bs-btn-border-color: #375a7f; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #375a7f; + --bs-btn-hover-border-color: #375a7f; + --bs-btn-focus-shadow-rgb: 55, 90, 127; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #375a7f; + --bs-btn-active-border-color: #375a7f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #375a7f; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #375a7f; + --bs-gradient: none; +} +.btn-outline-secondary { + --bs-btn-color: #444; + --bs-btn-border-color: #444; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #444; + --bs-btn-hover-border-color: #444; + --bs-btn-focus-shadow-rgb: 68, 68, 68; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #444; + --bs-btn-active-border-color: #444; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #444; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #444; + --bs-gradient: none; +} +.btn-outline-success { + --bs-btn-color: #00bc8c; + --bs-btn-border-color: #00bc8c; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #00bc8c; + --bs-btn-hover-border-color: #00bc8c; + --bs-btn-focus-shadow-rgb: 0, 188, 140; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #00bc8c; + --bs-btn-active-border-color: #00bc8c; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #00bc8c; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #00bc8c; + --bs-gradient: none; +} +.btn-outline-info { + --bs-btn-color: #3498db; + --bs-btn-border-color: #3498db; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #3498db; + --bs-btn-hover-border-color: #3498db; + --bs-btn-focus-shadow-rgb: 52, 152, 219; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #3498db; + --bs-btn-active-border-color: #3498db; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #3498db; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #3498db; + --bs-gradient: none; +} +.btn-outline-warning { + --bs-btn-color: #f39c12; + --bs-btn-border-color: #f39c12; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #f39c12; + --bs-btn-hover-border-color: #f39c12; + --bs-btn-focus-shadow-rgb: 243, 156, 18; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #f39c12; + --bs-btn-active-border-color: #f39c12; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f39c12; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f39c12; + --bs-gradient: none; +} +.btn-outline-danger { + --bs-btn-color: #e74c3c; + --bs-btn-border-color: #e74c3c; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #e74c3c; + --bs-btn-hover-border-color: #e74c3c; + --bs-btn-focus-shadow-rgb: 231, 76, 60; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #e74c3c; + --bs-btn-active-border-color: #e74c3c; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #e74c3c; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #e74c3c; + --bs-gradient: none; +} +.btn-outline-light { + --bs-btn-color: #adb5bd; + --bs-btn-border-color: #adb5bd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #adb5bd; + --bs-btn-hover-border-color: #adb5bd; + --bs-btn-focus-shadow-rgb: 173, 181, 189; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #adb5bd; + --bs-btn-active-border-color: #adb5bd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #adb5bd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #adb5bd; + --bs-gradient: none; +} +.btn-outline-dark { + --bs-btn-color: #303030; + --bs-btn-border-color: #303030; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #303030; + --bs-btn-hover-border-color: #303030; + --bs-btn-focus-shadow-rgb: 48, 48, 48; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #303030; + --bs-btn-active-border-color: #303030; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #303030; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #303030; + --bs-gradient: none; +} +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #888; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-rgb: 85, 115, 146; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} +.btn-group-lg > .btn, +.btn-lg { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 1rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: 0.5rem; +} +.btn-group-sm > .btn, +.btn-sm { + --bs-btn-padding-y: 0.25rem; + --bs-btn-padding-x: 0.5rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 0.25rem; +} +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} +.collapse:not(.show) { + display: none; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} +.dropdown, +.dropdown-center, +.dropend, +.dropstart, +.dropup, +.dropup-center { + position: relative; +} +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: #fff; + --bs-dropdown-bg: #222; + --bs-dropdown-border-color: #444; + --bs-dropdown-border-radius: 0.375rem; + --bs-dropdown-border-width: 1px; + --bs-dropdown-inner-border-radius: calc(0.375rem - 1px); + --bs-dropdown-divider-bg: #444; + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-dropdown-link-color: #fff; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-link-hover-bg: #375a7f; + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #375a7f; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #888; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:focus, +.dropdown-item:hover { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, +.dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, +.dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) + var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #303030; + --bs-dropdown-border-color: #444; + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: #444; + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #375a7f; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group { + border-radius: 0.375rem; +} +.btn-group > .btn-group:not(:first-child), +.btn-group > :not(.btn-check:first-child) + .btn { + margin-left: -1px; +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn-group:not(:first-child), +.btn-group-vertical > .btn:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn ~ .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav { + --bs-nav-link-padding-x: 2rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: #adb5bd; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:focus, +.nav-link:hover { + color: var(--bs-nav-link-hover-color); +} +.nav-link.disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} +.nav-tabs { + --bs-nav-tabs-border-width: 1px; + --bs-nav-tabs-border-color: #444; + --bs-nav-tabs-border-radius: 0.375rem; + --bs-nav-tabs-link-hover-border-color: #444 #444 transparent; + --bs-nav-tabs-link-active-color: #fff; + --bs-nav-tabs-link-active-bg: #222; + --bs-nav-tabs-link-active-border-color: #444 #444 transparent; + border-bottom: var(--bs-nav-tabs-border-width) solid + var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + background: 0 0; + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, +.nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav-pills { + --bs-nav-pills-border-radius: 0.375rem; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #375a7f; +} +.nav-pills .nav-link { + background: 0 0; + border: 0; + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} +.nav-fill .nav-item, +.nav-fill > .nav-link { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item, +.nav-justified > .nav-link { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 1rem; + --bs-navbar-color: rgba(34, 34, 34, 0.7); + --bs-navbar-hover-color: #222; + --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3); + --bs-navbar-active-color: #222; + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: #222; + --bs-navbar-brand-hover-color: #222; + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2834, 34, 34, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(34, 34, 34, 0.1); + --bs-navbar-toggler-border-radius: 0.375rem; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-lg, +.navbar > .container-md, +.navbar > .container-sm, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:focus, +.navbar-brand:hover { + color: var(--bs-navbar-brand-hover-color); +} +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, +.navbar-nav .show > .nav-link { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:focus, +.navbar-text a:hover { + color: var(--bs-navbar-active-color); +} +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} +.navbar-dark { + --bs-navbar-color: rgba(255, 255, 255, 0.6); + --bs-navbar-hover-color: #fff; + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-border-width: 1px; + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: 0.375rem; + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(0.375rem - 1px); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: #444; + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: #303030; + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); +} +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; +} +.card-text:last-child { + margin-bottom: 0; +} +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) + var(--bs-card-inner-border-radius) 0 0; +} +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) + var(--bs-card-inner-border-radius); +} +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} +.card-img, +.card-img-bottom, +.card-img-top { + width: 100%; +} +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-header, + .card-group > .card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-footer, + .card-group > .card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-header, + .card-group > .card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-footer, + .card-group > .card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } +} +.accordion { + --bs-accordion-color: #fff; + --bs-accordion-bg: #222; + --bs-accordion-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: 1px; + --bs-accordion-border-radius: 0.375rem; + --bs-accordion-inner-border-radius: calc(0.375rem - 1px); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: #fff; + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23325172'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #9badbf; + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: #325172; + --bs-accordion-active-bg: #ebeff2; +} +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 + var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ''; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} +.accordion-header { + margin-bottom: 0; +} +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid + var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, +.accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} +.breadcrumb { + --bs-breadcrumb-padding-x: 0.75rem; + --bs-breadcrumb-padding-y: 0.375rem; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: #444; + --bs-breadcrumb-border-radius: 0.25rem; + --bs-breadcrumb-divider-color: #888; + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: #888; + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, '/'); +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: #fff; + --bs-pagination-bg: #00bc8c; + --bs-pagination-border-width: 0; + --bs-pagination-border-color: transparent; + --bs-pagination-border-radius: 0.375rem; + --bs-pagination-hover-color: #fff; + --bs-pagination-hover-bg: #00efb2; + --bs-pagination-hover-border-color: transparent; + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: #ebebeb; + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #00efb2; + --bs-pagination-active-border-color: transparent; + --bs-pagination-disabled-color: #fff; + --bs-pagination-disabled-bg: #007053; + --bs-pagination-disabled-border-color: transparent; + display: flex; + padding-left: 0; + list-style: none; +} +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid + var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.active > .page-link, +.page-link.active { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.disabled > .page-link, +.page-link.disabled { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} +.page-item:not(:first-child) .page-link { + margin-left: 0; +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: 0.5rem; +} +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: 0.25rem; +} +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: 0.375rem; + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: 1px solid var(--bs-alert-border-color); + --bs-alert-border-radius: 0.375rem; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} +.alert-heading { + color: inherit; +} +.alert-link { + font-weight: 700; +} +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} +.alert-primary { + --bs-alert-color: #21364c; + --bs-alert-bg: #d7dee5; + --bs-alert-border-color: #c3ced9; +} +.alert-primary .alert-link { + color: #1a2b3d; +} +.alert-secondary { + --bs-alert-color: #292929; + --bs-alert-bg: #dadada; + --bs-alert-border-color: #c7c7c7; +} +.alert-secondary .alert-link { + color: #212121; +} +.alert-success { + --bs-alert-color: #007154; + --bs-alert-bg: #ccf2e8; + --bs-alert-border-color: #b3ebdd; +} +.alert-success .alert-link { + color: #005a43; +} +.alert-info { + --bs-alert-color: #1f5b83; + --bs-alert-bg: #d6eaf8; + --bs-alert-border-color: #c2e0f4; +} +.alert-info .alert-link { + color: #194969; +} +.alert-warning { + --bs-alert-color: #925e0b; + --bs-alert-bg: #fdebd0; + --bs-alert-border-color: #fbe1b8; +} +.alert-warning .alert-link { + color: #754b09; +} +.alert-danger { + --bs-alert-color: #8b2e24; + --bs-alert-bg: #fadbd8; + --bs-alert-border-color: #f8c9c5; +} +.alert-danger .alert-link { + color: #6f251d; +} +.alert-light { + --bs-alert-color: #686d71; + --bs-alert-bg: #eff0f2; + --bs-alert-border-color: #e6e9eb; +} +.alert-light .alert-link { + color: #53575a; +} +.alert-dark { + --bs-alert-color: #1d1d1d; + --bs-alert-bg: #d6d6d6; + --bs-alert-border-color: #c1c1c1; +} +.alert-dark .alert-link { + color: #171717; +} +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: #444; + --bs-progress-border-radius: 0.375rem; + --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #375a7f; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} +.list-group { + --bs-list-group-color: #fff; + --bs-list-group-bg: #303030; + --bs-list-group-border-color: #444; + --bs-list-group-border-width: 1px; + --bs-list-group-border-radius: 0.375rem; + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: #444; + --bs-list-group-action-hover-color: #fff; + --bs-list-group-action-hover-bg: #444; + --bs-list-group-action-active-color: #fff; + --bs-list-group-action-active-bg: #222; + --bs-list-group-disabled-color: #888; + --bs-list-group-disabled-bg: #303030; + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #375a7f; + --bs-list-group-active-border-color: #375a7f; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, '.') '. '; + counter-increment: section; +} +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) + var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid + var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, +.list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} +.list-group-item-primary { + color: #21364c; + background-color: #d7dee5; +} +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #21364c; + background-color: #c2c8ce; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #21364c; + border-color: #21364c; +} +.list-group-item-secondary { + color: #292929; + background-color: #dadada; +} +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #292929; + background-color: #c4c4c4; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #292929; + border-color: #292929; +} +.list-group-item-success { + color: #007154; + background-color: #ccf2e8; +} +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #007154; + background-color: #b8dad1; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #007154; + border-color: #007154; +} +.list-group-item-info { + color: #1f5b83; + background-color: #d6eaf8; +} +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #1f5b83; + background-color: #c1d3df; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #1f5b83; + border-color: #1f5b83; +} +.list-group-item-warning { + color: #925e0b; + background-color: #fdebd0; +} +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #925e0b; + background-color: #e4d4bb; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #925e0b; + border-color: #925e0b; +} +.list-group-item-danger { + color: #8b2e24; + background-color: #fadbd8; +} +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #8b2e24; + background-color: #e1c5c2; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #8b2e24; + border-color: #8b2e24; +} +.list-group-item-light { + color: #686d71; + background-color: #eff0f2; +} +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #686d71; + background-color: #d7d8da; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #686d71; + border-color: #686d71; +} +.list-group-item-dark { + color: #1d1d1d; + background-color: #d6d6d6; +} +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #1d1d1d; + background-color: #c1c1c1; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1d1d1d; + border-color: #1d1d1d; +} +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #fff; + background: transparent + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") + center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + opacity: 0.4; +} +.btn-close:hover { + color: #fff; + text-decoration: none; + opacity: 1; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); + opacity: 1; +} +.btn-close.disabled, +.btn-close:disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: #444; + --bs-toast-border-width: 1px; + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: 0.375rem; + --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-toast-header-color: #888; + --bs-toast-header-bg: #303030; + --bs-toast-header-border-color: rgba(0, 0, 0, 0.05); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid + var(--bs-toast-header-border-color); + border-top-left-radius: calc( + var(--bs-toast-border-radius) - var(--bs-toast-border-width) + ); + border-top-right-radius: calc( + var(--bs-toast-border-radius) - var(--bs-toast-border-width) + ); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: #303030; + --bs-modal-border-color: #444; + --bs-modal-border-width: 1px; + --bs-modal-border-radius: 0.5rem; + --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-modal-inner-border-radius: calc(0.5rem - 1px); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: #444; + --bs-modal-header-border-width: 1px; + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: #444; + --bs-modal-footer-border-width: 1px; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid + var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) + calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) + calc(-0.5 * var(--bs-modal-header-padding-x)) + calc(-0.5 * var(--bs-modal-header-padding-y)) auto; +} +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid + var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-footer, +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-footer, + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-footer, + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-footer, + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-footer, + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-footer, + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: #fff; + --bs-tooltip-bg: #000; + --bs-tooltip-border-radius: 0.375rem; + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + padding: var(--bs-tooltip-arrow-height); + margin: var(--bs-tooltip-margin); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ''; + border-color: transparent; + border-style: solid; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow, +.bs-tooltip-top .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow::before, +.bs-tooltip-top .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) + calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow, +.bs-tooltip-end .tooltip-arrow { + left: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow::before, +.bs-tooltip-end .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) + var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow, +.bs-tooltip-bottom .tooltip-arrow { + top: 0; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow::before, +.bs-tooltip-bottom .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) + var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow, +.bs-tooltip-start .tooltip-arrow { + right: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow::before, +.bs-tooltip-start .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 + calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: #303030; + --bs-popover-border-width: 1px; + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: 0.5rem; + --bs-popover-inner-border-radius: calc(0.5rem - 1px); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: ; + --bs-popover-header-bg: #444; + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: #fff; + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::after, +.popover .popover-arrow::before { + position: absolute; + display: block; + content: ''; + border-color: transparent; + border-style: solid; + border-width: 0; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow, +.bs-popover-top > .popover-arrow { + bottom: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::after, +.bs-popover-top > .popover-arrow::before { + border-width: var(--bs-popover-arrow-height) + calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after, +.bs-popover-top > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow, +.bs-popover-end > .popover-arrow { + left: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::after, +.bs-popover-end > .popover-arrow::before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) + var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after, +.bs-popover-end > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow, +.bs-popover-bottom > .popover-arrow { + top: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::before { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) + var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-auto[data-popper-placement^='bottom'] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ''; + border-bottom: var(--bs-popover-border-width) solid + var(--bs-popover-header-bg); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow, +.bs-popover-start > .popover-arrow { + right: calc( + -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width) + ); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::after, +.bs-popover-start > .popover-arrow::before { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 + calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after, +.bs-popover-start > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid + var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} +.carousel { + position: relative; +} +.carousel.pointer-event { + touch-action: pan-y; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ''; +} +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.active.carousel-item-end, +.carousel-item-next:not(.carousel-item-start) { + transform: translateX(100%); +} +.active.carousel-item-start, +.carousel-item-prev:not(.carousel-item-end) { + transform: translateX(-100%); +} +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end, +.carousel-fade .carousel-item.active { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-end, +.carousel-fade .active.carousel-item-start { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-end, + .carousel-fade .active.carousel-item-start { + transition: none; + } +} +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: 0 0; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-next, + .carousel-control-prev { + transition: none; + } +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} +.spinner-border, +.spinner-grow { + display: inline-block; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite + var(--bs-spinner-animation-name); +} +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, +.offcanvas-lg, +.offcanvas-md, +.offcanvas-sm, +.offcanvas-xl, +.offcanvas-xxl { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: ; + --bs-offcanvas-bg: #303030; + --bs-offcanvas-border-width: 1px; + --bs-offcanvas-border-color: #444; + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +} +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.show:not(.hiding), + .offcanvas-sm.showing { + transform: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.hiding, + .offcanvas-sm.show, + .offcanvas-sm.showing { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.show:not(.hiding), + .offcanvas-md.showing { + transform: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.hiding, + .offcanvas-md.show, + .offcanvas-md.showing { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.show:not(.hiding), + .offcanvas-lg.showing { + transform: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.hiding, + .offcanvas-lg.show, + .offcanvas-lg.showing { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.show:not(.hiding), + .offcanvas-xl.showing { + transform: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.hiding, + .offcanvas-xl.show, + .offcanvas-xl.showing { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.show:not(.hiding), + .offcanvas-xxl.showing { + transform: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.hiding, + .offcanvas-xxl.show, + .offcanvas-xxl.showing { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid + var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.show:not(.hiding), +.offcanvas.showing { + transform: none; +} +.offcanvas.hiding, +.offcanvas.show, +.offcanvas.showing { + visibility: visible; +} +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) + calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ''; +} +.placeholder-xs { + min-height: 0.6em; +} +.placeholder-sm { + min-height: 0.8em; +} +.placeholder-lg { + min-height: 1.2em; +} +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ''; +} +.text-bg-primary { + color: #fff !important; + background-color: RGBA(55, 90, 127, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(68, 68, 68, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-success { + color: #fff !important; + background-color: RGBA(0, 188, 140, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-info { + color: #fff !important; + background-color: RGBA(52, 152, 219, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-warning { + color: #fff !important; + background-color: RGBA(243, 156, 18, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-danger { + color: #fff !important; + background-color: RGBA(231, 76, 60, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-light { + color: #fff !important; + background-color: RGBA(173, 181, 189, var(--bs-bg-opacity, 1)) !important; +} +.text-bg-dark { + color: #fff !important; + background-color: RGBA(48, 48, 48, var(--bs-bg-opacity, 1)) !important; +} +.link-primary { + color: #375a7f !important; +} +.link-primary:focus, +.link-primary:hover { + color: #2c4866 !important; +} +.link-secondary { + color: #444 !important; +} +.link-secondary:focus, +.link-secondary:hover { + color: #363636 !important; +} +.link-success { + color: #00bc8c !important; +} +.link-success:focus, +.link-success:hover { + color: #009670 !important; +} +.link-info { + color: #3498db !important; +} +.link-info:focus, +.link-info:hover { + color: #2a7aaf !important; +} +.link-warning { + color: #f39c12 !important; +} +.link-warning:focus, +.link-warning:hover { + color: #c27d0e !important; +} +.link-danger { + color: #e74c3c !important; +} +.link-danger:focus, +.link-danger:hover { + color: #b93d30 !important; +} +.link-light { + color: #adb5bd !important; +} +.link-light:focus, +.link-light:hover { + color: #8a9197 !important; +} +.link-dark { + color: #303030 !important; +} +.link-dark:focus, +.link-dark:hover { + color: #262626 !important; +} +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ''; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ''; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} +.align-baseline { + vertical-align: baseline !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.float-start { + float: left !important; +} +.float-end { + float: right !important; +} +.float-none { + float: none !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-25 { + opacity: 0.25 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-grid { + display: grid !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: flex !important; +} +.d-inline-flex { + display: inline-flex !important; +} +.d-none { + display: none !important; +} +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} +.shadow-none { + box-shadow: none !important; +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.top-0 { + top: 0 !important; +} +.top-50 { + top: 50% !important; +} +.top-100 { + top: 100% !important; +} +.bottom-0 { + bottom: 0 !important; +} +.bottom-50 { + bottom: 50% !important; +} +.bottom-100 { + bottom: 100% !important; +} +.start-0 { + left: 0 !important; +} +.start-50 { + left: 50% !important; +} +.start-100 { + left: 100% !important; +} +.end-0 { + right: 0 !important; +} +.end-50 { + right: 50% !important; +} +.end-100 { + right: 100% !important; +} +.translate-middle { + transform: translate(-50%, -50%) !important; +} +.translate-middle-x { + transform: translateX(-50%) !important; +} +.translate-middle-y { + transform: translateY(-50%) !important; +} +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} +.border-0 { + border: 0 !important; +} +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-end-0 { + border-right: 0 !important; +} +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) + var(--bs-border-color) !important; +} +.border-start-0 { + border-left: 0 !important; +} +.border-primary { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-primary-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-secondary-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-success { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-success-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} +.border-warning { + --bs-border-opacity: 1; + border-color: rgba( + var(--bs-warning-rgb), + var(--bs-border-opacity) + ) !important; +} +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} +.border-1 { + --bs-border-width: 1px; +} +.border-2 { + --bs-border-width: 2px; +} +.border-3 { + --bs-border-width: 3px; +} +.border-4 { + --bs-border-width: 4px; +} +.border-5 { + --bs-border-width: 5px; +} +.border-opacity-10 { + --bs-border-opacity: 0.1; +} +.border-opacity-25 { + --bs-border-opacity: 0.25; +} +.border-opacity-50 { + --bs-border-opacity: 0.5; +} +.border-opacity-75 { + --bs-border-opacity: 0.75; +} +.border-opacity-100 { + --bs-border-opacity: 1; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-auto { + width: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.vw-100 { + width: 100vw !important; +} +.min-vw-100 { + min-width: 100vw !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-auto { + height: auto !important; +} +.mh-100 { + max-height: 100% !important; +} +.vh-100 { + height: 100vh !important; +} +.min-vh-100 { + min-height: 100vh !important; +} +.flex-fill { + flex: 1 1 auto !important; +} +.flex-row { + flex-direction: row !important; +} +.flex-column { + flex-direction: column !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-column-reverse { + flex-direction: column-reverse !important; +} +.flex-grow-0 { + flex-grow: 0 !important; +} +.flex-grow-1 { + flex-grow: 1 !important; +} +.flex-shrink-0 { + flex-shrink: 0 !important; +} +.flex-shrink-1 { + flex-shrink: 1 !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.justify-content-start { + justify-content: flex-start !important; +} +.justify-content-end { + justify-content: flex-end !important; +} +.justify-content-center { + justify-content: center !important; +} +.justify-content-between { + justify-content: space-between !important; +} +.justify-content-around { + justify-content: space-around !important; +} +.justify-content-evenly { + justify-content: space-evenly !important; +} +.align-items-start { + align-items: flex-start !important; +} +.align-items-end { + align-items: flex-end !important; +} +.align-items-center { + align-items: center !important; +} +.align-items-baseline { + align-items: baseline !important; +} +.align-items-stretch { + align-items: stretch !important; +} +.align-content-start { + align-content: flex-start !important; +} +.align-content-end { + align-content: flex-end !important; +} +.align-content-center { + align-content: center !important; +} +.align-content-between { + align-content: space-between !important; +} +.align-content-around { + align-content: space-around !important; +} +.align-content-stretch { + align-content: stretch !important; +} +.align-self-auto { + align-self: auto !important; +} +.align-self-start { + align-self: flex-start !important; +} +.align-self-end { + align-self: flex-end !important; +} +.align-self-center { + align-self: center !important; +} +.align-self-baseline { + align-self: baseline !important; +} +.align-self-stretch { + align-self: stretch !important; +} +.order-first { + order: -1 !important; +} +.order-0 { + order: 0 !important; +} +.order-1 { + order: 1 !important; +} +.order-2 { + order: 2 !important; +} +.order-3 { + order: 3 !important; +} +.order-4 { + order: 4 !important; +} +.order-5 { + order: 5 !important; +} +.order-last { + order: 6 !important; +} +.m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.m-3 { + margin: 1rem !important; +} +.m-4 { + margin: 1.5rem !important; +} +.m-5 { + margin: 3rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mt-3 { + margin-top: 1rem !important; +} +.mt-4 { + margin-top: 1.5rem !important; +} +.mt-5 { + margin-top: 3rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.me-0 { + margin-right: 0 !important; +} +.me-1 { + margin-right: 0.25rem !important; +} +.me-2 { + margin-right: 0.5rem !important; +} +.me-3 { + margin-right: 1rem !important; +} +.me-4 { + margin-right: 1.5rem !important; +} +.me-5 { + margin-right: 3rem !important; +} +.me-auto { + margin-right: auto !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-3 { + margin-bottom: 1rem !important; +} +.mb-4 { + margin-bottom: 1.5rem !important; +} +.mb-5 { + margin-bottom: 3rem !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ms-0 { + margin-left: 0 !important; +} +.ms-1 { + margin-left: 0.25rem !important; +} +.ms-2 { + margin-left: 0.5rem !important; +} +.ms-3 { + margin-left: 1rem !important; +} +.ms-4 { + margin-left: 1.5rem !important; +} +.ms-5 { + margin-left: 3rem !important; +} +.ms-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 1rem !important; +} +.p-4 { + padding: 1.5rem !important; +} +.p-5 { + padding: 3rem !important; +} +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pt-3 { + padding-top: 1rem !important; +} +.pt-4 { + padding-top: 1.5rem !important; +} +.pt-5 { + padding-top: 3rem !important; +} +.pe-0 { + padding-right: 0 !important; +} +.pe-1 { + padding-right: 0.25rem !important; +} +.pe-2 { + padding-right: 0.5rem !important; +} +.pe-3 { + padding-right: 1rem !important; +} +.pe-4 { + padding-right: 1.5rem !important; +} +.pe-5 { + padding-right: 3rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-3 { + padding-bottom: 1rem !important; +} +.pb-4 { + padding-bottom: 1.5rem !important; +} +.pb-5 { + padding-bottom: 3rem !important; +} +.ps-0 { + padding-left: 0 !important; +} +.ps-1 { + padding-left: 0.25rem !important; +} +.ps-2 { + padding-left: 0.5rem !important; +} +.ps-3 { + padding-left: 1rem !important; +} +.ps-4 { + padding-left: 1.5rem !important; +} +.ps-5 { + padding-left: 3rem !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-3 { + gap: 1rem !important; +} +.gap-4 { + gap: 1.5rem !important; +} +.gap-5 { + gap: 3rem !important; +} +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} +.fs-1 { + font-size: calc(1.425rem + 2.1vw) !important; +} +.fs-2 { + font-size: calc(1.375rem + 1.5vw) !important; +} +.fs-3 { + font-size: calc(1.325rem + 0.9vw) !important; +} +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} +.fst-italic { + font-style: italic !important; +} +.fst-normal { + font-style: normal !important; +} +.fw-light { + font-weight: 300 !important; +} +.fw-lighter { + font-weight: lighter !important; +} +.fw-normal { + font-weight: 400 !important; +} +.fw-bold { + font-weight: 700 !important; +} +.fw-semibold { + font-weight: 600 !important; +} +.fw-bolder { + font-weight: bolder !important; +} +.lh-1 { + line-height: 1 !important; +} +.lh-sm { + line-height: 1.25 !important; +} +.lh-base { + line-height: 1.5 !important; +} +.lh-lg { + line-height: 2 !important; +} +.text-start { + text-align: left !important; +} +.text-end { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +.text-decoration-none { + text-decoration: none !important; +} +.text-decoration-underline { + text-decoration: underline !important; +} +.text-decoration-line-through { + text-decoration: line-through !important; +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.text-wrap { + white-space: normal !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} +.text-muted { + --bs-text-opacity: 1; + color: #888 !important; +} +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} +.text-opacity-25 { + --bs-text-opacity: 0.25; +} +.text-opacity-50 { + --bs-text-opacity: 0.5; +} +.text-opacity-75 { + --bs-text-opacity: 0.75; +} +.text-opacity-100 { + --bs-text-opacity: 1; +} +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-primary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-secondary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-success-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-warning-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-body-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} +.bg-opacity-100 { + --bs-bg-opacity: 1; +} +.bg-gradient { + background-image: var(--bs-gradient) !important; +} +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} +.pe-none { + pointer-events: none !important; +} +.pe-auto { + pointer-events: auto !important; +} +.rounded { + border-radius: var(--bs-border-radius) !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} +.rounded-5 { + border-radius: var(--bs-border-radius-2xl) !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 3rem !important; + } + .fs-2 { + font-size: 2.5rem !important; + } + .fs-3 { + font-size: 2rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +:root { + color-scheme: dark; +} +.blockquote-footer { + color: #888; +} +.form-control { + color-scheme: light; +} +.input-group-addon { + color: #fff; +} +.form-floating > label { + color: #444; +} +.nav-pills .nav-item.open .nav-link, +.nav-pills .nav-item.open .nav-link:focus, +.nav-pills .nav-item.open .nav-link:hover, +.nav-pills .nav-link, +.nav-pills .nav-link.active, +.nav-pills .nav-link.active:focus, +.nav-pills .nav-link.active:hover, +.nav-tabs .nav-item.open .nav-link, +.nav-tabs .nav-item.open .nav-link:focus, +.nav-tabs .nav-item.open .nav-link:hover, +.nav-tabs .nav-link, +.nav-tabs .nav-link.active, +.nav-tabs .nav-link.active:focus, +.nav-tabs .nav-link.active:hover { + color: #fff; +} +.breadcrumb a { + color: #fff; +} +.pagination a:hover { + text-decoration: none; +} +.alert { + color: #fff; + border: none; +} +.alert .alert-link, +.alert a { + color: #fff; + text-decoration: underline; +} +.alert-primary { + background-color: #375a7f; +} +.alert-secondary { + background-color: #444; +} +.alert-success { + background-color: #00bc8c; +} +.alert-info { + background-color: #3498db; +} +.alert-warning { + background-color: #f39c12; +} +.alert-danger { + background-color: #e74c3c; +} +.alert-light { + background-color: #adb5bd; +} +.alert-dark { + background-color: #303030; +} diff --git a/htdocs/www/css/bootstrap.min.css b/htdocs/www/css/bootstrap.min.css new file mode 100644 index 0000000..f7f8545 --- /dev/null +++ b/htdocs/www/css/bootstrap.min.css @@ -0,0 +1,10531 @@ +/*! + * Bootswatch v5.1.3 + * Homepage: https://bootswatch.com + * Copyright 2012-2021 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*/ /*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap); +:root { + --bs-blue: #375a7f; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #e83e8c; + --bs-red: #e74c3c; + --bs-orange: #fd7e14; + --bs-yellow: #f39c12; + --bs-green: #00bc8c; + --bs-teal: #20c997; + --bs-cyan: #3498db; + --bs-white: #fff; + --bs-gray: #888; + --bs-gray-dark: #303030; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #ebebeb; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #888; + --bs-gray-700: #444; + --bs-gray-800: #303030; + --bs-gray-900: #222; + --bs-primary: #375a7f; + --bs-secondary: #444; + --bs-success: #00bc8c; + --bs-info: #3498db; + --bs-warning: #f39c12; + --bs-danger: #e74c3c; + --bs-light: #adb5bd; + --bs-dark: #303030; + --bs-primary-rgb: 55, 90, 127; + --bs-secondary-rgb: 68, 68, 68; + --bs-success-rgb: 0, 188, 140; + --bs-info-rgb: 52, 152, 219; + --bs-warning-rgb: 243, 156, 18; + --bs-danger-rgb: 231, 76, 60; + --bs-light-rgb: 173, 181, 189; + --bs-dark-rgb: 48, 48, 48; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 255, 255, 255; + --bs-body-bg-rgb: 34, 34, 34; + --bs-font-sans-serif: Lato, -apple-system, BlinkMacSystemFont, 'Segoe UI', + Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol'; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; + --bs-gradient: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.15), + rgba(255, 255, 255, 0) + ); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #fff; + --bs-body-bg: #222; +} +*, +::after, +::before { + box-sizing: border-box; +} +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} +hr:not([size]) { + height: 1px; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} +.h1, +h1 { + font-size: calc(1.425rem + 2.1vw); +} +@media (min-width: 1200px) { + .h1, + h1 { + font-size: 3rem; + } +} +.h2, +h2 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .h2, + h2 { + font-size: 2.5rem; + } +} +.h3, +h3 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + .h3, + h3 { + font-size: 2rem; + } +} +.h4, +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + .h4, + h4 { + font-size: 1.5rem; + } +} +.h5, +h5 { + font-size: 1.25rem; +} +.h6, +h6 { + font-size: 1rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +abbr[data-bs-original-title], +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} +ol, +ul { + padding-left: 2rem; +} +dl, +ol, +ul { + margin-top: 0; + margin-bottom: 1rem; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +b, +strong { + font-weight: bolder; +} +.small, +small { + font-size: 0.875em; +} +.mark, +mark { + padding: 0.2em; + background-color: #fcf8e3; +} +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: #00bc8c; + text-decoration: underline; +} +a:hover { + color: #009670; +} +a:not([href]):not([class]), +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} +code, +kbd, +pre, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr; + unicode-bidi: bidi-override; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; + color: inherit; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +code { + font-size: 0.875em; + color: #e83e8c; + word-wrap: break-word; +} +a > code { + color: inherit; +} +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #222; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; +} +figure { + margin: 0 0 1rem; +} +img, +svg { + vertical-align: middle; +} +table { + caption-side: bottom; + border-collapse: collapse; +} +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #888; + text-align: left; +} +th { + text-align: inherit; + text-align: -webkit-match-parent; +} +tbody, +td, +tfoot, +th, +thead, +tr { + border-color: inherit; + border-style: solid; + border-width: 0; +} +label { + display: inline-block; +} +button { + border-radius: 0; +} +button:focus:not(:focus-visible) { + outline: 0; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +select { + text-transform: none; +} +[role='button'] { + cursor: pointer; +} +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} +[list]::-webkit-calendar-picker-indicator { + display: none; +} +[type='button'], +[type='reset'], +[type='submit'], +button { + -webkit-appearance: button; +} +[type='button']:not(:disabled), +[type='reset']:not(:disabled), +[type='submit']:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} +::-moz-focus-inner { + padding: 0; + border-style: none; +} +textarea { + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-year-field { + padding: 0; +} +::-webkit-inner-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; + -webkit-appearance: textfield; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-color-swatch-wrapper { + padding: 0; +} +::file-selector-button { + font: inherit; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +iframe { + border: 0; +} +summary { + display: list-item; + cursor: pointer; +} +progress { + vertical-align: baseline; +} +[hidden] { + display: none !important; +} +.lead { + font-size: 1.25rem; + font-weight: 300; +} +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #888; +} +.blockquote-footer::before { + content: '\2014\00A0'; +} +.img-fluid { + max-width: 100%; + height: auto; +} +.img-thumbnail { + padding: 0.25rem; + background-color: #222; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} +.figure { + display: inline-block; +} +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} +.figure-caption { + font-size: 0.875em; + color: #888; +} +.container, +.container-fluid, +.container-lg, +.container-md, +.container-sm, +.container-xl, +.container-xxl { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container, + .container-sm { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} +.col { + -ms-flex: 1 0 0%; + flex: 1 0 0%; +} +.row-cols-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; +} +.row-cols-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; +} +.row-cols-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; +} +.row-cols-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; +} +.row-cols-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; +} +.row-cols-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; +} +.row-cols-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; +} +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; +} +.col-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; +} +.col-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; +} +.col-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; +} +.col-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; +} +.col-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; +} +.col-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; +} +.col-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; +} +.col-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; +} +.col-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; +} +.col-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; +} +.col-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; +} +.col-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; +} +.offset-1 { + margin-left: 8.333333%; +} +.offset-2 { + margin-left: 16.666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.333333%; +} +.offset-5 { + margin-left: 41.666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.333333%; +} +.offset-8 { + margin-left: 66.666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.333333%; +} +.offset-11 { + margin-left: 91.666667%; +} +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} +@media (min-width: 576px) { + .col-sm { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + } + .row-cols-md-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .row-cols-xxl-4 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-xxl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.333333%; + } + .col-xxl-2 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.666667%; + } + .col-xxl-3 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.333333%; + } + .col-xxl-5 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.666667%; + } + .col-xxl-6 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.333333%; + } + .col-xxl-8 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.666667%; + } + .col-xxl-9 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.333333%; + } + .col-xxl-11 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.666667%; + } + .col-xxl-12 { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.333333%; + } + .offset-xxl-2 { + margin-left: 16.666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.333333%; + } + .offset-xxl-5 { + margin-left: 41.666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.333333%; + } + .offset-xxl-8 { + margin-left: 66.666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.333333%; + } + .offset-xxl-11 { + margin-left: 91.666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #fff; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #fff; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #fff; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #fff; + vertical-align: top; + border-color: #444; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:first-child) { + border-top: 2px solid currentColor; +} +.caption-top { + caption-side: top; +} +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} +.table-primary { + --bs-table-bg: #375a7f; + --bs-table-striped-bg: #416285; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #4b6b8c; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #466689; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #4b6b8c; +} +.table-secondary { + --bs-table-bg: #444444; + --bs-table-striped-bg: #4d4d4d; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #575757; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #525252; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #575757; +} +.table-success { + --bs-table-bg: #00bc8c; + --bs-table-striped-bg: #0dbf92; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #1ac398; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #13c195; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #1ac398; +} +.table-info { + --bs-table-bg: #3498db; + --bs-table-striped-bg: #3e9ddd; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #48a2df; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #43a0de; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #48a2df; +} +.table-warning { + --bs-table-bg: #f39c12; + --bs-table-striped-bg: #f4a11e; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #f4a62a; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #f4a324; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #f4a62a; +} +.table-danger { + --bs-table-bg: #e74c3c; + --bs-table-striped-bg: #e85546; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #e95e50; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #e9594b; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #e95e50; +} +.table-light { + --bs-table-bg: #adb5bd; + --bs-table-striped-bg: #b1b9c0; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #b5bcc4; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #b3bbc2; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #b5bcc4; +} +.table-dark { + --bs-table-bg: #303030; + --bs-table-striped-bg: #3a3a3a; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #454545; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #404040; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #454545; +} +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #888; +} +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #303030; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #222; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type='file'] { + overflow: hidden; +} +.form-control[type='file']:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #303030; + background-color: #fff; + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-webkit-input-placeholder { + color: #888; + opacity: 1; +} +.form-control::-moz-placeholder { + color: #888; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #888; + opacity: 1; +} +.form-control::-ms-input-placeholder { + color: #888; + opacity: 1; +} +.form-control::placeholder { + color: #888; + opacity: 1; +} +.form-control:disabled, +.form-control[readonly] { + background-color: #ebebeb; + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + -moz-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #fff; + background-color: #444; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #414141; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #fff; + background-color: #444; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #414141; +} +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #fff; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0; +} +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + -moz-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + -moz-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #303030; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #222; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-select[multiple], +.form-select[size]:not([size='1']) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #ebebeb; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #303030; +} +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type='checkbox'] { + border-radius: 0.25em; +} +.form-check-input[type='radio'] { + border-radius: 50%; +} +.form-check-input:active { + -webkit-filter: brightness(90%); + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-check-input:checked { + background-color: #375a7f; + border-color: #375a7f; +} +.form-check-input:checked[type='checkbox'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type='radio'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type='checkbox']:indeterminate { + background-color: #375a7f; + border-color: #375a7f; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + -webkit-filter: none; + filter: none; + opacity: 0.5; +} +.form-check-input:disabled ~ .form-check-label, +.form-check-input[disabled] ~ .form-check-label { + opacity: 0.5; +} +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + 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='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + 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='%239badbf'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + 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"); +} +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check:disabled + .btn, +.btn-check[disabled] + .btn { + pointer-events: none; + -webkit-filter: none; + filter: none; + opacity: 0.65; +} +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #222, 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #375a7f; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #c3ced9; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #375a7f; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #c3ced9; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out, + -webkit-transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-webkit-input-placeholder { + color: transparent; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control:-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::-ms-input-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-ms-input-placeholder) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #adb5bd; + text-align: center; + white-space: nowrap; + background-color: #444; + border: 1px solid #222; + border-radius: 0.25rem; +} +.input-group-lg > .btn, +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.input-group-sm > .btn, +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) + > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation + > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group + > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #00bc8c; +} +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(0, 188, 140, 0.9); + border-radius: 0.25rem; +} +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip, +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip { + display: block; +} +.form-control.is-valid, +.was-validated .form-control:valid { + border-color: #00bc8c; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' 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"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-valid, +.was-validated .form-select:valid { + border-color: #00bc8c; +} +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size='1'], +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300bc8c' 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"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-valid:focus, +.was-validated .form-select:valid:focus { + border-color: #00bc8c; + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.form-check-input.is-valid, +.was-validated .form-check-input:valid { + border-color: #00bc8c; +} +.form-check-input.is-valid:checked, +.was-validated .form-check-input:valid:checked { + background-color: #00bc8c; +} +.form-check-input.is-valid:focus, +.was-validated .form-check-input:valid:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.25); +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: #00bc8c; +} +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +.input-group .form-control.is-valid, +.input-group .form-select.is-valid, +.was-validated .input-group .form-control:valid, +.was-validated .input-group .form-select:valid { + z-index: 1; +} +.input-group .form-control.is-valid:focus, +.input-group .form-select.is-valid:focus, +.was-validated .input-group .form-control:valid:focus, +.was-validated .input-group .form-select:valid:focus { + z-index: 3; +} +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #e74c3c; +} +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(231, 76, 60, 0.9); + border-radius: 0.25rem; +} +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip, +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip { + display: block; +} +.form-control.is-invalid, +.was-validated .form-control:invalid { + border-color: #e74c3c; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%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='%23e74c3c' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-invalid, +.was-validated .form-select:invalid { + border-color: #e74c3c; +} +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size='1'], +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23303030' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e74c3c'%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='%23e74c3c' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-invalid:focus, +.was-validated .form-select:invalid:focus { + border-color: #e74c3c; + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.form-check-input.is-invalid, +.was-validated .form-check-input:invalid { + border-color: #e74c3c; +} +.form-check-input.is-invalid:checked, +.was-validated .form-check-input:invalid:checked { + background-color: #e74c3c; +} +.form-check-input.is-invalid:focus, +.was-validated .form-check-input:invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.25); +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: #e74c3c; +} +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +.input-group .form-control.is-invalid, +.input-group .form-select.is-invalid, +.was-validated .input-group .form-control:invalid, +.was-validated .input-group .form-select:invalid { + z-index: 2; +} +.input-group .form-control.is-invalid:focus, +.input-group .form-select.is-invalid:focus, +.was-validated .input-group .form-control:invalid:focus, +.was-validated .input-group .form-select:invalid:focus { + z-index: 3; +} +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #fff; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #fff; +} +.btn-check:focus + .btn, +.btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} +.btn-primary { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-primary:hover { + color: #fff; + background-color: #2f4d6c; + border-color: #2c4866; +} +.btn-check:focus + .btn-primary, +.btn-primary:focus { + color: #fff; + background-color: #2f4d6c; + border-color: #2c4866; + box-shadow: 0 0 0 0.25rem rgba(85, 115, 146, 0.5); +} +.btn-check:active + .btn-primary, +.btn-check:checked + .btn-primary, +.btn-primary.active, +.btn-primary:active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #2c4866; + border-color: #29445f; +} +.btn-check:active + .btn-primary:focus, +.btn-check:checked + .btn-primary:focus, +.btn-primary.active:focus, +.btn-primary:active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(85, 115, 146, 0.5); +} +.btn-primary.disabled, +.btn-primary:disabled { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-secondary { + color: #fff; + background-color: #444; + border-color: #444; +} +.btn-secondary:hover { + color: #fff; + background-color: #3a3a3a; + border-color: #363636; +} +.btn-check:focus + .btn-secondary, +.btn-secondary:focus { + color: #fff; + background-color: #3a3a3a; + border-color: #363636; + box-shadow: 0 0 0 0.25rem rgba(96, 96, 96, 0.5); +} +.btn-check:active + .btn-secondary, +.btn-check:checked + .btn-secondary, +.btn-secondary.active, +.btn-secondary:active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #363636; + border-color: #333; +} +.btn-check:active + .btn-secondary:focus, +.btn-check:checked + .btn-secondary:focus, +.btn-secondary.active:focus, +.btn-secondary:active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(96, 96, 96, 0.5); +} +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #fff; + background-color: #444; + border-color: #444; +} +.btn-success { + color: #fff; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-success:hover { + color: #fff; + background-color: #00a077; + border-color: #009670; +} +.btn-check:focus + .btn-success, +.btn-success:focus { + color: #fff; + background-color: #00a077; + border-color: #009670; + box-shadow: 0 0 0 0.25rem rgba(38, 198, 157, 0.5); +} +.btn-check:active + .btn-success, +.btn-check:checked + .btn-success, +.btn-success.active, +.btn-success:active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #009670; + border-color: #008d69; +} +.btn-check:active + .btn-success:focus, +.btn-check:checked + .btn-success:focus, +.btn-success.active:focus, +.btn-success:active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(38, 198, 157, 0.5); +} +.btn-success.disabled, +.btn-success:disabled { + color: #fff; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-info { + color: #fff; + background-color: #3498db; + border-color: #3498db; +} +.btn-info:hover { + color: #fff; + background-color: #2c81ba; + border-color: #2a7aaf; +} +.btn-check:focus + .btn-info, +.btn-info:focus { + color: #fff; + background-color: #2c81ba; + border-color: #2a7aaf; + box-shadow: 0 0 0 0.25rem rgba(82, 167, 224, 0.5); +} +.btn-check:active + .btn-info, +.btn-check:checked + .btn-info, +.btn-info.active, +.btn-info:active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #2a7aaf; + border-color: #2772a4; +} +.btn-check:active + .btn-info:focus, +.btn-check:checked + .btn-info:focus, +.btn-info.active:focus, +.btn-info:active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(82, 167, 224, 0.5); +} +.btn-info.disabled, +.btn-info:disabled { + color: #fff; + background-color: #3498db; + border-color: #3498db; +} +.btn-warning { + color: #fff; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-warning:hover { + color: #fff; + background-color: #cf850f; + border-color: #c27d0e; +} +.btn-check:focus + .btn-warning, +.btn-warning:focus { + color: #fff; + background-color: #cf850f; + border-color: #c27d0e; + box-shadow: 0 0 0 0.25rem rgba(245, 171, 54, 0.5); +} +.btn-check:active + .btn-warning, +.btn-check:checked + .btn-warning, +.btn-warning.active, +.btn-warning:active, +.show > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #c27d0e; + border-color: #b6750e; +} +.btn-check:active + .btn-warning:focus, +.btn-check:checked + .btn-warning:focus, +.btn-warning.active:focus, +.btn-warning:active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(245, 171, 54, 0.5); +} +.btn-warning.disabled, +.btn-warning:disabled { + color: #fff; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-danger { + color: #fff; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-danger:hover { + color: #fff; + background-color: #c44133; + border-color: #b93d30; +} +.btn-check:focus + .btn-danger, +.btn-danger:focus { + color: #fff; + background-color: #c44133; + border-color: #b93d30; + box-shadow: 0 0 0 0.25rem rgba(235, 103, 89, 0.5); +} +.btn-check:active + .btn-danger, +.btn-check:checked + .btn-danger, +.btn-danger.active, +.btn-danger:active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #b93d30; + border-color: #ad392d; +} +.btn-check:active + .btn-danger:focus, +.btn-check:checked + .btn-danger:focus, +.btn-danger.active:focus, +.btn-danger:active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(235, 103, 89, 0.5); +} +.btn-danger.disabled, +.btn-danger:disabled { + color: #fff; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-light { + color: #fff; + background-color: #adb5bd; + border-color: #adb5bd; +} +.btn-light:hover { + color: #fff; + background-color: #939aa1; + border-color: #8a9197; +} +.btn-check:focus + .btn-light, +.btn-light:focus { + color: #fff; + background-color: #939aa1; + border-color: #8a9197; + box-shadow: 0 0 0 0.25rem rgba(185, 192, 199, 0.5); +} +.btn-check:active + .btn-light, +.btn-check:checked + .btn-light, +.btn-light.active, +.btn-light:active, +.show > .btn-light.dropdown-toggle { + color: #fff; + background-color: #8a9197; + border-color: #82888e; +} +.btn-check:active + .btn-light:focus, +.btn-check:checked + .btn-light:focus, +.btn-light.active:focus, +.btn-light:active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(185, 192, 199, 0.5); +} +.btn-light.disabled, +.btn-light:disabled { + color: #fff; + background-color: #adb5bd; + border-color: #adb5bd; +} +.btn-dark { + color: #fff; + background-color: #303030; + border-color: #303030; +} +.btn-dark:hover { + color: #fff; + background-color: #292929; + border-color: #262626; +} +.btn-check:focus + .btn-dark, +.btn-dark:focus { + color: #fff; + background-color: #292929; + border-color: #262626; + box-shadow: 0 0 0 0.25rem rgba(79, 79, 79, 0.5); +} +.btn-check:active + .btn-dark, +.btn-check:checked + .btn-dark, +.btn-dark.active, +.btn-dark:active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #262626; + border-color: #242424; +} +.btn-check:active + .btn-dark:focus, +.btn-check:checked + .btn-dark:focus, +.btn-dark.active:focus, +.btn-dark:active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(79, 79, 79, 0.5); +} +.btn-dark.disabled, +.btn-dark:disabled { + color: #fff; + background-color: #303030; + border-color: #303030; +} +.btn-outline-primary { + color: #375a7f; + border-color: #375a7f; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-check:focus + .btn-outline-primary, +.btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.5); +} +.btn-check:active + .btn-outline-primary, +.btn-check:checked + .btn-outline-primary, +.btn-outline-primary.active, +.btn-outline-primary.dropdown-toggle.show, +.btn-outline-primary:active { + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.btn-check:active + .btn-outline-primary:focus, +.btn-check:checked + .btn-outline-primary:focus, +.btn-outline-primary.active:focus, +.btn-outline-primary.dropdown-toggle.show:focus, +.btn-outline-primary:active:focus { + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.5); +} +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #375a7f; + background-color: transparent; +} +.btn-outline-secondary { + color: #444; + border-color: #444; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #444; + border-color: #444; +} +.btn-check:focus + .btn-outline-secondary, +.btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(68, 68, 68, 0.5); +} +.btn-check:active + .btn-outline-secondary, +.btn-check:checked + .btn-outline-secondary, +.btn-outline-secondary.active, +.btn-outline-secondary.dropdown-toggle.show, +.btn-outline-secondary:active { + color: #fff; + background-color: #444; + border-color: #444; +} +.btn-check:active + .btn-outline-secondary:focus, +.btn-check:checked + .btn-outline-secondary:focus, +.btn-outline-secondary.active:focus, +.btn-outline-secondary.dropdown-toggle.show:focus, +.btn-outline-secondary:active:focus { + box-shadow: 0 0 0 0.25rem rgba(68, 68, 68, 0.5); +} +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #444; + background-color: transparent; +} +.btn-outline-success { + color: #00bc8c; + border-color: #00bc8c; +} +.btn-outline-success:hover { + color: #fff; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-check:focus + .btn-outline-success, +.btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.5); +} +.btn-check:active + .btn-outline-success, +.btn-check:checked + .btn-outline-success, +.btn-outline-success.active, +.btn-outline-success.dropdown-toggle.show, +.btn-outline-success:active { + color: #fff; + background-color: #00bc8c; + border-color: #00bc8c; +} +.btn-check:active + .btn-outline-success:focus, +.btn-check:checked + .btn-outline-success:focus, +.btn-outline-success.active:focus, +.btn-outline-success.dropdown-toggle.show:focus, +.btn-outline-success:active:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 188, 140, 0.5); +} +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #00bc8c; + background-color: transparent; +} +.btn-outline-info { + color: #3498db; + border-color: #3498db; +} +.btn-outline-info:hover { + color: #fff; + background-color: #3498db; + border-color: #3498db; +} +.btn-check:focus + .btn-outline-info, +.btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(52, 152, 219, 0.5); +} +.btn-check:active + .btn-outline-info, +.btn-check:checked + .btn-outline-info, +.btn-outline-info.active, +.btn-outline-info.dropdown-toggle.show, +.btn-outline-info:active { + color: #fff; + background-color: #3498db; + border-color: #3498db; +} +.btn-check:active + .btn-outline-info:focus, +.btn-check:checked + .btn-outline-info:focus, +.btn-outline-info.active:focus, +.btn-outline-info.dropdown-toggle.show:focus, +.btn-outline-info:active:focus { + box-shadow: 0 0 0 0.25rem rgba(52, 152, 219, 0.5); +} +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #3498db; + background-color: transparent; +} +.btn-outline-warning { + color: #f39c12; + border-color: #f39c12; +} +.btn-outline-warning:hover { + color: #fff; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-check:focus + .btn-outline-warning, +.btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.5); +} +.btn-check:active + .btn-outline-warning, +.btn-check:checked + .btn-outline-warning, +.btn-outline-warning.active, +.btn-outline-warning.dropdown-toggle.show, +.btn-outline-warning:active { + color: #fff; + background-color: #f39c12; + border-color: #f39c12; +} +.btn-check:active + .btn-outline-warning:focus, +.btn-check:checked + .btn-outline-warning:focus, +.btn-outline-warning.active:focus, +.btn-outline-warning.dropdown-toggle.show:focus, +.btn-outline-warning:active:focus { + box-shadow: 0 0 0 0.25rem rgba(243, 156, 18, 0.5); +} +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #f39c12; + background-color: transparent; +} +.btn-outline-danger { + color: #e74c3c; + border-color: #e74c3c; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-check:focus + .btn-outline-danger, +.btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.5); +} +.btn-check:active + .btn-outline-danger, +.btn-check:checked + .btn-outline-danger, +.btn-outline-danger.active, +.btn-outline-danger.dropdown-toggle.show, +.btn-outline-danger:active { + color: #fff; + background-color: #e74c3c; + border-color: #e74c3c; +} +.btn-check:active + .btn-outline-danger:focus, +.btn-check:checked + .btn-outline-danger:focus, +.btn-outline-danger.active:focus, +.btn-outline-danger.dropdown-toggle.show:focus, +.btn-outline-danger:active:focus { + box-shadow: 0 0 0 0.25rem rgba(231, 76, 60, 0.5); +} +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #e74c3c; + background-color: transparent; +} +.btn-outline-light { + color: #adb5bd; + border-color: #adb5bd; +} +.btn-outline-light:hover { + color: #fff; + background-color: #adb5bd; + border-color: #adb5bd; +} +.btn-check:focus + .btn-outline-light, +.btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(173, 181, 189, 0.5); +} +.btn-check:active + .btn-outline-light, +.btn-check:checked + .btn-outline-light, +.btn-outline-light.active, +.btn-outline-light.dropdown-toggle.show, +.btn-outline-light:active { + color: #fff; + background-color: #adb5bd; + border-color: #adb5bd; +} +.btn-check:active + .btn-outline-light:focus, +.btn-check:checked + .btn-outline-light:focus, +.btn-outline-light.active:focus, +.btn-outline-light.dropdown-toggle.show:focus, +.btn-outline-light:active:focus { + box-shadow: 0 0 0 0.25rem rgba(173, 181, 189, 0.5); +} +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #adb5bd; + background-color: transparent; +} +.btn-outline-dark { + color: #303030; + border-color: #303030; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #303030; + border-color: #303030; +} +.btn-check:focus + .btn-outline-dark, +.btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(48, 48, 48, 0.5); +} +.btn-check:active + .btn-outline-dark, +.btn-check:checked + .btn-outline-dark, +.btn-outline-dark.active, +.btn-outline-dark.dropdown-toggle.show, +.btn-outline-dark:active { + color: #fff; + background-color: #303030; + border-color: #303030; +} +.btn-check:active + .btn-outline-dark:focus, +.btn-check:checked + .btn-outline-dark:focus, +.btn-outline-dark.active:focus, +.btn-outline-dark.dropdown-toggle.show:focus, +.btn-outline-dark:active:focus { + box-shadow: 0 0 0 0.25rem rgba(48, 48, 48, 0.5); +} +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #303030; + background-color: transparent; +} +.btn-link { + font-weight: 400; + color: #00bc8c; + text-decoration: underline; +} +.btn-link:hover { + color: #009670; +} +.btn-link.disabled, +.btn-link:disabled { + color: #888; +} +.btn-group-lg > .btn, +.btn-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.btn-group-sm > .btn, +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} +.collapse:not(.show) { + display: none; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} +.dropdown, +.dropend, +.dropstart, +.dropup { + position: relative; +} +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #fff; + text-align: left; + list-style: none; + background-color: #222; + background-clip: padding-box; + border: 1px solid #444; + border-radius: 0.25rem; +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #444; +} +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #fff; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:focus, +.dropdown-item:hover { + color: #fff; + background-color: #375a7f; +} +.dropdown-item.active, +.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #375a7f; +} +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #888; + white-space: nowrap; +} +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #fff; +} +.dropdown-menu-dark { + color: #dee2e6; + background-color: #303030; + border-color: #444; +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-item:focus, +.dropdown-menu-dark .dropdown-item:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, +.dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #375a7f; +} +.dropdown-menu-dark .dropdown-item.disabled, +.dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: #444; +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group > .btn-group:not(:first-child), +.btn-group > .btn:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn-group:not(:first-child), +.btn-group-vertical > .btn:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn ~ .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: 0.5rem 2rem; + color: #00bc8c; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:focus, +.nav-link:hover { + color: #009670; +} +.nav-link.disabled { + color: #adb5bd; + pointer-events: none; + cursor: default; +} +.nav-tabs { + border-bottom: 1px solid #444; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: 0 0; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #444 #444 transparent; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #adb5bd; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: #fff; + background-color: #222; + border-color: #444 #444 transparent; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav-pills .nav-link { + background: 0 0; + border: 0; + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #375a7f; +} +.nav-fill .nav-item, +.nav-fill > .nav-link { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item, +.nav-justified > .nav-link { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding-top: 1rem; + padding-bottom: 1rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-lg, +.navbar > .container-md, +.navbar > .container-sm, +.navbar > .container-xl, +.navbar > .container-xxl { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: inherit; + flex-wrap: inherit; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; + } + .navbar-expand-sm .offcanvas-bottom, + .navbar-expand-sm .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; + } + .navbar-expand-md .offcanvas-bottom, + .navbar-expand-md .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; + } + .navbar-expand-lg .offcanvas-bottom, + .navbar-expand-lg .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; + } + .navbar-expand-xl .offcanvas-bottom, + .navbar-expand-xl .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-bottom, + .navbar-expand-xxl .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + -webkit-transform: none; + transform: none; +} +.navbar-expand .offcanvas-bottom, +.navbar-expand .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: -ms-flexbox; + display: flex; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} +.navbar-light .navbar-brand { + color: #222; +} +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: #222; +} +.navbar-light .navbar-nav .nav-link { + color: rgba(34, 34, 34, 0.7); +} +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: #222; +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .show > .nav-link { + color: #222; +} +.navbar-light .navbar-toggler { + color: rgba(34, 34, 34, 0.7); + border-color: rgba(34, 34, 34, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2834, 34, 34, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(34, 34, 34, 0.7); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: #222; +} +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.6); +} +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .show > .nav-link { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.6); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.6); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: #fff; +} +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #303030; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem 1rem; +} +.card-title { + margin-bottom: 0.5rem; +} +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} +.card-text:last-child { + margin-bottom: 0; +} +.card-link + .card-link { + margin-left: 1rem; +} +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: #444; + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} +.card-footer { + padding: 0.5rem 1rem; + background-color: #444; + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: #303030; + border-bottom-color: #303030; +} +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); +} +.card-img, +.card-img-bottom, +.card-img-top { + width: 100%; +} +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-header, + .card-group > .card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-footer, + .card-group > .card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-header, + .card-group > .card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-footer, + .card-group > .card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } +} +.accordion-button { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #fff; + text-align: left; + background-color: #222; + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, + border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #325172; + background-color: #ebeff2; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23325172'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + -webkit-transform: rotate(-180deg); + transform: rotate(-180deg); +} +.accordion-button::after { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ''; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: -webkit-transform 0.2s ease-in-out; + transition: transform 0.2s ease-in-out; + transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #9badbf; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.accordion-header { + margin-bottom: 0; +} +.accordion-item { + background-color: #222; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-body { + padding: 1rem 1.25rem; +} +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button { + border-radius: 0; +} +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.375rem 0.75rem; + margin-bottom: 1rem; + list-style: none; + background-color: #444; + border-radius: 0.25rem; +} +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #888; + content: var(--bs-breadcrumb-divider, '/'); +} +.breadcrumb-item.active { + color: #888; +} +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; +} +.page-link { + position: relative; + display: block; + color: #fff; + text-decoration: none; + background-color: #00bc8c; + border: 0 solid transparent; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #fff; + background-color: #00efb2; + border-color: transparent; +} +.page-link:focus { + z-index: 3; + color: #009670; + background-color: #ebebeb; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); +} +.page-item:not(:first-child) .page-link { + margin-left: 0; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #00efb2; + border-color: transparent; +} +.page-item.disabled .page-link { + color: #fff; + pointer-events: none; + background-color: #007053; + border-color: transparent; +} +.page-link { + padding: 0.375rem 0.75rem; +} +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} +.alert-heading { + color: inherit; +} +.alert-link { + font-weight: 700; +} +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} +.alert-primary { + color: #21364c; + background-color: #d7dee5; + border-color: #c3ced9; +} +.alert-primary .alert-link { + color: #1a2b3d; +} +.alert-secondary { + color: #292929; + background-color: #dadada; + border-color: #c7c7c7; +} +.alert-secondary .alert-link { + color: #212121; +} +.alert-success { + color: #007154; + background-color: #ccf2e8; + border-color: #b3ebdd; +} +.alert-success .alert-link { + color: #005a43; +} +.alert-info { + color: #1f5b83; + background-color: #d6eaf8; + border-color: #c2e0f4; +} +.alert-info .alert-link { + color: #194969; +} +.alert-warning { + color: #925e0b; + background-color: #fdebd0; + border-color: #fbe1b8; +} +.alert-warning .alert-link { + color: #754b09; +} +.alert-danger { + color: #8b2e24; + background-color: #fadbd8; + border-color: #f8c9c5; +} +.alert-danger .alert-link { + color: #6f251d; +} +.alert-light { + color: #686d71; + background-color: #eff0f2; + border-color: #e6e9eb; +} +.alert-light .alert-link { + color: #53575a; +} +.alert-dark { + color: #1d1d1d; + background-color: #d6d6d6; + border-color: #c1c1c1; +} +.alert-dark .alert-link { + color: #171717; +} +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #444; + border-radius: 0.25rem; +} +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #375a7f; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); + background-size: 1rem 1rem; +} +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, '.') '. '; + counter-increment: section; +} +.list-group-item-action { + width: 100%; + color: #444; + text-align: inherit; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + z-index: 1; + color: #fff; + text-decoration: none; + background-color: #444; +} +.list-group-item-action:active { + color: #fff; + background-color: #222; +} +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #fff; + text-decoration: none; + background-color: #303030; + border: 1px solid #444; +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, +.list-group-item:disabled { + color: #888; + pointer-events: none; + background-color: #303030; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #375a7f; + border-color: #375a7f; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} +.list-group-item-primary { + color: #21364c; + background-color: #d7dee5; +} +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #21364c; + background-color: #c2c8ce; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #21364c; + border-color: #21364c; +} +.list-group-item-secondary { + color: #292929; + background-color: #dadada; +} +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #292929; + background-color: #c4c4c4; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #292929; + border-color: #292929; +} +.list-group-item-success { + color: #007154; + background-color: #ccf2e8; +} +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #007154; + background-color: #b8dad1; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #007154; + border-color: #007154; +} +.list-group-item-info { + color: #1f5b83; + background-color: #d6eaf8; +} +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #1f5b83; + background-color: #c1d3df; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #1f5b83; + border-color: #1f5b83; +} +.list-group-item-warning { + color: #925e0b; + background-color: #fdebd0; +} +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #925e0b; + background-color: #e4d4bb; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #925e0b; + border-color: #925e0b; +} +.list-group-item-danger { + color: #8b2e24; + background-color: #fadbd8; +} +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #8b2e24; + background-color: #e1c5c2; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #8b2e24; + border-color: #8b2e24; +} +.list-group-item-light { + color: #686d71; + background-color: #eff0f2; +} +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #686d71; + background-color: #d7d8da; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #686d71; + border-color: #686d71; +} +.list-group-item-dark { + color: #1d1d1d; + background-color: #d6d6d6; +} +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #1d1d1d; + background-color: #c1c1c1; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1d1d1d; + border-color: #1d1d1d; +} +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #fff; + background: transparent + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") + center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.4; +} +.btn-close:hover { + color: #fff; + text-decoration: none; + opacity: 1; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25); + opacity: 1; +} +.btn-close.disabled, +.btn-close:disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: 0.25; +} +.btn-close-white { + -webkit-filter: invert(1) grayscale(100%) brightness(200%); + filter: invert(1) grayscale(100%) brightness(200%); +} +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: #444; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 0.75rem; +} +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.5rem 0.75rem; + color: #888; + background-color: #303030; + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} +.modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #303030; + background-clip: padding-box; + border: 1px solid #444; + border-radius: 0.3rem; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-negative: 0; + flex-shrink: 0; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #444; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-negative: 0; + flex-shrink: 0; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #444; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ''; + border-color: transparent; + border-style: solid; +} +.bs-tooltip-auto[data-popper-placement^='top'], +.bs-tooltip-top { + padding: 0.4rem 0; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow, +.bs-tooltip-top .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow::before, +.bs-tooltip-top .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='right'], +.bs-tooltip-end { + padding: 0 0.4rem; +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow, +.bs-tooltip-end .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow::before, +.bs-tooltip-end .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='bottom'], +.bs-tooltip-bottom { + padding: 0.4rem 0; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow, +.bs-tooltip-bottom .tooltip-arrow { + top: 0; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow::before, +.bs-tooltip-bottom .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='left'], +.bs-tooltip-start { + padding: 0 0.4rem; +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow, +.bs-tooltip-start .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow::before, +.bs-tooltip-start .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1070; + display: block; + max-width: 276px; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #303030; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::after, +.popover .popover-arrow::before { + position: absolute; + display: block; + content: ''; + border-color: transparent; + border-style: solid; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow, +.bs-popover-top > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after, +.bs-popover-top > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #303030; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow, +.bs-popover-end > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after, +.bs-popover-end > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #303030; +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow, +.bs-popover-bottom > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #303030; +} +.bs-popover-auto[data-popper-placement^='bottom'] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ''; + border-bottom: 1px solid #444; +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow, +.bs-popover-start > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after, +.bs-popover-start > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #303030; +} +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #444; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} +.popover-body { + padding: 1rem 1rem; + color: #fff; +} +.carousel { + position: relative; +} +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ''; +} +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.active.carousel-item-end, +.carousel-item-next:not(.carousel-item-start) { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.active.carousel-item-start, +.carousel-item-prev:not(.carousel-item-end) { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end, +.carousel-fade .carousel-item.active { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-end, +.carousel-fade .active.carousel-item-start { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-end, + .carousel-fade .active.carousel-item-start { + transition: none; + } +} +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: 0 0; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-next, + .carousel-control-prev { + transition: none; + } +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + -webkit-filter: invert(1) grayscale(100); + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; +} +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; +} +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #303030; + background-clip: padding-box; + outline: 0; + transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} +.offcanvas-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} +.offcanvas-body { + -ms-flex-positive: 1; + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid #444; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid #444; + -webkit-transform: translateX(100%); + transform: translateX(100%); +} +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid #444; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); +} +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid #444; + -webkit-transform: translateY(100%); + transform: translateY(100%); +} +.offcanvas.show { + -webkit-transform: none; + transform: none; +} +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentColor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ''; +} +.placeholder-xs { + min-height: 0.6em; +} +.placeholder-sm { + min-height: 0.8em; +} +.placeholder-lg { + min-height: 1.2em; +} +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0; + mask-position: -200% 0; + } +} +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0; + mask-position: -200% 0; + } +} +.clearfix::after { + display: block; + clear: both; + content: ''; +} +.link-primary { + color: #375a7f; +} +.link-primary:focus, +.link-primary:hover { + color: #2c4866; +} +.link-secondary { + color: #444; +} +.link-secondary:focus, +.link-secondary:hover { + color: #363636; +} +.link-success { + color: #00bc8c; +} +.link-success:focus, +.link-success:hover { + color: #009670; +} +.link-info { + color: #3498db; +} +.link-info:focus, +.link-info:hover { + color: #2a7aaf; +} +.link-warning { + color: #f39c12; +} +.link-warning:focus, +.link-warning:hover { + color: #c27d0e; +} +.link-danger { + color: #e74c3c; +} +.link-danger:focus, +.link-danger:hover { + color: #b93d30; +} +.link-light { + color: #adb5bd; +} +.link-light:focus, +.link-light:hover { + color: #8a9197; +} +.link-dark { + color: #303030; +} +.link-dark:focus, +.link-dark:hover { + color: #262626; +} +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ''; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} +.ratio-4x3 { + --bs-aspect-ratio: calc(3 / 4 * 100%); +} +.ratio-16x9 { + --bs-aspect-ratio: calc(9 / 16 * 100%); +} +.ratio-21x9 { + --bs-aspect-ratio: calc(9 / 21 * 100%); +} +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +.hstack { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-align: center; + align-items: center; + -ms-flex-item-align: stretch; + align-self: stretch; +} +.vstack { + display: -ms-flexbox; + display: flex; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-item-align: stretch; + align-self: stretch; +} +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ''; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.vr { + display: inline-block; + -ms-flex-item-align: stretch; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentColor; + opacity: 0.25; +} +.align-baseline { + vertical-align: baseline !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.float-start { + float: left !important; +} +.float-end { + float: right !important; +} +.float-none { + float: none !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-25 { + opacity: 0.25 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-grid { + display: grid !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} +.d-none { + display: none !important; +} +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} +.shadow-none { + box-shadow: none !important; +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.top-0 { + top: 0 !important; +} +.top-50 { + top: 50% !important; +} +.top-100 { + top: 100% !important; +} +.bottom-0 { + bottom: 0 !important; +} +.bottom-50 { + bottom: 50% !important; +} +.bottom-100 { + bottom: 100% !important; +} +.start-0 { + left: 0 !important; +} +.start-50 { + left: 50% !important; +} +.start-100 { + left: 100% !important; +} +.end-0 { + right: 0 !important; +} +.end-50 { + right: 50% !important; +} +.end-100 { + right: 100% !important; +} +.translate-middle { + -webkit-transform: translate(-50%, -50%) !important; + transform: translate(-50%, -50%) !important; +} +.translate-middle-x { + -webkit-transform: translateX(-50%) !important; + transform: translateX(-50%) !important; +} +.translate-middle-y { + -webkit-transform: translateY(-50%) !important; + transform: translateY(-50%) !important; +} +.border { + border: 1px solid #dee2e6 !important; +} +.border-0 { + border: 0 !important; +} +.border-top { + border-top: 1px solid #dee2e6 !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-end { + border-right: 1px solid #dee2e6 !important; +} +.border-end-0 { + border-right: 0 !important; +} +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-start { + border-left: 1px solid #dee2e6 !important; +} +.border-start-0 { + border-left: 0 !important; +} +.border-primary { + border-color: #375a7f !important; +} +.border-secondary { + border-color: #444 !important; +} +.border-success { + border-color: #00bc8c !important; +} +.border-info { + border-color: #3498db !important; +} +.border-warning { + border-color: #f39c12 !important; +} +.border-danger { + border-color: #e74c3c !important; +} +.border-light { + border-color: #adb5bd !important; +} +.border-dark { + border-color: #303030 !important; +} +.border-white { + border-color: #fff !important; +} +.border-1 { + border-width: 1px !important; +} +.border-2 { + border-width: 2px !important; +} +.border-3 { + border-width: 3px !important; +} +.border-4 { + border-width: 4px !important; +} +.border-5 { + border-width: 5px !important; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-auto { + width: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.vw-100 { + width: 100vw !important; +} +.min-vw-100 { + min-width: 100vw !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-auto { + height: auto !important; +} +.mh-100 { + max-height: 100% !important; +} +.vh-100 { + height: 100vh !important; +} +.min-vh-100 { + min-height: 100vh !important; +} +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-3 { + gap: 1rem !important; +} +.gap-4 { + gap: 1.5rem !important; +} +.gap-5 { + gap: 3rem !important; +} +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} +.justify-content-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; +} +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} +.order-first { + -ms-flex-order: -1 !important; + order: -1 !important; +} +.order-0 { + -ms-flex-order: 0 !important; + order: 0 !important; +} +.order-1 { + -ms-flex-order: 1 !important; + order: 1 !important; +} +.order-2 { + -ms-flex-order: 2 !important; + order: 2 !important; +} +.order-3 { + -ms-flex-order: 3 !important; + order: 3 !important; +} +.order-4 { + -ms-flex-order: 4 !important; + order: 4 !important; +} +.order-5 { + -ms-flex-order: 5 !important; + order: 5 !important; +} +.order-last { + -ms-flex-order: 6 !important; + order: 6 !important; +} +.m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.m-3 { + margin: 1rem !important; +} +.m-4 { + margin: 1.5rem !important; +} +.m-5 { + margin: 3rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mt-3 { + margin-top: 1rem !important; +} +.mt-4 { + margin-top: 1.5rem !important; +} +.mt-5 { + margin-top: 3rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.me-0 { + margin-right: 0 !important; +} +.me-1 { + margin-right: 0.25rem !important; +} +.me-2 { + margin-right: 0.5rem !important; +} +.me-3 { + margin-right: 1rem !important; +} +.me-4 { + margin-right: 1.5rem !important; +} +.me-5 { + margin-right: 3rem !important; +} +.me-auto { + margin-right: auto !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-3 { + margin-bottom: 1rem !important; +} +.mb-4 { + margin-bottom: 1.5rem !important; +} +.mb-5 { + margin-bottom: 3rem !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ms-0 { + margin-left: 0 !important; +} +.ms-1 { + margin-left: 0.25rem !important; +} +.ms-2 { + margin-left: 0.5rem !important; +} +.ms-3 { + margin-left: 1rem !important; +} +.ms-4 { + margin-left: 1.5rem !important; +} +.ms-5 { + margin-left: 3rem !important; +} +.ms-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 1rem !important; +} +.p-4 { + padding: 1.5rem !important; +} +.p-5 { + padding: 3rem !important; +} +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pt-3 { + padding-top: 1rem !important; +} +.pt-4 { + padding-top: 1.5rem !important; +} +.pt-5 { + padding-top: 3rem !important; +} +.pe-0 { + padding-right: 0 !important; +} +.pe-1 { + padding-right: 0.25rem !important; +} +.pe-2 { + padding-right: 0.5rem !important; +} +.pe-3 { + padding-right: 1rem !important; +} +.pe-4 { + padding-right: 1.5rem !important; +} +.pe-5 { + padding-right: 3rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-3 { + padding-bottom: 1rem !important; +} +.pb-4 { + padding-bottom: 1.5rem !important; +} +.pb-5 { + padding-bottom: 3rem !important; +} +.ps-0 { + padding-left: 0 !important; +} +.ps-1 { + padding-left: 0.25rem !important; +} +.ps-2 { + padding-left: 0.5rem !important; +} +.ps-3 { + padding-left: 1rem !important; +} +.ps-4 { + padding-left: 1.5rem !important; +} +.ps-5 { + padding-left: 3rem !important; +} +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} +.fs-1 { + font-size: calc(1.425rem + 2.1vw) !important; +} +.fs-2 { + font-size: calc(1.375rem + 1.5vw) !important; +} +.fs-3 { + font-size: calc(1.325rem + 0.9vw) !important; +} +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} +.fst-italic { + font-style: italic !important; +} +.fst-normal { + font-style: normal !important; +} +.fw-light { + font-weight: 300 !important; +} +.fw-lighter { + font-weight: lighter !important; +} +.fw-normal { + font-weight: 400 !important; +} +.fw-bold { + font-weight: 700 !important; +} +.fw-bolder { + font-weight: bolder !important; +} +.lh-1 { + line-height: 1 !important; +} +.lh-sm { + line-height: 1.25 !important; +} +.lh-base { + line-height: 1.5 !important; +} +.lh-lg { + line-height: 2 !important; +} +.text-start { + text-align: left !important; +} +.text-end { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +.text-decoration-none { + text-decoration: none !important; +} +.text-decoration-underline { + text-decoration: underline !important; +} +.text-decoration-line-through { + text-decoration: line-through !important; +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.text-wrap { + white-space: normal !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} +.text-muted { + --bs-text-opacity: 1; + color: #888 !important; +} +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} +.text-opacity-25 { + --bs-text-opacity: 0.25; +} +.text-opacity-50 { + --bs-text-opacity: 0.5; +} +.text-opacity-75 { + --bs-text-opacity: 0.75; +} +.text-opacity-100 { + --bs-text-opacity: 1; +} +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-primary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-secondary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-success-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-warning-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-body-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} +.bg-opacity-100 { + --bs-bg-opacity: 1; +} +.bg-gradient { + background-image: var(--bs-gradient) !important; +} +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} +.pe-none { + pointer-events: none !important; +} +.pe-auto { + pointer-events: auto !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.rounded-1 { + border-radius: 0.2rem !important; +} +.rounded-2 { + border-radius: 0.25rem !important; +} +.rounded-3 { + border-radius: 0.3rem !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-pill { + border-radius: 50rem !important; +} +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .justify-content-sm-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + .order-sm-first { + -ms-flex-order: -1 !important; + order: -1 !important; + } + .order-sm-0 { + -ms-flex-order: 0 !important; + order: 0 !important; + } + .order-sm-1 { + -ms-flex-order: 1 !important; + order: 1 !important; + } + .order-sm-2 { + -ms-flex-order: 2 !important; + order: 2 !important; + } + .order-sm-3 { + -ms-flex-order: 3 !important; + order: 3 !important; + } + .order-sm-4 { + -ms-flex-order: 4 !important; + order: 4 !important; + } + .order-sm-5 { + -ms-flex-order: 5 !important; + order: 5 !important; + } + .order-sm-last { + -ms-flex-order: 6 !important; + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .justify-content-md-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + .order-md-first { + -ms-flex-order: -1 !important; + order: -1 !important; + } + .order-md-0 { + -ms-flex-order: 0 !important; + order: 0 !important; + } + .order-md-1 { + -ms-flex-order: 1 !important; + order: 1 !important; + } + .order-md-2 { + -ms-flex-order: 2 !important; + order: 2 !important; + } + .order-md-3 { + -ms-flex-order: 3 !important; + order: 3 !important; + } + .order-md-4 { + -ms-flex-order: 4 !important; + order: 4 !important; + } + .order-md-5 { + -ms-flex-order: 5 !important; + order: 5 !important; + } + .order-md-last { + -ms-flex-order: 6 !important; + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .justify-content-lg-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + .order-lg-first { + -ms-flex-order: -1 !important; + order: -1 !important; + } + .order-lg-0 { + -ms-flex-order: 0 !important; + order: 0 !important; + } + .order-lg-1 { + -ms-flex-order: 1 !important; + order: 1 !important; + } + .order-lg-2 { + -ms-flex-order: 2 !important; + order: 2 !important; + } + .order-lg-3 { + -ms-flex-order: 3 !important; + order: 3 !important; + } + .order-lg-4 { + -ms-flex-order: 4 !important; + order: 4 !important; + } + .order-lg-5 { + -ms-flex-order: 5 !important; + order: 5 !important; + } + .order-lg-last { + -ms-flex-order: 6 !important; + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .justify-content-xl-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + .order-xl-first { + -ms-flex-order: -1 !important; + order: -1 !important; + } + .order-xl-0 { + -ms-flex-order: 0 !important; + order: 0 !important; + } + .order-xl-1 { + -ms-flex-order: 1 !important; + order: 1 !important; + } + .order-xl-2 { + -ms-flex-order: 2 !important; + order: 2 !important; + } + .order-xl-3 { + -ms-flex-order: 3 !important; + order: 3 !important; + } + .order-xl-4 { + -ms-flex-order: 4 !important; + order: 4 !important; + } + .order-xl-5 { + -ms-flex-order: 5 !important; + order: 5 !important; + } + .order-xl-last { + -ms-flex-order: 6 !important; + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xxl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xxl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xxl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xxl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .justify-content-xxl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xxl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xxl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xxl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xxl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; + } + .align-items-xxl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xxl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xxl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xxl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xxl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xxl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xxl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xxl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xxl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xxl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xxl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xxl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xxl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xxl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xxl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xxl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xxl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } + .order-xxl-first { + -ms-flex-order: -1 !important; + order: -1 !important; + } + .order-xxl-0 { + -ms-flex-order: 0 !important; + order: 0 !important; + } + .order-xxl-1 { + -ms-flex-order: 1 !important; + order: 1 !important; + } + .order-xxl-2 { + -ms-flex-order: 2 !important; + order: 2 !important; + } + .order-xxl-3 { + -ms-flex-order: 3 !important; + order: 3 !important; + } + .order-xxl-4 { + -ms-flex-order: 4 !important; + order: 4 !important; + } + .order-xxl-5 { + -ms-flex-order: 5 !important; + order: 5 !important; + } + .order-xxl-last { + -ms-flex-order: 6 !important; + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 3rem !important; + } + .fs-2 { + font-size: 2.5rem !important; + } + .fs-3 { + font-size: 2rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +.blockquote-footer { + color: #888; +} +.input-group-addon { + color: #fff; +} +.form-floating > label { + color: #444; +} +.nav-pills .nav-item.open .nav-link, +.nav-pills .nav-item.open .nav-link:focus, +.nav-pills .nav-item.open .nav-link:hover, +.nav-pills .nav-link, +.nav-pills .nav-link.active, +.nav-pills .nav-link.active:focus, +.nav-pills .nav-link.active:hover, +.nav-tabs .nav-item.open .nav-link, +.nav-tabs .nav-item.open .nav-link:focus, +.nav-tabs .nav-item.open .nav-link:hover, +.nav-tabs .nav-link, +.nav-tabs .nav-link.active, +.nav-tabs .nav-link.active:focus, +.nav-tabs .nav-link.active:hover { + color: #fff; +} +.breadcrumb a { + color: #fff; +} +.pagination a:hover { + text-decoration: none; +} +.alert { + border: none; + color: #fff; +} +.alert .alert-link, +.alert a { + color: #fff; + text-decoration: underline; +} +.alert-primary { + background-color: #375a7f; +} +.alert-secondary { + background-color: #444; +} +.alert-success { + background-color: #00bc8c; +} +.alert-info { + background-color: #3498db; +} +.alert-warning { + background-color: #f39c12; +} +.alert-danger { + background-color: #e74c3c; +} +.alert-light { + background-color: #adb5bd; +} +.alert-dark { + background-color: #303030; +} diff --git a/htdocs/www/css/bs.plain.css b/htdocs/www/css/bs.plain.css new file mode 100644 index 0000000..0cda98f --- /dev/null +++ b/htdocs/www/css/bs.plain.css @@ -0,0 +1,9872 @@ +@charset "UTF-8"; /*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, 'Segoe UI', Roboto, + 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; + --bs-gradient: linear-gradient( + 180deg, + rgba(255, 255, 255, 0.15), + rgba(255, 255, 255, 0) + ); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-bg: #212529; + --bs-body-color: #fff; + /* --bs-body-color: #212529; */ + /* --bs-body-bg: #fff; */ +} +*, +::after, +::before { + box-sizing: border-box; +} +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; +} +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} +hr:not([size]) { + height: 1px; +} +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} +.h1, +h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + .h1, + h1 { + font-size: 2.5rem; + } +} +.h2, +h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + .h2, + h2 { + font-size: 2rem; + } +} +.h3, +h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + .h3, + h3 { + font-size: 1.75rem; + } +} +.h4, +h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + .h4, + h4 { + font-size: 1.5rem; + } +} +.h5, +h5 { + font-size: 1.25rem; +} +.h6, +h6 { + font-size: 1rem; +} +p { + margin-top: 0; + margin-bottom: 1rem; +} +abbr[data-bs-original-title], +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} +ol, +ul { + padding-left: 2rem; +} +dl, +ol, +ul { + margin-top: 0; + margin-bottom: 1rem; +} +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0; +} +dt { + font-weight: 700; +} +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} +blockquote { + margin: 0 0 1rem; +} +b, +strong { + font-weight: bolder; +} +.small, +small { + font-size: 0.875em; +} +.mark, +mark { + padding: 0.2em; + background-color: #fcf8e3; +} +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: #0d6efd; + text-decoration: underline; +} +a:hover { + color: #0a58ca; +} +a:not([href]):not([class]), +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} +code, +kbd, +pre, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr; + unicode-bidi: bidi-override; +} +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} +a > code { + color: inherit; +} +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; +} +figure { + margin: 0 0 1rem; +} +img, +svg { + vertical-align: middle; +} +table { + caption-side: bottom; + border-collapse: collapse; +} +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} +th { + text-align: inherit; + text-align: -webkit-match-parent; +} +tbody, +td, +tfoot, +th, +thead, +tr { + border-color: inherit; + border-style: solid; + border-width: 0; +} +label { + display: inline-block; +} +button { + border-radius: 0; +} +button:focus:not(:focus-visible) { + outline: 0; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +button, +select { + text-transform: none; +} +[role='button'] { + cursor: pointer; +} +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} +[list]::-webkit-calendar-picker-indicator { + display: none; +} +[type='button'], +[type='reset'], +[type='submit'], +button { + -webkit-appearance: button; +} +[type='button']:not(:disabled), +[type='reset']:not(:disabled), +[type='submit']:not(:disabled), +button:not(:disabled) { + cursor: pointer; +} +::-moz-focus-inner { + padding: 0; + border-style: none; +} +textarea { + resize: vertical; +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-year-field { + padding: 0; +} +::-webkit-inner-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; + -webkit-appearance: textfield; +} +::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-color-swatch-wrapper { + padding: 0; +} +::-webkit-file-upload-button { + font: inherit; +} +::file-selector-button { + font: inherit; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +iframe { + border: 0; +} +summary { + display: list-item; + cursor: pointer; +} +progress { + vertical-align: baseline; +} +[hidden] { + display: none !important; +} +.lead { + font-size: 1.25rem; + font-weight: 300; +} +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; +} +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: '— '; +} +.img-fluid { + max-width: 100%; + height: auto; +} +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} +.figure { + display: inline-block; +} +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} +.container, +.container-fluid, +.container-lg, +.container-md, +.container-sm, +.container-xl, +.container-xxl { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} +@media (min-width: 576px) { + .container, + .container-sm { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container, + .container-md, + .container-sm { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container, + .container-lg, + .container-md, + .container-sm { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} +.col { + flex: 1 0 0%; +} +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} +.col-auto { + flex: 0 0 auto; + width: auto; +} +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} +.col-3 { + flex: 0 0 auto; + width: 25%; +} +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} +.col-6 { + flex: 0 0 auto; + width: 50%; +} +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} +.col-9 { + flex: 0 0 auto; + width: 75%; +} +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} +.col-12 { + flex: 0 0 auto; + width: 100%; +} +.offset-1 { + margin-left: 8.33333333%; +} +.offset-2 { + margin-left: 16.66666667%; +} +.offset-3 { + margin-left: 25%; +} +.offset-4 { + margin-left: 33.33333333%; +} +.offset-5 { + margin-left: 41.66666667%; +} +.offset-6 { + margin-left: 50%; +} +.offset-7 { + margin-left: 58.33333333%; +} +.offset-8 { + margin-left: 66.66666667%; +} +.offset-9 { + margin-left: 75%; +} +.offset-10 { + margin-left: 83.33333333%; +} +.offset-11 { + margin-left: 91.66666667%; +} +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:first-child) { + border-top: 2px solid currentColor; +} +.caption-top { + caption-side: top; +} +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} +.table-primary { + --bs-table-bg: #cfe2ff; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: #000; + border-color: #bacbe6; +} +.table-secondary { + --bs-table-bg: #e2e3e5; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: #000; + border-color: #cbccce; +} +.table-success { + --bs-table-bg: #d1e7dd; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #bcd0c7; +} +.table-info { + --bs-table-bg: #cff4fc; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: #000; + border-color: #badce3; +} +.table-warning { + --bs-table-bg: #fff3cd; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: #000; + border-color: #e6dbb9; +} +.table-danger { + --bs-table-bg: #f8d7da; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfc2c4; +} +.table-light { + --bs-table-bg: #f8f9fa; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfe0e1; +} +.table-dark { + --bs-table-bg: #212529; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #373b3e; +} +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type='file'] { + overflow: hidden; +} +.form-control[type='file']:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, +.form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm { + padding-right: 0; + padding-left: 0; +} +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], +.form-select[size]:not([size='1']) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type='checkbox'] { + border-radius: 0.25em; +} +.form-check-input[type='radio'] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type='checkbox'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type='radio'] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type='checkbox']:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input:disabled ~ .form-check-label, +.form-check-input[disabled] ~ .form-check-label { + opacity: 0.5; +} +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + 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='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + 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='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + 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"); +} +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check:disabled + .btn, +.btn-check[disabled] + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, + box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} +.input-group-lg > .btn, +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.input-group-sm > .btn, +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), +.input-group:not(.has-validation) + > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), +.input-group.has-validation + > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group + > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.25rem; +} +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip, +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip { + display: block; +} +.form-control.is-valid, +.was-validated .form-control:valid { + border-color: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-valid:focus, +.was-validated .form-control:valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-valid, +.was-validated .form-select:valid { + border-color: #198754; +} +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size='1'], +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-valid:focus, +.was-validated .form-select:valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.form-check-input.is-valid, +.was-validated .form-check-input:valid { + border-color: #198754; +} +.form-check-input.is-valid:checked, +.was-validated .form-check-input:valid:checked { + background-color: #198754; +} +.form-check-input.is-valid:focus, +.was-validated .form-check-input:valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.form-check-input.is-valid ~ .form-check-label, +.was-validated .form-check-input:valid ~ .form-check-label { + color: #198754; +} +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} +.input-group .form-control.is-valid, +.input-group .form-select.is-valid, +.was-validated .input-group .form-control:valid, +.was-validated .input-group .form-select:valid { + z-index: 1; +} +.input-group .form-control.is-valid:focus, +.input-group .form-select.is-valid:focus, +.was-validated .input-group .form-control:valid:focus, +.was-validated .input-group .form-select:valid:focus { + z-index: 3; +} +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip, +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip { + display: block; +} +.form-control.is-invalid, +.was-validated .form-control:invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-control.is-invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right + calc(0.375em + 0.1875rem); +} +.form-select.is-invalid, +.was-validated .form-select:invalid { + border-color: #dc3545; +} +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size='1'], +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size='1'] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.form-select.is-invalid:focus, +.was-validated .form-select:invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.form-check-input.is-invalid, +.was-validated .form-check-input:invalid { + border-color: #dc3545; +} +.form-check-input.is-invalid:checked, +.was-validated .form-check-input:invalid:checked { + background-color: #dc3545; +} +.form-check-input.is-invalid:focus, +.was-validated .form-check-input:invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.form-check-input.is-invalid ~ .form-check-label, +.was-validated .form-check-input:invalid ~ .form-check-label { + color: #dc3545; +} +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} +.input-group .form-control.is-invalid, +.input-group .form-select.is-invalid, +.was-validated .input-group .form-control:invalid, +.was-validated .input-group .form-select:invalid { + z-index: 2; +} +.input-group .form-control.is-invalid:focus, +.input-group .form-select.is-invalid:focus, +.was-validated .input-group .form-control:invalid:focus, +.was-validated .input-group .form-select:invalid:focus { + z-index: 3; +} +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; +} +.btn-check:focus + .btn, +.btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} +.btn-primary { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-primary:hover { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; +} +.btn-check:focus + .btn-primary, +.btn-primary:focus { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-check:active + .btn-primary, +.btn-check:checked + .btn-primary, +.btn-primary.active, +.btn-primary:active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0a58ca; + border-color: #0a53be; +} +.btn-check:active + .btn-primary:focus, +.btn-check:checked + .btn-primary:focus, +.btn-primary.active:focus, +.btn-primary:active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-primary.disabled, +.btn-primary:disabled { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; +} +.btn-check:focus + .btn-secondary, +.btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-check:active + .btn-secondary, +.btn-check:checked + .btn-secondary, +.btn-secondary.active, +.btn-secondary:active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #565e64; + border-color: #51585e; +} +.btn-check:active + .btn-secondary:focus, +.btn-check:checked + .btn-secondary:focus, +.btn-secondary.active:focus, +.btn-secondary:active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; +} +.btn-check:focus + .btn-success, +.btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-check:active + .btn-success, +.btn-check:checked + .btn-success, +.btn-success.active, +.btn-success:active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #146c43; + border-color: #13653f; +} +.btn-check:active + .btn-success:focus, +.btn-check:checked + .btn-success:focus, +.btn-success.active:focus, +.btn-success:active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-success.disabled, +.btn-success:disabled { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; +} +.btn-check:focus + .btn-info, +.btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-check:active + .btn-info, +.btn-check:checked + .btn-info, +.btn-info.active, +.btn-info:active, +.show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; +} +.btn-check:active + .btn-info:focus, +.btn-check:checked + .btn-info:focus, +.btn-info.active:focus, +.btn-info:active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-info.disabled, +.btn-info:disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; +} +.btn-check:focus + .btn-warning, +.btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-check:active + .btn-warning, +.btn-check:checked + .btn-warning, +.btn-warning.active, +.btn-warning:active, +.show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #ffcd39; + border-color: #ffc720; +} +.btn-check:active + .btn-warning:focus, +.btn-check:checked + .btn-warning:focus, +.btn-warning.active:focus, +.btn-warning:active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-warning.disabled, +.btn-warning:disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; +} +.btn-check:focus + .btn-danger, +.btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-check:active + .btn-danger, +.btn-check:checked + .btn-danger, +.btn-danger.active, +.btn-danger:active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #b02a37; + border-color: #a52834; +} +.btn-check:active + .btn-danger:focus, +.btn-check:checked + .btn-danger:focus, +.btn-danger.active:focus, +.btn-danger:active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-danger.disabled, +.btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:focus + .btn-light, +.btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-check:active + .btn-light, +.btn-check:checked + .btn-light, +.btn-light.active, +.btn-light:active, +.show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:active + .btn-light:focus, +.btn-check:checked + .btn-light:focus, +.btn-light.active:focus, +.btn-light:active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-light.disabled, +.btn-light:disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; +} +.btn-check:focus + .btn-dark, +.btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-check:active + .btn-dark, +.btn-check:checked + .btn-dark, +.btn-dark.active, +.btn-dark:active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1a1e21; + border-color: #191c1f; +} +.btn-check:active + .btn-dark:focus, +.btn-check:checked + .btn-dark:focus, +.btn-dark.active:focus, +.btn-dark:active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-dark.disabled, +.btn-dark:disabled { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-outline-primary { + color: #0d6efd; + border-color: #0d6efd; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:focus + .btn-outline-primary, +.btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-check:active + .btn-outline-primary, +.btn-check:checked + .btn-outline-primary, +.btn-outline-primary.active, +.btn-outline-primary.dropdown-toggle.show, +.btn-outline-primary:active { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:active + .btn-outline-primary:focus, +.btn-check:checked + .btn-outline-primary:focus, +.btn-outline-primary.active:focus, +.btn-outline-primary.dropdown-toggle.show:focus, +.btn-outline-primary:active:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #0d6efd; + background-color: transparent; +} +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:focus + .btn-outline-secondary, +.btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-check:active + .btn-outline-secondary, +.btn-check:checked + .btn-outline-secondary, +.btn-outline-secondary.active, +.btn-outline-secondary.dropdown-toggle.show, +.btn-outline-secondary:active { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:active + .btn-outline-secondary:focus, +.btn-check:checked + .btn-outline-secondary:focus, +.btn-outline-secondary.active:focus, +.btn-outline-secondary.dropdown-toggle.show:focus, +.btn-outline-secondary:active:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} +.btn-outline-success { + color: #198754; + border-color: #198754; +} +.btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:focus + .btn-outline-success, +.btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-check:active + .btn-outline-success, +.btn-check:checked + .btn-outline-success, +.btn-outline-success.active, +.btn-outline-success.dropdown-toggle.show, +.btn-outline-success:active { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:active + .btn-outline-success:focus, +.btn-check:checked + .btn-outline-success:focus, +.btn-outline-success.active:focus, +.btn-outline-success.dropdown-toggle.show:focus, +.btn-outline-success:active:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #198754; + background-color: transparent; +} +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:focus + .btn-outline-info, +.btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-check:active + .btn-outline-info, +.btn-check:checked + .btn-outline-info, +.btn-outline-info.active, +.btn-outline-info.dropdown-toggle.show, +.btn-outline-info:active { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:active + .btn-outline-info:focus, +.btn-check:checked + .btn-outline-info:focus, +.btn-outline-info.active:focus, +.btn-outline-info.dropdown-toggle.show:focus, +.btn-outline-info:active:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #0dcaf0; + background-color: transparent; +} +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} +.btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:focus + .btn-outline-warning, +.btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-check:active + .btn-outline-warning, +.btn-check:checked + .btn-outline-warning, +.btn-outline-warning.active, +.btn-outline-warning.dropdown-toggle.show, +.btn-outline-warning:active { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:active + .btn-outline-warning:focus, +.btn-check:checked + .btn-outline-warning:focus, +.btn-outline-warning.active:focus, +.btn-outline-warning.dropdown-toggle.show:focus, +.btn-outline-warning:active:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:focus + .btn-outline-danger, +.btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-check:active + .btn-outline-danger, +.btn-check:checked + .btn-outline-danger, +.btn-outline-danger.active, +.btn-outline-danger.dropdown-toggle.show, +.btn-outline-danger:active { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:active + .btn-outline-danger:focus, +.btn-check:checked + .btn-outline-danger:focus, +.btn-outline-danger.active:focus, +.btn-outline-danger.dropdown-toggle.show:focus, +.btn-outline-danger:active:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:focus + .btn-outline-light, +.btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-check:active + .btn-outline-light, +.btn-check:checked + .btn-outline-light, +.btn-outline-light.active, +.btn-outline-light.dropdown-toggle.show, +.btn-outline-light:active { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:active + .btn-outline-light:focus, +.btn-check:checked + .btn-outline-light:focus, +.btn-outline-light.active:focus, +.btn-outline-light.dropdown-toggle.show:focus, +.btn-outline-light:active:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} +.btn-outline-dark { + color: #212529; + border-color: #212529; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:focus + .btn-outline-dark, +.btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-check:active + .btn-outline-dark, +.btn-check:checked + .btn-outline-dark, +.btn-outline-dark.active, +.btn-outline-dark.dropdown-toggle.show, +.btn-outline-dark:active { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:active + .btn-outline-dark:focus, +.btn-check:checked + .btn-outline-dark:focus, +.btn-outline-dark.active:focus, +.btn-outline-dark.dropdown-toggle.show:focus, +.btn-outline-dark:active:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #212529; + background-color: transparent; +} +.btn-link { + font-weight: 400; + color: #0d6efd; + text-decoration: underline; +} +.btn-link:hover { + color: #0a58ca; +} +.btn-link.disabled, +.btn-link:disabled { + color: #6c757d; +} +.btn-group-lg > .btn, +.btn-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.btn-group-sm > .btn, +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} +.collapse:not(.show) { + display: none; +} +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} +.dropdown, +.dropend, +.dropstart, +.dropup { + position: relative; +} +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ''; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ''; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:focus, +.dropdown-item:hover { + color: #1e2125; + background-color: #e9ecef; +} +.dropdown-item.active, +.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #0d6efd; +} +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} +.dropdown-menu.show { + display: block; +} +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-item:focus, +.dropdown-menu-dark .dropdown-item:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, +.dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #0d6efd; +} +.dropdown-menu-dark .dropdown-item.disabled, +.dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group-vertical > .btn, +.btn-group > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:hover, +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn.active, +.btn-group > .btn:active, +.btn-group > .btn:focus, +.btn-group > .btn:hover { + z-index: 1; +} +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} +.btn-group > .btn-group:not(:first-child), +.btn-group > .btn:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} +.btn-group-sm > .btn + .dropdown-toggle-split, +.btn-sm + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} +.btn-group-lg > .btn + .dropdown-toggle-split, +.btn-lg + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn-group:not(:first-child), +.btn-group-vertical > .btn:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn ~ .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #0d6efd; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:focus, +.nav-link:hover { + color: #0a58ca; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: 0 0; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.nav-pills .nav-link { + background: 0 0; + border: 0; + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #0d6efd; +} +.nav-fill .nav-item, +.nav-fill > .nav-link { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item, +.nav-justified > .nav-link { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-lg, +.navbar > .container-md, +.navbar > .container-sm, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-bottom, + .navbar-expand-sm .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-bottom, + .navbar-expand-md .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-bottom, + .navbar-expand-lg .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-bottom, + .navbar-expand-xl .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-bottom, + .navbar-expand-xxl .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-bottom, +.navbar-expand .offcanvas-top { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .show > .nav-link { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); +} +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .show > .nav-link { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: #fff; +} +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} +.card-title { + margin-bottom: 0.5rem; +} +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} +.card-text:last-child { + margin-bottom: 0; +} +.card-link + .card-link { + margin-left: 1rem; +} +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); +} +.card-img, +.card-img-bottom, +.card-img-top { + width: 100%; +} +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-header, + .card-group > .card:not(:last-child) .card-img-top { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-footer, + .card-group > .card:not(:last-child) .card-img-bottom { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-header, + .card-group > .card:not(:first-child) .card-img-top { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-footer, + .card-group > .card:not(:first-child) .card-img-bottom { + border-bottom-left-radius: 0; + } +} +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, + border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #0c63e4; + background-color: #e7f1ff; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ''; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.accordion-header { + margin-bottom: 0; +} +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-body { + padding: 1rem 1.25rem; +} +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button { + border-radius: 0; +} +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: var(--bs-breadcrumb-divider, '/'); +} +.breadcrumb-item.active { + color: #6c757d; +} +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} +.page-link { + position: relative; + display: block; + color: #0d6efd; + text-decoration: none; + background-color: #fff; + border: 1px solid #dee2e6; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #0a58ca; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + color: #0a58ca; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} +.page-link { + padding: 0.375rem 0.75rem; +} +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} +.alert-heading { + color: inherit; +} +.alert-link { + font-weight: 700; +} +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} +.alert-primary { + color: #084298; + background-color: #cfe2ff; + border-color: #b6d4fe; +} +.alert-primary .alert-link { + color: #06357a; +} +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} +.alert-info { + color: #055160; + background-color: #cff4fc; + border-color: #b6effb; +} +.alert-info .alert-link { + color: #04414d; +} +.alert-warning { + color: #664d03; + background-color: #fff3cd; + border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #523e02; +} +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #0d6efd; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); + background-size: 1rem 1rem; +} +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, '.') '. '; + counter-increment: section; +} +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} +.list-group-item-action:focus, +.list-group-item-action:hover { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, +.list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #084298; + background-color: #bacbe6; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #055160; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #664d03; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent + url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") + center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} +.btn-close.disabled, +.btn-close:disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 0.75rem; +} +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ''; + border-color: transparent; + border-style: solid; +} +.bs-tooltip-auto[data-popper-placement^='top'], +.bs-tooltip-top { + padding: 0.4rem 0; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow, +.bs-tooltip-top .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-auto[data-popper-placement^='top'] .tooltip-arrow::before, +.bs-tooltip-top .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='right'], +.bs-tooltip-end { + padding: 0 0.4rem; +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow, +.bs-tooltip-end .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[data-popper-placement^='right'] .tooltip-arrow::before, +.bs-tooltip-end .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='bottom'], +.bs-tooltip-bottom { + padding: 0.4rem 0; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow, +.bs-tooltip-bottom .tooltip-arrow { + top: 0; +} +.bs-tooltip-auto[data-popper-placement^='bottom'] .tooltip-arrow::before, +.bs-tooltip-bottom .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} +.bs-tooltip-auto[data-popper-placement^='left'], +.bs-tooltip-start { + padding: 0 0.4rem; +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow, +.bs-tooltip-start .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-auto[data-popper-placement^='left'] .tooltip-arrow::before, +.bs-tooltip-start .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1070; + display: block; + max-width: 276px; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::after, +.popover .popover-arrow::before { + position: absolute; + display: block; + content: ''; + border-color: transparent; + border-style: solid; +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow, +.bs-popover-top > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='top'] > .popover-arrow::after, +.bs-popover-top > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow, +.bs-popover-end > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='right'] > .popover-arrow::after, +.bs-popover-end > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow, +.bs-popover-bottom > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='bottom'] > .popover-arrow::after, +.bs-popover-bottom > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} +.bs-popover-auto[data-popper-placement^='bottom'] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ''; + border-bottom: 1px solid #f0f0f0; +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow, +.bs-popover-start > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-auto[data-popper-placement^='left'] > .popover-arrow::after, +.bs-popover-start > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} +.popover-body { + padding: 1rem 1rem; + color: #212529; +} +.carousel { + position: relative; +} +.carousel.pointer-event { + touch-action: pan-y; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ''; +} +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block; +} +.active.carousel-item-end, +.carousel-item-next:not(.carousel-item-start) { + transform: translateX(100%); +} +.active.carousel-item-start, +.carousel-item-prev:not(.carousel-item-end) { + transform: translateX(-100%); +} +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end, +.carousel-fade .carousel-item.active { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-end, +.carousel-fade .active.carousel-item-start { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-end, + .carousel-fade .active.carousel-item-start { + transition: none; + } +} +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: 0 0; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-next, + .carousel-control-prev { + transition: none; + } +} +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} +.carousel-control-prev { + left: 0; +} +.carousel-control-next { + right: 0; +} +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} +.carousel-dark .carousel-control-next-icon, +.carousel-dark .carousel-control-prev-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg); + } +} +@keyframes spinner-border { + to { + transform: rotate(360deg); + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; +} +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; +} +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} +.offcanvas.show { + transform: none; +} +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentColor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ''; +} +.placeholder-xs { + min-height: 0.6em; +} +.placeholder-sm { + min-height: 0.8em; +} +.placeholder-lg { + min-height: 1.2em; +} +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + mask-image: linear-gradient( + 130deg, + #000 55%, + rgba(0, 0, 0, 0.8) 75%, + #000 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ''; +} +.link-primary { + color: #0d6efd; +} +.link-primary:focus, +.link-primary:hover { + color: #0a58ca; +} +.link-secondary { + color: #6c757d; +} +.link-secondary:focus, +.link-secondary:hover { + color: #565e64; +} +.link-success { + color: #198754; +} +.link-success:focus, +.link-success:hover { + color: #146c43; +} +.link-info { + color: #0dcaf0; +} +.link-info:focus, +.link-info:hover { + color: #3dd5f3; +} +.link-warning { + color: #ffc107; +} +.link-warning:focus, +.link-warning:hover { + color: #ffcd39; +} +.link-danger { + color: #dc3545; +} +.link-danger:focus, +.link-danger:hover { + color: #b02a37; +} +.link-light { + color: #f8f9fa; +} +.link-light:focus, +.link-light:hover { + color: #f9fafb; +} +.link-dark { + color: #212529; +} +.link-dark:focus, +.link-dark:hover { + color: #1a1e21; +} +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ''; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ''; +} +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentColor; + opacity: 0.25; +} +.align-baseline { + vertical-align: baseline !important; +} +.align-top { + vertical-align: top !important; +} +.align-middle { + vertical-align: middle !important; +} +.align-bottom { + vertical-align: bottom !important; +} +.align-text-bottom { + vertical-align: text-bottom !important; +} +.align-text-top { + vertical-align: text-top !important; +} +.float-start { + float: left !important; +} +.float-end { + float: right !important; +} +.float-none { + float: none !important; +} +.opacity-0 { + opacity: 0 !important; +} +.opacity-25 { + opacity: 0.25 !important; +} +.opacity-50 { + opacity: 0.5 !important; +} +.opacity-75 { + opacity: 0.75 !important; +} +.opacity-100 { + opacity: 1 !important; +} +.overflow-auto { + overflow: auto !important; +} +.overflow-hidden { + overflow: hidden !important; +} +.overflow-visible { + overflow: visible !important; +} +.overflow-scroll { + overflow: scroll !important; +} +.d-inline { + display: inline !important; +} +.d-inline-block { + display: inline-block !important; +} +.d-block { + display: block !important; +} +.d-grid { + display: grid !important; +} +.d-table { + display: table !important; +} +.d-table-row { + display: table-row !important; +} +.d-table-cell { + display: table-cell !important; +} +.d-flex { + display: flex !important; +} +.d-inline-flex { + display: inline-flex !important; +} +.d-none { + display: none !important; +} +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} +.shadow-none { + box-shadow: none !important; +} +.position-static { + position: static !important; +} +.position-relative { + position: relative !important; +} +.position-absolute { + position: absolute !important; +} +.position-fixed { + position: fixed !important; +} +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} +.top-0 { + top: 0 !important; +} +.top-50 { + top: 50% !important; +} +.top-100 { + top: 100% !important; +} +.bottom-0 { + bottom: 0 !important; +} +.bottom-50 { + bottom: 50% !important; +} +.bottom-100 { + bottom: 100% !important; +} +.start-0 { + left: 0 !important; +} +.start-50 { + left: 50% !important; +} +.start-100 { + left: 100% !important; +} +.end-0 { + right: 0 !important; +} +.end-50 { + right: 50% !important; +} +.end-100 { + right: 100% !important; +} +.translate-middle { + transform: translate(-50%, -50%) !important; +} +.translate-middle-x { + transform: translateX(-50%) !important; +} +.translate-middle-y { + transform: translateY(-50%) !important; +} +.border { + border: 1px solid #dee2e6 !important; +} +.border-0 { + border: 0 !important; +} +.border-top { + border-top: 1px solid #dee2e6 !important; +} +.border-top-0 { + border-top: 0 !important; +} +.border-end { + border-right: 1px solid #dee2e6 !important; +} +.border-end-0 { + border-right: 0 !important; +} +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} +.border-bottom-0 { + border-bottom: 0 !important; +} +.border-start { + border-left: 1px solid #dee2e6 !important; +} +.border-start-0 { + border-left: 0 !important; +} +.border-primary { + border-color: #0d6efd !important; +} +.border-secondary { + border-color: #6c757d !important; +} +.border-success { + border-color: #198754 !important; +} +.border-info { + border-color: #0dcaf0 !important; +} +.border-warning { + border-color: #ffc107 !important; +} +.border-danger { + border-color: #dc3545 !important; +} +.border-light { + border-color: #f8f9fa !important; +} +.border-dark { + border-color: #212529 !important; +} +.border-white { + border-color: #fff !important; +} +.border-1 { + border-width: 1px !important; +} +.border-2 { + border-width: 2px !important; +} +.border-3 { + border-width: 3px !important; +} +.border-4 { + border-width: 4px !important; +} +.border-5 { + border-width: 5px !important; +} +.w-25 { + width: 25% !important; +} +.w-50 { + width: 50% !important; +} +.w-75 { + width: 75% !important; +} +.w-100 { + width: 100% !important; +} +.w-auto { + width: auto !important; +} +.mw-100 { + max-width: 100% !important; +} +.vw-100 { + width: 100vw !important; +} +.min-vw-100 { + min-width: 100vw !important; +} +.h-25 { + height: 25% !important; +} +.h-50 { + height: 50% !important; +} +.h-75 { + height: 75% !important; +} +.h-100 { + height: 100% !important; +} +.h-auto { + height: auto !important; +} +.mh-100 { + max-height: 100% !important; +} +.vh-100 { + height: 100vh !important; +} +.min-vh-100 { + min-height: 100vh !important; +} +.flex-fill { + flex: 1 1 auto !important; +} +.flex-row { + flex-direction: row !important; +} +.flex-column { + flex-direction: column !important; +} +.flex-row-reverse { + flex-direction: row-reverse !important; +} +.flex-column-reverse { + flex-direction: column-reverse !important; +} +.flex-grow-0 { + flex-grow: 0 !important; +} +.flex-grow-1 { + flex-grow: 1 !important; +} +.flex-shrink-0 { + flex-shrink: 0 !important; +} +.flex-shrink-1 { + flex-shrink: 1 !important; +} +.flex-wrap { + flex-wrap: wrap !important; +} +.flex-nowrap { + flex-wrap: nowrap !important; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} +.gap-0 { + gap: 0 !important; +} +.gap-1 { + gap: 0.25rem !important; +} +.gap-2 { + gap: 0.5rem !important; +} +.gap-3 { + gap: 1rem !important; +} +.gap-4 { + gap: 1.5rem !important; +} +.gap-5 { + gap: 3rem !important; +} +.justify-content-start { + justify-content: flex-start !important; +} +.justify-content-end { + justify-content: flex-end !important; +} +.justify-content-center { + justify-content: center !important; +} +.justify-content-between { + justify-content: space-between !important; +} +.justify-content-around { + justify-content: space-around !important; +} +.justify-content-evenly { + justify-content: space-evenly !important; +} +.align-items-start { + align-items: flex-start !important; +} +.align-items-end { + align-items: flex-end !important; +} +.align-items-center { + align-items: center !important; +} +.align-items-baseline { + align-items: baseline !important; +} +.align-items-stretch { + align-items: stretch !important; +} +.align-content-start { + align-content: flex-start !important; +} +.align-content-end { + align-content: flex-end !important; +} +.align-content-center { + align-content: center !important; +} +.align-content-between { + align-content: space-between !important; +} +.align-content-around { + align-content: space-around !important; +} +.align-content-stretch { + align-content: stretch !important; +} +.align-self-auto { + align-self: auto !important; +} +.align-self-start { + align-self: flex-start !important; +} +.align-self-end { + align-self: flex-end !important; +} +.align-self-center { + align-self: center !important; +} +.align-self-baseline { + align-self: baseline !important; +} +.align-self-stretch { + align-self: stretch !important; +} +.order-first { + order: -1 !important; +} +.order-0 { + order: 0 !important; +} +.order-1 { + order: 1 !important; +} +.order-2 { + order: 2 !important; +} +.order-3 { + order: 3 !important; +} +.order-4 { + order: 4 !important; +} +.order-5 { + order: 5 !important; +} +.order-last { + order: 6 !important; +} +.m-0 { + margin: 0 !important; +} +.m-1 { + margin: 0.25rem !important; +} +.m-2 { + margin: 0.5rem !important; +} +.m-3 { + margin: 1rem !important; +} +.m-4 { + margin: 1.5rem !important; +} +.m-5 { + margin: 3rem !important; +} +.m-auto { + margin: auto !important; +} +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} +.mt-0 { + margin-top: 0 !important; +} +.mt-1 { + margin-top: 0.25rem !important; +} +.mt-2 { + margin-top: 0.5rem !important; +} +.mt-3 { + margin-top: 1rem !important; +} +.mt-4 { + margin-top: 1.5rem !important; +} +.mt-5 { + margin-top: 3rem !important; +} +.mt-auto { + margin-top: auto !important; +} +.me-0 { + margin-right: 0 !important; +} +.me-1 { + margin-right: 0.25rem !important; +} +.me-2 { + margin-right: 0.5rem !important; +} +.me-3 { + margin-right: 1rem !important; +} +.me-4 { + margin-right: 1.5rem !important; +} +.me-5 { + margin-right: 3rem !important; +} +.me-auto { + margin-right: auto !important; +} +.mb-0 { + margin-bottom: 0 !important; +} +.mb-1 { + margin-bottom: 0.25rem !important; +} +.mb-2 { + margin-bottom: 0.5rem !important; +} +.mb-3 { + margin-bottom: 1rem !important; +} +.mb-4 { + margin-bottom: 1.5rem !important; +} +.mb-5 { + margin-bottom: 3rem !important; +} +.mb-auto { + margin-bottom: auto !important; +} +.ms-0 { + margin-left: 0 !important; +} +.ms-1 { + margin-left: 0.25rem !important; +} +.ms-2 { + margin-left: 0.5rem !important; +} +.ms-3 { + margin-left: 1rem !important; +} +.ms-4 { + margin-left: 1.5rem !important; +} +.ms-5 { + margin-left: 3rem !important; +} +.ms-auto { + margin-left: auto !important; +} +.p-0 { + padding: 0 !important; +} +.p-1 { + padding: 0.25rem !important; +} +.p-2 { + padding: 0.5rem !important; +} +.p-3 { + padding: 1rem !important; +} +.p-4 { + padding: 1.5rem !important; +} +.p-5 { + padding: 3rem !important; +} +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} +.pt-0 { + padding-top: 0 !important; +} +.pt-1 { + padding-top: 0.25rem !important; +} +.pt-2 { + padding-top: 0.5rem !important; +} +.pt-3 { + padding-top: 1rem !important; +} +.pt-4 { + padding-top: 1.5rem !important; +} +.pt-5 { + padding-top: 3rem !important; +} +.pe-0 { + padding-right: 0 !important; +} +.pe-1 { + padding-right: 0.25rem !important; +} +.pe-2 { + padding-right: 0.5rem !important; +} +.pe-3 { + padding-right: 1rem !important; +} +.pe-4 { + padding-right: 1.5rem !important; +} +.pe-5 { + padding-right: 3rem !important; +} +.pb-0 { + padding-bottom: 0 !important; +} +.pb-1 { + padding-bottom: 0.25rem !important; +} +.pb-2 { + padding-bottom: 0.5rem !important; +} +.pb-3 { + padding-bottom: 1rem !important; +} +.pb-4 { + padding-bottom: 1.5rem !important; +} +.pb-5 { + padding-bottom: 3rem !important; +} +.ps-0 { + padding-left: 0 !important; +} +.ps-1 { + padding-left: 0.25rem !important; +} +.ps-2 { + padding-left: 0.5rem !important; +} +.ps-3 { + padding-left: 1rem !important; +} +.ps-4 { + padding-left: 1.5rem !important; +} +.ps-5 { + padding-left: 3rem !important; +} +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} +.fst-italic { + font-style: italic !important; +} +.fst-normal { + font-style: normal !important; +} +.fw-light { + font-weight: 300 !important; +} +.fw-lighter { + font-weight: lighter !important; +} +.fw-normal { + font-weight: 400 !important; +} +.fw-bold { + font-weight: 700 !important; +} +.fw-bolder { + font-weight: bolder !important; +} +.lh-1 { + line-height: 1 !important; +} +.lh-sm { + line-height: 1.25 !important; +} +.lh-base { + line-height: 1.5 !important; +} +.lh-lg { + line-height: 2 !important; +} +.text-start { + text-align: left !important; +} +.text-end { + text-align: right !important; +} +.text-center { + text-align: center !important; +} +.text-decoration-none { + text-decoration: none !important; +} +.text-decoration-underline { + text-decoration: underline !important; +} +.text-decoration-line-through { + text-decoration: line-through !important; +} +.text-lowercase { + text-transform: lowercase !important; +} +.text-uppercase { + text-transform: uppercase !important; +} +.text-capitalize { + text-transform: capitalize !important; +} +.text-wrap { + white-space: normal !important; +} +.text-nowrap { + white-space: nowrap !important; +} +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} +.text-opacity-25 { + --bs-text-opacity: 0.25; +} +.text-opacity-50 { + --bs-text-opacity: 0.5; +} +.text-opacity-75 { + --bs-text-opacity: 0.75; +} +.text-opacity-100 { + --bs-text-opacity: 1; +} +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-primary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-secondary-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-success-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-warning-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba( + var(--bs-body-bg-rgb), + var(--bs-bg-opacity) + ) !important; +} +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} +.bg-opacity-100 { + --bs-bg-opacity: 1; +} +.bg-gradient { + background-image: var(--bs-gradient) !important; +} +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} +.pe-none { + pointer-events: none !important; +} +.pe-auto { + pointer-events: auto !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.rounded-0 { + border-radius: 0 !important; +} +.rounded-1 { + border-radius: 0.2rem !important; +} +.rounded-2 { + border-radius: 0.25rem !important; +} +.rounded-3 { + border-radius: 0.3rem !important; +} +.rounded-circle { + border-radius: 50% !important; +} +.rounded-pill { + border-radius: 50rem !important; +} +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} +.visible { + visibility: visible !important; +} +.invisible { + visibility: hidden !important; +} +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.min.css.map */ diff --git a/htdocs/www/css/cookieconsent.css b/htdocs/www/css/cookieconsent.css new file mode 100644 index 0000000..51666cf --- /dev/null +++ b/htdocs/www/css/cookieconsent.css @@ -0,0 +1,275 @@ +.cc-window { + opacity: 1; + transition: opacity 1s ease; +} +.cc-window.cc-invisible { + opacity: 0; +} +.cc-animate.cc-revoke { + transition: transform 1s ease; +} +.cc-animate.cc-revoke.cc-top { + transform: translateY(-2em); +} +.cc-animate.cc-revoke.cc-bottom { + transform: translateY(2em); +} +.cc-animate.cc-revoke.cc-active.cc-bottom, +.cc-animate.cc-revoke.cc-active.cc-top, +.cc-revoke:hover { + transform: translateY(0); +} +.cc-grower { + max-height: 0; + overflow: hidden; + transition: max-height 1s; +} +.cc-link, +.cc-revoke:hover { + text-decoration: underline; +} +.cc-revoke, +.cc-window { + position: fixed; + overflow: hidden; + box-sizing: border-box; + font-family: Helvetica, Calibri, Arial, sans-serif; + font-size: 16px; + line-height: 1.5em; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + z-index: 9999; +} +.cc-window.cc-static { + position: static; +} +.cc-window.cc-floating { + padding: 2em; + max-width: 24em; + -ms-flex-direction: column; + flex-direction: column; +} +.cc-window.cc-banner { + padding: 1em 1.8em; + width: 100%; + -ms-flex-direction: row; + flex-direction: row; +} +.cc-revoke { + padding: 0.5em; +} +.cc-header { + font-size: 18px; + font-weight: 700; +} +.cc-btn, +.cc-close, +.cc-link, +.cc-revoke { + cursor: pointer; +} +.cc-link { + opacity: 0.8; + display: inline-block; + padding: 0.2em; +} +.cc-link:hover { + opacity: 1; +} +.cc-link:active, +.cc-link:visited { + color: initial; +} +.cc-btn { + display: block; + padding: 0.4em 0.8em; + font-size: 0.9em; + font-weight: 700; + border-width: 2px; + border-style: solid; + text-align: center; + white-space: nowrap; +} +.cc-banner .cc-btn:last-child { + min-width: 140px; +} +.cc-highlight .cc-btn:first-child { + background-color: transparent; + border-color: transparent; +} +.cc-highlight .cc-btn:first-child:focus, +.cc-highlight .cc-btn:first-child:hover { + background-color: transparent; + text-decoration: underline; +} +.cc-close { + display: block; + position: absolute; + top: 0.5em; + right: 0.5em; + font-size: 1.6em; + opacity: 0.9; + line-height: 0.75; +} +.cc-close:focus, +.cc-close:hover { + opacity: 1; +} +.cc-revoke.cc-top { + top: 0; + left: 3em; + border-bottom-left-radius: 0.5em; + border-bottom-right-radius: 0.5em; +} +.cc-revoke.cc-bottom { + bottom: 0; + left: 3em; + border-top-left-radius: 0.5em; + border-top-right-radius: 0.5em; +} +.cc-revoke.cc-left { + left: 3em; + right: unset; +} +.cc-revoke.cc-right { + right: 3em; + left: unset; +} +.cc-top { + top: 1em; +} +.cc-left { + left: 1em; +} +.cc-right { + right: 1em; +} +.cc-bottom { + bottom: 1em; +} +.cc-floating > .cc-link { + margin-bottom: 1em; +} +.cc-floating .cc-message { + display: block; + margin-bottom: 1em; +} +.cc-window.cc-floating .cc-compliance { + -ms-flex: 1; + flex: 1; +} +.cc-window.cc-banner { + -ms-flex-align: center; + align-items: center; +} +.cc-banner.cc-top { + left: 0; + right: 0; + top: 0; +} +.cc-banner.cc-bottom { + left: 0; + right: 0; + bottom: 0; +} +.cc-banner .cc-message { + -ms-flex: 1; + flex: 1; +} +.cc-compliance { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-line-pack: justify; + align-content: space-between; +} +.cc-compliance > .cc-btn { + -ms-flex: 1; + flex: 1; +} +.cc-btn + .cc-btn { + margin-left: 0.5em; +} +@media print { + .cc-revoke, + .cc-window { + display: none; + } +} +@media screen and (max-width: 900px) { + .cc-btn { + white-space: normal; + } +} +@media screen and (max-width: 414px) and (orientation: portrait), + screen and (max-width: 736px) and (orientation: landscape) { + .cc-window.cc-top { + top: 0; + } + .cc-window.cc-bottom { + bottom: 0; + } + .cc-window.cc-banner, + .cc-window.cc-left, + .cc-window.cc-right { + left: 0; + right: 0; + } + .cc-window.cc-banner { + -ms-flex-direction: column; + flex-direction: column; + } + .cc-window.cc-banner .cc-compliance { + -ms-flex: 1; + flex: 1; + } + .cc-window.cc-floating { + max-width: none; + } + .cc-window .cc-message { + margin-bottom: 1em; + } + .cc-window.cc-banner { + -ms-flex-align: unset; + align-items: unset; + } +} +.cc-floating.cc-theme-classic { + padding: 1.2em; + border-radius: 5px; +} +.cc-floating.cc-type-info.cc-theme-classic .cc-compliance { + text-align: center; + display: inline; + -ms-flex: none; + flex: none; +} +.cc-theme-classic .cc-btn { + border-radius: 5px; +} +.cc-theme-classic .cc-btn:last-child { + min-width: 140px; +} +.cc-floating.cc-type-info.cc-theme-classic .cc-btn { + display: inline-block; +} +.cc-theme-edgeless.cc-window { + padding: 0; +} +.cc-floating.cc-theme-edgeless .cc-message { + margin: 2em 2em 1.5em; +} +.cc-banner.cc-theme-edgeless .cc-btn { + margin: 0; + padding: 0.8em 1.8em; + height: 100%; +} +.cc-banner.cc-theme-edgeless .cc-message { + margin-left: 1em; +} +.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn { + margin-left: 0; +} diff --git a/htdocs/www/css/errorpages.css b/htdocs/www/css/errorpages.css new file mode 100644 index 0000000..9a6e59c --- /dev/null +++ b/htdocs/www/css/errorpages.css @@ -0,0 +1,337 @@ +@import url('https://fonts.googleapis.com/css?family=Fira+Sans&display=swap'); + +body { + padding: 50px; + font: 14px/1.5 Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; + color: #777; + font-weight: 300; + padding: 1.5em 0; +} + +/* Layout */ +.jumbotron { + line-height: 2.1428571435; + color: inherit; + padding: 10px 0px; +} + +/* Main marketing message and sign up button */ +.jumbotron { + text-align: center; + background-color: transparent; +} + +.jumbotron .btn { + font-size: 21px; + padding: 1.5em 2em; +} + +/* Everything but the jumbotron gets side spacing for mobile-first views */ +.masthead, +.body-content { + padding: 0 15px; +} + +/* Colors */ +.green { + color: green; +} + +.orange { + color: orange; +} + +.red { + color: red; +} + +.blue { + color: blue; +} + +.yellow { + color: yellow; +} + +h2, +h3, +h4, +h5, +h6 { + color: #222; + margin: 0 0 40px; +} + +p, +ul, +ol, +table, +pre, +dl { + margin: 0 0 20px; +} + +h2, +h3 { + line-height: 1.1; +} + +h1 { + line-height: 1.1; + text-align: center; + font: Lato; + font-size: 80px; + color: #222; + margin: 0 0 40px; +} + +h2 { + color: #393939; +} + +h3, +h4, +h5, +h6 { + color: #494949; +} + +a { + color: #39c; + font-weight: 400; + text-decoration: none; +} + +a small { + font-size: 11px; + color: #777; + margin-top: -0.6em; + display: block; +} + +.wrapper { + width: 860px; + margin: 0 auto; +} + +blockquote { + border-left: 1px solid #e5e5e5; + margin: 0; + padding: 0 0 0 20px; + font-style: italic; +} + +.btn-block { + width: 40%; + text-align: center; + display: block; + margin: 0 auto; +} + +code, +pre { + font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal; + color: #333; + font-size: 12px; +} + +pre { + padding: 8px 15px; + background: #f8f8f8; + border-radius: 5px; + border: 1px solid #e5e5e5; + overflow-x: auto; +} + +table { + width: 100%; + border-collapse: collapse; +} + +th, +td { + text-align: left; + padding: 5px 10px; + border-bottom: 1px solid #e5e5e5; +} + +dt { + color: #444; + font-weight: 700; +} + +th { + color: #444; +} + +img { + max-width: 100%; +} + +header { + width: 270px; + float: left; + position: fixed; +} + +header ul { + list-style: none; + height: 40px; + + padding: 0; + + background: #eee; + background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0%, #f8f8f8), + color-stop(100%, #dddddd) + ); + background: -webkit-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + background: -o-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + background: -ms-linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + background: linear-gradient(top, #f8f8f8 0%, #dddddd 100%); + + border-radius: 5px; + border: 1px solid #d2d2d2; + box-shadow: inset #fff 0 1px 0, inset rgba(0, 0, 0, 0.03) 0 -1px 0; + width: 270px; +} + +header li { + width: 89px; + float: left; + border-right: 1px solid #d2d2d2; + height: 40px; +} + +header ul a { + line-height: 1; + font-size: 11px; + color: #999; + display: block; + text-align: center; + padding-top: 6px; + height: 40px; +} + +strong { + color: #222; + font-weight: 700; +} + +header ul li + li { + width: 88px; + border-left: 1px solid #fff; +} + +header ul li + li + li { + border-right: none; + width: 89px; +} + +header ul a strong { + font-size: 14px; + display: block; + color: #222; +} + +section { + width: 500px; + float: right; + padding-bottom: 50px; +} + +small { + font-size: 11px; +} + +hr { + border: 0; + background: #e5e5e5; + height: 1px; + margin: 0 0 20px; +} + +footer { + width: 270px; + float: left; + position: fixed; + bottom: 50px; +} + +@media print, screen and (max-width: 960px) { + div.wrapper { + width: auto; + margin: 0; + } + + header, + section, + footer { + float: none; + position: static; + width: auto; + } + + header { + padding-right: 320px; + } + + section { + border: 1px solid #e5e5e5; + border-width: 1px 0; + padding: 20px 0; + margin: 0 0 20px; + } + + header a small { + display: inline; + } + + header ul { + position: absolute; + right: 50px; + top: 52px; + } +} + +@media print, screen and (max-width: 720px) { + body { + word-wrap: break-word; + } + + header { + padding: 0; + } + + header ul, + header p.view { + position: static; + } + + pre, + code { + word-wrap: normal; + } +} + +@media print, screen and (max-width: 480px) { + body { + padding: 15px; + } + + header ul { + display: none; + } +} + +@media print { + body { + padding: 0.4in; + font-size: 12pt; + color: #444; + } +} diff --git a/htdocs/www/css/index.css b/htdocs/www/css/index.css new file mode 100644 index 0000000..946928e --- /dev/null +++ b/htdocs/www/css/index.css @@ -0,0 +1,123 @@ +@import url('https://fonts.googleapis.com/css?family=Fira+Sans&display=swap'); + +td, +th, +body { + font-family: 'Fira Sans', Verdana, Helvetica, sans-serif; + font-size: 14px; + font-weight: normal; + font-variant: normal; + text-transform: none; + text-decoration: none; + text-align: center; + align-items: center; + background-color: #333; + color: #fff; + background-image: url('../images/bg.png'); +} + +th { + background-color: #333; + color: #ffffff; + border-top: 1px solid #678ca0; + vertical-align: middle; + height: 50px; +} + +td { + background-color: 333; + border-top: 1px solid #678ca0; +} + +.box { + border: 1px solid #678ca0; + padding: 0px; + width: 100%; + background-color: #333; + margin-bottom: 10px; + width: 600px; +} + +h5, +h3 { + padding: 3px; + margin-top: 0px; + margin-bottom: 0px; + background-color: #333; + color: white; + font-family: Verdana, Helvetica, sans-serif; +} + +p { + text-align: center; +} + +div { + text-align: center; +} + +h3 { + font-size: 13px; +} + +h5 { + font-size: 10px; + text-align: right; + background-color: #333; + color: #678ca0; +} + +.spacer { + margin: 0px; + width: 100%; + background-color: #333; +} + +.leftspacer { + margin: 0px; + padding: 5px; + width: 100%; + text-align: left; + background-color: #333; +} + +.serviceup { + color: green; +} + +.servicedown { + color: red; +} + +p.main { + margin-top: 5px; + margin-bottom: 5px; + text-align: center; + font-size: 10px; +} + +a { + text-decoration: none; + color: #5d83a9; +} + +a:visited { + color: rgb(238, 130, 202); +} + +a:hover { + font-style: italic; + color: #a296db !important; +} + +a:active { + color: #c0f; +} + +tr:hover { + background-color: #f5f5f5; +} + +table { + width: 100%; +} diff --git a/htdocs/www/favicon.ico b/htdocs/www/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..be74abd69ad6a32de7375df13cab9354798e328f GIT binary patch literal 766 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 P{Bf{#)SR$(U-$n2VJms6 literal 0 HcmV?d00001 diff --git a/htdocs/www/images/404.gif b/htdocs/www/images/404.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad19c4e10585e734c755882f781a52edd02f5c95 GIT binary patch literal 95633 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ξLYw-0 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%0D;ZN=92JzvmJ?+e;AY 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 literal 0 HcmV?d00001 diff --git a/htdocs/www/images/favicon.ico b/htdocs/www/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..be74abd69ad6a32de7375df13cab9354798e328f GIT binary patch literal 766 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 diff --git a/htdocs/www/index.php b/htdocs/www/index.php new file mode 100644 index 0000000..d642561 --- /dev/null +++ b/htdocs/www/index.php @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Congratulations

+

+ Your REPLACE_SERVER_SOFTWARE container has been setup.
+ This file is located in: + +

+ + SERVER: +
+ SERVER Address: +
+ +

+

+

+ +

+ +
+ + +
+ + + + diff --git a/htdocs/www/info.php b/htdocs/www/info.php new file mode 100644 index 0000000..3efde4b --- /dev/null +++ b/htdocs/www/info.php @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+

Congratulations PHP has been successfully configured

+

+ +

+
+ + + diff --git a/htdocs/www/js/app.js b/htdocs/www/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/htdocs/www/js/bootstrap.min.js b/htdocs/www/js/bootstrap.min.js new file mode 100644 index 0000000..641156c --- /dev/null +++ b/htdocs/www/js/bootstrap.min.js @@ -0,0 +1,4075 @@ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!(function (t, e) { + 'object' == typeof exports && 'undefined' != typeof module + ? (module.exports = e()) + : 'function' == typeof define && define.amd + ? define(e) + : ((t = + 'undefined' != typeof globalThis ? globalThis : t || self).bootstrap = + e()); +})(this, function () { + 'use strict'; + const t = 'transitionend', + e = (t) => { + let e = t.getAttribute('data-bs-target'); + if (!e || '#' === e) { + let i = t.getAttribute('href'); + if (!i || (!i.includes('#') && !i.startsWith('.'))) return null; + i.includes('#') && !i.startsWith('#') && (i = `#${i.split('#')[1]}`), + (e = i && '#' !== i ? i.trim() : null); + } + return e; + }, + i = (t) => { + const i = e(t); + return i && document.querySelector(i) ? i : null; + }, + n = (t) => { + const i = e(t); + return i ? document.querySelector(i) : null; + }, + s = (e) => { + e.dispatchEvent(new Event(t)); + }, + o = (t) => + !(!t || 'object' != typeof t) && + (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType), + r = (t) => + o(t) + ? t.jquery + ? t[0] + : t + : 'string' == typeof t && t.length > 0 + ? document.querySelector(t) + : null, + a = (t, e, i) => { + Object.keys(i).forEach((n) => { + const s = i[n], + r = e[n], + a = + r && o(r) + ? 'element' + : null == (l = r) + ? `${l}` + : {}.toString + .call(l) + .match(/\s([a-z]+)/i)[1] + .toLowerCase(); + var l; + if (!new RegExp(s).test(a)) + throw new TypeError( + `${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".` + ); + }); + }, + l = (t) => + !(!o(t) || 0 === t.getClientRects().length) && + 'visible' === getComputedStyle(t).getPropertyValue('visibility'), + c = (t) => + !t || + t.nodeType !== Node.ELEMENT_NODE || + !!t.classList.contains('disabled') || + (void 0 !== t.disabled + ? t.disabled + : t.hasAttribute('disabled') && 'false' !== t.getAttribute('disabled')), + h = (t) => { + if (!document.documentElement.attachShadow) return null; + if ('function' == typeof t.getRootNode) { + const e = t.getRootNode(); + return e instanceof ShadowRoot ? e : null; + } + return t instanceof ShadowRoot + ? t + : t.parentNode + ? h(t.parentNode) + : null; + }, + d = () => {}, + u = (t) => { + t.offsetHeight; + }, + f = () => { + const { jQuery: t } = window; + return t && !document.body.hasAttribute('data-bs-no-jquery') ? t : null; + }, + p = [], + m = () => 'rtl' === document.documentElement.dir, + g = (t) => { + var e; + (e = () => { + const e = f(); + if (e) { + const i = t.NAME, + n = e.fn[i]; + (e.fn[i] = t.jQueryInterface), + (e.fn[i].Constructor = t), + (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface)); + } + }), + 'loading' === document.readyState + ? (p.length || + document.addEventListener('DOMContentLoaded', () => { + p.forEach((t) => t()); + }), + p.push(e)) + : e(); + }, + _ = (t) => { + 'function' == typeof t && t(); + }, + b = (e, i, n = !0) => { + if (!n) return void _(e); + const o = + ((t) => { + if (!t) return 0; + let { transitionDuration: e, transitionDelay: i } = + window.getComputedStyle(t); + const n = Number.parseFloat(e), + s = Number.parseFloat(i); + return n || s + ? ((e = e.split(',')[0]), + (i = i.split(',')[0]), + 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) + : 0; + })(i) + 5; + let r = !1; + const a = ({ target: n }) => { + n === i && ((r = !0), i.removeEventListener(t, a), _(e)); + }; + i.addEventListener(t, a), + setTimeout(() => { + r || s(i); + }, o); + }, + v = (t, e, i, n) => { + let s = t.indexOf(e); + if (-1 === s) return t[!i && n ? t.length - 1 : 0]; + const o = t.length; + return ( + (s += i ? 1 : -1), + n && (s = (s + o) % o), + t[Math.max(0, Math.min(s, o - 1))] + ); + }, + y = /[^.]*(?=\..*)\.|.*/, + w = /\..*/, + E = /::\d+$/, + A = {}; + let T = 1; + const O = { mouseenter: 'mouseover', mouseleave: 'mouseout' }, + C = /^(mouseenter|mouseleave)/i, + k = new Set([ + 'click', + 'dblclick', + 'mouseup', + 'mousedown', + 'contextmenu', + 'mousewheel', + 'DOMMouseScroll', + 'mouseover', + 'mouseout', + 'mousemove', + 'selectstart', + 'selectend', + 'keydown', + 'keypress', + 'keyup', + 'orientationchange', + 'touchstart', + 'touchmove', + 'touchend', + 'touchcancel', + 'pointerdown', + 'pointermove', + 'pointerup', + 'pointerleave', + 'pointercancel', + 'gesturestart', + 'gesturechange', + 'gestureend', + 'focus', + 'blur', + 'change', + 'reset', + 'select', + 'submit', + 'focusin', + 'focusout', + 'load', + 'unload', + 'beforeunload', + 'resize', + 'move', + 'DOMContentLoaded', + 'readystatechange', + 'error', + 'abort', + 'scroll', + ]); + function L(t, e) { + return (e && `${e}::${T++}`) || t.uidEvent || T++; + } + function x(t) { + const e = L(t); + return (t.uidEvent = e), (A[e] = A[e] || {}), A[e]; + } + function D(t, e, i = null) { + const n = Object.keys(t); + for (let s = 0, o = n.length; s < o; s++) { + const o = t[n[s]]; + if (o.originalHandler === e && o.delegationSelector === i) return o; + } + return null; + } + function S(t, e, i) { + const n = 'string' == typeof e, + s = n ? i : e; + let o = P(t); + return k.has(o) || (o = t), [n, s, o]; + } + function N(t, e, i, n, s) { + if ('string' != typeof e || !t) return; + if ((i || ((i = n), (n = null)), C.test(e))) { + const t = (t) => + function (e) { + if ( + !e.relatedTarget || + (e.relatedTarget !== e.delegateTarget && + !e.delegateTarget.contains(e.relatedTarget)) + ) + return t.call(this, e); + }; + n ? (n = t(n)) : (i = t(i)); + } + const [o, r, a] = S(e, i, n), + l = x(t), + c = l[a] || (l[a] = {}), + h = D(c, r, o ? i : null); + if (h) return void (h.oneOff = h.oneOff && s); + const d = L(r, e.replace(y, '')), + u = o + ? (function (t, e, i) { + return function n(s) { + const o = t.querySelectorAll(e); + for (let { target: r } = s; r && r !== this; r = r.parentNode) + for (let a = o.length; a--; ) + if (o[a] === r) + return ( + (s.delegateTarget = r), + n.oneOff && j.off(t, s.type, e, i), + i.apply(r, [s]) + ); + return null; + }; + })(t, i, n) + : (function (t, e) { + return function i(n) { + return ( + (n.delegateTarget = t), + i.oneOff && j.off(t, n.type, e), + e.apply(t, [n]) + ); + }; + })(t, i); + (u.delegationSelector = o ? i : null), + (u.originalHandler = r), + (u.oneOff = s), + (u.uidEvent = d), + (c[d] = u), + t.addEventListener(a, u, o); + } + function I(t, e, i, n, s) { + const o = D(e[i], n, s); + o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]); + } + function P(t) { + return (t = t.replace(w, '')), O[t] || t; + } + const j = { + on(t, e, i, n) { + N(t, e, i, n, !1); + }, + one(t, e, i, n) { + N(t, e, i, n, !0); + }, + off(t, e, i, n) { + if ('string' != typeof e || !t) return; + const [s, o, r] = S(e, i, n), + a = r !== e, + l = x(t), + c = e.startsWith('.'); + if (void 0 !== o) { + if (!l || !l[r]) return; + return void I(t, l, r, o, s ? i : null); + } + c && + Object.keys(l).forEach((i) => { + !(function (t, e, i, n) { + const s = e[i] || {}; + Object.keys(s).forEach((o) => { + if (o.includes(n)) { + const n = s[o]; + I(t, e, i, n.originalHandler, n.delegationSelector); + } + }); + })(t, l, i, e.slice(1)); + }); + const h = l[r] || {}; + Object.keys(h).forEach((i) => { + const n = i.replace(E, ''); + if (!a || e.includes(n)) { + const e = h[i]; + I(t, l, r, e.originalHandler, e.delegationSelector); + } + }); + }, + trigger(t, e, i) { + if ('string' != typeof e || !t) return null; + const n = f(), + s = P(e), + o = e !== s, + r = k.has(s); + let a, + l = !0, + c = !0, + h = !1, + d = null; + return ( + o && + n && + ((a = n.Event(e, i)), + n(t).trigger(a), + (l = !a.isPropagationStopped()), + (c = !a.isImmediatePropagationStopped()), + (h = a.isDefaultPrevented())), + r + ? ((d = document.createEvent('HTMLEvents')), d.initEvent(s, l, !0)) + : (d = new CustomEvent(e, { bubbles: l, cancelable: !0 })), + void 0 !== i && + Object.keys(i).forEach((t) => { + Object.defineProperty(d, t, { get: () => i[t] }); + }), + h && d.preventDefault(), + c && t.dispatchEvent(d), + d.defaultPrevented && void 0 !== a && a.preventDefault(), + d + ); + }, + }, + M = new Map(), + H = { + set(t, e, i) { + M.has(t) || M.set(t, new Map()); + const n = M.get(t); + n.has(e) || 0 === n.size + ? n.set(e, i) + : console.error( + `Bootstrap doesn't allow more than one instance per element. Bound instance: ${ + Array.from(n.keys())[0] + }.` + ); + }, + get: (t, e) => (M.has(t) && M.get(t).get(e)) || null, + remove(t, e) { + if (!M.has(t)) return; + const i = M.get(t); + i.delete(e), 0 === i.size && M.delete(t); + }, + }; + class B { + constructor(t) { + (t = r(t)) && + ((this._element = t), + H.set(this._element, this.constructor.DATA_KEY, this)); + } + dispose() { + H.remove(this._element, this.constructor.DATA_KEY), + j.off(this._element, this.constructor.EVENT_KEY), + Object.getOwnPropertyNames(this).forEach((t) => { + this[t] = null; + }); + } + _queueCallback(t, e, i = !0) { + b(t, e, i); + } + static getInstance(t) { + return H.get(r(t), this.DATA_KEY); + } + static getOrCreateInstance(t, e = {}) { + return ( + this.getInstance(t) || new this(t, 'object' == typeof e ? e : null) + ); + } + static get VERSION() { + return '5.1.3'; + } + static get NAME() { + throw new Error( + 'You have to implement the static method "NAME", for each component!' + ); + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + } + const R = (t, e = 'hide') => { + const i = `click.dismiss${t.EVENT_KEY}`, + s = t.NAME; + j.on(document, i, `[data-bs-dismiss="${s}"]`, function (i) { + if ((['A', 'AREA'].includes(this.tagName) && i.preventDefault(), c(this))) + return; + const o = n(this) || this.closest(`.${s}`); + t.getOrCreateInstance(o)[e](); + }); + }; + class W extends B { + static get NAME() { + return 'alert'; + } + close() { + if (j.trigger(this._element, 'close.bs.alert').defaultPrevented) return; + this._element.classList.remove('show'); + const t = this._element.classList.contains('fade'); + this._queueCallback(() => this._destroyElement(), this._element, t); + } + _destroyElement() { + this._element.remove(), + j.trigger(this._element, 'closed.bs.alert'), + this.dispose(); + } + static jQueryInterface(t) { + return this.each(function () { + const e = W.getOrCreateInstance(this); + if ('string' == typeof t) { + if (void 0 === e[t] || t.startsWith('_') || 'constructor' === t) + throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + R(W, 'close'), g(W); + const $ = '[data-bs-toggle="button"]'; + class z extends B { + static get NAME() { + return 'button'; + } + toggle() { + this._element.setAttribute( + 'aria-pressed', + this._element.classList.toggle('active') + ); + } + static jQueryInterface(t) { + return this.each(function () { + const e = z.getOrCreateInstance(this); + 'toggle' === t && e[t](); + }); + } + } + function q(t) { + return ( + 'true' === t || + ('false' !== t && + (t === Number(t).toString() + ? Number(t) + : '' === t || 'null' === t + ? null + : t)) + ); + } + function F(t) { + return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`); + } + j.on(document, 'click.bs.button.data-api', $, (t) => { + t.preventDefault(); + const e = t.target.closest($); + z.getOrCreateInstance(e).toggle(); + }), + g(z); + const U = { + setDataAttribute(t, e, i) { + t.setAttribute(`data-bs-${F(e)}`, i); + }, + removeDataAttribute(t, e) { + t.removeAttribute(`data-bs-${F(e)}`); + }, + getDataAttributes(t) { + if (!t) return {}; + const e = {}; + return ( + Object.keys(t.dataset) + .filter((t) => t.startsWith('bs')) + .forEach((i) => { + let n = i.replace(/^bs/, ''); + (n = n.charAt(0).toLowerCase() + n.slice(1, n.length)), + (e[n] = q(t.dataset[i])); + }), + e + ); + }, + getDataAttribute: (t, e) => q(t.getAttribute(`data-bs-${F(e)}`)), + offset(t) { + const e = t.getBoundingClientRect(); + return { + top: e.top + window.pageYOffset, + left: e.left + window.pageXOffset, + }; + }, + position: (t) => ({ top: t.offsetTop, left: t.offsetLeft }), + }, + V = { + find: (t, e = document.documentElement) => + [].concat(...Element.prototype.querySelectorAll.call(e, t)), + findOne: (t, e = document.documentElement) => + Element.prototype.querySelector.call(e, t), + children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)), + parents(t, e) { + const i = []; + let n = t.parentNode; + for (; n && n.nodeType === Node.ELEMENT_NODE && 3 !== n.nodeType; ) + n.matches(e) && i.push(n), (n = n.parentNode); + return i; + }, + prev(t, e) { + let i = t.previousElementSibling; + for (; i; ) { + if (i.matches(e)) return [i]; + i = i.previousElementSibling; + } + return []; + }, + next(t, e) { + let i = t.nextElementSibling; + for (; i; ) { + if (i.matches(e)) return [i]; + i = i.nextElementSibling; + } + return []; + }, + focusableChildren(t) { + const e = [ + 'a', + 'button', + 'input', + 'textarea', + 'select', + 'details', + '[tabindex]', + '[contenteditable="true"]', + ] + .map((t) => `${t}:not([tabindex^="-"])`) + .join(', '); + return this.find(e, t).filter((t) => !c(t) && l(t)); + }, + }, + K = 'carousel', + X = { + interval: 5e3, + keyboard: !0, + slide: !1, + pause: 'hover', + wrap: !0, + touch: !0, + }, + Y = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean', + }, + Q = 'next', + G = 'prev', + Z = 'left', + J = 'right', + tt = { ArrowLeft: J, ArrowRight: Z }, + et = 'slid.bs.carousel', + it = 'active', + nt = '.active.carousel-item'; + class st extends B { + constructor(t, e) { + super(t), + (this._items = null), + (this._interval = null), + (this._activeElement = null), + (this._isPaused = !1), + (this._isSliding = !1), + (this.touchTimeout = null), + (this.touchStartX = 0), + (this.touchDeltaX = 0), + (this._config = this._getConfig(e)), + (this._indicatorsElement = V.findOne( + '.carousel-indicators', + this._element + )), + (this._touchSupported = + 'ontouchstart' in document.documentElement || + navigator.maxTouchPoints > 0), + (this._pointerEvent = Boolean(window.PointerEvent)), + this._addEventListeners(); + } + static get Default() { + return X; + } + static get NAME() { + return K; + } + next() { + this._slide(Q); + } + nextWhenVisible() { + !document.hidden && l(this._element) && this.next(); + } + prev() { + this._slide(G); + } + pause(t) { + t || (this._isPaused = !0), + V.findOne('.carousel-item-next, .carousel-item-prev', this._element) && + (s(this._element), this.cycle(!0)), + clearInterval(this._interval), + (this._interval = null); + } + cycle(t) { + t || (this._isPaused = !1), + this._interval && + (clearInterval(this._interval), (this._interval = null)), + this._config && + this._config.interval && + !this._isPaused && + (this._updateInterval(), + (this._interval = setInterval( + (document.visibilityState ? this.nextWhenVisible : this.next).bind( + this + ), + this._config.interval + ))); + } + to(t) { + this._activeElement = V.findOne(nt, this._element); + const e = this._getItemIndex(this._activeElement); + if (t > this._items.length - 1 || t < 0) return; + if (this._isSliding) + return void j.one(this._element, et, () => this.to(t)); + if (e === t) return this.pause(), void this.cycle(); + const i = t > e ? Q : G; + this._slide(i, this._items[t]); + } + _getConfig(t) { + return ( + (t = { + ...X, + ...U.getDataAttributes(this._element), + ...('object' == typeof t ? t : {}), + }), + a(K, t, Y), + t + ); + } + _handleSwipe() { + const t = Math.abs(this.touchDeltaX); + if (t <= 40) return; + const e = t / this.touchDeltaX; + (this.touchDeltaX = 0), e && this._slide(e > 0 ? J : Z); + } + _addEventListeners() { + this._config.keyboard && + j.on(this._element, 'keydown.bs.carousel', (t) => this._keydown(t)), + 'hover' === this._config.pause && + (j.on(this._element, 'mouseenter.bs.carousel', (t) => this.pause(t)), + j.on(this._element, 'mouseleave.bs.carousel', (t) => this.cycle(t))), + this._config.touch && + this._touchSupported && + this._addTouchEventListeners(); + } + _addTouchEventListeners() { + const t = (t) => + this._pointerEvent && + ('pen' === t.pointerType || 'touch' === t.pointerType), + e = (e) => { + t(e) + ? (this.touchStartX = e.clientX) + : this._pointerEvent || (this.touchStartX = e.touches[0].clientX); + }, + i = (t) => { + this.touchDeltaX = + t.touches && t.touches.length > 1 + ? 0 + : t.touches[0].clientX - this.touchStartX; + }, + n = (e) => { + t(e) && (this.touchDeltaX = e.clientX - this.touchStartX), + this._handleSwipe(), + 'hover' === this._config.pause && + (this.pause(), + this.touchTimeout && clearTimeout(this.touchTimeout), + (this.touchTimeout = setTimeout( + (t) => this.cycle(t), + 500 + this._config.interval + ))); + }; + V.find('.carousel-item img', this._element).forEach((t) => { + j.on(t, 'dragstart.bs.carousel', (t) => t.preventDefault()); + }), + this._pointerEvent + ? (j.on(this._element, 'pointerdown.bs.carousel', (t) => e(t)), + j.on(this._element, 'pointerup.bs.carousel', (t) => n(t)), + this._element.classList.add('pointer-event')) + : (j.on(this._element, 'touchstart.bs.carousel', (t) => e(t)), + j.on(this._element, 'touchmove.bs.carousel', (t) => i(t)), + j.on(this._element, 'touchend.bs.carousel', (t) => n(t))); + } + _keydown(t) { + if (/input|textarea/i.test(t.target.tagName)) return; + const e = tt[t.key]; + e && (t.preventDefault(), this._slide(e)); + } + _getItemIndex(t) { + return ( + (this._items = + t && t.parentNode ? V.find('.carousel-item', t.parentNode) : []), + this._items.indexOf(t) + ); + } + _getItemByOrder(t, e) { + const i = t === Q; + return v(this._items, e, i, this._config.wrap); + } + _triggerSlideEvent(t, e) { + const i = this._getItemIndex(t), + n = this._getItemIndex(V.findOne(nt, this._element)); + return j.trigger(this._element, 'slide.bs.carousel', { + relatedTarget: t, + direction: e, + from: n, + to: i, + }); + } + _setActiveIndicatorElement(t) { + if (this._indicatorsElement) { + const e = V.findOne('.active', this._indicatorsElement); + e.classList.remove(it), e.removeAttribute('aria-current'); + const i = V.find('[data-bs-target]', this._indicatorsElement); + for (let e = 0; e < i.length; e++) + if ( + Number.parseInt(i[e].getAttribute('data-bs-slide-to'), 10) === + this._getItemIndex(t) + ) { + i[e].classList.add(it), i[e].setAttribute('aria-current', 'true'); + break; + } + } + } + _updateInterval() { + const t = this._activeElement || V.findOne(nt, this._element); + if (!t) return; + const e = Number.parseInt(t.getAttribute('data-bs-interval'), 10); + e + ? ((this._config.defaultInterval = + this._config.defaultInterval || this._config.interval), + (this._config.interval = e)) + : (this._config.interval = + this._config.defaultInterval || this._config.interval); + } + _slide(t, e) { + const i = this._directionToOrder(t), + n = V.findOne(nt, this._element), + s = this._getItemIndex(n), + o = e || this._getItemByOrder(i, n), + r = this._getItemIndex(o), + a = Boolean(this._interval), + l = i === Q, + c = l ? 'carousel-item-start' : 'carousel-item-end', + h = l ? 'carousel-item-next' : 'carousel-item-prev', + d = this._orderToDirection(i); + if (o && o.classList.contains(it)) return void (this._isSliding = !1); + if (this._isSliding) return; + if (this._triggerSlideEvent(o, d).defaultPrevented) return; + if (!n || !o) return; + (this._isSliding = !0), + a && this.pause(), + this._setActiveIndicatorElement(o), + (this._activeElement = o); + const f = () => { + j.trigger(this._element, et, { + relatedTarget: o, + direction: d, + from: s, + to: r, + }); + }; + if (this._element.classList.contains('slide')) { + o.classList.add(h), u(o), n.classList.add(c), o.classList.add(c); + const t = () => { + o.classList.remove(c, h), + o.classList.add(it), + n.classList.remove(it, h, c), + (this._isSliding = !1), + setTimeout(f, 0); + }; + this._queueCallback(t, n, !0); + } else n.classList.remove(it), o.classList.add(it), (this._isSliding = !1), f(); + a && this.cycle(); + } + _directionToOrder(t) { + return [J, Z].includes(t) + ? m() + ? t === Z + ? G + : Q + : t === Z + ? Q + : G + : t; + } + _orderToDirection(t) { + return [Q, G].includes(t) + ? m() + ? t === G + ? Z + : J + : t === G + ? J + : Z + : t; + } + static carouselInterface(t, e) { + const i = st.getOrCreateInstance(t, e); + let { _config: n } = i; + 'object' == typeof e && (n = { ...n, ...e }); + const s = 'string' == typeof e ? e : n.slide; + if ('number' == typeof e) i.to(e); + else if ('string' == typeof s) { + if (void 0 === i[s]) throw new TypeError(`No method named "${s}"`); + i[s](); + } else n.interval && n.ride && (i.pause(), i.cycle()); + } + static jQueryInterface(t) { + return this.each(function () { + st.carouselInterface(this, t); + }); + } + static dataApiClickHandler(t) { + const e = n(this); + if (!e || !e.classList.contains('carousel')) return; + const i = { ...U.getDataAttributes(e), ...U.getDataAttributes(this) }, + s = this.getAttribute('data-bs-slide-to'); + s && (i.interval = !1), + st.carouselInterface(e, i), + s && st.getInstance(e).to(s), + t.preventDefault(); + } + } + j.on( + document, + 'click.bs.carousel.data-api', + '[data-bs-slide], [data-bs-slide-to]', + st.dataApiClickHandler + ), + j.on(window, 'load.bs.carousel.data-api', () => { + const t = V.find('[data-bs-ride="carousel"]'); + for (let e = 0, i = t.length; e < i; e++) + st.carouselInterface(t[e], st.getInstance(t[e])); + }), + g(st); + const ot = 'collapse', + rt = { toggle: !0, parent: null }, + at = { toggle: 'boolean', parent: '(null|element)' }, + lt = 'show', + ct = 'collapse', + ht = 'collapsing', + dt = 'collapsed', + ut = ':scope .collapse .collapse', + ft = '[data-bs-toggle="collapse"]'; + class pt extends B { + constructor(t, e) { + super(t), + (this._isTransitioning = !1), + (this._config = this._getConfig(e)), + (this._triggerArray = []); + const n = V.find(ft); + for (let t = 0, e = n.length; t < e; t++) { + const e = n[t], + s = i(e), + o = V.find(s).filter((t) => t === this._element); + null !== s && + o.length && + ((this._selector = s), this._triggerArray.push(e)); + } + this._initializeChildren(), + this._config.parent || + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), + this._config.toggle && this.toggle(); + } + static get Default() { + return rt; + } + static get NAME() { + return ot; + } + toggle() { + this._isShown() ? this.hide() : this.show(); + } + show() { + if (this._isTransitioning || this._isShown()) return; + let t, + e = []; + if (this._config.parent) { + const t = V.find(ut, this._config.parent); + e = V.find( + '.collapse.show, .collapse.collapsing', + this._config.parent + ).filter((e) => !t.includes(e)); + } + const i = V.findOne(this._selector); + if (e.length) { + const n = e.find((t) => i !== t); + if (((t = n ? pt.getInstance(n) : null), t && t._isTransitioning)) + return; + } + if (j.trigger(this._element, 'show.bs.collapse').defaultPrevented) return; + e.forEach((e) => { + i !== e && pt.getOrCreateInstance(e, { toggle: !1 }).hide(), + t || H.set(e, 'bs.collapse', null); + }); + const n = this._getDimension(); + this._element.classList.remove(ct), + this._element.classList.add(ht), + (this._element.style[n] = 0), + this._addAriaAndCollapsedClass(this._triggerArray, !0), + (this._isTransitioning = !0); + const s = `scroll${n[0].toUpperCase() + n.slice(1)}`; + this._queueCallback( + () => { + (this._isTransitioning = !1), + this._element.classList.remove(ht), + this._element.classList.add(ct, lt), + (this._element.style[n] = ''), + j.trigger(this._element, 'shown.bs.collapse'); + }, + this._element, + !0 + ), + (this._element.style[n] = `${this._element[s]}px`); + } + hide() { + if (this._isTransitioning || !this._isShown()) return; + if (j.trigger(this._element, 'hide.bs.collapse').defaultPrevented) return; + const t = this._getDimension(); + (this._element.style[t] = `${ + this._element.getBoundingClientRect()[t] + }px`), + u(this._element), + this._element.classList.add(ht), + this._element.classList.remove(ct, lt); + const e = this._triggerArray.length; + for (let t = 0; t < e; t++) { + const e = this._triggerArray[t], + i = n(e); + i && !this._isShown(i) && this._addAriaAndCollapsedClass([e], !1); + } + (this._isTransitioning = !0), + (this._element.style[t] = ''), + this._queueCallback( + () => { + (this._isTransitioning = !1), + this._element.classList.remove(ht), + this._element.classList.add(ct), + j.trigger(this._element, 'hidden.bs.collapse'); + }, + this._element, + !0 + ); + } + _isShown(t = this._element) { + return t.classList.contains(lt); + } + _getConfig(t) { + return ( + ((t = { ...rt, ...U.getDataAttributes(this._element), ...t }).toggle = + Boolean(t.toggle)), + (t.parent = r(t.parent)), + a(ot, t, at), + t + ); + } + _getDimension() { + return this._element.classList.contains('collapse-horizontal') + ? 'width' + : 'height'; + } + _initializeChildren() { + if (!this._config.parent) return; + const t = V.find(ut, this._config.parent); + V.find(ft, this._config.parent) + .filter((e) => !t.includes(e)) + .forEach((t) => { + const e = n(t); + e && this._addAriaAndCollapsedClass([t], this._isShown(e)); + }); + } + _addAriaAndCollapsedClass(t, e) { + t.length && + t.forEach((t) => { + e ? t.classList.remove(dt) : t.classList.add(dt), + t.setAttribute('aria-expanded', e); + }); + } + static jQueryInterface(t) { + return this.each(function () { + const e = {}; + 'string' == typeof t && /show|hide/.test(t) && (e.toggle = !1); + const i = pt.getOrCreateInstance(this, e); + if ('string' == typeof t) { + if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); + i[t](); + } + }); + } + } + j.on(document, 'click.bs.collapse.data-api', ft, function (t) { + ('A' === t.target.tagName || + (t.delegateTarget && 'A' === t.delegateTarget.tagName)) && + t.preventDefault(); + const e = i(this); + V.find(e).forEach((t) => { + pt.getOrCreateInstance(t, { toggle: !1 }).toggle(); + }); + }), + g(pt); + var mt = 'top', + gt = 'bottom', + _t = 'right', + bt = 'left', + vt = 'auto', + yt = [mt, gt, _t, bt], + wt = 'start', + Et = 'end', + At = 'clippingParents', + Tt = 'viewport', + Ot = 'popper', + Ct = 'reference', + kt = yt.reduce(function (t, e) { + return t.concat([e + '-' + wt, e + '-' + Et]); + }, []), + Lt = [].concat(yt, [vt]).reduce(function (t, e) { + return t.concat([e, e + '-' + wt, e + '-' + Et]); + }, []), + xt = 'beforeRead', + Dt = 'read', + St = 'afterRead', + Nt = 'beforeMain', + It = 'main', + Pt = 'afterMain', + jt = 'beforeWrite', + Mt = 'write', + Ht = 'afterWrite', + Bt = [xt, Dt, St, Nt, It, Pt, jt, Mt, Ht]; + function Rt(t) { + return t ? (t.nodeName || '').toLowerCase() : null; + } + function Wt(t) { + if (null == t) return window; + if ('[object Window]' !== t.toString()) { + var e = t.ownerDocument; + return (e && e.defaultView) || window; + } + return t; + } + function $t(t) { + return t instanceof Wt(t).Element || t instanceof Element; + } + function zt(t) { + return t instanceof Wt(t).HTMLElement || t instanceof HTMLElement; + } + function qt(t) { + return ( + 'undefined' != typeof ShadowRoot && + (t instanceof Wt(t).ShadowRoot || t instanceof ShadowRoot) + ); + } + const Ft = { + name: 'applyStyles', + enabled: !0, + phase: 'write', + fn: function (t) { + var e = t.state; + Object.keys(e.elements).forEach(function (t) { + var i = e.styles[t] || {}, + n = e.attributes[t] || {}, + s = e.elements[t]; + zt(s) && + Rt(s) && + (Object.assign(s.style, i), + Object.keys(n).forEach(function (t) { + var e = n[t]; + !1 === e + ? s.removeAttribute(t) + : s.setAttribute(t, !0 === e ? '' : e); + })); + }); + }, + effect: function (t) { + var e = t.state, + i = { + popper: { + position: e.options.strategy, + left: '0', + top: '0', + margin: '0', + }, + arrow: { position: 'absolute' }, + reference: {}, + }; + return ( + Object.assign(e.elements.popper.style, i.popper), + (e.styles = i), + e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow), + function () { + Object.keys(e.elements).forEach(function (t) { + var n = e.elements[t], + s = e.attributes[t] || {}, + o = Object.keys( + e.styles.hasOwnProperty(t) ? e.styles[t] : i[t] + ).reduce(function (t, e) { + return (t[e] = ''), t; + }, {}); + zt(n) && + Rt(n) && + (Object.assign(n.style, o), + Object.keys(s).forEach(function (t) { + n.removeAttribute(t); + })); + }); + } + ); + }, + requires: ['computeStyles'], + }; + function Ut(t) { + return t.split('-')[0]; + } + function Vt(t, e) { + var i = t.getBoundingClientRect(); + return { + width: i.width / 1, + height: i.height / 1, + top: i.top / 1, + right: i.right / 1, + bottom: i.bottom / 1, + left: i.left / 1, + x: i.left / 1, + y: i.top / 1, + }; + } + function Kt(t) { + var e = Vt(t), + i = t.offsetWidth, + n = t.offsetHeight; + return ( + Math.abs(e.width - i) <= 1 && (i = e.width), + Math.abs(e.height - n) <= 1 && (n = e.height), + { x: t.offsetLeft, y: t.offsetTop, width: i, height: n } + ); + } + function Xt(t, e) { + var i = e.getRootNode && e.getRootNode(); + if (t.contains(e)) return !0; + if (i && qt(i)) { + var n = e; + do { + if (n && t.isSameNode(n)) return !0; + n = n.parentNode || n.host; + } while (n); + } + return !1; + } + function Yt(t) { + return Wt(t).getComputedStyle(t); + } + function Qt(t) { + return ['table', 'td', 'th'].indexOf(Rt(t)) >= 0; + } + function Gt(t) { + return ( + ($t(t) ? t.ownerDocument : t.document) || window.document + ).documentElement; + } + function Zt(t) { + return 'html' === Rt(t) + ? t + : t.assignedSlot || t.parentNode || (qt(t) ? t.host : null) || Gt(t); + } + function Jt(t) { + return zt(t) && 'fixed' !== Yt(t).position ? t.offsetParent : null; + } + function te(t) { + for (var e = Wt(t), i = Jt(t); i && Qt(i) && 'static' === Yt(i).position; ) + i = Jt(i); + return i && + ('html' === Rt(i) || ('body' === Rt(i) && 'static' === Yt(i).position)) + ? e + : i || + (function (t) { + var e = -1 !== navigator.userAgent.toLowerCase().indexOf('firefox'); + if ( + -1 !== navigator.userAgent.indexOf('Trident') && + zt(t) && + 'fixed' === Yt(t).position + ) + return null; + for ( + var i = Zt(t); + zt(i) && ['html', 'body'].indexOf(Rt(i)) < 0; + + ) { + var n = Yt(i); + if ( + 'none' !== n.transform || + 'none' !== n.perspective || + 'paint' === n.contain || + -1 !== ['transform', 'perspective'].indexOf(n.willChange) || + (e && 'filter' === n.willChange) || + (e && n.filter && 'none' !== n.filter) + ) + return i; + i = i.parentNode; + } + return null; + })(t) || + e; + } + function ee(t) { + return ['top', 'bottom'].indexOf(t) >= 0 ? 'x' : 'y'; + } + var ie = Math.max, + ne = Math.min, + se = Math.round; + function oe(t, e, i) { + return ie(t, ne(e, i)); + } + function re(t) { + return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t); + } + function ae(t, e) { + return e.reduce(function (e, i) { + return (e[i] = t), e; + }, {}); + } + const le = { + name: 'arrow', + enabled: !0, + phase: 'main', + fn: function (t) { + var e, + i = t.state, + n = t.name, + s = t.options, + o = i.elements.arrow, + r = i.modifiersData.popperOffsets, + a = Ut(i.placement), + l = ee(a), + c = [bt, _t].indexOf(a) >= 0 ? 'height' : 'width'; + if (o && r) { + var h = (function (t, e) { + return re( + 'number' != + typeof (t = + 'function' == typeof t + ? t(Object.assign({}, e.rects, { placement: e.placement })) + : t) + ? t + : ae(t, yt) + ); + })(s.padding, i), + d = Kt(o), + u = 'y' === l ? mt : bt, + f = 'y' === l ? gt : _t, + p = + i.rects.reference[c] + + i.rects.reference[l] - + r[l] - + i.rects.popper[c], + m = r[l] - i.rects.reference[l], + g = te(o), + _ = g ? ('y' === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0, + b = p / 2 - m / 2, + v = h[u], + y = _ - d[c] - h[f], + w = _ / 2 - d[c] / 2 + b, + E = oe(v, w, y), + A = l; + i.modifiersData[n] = (((e = {})[A] = E), (e.centerOffset = E - w), e); + } + }, + effect: function (t) { + var e = t.state, + i = t.options.element, + n = void 0 === i ? '[data-popper-arrow]' : i; + null != n && + ('string' != typeof n || (n = e.elements.popper.querySelector(n))) && + Xt(e.elements.popper, n) && + (e.elements.arrow = n); + }, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'], + }; + function ce(t) { + return t.split('-')[1]; + } + var he = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }; + function de(t) { + var e, + i = t.popper, + n = t.popperRect, + s = t.placement, + o = t.variation, + r = t.offsets, + a = t.position, + l = t.gpuAcceleration, + c = t.adaptive, + h = t.roundOffsets, + d = + !0 === h + ? (function (t) { + var e = t.x, + i = t.y, + n = window.devicePixelRatio || 1; + return { x: se(se(e * n) / n) || 0, y: se(se(i * n) / n) || 0 }; + })(r) + : 'function' == typeof h + ? h(r) + : r, + u = d.x, + f = void 0 === u ? 0 : u, + p = d.y, + m = void 0 === p ? 0 : p, + g = r.hasOwnProperty('x'), + _ = r.hasOwnProperty('y'), + b = bt, + v = mt, + y = window; + if (c) { + var w = te(i), + E = 'clientHeight', + A = 'clientWidth'; + w === Wt(i) && + 'static' !== Yt((w = Gt(i))).position && + 'absolute' === a && + ((E = 'scrollHeight'), (A = 'scrollWidth')), + (w = w), + (s !== mt && ((s !== bt && s !== _t) || o !== Et)) || + ((v = gt), (m -= w[E] - n.height), (m *= l ? 1 : -1)), + (s !== bt && ((s !== mt && s !== gt) || o !== Et)) || + ((b = _t), (f -= w[A] - n.width), (f *= l ? 1 : -1)); + } + var T, + O = Object.assign({ position: a }, c && he); + return l + ? Object.assign( + {}, + O, + (((T = {})[v] = _ ? '0' : ''), + (T[b] = g ? '0' : ''), + (T.transform = + (y.devicePixelRatio || 1) <= 1 + ? 'translate(' + f + 'px, ' + m + 'px)' + : 'translate3d(' + f + 'px, ' + m + 'px, 0)'), + T) + ) + : Object.assign( + {}, + O, + (((e = {})[v] = _ ? m + 'px' : ''), + (e[b] = g ? f + 'px' : ''), + (e.transform = ''), + e) + ); + } + const ue = { + name: 'computeStyles', + enabled: !0, + phase: 'beforeWrite', + fn: function (t) { + var e = t.state, + i = t.options, + n = i.gpuAcceleration, + s = void 0 === n || n, + o = i.adaptive, + r = void 0 === o || o, + a = i.roundOffsets, + l = void 0 === a || a, + c = { + placement: Ut(e.placement), + variation: ce(e.placement), + popper: e.elements.popper, + popperRect: e.rects.popper, + gpuAcceleration: s, + }; + null != e.modifiersData.popperOffsets && + (e.styles.popper = Object.assign( + {}, + e.styles.popper, + de( + Object.assign({}, c, { + offsets: e.modifiersData.popperOffsets, + position: e.options.strategy, + adaptive: r, + roundOffsets: l, + }) + ) + )), + null != e.modifiersData.arrow && + (e.styles.arrow = Object.assign( + {}, + e.styles.arrow, + de( + Object.assign({}, c, { + offsets: e.modifiersData.arrow, + position: 'absolute', + adaptive: !1, + roundOffsets: l, + }) + ) + )), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + 'data-popper-placement': e.placement, + })); + }, + data: {}, + }; + var fe = { passive: !0 }; + const pe = { + name: 'eventListeners', + enabled: !0, + phase: 'write', + fn: function () {}, + effect: function (t) { + var e = t.state, + i = t.instance, + n = t.options, + s = n.scroll, + o = void 0 === s || s, + r = n.resize, + a = void 0 === r || r, + l = Wt(e.elements.popper), + c = [].concat(e.scrollParents.reference, e.scrollParents.popper); + return ( + o && + c.forEach(function (t) { + t.addEventListener('scroll', i.update, fe); + }), + a && l.addEventListener('resize', i.update, fe), + function () { + o && + c.forEach(function (t) { + t.removeEventListener('scroll', i.update, fe); + }), + a && l.removeEventListener('resize', i.update, fe); + } + ); + }, + data: {}, + }; + var me = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + function ge(t) { + return t.replace(/left|right|bottom|top/g, function (t) { + return me[t]; + }); + } + var _e = { start: 'end', end: 'start' }; + function be(t) { + return t.replace(/start|end/g, function (t) { + return _e[t]; + }); + } + function ve(t) { + var e = Wt(t); + return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset }; + } + function ye(t) { + return Vt(Gt(t)).left + ve(t).scrollLeft; + } + function we(t) { + var e = Yt(t), + i = e.overflow, + n = e.overflowX, + s = e.overflowY; + return /auto|scroll|overlay|hidden/.test(i + s + n); + } + function Ee(t) { + return ['html', 'body', '#document'].indexOf(Rt(t)) >= 0 + ? t.ownerDocument.body + : zt(t) && we(t) + ? t + : Ee(Zt(t)); + } + function Ae(t, e) { + var i; + void 0 === e && (e = []); + var n = Ee(t), + s = n === (null == (i = t.ownerDocument) ? void 0 : i.body), + o = Wt(n), + r = s ? [o].concat(o.visualViewport || [], we(n) ? n : []) : n, + a = e.concat(r); + return s ? a : a.concat(Ae(Zt(r))); + } + function Te(t) { + return Object.assign({}, t, { + left: t.x, + top: t.y, + right: t.x + t.width, + bottom: t.y + t.height, + }); + } + function Oe(t, e) { + return e === Tt + ? Te( + (function (t) { + var e = Wt(t), + i = Gt(t), + n = e.visualViewport, + s = i.clientWidth, + o = i.clientHeight, + r = 0, + a = 0; + return ( + n && + ((s = n.width), + (o = n.height), + /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || + ((r = n.offsetLeft), (a = n.offsetTop))), + { width: s, height: o, x: r + ye(t), y: a } + ); + })(t) + ) + : zt(e) + ? (function (t) { + var e = Vt(t); + return ( + (e.top = e.top + t.clientTop), + (e.left = e.left + t.clientLeft), + (e.bottom = e.top + t.clientHeight), + (e.right = e.left + t.clientWidth), + (e.width = t.clientWidth), + (e.height = t.clientHeight), + (e.x = e.left), + (e.y = e.top), + e + ); + })(e) + : Te( + (function (t) { + var e, + i = Gt(t), + n = ve(t), + s = null == (e = t.ownerDocument) ? void 0 : e.body, + o = ie( + i.scrollWidth, + i.clientWidth, + s ? s.scrollWidth : 0, + s ? s.clientWidth : 0 + ), + r = ie( + i.scrollHeight, + i.clientHeight, + s ? s.scrollHeight : 0, + s ? s.clientHeight : 0 + ), + a = -n.scrollLeft + ye(t), + l = -n.scrollTop; + return ( + 'rtl' === Yt(s || i).direction && + (a += ie(i.clientWidth, s ? s.clientWidth : 0) - o), + { width: o, height: r, x: a, y: l } + ); + })(Gt(t)) + ); + } + function Ce(t) { + var e, + i = t.reference, + n = t.element, + s = t.placement, + o = s ? Ut(s) : null, + r = s ? ce(s) : null, + a = i.x + i.width / 2 - n.width / 2, + l = i.y + i.height / 2 - n.height / 2; + switch (o) { + case mt: + e = { x: a, y: i.y - n.height }; + break; + case gt: + e = { x: a, y: i.y + i.height }; + break; + case _t: + e = { x: i.x + i.width, y: l }; + break; + case bt: + e = { x: i.x - n.width, y: l }; + break; + default: + e = { x: i.x, y: i.y }; + } + var c = o ? ee(o) : null; + if (null != c) { + var h = 'y' === c ? 'height' : 'width'; + switch (r) { + case wt: + e[c] = e[c] - (i[h] / 2 - n[h] / 2); + break; + case Et: + e[c] = e[c] + (i[h] / 2 - n[h] / 2); + } + } + return e; + } + function ke(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = void 0 === n ? t.placement : n, + o = i.boundary, + r = void 0 === o ? At : o, + a = i.rootBoundary, + l = void 0 === a ? Tt : a, + c = i.elementContext, + h = void 0 === c ? Ot : c, + d = i.altBoundary, + u = void 0 !== d && d, + f = i.padding, + p = void 0 === f ? 0 : f, + m = re('number' != typeof p ? p : ae(p, yt)), + g = h === Ot ? Ct : Ot, + _ = t.rects.popper, + b = t.elements[u ? g : h], + v = (function (t, e, i) { + var n = + 'clippingParents' === e + ? (function (t) { + var e = Ae(Zt(t)), + i = + ['absolute', 'fixed'].indexOf(Yt(t).position) >= 0 && + zt(t) + ? te(t) + : t; + return $t(i) + ? e.filter(function (t) { + return $t(t) && Xt(t, i) && 'body' !== Rt(t); + }) + : []; + })(t) + : [].concat(e), + s = [].concat(n, [i]), + o = s[0], + r = s.reduce(function (e, i) { + var n = Oe(t, i); + return ( + (e.top = ie(n.top, e.top)), + (e.right = ne(n.right, e.right)), + (e.bottom = ne(n.bottom, e.bottom)), + (e.left = ie(n.left, e.left)), + e + ); + }, Oe(t, o)); + return ( + (r.width = r.right - r.left), + (r.height = r.bottom - r.top), + (r.x = r.left), + (r.y = r.top), + r + ); + })($t(b) ? b : b.contextElement || Gt(t.elements.popper), r, l), + y = Vt(t.elements.reference), + w = Ce({ reference: y, element: _, strategy: 'absolute', placement: s }), + E = Te(Object.assign({}, _, w)), + A = h === Ot ? E : y, + T = { + top: v.top - A.top + m.top, + bottom: A.bottom - v.bottom + m.bottom, + left: v.left - A.left + m.left, + right: A.right - v.right + m.right, + }, + O = t.modifiersData.offset; + if (h === Ot && O) { + var C = O[s]; + Object.keys(T).forEach(function (t) { + var e = [_t, gt].indexOf(t) >= 0 ? 1 : -1, + i = [mt, gt].indexOf(t) >= 0 ? 'y' : 'x'; + T[t] += C[i] * e; + }); + } + return T; + } + function Le(t, e) { + void 0 === e && (e = {}); + var i = e, + n = i.placement, + s = i.boundary, + o = i.rootBoundary, + r = i.padding, + a = i.flipVariations, + l = i.allowedAutoPlacements, + c = void 0 === l ? Lt : l, + h = ce(n), + d = h + ? a + ? kt + : kt.filter(function (t) { + return ce(t) === h; + }) + : yt, + u = d.filter(function (t) { + return c.indexOf(t) >= 0; + }); + 0 === u.length && (u = d); + var f = u.reduce(function (e, i) { + return ( + (e[i] = ke(t, { + placement: i, + boundary: s, + rootBoundary: o, + padding: r, + })[Ut(i)]), + e + ); + }, {}); + return Object.keys(f).sort(function (t, e) { + return f[t] - f[e]; + }); + } + const xe = { + name: 'flip', + enabled: !0, + phase: 'main', + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name; + if (!e.modifiersData[n]._skip) { + for ( + var s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 === r || r, + l = i.fallbackPlacements, + c = i.padding, + h = i.boundary, + d = i.rootBoundary, + u = i.altBoundary, + f = i.flipVariations, + p = void 0 === f || f, + m = i.allowedAutoPlacements, + g = e.options.placement, + _ = Ut(g), + b = + l || + (_ !== g && p + ? (function (t) { + if (Ut(t) === vt) return []; + var e = ge(t); + return [be(t), e, be(e)]; + })(g) + : [ge(g)]), + v = [g].concat(b).reduce(function (t, i) { + return t.concat( + Ut(i) === vt + ? Le(e, { + placement: i, + boundary: h, + rootBoundary: d, + padding: c, + flipVariations: p, + allowedAutoPlacements: m, + }) + : i + ); + }, []), + y = e.rects.reference, + w = e.rects.popper, + E = new Map(), + A = !0, + T = v[0], + O = 0; + O < v.length; + O++ + ) { + var C = v[O], + k = Ut(C), + L = ce(C) === wt, + x = [mt, gt].indexOf(k) >= 0, + D = x ? 'width' : 'height', + S = ke(e, { + placement: C, + boundary: h, + rootBoundary: d, + altBoundary: u, + padding: c, + }), + N = x ? (L ? _t : bt) : L ? gt : mt; + y[D] > w[D] && (N = ge(N)); + var I = ge(N), + P = []; + if ( + (o && P.push(S[k] <= 0), + a && P.push(S[N] <= 0, S[I] <= 0), + P.every(function (t) { + return t; + })) + ) { + (T = C), (A = !1); + break; + } + E.set(C, P); + } + if (A) + for ( + var j = function (t) { + var e = v.find(function (e) { + var i = E.get(e); + if (i) + return i.slice(0, t).every(function (t) { + return t; + }); + }); + if (e) return (T = e), 'break'; + }, + M = p ? 3 : 1; + M > 0 && 'break' !== j(M); + M-- + ); + e.placement !== T && + ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0)); + } + }, + requiresIfExists: ['offset'], + data: { _skip: !1 }, + }; + function De(t, e, i) { + return ( + void 0 === i && (i = { x: 0, y: 0 }), + { + top: t.top - e.height - i.y, + right: t.right - e.width + i.x, + bottom: t.bottom - e.height + i.y, + left: t.left - e.width - i.x, + } + ); + } + function Se(t) { + return [mt, _t, gt, bt].some(function (e) { + return t[e] >= 0; + }); + } + const Ne = { + name: 'hide', + enabled: !0, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: function (t) { + var e = t.state, + i = t.name, + n = e.rects.reference, + s = e.rects.popper, + o = e.modifiersData.preventOverflow, + r = ke(e, { elementContext: 'reference' }), + a = ke(e, { altBoundary: !0 }), + l = De(r, n), + c = De(a, s, o), + h = Se(l), + d = Se(c); + (e.modifiersData[i] = { + referenceClippingOffsets: l, + popperEscapeOffsets: c, + isReferenceHidden: h, + hasPopperEscaped: d, + }), + (e.attributes.popper = Object.assign({}, e.attributes.popper, { + 'data-popper-reference-hidden': h, + 'data-popper-escaped': d, + })); + }, + }, + Ie = { + name: 'offset', + enabled: !0, + phase: 'main', + requires: ['popperOffsets'], + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.offset, + o = void 0 === s ? [0, 0] : s, + r = Lt.reduce(function (t, i) { + return ( + (t[i] = (function (t, e, i) { + var n = Ut(t), + s = [bt, mt].indexOf(n) >= 0 ? -1 : 1, + o = + 'function' == typeof i + ? i(Object.assign({}, e, { placement: t })) + : i, + r = o[0], + a = o[1]; + return ( + (r = r || 0), + (a = (a || 0) * s), + [bt, _t].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a } + ); + })(i, e.rects, o)), + t + ); + }, {}), + a = r[e.placement], + l = a.x, + c = a.y; + null != e.modifiersData.popperOffsets && + ((e.modifiersData.popperOffsets.x += l), + (e.modifiersData.popperOffsets.y += c)), + (e.modifiersData[n] = r); + }, + }, + Pe = { + name: 'popperOffsets', + enabled: !0, + phase: 'read', + fn: function (t) { + var e = t.state, + i = t.name; + e.modifiersData[i] = Ce({ + reference: e.rects.reference, + element: e.rects.popper, + strategy: 'absolute', + placement: e.placement, + }); + }, + data: {}, + }, + je = { + name: 'preventOverflow', + enabled: !0, + phase: 'main', + fn: function (t) { + var e = t.state, + i = t.options, + n = t.name, + s = i.mainAxis, + o = void 0 === s || s, + r = i.altAxis, + a = void 0 !== r && r, + l = i.boundary, + c = i.rootBoundary, + h = i.altBoundary, + d = i.padding, + u = i.tether, + f = void 0 === u || u, + p = i.tetherOffset, + m = void 0 === p ? 0 : p, + g = ke(e, { + boundary: l, + rootBoundary: c, + padding: d, + altBoundary: h, + }), + _ = Ut(e.placement), + b = ce(e.placement), + v = !b, + y = ee(_), + w = 'x' === y ? 'y' : 'x', + E = e.modifiersData.popperOffsets, + A = e.rects.reference, + T = e.rects.popper, + O = + 'function' == typeof m + ? m(Object.assign({}, e.rects, { placement: e.placement })) + : m, + C = { x: 0, y: 0 }; + if (E) { + if (o || a) { + var k = 'y' === y ? mt : bt, + L = 'y' === y ? gt : _t, + x = 'y' === y ? 'height' : 'width', + D = E[y], + S = E[y] + g[k], + N = E[y] - g[L], + I = f ? -T[x] / 2 : 0, + P = b === wt ? A[x] : T[x], + j = b === wt ? -T[x] : -A[x], + M = e.elements.arrow, + H = f && M ? Kt(M) : { width: 0, height: 0 }, + B = e.modifiersData['arrow#persistent'] + ? e.modifiersData['arrow#persistent'].padding + : { top: 0, right: 0, bottom: 0, left: 0 }, + R = B[k], + W = B[L], + $ = oe(0, A[x], H[x]), + z = v ? A[x] / 2 - I - $ - R - O : P - $ - R - O, + q = v ? -A[x] / 2 + I + $ + W + O : j + $ + W + O, + F = e.elements.arrow && te(e.elements.arrow), + U = F ? ('y' === y ? F.clientTop || 0 : F.clientLeft || 0) : 0, + V = e.modifiersData.offset + ? e.modifiersData.offset[e.placement][y] + : 0, + K = E[y] + z - V - U, + X = E[y] + q - V; + if (o) { + var Y = oe(f ? ne(S, K) : S, D, f ? ie(N, X) : N); + (E[y] = Y), (C[y] = Y - D); + } + if (a) { + var Q = 'x' === y ? mt : bt, + G = 'x' === y ? gt : _t, + Z = E[w], + J = Z + g[Q], + tt = Z - g[G], + et = oe(f ? ne(J, K) : J, Z, f ? ie(tt, X) : tt); + (E[w] = et), (C[w] = et - Z); + } + } + e.modifiersData[n] = C; + } + }, + requiresIfExists: ['offset'], + }; + function Me(t, e, i) { + void 0 === i && (i = !1); + var n = zt(e); + zt(e) && + (function (t) { + var e = t.getBoundingClientRect(); + e.width, t.offsetWidth, e.height, t.offsetHeight; + })(e); + var s, + o, + r = Gt(e), + a = Vt(t), + l = { scrollLeft: 0, scrollTop: 0 }, + c = { x: 0, y: 0 }; + return ( + (n || (!n && !i)) && + (('body' !== Rt(e) || we(r)) && + (l = + (s = e) !== Wt(s) && zt(s) + ? { scrollLeft: (o = s).scrollLeft, scrollTop: o.scrollTop } + : ve(s)), + zt(e) + ? (((c = Vt(e)).x += e.clientLeft), (c.y += e.clientTop)) + : r && (c.x = ye(r))), + { + x: a.left + l.scrollLeft - c.x, + y: a.top + l.scrollTop - c.y, + width: a.width, + height: a.height, + } + ); + } + function He(t) { + var e = new Map(), + i = new Set(), + n = []; + function s(t) { + i.add(t.name), + [] + .concat(t.requires || [], t.requiresIfExists || []) + .forEach(function (t) { + if (!i.has(t)) { + var n = e.get(t); + n && s(n); + } + }), + n.push(t); + } + return ( + t.forEach(function (t) { + e.set(t.name, t); + }), + t.forEach(function (t) { + i.has(t.name) || s(t); + }), + n + ); + } + var Be = { placement: 'bottom', modifiers: [], strategy: 'absolute' }; + function Re() { + for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) + e[i] = arguments[i]; + return !e.some(function (t) { + return !(t && 'function' == typeof t.getBoundingClientRect); + }); + } + function We(t) { + void 0 === t && (t = {}); + var e = t, + i = e.defaultModifiers, + n = void 0 === i ? [] : i, + s = e.defaultOptions, + o = void 0 === s ? Be : s; + return function (t, e, i) { + void 0 === i && (i = o); + var s, + r, + a = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, Be, o), + modifiersData: {}, + elements: { reference: t, popper: e }, + attributes: {}, + styles: {}, + }, + l = [], + c = !1, + h = { + state: a, + setOptions: function (i) { + var s = 'function' == typeof i ? i(a.options) : i; + d(), + (a.options = Object.assign({}, o, a.options, s)), + (a.scrollParents = { + reference: $t(t) + ? Ae(t) + : t.contextElement + ? Ae(t.contextElement) + : [], + popper: Ae(e), + }); + var r, + c, + u = (function (t) { + var e = He(t); + return Bt.reduce(function (t, i) { + return t.concat( + e.filter(function (t) { + return t.phase === i; + }) + ); + }, []); + })( + ((r = [].concat(n, a.options.modifiers)), + (c = r.reduce(function (t, e) { + var i = t[e.name]; + return ( + (t[e.name] = i + ? Object.assign({}, i, e, { + options: Object.assign({}, i.options, e.options), + data: Object.assign({}, i.data, e.data), + }) + : e), + t + ); + }, {})), + Object.keys(c).map(function (t) { + return c[t]; + })) + ); + return ( + (a.orderedModifiers = u.filter(function (t) { + return t.enabled; + })), + a.orderedModifiers.forEach(function (t) { + var e = t.name, + i = t.options, + n = void 0 === i ? {} : i, + s = t.effect; + if ('function' == typeof s) { + var o = s({ state: a, name: e, instance: h, options: n }); + l.push(o || function () {}); + } + }), + h.update() + ); + }, + forceUpdate: function () { + if (!c) { + var t = a.elements, + e = t.reference, + i = t.popper; + if (Re(e, i)) { + (a.rects = { + reference: Me(e, te(i), 'fixed' === a.options.strategy), + popper: Kt(i), + }), + (a.reset = !1), + (a.placement = a.options.placement), + a.orderedModifiers.forEach(function (t) { + return (a.modifiersData[t.name] = Object.assign( + {}, + t.data + )); + }); + for (var n = 0; n < a.orderedModifiers.length; n++) + if (!0 !== a.reset) { + var s = a.orderedModifiers[n], + o = s.fn, + r = s.options, + l = void 0 === r ? {} : r, + d = s.name; + 'function' == typeof o && + (a = + o({ state: a, options: l, name: d, instance: h }) || a); + } else (a.reset = !1), (n = -1); + } + } + }, + update: + ((s = function () { + return new Promise(function (t) { + h.forceUpdate(), t(a); + }); + }), + function () { + return ( + r || + (r = new Promise(function (t) { + Promise.resolve().then(function () { + (r = void 0), t(s()); + }); + })), + r + ); + }), + destroy: function () { + d(), (c = !0); + }, + }; + if (!Re(t, e)) return h; + function d() { + l.forEach(function (t) { + return t(); + }), + (l = []); + } + return ( + h.setOptions(i).then(function (t) { + !c && i.onFirstUpdate && i.onFirstUpdate(t); + }), + h + ); + }; + } + var $e = We(), + ze = We({ defaultModifiers: [pe, Pe, ue, Ft] }), + qe = We({ defaultModifiers: [pe, Pe, ue, Ft, Ie, xe, je, le, Ne] }); + const Fe = Object.freeze({ + __proto__: null, + popperGenerator: We, + detectOverflow: ke, + createPopperBase: $e, + createPopper: qe, + createPopperLite: ze, + top: mt, + bottom: gt, + right: _t, + left: bt, + auto: vt, + basePlacements: yt, + start: wt, + end: Et, + clippingParents: At, + viewport: Tt, + popper: Ot, + reference: Ct, + variationPlacements: kt, + placements: Lt, + beforeRead: xt, + read: Dt, + afterRead: St, + beforeMain: Nt, + main: It, + afterMain: Pt, + beforeWrite: jt, + write: Mt, + afterWrite: Ht, + modifierPhases: Bt, + applyStyles: Ft, + arrow: le, + computeStyles: ue, + eventListeners: pe, + flip: xe, + hide: Ne, + offset: Ie, + popperOffsets: Pe, + preventOverflow: je, + }), + Ue = 'dropdown', + Ve = 'Escape', + Ke = 'Space', + Xe = 'ArrowUp', + Ye = 'ArrowDown', + Qe = new RegExp('ArrowUp|ArrowDown|Escape'), + Ge = 'click.bs.dropdown.data-api', + Ze = 'keydown.bs.dropdown.data-api', + Je = 'show', + ti = '[data-bs-toggle="dropdown"]', + ei = '.dropdown-menu', + ii = m() ? 'top-end' : 'top-start', + ni = m() ? 'top-start' : 'top-end', + si = m() ? 'bottom-end' : 'bottom-start', + oi = m() ? 'bottom-start' : 'bottom-end', + ri = m() ? 'left-start' : 'right-start', + ai = m() ? 'right-start' : 'left-start', + li = { + offset: [0, 2], + boundary: 'clippingParents', + reference: 'toggle', + display: 'dynamic', + popperConfig: null, + autoClose: !0, + }, + ci = { + offset: '(array|string|function)', + boundary: '(string|element)', + reference: '(string|element|object)', + display: 'string', + popperConfig: '(null|object|function)', + autoClose: '(boolean|string)', + }; + class hi extends B { + constructor(t, e) { + super(t), + (this._popper = null), + (this._config = this._getConfig(e)), + (this._menu = this._getMenuElement()), + (this._inNavbar = this._detectNavbar()); + } + static get Default() { + return li; + } + static get DefaultType() { + return ci; + } + static get NAME() { + return Ue; + } + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + show() { + if (c(this._element) || this._isShown(this._menu)) return; + const t = { relatedTarget: this._element }; + if (j.trigger(this._element, 'show.bs.dropdown', t).defaultPrevented) + return; + const e = hi.getParentFromElement(this._element); + this._inNavbar + ? U.setDataAttribute(this._menu, 'popper', 'none') + : this._createPopper(e), + 'ontouchstart' in document.documentElement && + !e.closest('.navbar-nav') && + [] + .concat(...document.body.children) + .forEach((t) => j.on(t, 'mouseover', d)), + this._element.focus(), + this._element.setAttribute('aria-expanded', !0), + this._menu.classList.add(Je), + this._element.classList.add(Je), + j.trigger(this._element, 'shown.bs.dropdown', t); + } + hide() { + if (c(this._element) || !this._isShown(this._menu)) return; + const t = { relatedTarget: this._element }; + this._completeHide(t); + } + dispose() { + this._popper && this._popper.destroy(), super.dispose(); + } + update() { + (this._inNavbar = this._detectNavbar()), + this._popper && this._popper.update(); + } + _completeHide(t) { + j.trigger(this._element, 'hide.bs.dropdown', t).defaultPrevented || + ('ontouchstart' in document.documentElement && + [] + .concat(...document.body.children) + .forEach((t) => j.off(t, 'mouseover', d)), + this._popper && this._popper.destroy(), + this._menu.classList.remove(Je), + this._element.classList.remove(Je), + this._element.setAttribute('aria-expanded', 'false'), + U.removeDataAttribute(this._menu, 'popper'), + j.trigger(this._element, 'hidden.bs.dropdown', t)); + } + _getConfig(t) { + if ( + ((t = { + ...this.constructor.Default, + ...U.getDataAttributes(this._element), + ...t, + }), + a(Ue, t, this.constructor.DefaultType), + 'object' == typeof t.reference && + !o(t.reference) && + 'function' != typeof t.reference.getBoundingClientRect) + ) + throw new TypeError( + `${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.` + ); + return t; + } + _createPopper(t) { + if (void 0 === Fe) + throw new TypeError( + "Bootstrap's dropdowns require Popper (https://popper.js.org)" + ); + let e = this._element; + 'parent' === this._config.reference + ? (e = t) + : o(this._config.reference) + ? (e = r(this._config.reference)) + : 'object' == typeof this._config.reference && + (e = this._config.reference); + const i = this._getPopperConfig(), + n = i.modifiers.find( + (t) => 'applyStyles' === t.name && !1 === t.enabled + ); + (this._popper = qe(e, this._menu, i)), + n && U.setDataAttribute(this._menu, 'popper', 'static'); + } + _isShown(t = this._element) { + return t.classList.contains(Je); + } + _getMenuElement() { + return V.next(this._element, ei)[0]; + } + _getPlacement() { + const t = this._element.parentNode; + if (t.classList.contains('dropend')) return ri; + if (t.classList.contains('dropstart')) return ai; + const e = + 'end' === + getComputedStyle(this._menu).getPropertyValue('--bs-position').trim(); + return t.classList.contains('dropup') ? (e ? ni : ii) : e ? oi : si; + } + _detectNavbar() { + return null !== this._element.closest('.navbar'); + } + _getOffset() { + const { offset: t } = this._config; + return 'string' == typeof t + ? t.split(',').map((t) => Number.parseInt(t, 10)) + : 'function' == typeof t + ? (e) => t(e, this._element) + : t; + } + _getPopperConfig() { + const t = { + placement: this._getPlacement(), + modifiers: [ + { + name: 'preventOverflow', + options: { boundary: this._config.boundary }, + }, + { name: 'offset', options: { offset: this._getOffset() } }, + ], + }; + return ( + 'static' === this._config.display && + (t.modifiers = [{ name: 'applyStyles', enabled: !1 }]), + { + ...t, + ...('function' == typeof this._config.popperConfig + ? this._config.popperConfig(t) + : this._config.popperConfig), + } + ); + } + _selectMenuItem({ key: t, target: e }) { + const i = V.find( + '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)', + this._menu + ).filter(l); + i.length && v(i, e, t === Ye, !i.includes(e)).focus(); + } + static jQueryInterface(t) { + return this.each(function () { + const e = hi.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + static clearMenus(t) { + if (t && (2 === t.button || ('keyup' === t.type && 'Tab' !== t.key))) + return; + const e = V.find(ti); + for (let i = 0, n = e.length; i < n; i++) { + const n = hi.getInstance(e[i]); + if (!n || !1 === n._config.autoClose) continue; + if (!n._isShown()) continue; + const s = { relatedTarget: n._element }; + if (t) { + const e = t.composedPath(), + i = e.includes(n._menu); + if ( + e.includes(n._element) || + ('inside' === n._config.autoClose && !i) || + ('outside' === n._config.autoClose && i) + ) + continue; + if ( + n._menu.contains(t.target) && + (('keyup' === t.type && 'Tab' === t.key) || + /input|select|option|textarea|form/i.test(t.target.tagName)) + ) + continue; + 'click' === t.type && (s.clickEvent = t); + } + n._completeHide(s); + } + } + static getParentFromElement(t) { + return n(t) || t.parentNode; + } + static dataApiKeydownHandler(t) { + if ( + /input|textarea/i.test(t.target.tagName) + ? t.key === Ke || + (t.key !== Ve && + ((t.key !== Ye && t.key !== Xe) || t.target.closest(ei))) + : !Qe.test(t.key) + ) + return; + const e = this.classList.contains(Je); + if (!e && t.key === Ve) return; + if ((t.preventDefault(), t.stopPropagation(), c(this))) return; + const i = this.matches(ti) ? this : V.prev(this, ti)[0], + n = hi.getOrCreateInstance(i); + if (t.key !== Ve) + return t.key === Xe || t.key === Ye + ? (e || n.show(), void n._selectMenuItem(t)) + : void ((e && t.key !== Ke) || hi.clearMenus()); + n.hide(); + } + } + j.on(document, Ze, ti, hi.dataApiKeydownHandler), + j.on(document, Ze, ei, hi.dataApiKeydownHandler), + j.on(document, Ge, hi.clearMenus), + j.on(document, 'keyup.bs.dropdown.data-api', hi.clearMenus), + j.on(document, Ge, ti, function (t) { + t.preventDefault(), hi.getOrCreateInstance(this).toggle(); + }), + g(hi); + const di = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + ui = '.sticky-top'; + class fi { + constructor() { + this._element = document.body; + } + getWidth() { + const t = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - t); + } + hide() { + const t = this.getWidth(); + this._disableOverFlow(), + this._setElementAttributes(this._element, 'paddingRight', (e) => e + t), + this._setElementAttributes(di, 'paddingRight', (e) => e + t), + this._setElementAttributes(ui, 'marginRight', (e) => e - t); + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, 'overflow'), + (this._element.style.overflow = 'hidden'); + } + _setElementAttributes(t, e, i) { + const n = this.getWidth(); + this._applyManipulationCallback(t, (t) => { + if (t !== this._element && window.innerWidth > t.clientWidth + n) + return; + this._saveInitialAttribute(t, e); + const s = window.getComputedStyle(t)[e]; + t.style[e] = `${i(Number.parseFloat(s))}px`; + }); + } + reset() { + this._resetElementAttributes(this._element, 'overflow'), + this._resetElementAttributes(this._element, 'paddingRight'), + this._resetElementAttributes(di, 'paddingRight'), + this._resetElementAttributes(ui, 'marginRight'); + } + _saveInitialAttribute(t, e) { + const i = t.style[e]; + i && U.setDataAttribute(t, e, i); + } + _resetElementAttributes(t, e) { + this._applyManipulationCallback(t, (t) => { + const i = U.getDataAttribute(t, e); + void 0 === i + ? t.style.removeProperty(e) + : (U.removeDataAttribute(t, e), (t.style[e] = i)); + }); + } + _applyManipulationCallback(t, e) { + o(t) ? e(t) : V.find(t, this._element).forEach(e); + } + isOverflowing() { + return this.getWidth() > 0; + } + } + const pi = { + className: 'modal-backdrop', + isVisible: !0, + isAnimated: !1, + rootElement: 'body', + clickCallback: null, + }, + mi = { + className: 'string', + isVisible: 'boolean', + isAnimated: 'boolean', + rootElement: '(element|string)', + clickCallback: '(function|null)', + }, + gi = 'show', + _i = 'mousedown.bs.backdrop'; + class bi { + constructor(t) { + (this._config = this._getConfig(t)), + (this._isAppended = !1), + (this._element = null); + } + show(t) { + this._config.isVisible + ? (this._append(), + this._config.isAnimated && u(this._getElement()), + this._getElement().classList.add(gi), + this._emulateAnimation(() => { + _(t); + })) + : _(t); + } + hide(t) { + this._config.isVisible + ? (this._getElement().classList.remove(gi), + this._emulateAnimation(() => { + this.dispose(), _(t); + })) + : _(t); + } + _getElement() { + if (!this._element) { + const t = document.createElement('div'); + (t.className = this._config.className), + this._config.isAnimated && t.classList.add('fade'), + (this._element = t); + } + return this._element; + } + _getConfig(t) { + return ( + ((t = { ...pi, ...('object' == typeof t ? t : {}) }).rootElement = r( + t.rootElement + )), + a('backdrop', t, mi), + t + ); + } + _append() { + this._isAppended || + (this._config.rootElement.append(this._getElement()), + j.on(this._getElement(), _i, () => { + _(this._config.clickCallback); + }), + (this._isAppended = !0)); + } + dispose() { + this._isAppended && + (j.off(this._element, _i), + this._element.remove(), + (this._isAppended = !1)); + } + _emulateAnimation(t) { + b(t, this._getElement(), this._config.isAnimated); + } + } + const vi = { trapElement: null, autofocus: !0 }, + yi = { trapElement: 'element', autofocus: 'boolean' }, + wi = '.bs.focustrap', + Ei = 'backward'; + class Ai { + constructor(t) { + (this._config = this._getConfig(t)), + (this._isActive = !1), + (this._lastTabNavDirection = null); + } + activate() { + const { trapElement: t, autofocus: e } = this._config; + this._isActive || + (e && t.focus(), + j.off(document, wi), + j.on(document, 'focusin.bs.focustrap', (t) => this._handleFocusin(t)), + j.on(document, 'keydown.tab.bs.focustrap', (t) => + this._handleKeydown(t) + ), + (this._isActive = !0)); + } + deactivate() { + this._isActive && ((this._isActive = !1), j.off(document, wi)); + } + _handleFocusin(t) { + const { target: e } = t, + { trapElement: i } = this._config; + if (e === document || e === i || i.contains(e)) return; + const n = V.focusableChildren(i); + 0 === n.length + ? i.focus() + : this._lastTabNavDirection === Ei + ? n[n.length - 1].focus() + : n[0].focus(); + } + _handleKeydown(t) { + 'Tab' === t.key && + (this._lastTabNavDirection = t.shiftKey ? Ei : 'forward'); + } + _getConfig(t) { + return ( + (t = { ...vi, ...('object' == typeof t ? t : {}) }), + a('focustrap', t, yi), + t + ); + } + } + const Ti = 'modal', + Oi = 'Escape', + Ci = { backdrop: !0, keyboard: !0, focus: !0 }, + ki = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + }, + Li = 'hidden.bs.modal', + xi = 'show.bs.modal', + Di = 'resize.bs.modal', + Si = 'click.dismiss.bs.modal', + Ni = 'keydown.dismiss.bs.modal', + Ii = 'mousedown.dismiss.bs.modal', + Pi = 'modal-open', + ji = 'show', + Mi = 'modal-static'; + class Hi extends B { + constructor(t, e) { + super(t), + (this._config = this._getConfig(e)), + (this._dialog = V.findOne('.modal-dialog', this._element)), + (this._backdrop = this._initializeBackDrop()), + (this._focustrap = this._initializeFocusTrap()), + (this._isShown = !1), + (this._ignoreBackdropClick = !1), + (this._isTransitioning = !1), + (this._scrollBar = new fi()); + } + static get Default() { + return Ci; + } + static get NAME() { + return Ti; + } + toggle(t) { + return this._isShown ? this.hide() : this.show(t); + } + show(t) { + this._isShown || + this._isTransitioning || + j.trigger(this._element, xi, { relatedTarget: t }).defaultPrevented || + ((this._isShown = !0), + this._isAnimated() && (this._isTransitioning = !0), + this._scrollBar.hide(), + document.body.classList.add(Pi), + this._adjustDialog(), + this._setEscapeEvent(), + this._setResizeEvent(), + j.on(this._dialog, Ii, () => { + j.one(this._element, 'mouseup.dismiss.bs.modal', (t) => { + t.target === this._element && (this._ignoreBackdropClick = !0); + }); + }), + this._showBackdrop(() => this._showElement(t))); + } + hide() { + if (!this._isShown || this._isTransitioning) return; + if (j.trigger(this._element, 'hide.bs.modal').defaultPrevented) return; + this._isShown = !1; + const t = this._isAnimated(); + t && (this._isTransitioning = !0), + this._setEscapeEvent(), + this._setResizeEvent(), + this._focustrap.deactivate(), + this._element.classList.remove(ji), + j.off(this._element, Si), + j.off(this._dialog, Ii), + this._queueCallback(() => this._hideModal(), this._element, t); + } + dispose() { + [window, this._dialog].forEach((t) => j.off(t, '.bs.modal')), + this._backdrop.dispose(), + this._focustrap.deactivate(), + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new bi({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated(), + }); + } + _initializeFocusTrap() { + return new Ai({ trapElement: this._element }); + } + _getConfig(t) { + return ( + (t = { + ...Ci, + ...U.getDataAttributes(this._element), + ...('object' == typeof t ? t : {}), + }), + a(Ti, t, ki), + t + ); + } + _showElement(t) { + const e = this._isAnimated(), + i = V.findOne('.modal-body', this._dialog); + (this._element.parentNode && + this._element.parentNode.nodeType === Node.ELEMENT_NODE) || + document.body.append(this._element), + (this._element.style.display = 'block'), + this._element.removeAttribute('aria-hidden'), + this._element.setAttribute('aria-modal', !0), + this._element.setAttribute('role', 'dialog'), + (this._element.scrollTop = 0), + i && (i.scrollTop = 0), + e && u(this._element), + this._element.classList.add(ji), + this._queueCallback( + () => { + this._config.focus && this._focustrap.activate(), + (this._isTransitioning = !1), + j.trigger(this._element, 'shown.bs.modal', { relatedTarget: t }); + }, + this._dialog, + e + ); + } + _setEscapeEvent() { + this._isShown + ? j.on(this._element, Ni, (t) => { + this._config.keyboard && t.key === Oi + ? (t.preventDefault(), this.hide()) + : this._config.keyboard || + t.key !== Oi || + this._triggerBackdropTransition(); + }) + : j.off(this._element, Ni); + } + _setResizeEvent() { + this._isShown + ? j.on(window, Di, () => this._adjustDialog()) + : j.off(window, Di); + } + _hideModal() { + (this._element.style.display = 'none'), + this._element.setAttribute('aria-hidden', !0), + this._element.removeAttribute('aria-modal'), + this._element.removeAttribute('role'), + (this._isTransitioning = !1), + this._backdrop.hide(() => { + document.body.classList.remove(Pi), + this._resetAdjustments(), + this._scrollBar.reset(), + j.trigger(this._element, Li); + }); + } + _showBackdrop(t) { + j.on(this._element, Si, (t) => { + this._ignoreBackdropClick + ? (this._ignoreBackdropClick = !1) + : t.target === t.currentTarget && + (!0 === this._config.backdrop + ? this.hide() + : 'static' === this._config.backdrop && + this._triggerBackdropTransition()); + }), + this._backdrop.show(t); + } + _isAnimated() { + return this._element.classList.contains('fade'); + } + _triggerBackdropTransition() { + if (j.trigger(this._element, 'hidePrevented.bs.modal').defaultPrevented) + return; + const { classList: t, scrollHeight: e, style: i } = this._element, + n = e > document.documentElement.clientHeight; + (!n && 'hidden' === i.overflowY) || + t.contains(Mi) || + (n || (i.overflowY = 'hidden'), + t.add(Mi), + this._queueCallback(() => { + t.remove(Mi), + n || + this._queueCallback(() => { + i.overflowY = ''; + }, this._dialog); + }, this._dialog), + this._element.focus()); + } + _adjustDialog() { + const t = + this._element.scrollHeight > document.documentElement.clientHeight, + e = this._scrollBar.getWidth(), + i = e > 0; + ((!i && t && !m()) || (i && !t && m())) && + (this._element.style.paddingLeft = `${e}px`), + ((i && !t && !m()) || (!i && t && m())) && + (this._element.style.paddingRight = `${e}px`); + } + _resetAdjustments() { + (this._element.style.paddingLeft = ''), + (this._element.style.paddingRight = ''); + } + static jQueryInterface(t, e) { + return this.each(function () { + const i = Hi.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); + i[t](e); + } + }); + } + } + j.on( + document, + 'click.bs.modal.data-api', + '[data-bs-toggle="modal"]', + function (t) { + const e = n(this); + ['A', 'AREA'].includes(this.tagName) && t.preventDefault(), + j.one(e, xi, (t) => { + t.defaultPrevented || + j.one(e, Li, () => { + l(this) && this.focus(); + }); + }); + const i = V.findOne('.modal.show'); + i && Hi.getInstance(i).hide(), Hi.getOrCreateInstance(e).toggle(this); + } + ), + R(Hi), + g(Hi); + const Bi = 'offcanvas', + Ri = { backdrop: !0, keyboard: !0, scroll: !1 }, + Wi = { backdrop: 'boolean', keyboard: 'boolean', scroll: 'boolean' }, + $i = 'show', + zi = '.offcanvas.show', + qi = 'hidden.bs.offcanvas'; + class Fi extends B { + constructor(t, e) { + super(t), + (this._config = this._getConfig(e)), + (this._isShown = !1), + (this._backdrop = this._initializeBackDrop()), + (this._focustrap = this._initializeFocusTrap()), + this._addEventListeners(); + } + static get NAME() { + return Bi; + } + static get Default() { + return Ri; + } + toggle(t) { + return this._isShown ? this.hide() : this.show(t); + } + show(t) { + this._isShown || + j.trigger(this._element, 'show.bs.offcanvas', { relatedTarget: t }) + .defaultPrevented || + ((this._isShown = !0), + (this._element.style.visibility = 'visible'), + this._backdrop.show(), + this._config.scroll || new fi().hide(), + this._element.removeAttribute('aria-hidden'), + this._element.setAttribute('aria-modal', !0), + this._element.setAttribute('role', 'dialog'), + this._element.classList.add($i), + this._queueCallback( + () => { + this._config.scroll || this._focustrap.activate(), + j.trigger(this._element, 'shown.bs.offcanvas', { + relatedTarget: t, + }); + }, + this._element, + !0 + )); + } + hide() { + this._isShown && + (j.trigger(this._element, 'hide.bs.offcanvas').defaultPrevented || + (this._focustrap.deactivate(), + this._element.blur(), + (this._isShown = !1), + this._element.classList.remove($i), + this._backdrop.hide(), + this._queueCallback( + () => { + this._element.setAttribute('aria-hidden', !0), + this._element.removeAttribute('aria-modal'), + this._element.removeAttribute('role'), + (this._element.style.visibility = 'hidden'), + this._config.scroll || new fi().reset(), + j.trigger(this._element, qi); + }, + this._element, + !0 + ))); + } + dispose() { + this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose(); + } + _getConfig(t) { + return ( + (t = { + ...Ri, + ...U.getDataAttributes(this._element), + ...('object' == typeof t ? t : {}), + }), + a(Bi, t, Wi), + t + ); + } + _initializeBackDrop() { + return new bi({ + className: 'offcanvas-backdrop', + isVisible: this._config.backdrop, + isAnimated: !0, + rootElement: this._element.parentNode, + clickCallback: () => this.hide(), + }); + } + _initializeFocusTrap() { + return new Ai({ trapElement: this._element }); + } + _addEventListeners() { + j.on(this._element, 'keydown.dismiss.bs.offcanvas', (t) => { + this._config.keyboard && 'Escape' === t.key && this.hide(); + }); + } + static jQueryInterface(t) { + return this.each(function () { + const e = Fi.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t] || t.startsWith('_') || 'constructor' === t) + throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + j.on( + document, + 'click.bs.offcanvas.data-api', + '[data-bs-toggle="offcanvas"]', + function (t) { + const e = n(this); + if ((['A', 'AREA'].includes(this.tagName) && t.preventDefault(), c(this))) + return; + j.one(e, qi, () => { + l(this) && this.focus(); + }); + const i = V.findOne(zi); + i && i !== e && Fi.getInstance(i).hide(), + Fi.getOrCreateInstance(e).toggle(this); + } + ), + j.on(window, 'load.bs.offcanvas.data-api', () => + V.find(zi).forEach((t) => Fi.getOrCreateInstance(t).show()) + ), + R(Fi), + g(Fi); + const Ui = new Set([ + 'background', + 'cite', + 'href', + 'itemtype', + 'longdesc', + 'poster', + 'src', + 'xlink:href', + ]), + Vi = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i, + Ki = + /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i, + Xi = (t, e) => { + const i = t.nodeName.toLowerCase(); + if (e.includes(i)) + return ( + !Ui.has(i) || Boolean(Vi.test(t.nodeValue) || Ki.test(t.nodeValue)) + ); + const n = e.filter((t) => t instanceof RegExp); + for (let t = 0, e = n.length; t < e; t++) if (n[t].test(i)) return !0; + return !1; + }; + function Yi(t, e, i) { + if (!t.length) return t; + if (i && 'function' == typeof i) return i(t); + const n = new window.DOMParser().parseFromString(t, 'text/html'), + s = [].concat(...n.body.querySelectorAll('*')); + for (let t = 0, i = s.length; t < i; t++) { + const i = s[t], + n = i.nodeName.toLowerCase(); + if (!Object.keys(e).includes(n)) { + i.remove(); + continue; + } + const o = [].concat(...i.attributes), + r = [].concat(e['*'] || [], e[n] || []); + o.forEach((t) => { + Xi(t, r) || i.removeAttribute(t.nodeName); + }); + } + return n.body.innerHTML; + } + const Qi = 'tooltip', + Gi = new Set(['sanitize', 'allowList', 'sanitizeFn']), + Zi = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(array|string|function)', + container: '(string|element|boolean)', + fallbackPlacements: 'array', + boundary: '(string|element)', + customClass: '(string|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + allowList: 'object', + popperConfig: '(null|object|function)', + }, + Ji = { + AUTO: 'auto', + TOP: 'top', + RIGHT: m() ? 'left' : 'right', + BOTTOM: 'bottom', + LEFT: m() ? 'right' : 'left', + }, + tn = { + animation: !0, + template: + '', + trigger: 'hover focus', + title: '', + delay: 0, + html: !1, + selector: !1, + placement: 'top', + offset: [0, 0], + container: !1, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], + boundary: 'clippingParents', + customClass: '', + sanitize: !0, + sanitizeFn: null, + allowList: { + '*': ['class', 'dir', 'id', 'lang', 'role', /^aria-[\w-]*$/i], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [], + }, + popperConfig: null, + }, + en = { + HIDE: 'hide.bs.tooltip', + HIDDEN: 'hidden.bs.tooltip', + SHOW: 'show.bs.tooltip', + SHOWN: 'shown.bs.tooltip', + INSERTED: 'inserted.bs.tooltip', + CLICK: 'click.bs.tooltip', + FOCUSIN: 'focusin.bs.tooltip', + FOCUSOUT: 'focusout.bs.tooltip', + MOUSEENTER: 'mouseenter.bs.tooltip', + MOUSELEAVE: 'mouseleave.bs.tooltip', + }, + nn = 'fade', + sn = 'show', + on = 'show', + rn = 'out', + an = '.tooltip-inner', + ln = '.modal', + cn = 'hide.bs.modal', + hn = 'hover', + dn = 'focus'; + class un extends B { + constructor(t, e) { + if (void 0 === Fe) + throw new TypeError( + "Bootstrap's tooltips require Popper (https://popper.js.org)" + ); + super(t), + (this._isEnabled = !0), + (this._timeout = 0), + (this._hoverState = ''), + (this._activeTrigger = {}), + (this._popper = null), + (this._config = this._getConfig(e)), + (this.tip = null), + this._setListeners(); + } + static get Default() { + return tn; + } + static get NAME() { + return Qi; + } + static get Event() { + return en; + } + static get DefaultType() { + return Zi; + } + enable() { + this._isEnabled = !0; + } + disable() { + this._isEnabled = !1; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle(t) { + if (this._isEnabled) + if (t) { + const e = this._initializeOnDelegatedTarget(t); + (e._activeTrigger.click = !e._activeTrigger.click), + e._isWithActiveTrigger() ? e._enter(null, e) : e._leave(null, e); + } else { + if (this.getTipElement().classList.contains(sn)) + return void this._leave(null, this); + this._enter(null, this); + } + } + dispose() { + clearTimeout(this._timeout), + j.off(this._element.closest(ln), cn, this._hideModalHandler), + this.tip && this.tip.remove(), + this._disposePopper(), + super.dispose(); + } + show() { + if ('none' === this._element.style.display) + throw new Error('Please use show on visible elements'); + if (!this.isWithContent() || !this._isEnabled) return; + const t = j.trigger(this._element, this.constructor.Event.SHOW), + e = h(this._element), + i = + null === e + ? this._element.ownerDocument.documentElement.contains( + this._element + ) + : e.contains(this._element); + if (t.defaultPrevented || !i) return; + 'tooltip' === this.constructor.NAME && + this.tip && + this.getTitle() !== this.tip.querySelector(an).innerHTML && + (this._disposePopper(), this.tip.remove(), (this.tip = null)); + const n = this.getTipElement(), + s = ((t) => { + do { + t += Math.floor(1e6 * Math.random()); + } while (document.getElementById(t)); + return t; + })(this.constructor.NAME); + n.setAttribute('id', s), + this._element.setAttribute('aria-describedby', s), + this._config.animation && n.classList.add(nn); + const o = + 'function' == typeof this._config.placement + ? this._config.placement.call(this, n, this._element) + : this._config.placement, + r = this._getAttachment(o); + this._addAttachmentClass(r); + const { container: a } = this._config; + H.set(n, this.constructor.DATA_KEY, this), + this._element.ownerDocument.documentElement.contains(this.tip) || + (a.append(n), + j.trigger(this._element, this.constructor.Event.INSERTED)), + this._popper + ? this._popper.update() + : (this._popper = qe(this._element, n, this._getPopperConfig(r))), + n.classList.add(sn); + const l = this._resolvePossibleFunction(this._config.customClass); + l && n.classList.add(...l.split(' ')), + 'ontouchstart' in document.documentElement && + [].concat(...document.body.children).forEach((t) => { + j.on(t, 'mouseover', d); + }); + const c = this.tip.classList.contains(nn); + this._queueCallback( + () => { + const t = this._hoverState; + (this._hoverState = null), + j.trigger(this._element, this.constructor.Event.SHOWN), + t === rn && this._leave(null, this); + }, + this.tip, + c + ); + } + hide() { + if (!this._popper) return; + const t = this.getTipElement(); + if ( + j.trigger(this._element, this.constructor.Event.HIDE).defaultPrevented + ) + return; + t.classList.remove(sn), + 'ontouchstart' in document.documentElement && + [] + .concat(...document.body.children) + .forEach((t) => j.off(t, 'mouseover', d)), + (this._activeTrigger.click = !1), + (this._activeTrigger.focus = !1), + (this._activeTrigger.hover = !1); + const e = this.tip.classList.contains(nn); + this._queueCallback( + () => { + this._isWithActiveTrigger() || + (this._hoverState !== on && t.remove(), + this._cleanTipClass(), + this._element.removeAttribute('aria-describedby'), + j.trigger(this._element, this.constructor.Event.HIDDEN), + this._disposePopper()); + }, + this.tip, + e + ), + (this._hoverState = ''); + } + update() { + null !== this._popper && this._popper.update(); + } + isWithContent() { + return Boolean(this.getTitle()); + } + getTipElement() { + if (this.tip) return this.tip; + const t = document.createElement('div'); + t.innerHTML = this._config.template; + const e = t.children[0]; + return ( + this.setContent(e), e.classList.remove(nn, sn), (this.tip = e), this.tip + ); + } + setContent(t) { + this._sanitizeAndSetContent(t, this.getTitle(), an); + } + _sanitizeAndSetContent(t, e, i) { + const n = V.findOne(i, t); + e || !n ? this.setElementContent(n, e) : n.remove(); + } + setElementContent(t, e) { + if (null !== t) + return o(e) + ? ((e = r(e)), + void (this._config.html + ? e.parentNode !== t && ((t.innerHTML = ''), t.append(e)) + : (t.textContent = e.textContent))) + : void (this._config.html + ? (this._config.sanitize && + (e = Yi(e, this._config.allowList, this._config.sanitizeFn)), + (t.innerHTML = e)) + : (t.textContent = e)); + } + getTitle() { + const t = + this._element.getAttribute('data-bs-original-title') || + this._config.title; + return this._resolvePossibleFunction(t); + } + updateAttachment(t) { + return 'right' === t ? 'end' : 'left' === t ? 'start' : t; + } + _initializeOnDelegatedTarget(t, e) { + return ( + e || + this.constructor.getOrCreateInstance( + t.delegateTarget, + this._getDelegateConfig() + ) + ); + } + _getOffset() { + const { offset: t } = this._config; + return 'string' == typeof t + ? t.split(',').map((t) => Number.parseInt(t, 10)) + : 'function' == typeof t + ? (e) => t(e, this._element) + : t; + } + _resolvePossibleFunction(t) { + return 'function' == typeof t ? t.call(this._element) : t; + } + _getPopperConfig(t) { + const e = { + placement: t, + modifiers: [ + { + name: 'flip', + options: { fallbackPlacements: this._config.fallbackPlacements }, + }, + { name: 'offset', options: { offset: this._getOffset() } }, + { + name: 'preventOverflow', + options: { boundary: this._config.boundary }, + }, + { + name: 'arrow', + options: { element: `.${this.constructor.NAME}-arrow` }, + }, + { + name: 'onChange', + enabled: !0, + phase: 'afterWrite', + fn: (t) => this._handlePopperPlacementChange(t), + }, + ], + onFirstUpdate: (t) => { + t.options.placement !== t.placement && + this._handlePopperPlacementChange(t); + }, + }; + return { + ...e, + ...('function' == typeof this._config.popperConfig + ? this._config.popperConfig(e) + : this._config.popperConfig), + }; + } + _addAttachmentClass(t) { + this.getTipElement().classList.add( + `${this._getBasicClassPrefix()}-${this.updateAttachment(t)}` + ); + } + _getAttachment(t) { + return Ji[t.toUpperCase()]; + } + _setListeners() { + this._config.trigger.split(' ').forEach((t) => { + if ('click' === t) + j.on( + this._element, + this.constructor.Event.CLICK, + this._config.selector, + (t) => this.toggle(t) + ); + else if ('manual' !== t) { + const e = + t === hn + ? this.constructor.Event.MOUSEENTER + : this.constructor.Event.FOCUSIN, + i = + t === hn + ? this.constructor.Event.MOUSELEAVE + : this.constructor.Event.FOCUSOUT; + j.on(this._element, e, this._config.selector, (t) => this._enter(t)), + j.on(this._element, i, this._config.selector, (t) => + this._leave(t) + ); + } + }), + (this._hideModalHandler = () => { + this._element && this.hide(); + }), + j.on(this._element.closest(ln), cn, this._hideModalHandler), + this._config.selector + ? (this._config = { + ...this._config, + trigger: 'manual', + selector: '', + }) + : this._fixTitle(); + } + _fixTitle() { + const t = this._element.getAttribute('title'), + e = typeof this._element.getAttribute('data-bs-original-title'); + (t || 'string' !== e) && + (this._element.setAttribute('data-bs-original-title', t || ''), + !t || + this._element.getAttribute('aria-label') || + this._element.textContent || + this._element.setAttribute('aria-label', t), + this._element.setAttribute('title', '')); + } + _enter(t, e) { + (e = this._initializeOnDelegatedTarget(t, e)), + t && (e._activeTrigger['focusin' === t.type ? dn : hn] = !0), + e.getTipElement().classList.contains(sn) || e._hoverState === on + ? (e._hoverState = on) + : (clearTimeout(e._timeout), + (e._hoverState = on), + e._config.delay && e._config.delay.show + ? (e._timeout = setTimeout(() => { + e._hoverState === on && e.show(); + }, e._config.delay.show)) + : e.show()); + } + _leave(t, e) { + (e = this._initializeOnDelegatedTarget(t, e)), + t && + (e._activeTrigger['focusout' === t.type ? dn : hn] = + e._element.contains(t.relatedTarget)), + e._isWithActiveTrigger() || + (clearTimeout(e._timeout), + (e._hoverState = rn), + e._config.delay && e._config.delay.hide + ? (e._timeout = setTimeout(() => { + e._hoverState === rn && e.hide(); + }, e._config.delay.hide)) + : e.hide()); + } + _isWithActiveTrigger() { + for (const t in this._activeTrigger) + if (this._activeTrigger[t]) return !0; + return !1; + } + _getConfig(t) { + const e = U.getDataAttributes(this._element); + return ( + Object.keys(e).forEach((t) => { + Gi.has(t) && delete e[t]; + }), + ((t = { + ...this.constructor.Default, + ...e, + ...('object' == typeof t && t ? t : {}), + }).container = !1 === t.container ? document.body : r(t.container)), + 'number' == typeof t.delay && + (t.delay = { show: t.delay, hide: t.delay }), + 'number' == typeof t.title && (t.title = t.title.toString()), + 'number' == typeof t.content && (t.content = t.content.toString()), + a(Qi, t, this.constructor.DefaultType), + t.sanitize && (t.template = Yi(t.template, t.allowList, t.sanitizeFn)), + t + ); + } + _getDelegateConfig() { + const t = {}; + for (const e in this._config) + this.constructor.Default[e] !== this._config[e] && + (t[e] = this._config[e]); + return t; + } + _cleanTipClass() { + const t = this.getTipElement(), + e = new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`, 'g'), + i = t.getAttribute('class').match(e); + null !== i && + i.length > 0 && + i.map((t) => t.trim()).forEach((e) => t.classList.remove(e)); + } + _getBasicClassPrefix() { + return 'bs-tooltip'; + } + _handlePopperPlacementChange(t) { + const { state: e } = t; + e && + ((this.tip = e.elements.popper), + this._cleanTipClass(), + this._addAttachmentClass(this._getAttachment(e.placement))); + } + _disposePopper() { + this._popper && (this._popper.destroy(), (this._popper = null)); + } + static jQueryInterface(t) { + return this.each(function () { + const e = un.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + g(un); + const fn = { + ...un.Default, + placement: 'right', + offset: [0, 8], + trigger: 'click', + content: '', + template: + '', + }, + pn = { ...un.DefaultType, content: '(string|element|function)' }, + mn = { + HIDE: 'hide.bs.popover', + HIDDEN: 'hidden.bs.popover', + SHOW: 'show.bs.popover', + SHOWN: 'shown.bs.popover', + INSERTED: 'inserted.bs.popover', + CLICK: 'click.bs.popover', + FOCUSIN: 'focusin.bs.popover', + FOCUSOUT: 'focusout.bs.popover', + MOUSEENTER: 'mouseenter.bs.popover', + MOUSELEAVE: 'mouseleave.bs.popover', + }; + class gn extends un { + static get Default() { + return fn; + } + static get NAME() { + return 'popover'; + } + static get Event() { + return mn; + } + static get DefaultType() { + return pn; + } + isWithContent() { + return this.getTitle() || this._getContent(); + } + setContent(t) { + this._sanitizeAndSetContent(t, this.getTitle(), '.popover-header'), + this._sanitizeAndSetContent(t, this._getContent(), '.popover-body'); + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + _getBasicClassPrefix() { + return 'bs-popover'; + } + static jQueryInterface(t) { + return this.each(function () { + const e = gn.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + g(gn); + const _n = 'scrollspy', + bn = { offset: 10, method: 'auto', target: '' }, + vn = { offset: 'number', method: 'string', target: '(string|element)' }, + yn = 'active', + wn = '.nav-link, .list-group-item, .dropdown-item', + En = 'position'; + class An extends B { + constructor(t, e) { + super(t), + (this._scrollElement = + 'BODY' === this._element.tagName ? window : this._element), + (this._config = this._getConfig(e)), + (this._offsets = []), + (this._targets = []), + (this._activeTarget = null), + (this._scrollHeight = 0), + j.on(this._scrollElement, 'scroll.bs.scrollspy', () => this._process()), + this.refresh(), + this._process(); + } + static get Default() { + return bn; + } + static get NAME() { + return _n; + } + refresh() { + const t = + this._scrollElement === this._scrollElement.window ? 'offset' : En, + e = 'auto' === this._config.method ? t : this._config.method, + n = e === En ? this._getScrollTop() : 0; + (this._offsets = []), + (this._targets = []), + (this._scrollHeight = this._getScrollHeight()), + V.find(wn, this._config.target) + .map((t) => { + const s = i(t), + o = s ? V.findOne(s) : null; + if (o) { + const t = o.getBoundingClientRect(); + if (t.width || t.height) return [U[e](o).top + n, s]; + } + return null; + }) + .filter((t) => t) + .sort((t, e) => t[0] - e[0]) + .forEach((t) => { + this._offsets.push(t[0]), this._targets.push(t[1]); + }); + } + dispose() { + j.off(this._scrollElement, '.bs.scrollspy'), super.dispose(); + } + _getConfig(t) { + return ( + ((t = { + ...bn, + ...U.getDataAttributes(this._element), + ...('object' == typeof t && t ? t : {}), + }).target = r(t.target) || document.documentElement), + a(_n, t, vn), + t + ); + } + _getScrollTop() { + return this._scrollElement === window + ? this._scrollElement.pageYOffset + : this._scrollElement.scrollTop; + } + _getScrollHeight() { + return ( + this._scrollElement.scrollHeight || + Math.max( + document.body.scrollHeight, + document.documentElement.scrollHeight + ) + ); + } + _getOffsetHeight() { + return this._scrollElement === window + ? window.innerHeight + : this._scrollElement.getBoundingClientRect().height; + } + _process() { + const t = this._getScrollTop() + this._config.offset, + e = this._getScrollHeight(), + i = this._config.offset + e - this._getOffsetHeight(); + if ((this._scrollHeight !== e && this.refresh(), t >= i)) { + const t = this._targets[this._targets.length - 1]; + this._activeTarget !== t && this._activate(t); + } else { + if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) + return (this._activeTarget = null), void this._clear(); + for (let e = this._offsets.length; e--; ) + this._activeTarget !== this._targets[e] && + t >= this._offsets[e] && + (void 0 === this._offsets[e + 1] || t < this._offsets[e + 1]) && + this._activate(this._targets[e]); + } + } + _activate(t) { + (this._activeTarget = t), this._clear(); + const e = wn + .split(',') + .map((e) => `${e}[data-bs-target="${t}"],${e}[href="${t}"]`), + i = V.findOne(e.join(','), this._config.target); + i.classList.add(yn), + i.classList.contains('dropdown-item') + ? V.findOne('.dropdown-toggle', i.closest('.dropdown')).classList.add( + yn + ) + : V.parents(i, '.nav, .list-group').forEach((t) => { + V.prev(t, '.nav-link, .list-group-item').forEach((t) => + t.classList.add(yn) + ), + V.prev(t, '.nav-item').forEach((t) => { + V.children(t, '.nav-link').forEach((t) => + t.classList.add(yn) + ); + }); + }), + j.trigger(this._scrollElement, 'activate.bs.scrollspy', { + relatedTarget: t, + }); + } + _clear() { + V.find(wn, this._config.target) + .filter((t) => t.classList.contains(yn)) + .forEach((t) => t.classList.remove(yn)); + } + static jQueryInterface(t) { + return this.each(function () { + const e = An.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + j.on(window, 'load.bs.scrollspy.data-api', () => { + V.find('[data-bs-spy="scroll"]').forEach((t) => new An(t)); + }), + g(An); + const Tn = 'active', + On = 'fade', + Cn = 'show', + kn = '.active', + Ln = ':scope > li > .active'; + class xn extends B { + static get NAME() { + return 'tab'; + } + show() { + if ( + this._element.parentNode && + this._element.parentNode.nodeType === Node.ELEMENT_NODE && + this._element.classList.contains(Tn) + ) + return; + let t; + const e = n(this._element), + i = this._element.closest('.nav, .list-group'); + if (i) { + const e = 'UL' === i.nodeName || 'OL' === i.nodeName ? Ln : kn; + (t = V.find(e, i)), (t = t[t.length - 1]); + } + const s = t + ? j.trigger(t, 'hide.bs.tab', { relatedTarget: this._element }) + : null; + if ( + j.trigger(this._element, 'show.bs.tab', { relatedTarget: t }) + .defaultPrevented || + (null !== s && s.defaultPrevented) + ) + return; + this._activate(this._element, i); + const o = () => { + j.trigger(t, 'hidden.bs.tab', { relatedTarget: this._element }), + j.trigger(this._element, 'shown.bs.tab', { relatedTarget: t }); + }; + e ? this._activate(e, e.parentNode, o) : o(); + } + _activate(t, e, i) { + const n = ( + !e || ('UL' !== e.nodeName && 'OL' !== e.nodeName) + ? V.children(e, kn) + : V.find(Ln, e) + )[0], + s = i && n && n.classList.contains(On), + o = () => this._transitionComplete(t, n, i); + n && s ? (n.classList.remove(Cn), this._queueCallback(o, t, !0)) : o(); + } + _transitionComplete(t, e, i) { + if (e) { + e.classList.remove(Tn); + const t = V.findOne(':scope > .dropdown-menu .active', e.parentNode); + t && t.classList.remove(Tn), + 'tab' === e.getAttribute('role') && + e.setAttribute('aria-selected', !1); + } + t.classList.add(Tn), + 'tab' === t.getAttribute('role') && t.setAttribute('aria-selected', !0), + u(t), + t.classList.contains(On) && t.classList.add(Cn); + let n = t.parentNode; + if ( + (n && 'LI' === n.nodeName && (n = n.parentNode), + n && n.classList.contains('dropdown-menu')) + ) { + const e = t.closest('.dropdown'); + e && V.find('.dropdown-toggle', e).forEach((t) => t.classList.add(Tn)), + t.setAttribute('aria-expanded', !0); + } + i && i(); + } + static jQueryInterface(t) { + return this.each(function () { + const e = xn.getOrCreateInstance(this); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](); + } + }); + } + } + j.on( + document, + 'click.bs.tab.data-api', + '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', + function (t) { + ['A', 'AREA'].includes(this.tagName) && t.preventDefault(), + c(this) || xn.getOrCreateInstance(this).show(); + } + ), + g(xn); + const Dn = 'toast', + Sn = 'hide', + Nn = 'show', + In = 'showing', + Pn = { animation: 'boolean', autohide: 'boolean', delay: 'number' }, + jn = { animation: !0, autohide: !0, delay: 5e3 }; + class Mn extends B { + constructor(t, e) { + super(t), + (this._config = this._getConfig(e)), + (this._timeout = null), + (this._hasMouseInteraction = !1), + (this._hasKeyboardInteraction = !1), + this._setListeners(); + } + static get DefaultType() { + return Pn; + } + static get Default() { + return jn; + } + static get NAME() { + return Dn; + } + show() { + j.trigger(this._element, 'show.bs.toast').defaultPrevented || + (this._clearTimeout(), + this._config.animation && this._element.classList.add('fade'), + this._element.classList.remove(Sn), + u(this._element), + this._element.classList.add(Nn), + this._element.classList.add(In), + this._queueCallback( + () => { + this._element.classList.remove(In), + j.trigger(this._element, 'shown.bs.toast'), + this._maybeScheduleHide(); + }, + this._element, + this._config.animation + )); + } + hide() { + this._element.classList.contains(Nn) && + (j.trigger(this._element, 'hide.bs.toast').defaultPrevented || + (this._element.classList.add(In), + this._queueCallback( + () => { + this._element.classList.add(Sn), + this._element.classList.remove(In), + this._element.classList.remove(Nn), + j.trigger(this._element, 'hidden.bs.toast'); + }, + this._element, + this._config.animation + ))); + } + dispose() { + this._clearTimeout(), + this._element.classList.contains(Nn) && + this._element.classList.remove(Nn), + super.dispose(); + } + _getConfig(t) { + return ( + (t = { + ...jn, + ...U.getDataAttributes(this._element), + ...('object' == typeof t && t ? t : {}), + }), + a(Dn, t, this.constructor.DefaultType), + t + ); + } + _maybeScheduleHide() { + this._config.autohide && + (this._hasMouseInteraction || + this._hasKeyboardInteraction || + (this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay))); + } + _onInteraction(t, e) { + switch (t.type) { + case 'mouseover': + case 'mouseout': + this._hasMouseInteraction = e; + break; + case 'focusin': + case 'focusout': + this._hasKeyboardInteraction = e; + } + if (e) return void this._clearTimeout(); + const i = t.relatedTarget; + this._element === i || + this._element.contains(i) || + this._maybeScheduleHide(); + } + _setListeners() { + j.on(this._element, 'mouseover.bs.toast', (t) => + this._onInteraction(t, !0) + ), + j.on(this._element, 'mouseout.bs.toast', (t) => + this._onInteraction(t, !1) + ), + j.on(this._element, 'focusin.bs.toast', (t) => + this._onInteraction(t, !0) + ), + j.on(this._element, 'focusout.bs.toast', (t) => + this._onInteraction(t, !1) + ); + } + _clearTimeout() { + clearTimeout(this._timeout), (this._timeout = null); + } + static jQueryInterface(t) { + return this.each(function () { + const e = Mn.getOrCreateInstance(this, t); + if ('string' == typeof t) { + if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); + e[t](this); + } + }); + } + } + return ( + R(Mn), + g(Mn), + { + Alert: W, + Button: z, + Carousel: st, + Collapse: pt, + Dropdown: hi, + Modal: Hi, + Offcanvas: Fi, + Popover: gn, + ScrollSpy: An, + Tab: xn, + Toast: Mn, + Tooltip: un, + } + ); +}); +//# sourceMappingURL=bootstrap.bundle.min.js.map diff --git a/htdocs/www/js/errorpages/homepage.js b/htdocs/www/js/errorpages/homepage.js new file mode 100644 index 0000000..bd3925d --- /dev/null +++ b/htdocs/www/js/errorpages/homepage.js @@ -0,0 +1,6 @@ +function homepage() { + let proto = location.protocol; + let port = location.port; + let currentSite = window.location.hostname; + window.location = proto + '//' + currentSite + ':' + port; +} diff --git a/htdocs/www/js/errorpages/isup.js b/htdocs/www/js/errorpages/isup.js new file mode 100644 index 0000000..60a653f --- /dev/null +++ b/htdocs/www/js/errorpages/isup.js @@ -0,0 +1,7 @@ +function isupme() { + let proto = location.protocol; + let port = location.port; + let currentSite = window.location.hostname; + fullurllocation = proto + '//' + currentSite + ':' + port; + window.location = 'http://isup.me/' + fullurllocation; +} diff --git a/htdocs/www/js/errorpages/loaddomain.js b/htdocs/www/js/errorpages/loaddomain.js new file mode 100644 index 0000000..067ac9e --- /dev/null +++ b/htdocs/www/js/errorpages/loaddomain.js @@ -0,0 +1,7 @@ +function loadDomain() { + let proto = location.protocol; + let port = location.port; + let url = location.hostname; + var display = document.getElementById('display-domain'); + display.innerHTML = proto + '//' + url + ':' + port; +} diff --git a/htdocs/www/js/errorpages/scale.fix.js b/htdocs/www/js/errorpages/scale.fix.js new file mode 100644 index 0000000..33fb0d4 --- /dev/null +++ b/htdocs/www/js/errorpages/scale.fix.js @@ -0,0 +1,20 @@ +var metas = document.getElementsByTagName('meta'); +var i; +if (navigator.userAgent.match(/iPhone/i)) { + for (i = 0; i < metas.length; i++) { + if (metas[i].name == 'viewport') { + metas[i].content = + 'width=device-width, minimum-scale=1.0, maximum-scale=1.0'; + } + } + document.addEventListener('gesturestart', gestureStart, false); +} + +function gestureStart() { + for (i = 0; i < metas.length; i++) { + if (metas[i].name == 'viewport') { + metas[i].content = + 'width=device-width, minimum-scale=0.25, maximum-scale=1.6'; + } + } +} diff --git a/htdocs/www/js/jquery/default.js b/htdocs/www/js/jquery/default.js new file mode 100644 index 0000000..d47405a --- /dev/null +++ b/htdocs/www/js/jquery/default.js @@ -0,0 +1,5540 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!(function (e, t) { + "use strict"; + "object" == typeof module && "object" == typeof module.exports + ? (module.exports = e.document + ? t(e, !0) + : function (e) { + if (!e.document) + throw new Error("jQuery requires a window with a document"); + return t(e); + }) + : t(e); +})("undefined" != typeof window ? window : this, function (C, e) { + "use strict"; + var t = [], + r = Object.getPrototypeOf, + s = t.slice, + g = t.flat + ? function (e) { + return t.flat.call(e); + } + : function (e) { + return t.concat.apply([], e); + }, + u = t.push, + i = t.indexOf, + n = {}, + o = n.toString, + v = n.hasOwnProperty, + a = v.toString, + l = a.call(Object), + y = {}, + m = function (e) { + return "function" == typeof e && "number" != typeof e.nodeType; + }, + x = function (e) { + return null != e && e === e.window; + }, + E = C.document, + c = { type: !0, src: !0, nonce: !0, noModule: !0 }; + function b(e, t, n) { + var r, + i, + o = (n = n || E).createElement("script"); + if (((o.text = e), t)) + for (r in c) + (i = t[r] || (t.getAttribute && t.getAttribute(r))) && + o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o); + } + function w(e) { + return null == e + ? e + "" + : "object" == typeof e || "function" == typeof e + ? n[o.call(e)] || "object" + : typeof e; + } + var f = "3.5.1", + S = function (e, t) { + return new S.fn.init(e, t); + }; + function p(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return ( + !m(e) && + !x(e) && + ("array" === n || + 0 === t || + ("number" == typeof t && 0 < t && t - 1 in e)) + ); + } + (S.fn = S.prototype = { + jquery: f, + constructor: S, + length: 0, + toArray: function () { + return s.call(this); + }, + get: function (e) { + return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e]; + }, + pushStack: function (e) { + var t = S.merge(this.constructor(), e); + return (t.prevObject = this), t; + }, + each: function (e) { + return S.each(this, e); + }, + map: function (n) { + return this.pushStack( + S.map(this, function (e, t) { + return n.call(e, t, e); + }) + ); + }, + slice: function () { + return this.pushStack(s.apply(this, arguments)); + }, + first: function () { + return this.eq(0); + }, + last: function () { + return this.eq(-1); + }, + even: function () { + return this.pushStack( + S.grep(this, function (e, t) { + return (t + 1) % 2; + }) + ); + }, + odd: function () { + return this.pushStack( + S.grep(this, function (e, t) { + return t % 2; + }) + ); + }, + eq: function (e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(0 <= n && n < t ? [this[n]] : []); + }, + end: function () { + return this.prevObject || this.constructor(); + }, + push: u, + sort: t.sort, + splice: t.splice, + }), + (S.extend = S.fn.extend = function () { + var e, + t, + n, + r, + i, + o, + a = arguments[0] || {}, + s = 1, + u = arguments.length, + l = !1; + for ( + "boolean" == typeof a && ((l = a), (a = arguments[s] || {}), s++), + "object" == typeof a || m(a) || (a = {}), + s === u && ((a = this), s--); + s < u; + s++ + ) + if (null != (e = arguments[s])) + for (t in e) + (r = e[t]), + "__proto__" !== t && + a !== r && + (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) + ? ((n = a[t]), + (o = + i && !Array.isArray(n) + ? [] + : i || S.isPlainObject(n) + ? n + : {}), + (i = !1), + (a[t] = S.extend(l, o, r))) + : void 0 !== r && (a[t] = r)); + return a; + }), + S.extend({ + expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function (e) { + throw new Error(e); + }, + noop: function () {}, + isPlainObject: function (e) { + var t, n; + return ( + !(!e || "[object Object]" !== o.call(e)) && + (!(t = r(e)) || + ("function" == + typeof (n = v.call(t, "constructor") && t.constructor) && + a.call(n) === l)) + ); + }, + isEmptyObject: function (e) { + var t; + for (t in e) return !1; + return !0; + }, + globalEval: function (e, t, n) { + b(e, { nonce: t && t.nonce }, n); + }, + each: function (e, t) { + var n, + r = 0; + if (p(e)) { + for (n = e.length; r < n; r++) + if (!1 === t.call(e[r], r, e[r])) break; + } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; + return e; + }, + makeArray: function (e, t) { + var n = t || []; + return ( + null != e && + (p(Object(e)) + ? S.merge(n, "string" == typeof e ? [e] : e) + : u.call(n, e)), + n + ); + }, + inArray: function (e, t, n) { + return null == t ? -1 : i.call(t, e, n); + }, + merge: function (e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r]; + return (e.length = i), e; + }, + grep: function (e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) + !t(e[i], i) !== a && r.push(e[i]); + return r; + }, + map: function (e, t, n) { + var r, + i, + o = 0, + a = []; + if (p(e)) + for (r = e.length; o < r; o++) + null != (i = t(e[o], o, n)) && a.push(i); + else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); + return g(a); + }, + guid: 1, + support: y, + }), + "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), + S.each( + "Boolean Number String Function Array Date RegExp Object Error Symbol".split( + " " + ), + function (e, t) { + n["[object " + t + "]"] = t.toLowerCase(); + } + ); + var d = (function (n) { + var e, + d, + b, + o, + i, + h, + f, + g, + w, + u, + l, + T, + C, + a, + E, + v, + s, + c, + y, + S = "sizzle" + 1 * new Date(), + p = n.document, + k = 0, + r = 0, + m = ue(), + x = ue(), + A = ue(), + N = ue(), + D = function (e, t) { + return e === t && (l = !0), 0; + }, + j = {}.hasOwnProperty, + t = [], + q = t.pop, + L = t.push, + H = t.push, + O = t.slice, + P = function (e, t) { + for (var n = 0, r = e.length; n < r; n++) if (e[n] === t) return n; + return -1; + }, + R = + "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + M = "[\\x20\\t\\r\\n\\f]", + I = + "(?:\\\\[\\da-fA-F]{1,6}" + + M + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + W = + "\\[" + + M + + "*(" + + I + + ")(?:" + + M + + "*([*^$|!~]?=)" + + M + + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + + I + + "))|)" + + M + + "*\\]", + F = + ":(" + + I + + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + + W + + ")*)|.*)\\)|)", + B = new RegExp(M + "+", "g"), + $ = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), + _ = new RegExp("^" + M + "*," + M + "*"), + z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), + U = new RegExp(M + "|>"), + X = new RegExp(F), + V = new RegExp("^" + I + "$"), + G = { + ID: new RegExp("^#(" + I + ")"), + CLASS: new RegExp("^\\.(" + I + ")"), + TAG: new RegExp("^(" + I + "|[*])"), + ATTR: new RegExp("^" + W), + PSEUDO: new RegExp("^" + F), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + M + + "*(even|odd|(([+-]|)(\\d*)n|)" + + M + + "*(?:([+-]|)" + + M + + "*(\\d+)|))" + + M + + "*\\)|)", + "i" + ), + bool: new RegExp("^(?:" + R + ")$", "i"), + needsContext: new RegExp( + "^" + + M + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + M + + "*((?:-\\d)?\\d*)" + + M + + "*\\)|)(?=[^-]|$)", + "i" + ), + }, + Y = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + J = /^h\d$/i, + K = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), + ne = function (e, t) { + var n = "0x" + e.slice(1) - 65536; + return ( + t || + (n < 0 + ? String.fromCharCode(n + 65536) + : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320)) + ); + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function (e, t) { + return t + ? "\0" === e + ? "\ufffd" + : e.slice(0, -1) + + "\\" + + e.charCodeAt(e.length - 1).toString(16) + + " " + : "\\" + e; + }, + oe = function () { + T(); + }, + ae = be( + function (e) { + return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase(); + }, + { dir: "parentNode", next: "legend" } + ); + try { + H.apply((t = O.call(p.childNodes)), p.childNodes), + t[p.childNodes.length].nodeType; + } catch (e) { + H = { + apply: t.length + ? function (e, t) { + L.apply(e, O.call(t)); + } + : function (e, t) { + var n = e.length, + r = 0; + while ((e[n++] = t[r++])); + e.length = n - 1; + }, + }; + } + function se(t, e, n, r) { + var i, + o, + a, + s, + u, + l, + c, + f = e && e.ownerDocument, + p = e ? e.nodeType : 9; + if ( + ((n = n || []), + "string" != typeof t || !t || (1 !== p && 9 !== p && 11 !== p)) + ) + return n; + if (!r && (T(e), (e = e || C), E)) { + if (11 !== p && (u = Z.exec(t))) + if ((i = u[1])) { + if (9 === p) { + if (!(a = e.getElementById(i))) return n; + if (a.id === i) return n.push(a), n; + } else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i) + return n.push(a), n; + } else { + if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n; + if ( + (i = u[3]) && + d.getElementsByClassName && + e.getElementsByClassName + ) + return H.apply(n, e.getElementsByClassName(i)), n; + } + if ( + d.qsa && + !N[t + " "] && + (!v || !v.test(t)) && + (1 !== p || "object" !== e.nodeName.toLowerCase()) + ) { + if (((c = t), (f = e), 1 === p && (U.test(t) || z.test(t)))) { + ((f = (ee.test(t) && ye(e.parentNode)) || e) === e && d.scope) || + ((s = e.getAttribute("id")) + ? (s = s.replace(re, ie)) + : e.setAttribute("id", (s = S))), + (o = (l = h(t)).length); + while (o--) l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]); + c = l.join(","); + } + try { + return H.apply(n, f.querySelectorAll(c)), n; + } catch (e) { + N(t, !0); + } finally { + s === S && e.removeAttribute("id"); + } + } + } + return g(t.replace($, "$1"), e, n, r); + } + function ue() { + var r = []; + return function e(t, n) { + return ( + r.push(t + " ") > b.cacheLength && delete e[r.shift()], + (e[t + " "] = n) + ); + }; + } + function le(e) { + return (e[S] = !0), e; + } + function ce(e) { + var t = C.createElement("fieldset"); + try { + return !!e(t); + } catch (e) { + return !1; + } finally { + t.parentNode && t.parentNode.removeChild(t), (t = null); + } + } + function fe(e, t) { + var n = e.split("|"), + r = n.length; + while (r--) b.attrHandle[n[r]] = t; + } + function pe(e, t) { + var n = t && e, + r = + n && + 1 === e.nodeType && + 1 === t.nodeType && + e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) while ((n = n.nextSibling)) if (n === t) return -1; + return e ? 1 : -1; + } + function de(t) { + return function (e) { + return "input" === e.nodeName.toLowerCase() && e.type === t; + }; + } + function he(n) { + return function (e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t || "button" === t) && e.type === n; + }; + } + function ge(t) { + return function (e) { + return "form" in e + ? e.parentNode && !1 === e.disabled + ? "label" in e + ? "label" in e.parentNode + ? e.parentNode.disabled === t + : e.disabled === t + : e.isDisabled === t || (e.isDisabled !== !t && ae(e) === t) + : e.disabled === t + : "label" in e && e.disabled === t; + }; + } + function ve(a) { + return le(function (o) { + return ( + (o = +o), + le(function (e, t) { + var n, + r = a([], e.length, o), + i = r.length; + while (i--) e[(n = r[i])] && (e[n] = !(t[n] = e[n])); + }) + ); + }); + } + function ye(e) { + return e && "undefined" != typeof e.getElementsByTagName && e; + } + for (e in ((d = se.support = {}), + (i = se.isXML = function (e) { + var t = e.namespaceURI, + n = (e.ownerDocument || e).documentElement; + return !Y.test(t || (n && n.nodeName) || "HTML"); + }), + (T = se.setDocument = function (e) { + var t, + n, + r = e ? e.ownerDocument || e : p; + return ( + r != C && + 9 === r.nodeType && + r.documentElement && + ((a = (C = r).documentElement), + (E = !i(C)), + p != C && + (n = C.defaultView) && + n.top !== n && + (n.addEventListener + ? n.addEventListener("unload", oe, !1) + : n.attachEvent && n.attachEvent("onunload", oe)), + (d.scope = ce(function (e) { + return ( + a.appendChild(e).appendChild(C.createElement("div")), + "undefined" != typeof e.querySelectorAll && + !e.querySelectorAll(":scope fieldset div").length + ); + })), + (d.attributes = ce(function (e) { + return (e.className = "i"), !e.getAttribute("className"); + })), + (d.getElementsByTagName = ce(function (e) { + return ( + e.appendChild(C.createComment("")), + !e.getElementsByTagName("*").length + ); + })), + (d.getElementsByClassName = K.test(C.getElementsByClassName)), + (d.getById = ce(function (e) { + return ( + (a.appendChild(e).id = S), + !C.getElementsByName || !C.getElementsByName(S).length + ); + })), + d.getById + ? ((b.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + return e.getAttribute("id") === t; + }; + }), + (b.find.ID = function (e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n = t.getElementById(e); + return n ? [n] : []; + } + })) + : ((b.filter.ID = function (e) { + var n = e.replace(te, ne); + return function (e) { + var t = + "undefined" != typeof e.getAttributeNode && + e.getAttributeNode("id"); + return t && t.value === n; + }; + }), + (b.find.ID = function (e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n, + r, + i, + o = t.getElementById(e); + if (o) { + if ((n = o.getAttributeNode("id")) && n.value === e) + return [o]; + (i = t.getElementsByName(e)), (r = 0); + while ((o = i[r++])) + if ((n = o.getAttributeNode("id")) && n.value === e) + return [o]; + } + return []; + } + })), + (b.find.TAG = d.getElementsByTagName + ? function (e, t) { + return "undefined" != typeof t.getElementsByTagName + ? t.getElementsByTagName(e) + : d.qsa + ? t.querySelectorAll(e) + : void 0; + } + : function (e, t) { + var n, + r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + while ((n = o[i++])) 1 === n.nodeType && r.push(n); + return r; + } + return o; + }), + (b.find.CLASS = + d.getElementsByClassName && + function (e, t) { + if ("undefined" != typeof t.getElementsByClassName && E) + return t.getElementsByClassName(e); + }), + (s = []), + (v = []), + (d.qsa = K.test(C.querySelectorAll)) && + (ce(function (e) { + var t; + (a.appendChild(e).innerHTML = + "
"), + e.querySelectorAll("[msallowcapture^='']").length && + v.push("[*^$]=" + M + "*(?:''|\"\")"), + e.querySelectorAll("[selected]").length || + v.push("\\[" + M + "*(?:value|" + R + ")"), + e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), + (t = C.createElement("input")).setAttribute("name", ""), + e.appendChild(t), + e.querySelectorAll("[name='']").length || + v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), + e.querySelectorAll(":checked").length || v.push(":checked"), + e.querySelectorAll("a#" + S + "+*").length || + v.push(".#.+[+~]"), + e.querySelectorAll("\\\f"), + v.push("[\\r\\n\\f]"); + }), + ce(function (e) { + e.innerHTML = + ""; + var t = C.createElement("input"); + t.setAttribute("type", "hidden"), + e.appendChild(t).setAttribute("name", "D"), + e.querySelectorAll("[name=d]").length && + v.push("name" + M + "*[*^$|!~]?="), + 2 !== e.querySelectorAll(":enabled").length && + v.push(":enabled", ":disabled"), + (a.appendChild(e).disabled = !0), + 2 !== e.querySelectorAll(":disabled").length && + v.push(":enabled", ":disabled"), + e.querySelectorAll("*,:x"), + v.push(",.*:"); + })), + (d.matchesSelector = K.test( + (c = + a.matches || + a.webkitMatchesSelector || + a.mozMatchesSelector || + a.oMatchesSelector || + a.msMatchesSelector) + )) && + ce(function (e) { + (d.disconnectedMatch = c.call(e, "*")), + c.call(e, "[s!='']:x"), + s.push("!=", F); + }), + (v = v.length && new RegExp(v.join("|"))), + (s = s.length && new RegExp(s.join("|"))), + (t = K.test(a.compareDocumentPosition)), + (y = + t || K.test(a.contains) + ? function (e, t) { + var n = 9 === e.nodeType ? e.documentElement : e, + r = t && t.parentNode; + return ( + e === r || + !( + !r || + 1 !== r.nodeType || + !(n.contains + ? n.contains(r) + : e.compareDocumentPosition && + 16 & e.compareDocumentPosition(r)) + ) + ); + } + : function (e, t) { + if (t) while ((t = t.parentNode)) if (t === e) return !0; + return !1; + }), + (D = t + ? function (e, t) { + if (e === t) return (l = !0), 0; + var n = !e.compareDocumentPosition - !t.compareDocumentPosition; + return ( + n || + (1 & + (n = + (e.ownerDocument || e) == (t.ownerDocument || t) + ? e.compareDocumentPosition(t) + : 1) || + (!d.sortDetached && t.compareDocumentPosition(e) === n) + ? e == C || (e.ownerDocument == p && y(p, e)) + ? -1 + : t == C || (t.ownerDocument == p && y(p, t)) + ? 1 + : u + ? P(u, e) - P(u, t) + : 0 + : 4 & n + ? -1 + : 1) + ); + } + : function (e, t) { + if (e === t) return (l = !0), 0; + var n, + r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) + return e == C + ? -1 + : t == C + ? 1 + : i + ? -1 + : o + ? 1 + : u + ? P(u, e) - P(u, t) + : 0; + if (i === o) return pe(e, t); + n = e; + while ((n = n.parentNode)) a.unshift(n); + n = t; + while ((n = n.parentNode)) s.unshift(n); + while (a[r] === s[r]) r++; + return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0; + })), + C + ); + }), + (se.matches = function (e, t) { + return se(e, null, null, t); + }), + (se.matchesSelector = function (e, t) { + if ( + (T(e), + d.matchesSelector && + E && + !N[t + " "] && + (!s || !s.test(t)) && + (!v || !v.test(t))) + ) + try { + var n = c.call(e, t); + if ( + n || + d.disconnectedMatch || + (e.document && 11 !== e.document.nodeType) + ) + return n; + } catch (e) { + N(t, !0); + } + return 0 < se(t, C, null, [e]).length; + }), + (se.contains = function (e, t) { + return (e.ownerDocument || e) != C && T(e), y(e, t); + }), + (se.attr = function (e, t) { + (e.ownerDocument || e) != C && T(e); + var n = b.attrHandle[t.toLowerCase()], + r = n && j.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; + return void 0 !== r + ? r + : d.attributes || !E + ? e.getAttribute(t) + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + (se.escape = function (e) { + return (e + "").replace(re, ie); + }), + (se.error = function (e) { + throw new Error("Syntax error, unrecognized expression: " + e); + }), + (se.uniqueSort = function (e) { + var t, + n = [], + r = 0, + i = 0; + if ( + ((l = !d.detectDuplicates), + (u = !d.sortStable && e.slice(0)), + e.sort(D), + l) + ) { + while ((t = e[i++])) t === e[i] && (r = n.push(i)); + while (r--) e.splice(n[r], 1); + } + return (u = null), e; + }), + (o = se.getText = function (e) { + var t, + n = "", + r = 0, + i = e.nodeType; + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent) return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += o(e); + } else if (3 === i || 4 === i) return e.nodeValue; + } else while ((t = e[r++])) n += o(t); + return n; + }), + ((b = se.selectors = { + cacheLength: 50, + createPseudo: le, + match: G, + attrHandle: {}, + find: {}, + relative: { + ">": { dir: "parentNode", first: !0 }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: !0 }, + "~": { dir: "previousSibling" }, + }, + preFilter: { + ATTR: function (e) { + return ( + (e[1] = e[1].replace(te, ne)), + (e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne)), + "~=" === e[2] && (e[3] = " " + e[3] + " "), + e.slice(0, 4) + ); + }, + CHILD: function (e) { + return ( + (e[1] = e[1].toLowerCase()), + "nth" === e[1].slice(0, 3) + ? (e[3] || se.error(e[0]), + (e[4] = +(e[4] + ? e[5] + (e[6] || 1) + : 2 * ("even" === e[3] || "odd" === e[3]))), + (e[5] = +(e[7] + e[8] || "odd" === e[3]))) + : e[3] && se.error(e[0]), + e + ); + }, + PSEUDO: function (e) { + var t, + n = !e[6] && e[2]; + return G.CHILD.test(e[0]) + ? null + : (e[3] + ? (e[2] = e[4] || e[5] || "") + : n && + X.test(n) && + (t = h(n, !0)) && + (t = n.indexOf(")", n.length - t) - n.length) && + ((e[0] = e[0].slice(0, t)), (e[2] = n.slice(0, t))), + e.slice(0, 3)); + }, + }, + filter: { + TAG: function (e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e + ? function () { + return !0; + } + : function (e) { + return e.nodeName && e.nodeName.toLowerCase() === t; + }; + }, + CLASS: function (e) { + var t = m[e + " "]; + return ( + t || + ((t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && + m(e, function (e) { + return t.test( + ("string" == typeof e.className && e.className) || + ("undefined" != typeof e.getAttribute && + e.getAttribute("class")) || + "" + ); + })) + ); + }, + ATTR: function (n, r, i) { + return function (e) { + var t = se.attr(e, n); + return null == t + ? "!=" === r + : !r || + ((t += ""), + "=" === r + ? t === i + : "!=" === r + ? t !== i + : "^=" === r + ? i && 0 === t.indexOf(i) + : "*=" === r + ? i && -1 < t.indexOf(i) + : "$=" === r + ? i && t.slice(-i.length) === i + : "~=" === r + ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) + : "|=" === r && + (t === i || t.slice(0, i.length + 1) === i + "-")); + }; + }, + CHILD: function (h, e, t, g, v) { + var y = "nth" !== h.slice(0, 3), + m = "last" !== h.slice(-4), + x = "of-type" === e; + return 1 === g && 0 === v + ? function (e) { + return !!e.parentNode; + } + : function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l = y !== m ? "nextSibling" : "previousSibling", + c = e.parentNode, + f = x && e.nodeName.toLowerCase(), + p = !n && !x, + d = !1; + if (c) { + if (y) { + while (l) { + a = e; + while ((a = a[l])) + if ( + x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType + ) + return !1; + u = l = "only" === h && !u && "nextSibling"; + } + return !0; + } + if (((u = [m ? c.firstChild : c.lastChild]), m && p)) { + (d = + (s = + (r = + (i = + (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && + r[2]), + (a = s && c.childNodes[s]); + while ((a = (++s && a && a[l]) || (d = s = 0) || u.pop())) + if (1 === a.nodeType && ++d && a === e) { + i[h] = [k, s, d]; + break; + } + } else if ( + (p && + (d = s = + (r = + (i = + (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), + !1 === d) + ) + while ((a = (++s && a && a[l]) || (d = s = 0) || u.pop())) + if ( + (x + ? a.nodeName.toLowerCase() === f + : 1 === a.nodeType) && + ++d && + (p && + ((i = + (o = a[S] || (a[S] = {}))[a.uniqueID] || + (o[a.uniqueID] = {}))[h] = [k, d]), + a === e) + ) + break; + return (d -= v) === g || (d % g == 0 && 0 <= d / g); + } + }; + }, + PSEUDO: function (e, o) { + var t, + a = + b.pseudos[e] || + b.setFilters[e.toLowerCase()] || + se.error("unsupported pseudo: " + e); + return a[S] + ? a(o) + : 1 < a.length + ? ((t = [e, e, "", o]), + b.setFilters.hasOwnProperty(e.toLowerCase()) + ? le(function (e, t) { + var n, + r = a(e, o), + i = r.length; + while (i--) e[(n = P(e, r[i]))] = !(t[n] = r[i]); + }) + : function (e) { + return a(e, 0, t); + }) + : a; + }, + }, + pseudos: { + not: le(function (e) { + var r = [], + i = [], + s = f(e.replace($, "$1")); + return s[S] + ? le(function (e, t, n, r) { + var i, + o = s(e, null, r, []), + a = e.length; + while (a--) (i = o[a]) && (e[a] = !(t[a] = i)); + }) + : function (e, t, n) { + return (r[0] = e), s(r, null, n, i), (r[0] = null), !i.pop(); + }; + }), + has: le(function (t) { + return function (e) { + return 0 < se(t, e).length; + }; + }), + contains: le(function (t) { + return ( + (t = t.replace(te, ne)), + function (e) { + return -1 < (e.textContent || o(e)).indexOf(t); + } + ); + }), + lang: le(function (n) { + return ( + V.test(n || "") || se.error("unsupported lang: " + n), + (n = n.replace(te, ne).toLowerCase()), + function (e) { + var t; + do { + if ( + (t = E + ? e.lang + : e.getAttribute("xml:lang") || e.getAttribute("lang")) + ) + return ( + (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") + ); + } while ((e = e.parentNode) && 1 === e.nodeType); + return !1; + } + ); + }), + target: function (e) { + var t = n.location && n.location.hash; + return t && t.slice(1) === e.id; + }, + root: function (e) { + return e === a; + }, + focus: function (e) { + return ( + e === C.activeElement && + (!C.hasFocus || C.hasFocus()) && + !!(e.type || e.href || ~e.tabIndex) + ); + }, + enabled: ge(!1), + disabled: ge(!0), + checked: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && !!e.checked) || ("option" === t && !!e.selected) + ); + }, + selected: function (e) { + return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; + }, + empty: function (e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0; + }, + parent: function (e) { + return !b.pseudos.empty(e); + }, + header: function (e) { + return J.test(e.nodeName); + }, + input: function (e) { + return Q.test(e.nodeName); + }, + button: function (e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t && "button" === e.type) || "button" === t; + }, + text: function (e) { + var t; + return ( + "input" === e.nodeName.toLowerCase() && + "text" === e.type && + (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) + ); + }, + first: ve(function () { + return [0]; + }), + last: ve(function (e, t) { + return [t - 1]; + }), + eq: ve(function (e, t, n) { + return [n < 0 ? n + t : n]; + }), + even: ve(function (e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e; + }), + odd: ve(function (e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e; + }), + lt: ve(function (e, t, n) { + for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; ) e.push(r); + return e; + }), + gt: ve(function (e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); + return e; + }), + }, + }).pseudos.nth = b.pseudos.eq), + { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) + b.pseudos[e] = de(e); + for (e in { submit: !0, reset: !0 }) b.pseudos[e] = he(e); + function me() {} + function xe(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r; + } + function be(s, e, t) { + var u = e.dir, + l = e.next, + c = l || u, + f = t && "parentNode" === c, + p = r++; + return e.first + ? function (e, t, n) { + while ((e = e[u])) if (1 === e.nodeType || f) return s(e, t, n); + return !1; + } + : function (e, t, n) { + var r, + i, + o, + a = [k, p]; + if (n) { + while ((e = e[u])) + if ((1 === e.nodeType || f) && s(e, t, n)) return !0; + } else + while ((e = e[u])) + if (1 === e.nodeType || f) + if ( + ((i = + (o = e[S] || (e[S] = {}))[e.uniqueID] || + (o[e.uniqueID] = {})), + l && l === e.nodeName.toLowerCase()) + ) + e = e[u] || e; + else { + if ((r = i[c]) && r[0] === k && r[1] === p) + return (a[2] = r[2]); + if (((i[c] = a)[2] = s(e, t, n))) return !0; + } + return !1; + }; + } + function we(i) { + return 1 < i.length + ? function (e, t, n) { + var r = i.length; + while (r--) if (!i[r](e, t, n)) return !1; + return !0; + } + : i[0]; + } + function Te(e, t, n, r, i) { + for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) + (o = e[s]) && ((n && !n(o, r, i)) || (a.push(o), l && t.push(s))); + return a; + } + function Ce(d, h, g, v, y, e) { + return ( + v && !v[S] && (v = Ce(v)), + y && !y[S] && (y = Ce(y, e)), + le(function (e, t, n, r) { + var i, + o, + a, + s = [], + u = [], + l = t.length, + c = + e || + (function (e, t, n) { + for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n); + return n; + })(h || "*", n.nodeType ? [n] : n, []), + f = !d || (!e && h) ? c : Te(c, s, d, n, r), + p = g ? (y || (e ? d : l || v) ? [] : t) : f; + if ((g && g(f, p, n, r), v)) { + (i = Te(p, u)), v(i, [], n, r), (o = i.length); + while (o--) (a = i[o]) && (p[u[o]] = !(f[u[o]] = a)); + } + if (e) { + if (y || d) { + if (y) { + (i = []), (o = p.length); + while (o--) (a = p[o]) && i.push((f[o] = a)); + y(null, (p = []), i, r); + } + o = p.length; + while (o--) + (a = p[o]) && + -1 < (i = y ? P(e, a) : s[o]) && + (e[i] = !(t[i] = a)); + } + } else (p = Te(p === t ? p.splice(l, p.length) : p)), y ? y(null, t, p, r) : H.apply(t, p); + }) + ); + } + function Ee(e) { + for ( + var i, + t, + n, + r = e.length, + o = b.relative[e[0].type], + a = o || b.relative[" "], + s = o ? 1 : 0, + u = be( + function (e) { + return e === i; + }, + a, + !0 + ), + l = be( + function (e) { + return -1 < P(i, e); + }, + a, + !0 + ), + c = [ + function (e, t, n) { + var r = + (!o && (n || t !== w)) || + ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); + return (i = null), r; + }, + ]; + s < r; + s++ + ) + if ((t = b.relative[e[s].type])) c = [be(we(c), t)]; + else { + if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { + for (n = ++s; n < r; n++) if (b.relative[e[n].type]) break; + return Ce( + 1 < s && we(c), + 1 < s && + xe( + e + .slice(0, s - 1) + .concat({ value: " " === e[s - 2].type ? "*" : "" }) + ).replace($, "$1"), + t, + s < n && Ee(e.slice(s, n)), + n < r && Ee((e = e.slice(n))), + n < r && xe(e) + ); + } + c.push(t); + } + return we(c); + } + return ( + (me.prototype = b.filters = b.pseudos), + (b.setFilters = new me()), + (h = se.tokenize = function (e, t) { + var n, + r, + i, + o, + a, + s, + u, + l = x[e + " "]; + if (l) return t ? 0 : l.slice(0); + (a = e), (s = []), (u = b.preFilter); + while (a) { + for (o in ((n && !(r = _.exec(a))) || + (r && (a = a.slice(r[0].length) || a), s.push((i = []))), + (n = !1), + (r = z.exec(a)) && + ((n = r.shift()), + i.push({ value: n, type: r[0].replace($, " ") }), + (a = a.slice(n.length))), + b.filter)) + !(r = G[o].exec(a)) || + (u[o] && !(r = u[o](r))) || + ((n = r.shift()), + i.push({ value: n, type: o, matches: r }), + (a = a.slice(n.length))); + if (!n) break; + } + return t ? a.length : a ? se.error(e) : x(e, s).slice(0); + }), + (f = se.compile = function (e, t) { + var n, + v, + y, + m, + x, + r, + i = [], + o = [], + a = A[e + " "]; + if (!a) { + t || (t = h(e)), (n = t.length); + while (n--) (a = Ee(t[n]))[S] ? i.push(a) : o.push(a); + (a = A( + e, + ((v = o), + (m = 0 < (y = i).length), + (x = 0 < v.length), + (r = function (e, t, n, r, i) { + var o, + a, + s, + u = 0, + l = "0", + c = e && [], + f = [], + p = w, + d = e || (x && b.find.TAG("*", i)), + h = (k += null == p ? 1 : Math.random() || 0.1), + g = d.length; + for ( + i && (w = t == C || t || i); + l !== g && null != (o = d[l]); + l++ + ) { + if (x && o) { + (a = 0), t || o.ownerDocument == C || (T(o), (n = !E)); + while ((s = v[a++])) + if (s(o, t || C, n)) { + r.push(o); + break; + } + i && (k = h); + } + m && ((o = !s && o) && u--, e && c.push(o)); + } + if (((u += l), m && l !== u)) { + a = 0; + while ((s = y[a++])) s(c, f, t, n); + if (e) { + if (0 < u) while (l--) c[l] || f[l] || (f[l] = q.call(r)); + f = Te(f); + } + H.apply(r, f), + i && + !e && + 0 < f.length && + 1 < u + y.length && + se.uniqueSort(r); + } + return i && ((k = h), (w = p)), c; + }), + m ? le(r) : r) + )).selector = e; + } + return a; + }), + (g = se.select = function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = "function" == typeof e && e, + c = !r && h((e = l.selector || e)); + if (((n = n || []), 1 === c.length)) { + if ( + 2 < (o = c[0] = c[0].slice(0)).length && + "ID" === (a = o[0]).type && + 9 === t.nodeType && + E && + b.relative[o[1].type] + ) { + if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) + return n; + l && (t = t.parentNode), (e = e.slice(o.shift().value.length)); + } + i = G.needsContext.test(e) ? 0 : o.length; + while (i--) { + if (((a = o[i]), b.relative[(s = a.type)])) break; + if ( + (u = b.find[s]) && + (r = u( + a.matches[0].replace(te, ne), + (ee.test(o[0].type) && ye(t.parentNode)) || t + )) + ) { + if ((o.splice(i, 1), !(e = r.length && xe(o)))) + return H.apply(n, r), n; + break; + } + } + } + return ( + (l || f(e, c))( + r, + t, + !E, + n, + !t || (ee.test(e) && ye(t.parentNode)) || t + ), + n + ); + }), + (d.sortStable = S.split("").sort(D).join("") === S), + (d.detectDuplicates = !!l), + T(), + (d.sortDetached = ce(function (e) { + return 1 & e.compareDocumentPosition(C.createElement("fieldset")); + })), + ce(function (e) { + return ( + (e.innerHTML = ""), + "#" === e.firstChild.getAttribute("href") + ); + }) || + fe("type|href|height|width", function (e, t, n) { + if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); + }), + (d.attributes && + ce(function (e) { + return ( + (e.innerHTML = ""), + e.firstChild.setAttribute("value", ""), + "" === e.firstChild.getAttribute("value") + ); + })) || + fe("value", function (e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue; + }), + ce(function (e) { + return null == e.getAttribute("disabled"); + }) || + fe(R, function (e, t, n) { + var r; + if (!n) + return !0 === e[t] + ? t.toLowerCase() + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + se + ); + })(C); + (S.find = d), + (S.expr = d.selectors), + (S.expr[":"] = S.expr.pseudos), + (S.uniqueSort = S.unique = d.uniqueSort), + (S.text = d.getText), + (S.isXMLDoc = d.isXML), + (S.contains = d.contains), + (S.escapeSelector = d.escape); + var h = function (e, t, n) { + var r = [], + i = void 0 !== n; + while ((e = e[t]) && 9 !== e.nodeType) + if (1 === e.nodeType) { + if (i && S(e).is(n)) break; + r.push(e); + } + return r; + }, + T = function (e, t) { + for (var n = []; e; e = e.nextSibling) + 1 === e.nodeType && e !== t && n.push(e); + return n; + }, + k = S.expr.match.needsContext; + function A(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); + } + var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + function D(e, n, r) { + return m(n) + ? S.grep(e, function (e, t) { + return !!n.call(e, t, e) !== r; + }) + : n.nodeType + ? S.grep(e, function (e) { + return (e === n) !== r; + }) + : "string" != typeof n + ? S.grep(e, function (e) { + return -1 < i.call(n, e) !== r; + }) + : S.filter(n, e, r); + } + (S.filter = function (e, t, n) { + var r = t[0]; + return ( + n && (e = ":not(" + e + ")"), + 1 === t.length && 1 === r.nodeType + ? S.find.matchesSelector(r, e) + ? [r] + : [] + : S.find.matches( + e, + S.grep(t, function (e) { + return 1 === e.nodeType; + }) + ) + ); + }), + S.fn.extend({ + find: function (e) { + var t, + n, + r = this.length, + i = this; + if ("string" != typeof e) + return this.pushStack( + S(e).filter(function () { + for (t = 0; t < r; t++) if (S.contains(i[t], this)) return !0; + }) + ); + for (n = this.pushStack([]), t = 0; t < r; t++) S.find(e, i[t], n); + return 1 < r ? S.uniqueSort(n) : n; + }, + filter: function (e) { + return this.pushStack(D(this, e || [], !1)); + }, + not: function (e) { + return this.pushStack(D(this, e || [], !0)); + }, + is: function (e) { + return !!D(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1) + .length; + }, + }); + var j, + q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + ((S.fn.init = function (e, t, n) { + var r, i; + if (!e) return this; + if (((n = n || j), "string" == typeof e)) { + if ( + !(r = + "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length + ? [null, e, null] + : q.exec(e)) || + (!r[1] && t) + ) + return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); + if (r[1]) { + if ( + ((t = t instanceof S ? t[0] : t), + S.merge( + this, + S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0) + ), + N.test(r[1]) && S.isPlainObject(t)) + ) + for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this; + } + return ( + (i = E.getElementById(r[2])) && ((this[0] = i), (this.length = 1)), this + ); + } + return e.nodeType + ? ((this[0] = e), (this.length = 1), this) + : m(e) + ? void 0 !== n.ready + ? n.ready(e) + : e(S) + : S.makeArray(e, this); + }).prototype = S.fn), + (j = S(E)); + var L = /^(?:parents|prev(?:Until|All))/, + H = { children: !0, contents: !0, next: !0, prev: !0 }; + function O(e, t) { + while ((e = e[t]) && 1 !== e.nodeType); + return e; + } + S.fn.extend({ + has: function (e) { + var t = S(e, this), + n = t.length; + return this.filter(function () { + for (var e = 0; e < n; e++) if (S.contains(this, t[e])) return !0; + }); + }, + closest: function (e, t) { + var n, + r = 0, + i = this.length, + o = [], + a = "string" != typeof e && S(e); + if (!k.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if ( + n.nodeType < 11 && + (a + ? -1 < a.index(n) + : 1 === n.nodeType && S.find.matchesSelector(n, e)) + ) { + o.push(n); + break; + } + return this.pushStack(1 < o.length ? S.uniqueSort(o) : o); + }, + index: function (e) { + return e + ? "string" == typeof e + ? i.call(S(e), this[0]) + : i.call(this, e.jquery ? e[0] : e) + : this[0] && this[0].parentNode + ? this.first().prevAll().length + : -1; + }, + add: function (e, t) { + return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))); + }, + addBack: function (e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); + }, + }), + S.each( + { + parent: function (e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null; + }, + parents: function (e) { + return h(e, "parentNode"); + }, + parentsUntil: function (e, t, n) { + return h(e, "parentNode", n); + }, + next: function (e) { + return O(e, "nextSibling"); + }, + prev: function (e) { + return O(e, "previousSibling"); + }, + nextAll: function (e) { + return h(e, "nextSibling"); + }, + prevAll: function (e) { + return h(e, "previousSibling"); + }, + nextUntil: function (e, t, n) { + return h(e, "nextSibling", n); + }, + prevUntil: function (e, t, n) { + return h(e, "previousSibling", n); + }, + siblings: function (e) { + return T((e.parentNode || {}).firstChild, e); + }, + children: function (e) { + return T(e.firstChild); + }, + contents: function (e) { + return null != e.contentDocument && r(e.contentDocument) + ? e.contentDocument + : (A(e, "template") && (e = e.content || e), + S.merge([], e.childNodes)); + }, + }, + function (r, i) { + S.fn[r] = function (e, t) { + var n = S.map(this, i, e); + return ( + "Until" !== r.slice(-5) && (t = e), + t && "string" == typeof t && (n = S.filter(t, n)), + 1 < this.length && + (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), + this.pushStack(n) + ); + }; + } + ); + var P = /[^\x20\t\r\n\f]+/g; + function R(e) { + return e; + } + function M(e) { + throw e; + } + function I(e, t, n, r) { + var i; + try { + e && m((i = e.promise)) + ? i.call(e).done(t).fail(n) + : e && m((i = e.then)) + ? i.call(e, t, n) + : t.apply(void 0, [e].slice(r)); + } catch (e) { + n.apply(void 0, [e]); + } + } + (S.Callbacks = function (r) { + var e, n; + r = + "string" == typeof r + ? ((e = r), + (n = {}), + S.each(e.match(P) || [], function (e, t) { + n[t] = !0; + }), + n) + : S.extend({}, r); + var i, + t, + o, + a, + s = [], + u = [], + l = -1, + c = function () { + for (a = a || r.once, o = i = !0; u.length; l = -1) { + t = u.shift(); + while (++l < s.length) + !1 === s[l].apply(t[0], t[1]) && + r.stopOnFalse && + ((l = s.length), (t = !1)); + } + r.memory || (t = !1), (i = !1), a && (s = t ? [] : ""); + }, + f = { + add: function () { + return ( + s && + (t && !i && ((l = s.length - 1), u.push(t)), + (function n(e) { + S.each(e, function (e, t) { + m(t) + ? (r.unique && f.has(t)) || s.push(t) + : t && t.length && "string" !== w(t) && n(t); + }); + })(arguments), + t && !i && c()), + this + ); + }, + remove: function () { + return ( + S.each(arguments, function (e, t) { + var n; + while (-1 < (n = S.inArray(t, s, n))) + s.splice(n, 1), n <= l && l--; + }), + this + ); + }, + has: function (e) { + return e ? -1 < S.inArray(e, s) : 0 < s.length; + }, + empty: function () { + return s && (s = []), this; + }, + disable: function () { + return (a = u = []), (s = t = ""), this; + }, + disabled: function () { + return !s; + }, + lock: function () { + return (a = u = []), t || i || (s = t = ""), this; + }, + locked: function () { + return !!a; + }, + fireWith: function (e, t) { + return ( + a || + ((t = [e, (t = t || []).slice ? t.slice() : t]), + u.push(t), + i || c()), + this + ); + }, + fire: function () { + return f.fireWith(this, arguments), this; + }, + fired: function () { + return !!o; + }, + }; + return f; + }), + S.extend({ + Deferred: function (e) { + var o = [ + [ + "notify", + "progress", + S.Callbacks("memory"), + S.Callbacks("memory"), + 2, + ], + [ + "resolve", + "done", + S.Callbacks("once memory"), + S.Callbacks("once memory"), + 0, + "resolved", + ], + [ + "reject", + "fail", + S.Callbacks("once memory"), + S.Callbacks("once memory"), + 1, + "rejected", + ], + ], + i = "pending", + a = { + state: function () { + return i; + }, + always: function () { + return s.done(arguments).fail(arguments), this; + }, + catch: function (e) { + return a.then(null, e); + }, + pipe: function () { + var i = arguments; + return S.Deferred(function (r) { + S.each(o, function (e, t) { + var n = m(i[t[4]]) && i[t[4]]; + s[t[1]](function () { + var e = n && n.apply(this, arguments); + e && m(e.promise) + ? e + .promise() + .progress(r.notify) + .done(r.resolve) + .fail(r.reject) + : r[t[0] + "With"](this, n ? [e] : arguments); + }); + }), + (i = null); + }).promise(); + }, + then: function (t, n, r) { + var u = 0; + function l(i, o, a, s) { + return function () { + var n = this, + r = arguments, + e = function () { + var e, t; + if (!(i < u)) { + if ((e = a.apply(n, r)) === o.promise()) + throw new TypeError("Thenable self-resolution"); + (t = + e && + ("object" == typeof e || "function" == typeof e) && + e.then), + m(t) + ? s + ? t.call(e, l(u, o, R, s), l(u, o, M, s)) + : (u++, + t.call( + e, + l(u, o, R, s), + l(u, o, M, s), + l(u, o, R, o.notifyWith) + )) + : (a !== R && ((n = void 0), (r = [e])), + (s || o.resolveWith)(n, r)); + } + }, + t = s + ? e + : function () { + try { + e(); + } catch (e) { + S.Deferred.exceptionHook && + S.Deferred.exceptionHook(e, t.stackTrace), + u <= i + 1 && + (a !== M && ((n = void 0), (r = [e])), + o.rejectWith(n, r)); + } + }; + i + ? t() + : (S.Deferred.getStackHook && + (t.stackTrace = S.Deferred.getStackHook()), + C.setTimeout(t)); + }; + } + return S.Deferred(function (e) { + o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), + o[1][3].add(l(0, e, m(t) ? t : R)), + o[2][3].add(l(0, e, m(n) ? n : M)); + }).promise(); + }, + promise: function (e) { + return null != e ? S.extend(e, a) : a; + }, + }, + s = {}; + return ( + S.each(o, function (e, t) { + var n = t[2], + r = t[5]; + (a[t[1]] = n.add), + r && + n.add( + function () { + i = r; + }, + o[3 - e][2].disable, + o[3 - e][3].disable, + o[0][2].lock, + o[0][3].lock + ), + n.add(t[3].fire), + (s[t[0]] = function () { + return ( + s[t[0] + "With"](this === s ? void 0 : this, arguments), this + ); + }), + (s[t[0] + "With"] = n.fireWith); + }), + a.promise(s), + e && e.call(s, s), + s + ); + }, + when: function (e) { + var n = arguments.length, + t = n, + r = Array(t), + i = s.call(arguments), + o = S.Deferred(), + a = function (t) { + return function (e) { + (r[t] = this), + (i[t] = 1 < arguments.length ? s.call(arguments) : e), + --n || o.resolveWith(r, i); + }; + }; + if ( + n <= 1 && + (I(e, o.done(a(t)).resolve, o.reject, !n), + "pending" === o.state() || m(i[t] && i[t].then)) + ) + return o.then(); + while (t--) I(i[t], a(t), o.reject); + return o.promise(); + }, + }); + var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + (S.Deferred.exceptionHook = function (e, t) { + C.console && + C.console.warn && + e && + W.test(e.name) && + C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t); + }), + (S.readyException = function (e) { + C.setTimeout(function () { + throw e; + }); + }); + var F = S.Deferred(); + function B() { + E.removeEventListener("DOMContentLoaded", B), + C.removeEventListener("load", B), + S.ready(); + } + (S.fn.ready = function (e) { + return ( + F.then(e)["catch"](function (e) { + S.readyException(e); + }), + this + ); + }), + S.extend({ + isReady: !1, + readyWait: 1, + ready: function (e) { + (!0 === e ? --S.readyWait : S.isReady) || + ((S.isReady = !0) !== e && 0 < --S.readyWait) || + F.resolveWith(E, [S]); + }, + }), + (S.ready.then = F.then), + "complete" === E.readyState || + ("loading" !== E.readyState && !E.documentElement.doScroll) + ? C.setTimeout(S.ready) + : (E.addEventListener("DOMContentLoaded", B), + C.addEventListener("load", B)); + var $ = function (e, t, n, r, i, o, a) { + var s = 0, + u = e.length, + l = null == n; + if ("object" === w(n)) + for (s in ((i = !0), n)) $(e, t, s, n[s], !0, o, a); + else if ( + void 0 !== r && + ((i = !0), + m(r) || (a = !0), + l && + (a + ? (t.call(e, r), (t = null)) + : ((l = t), + (t = function (e, t, n) { + return l.call(S(e), n); + }))), + t) + ) + for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); + return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; + }, + _ = /^-ms-/, + z = /-([a-z])/g; + function U(e, t) { + return t.toUpperCase(); + } + function X(e) { + return e.replace(_, "ms-").replace(z, U); + } + var V = function (e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; + }; + function G() { + this.expando = S.expando + G.uid++; + } + (G.uid = 1), + (G.prototype = { + cache: function (e) { + var t = e[this.expando]; + return ( + t || + ((t = {}), + V(e) && + (e.nodeType + ? (e[this.expando] = t) + : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0, + }))), + t + ); + }, + set: function (e, t, n) { + var r, + i = this.cache(e); + if ("string" == typeof t) i[X(t)] = n; + else for (r in t) i[X(r)] = t[r]; + return i; + }, + get: function (e, t) { + return void 0 === t + ? this.cache(e) + : e[this.expando] && e[this.expando][X(t)]; + }, + access: function (e, t, n) { + return void 0 === t || (t && "string" == typeof t && void 0 === n) + ? this.get(e, t) + : (this.set(e, t, n), void 0 !== n ? n : t); + }, + remove: function (e, t) { + var n, + r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) + ? t.map(X) + : (t = X(t)) in r + ? [t] + : t.match(P) || []).length; + while (n--) delete r[t[n]]; + } + (void 0 === t || S.isEmptyObject(r)) && + (e.nodeType ? (e[this.expando] = void 0) : delete e[this.expando]); + } + }, + hasData: function (e) { + var t = e[this.expando]; + return void 0 !== t && !S.isEmptyObject(t); + }, + }); + var Y = new G(), + Q = new G(), + J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + K = /[A-Z]/g; + function Z(e, t, n) { + var r, i; + if (void 0 === n && 1 === e.nodeType) + if ( + ((r = "data-" + t.replace(K, "-$&").toLowerCase()), + "string" == typeof (n = e.getAttribute(r))) + ) { + try { + n = + "true" === (i = n) || + ("false" !== i && + ("null" === i + ? null + : i === +i + "" + ? +i + : J.test(i) + ? JSON.parse(i) + : i)); + } catch (e) {} + Q.set(e, t, n); + } else n = void 0; + return n; + } + S.extend({ + hasData: function (e) { + return Q.hasData(e) || Y.hasData(e); + }, + data: function (e, t, n) { + return Q.access(e, t, n); + }, + removeData: function (e, t) { + Q.remove(e, t); + }, + _data: function (e, t, n) { + return Y.access(e, t, n); + }, + _removeData: function (e, t) { + Y.remove(e, t); + }, + }), + S.fn.extend({ + data: function (n, e) { + var t, + r, + i, + o = this[0], + a = o && o.attributes; + if (void 0 === n) { + if ( + this.length && + ((i = Q.get(o)), 1 === o.nodeType && !Y.get(o, "hasDataAttrs")) + ) { + t = a.length; + while (t--) + a[t] && + 0 === (r = a[t].name).indexOf("data-") && + ((r = X(r.slice(5))), Z(o, r, i[r])); + Y.set(o, "hasDataAttrs", !0); + } + return i; + } + return "object" == typeof n + ? this.each(function () { + Q.set(this, n); + }) + : $( + this, + function (e) { + var t; + if (o && void 0 === e) + return void 0 !== (t = Q.get(o, n)) + ? t + : void 0 !== (t = Z(o, n)) + ? t + : void 0; + this.each(function () { + Q.set(this, n, e); + }); + }, + null, + e, + 1 < arguments.length, + null, + !0 + ); + }, + removeData: function (e) { + return this.each(function () { + Q.remove(this, e); + }); + }, + }), + S.extend({ + queue: function (e, t, n) { + var r; + if (e) + return ( + (t = (t || "fx") + "queue"), + (r = Y.get(e, t)), + n && + (!r || Array.isArray(n) + ? (r = Y.access(e, t, S.makeArray(n))) + : r.push(n)), + r || [] + ); + }, + dequeue: function (e, t) { + t = t || "fx"; + var n = S.queue(e, t), + r = n.length, + i = n.shift(), + o = S._queueHooks(e, t); + "inprogress" === i && ((i = n.shift()), r--), + i && + ("fx" === t && n.unshift("inprogress"), + delete o.stop, + i.call( + e, + function () { + S.dequeue(e, t); + }, + o + )), + !r && o && o.empty.fire(); + }, + _queueHooks: function (e, t) { + var n = t + "queueHooks"; + return ( + Y.get(e, n) || + Y.access(e, n, { + empty: S.Callbacks("once memory").add(function () { + Y.remove(e, [t + "queue", n]); + }), + }) + ); + }, + }), + S.fn.extend({ + queue: function (t, n) { + var e = 2; + return ( + "string" != typeof t && ((n = t), (t = "fx"), e--), + arguments.length < e + ? S.queue(this[0], t) + : void 0 === n + ? this + : this.each(function () { + var e = S.queue(this, t, n); + S._queueHooks(this, t), + "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t); + }) + ); + }, + dequeue: function (e) { + return this.each(function () { + S.dequeue(this, e); + }); + }, + clearQueue: function (e) { + return this.queue(e || "fx", []); + }, + promise: function (e, t) { + var n, + r = 1, + i = S.Deferred(), + o = this, + a = this.length, + s = function () { + --r || i.resolveWith(o, [o]); + }; + "string" != typeof e && ((t = e), (e = void 0)), (e = e || "fx"); + while (a--) + (n = Y.get(o[a], e + "queueHooks")) && + n.empty && + (r++, n.empty.add(s)); + return s(), i.promise(t); + }, + }); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = E.documentElement, + ie = function (e) { + return S.contains(e.ownerDocument, e); + }, + oe = { composed: !0 }; + re.getRootNode && + (ie = function (e) { + return ( + S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument + ); + }); + var ae = function (e, t) { + return ( + "none" === (e = t || e).style.display || + ("" === e.style.display && ie(e) && "none" === S.css(e, "display")) + ); + }; + function se(e, t, n, r) { + var i, + o, + a = 20, + s = r + ? function () { + return r.cur(); + } + : function () { + return S.css(e, t, ""); + }, + u = s(), + l = (n && n[3]) || (S.cssNumber[t] ? "" : "px"), + c = + e.nodeType && + (S.cssNumber[t] || ("px" !== l && +u)) && + te.exec(S.css(e, t)); + if (c && c[3] !== l) { + (u /= 2), (l = l || c[3]), (c = +u || 1); + while (a--) + S.style(e, t, c + l), + (1 - o) * (1 - (o = s() / u || 0.5)) <= 0 && (a = 0), + (c /= o); + (c *= 2), S.style(e, t, c + l), (n = n || []); + } + return ( + n && + ((c = +c || +u || 0), + (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]), + r && ((r.unit = l), (r.start = c), (r.end = i))), + i + ); + } + var ue = {}; + function le(e, t) { + for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++) + (r = e[c]).style && + ((n = r.style.display), + t + ? ("none" === n && + ((l[c] = Y.get(r, "display") || null), + l[c] || (r.style.display = "")), + "" === r.style.display && + ae(r) && + (l[c] = + ((u = a = o = void 0), + (a = (i = r).ownerDocument), + (s = i.nodeName), + (u = ue[s]) || + ((o = a.body.appendChild(a.createElement(s))), + (u = S.css(o, "display")), + o.parentNode.removeChild(o), + "none" === u && (u = "block"), + (ue[s] = u))))) + : "none" !== n && ((l[c] = "none"), Y.set(r, "display", n))); + for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); + return e; + } + S.fn.extend({ + show: function () { + return le(this, !0); + }, + hide: function () { + return le(this); + }, + toggle: function (e) { + return "boolean" == typeof e + ? e + ? this.show() + : this.hide() + : this.each(function () { + ae(this) ? S(this).show() : S(this).hide(); + }); + }, + }); + var ce, + fe, + pe = /^(?:checkbox|radio)$/i, + de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + (ce = E.createDocumentFragment().appendChild(E.createElement("div"))), + (fe = E.createElement("input")).setAttribute("type", "radio"), + fe.setAttribute("checked", "checked"), + fe.setAttribute("name", "t"), + ce.appendChild(fe), + (y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked), + (ce.innerHTML = ""), + (y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue), + (ce.innerHTML = ""), + (y.option = !!ce.lastChild); + var ge = { + thead: [1, "", "
"], + col: [2, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + _default: [0, "", ""], + }; + function ve(e, t) { + var n; + return ( + (n = + "undefined" != typeof e.getElementsByTagName + ? e.getElementsByTagName(t || "*") + : "undefined" != typeof e.querySelectorAll + ? e.querySelectorAll(t || "*") + : []), + void 0 === t || (t && A(e, t)) ? S.merge([e], n) : n + ); + } + function ye(e, t) { + for (var n = 0, r = e.length; n < r; n++) + Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")); + } + (ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead), + (ge.th = ge.td), + y.option || + (ge.optgroup = ge.option = [ + 1, + "", + ]); + var me = /<|&#?\w+;/; + function xe(e, t, n, r, i) { + for ( + var o, + a, + s, + u, + l, + c, + f = t.createDocumentFragment(), + p = [], + d = 0, + h = e.length; + d < h; + d++ + ) + if ((o = e[d]) || 0 === o) + if ("object" === w(o)) S.merge(p, o.nodeType ? [o] : o); + else if (me.test(o)) { + (a = a || f.appendChild(t.createElement("div"))), + (s = (de.exec(o) || ["", ""])[1].toLowerCase()), + (u = ge[s] || ge._default), + (a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2]), + (c = u[0]); + while (c--) a = a.lastChild; + S.merge(p, a.childNodes), ((a = f.firstChild).textContent = ""); + } else p.push(t.createTextNode(o)); + (f.textContent = ""), (d = 0); + while ((o = p[d++])) + if (r && -1 < S.inArray(o, r)) i && i.push(o); + else if ( + ((l = ie(o)), (a = ve(f.appendChild(o), "script")), l && ye(a), n) + ) { + c = 0; + while ((o = a[c++])) he.test(o.type || "") && n.push(o); + } + return f; + } + var be = /^key/, + we = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + Te = /^([^.]*)(?:\.(.+)|)/; + function Ce() { + return !0; + } + function Ee() { + return !1; + } + function Se(e, t) { + return ( + (e === + (function () { + try { + return E.activeElement; + } catch (e) {} + })()) == + ("focus" === t) + ); + } + function ke(e, t, n, r, i, o) { + var a, s; + if ("object" == typeof t) { + for (s in ("string" != typeof n && ((r = r || n), (n = void 0)), t)) + ke(e, s, n, r, t[s], o); + return e; + } + if ( + (null == r && null == i + ? ((i = n), (r = n = void 0)) + : null == i && + ("string" == typeof n + ? ((i = r), (r = void 0)) + : ((i = r), (r = n), (n = void 0))), + !1 === i) + ) + i = Ee; + else if (!i) return e; + return ( + 1 === o && + ((a = i), + ((i = function (e) { + return S().off(e), a.apply(this, arguments); + }).guid = a.guid || (a.guid = S.guid++))), + e.each(function () { + S.event.add(this, t, i, r, n); + }) + ); + } + function Ae(e, i, o) { + o + ? (Y.set(e, i, !1), + S.event.add(e, i, { + namespace: !1, + handler: function (e) { + var t, + n, + r = Y.get(this, i); + if (1 & e.isTrigger && this[i]) { + if (r.length) + (S.event.special[i] || {}).delegateType && e.stopPropagation(); + else if ( + ((r = s.call(arguments)), + Y.set(this, i, r), + (t = o(this, i)), + this[i](), + r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : (n = {}), + r !== n) + ) + return ( + e.stopImmediatePropagation(), e.preventDefault(), n.value + ); + } else + r.length && + (Y.set(this, i, { + value: S.event.trigger( + S.extend(r[0], S.Event.prototype), + r.slice(1), + this + ), + }), + e.stopImmediatePropagation()); + }, + })) + : void 0 === Y.get(e, i) && S.event.add(e, i, Ce); + } + (S.event = { + global: {}, + add: function (t, e, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + v = Y.get(t); + if (V(t)) { + n.handler && ((n = (o = n).handler), (i = o.selector)), + i && S.find.matchesSelector(re, i), + n.guid || (n.guid = S.guid++), + (u = v.events) || (u = v.events = Object.create(null)), + (a = v.handle) || + (a = v.handle = function (e) { + return "undefined" != typeof S && S.event.triggered !== e.type + ? S.event.dispatch.apply(t, arguments) + : void 0; + }), + (l = (e = (e || "").match(P) || [""]).length); + while (l--) + (d = g = (s = Te.exec(e[l]) || [])[1]), + (h = (s[2] || "").split(".").sort()), + d && + ((f = S.event.special[d] || {}), + (d = (i ? f.delegateType : f.bindType) || d), + (f = S.event.special[d] || {}), + (c = S.extend( + { + type: d, + origType: g, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: i && S.expr.match.needsContext.test(i), + namespace: h.join("."), + }, + o + )), + (p = u[d]) || + (((p = u[d] = []).delegateCount = 0), + (f.setup && !1 !== f.setup.call(t, r, h, a)) || + (t.addEventListener && t.addEventListener(d, a))), + f.add && + (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), + i ? p.splice(p.delegateCount++, 0, c) : p.push(c), + (S.event.global[d] = !0)); + } + }, + remove: function (e, t, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + v = Y.hasData(e) && Y.get(e); + if (v && (u = v.events)) { + l = (t = (t || "").match(P) || [""]).length; + while (l--) + if ( + ((d = g = (s = Te.exec(t[l]) || [])[1]), + (h = (s[2] || "").split(".").sort()), + d) + ) { + (f = S.event.special[d] || {}), + (p = u[(d = (r ? f.delegateType : f.bindType) || d)] || []), + (s = + s[2] && + new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")), + (a = o = p.length); + while (o--) + (c = p[o]), + (!i && g !== c.origType) || + (n && n.guid !== c.guid) || + (s && !s.test(c.namespace)) || + (r && r !== c.selector && ("**" !== r || !c.selector)) || + (p.splice(o, 1), + c.selector && p.delegateCount--, + f.remove && f.remove.call(e, c)); + a && + !p.length && + ((f.teardown && !1 !== f.teardown.call(e, h, v.handle)) || + S.removeEvent(e, d, v.handle), + delete u[d]); + } else for (d in u) S.event.remove(e, d + t[l], n, r, !0); + S.isEmptyObject(u) && Y.remove(e, "handle events"); + } + }, + dispatch: function (e) { + var t, + n, + r, + i, + o, + a, + s = new Array(arguments.length), + u = S.event.fix(e), + l = (Y.get(this, "events") || Object.create(null))[u.type] || [], + c = S.event.special[u.type] || {}; + for (s[0] = u, t = 1; t < arguments.length; t++) s[t] = arguments[t]; + if ( + ((u.delegateTarget = this), + !c.preDispatch || !1 !== c.preDispatch.call(this, u)) + ) { + (a = S.event.handlers.call(this, u, l)), (t = 0); + while ((i = a[t++]) && !u.isPropagationStopped()) { + (u.currentTarget = i.elem), (n = 0); + while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) + (u.rnamespace && + !1 !== o.namespace && + !u.rnamespace.test(o.namespace)) || + ((u.handleObj = o), + (u.data = o.data), + void 0 !== + (r = ( + (S.event.special[o.origType] || {}).handle || o.handler + ).apply(i.elem, s)) && + !1 === (u.result = r) && + (u.preventDefault(), u.stopPropagation())); + } + return c.postDispatch && c.postDispatch.call(this, u), u.result; + } + }, + handlers: function (e, t) { + var n, + r, + i, + o, + a, + s = [], + u = t.delegateCount, + l = e.target; + if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) + for (; l !== this; l = l.parentNode || this) + if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { + for (o = [], a = {}, n = 0; n < u; n++) + void 0 === a[(i = (r = t[n]).selector + " ")] && + (a[i] = r.needsContext + ? -1 < S(i, this).index(l) + : S.find(i, this, null, [l]).length), + a[i] && o.push(r); + o.length && s.push({ elem: l, handlers: o }); + } + return ( + (l = this), u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s + ); + }, + addProp: function (t, e) { + Object.defineProperty(S.Event.prototype, t, { + enumerable: !0, + configurable: !0, + get: m(e) + ? function () { + if (this.originalEvent) return e(this.originalEvent); + } + : function () { + if (this.originalEvent) return this.originalEvent[t]; + }, + set: function (e) { + Object.defineProperty(this, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: e, + }); + }, + }); + }, + fix: function (e) { + return e[S.expando] ? e : new S.Event(e); + }, + special: { + load: { noBubble: !0 }, + click: { + setup: function (e) { + var t = this || e; + return ( + pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click", Ce), + !1 + ); + }, + trigger: function (e) { + var t = this || e; + return ( + pe.test(t.type) && t.click && A(t, "input") && Ae(t, "click"), !0 + ); + }, + _default: function (e) { + var t = e.target; + return ( + (pe.test(t.type) && + t.click && + A(t, "input") && + Y.get(t, "click")) || + A(t, "a") + ); + }, + }, + beforeunload: { + postDispatch: function (e) { + void 0 !== e.result && + e.originalEvent && + (e.originalEvent.returnValue = e.result); + }, + }, + }, + }), + (S.removeEvent = function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n); + }), + (S.Event = function (e, t) { + if (!(this instanceof S.Event)) return new S.Event(e, t); + e && e.type + ? ((this.originalEvent = e), + (this.type = e.type), + (this.isDefaultPrevented = + e.defaultPrevented || + (void 0 === e.defaultPrevented && !1 === e.returnValue) + ? Ce + : Ee), + (this.target = + e.target && 3 === e.target.nodeType + ? e.target.parentNode + : e.target), + (this.currentTarget = e.currentTarget), + (this.relatedTarget = e.relatedTarget)) + : (this.type = e), + t && S.extend(this, t), + (this.timeStamp = (e && e.timeStamp) || Date.now()), + (this[S.expando] = !0); + }), + (S.Event.prototype = { + constructor: S.Event, + isDefaultPrevented: Ee, + isPropagationStopped: Ee, + isImmediatePropagationStopped: Ee, + isSimulated: !1, + preventDefault: function () { + var e = this.originalEvent; + (this.isDefaultPrevented = Ce), + e && !this.isSimulated && e.preventDefault(); + }, + stopPropagation: function () { + var e = this.originalEvent; + (this.isPropagationStopped = Ce), + e && !this.isSimulated && e.stopPropagation(); + }, + stopImmediatePropagation: function () { + var e = this.originalEvent; + (this.isImmediatePropagationStopped = Ce), + e && !this.isSimulated && e.stopImmediatePropagation(), + this.stopPropagation(); + }, + }), + S.each( + { + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + char: !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: function (e) { + var t = e.button; + return null == e.which && be.test(e.type) + ? null != e.charCode + ? e.charCode + : e.keyCode + : !e.which && void 0 !== t && we.test(e.type) + ? 1 & t + ? 1 + : 2 & t + ? 3 + : 4 & t + ? 2 + : 0 + : e.which; + }, + }, + S.event.addProp + ), + S.each({ focus: "focusin", blur: "focusout" }, function (e, t) { + S.event.special[e] = { + setup: function () { + return Ae(this, e, Se), !1; + }, + trigger: function () { + return Ae(this, e), !0; + }, + delegateType: t, + }; + }), + S.each( + { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout", + }, + function (e, i) { + S.event.special[e] = { + delegateType: i, + bindType: i, + handle: function (e) { + var t, + n = e.relatedTarget, + r = e.handleObj; + return ( + (n && (n === this || S.contains(this, n))) || + ((e.type = r.origType), + (t = r.handler.apply(this, arguments)), + (e.type = i)), + t + ); + }, + }; + } + ), + S.fn.extend({ + on: function (e, t, n, r) { + return ke(this, e, t, n, r); + }, + one: function (e, t, n, r) { + return ke(this, e, t, n, r, 1); + }, + off: function (e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) + return ( + (r = e.handleObj), + S(e.delegateTarget).off( + r.namespace ? r.origType + "." + r.namespace : r.origType, + r.selector, + r.handler + ), + this + ); + if ("object" == typeof e) { + for (i in e) this.off(i, t, e[i]); + return this; + } + return ( + (!1 !== t && "function" != typeof t) || ((n = t), (t = void 0)), + !1 === n && (n = Ee), + this.each(function () { + S.event.remove(this, e, n, t); + }) + ); + }, + }); + var Ne = /\s*$/g; + function qe(e, t) { + return ( + (A(e, "table") && + A(11 !== t.nodeType ? t : t.firstChild, "tr") && + S(e).children("tbody")[0]) || + e + ); + } + function Le(e) { + return (e.type = (null !== e.getAttribute("type")) + "/" + e.type), e; + } + function He(e) { + return ( + "true/" === (e.type || "").slice(0, 5) + ? (e.type = e.type.slice(5)) + : e.removeAttribute("type"), + e + ); + } + function Oe(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (Y.hasData(e) && (s = Y.get(e).events)) + for (i in (Y.remove(t, "handle events"), s)) + for (n = 0, r = s[i].length; n < r; n++) S.event.add(t, i, s[i][n]); + Q.hasData(e) && ((o = Q.access(e)), (a = S.extend({}, o)), Q.set(t, a)); + } + } + function Pe(n, r, i, o) { + r = g(r); + var e, + t, + a, + s, + u, + l, + c = 0, + f = n.length, + p = f - 1, + d = r[0], + h = m(d); + if (h || (1 < f && "string" == typeof d && !y.checkClone && De.test(d))) + return n.each(function (e) { + var t = n.eq(e); + h && (r[0] = d.call(this, e, t.html())), Pe(t, r, i, o); + }); + if ( + f && + ((t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild), + 1 === e.childNodes.length && (e = t), + t || o) + ) { + for (s = (a = S.map(ve(e, "script"), Le)).length; c < f; c++) + (u = e), + c !== p && + ((u = S.clone(u, !0, !0)), s && S.merge(a, ve(u, "script"))), + i.call(n[c], u, c); + if (s) + for (l = a[a.length - 1].ownerDocument, S.map(a, He), c = 0; c < s; c++) + (u = a[c]), + he.test(u.type || "") && + !Y.access(u, "globalEval") && + S.contains(l, u) && + (u.src && "module" !== (u.type || "").toLowerCase() + ? S._evalUrl && + !u.noModule && + S._evalUrl( + u.src, + { nonce: u.nonce || u.getAttribute("nonce") }, + l + ) + : b(u.textContent.replace(je, ""), u, l)); + } + return n; + } + function Re(e, t, n) { + for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) + n || 1 !== r.nodeType || S.cleanData(ve(r)), + r.parentNode && + (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); + return e; + } + S.extend({ + htmlPrefilter: function (e) { + return e; + }, + clone: function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c = e.cloneNode(!0), + f = ie(e); + if ( + !( + y.noCloneChecked || + (1 !== e.nodeType && 11 !== e.nodeType) || + S.isXMLDoc(e) + ) + ) + for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) + (s = o[r]), + (u = a[r]), + void 0, + "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) + ? (u.checked = s.checked) + : ("input" !== l && "textarea" !== l) || + (u.defaultValue = s.defaultValue); + if (t) + if (n) + for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) + Oe(o[r], a[r]); + else Oe(e, c); + return ( + 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c + ); + }, + cleanData: function (e) { + for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++) + if (V(n)) { + if ((t = n[Y.expando])) { + if (t.events) + for (r in t.events) + i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle); + n[Y.expando] = void 0; + } + n[Q.expando] && (n[Q.expando] = void 0); + } + }, + }), + S.fn.extend({ + detach: function (e) { + return Re(this, e, !0); + }, + remove: function (e) { + return Re(this, e); + }, + text: function (e) { + return $( + this, + function (e) { + return void 0 === e + ? S.text(this) + : this.empty().each(function () { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + (this.textContent = e); + }); + }, + null, + e, + arguments.length + ); + }, + append: function () { + return Pe(this, arguments, function (e) { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + qe(this, e).appendChild(e); + }); + }, + prepend: function () { + return Pe(this, arguments, function (e) { + if ( + 1 === this.nodeType || + 11 === this.nodeType || + 9 === this.nodeType + ) { + var t = qe(this, e); + t.insertBefore(e, t.firstChild); + } + }); + }, + before: function () { + return Pe(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this); + }); + }, + after: function () { + return Pe(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); + }); + }, + empty: function () { + for (var e, t = 0; null != (e = this[t]); t++) + 1 === e.nodeType && (S.cleanData(ve(e, !1)), (e.textContent = "")); + return this; + }, + clone: function (e, t) { + return ( + (e = null != e && e), + (t = null == t ? e : t), + this.map(function () { + return S.clone(this, e, t); + }) + ); + }, + html: function (e) { + return $( + this, + function (e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) return t.innerHTML; + if ( + "string" == typeof e && + !Ne.test(e) && + !ge[(de.exec(e) || ["", ""])[1].toLowerCase()] + ) { + e = S.htmlPrefilter(e); + try { + for (; n < r; n++) + 1 === (t = this[n] || {}).nodeType && + (S.cleanData(ve(t, !1)), (t.innerHTML = e)); + t = 0; + } catch (e) {} + } + t && this.empty().append(e); + }, + null, + e, + arguments.length + ); + }, + replaceWith: function () { + var n = []; + return Pe( + this, + arguments, + function (e) { + var t = this.parentNode; + S.inArray(this, n) < 0 && + (S.cleanData(ve(this)), t && t.replaceChild(e, this)); + }, + n + ); + }, + }), + S.each( + { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith", + }, + function (e, a) { + S.fn[e] = function (e) { + for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++) + (t = o === i ? this : this.clone(!0)), + S(r[o])[a](t), + u.apply(n, t.get()); + return this.pushStack(n); + }; + } + ); + var Me = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Ie = function (e) { + var t = e.ownerDocument.defaultView; + return (t && t.opener) || (t = C), t.getComputedStyle(e); + }, + We = function (e, t, n) { + var r, + i, + o = {}; + for (i in t) (o[i] = e.style[i]), (e.style[i] = t[i]); + for (i in ((r = n.call(e)), t)) e.style[i] = o[i]; + return r; + }, + Fe = new RegExp(ne.join("|"), "i"); + function Be(e, t, n) { + var r, + i, + o, + a, + s = e.style; + return ( + (n = n || Ie(e)) && + ("" !== (a = n.getPropertyValue(t) || n[t]) || + ie(e) || + (a = S.style(e, t)), + !y.pixelBoxStyles() && + Me.test(a) && + Fe.test(t) && + ((r = s.width), + (i = s.minWidth), + (o = s.maxWidth), + (s.minWidth = s.maxWidth = s.width = a), + (a = n.width), + (s.width = r), + (s.minWidth = i), + (s.maxWidth = o))), + void 0 !== a ? a + "" : a + ); + } + function $e(e, t) { + return { + get: function () { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get; + }, + }; + } + !(function () { + function e() { + if (l) { + (u.style.cssText = + "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"), + (l.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"), + re.appendChild(u).appendChild(l); + var e = C.getComputedStyle(l); + (n = "1%" !== e.top), + (s = 12 === t(e.marginLeft)), + (l.style.right = "60%"), + (o = 36 === t(e.right)), + (r = 36 === t(e.width)), + (l.style.position = "absolute"), + (i = 12 === t(l.offsetWidth / 3)), + re.removeChild(u), + (l = null); + } + } + function t(e) { + return Math.round(parseFloat(e)); + } + var n, + r, + i, + o, + a, + s, + u = E.createElement("div"), + l = E.createElement("div"); + l.style && + ((l.style.backgroundClip = "content-box"), + (l.cloneNode(!0).style.backgroundClip = ""), + (y.clearCloneStyle = "content-box" === l.style.backgroundClip), + S.extend(y, { + boxSizingReliable: function () { + return e(), r; + }, + pixelBoxStyles: function () { + return e(), o; + }, + pixelPosition: function () { + return e(), n; + }, + reliableMarginLeft: function () { + return e(), s; + }, + scrollboxSize: function () { + return e(), i; + }, + reliableTrDimensions: function () { + var e, t, n, r; + return ( + null == a && + ((e = E.createElement("table")), + (t = E.createElement("tr")), + (n = E.createElement("div")), + (e.style.cssText = "position:absolute;left:-11111px"), + (t.style.height = "1px"), + (n.style.height = "9px"), + re.appendChild(e).appendChild(t).appendChild(n), + (r = C.getComputedStyle(t)), + (a = 3 < parseInt(r.height)), + re.removeChild(e)), + a + ); + }, + })); + })(); + var _e = ["Webkit", "Moz", "ms"], + ze = E.createElement("div").style, + Ue = {}; + function Xe(e) { + var t = S.cssProps[e] || Ue[e]; + return ( + t || + (e in ze + ? e + : (Ue[e] = + (function (e) { + var t = e[0].toUpperCase() + e.slice(1), + n = _e.length; + while (n--) if ((e = _e[n] + t) in ze) return e; + })(e) || e)) + ); + } + var Ve = /^(none|table(?!-c[ea]).+)/, + Ge = /^--/, + Ye = { position: "absolute", visibility: "hidden", display: "block" }, + Qe = { letterSpacing: "0", fontWeight: "400" }; + function Je(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; + } + function Ke(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + u = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) + "margin" === n && (u += S.css(e, n + ne[a], !0, i)), + r + ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), + "margin" !== n && + (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) + : ((u += S.css(e, "padding" + ne[a], !0, i)), + "padding" !== n + ? (u += S.css(e, "border" + ne[a] + "Width", !0, i)) + : (s += S.css(e, "border" + ne[a] + "Width", !0, i))); + return ( + !r && + 0 <= o && + (u += + Math.max( + 0, + Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - 0.5 + ) + ) || 0), + u + ); + } + function Ze(e, t, n) { + var r = Ie(e), + i = + (!y.boxSizingReliable() || n) && + "border-box" === S.css(e, "boxSizing", !1, r), + o = i, + a = Be(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Me.test(a)) { + if (!n) return a; + a = "auto"; + } + return ( + ((!y.boxSizingReliable() && i) || + (!y.reliableTrDimensions() && A(e, "tr")) || + "auto" === a || + (!parseFloat(a) && "inline" === S.css(e, "display", !1, r))) && + e.getClientRects().length && + ((i = "border-box" === S.css(e, "boxSizing", !1, r)), + (o = s in e) && (a = e[s])), + (a = parseFloat(a) || 0) + + Ke(e, t, n || (i ? "border" : "content"), o, r, a) + + "px" + ); + } + function et(e, t, n, r, i) { + return new et.prototype.init(e, t, n, r, i); + } + S.extend({ + cssHooks: { + opacity: { + get: function (e, t) { + if (t) { + var n = Be(e, "opacity"); + return "" === n ? "1" : n; + } + }, + }, + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0, + }, + cssProps: {}, + style: function (e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, + o, + a, + s = X(t), + u = Ge.test(t), + l = e.style; + if ( + (u || (t = Xe(s)), (a = S.cssHooks[t] || S.cssHooks[s]), void 0 === n) + ) + return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; + "string" === (o = typeof n) && + (i = te.exec(n)) && + i[1] && + ((n = se(e, t, i)), (o = "number")), + null != n && + n == n && + ("number" !== o || + u || + (n += (i && i[3]) || (S.cssNumber[s] ? "" : "px")), + y.clearCloneStyle || + "" !== n || + 0 !== t.indexOf("background") || + (l[t] = "inherit"), + (a && "set" in a && void 0 === (n = a.set(e, n, r))) || + (u ? l.setProperty(t, n) : (l[t] = n))); + } + }, + css: function (e, t, n, r) { + var i, + o, + a, + s = X(t); + return ( + Ge.test(t) || (t = Xe(s)), + (a = S.cssHooks[t] || S.cssHooks[s]) && + "get" in a && + (i = a.get(e, !0, n)), + void 0 === i && (i = Be(e, t, r)), + "normal" === i && t in Qe && (i = Qe[t]), + "" === n || n + ? ((o = parseFloat(i)), !0 === n || isFinite(o) ? o || 0 : i) + : i + ); + }, + }), + S.each(["height", "width"], function (e, u) { + S.cssHooks[u] = { + get: function (e, t, n) { + if (t) + return !Ve.test(S.css(e, "display")) || + (e.getClientRects().length && e.getBoundingClientRect().width) + ? Ze(e, u, n) + : We(e, Ye, function () { + return Ze(e, u, n); + }); + }, + set: function (e, t, n) { + var r, + i = Ie(e), + o = !y.scrollboxSize() && "absolute" === i.position, + a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), + s = n ? Ke(e, u, n, a, i) : 0; + return ( + a && + o && + (s -= Math.ceil( + e["offset" + u[0].toUpperCase() + u.slice(1)] - + parseFloat(i[u]) - + Ke(e, u, "border", !1, i) - + 0.5 + )), + s && + (r = te.exec(t)) && + "px" !== (r[3] || "px") && + ((e.style[u] = t), (t = S.css(e, u))), + Je(0, t, s) + ); + }, + }; + }), + (S.cssHooks.marginLeft = $e(y.reliableMarginLeft, function (e, t) { + if (t) + return ( + (parseFloat(Be(e, "marginLeft")) || + e.getBoundingClientRect().left - + We(e, { marginLeft: 0 }, function () { + return e.getBoundingClientRect().left; + })) + "px" + ); + })), + S.each({ margin: "", padding: "", border: "Width" }, function (i, o) { + (S.cssHooks[i + o] = { + expand: function (e) { + for ( + var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; + t < 4; + t++ + ) + n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; + return n; + }, + }), + "margin" !== i && (S.cssHooks[i + o].set = Je); + }), + S.fn.extend({ + css: function (e, t) { + return $( + this, + function (e, t, n) { + var r, + i, + o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Ie(e), i = t.length; a < i; a++) + o[t[a]] = S.css(e, t[a], !1, r); + return o; + } + return void 0 !== n ? S.style(e, t, n) : S.css(e, t); + }, + e, + t, + 1 < arguments.length + ); + }, + }), + (((S.Tween = et).prototype = { + constructor: et, + init: function (e, t, n, r, i, o) { + (this.elem = e), + (this.prop = n), + (this.easing = i || S.easing._default), + (this.options = t), + (this.start = this.now = this.cur()), + (this.end = r), + (this.unit = o || (S.cssNumber[n] ? "" : "px")); + }, + cur: function () { + var e = et.propHooks[this.prop]; + return e && e.get ? e.get(this) : et.propHooks._default.get(this); + }, + run: function (e) { + var t, + n = et.propHooks[this.prop]; + return ( + this.options.duration + ? (this.pos = t = S.easing[this.easing]( + e, + this.options.duration * e, + 0, + 1, + this.options.duration + )) + : (this.pos = t = e), + (this.now = (this.end - this.start) * t + this.start), + this.options.step && + this.options.step.call(this.elem, this.now, this), + n && n.set ? n.set(this) : et.propHooks._default.set(this), + this + ); + }, + }).init.prototype = et.prototype), + ((et.propHooks = { + _default: { + get: function (e) { + var t; + return 1 !== e.elem.nodeType || + (null != e.elem[e.prop] && null == e.elem.style[e.prop]) + ? e.elem[e.prop] + : (t = S.css(e.elem, e.prop, "")) && "auto" !== t + ? t + : 0; + }, + set: function (e) { + S.fx.step[e.prop] + ? S.fx.step[e.prop](e) + : 1 !== e.elem.nodeType || + (!S.cssHooks[e.prop] && null == e.elem.style[Xe(e.prop)]) + ? (e.elem[e.prop] = e.now) + : S.style(e.elem, e.prop, e.now + e.unit); + }, + }, + }).scrollTop = et.propHooks.scrollLeft = { + set: function (e) { + e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); + }, + }), + (S.easing = { + linear: function (e) { + return e; + }, + swing: function (e) { + return 0.5 - Math.cos(e * Math.PI) / 2; + }, + _default: "swing", + }), + (S.fx = et.prototype.init), + (S.fx.step = {}); + var tt, + nt, + rt, + it, + ot = /^(?:toggle|show|hide)$/, + at = /queueHooks$/; + function st() { + nt && + (!1 === E.hidden && C.requestAnimationFrame + ? C.requestAnimationFrame(st) + : C.setTimeout(st, S.fx.interval), + S.fx.tick()); + } + function ut() { + return ( + C.setTimeout(function () { + tt = void 0; + }), + (tt = Date.now()) + ); + } + function lt(e, t) { + var n, + r = 0, + i = { height: e }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) + i["margin" + (n = ne[r])] = i["padding" + n] = e; + return t && (i.opacity = i.width = e), i; + } + function ct(e, t, n) { + for ( + var r, + i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), + o = 0, + a = i.length; + o < a; + o++ + ) + if ((r = i[o].call(n, t, e))) return r; + } + function ft(o, e, t) { + var n, + a, + r = 0, + i = ft.prefilters.length, + s = S.Deferred().always(function () { + delete u.elem; + }), + u = function () { + if (a) return !1; + for ( + var e = tt || ut(), + t = Math.max(0, l.startTime + l.duration - e), + n = 1 - (t / l.duration || 0), + r = 0, + i = l.tweens.length; + r < i; + r++ + ) + l.tweens[r].run(n); + return ( + s.notifyWith(o, [l, n, t]), + n < 1 && i + ? t + : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) + ); + }, + l = s.promise({ + elem: o, + props: S.extend({}, e), + opts: S.extend(!0, { specialEasing: {}, easing: S.easing._default }, t), + originalProperties: e, + originalOptions: t, + startTime: tt || ut(), + duration: t.duration, + tweens: [], + createTween: function (e, t) { + var n = S.Tween( + o, + l.opts, + e, + t, + l.opts.specialEasing[e] || l.opts.easing + ); + return l.tweens.push(n), n; + }, + stop: function (e) { + var t = 0, + n = e ? l.tweens.length : 0; + if (a) return this; + for (a = !0; t < n; t++) l.tweens[t].run(1); + return ( + e + ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) + : s.rejectWith(o, [l, e]), + this + ); + }, + }), + c = l.props; + for ( + !(function (e, t) { + var n, r, i, o, a; + for (n in e) + if ( + ((i = t[(r = X(n))]), + (o = e[n]), + Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])), + n !== r && ((e[r] = o), delete e[n]), + (a = S.cssHooks[r]) && ("expand" in a)) + ) + for (n in ((o = a.expand(o)), delete e[r], o)) + (n in e) || ((e[n] = o[n]), (t[n] = i)); + else t[r] = i; + })(c, l.opts.specialEasing); + r < i; + r++ + ) + if ((n = ft.prefilters[r].call(l, o, c, l.opts))) + return ( + m(n.stop) && + (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), + n + ); + return ( + S.map(c, ct, l), + m(l.opts.start) && l.opts.start.call(o, l), + l + .progress(l.opts.progress) + .done(l.opts.done, l.opts.complete) + .fail(l.opts.fail) + .always(l.opts.always), + S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })), + l + ); + } + (S.Animation = S.extend(ft, { + tweeners: { + "*": [ + function (e, t) { + var n = this.createTween(e, t); + return se(n.elem, e, te.exec(t), n), n; + }, + ], + }, + tweener: function (e, t) { + m(e) ? ((t = e), (e = ["*"])) : (e = e.match(P)); + for (var n, r = 0, i = e.length; r < i; r++) + (n = e[r]), + (ft.tweeners[n] = ft.tweeners[n] || []), + ft.tweeners[n].unshift(t); + }, + prefilters: [ + function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c, + f = "width" in t || "height" in t, + p = this, + d = {}, + h = e.style, + g = e.nodeType && ae(e), + v = Y.get(e, "fxshow"); + for (r in (n.queue || + (null == (a = S._queueHooks(e, "fx")).unqueued && + ((a.unqueued = 0), + (s = a.empty.fire), + (a.empty.fire = function () { + a.unqueued || s(); + })), + a.unqueued++, + p.always(function () { + p.always(function () { + a.unqueued--, S.queue(e, "fx").length || a.empty.fire(); + }); + })), + t)) + if (((i = t[r]), ot.test(i))) { + if ( + (delete t[r], + (o = o || "toggle" === i), + i === (g ? "hide" : "show")) + ) { + if ("show" !== i || !v || void 0 === v[r]) continue; + g = !0; + } + d[r] = (v && v[r]) || S.style(e, r); + } + if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) + for (r in (f && + 1 === e.nodeType && + ((n.overflow = [h.overflow, h.overflowX, h.overflowY]), + null == (l = v && v.display) && (l = Y.get(e, "display")), + "none" === (c = S.css(e, "display")) && + (l + ? (c = l) + : (le([e], !0), + (l = e.style.display || l), + (c = S.css(e, "display")), + le([e]))), + ("inline" === c || ("inline-block" === c && null != l)) && + "none" === S.css(e, "float") && + (u || + (p.done(function () { + h.display = l; + }), + null == l && ((c = h.display), (l = "none" === c ? "" : c))), + (h.display = "inline-block"))), + n.overflow && + ((h.overflow = "hidden"), + p.always(function () { + (h.overflow = n.overflow[0]), + (h.overflowX = n.overflow[1]), + (h.overflowY = n.overflow[2]); + })), + (u = !1), + d)) + u || + (v + ? "hidden" in v && (g = v.hidden) + : (v = Y.access(e, "fxshow", { display: l })), + o && (v.hidden = !g), + g && le([e], !0), + p.done(function () { + for (r in (g || le([e]), Y.remove(e, "fxshow"), d)) + S.style(e, r, d[r]); + })), + (u = ct(g ? v[r] : 0, r, p)), + r in v || + ((v[r] = u.start), g && ((u.end = u.start), (u.start = 0))); + }, + ], + prefilter: function (e, t) { + t ? ft.prefilters.unshift(e) : ft.prefilters.push(e); + }, + })), + (S.speed = function (e, t, n) { + var r = + e && "object" == typeof e + ? S.extend({}, e) + : { + complete: n || (!n && t) || (m(e) && e), + duration: e, + easing: (n && t) || (t && !m(t) && t), + }; + return ( + S.fx.off + ? (r.duration = 0) + : "number" != typeof r.duration && + (r.duration in S.fx.speeds + ? (r.duration = S.fx.speeds[r.duration]) + : (r.duration = S.fx.speeds._default)), + (null != r.queue && !0 !== r.queue) || (r.queue = "fx"), + (r.old = r.complete), + (r.complete = function () { + m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue); + }), + r + ); + }), + S.fn.extend({ + fadeTo: function (e, t, n, r) { + return this.filter(ae) + .css("opacity", 0) + .show() + .end() + .animate({ opacity: t }, e, n, r); + }, + animate: function (t, e, n, r) { + var i = S.isEmptyObject(t), + o = S.speed(e, n, r), + a = function () { + var e = ft(this, S.extend({}, t), o); + (i || Y.get(this, "finish")) && e.stop(!0); + }; + return ( + (a.finish = a), + i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + ); + }, + stop: function (i, e, o) { + var a = function (e) { + var t = e.stop; + delete e.stop, t(o); + }; + return ( + "string" != typeof i && ((o = e), (e = i), (i = void 0)), + e && this.queue(i || "fx", []), + this.each(function () { + var e = !0, + t = null != i && i + "queueHooks", + n = S.timers, + r = Y.get(this); + if (t) r[t] && r[t].stop && a(r[t]); + else for (t in r) r[t] && r[t].stop && at.test(t) && a(r[t]); + for (t = n.length; t--; ) + n[t].elem !== this || + (null != i && n[t].queue !== i) || + (n[t].anim.stop(o), (e = !1), n.splice(t, 1)); + (!e && o) || S.dequeue(this, i); + }) + ); + }, + finish: function (a) { + return ( + !1 !== a && (a = a || "fx"), + this.each(function () { + var e, + t = Y.get(this), + n = t[a + "queue"], + r = t[a + "queueHooks"], + i = S.timers, + o = n ? n.length : 0; + for ( + t.finish = !0, + S.queue(this, a, []), + r && r.stop && r.stop.call(this, !0), + e = i.length; + e--; + + ) + i[e].elem === this && + i[e].queue === a && + (i[e].anim.stop(!0), i.splice(e, 1)); + for (e = 0; e < o; e++) + n[e] && n[e].finish && n[e].finish.call(this); + delete t.finish; + }) + ); + }, + }), + S.each(["toggle", "show", "hide"], function (e, r) { + var i = S.fn[r]; + S.fn[r] = function (e, t, n) { + return null == e || "boolean" == typeof e + ? i.apply(this, arguments) + : this.animate(lt(r, !0), e, t, n); + }; + }), + S.each( + { + slideDown: lt("show"), + slideUp: lt("hide"), + slideToggle: lt("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" }, + }, + function (e, r) { + S.fn[e] = function (e, t, n) { + return this.animate(r, e, t, n); + }; + } + ), + (S.timers = []), + (S.fx.tick = function () { + var e, + t = 0, + n = S.timers; + for (tt = Date.now(); t < n.length; t++) + (e = n[t])() || n[t] !== e || n.splice(t--, 1); + n.length || S.fx.stop(), (tt = void 0); + }), + (S.fx.timer = function (e) { + S.timers.push(e), S.fx.start(); + }), + (S.fx.interval = 13), + (S.fx.start = function () { + nt || ((nt = !0), st()); + }), + (S.fx.stop = function () { + nt = null; + }), + (S.fx.speeds = { slow: 600, fast: 200, _default: 400 }), + (S.fn.delay = function (r, e) { + return ( + (r = (S.fx && S.fx.speeds[r]) || r), + (e = e || "fx"), + this.queue(e, function (e, t) { + var n = C.setTimeout(e, r); + t.stop = function () { + C.clearTimeout(n); + }; + }) + ); + }), + (rt = E.createElement("input")), + (it = E.createElement("select").appendChild(E.createElement("option"))), + (rt.type = "checkbox"), + (y.checkOn = "" !== rt.value), + (y.optSelected = it.selected), + ((rt = E.createElement("input")).value = "t"), + (rt.type = "radio"), + (y.radioValue = "t" === rt.value); + var pt, + dt = S.expr.attrHandle; + S.fn.extend({ + attr: function (e, t) { + return $(this, S.attr, e, t, 1 < arguments.length); + }, + removeAttr: function (e) { + return this.each(function () { + S.removeAttr(this, e); + }); + }, + }), + S.extend({ + attr: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return "undefined" == typeof e.getAttribute + ? S.prop(e, t, n) + : ((1 === o && S.isXMLDoc(e)) || + (i = + S.attrHooks[t.toLowerCase()] || + (S.expr.match.bool.test(t) ? pt : void 0)), + void 0 !== n + ? null === n + ? void S.removeAttr(e, t) + : i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e.setAttribute(t, n + ""), n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : null == (r = S.find.attr(e, t)) + ? void 0 + : r); + }, + attrHooks: { + type: { + set: function (e, t) { + if (!y.radioValue && "radio" === t && A(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t; + } + }, + }, + }, + removeAttr: function (e, t) { + var n, + r = 0, + i = t && t.match(P); + if (i && 1 === e.nodeType) while ((n = i[r++])) e.removeAttribute(n); + }, + }), + (pt = { + set: function (e, t, n) { + return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n; + }, + }), + S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { + var a = dt[t] || S.find.attr; + dt[t] = function (e, t, n) { + var r, + i, + o = t.toLowerCase(); + return ( + n || + ((i = dt[o]), + (dt[o] = r), + (r = null != a(e, t, n) ? o : null), + (dt[o] = i)), + r + ); + }; + }); + var ht = /^(?:input|select|textarea|button)$/i, + gt = /^(?:a|area)$/i; + function vt(e) { + return (e.match(P) || []).join(" "); + } + function yt(e) { + return (e.getAttribute && e.getAttribute("class")) || ""; + } + function mt(e) { + return Array.isArray(e) ? e : ("string" == typeof e && e.match(P)) || []; + } + S.fn.extend({ + prop: function (e, t) { + return $(this, S.prop, e, t, 1 < arguments.length); + }, + removeProp: function (e) { + return this.each(function () { + delete this[S.propFix[e] || e]; + }); + }, + }), + S.extend({ + prop: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return ( + (1 === o && S.isXMLDoc(e)) || + ((t = S.propFix[t] || t), (i = S.propHooks[t])), + void 0 !== n + ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e[t] = n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : e[t] + ); + }, + propHooks: { + tabIndex: { + get: function (e) { + var t = S.find.attr(e, "tabindex"); + return t + ? parseInt(t, 10) + : ht.test(e.nodeName) || (gt.test(e.nodeName) && e.href) + ? 0 + : -1; + }, + }, + }, + propFix: { for: "htmlFor", class: "className" }, + }), + y.optSelected || + (S.propHooks.selected = { + get: function (e) { + var t = e.parentNode; + return t && t.parentNode && t.parentNode.selectedIndex, null; + }, + set: function (e) { + var t = e.parentNode; + t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); + }, + }), + S.each( + [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable", + ], + function () { + S.propFix[this.toLowerCase()] = this; + } + ), + S.fn.extend({ + addClass: function (t) { + var e, + n, + r, + i, + o, + a, + s, + u = 0; + if (m(t)) + return this.each(function (e) { + S(this).addClass(t.call(this, e, yt(this))); + }); + if ((e = mt(t)).length) + while ((n = this[u++])) + if (((i = yt(n)), (r = 1 === n.nodeType && " " + vt(i) + " "))) { + a = 0; + while ((o = e[a++])) + r.indexOf(" " + o + " ") < 0 && (r += o + " "); + i !== (s = vt(r)) && n.setAttribute("class", s); + } + return this; + }, + removeClass: function (t) { + var e, + n, + r, + i, + o, + a, + s, + u = 0; + if (m(t)) + return this.each(function (e) { + S(this).removeClass(t.call(this, e, yt(this))); + }); + if (!arguments.length) return this.attr("class", ""); + if ((e = mt(t)).length) + while ((n = this[u++])) + if (((i = yt(n)), (r = 1 === n.nodeType && " " + vt(i) + " "))) { + a = 0; + while ((o = e[a++])) + while (-1 < r.indexOf(" " + o + " ")) + r = r.replace(" " + o + " ", " "); + i !== (s = vt(r)) && n.setAttribute("class", s); + } + return this; + }, + toggleClass: function (i, t) { + var o = typeof i, + a = "string" === o || Array.isArray(i); + return "boolean" == typeof t && a + ? t + ? this.addClass(i) + : this.removeClass(i) + : m(i) + ? this.each(function (e) { + S(this).toggleClass(i.call(this, e, yt(this), t), t); + }) + : this.each(function () { + var e, t, n, r; + if (a) { + (t = 0), (n = S(this)), (r = mt(i)); + while ((e = r[t++])) + n.hasClass(e) ? n.removeClass(e) : n.addClass(e); + } else (void 0 !== i && "boolean" !== o) || ((e = yt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")); + }); + }, + hasClass: function (e) { + var t, + n, + r = 0; + t = " " + e + " "; + while ((n = this[r++])) + if (1 === n.nodeType && -1 < (" " + vt(yt(n)) + " ").indexOf(t)) + return !0; + return !1; + }, + }); + var xt = /\r/g; + S.fn.extend({ + val: function (n) { + var r, + e, + i, + t = this[0]; + return arguments.length + ? ((i = m(n)), + this.each(function (e) { + var t; + 1 === this.nodeType && + (null == (t = i ? n.call(this, e, S(this).val()) : n) + ? (t = "") + : "number" == typeof t + ? (t += "") + : Array.isArray(t) && + (t = S.map(t, function (e) { + return null == e ? "" : e + ""; + })), + ((r = + S.valHooks[this.type] || + S.valHooks[this.nodeName.toLowerCase()]) && + "set" in r && + void 0 !== r.set(this, t, "value")) || + (this.value = t)); + })) + : t + ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && + "get" in r && + void 0 !== (e = r.get(t, "value")) + ? e + : "string" == typeof (e = t.value) + ? e.replace(xt, "") + : null == e + ? "" + : e + : void 0; + }, + }), + S.extend({ + valHooks: { + option: { + get: function (e) { + var t = S.find.attr(e, "value"); + return null != t ? t : vt(S.text(e)); + }, + }, + select: { + get: function (e) { + var t, + n, + r, + i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + u = a ? o + 1 : i.length; + for (r = o < 0 ? u : a ? o : 0; r < u; r++) + if ( + ((n = i[r]).selected || r === o) && + !n.disabled && + (!n.parentNode.disabled || !A(n.parentNode, "optgroup")) + ) { + if (((t = S(n).val()), a)) return t; + s.push(t); + } + return s; + }, + set: function (e, t) { + var n, + r, + i = e.options, + o = S.makeArray(t), + a = i.length; + while (a--) + ((r = i[a]).selected = + -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); + return n || (e.selectedIndex = -1), o; + }, + }, + }, + }), + S.each(["radio", "checkbox"], function () { + (S.valHooks[this] = { + set: function (e, t) { + if (Array.isArray(t)) + return (e.checked = -1 < S.inArray(S(e).val(), t)); + }, + }), + y.checkOn || + (S.valHooks[this].get = function (e) { + return null === e.getAttribute("value") ? "on" : e.value; + }); + }), + (y.focusin = "onfocusin" in C); + var bt = /^(?:focusinfocus|focusoutblur)$/, + wt = function (e) { + e.stopPropagation(); + }; + S.extend(S.event, { + trigger: function (e, t, n, r) { + var i, + o, + a, + s, + u, + l, + c, + f, + p = [n || E], + d = v.call(e, "type") ? e.type : e, + h = v.call(e, "namespace") ? e.namespace.split(".") : []; + if ( + ((o = f = a = n = n || E), + 3 !== n.nodeType && + 8 !== n.nodeType && + !bt.test(d + S.event.triggered) && + (-1 < d.indexOf(".") && ((d = (h = d.split(".")).shift()), h.sort()), + (u = d.indexOf(":") < 0 && "on" + d), + ((e = e[S.expando] + ? e + : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3), + (e.namespace = h.join(".")), + (e.rnamespace = e.namespace + ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") + : null), + (e.result = void 0), + e.target || (e.target = n), + (t = null == t ? [e] : S.makeArray(t, [e])), + (c = S.event.special[d] || {}), + r || !c.trigger || !1 !== c.trigger.apply(n, t))) + ) { + if (!r && !c.noBubble && !x(n)) { + for ( + s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); + o; + o = o.parentNode + ) + p.push(o), (a = o); + a === (n.ownerDocument || E) && + p.push(a.defaultView || a.parentWindow || C); + } + i = 0; + while ((o = p[i++]) && !e.isPropagationStopped()) + (f = o), + (e.type = 1 < i ? s : c.bindType || d), + (l = + (Y.get(o, "events") || Object.create(null))[e.type] && + Y.get(o, "handle")) && l.apply(o, t), + (l = u && o[u]) && + l.apply && + V(o) && + ((e.result = l.apply(o, t)), + !1 === e.result && e.preventDefault()); + return ( + (e.type = d), + r || + e.isDefaultPrevented() || + (c._default && !1 !== c._default.apply(p.pop(), t)) || + !V(n) || + (u && + m(n[d]) && + !x(n) && + ((a = n[u]) && (n[u] = null), + (S.event.triggered = d), + e.isPropagationStopped() && f.addEventListener(d, wt), + n[d](), + e.isPropagationStopped() && f.removeEventListener(d, wt), + (S.event.triggered = void 0), + a && (n[u] = a))), + e.result + ); + } + }, + simulate: function (e, t, n) { + var r = S.extend(new S.Event(), n, { type: e, isSimulated: !0 }); + S.event.trigger(r, null, t); + }, + }), + S.fn.extend({ + trigger: function (e, t) { + return this.each(function () { + S.event.trigger(e, t, this); + }); + }, + triggerHandler: function (e, t) { + var n = this[0]; + if (n) return S.event.trigger(e, t, n, !0); + }, + }), + y.focusin || + S.each({ focus: "focusin", blur: "focusout" }, function (n, r) { + var i = function (e) { + S.event.simulate(r, e.target, S.event.fix(e)); + }; + S.event.special[r] = { + setup: function () { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r); + t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1); + }, + teardown: function () { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r) - 1; + t + ? Y.access(e, r, t) + : (e.removeEventListener(n, i, !0), Y.remove(e, r)); + }, + }; + }); + var Tt = C.location, + Ct = { guid: Date.now() }, + Et = /\?/; + S.parseXML = function (e) { + var t; + if (!e || "string" != typeof e) return null; + try { + t = new C.DOMParser().parseFromString(e, "text/xml"); + } catch (e) { + t = void 0; + } + return ( + (t && !t.getElementsByTagName("parsererror").length) || + S.error("Invalid XML: " + e), + t + ); + }; + var St = /\[\]$/, + kt = /\r?\n/g, + At = /^(?:submit|button|image|reset|file)$/i, + Nt = /^(?:input|select|textarea|keygen)/i; + function Dt(n, e, r, i) { + var t; + if (Array.isArray(e)) + S.each(e, function (e, t) { + r || St.test(n) + ? i(n, t) + : Dt( + n + "[" + ("object" == typeof t && null != t ? e : "") + "]", + t, + r, + i + ); + }); + else if (r || "object" !== w(e)) i(n, e); + else for (t in e) Dt(n + "[" + t + "]", e[t], r, i); + } + (S.param = function (e, t) { + var n, + r = [], + i = function (e, t) { + var n = m(t) ? t() : t; + r[r.length] = + encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n); + }; + if (null == e) return ""; + if (Array.isArray(e) || (e.jquery && !S.isPlainObject(e))) + S.each(e, function () { + i(this.name, this.value); + }); + else for (n in e) Dt(n, e[n], t, i); + return r.join("&"); + }), + S.fn.extend({ + serialize: function () { + return S.param(this.serializeArray()); + }, + serializeArray: function () { + return this.map(function () { + var e = S.prop(this, "elements"); + return e ? S.makeArray(e) : this; + }) + .filter(function () { + var e = this.type; + return ( + this.name && + !S(this).is(":disabled") && + Nt.test(this.nodeName) && + !At.test(e) && + (this.checked || !pe.test(e)) + ); + }) + .map(function (e, t) { + var n = S(this).val(); + return null == n + ? null + : Array.isArray(n) + ? S.map(n, function (e) { + return { name: t.name, value: e.replace(kt, "\r\n") }; + }) + : { name: t.name, value: n.replace(kt, "\r\n") }; + }) + .get(); + }, + }); + var jt = /%20/g, + qt = /#.*$/, + Lt = /([?&])_=[^&]*/, + Ht = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Ot = /^(?:GET|HEAD)$/, + Pt = /^\/\//, + Rt = {}, + Mt = {}, + It = "*/".concat("*"), + Wt = E.createElement("a"); + function Ft(o) { + return function (e, t) { + "string" != typeof e && ((t = e), (e = "*")); + var n, + r = 0, + i = e.toLowerCase().match(P) || []; + if (m(t)) + while ((n = i[r++])) + "+" === n[0] + ? ((n = n.slice(1) || "*"), (o[n] = o[n] || []).unshift(t)) + : (o[n] = o[n] || []).push(t); + }; + } + function Bt(t, i, o, a) { + var s = {}, + u = t === Mt; + function l(e) { + var r; + return ( + (s[e] = !0), + S.each(t[e] || [], function (e, t) { + var n = t(i, o, a); + return "string" != typeof n || u || s[n] + ? u + ? !(r = n) + : void 0 + : (i.dataTypes.unshift(n), l(n), !1); + }), + r + ); + } + return l(i.dataTypes[0]) || (!s["*"] && l("*")); + } + function $t(e, t) { + var n, + r, + i = S.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return r && S.extend(!0, e, r), e; + } + (Wt.href = Tt.href), + S.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: Tt.href, + type: "GET", + isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( + Tt.protocol + ), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": It, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript", + }, + contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON", + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": S.parseXML, + }, + flatOptions: { url: !0, context: !0 }, + }, + ajaxSetup: function (e, t) { + return t ? $t($t(e, S.ajaxSettings), t) : $t(S.ajaxSettings, e); + }, + ajaxPrefilter: Ft(Rt), + ajaxTransport: Ft(Mt), + ajax: function (e, t) { + "object" == typeof e && ((t = e), (e = void 0)), (t = t || {}); + var c, + f, + p, + n, + d, + r, + h, + g, + i, + o, + v = S.ajaxSetup({}, t), + y = v.context || v, + m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, + x = S.Deferred(), + b = S.Callbacks("once memory"), + w = v.statusCode || {}, + a = {}, + s = {}, + u = "canceled", + T = { + readyState: 0, + getResponseHeader: function (e) { + var t; + if (h) { + if (!n) { + n = {}; + while ((t = Ht.exec(p))) + n[t[1].toLowerCase() + " "] = ( + n[t[1].toLowerCase() + " "] || [] + ).concat(t[2]); + } + t = n[e.toLowerCase() + " "]; + } + return null == t ? null : t.join(", "); + }, + getAllResponseHeaders: function () { + return h ? p : null; + }, + setRequestHeader: function (e, t) { + return ( + null == h && + ((e = s[e.toLowerCase()] = s[e.toLowerCase()] || e), + (a[e] = t)), + this + ); + }, + overrideMimeType: function (e) { + return null == h && (v.mimeType = e), this; + }, + statusCode: function (e) { + var t; + if (e) + if (h) T.always(e[T.status]); + else for (t in e) w[t] = [w[t], e[t]]; + return this; + }, + abort: function (e) { + var t = e || u; + return c && c.abort(t), l(0, t), this; + }, + }; + if ( + (x.promise(T), + (v.url = ((e || v.url || Tt.href) + "").replace( + Pt, + Tt.protocol + "//" + )), + (v.type = t.method || t.type || v.method || v.type), + (v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""]), + null == v.crossDomain) + ) { + r = E.createElement("a"); + try { + (r.href = v.url), + (r.href = r.href), + (v.crossDomain = + Wt.protocol + "//" + Wt.host != r.protocol + "//" + r.host); + } catch (e) { + v.crossDomain = !0; + } + } + if ( + (v.data && + v.processData && + "string" != typeof v.data && + (v.data = S.param(v.data, v.traditional)), + Bt(Rt, v, t, T), + h) + ) + return T; + for (i in ((g = S.event && v.global) && + 0 == S.active++ && + S.event.trigger("ajaxStart"), + (v.type = v.type.toUpperCase()), + (v.hasContent = !Ot.test(v.type)), + (f = v.url.replace(qt, "")), + v.hasContent + ? v.data && + v.processData && + 0 === + (v.contentType || "").indexOf( + "application/x-www-form-urlencoded" + ) && + (v.data = v.data.replace(jt, "+")) + : ((o = v.url.slice(f.length)), + v.data && + (v.processData || "string" == typeof v.data) && + ((f += (Et.test(f) ? "&" : "?") + v.data), delete v.data), + !1 === v.cache && + ((f = f.replace(Lt, "$1")), + (o = (Et.test(f) ? "&" : "?") + "_=" + Ct.guid++ + o)), + (v.url = f + o)), + v.ifModified && + (S.lastModified[f] && + T.setRequestHeader("If-Modified-Since", S.lastModified[f]), + S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), + ((v.data && v.hasContent && !1 !== v.contentType) || t.contentType) && + T.setRequestHeader("Content-Type", v.contentType), + T.setRequestHeader( + "Accept", + v.dataTypes[0] && v.accepts[v.dataTypes[0]] + ? v.accepts[v.dataTypes[0]] + + ("*" !== v.dataTypes[0] ? ", " + It + "; q=0.01" : "") + : v.accepts["*"] + ), + v.headers)) + T.setRequestHeader(i, v.headers[i]); + if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) + return T.abort(); + if ( + ((u = "abort"), + b.add(v.complete), + T.done(v.success), + T.fail(v.error), + (c = Bt(Mt, v, t, T))) + ) { + if (((T.readyState = 1), g && m.trigger("ajaxSend", [T, v]), h)) + return T; + v.async && + 0 < v.timeout && + (d = C.setTimeout(function () { + T.abort("timeout"); + }, v.timeout)); + try { + (h = !1), c.send(a, l); + } catch (e) { + if (h) throw e; + l(-1, e); + } + } else l(-1, "No Transport"); + function l(e, t, n, r) { + var i, + o, + a, + s, + u, + l = t; + h || + ((h = !0), + d && C.clearTimeout(d), + (c = void 0), + (p = r || ""), + (T.readyState = 0 < e ? 4 : 0), + (i = (200 <= e && e < 300) || 304 === e), + n && + (s = (function (e, t, n) { + var r, + i, + o, + a, + s = e.contents, + u = e.dataTypes; + while ("*" === u[0]) + u.shift(), + void 0 === r && + (r = e.mimeType || t.getResponseHeader("Content-Type")); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + u.unshift(i); + break; + } + if (u[0] in n) o = u[0]; + else { + for (i in n) { + if (!u[0] || e.converters[i + " " + u[0]]) { + o = i; + break; + } + a || (a = i); + } + o = o || a; + } + if (o) return o !== u[0] && u.unshift(o), n[o]; + })(v, T, n)), + !i && + -1 < S.inArray("script", v.dataTypes) && + (v.converters["text script"] = function () {}), + (s = (function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = {}, + c = e.dataTypes.slice(); + if (c[1]) + for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; + o = c.shift(); + while (o) + if ( + (e.responseFields[o] && (n[e.responseFields[o]] = t), + !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), + (u = o), + (o = c.shift())) + ) + if ("*" === o) o = u; + else if ("*" !== u && u !== o) { + if (!(a = l[u + " " + o] || l["* " + o])) + for (i in l) + if ( + (s = i.split(" "))[1] === o && + (a = l[u + " " + s[0]] || l["* " + s[0]]) + ) { + !0 === a + ? (a = l[i]) + : !0 !== l[i] && ((o = s[0]), c.unshift(s[1])); + break; + } + if (!0 !== a) + if (a && e["throws"]) t = a(t); + else + try { + t = a(t); + } catch (e) { + return { + state: "parsererror", + error: a + ? e + : "No conversion from " + u + " to " + o, + }; + } + } + return { state: "success", data: t }; + })(v, s, T, i)), + i + ? (v.ifModified && + ((u = T.getResponseHeader("Last-Modified")) && + (S.lastModified[f] = u), + (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), + 204 === e || "HEAD" === v.type + ? (l = "nocontent") + : 304 === e + ? (l = "notmodified") + : ((l = s.state), (o = s.data), (i = !(a = s.error)))) + : ((a = l), (!e && l) || ((l = "error"), e < 0 && (e = 0))), + (T.status = e), + (T.statusText = (t || l) + ""), + i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), + T.statusCode(w), + (w = void 0), + g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), + b.fireWith(y, [T, l]), + g && + (m.trigger("ajaxComplete", [T, v]), + --S.active || S.event.trigger("ajaxStop"))); + } + return T; + }, + getJSON: function (e, t, n) { + return S.get(e, t, n, "json"); + }, + getScript: function (e, t) { + return S.get(e, void 0, t, "script"); + }, + }), + S.each(["get", "post"], function (e, i) { + S[i] = function (e, t, n, r) { + return ( + m(t) && ((r = r || n), (n = t), (t = void 0)), + S.ajax( + S.extend( + { url: e, type: i, dataType: r, data: t, success: n }, + S.isPlainObject(e) && e + ) + ) + ); + }; + }), + S.ajaxPrefilter(function (e) { + var t; + for (t in e.headers) + "content-type" === t.toLowerCase() && + (e.contentType = e.headers[t] || ""); + }), + (S._evalUrl = function (e, t, n) { + return S.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { "text script": function () {} }, + dataFilter: function (e) { + S.globalEval(e, t, n); + }, + }); + }), + S.fn.extend({ + wrapAll: function (e) { + var t; + return ( + this[0] && + (m(e) && (e = e.call(this[0])), + (t = S(e, this[0].ownerDocument).eq(0).clone(!0)), + this[0].parentNode && t.insertBefore(this[0]), + t + .map(function () { + var e = this; + while (e.firstElementChild) e = e.firstElementChild; + return e; + }) + .append(this)), + this + ); + }, + wrapInner: function (n) { + return m(n) + ? this.each(function (e) { + S(this).wrapInner(n.call(this, e)); + }) + : this.each(function () { + var e = S(this), + t = e.contents(); + t.length ? t.wrapAll(n) : e.append(n); + }); + }, + wrap: function (t) { + var n = m(t); + return this.each(function (e) { + S(this).wrapAll(n ? t.call(this, e) : t); + }); + }, + unwrap: function (e) { + return ( + this.parent(e) + .not("body") + .each(function () { + S(this).replaceWith(this.childNodes); + }), + this + ); + }, + }), + (S.expr.pseudos.hidden = function (e) { + return !S.expr.pseudos.visible(e); + }), + (S.expr.pseudos.visible = function (e) { + return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); + }), + (S.ajaxSettings.xhr = function () { + try { + return new C.XMLHttpRequest(); + } catch (e) {} + }); + var _t = { 0: 200, 1223: 204 }, + zt = S.ajaxSettings.xhr(); + (y.cors = !!zt && "withCredentials" in zt), + (y.ajax = zt = !!zt), + S.ajaxTransport(function (i) { + var o, a; + if (y.cors || (zt && !i.crossDomain)) + return { + send: function (e, t) { + var n, + r = i.xhr(); + if ( + (r.open(i.type, i.url, i.async, i.username, i.password), + i.xhrFields) + ) + for (n in i.xhrFields) r[n] = i.xhrFields[n]; + for (n in (i.mimeType && + r.overrideMimeType && + r.overrideMimeType(i.mimeType), + i.crossDomain || + e["X-Requested-With"] || + (e["X-Requested-With"] = "XMLHttpRequest"), + e)) + r.setRequestHeader(n, e[n]); + (o = function (e) { + return function () { + o && + ((o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null), + "abort" === e + ? r.abort() + : "error" === e + ? "number" != typeof r.status + ? t(0, "error") + : t(r.status, r.statusText) + : t( + _t[r.status] || r.status, + r.statusText, + "text" !== (r.responseType || "text") || + "string" != typeof r.responseText + ? { binary: r.response } + : { text: r.responseText }, + r.getAllResponseHeaders() + )); + }; + }), + (r.onload = o()), + (a = r.onerror = r.ontimeout = o("error")), + void 0 !== r.onabort + ? (r.onabort = a) + : (r.onreadystatechange = function () { + 4 === r.readyState && + C.setTimeout(function () { + o && a(); + }); + }), + (o = o("abort")); + try { + r.send((i.hasContent && i.data) || null); + } catch (e) { + if (o) throw e; + } + }, + abort: function () { + o && o(); + }, + }; + }), + S.ajaxPrefilter(function (e) { + e.crossDomain && (e.contents.script = !1); + }), + S.ajaxSetup({ + accepts: { + script: + "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript", + }, + contents: { script: /\b(?:java|ecma)script\b/ }, + converters: { + "text script": function (e) { + return S.globalEval(e), e; + }, + }, + }), + S.ajaxPrefilter("script", function (e) { + void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET"); + }), + S.ajaxTransport("script", function (n) { + var r, i; + if (n.crossDomain || n.scriptAttrs) + return { + send: function (e, t) { + (r = S("