Ctrl
/ CMD
+ F
للبحث عن مفتاح التهيئة أو القيمة."
+homepage = "الصفحة الرئيسية"
+instead = "بدلاً من ذلك"
+item_class = "إدراج فئة CSS"
+item_slug = "إدراج عنوان URL للرابط"
+now = "الآن"
+of = "of"
+optional = "اختياري"
+post_your_post_slug = "/ نشر / your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = " نصائح احترافية: u> يمكنك إنشاء مفتاح تهيئة مخصص وطباعة قيمة مفتاح التهيئة في أي مكان في القالب."
+read_more = "اقرأ المزيد"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/ سنة / شهر / your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/da_DK.ini b/lang/da_DK.ini
new file mode 100755
index 0000000..dd18563
--- /dev/null
+++ b/lang/da_DK.ini
@@ -0,0 +1,343 @@
+about = "Om"
+add_category = "Tilføj kategori"
+add_content = "Tilføj"
+add_link = "Tilføj link"
+add_menu = "Tilføj menu"
+add_new_page = "Tilføj ny side"
+add_new_post = "Tilføj nyt indlæg"
+add_source_link_optional = "Tilføj link til kilde (valgfrit)"
+add_sub = "Ny underside"
+address_url = "Adresse (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Admin-panelets design er baseret på"
+all_blog_posts = "Alle blogindlæg"
+all_cache_has_been_deleted = "Hele cachen er blevet ryddet!"
+all_posts_tagged = "Alle indlæg tagget"
+archive = "Arkiv"
+archive_for = "Arkiv for"
+archive_page_for = "Arkivside for"
+archives = "Arkiver"
+are_you_sure_you_want_to_delete_ = "Er du sikker på, at du ønsker at slette %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Lige nu bruger du den autogenererede menu."
+audio_post = "Lydindlæg"
+audio_post_comment = "Opret indlæg med lydklip"
+author = "Forfatter"
+author_description = "Bare endnu en HTMLy-bruger"
+back_to = "Tilbage til"
+backup = "Backup"
+blog_description = "Skriv et par linier om din blog."
+blog_theme = "Blog-tema"
+blog_title = "Blogtitel"
+blog_title_placeholder = "Min HTMLy-blog"
+blog_posts_displayed_as = "Blogindlæg vist som"
+breadcrumb_home_text = "Breadcrumb-tekst for Hjem"
+by = "af"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Ved at bruge importværktøjet angiver du, at dette feed er dit, eller du har ret til at videreudgive det."
+css_class_optional = "CSS-klasse (valgfrit)"
+cache_expiration = "Cache-udløb (i timer)"
+cache_off = "Cache deaktiveret"
+cache_timestamp = "Cache-tidsstempel"
+cancel = "Afbryd"
+cannot_read_feed_content = "Kan ikke indlæse feed-indhold"
+captcha_error = "reCaptcha ikke korrekt"
+categories = "Kategorier"
+category = "Kategori"
+check_update = "Check opdateringer"
+clear_cache = "Ryd cache"
+comma_separated_values = "Kommaseparerede værdier (CSV)"
+comment_system = "Kommentarsystem"
+comments = "kommentarer"
+config = "Konfiguration"
+congrats_you_have_the_latest_version_of_htmly = "Tillykke! Du har den seneste version af HTMLy."
+content = "Indhold"
+contents = "Indhold"
+continue_reading = "Læs videre"
+copyright_line = "Copyright-linje"
+copyright_line_placeholder = "(c) Dit navn."
+create_backup = "Opret backup"
+created = "Oprettet"
+custom = "Særligt defineret"
+custom_settings = "Særligt definerede indstillinger"
+dashboard = "Dashboard"
+date = "Dato"
+date_format = "Datoformat"
+delete = "Slet"
+description = "Beskrivelse"
+design_by = "Designet af"
+disable = "Deaktiver"
+disabled = "Deaktiveret"
+disqus_shortname = "Disqus-navn (shortname)"
+disqus_shortname_placeholder = "htmly"
+draft = "Udkast"
+edit = "Rediger"
+edit_category = "Rediger kategori"
+edit_post = "Rediger indlæg"
+edit_profile = "Rediger profil"
+enable = "Aktiver"
+enable_blog_url = "Aktiver blog-URL"
+enter_image_url = "Indtast billede-URL"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook-side"
+featured_audio = "Fremhævet lydklip"
+featured_image = "Fremhævet billede"
+featured_link = "Fremhævet link"
+featured_quote = "Fremhævet citat"
+featured_video = "Fremhævet videoklip"
+feed_url = "Feed-URL"
+filename = "Filnavn"
+follow = "Følg"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Visning på forside"
+full_post = "Fuldt indlæg"
+general = "Generelt"
+general_settings = "Generelle indstillinger"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Hjem"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Hvis denne ikke udfyldes, vil der blive indsat et uddrag fra indlægget nedenfor"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Hvis URL ikke udfyldes, vil sidens navn blive anvendt"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Hvis URL ikke udfyldes, vil indlæggets titel blive anvendt"
+image_post = "Billedindlæg"
+image_post_comment = "Opret indlæg med billede"
+import = "Importer"
+import_feed = "Start import af feed"
+import_rss = "Importer RSS"
+import_rss_feed_2.0 = "Importer RSS Feed 2.0"
+insert_image = "Indsæt billede"
+invalid_error = "FEJL: Ugyldigt navn og adgangskode"
+language = "Systemsprog"
+link_name = "Navn på link"
+link_post = "Linkindlæg"
+link_post_comment = "Opret indlæg med link"
+login = "Login"
+login_page = "Login-side"
+logout = "Log ud"
+menu = "Menu"
+menus = "Menu-editor"
+meta_description = "Metabeskrivelse"
+meta_description_character = "Metabeskrivelse - antal tegn"
+metatags = "Metatags"
+metatags_settings = "Metatag-indstillinger"
+mine = "Mine"
+more = "Mere"
+my_draft = "Mine udkast"
+my_posts = "Mine indlæg"
+name = "Navn"
+newer = "Nyere"
+newer_posts = "Nyere indlæg"
+next = "Næste"
+next_post = "Næste indlæg"
+no_available_backup = "Der er ingen backups til rådighed."
+no_draft_found = "Der er ikke fundet nogen udkast"
+no_newer_posts = "Ingen nyere indlæg"
+no_older_posts = "Ingen ældre indlæg"
+no_posts_found = "Der er ikke fundet nogen indlæg"
+no_related_post_found = "Der er ikke fundet nogen relaterede indlæg"
+no_scheduled_posts_found = "Der er ikke fundet nogen planlagte indlæg"
+no_search_results = "Ingen søgeresultater"
+nope = "Nej"
+not = "Ikke deaktiveret"
+older = "Ældre"
+older_posts = "Ældre indlæg"
+only = "Kun"
+operations = "Operationer"
+page = "Side"
+page_generation_time = "Tid til at generere side"
+pages = "Sider"
+pass_error = "Adgangskode påkrævet"
+password = "Adgangskode"
+performance = "Ydelse"
+performance_settings = "Indstillinger for ydelse"
+permalink = "Permalink"
+popular = "Populært"
+popular_posts = "Populære indlæg"
+popular_posts_widget = "Widget med populære indlæg"
+popular_posts_widget_at_most = "Widget med populære indlæg maksimalt"
+popular_tags = "Populære tags"
+post_by_author = "Indlæg af denne forfatter"
+posted_in = "Indlæg i"
+posted_on = "Indlæg den"
+posts = "Indlæg"
+posts_by = "Indlæg af"
+posts_draft = "Udkast til indlæg"
+posts_in_archive_page_at_most = "Indlæg på Arkivsiden maksimalt"
+posts_in_category_page_at_most = "Indlæg på Kategorisiden maksimalt"
+posts_in_front_page_show_at_most = "Indlæg på forsiden maksimalt"
+posts_in_profile_page_at_most = "Indlæg på profilsiden maksimalt"
+posts_in_search_result_at_most = "Indlæg på listen over søgeresultater maksimalt"
+posts_in_tag_page_at_most = "Indlæg på tag-side maksimalt"
+posts_in_type_page_at_most = "Indlæg på type-side maksimalt"
+posts_index_settings = "Indstillinger for indlægsoversigt"
+posts_list = "Liste over indlæg"
+posts_tagged = "Indlæg tagget"
+posts_with_type = "Indlæg med type"
+pre_release = "Pre-release"
+prev = "Foregående"
+prev_post = "Foregående indlæg"
+preview = "Forhåndsvisning"
+previous = "Foregående"
+profile_for = "Profil for"
+proudly_powered_by = "Drives med stolthed på"
+publish = "Udgiv"
+publish_draft = "Udgiv udkast"
+published = "Udgivet"
+published_by = "Udgivet af"
+quote_post = "Citatindlæg"
+quote_post_comment = "Opret indlæg med citat"
+rss_character = "RSS - antal tegn"
+rss_feeds_show_the_most_recent = "RSS-feeds viser seneste"
+rss_settings = "RSS-Indstillinger"
+read_more = "Læs mere"
+read_more_text = "Læs mere tekst"
+read_more_text_placeholder = "Læs mere"
+reading = "Læsning"
+reading_settings = "Indstillinger for læsning"
+recaptcha = "reCAPTCHA"
+recent_comments = "Seneste kommentarer"
+recent_posts = "Seneste indlæg"
+recent_posts_widget_at_most = "Widget med seneste indlæg maksimalt"
+regular_post = "Standardindlæg"
+regular_post_comment = "Opret standardindlæg"
+related_posts = "Relaterade indlæg"
+related_widget_posts_at_most = "Widget med relaterede indlæg maksimalt"
+return_to_home = "Tibage til forsiden"
+revert_to_draft = "Tilbage til udkast"
+save = "Gem"
+save_config = "Gem konfiguration"
+save_menu = "Save menu"
+save_as_draft = "Gem som udkast"
+save_category = "Gem kategori"
+scheduled = "Planlagte indlæg"
+scheduled_posts = "Planlagte indlæg"
+scheduled_tips = "Hvis man udgiver et indlæg med fremtidig dato eller tidspunkt, vil det komme in under planlage indlæg"
+search = "Søg"
+search_for = "Søg efter"
+search_results_for = "søgeresultater for"
+search_results_not_found = "Ingen søgeresultater fundet!"
+secret_key = "Hemmelig nøgle"
+settings = "Indstillinger"
+share_this_post = "Del indlæg"
+sign_in_to_start_your_session = "Log ind for at starte din session"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Sociale medier"
+static_page = "Statisk side"
+static_page_comment = "Opret statisk side"
+static_pages = "Statiske sider"
+summary = "Resummé"
+summary_character = "Resummé - antal tegn"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud maksimalt"
+tagline = "Tagline"
+tagline_placeholder = "Database-løs PHP-Blogging-Platform"
+tagline_description = "Forklar med få ord, hvad denne blog handler om."
+tags = "Tags"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "Denne side findes ikke!"
+time = "Tid"
+timezone = "Tidszone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "For at bruge Disqus eller Facebook til at kommentere, skal de bruge dit Disqus-kortnavn eller Facebook App ID."
+token_error = "CSRF Token ikke korrekt"
+tools = "Værktøjer"
+twitter_account = "Twitter-konto"
+type_to_search = "Type at søge efter"
+uncategorized = "Ingen kategori"
+uncategorized_comment = "Indlæg, som ikke behøver en kategori eller ikke passer i de øvrige kategorier."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Ukendt feed-format"
+update = "Opdater"
+update_available = "Opdatering tilgængelig"
+update_draft = "Opdater udkast"
+update_post = "Opdater indlæg"
+update_to = "Opdater til"
+upload = "Upload"
+user = "Bruger"
+user_error = "Bruger-felt påkrævet"
+valid_values_range_from_0_to_1.0._see = "Gyldige værdier er fra 0.0 til 1.0. Se"
+video_post = "Videindlæg"
+video_post_comment = "Opret indlæg med video"
+view = "Vis"
+view_post = "Vis indlæg"
+views = "Visninger"
+widget = "Widget"
+widget_settings = "Widget-indstillinger"
+would_you_like_to_try_our = "Vil du gerne prøve vores "
+yes_im_in = "Yes, jeg er med"
+yes_not_recommended = "Ja (Anbefales ikke)"
+you_dont_have_permission_to_access_this_page = "Du har ikke rettigheder til at tilgå denne side"
+your_new_config_key = "Din nye konfigurationsnøgle"
+your_new_value = "Din nye værdi"
+your_backups = "Dine backups"
+your_latest_blog_posts = "Dine seneste blogindlæg"
+your_recent_posts = "Dine seneste indlæg"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "Hint: Brug Ctrl
/CMD
+ F
for at søge efter din konfigurationsnøgle eller -værdi."
+homepage = "Hjemmeside"
+instead = "i stedet"
+item_class = "Indsæt CSS-klasse"
+item_slug = "Indsæt Link-URL"
+now = "nu"
+of = "af"
+optional = "valgfri"
+post_your_post_slug = "/indlæg/din-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Pro-tips: Du kan oprette egen konfigurationsnøgle og få vist værdien, hvor du vil i din skabelon."
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/år/måned/din-slug"
+your_key = "din.nøgle"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/de_DE.ini b/lang/de_DE.ini
new file mode 100755
index 0000000..aa93041
--- /dev/null
+++ b/lang/de_DE.ini
@@ -0,0 +1,332 @@
+about = "Über"
+add_category = "Kategorie hinzufügen"
+add_content = "Inhalt hinzufügen"
+add_link = "Link hinzufügen"
+add_menu = "Menü hinzufügen"
+add_new_page = "Neue Seite hinzufügen"
+add_new_post = "Neuen Beitrag hinzufügen"
+add_source_link_optional = "Quell-Link hinzufügen (optional)"
+add_sub = "Unterseite hinzufügen"
+address_url = "Adresse (URL)"
+admin = "Administrator"
+admin_panel_style_based_on = "Admin-Panel-Stil basierend auf"
+all_blog_posts = "Alle Beiträge"
+all_cache_has_been_deleted = "Der gesamte Cache wurde gelöscht!"
+all_posts_tagged = "Alle Beiträge getaggten"
+archive_for = "Archiv für"
+archive_page_for = "Archivseite für"
+archives = "Archiv"
+are_you_sure_you_want_to_delete_ = "Sind Sie sicher, dass Sie %s löschen wollen?"
+at_the_moment_you_are_using_auto_generated_menu = "Im Moment verwenden Sie ein automatisch generiertes Menü."
+audio_post = "Audio-Beitrag"
+audio_post_comment = "Einen Beitrag zur Präsentation eines Audios erstellen"
+author = "Autor"
+author_description = "Nur ein weiterer HTMLy-Benutzer"
+back_to = "Zurück zu"
+backup = "Backup"
+blog_description = "Beschreiben Sie in einem Absatz die Ausrichtung Ihres Blogs."
+blog_posts_displayed_as = "Blog-Beiträge anzeigen als"
+blog_theme = "Blog-Theme (Design)"
+blog_title = "Blog-Titel"
+blog_title_placeholder = "Ein HTMLy-Blog"
+breadcrumb_home_text = "Bezeichnung für die Startseite im Breadcrumb-Menü"
+by = "von"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Durch die Verwendung dieses Importeurs bestätigen Sie, dass der importierte Feed Ihnen gehört oder Sie berechtigt sind, seine Inhalte zu veröffentlichen."
+cache_expiration = "Cache-Gültigkeitsdauer (in Stunden)"
+cache_off = "Caching ausschalten"
+cache_timestamp = "Cache-Zeitstempel"
+cancel = "Abbrechen"
+cannot_read_feed_content = "Feedinhalt kann nicht gelesen werden"
+captcha_error = "reCAPTCHA nicht korrekt"
+categories = "Kategorien"
+category = "Kategorie"
+check_shortcode = "Berücksichtige shortcode"
+check_update = "Aktualisierung suchen"
+clear_cache = "Cache löschen"
+comma_separated_values = "Komma-getrennte Werte"
+comment_system = "Kommentarsystem"
+comments = "Kommentare"
+config = "Konfiguration"
+congrats_you_have_the_latest_version_of_htmly = "Herzlichen Glückwunsch! Sie haben die neueste Version von HTMLy."
+content = "Inhalt"
+contents = "Inhalt"
+copyright_line = "Copyright-Zeile"
+copyright_line_placeholder = "(c) Ihr Name."
+create_backup = "Ein Backup erstellen"
+created = "Erstellungsdatum"
+css_class_optional = "CSS-Klasse (optional) "
+custom = "Benutzerdefiniert"
+custom_settings = "Benutzerdefinierte Einstellungen"
+dashboard = "Übersicht"
+date = "Datum"
+date_format = "Datumsformat"
+default = "Standard"
+delete = "Löschen"
+description = "Beschreibung"
+disable = "Deaktivieren"
+disabled = "Ausgeschaltet"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Entwurf"
+edit = "Bearbeiten"
+edit_category = "Kategorie bearbeiten"
+edit_post = "Bearbeiten"
+edit_profile = "Profil bearbeiten"
+enable = "Aktivieren"
+enable_blog_url = "URL blog aktivieren"
+enter_image_url = "Bild-URL eingeben"
+facebook_app_id = "Facebook App-ID"
+facebook_page = "Facebook-Seite"
+featured_audio = "Ausgewähltes Audio"
+featured_image = "Ausgewähltes Bild"
+featured_link = "Ausgewählter Link"
+featured_quote = "Ausgewähltes Zitat"
+featured_video = "Ausgewähltes Video"
+feed_url = "Feed-URL"
+filename = "Dateiname"
+follow = "Folgen"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Startseite zeigt"
+full_post = "Vollständiger Beitrag"
+general = "Allgemeines"
+general_settings = "Allgemeine Einstellungen"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "Hinweis: Nutzen Sie STRG
/CMD
+ F
, um nach einem Konfigurationsschlüssel oder Wert zu suchen."
+home = "Startseite"
+homepage = "Startseite"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Wenn das Feld leer bleibt, wird es aus dem folgenden Inhalt extrahiert"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Wenn die URL leer bleibt, wird der Seitentitel verwendet"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Wenn die URL leer bleibt, wird der Beitragstitel verwendet"
+image_post = "Bild-Beitrag"
+image_post_comment = "Einen Beitrag zur Präsentation eines Bildes erstellen"
+import = "Importieren"
+import_feed = "Feed importieren"
+import_rss = "RSS importieren"
+import_rss_feed_2.0 = "RSS-Feed 2.0 importieren"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = 'Bei Anzeige als Zusammenfassung wird entweder ein vorhandener shortcode ignoriert und die Zusammenfassung auf die angegebene Anzahl von Zeichen gekürzt (Standard) oder bis zum shortcode angezeigt (Berücksichtige shortcode).'
+insert_image = "Bild einfügen"
+instead = "stattdessen"
+invalid_error = "FEHLER: Ungültiger Benutzername oder Passwort"
+item_class = "CSS-Klasse"
+item_slug = "Link-URL"
+language = "Systemsprache"
+link_name = "Name des Links"
+link_post = "Link-Beitrag"
+link_post_comment = "Einen Beitrag zur Präsentation eines Links erstellen"
+login = "Anmeldung"
+login_page = "Anmeldeseite"
+logout = "Abmelden"
+menu = "Menüs"
+menus = "Menü-Editor"
+meta_description = "Meta-Beschreibung"
+meta_description_character = "Anzahl von Zeichen, die vom Inhalt übernommen werden, wenn das Feld Meta-Beschreibung leer gelassen wird"
+metatags = "Metatags"
+metatags_settings = "Metatags-Einstellungen"
+mine = "Eigene Beiträge"
+more = "Mehr"
+my_draft = "Eigene Entwürfe"
+my_posts = "Eigene Beiträge"
+name = "Name"
+newer = "Neuere"
+next = "Nächster"
+next_post = "Nächster Beitrag"
+no_available_backup = "Derzeit ist kein Backup verfügbar."
+no_draft_found = "Keine Entwürfe gefunden!"
+no_posts_found = "Keine Beiträge gefunden!"
+no_related_post_found = "Kein ähnlicher Beitrag gefunden!"
+no_scheduled_posts_found = "Keine geplanten Beiträge gefunden!"
+no_search_results = "Keine Suchergebnisse!"
+nope = "Nein, danke."
+not = "Nein"
+now = "jetzt"
+of = "von"
+older = "Ältere"
+only = "Nur"
+operations = "Operationen"
+optional = "optional"
+page = "Seite"
+page_generation_time = "Dauer der Seitenerzeugung"
+pages = "Seiten"
+pass_error = "Passwortfeld ist erforderlich!"
+password = "Passwort"
+performance = "Leistung"
+performance_settings = "Leistungseinstellungen"
+permalink = "Permalink"
+popular = "Zugriffe"
+popular_posts = "Beliebte Beiträge"
+popular_posts_widget = "Zugriffszähler aktivieren und Widget Beliebte Beiträge einblenden"
+popular_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Beliebte Beiträge"
+popular_tags = "Beliebte Tags"
+post_by_author = "Beiträge dieses Autors"
+post_your_post_slug = "/post/your-post-slug"
+posted_in = "Veröffentlicht unter"
+posted_on = "Veröffentlicht am"
+posts = "Inhalte"
+posts_by = "Beiträge von"
+posts_draft = "Entwürfe"
+posts_in_archive_page_at_most = "Maximale Anzahl von Beiträgen auf Archiv-Seiten"
+posts_in_category_page_at_most = "Maximale Anzahl von Beiträgen auf Kategorien-Seiten"
+posts_in_front_page_show_at_most = "Maximale Anzahl von Beiträgen auf der Startseite"
+posts_in_profile_page_at_most = "Maximale Anzahl von Beiträgen auf Profil-Seiten"
+posts_in_search_result_at_most = "Maximale Anzahl von Beiträgen in Suchergebnissen"
+posts_in_tag_page_at_most = "Maximale Anzahl von Beiträgen auf tag-Seiten"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Einstellungen zur Anzahl von Beiträgen"
+posts_list = "Beiträge"
+posts_tagged = "Beiträge mit Stichwort"
+posts_with_type = "Beiträge mit Typ"
+pre_release = "Pre-release"
+prev = "Voriger"
+prev_post = "Vorheriger Beitrag"
+preview = "Vorschau"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Profi-Tipp: Sie können einen eigenen Konfigurationsschlüssel erzeugen und dessen Wert überall im Template anzeigen lassen."
+profile_for = "Profil von"
+proudly_powered_by = "Powered by"
+publish = "Veröffentlichen"
+publish_draft = "Veröffentlichen"
+published = "Veröffentlicht"
+quote_post = "Zitat-Beitrag"
+quote_post_comment = "Einen Beitrag zur Präsentation eines Zitats erstellen"
+read_more = "weiterlesen"
+read_more_text = "Weiterlesen-Text"
+read_more_text_placeholder = "Mehr ..."
+reading = "Lesen"
+reading_settings = "Leseeinstellungen"
+recaptcha = "reCAPTCHA"
+recent_posts = "Letzte Beiträge"
+recent_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Letzte Beiträge"
+regular_post = "Normaler Beitrag"
+regular_post_comment = "Einen normalen Beitrag erstellen"
+related_posts = "Ähnliche Beiträge"
+related_widget_posts_at_most = "Maximale Anzahl von Beiträgen im Widget Ähnliche Beiträge"
+revert_to_draft = "Als Entwurf speichern"
+rss_character = "Länge eines RSS-Beitrags (in Zeichen)"
+rss_feeds_show_the_most_recent = "RSS-Feeds zeigen die folgende Anzahl der aktuellsten Beiträge"
+rss_settings = "RSS-Einstellungen"
+save = "Speichern"
+save_as_draft = "Speichern als Entwurf"
+save_category = "Kategorie speichern"
+save_config = "Konfiguration speichern"
+save_edit = "Änderungen speichern"
+save_menu = "Menü speichern"
+scheduled = "Geplant"
+scheduled_posts = "Geplante Beiträge"
+scheduled_tips = "Veröffentlichen eines Beitrags mit Zeitpunkt in der Zukunft, fügt ihn bei Geplante Beiträge hinzu"
+search = "Suche"
+search_for = "Suche nach"
+search_results_for = "Suchergebnisse für"
+search_results_not_found = "Suchergebnisse nicht gefunden!"
+secret_key = "Secret Key"
+settings = "Einstellungen"
+sign_in_to_start_your_session = "Melden Sie sich an, um Ihre Sitzung zu starten"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Statische Seite"
+static_page_comment = "Eine statische Seite erstellen"
+static_pages = "Statische Seiten"
+summary = "Zusammenfassung"
+summary_behavior = 'Generieren der Zusammenfassung'
+summary_character = "Länge der Zusammenfassung (in Zeichen)"
+tag = "Schlagwort"
+tagcloud_widget_at_most = "Höchstzahl Schlagwörter in Tag-Cloud"
+tagline = "Slogan"
+tagline_description = "Erklären Sie in wenigen Worten, worum es in diesem Blog geht."
+tagline_placeholder = "Datenbanklose PHP-Blogging-Plattform"
+tags = "Schlagworte"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Dies ist veralteter Code. Normalerweise wird gtag.js verwendet."
+this_page_doesnt_exist = "Diese Seite existiert nicht!"
+time = "Zeit"
+timezone = "Zeitzone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Um Disqus- oder Facebook-Kommentare einzubinden, geben Sie den Disqus-Kurznamen oder die Facebook App-ID an."
+token_error = "CSRF-Token nicht korrekt"
+tools = "Werkzeuge"
+twitter_account = "Twitter-Konto"
+type_to_search = "Tippen Sie, um zu suchen"
+uncategorized = "Unkategorisiert"
+uncategorized_comment = "Beiträge, die in keine Kategorie passen (sollen)."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unbekanntes Feedformat"
+update = "Aktualisieren"
+update_available = "Update verfügbar"
+update_draft = "Entwurf aktualisieren"
+update_post = "Beitrag aktualisieren"
+update_to = "Aktualisieren auf"
+upload = "Upload"
+user = "Benutzer"
+user_error = "Benutzerfeld ist erforderlich"
+valid_values_range_from_0_to_1.0._see = "Gültige Werte nur zwischen 0.0 und 1.0. Siehe"
+video_post = "Video-Beitrag"
+video_post_comment = "Einen Beitrag zur Präsentation eines Videos erstellen"
+view = "Ansicht"
+view_post = "Ansicht"
+views = "Ansichten"
+widget = "Widget"
+widget_key_placeholder = "12345abcde"
+widget_settings = "Widget-Einstellungen"
+would_you_like_to_try_our = "Besuchen Sie doch unsere "
+year_month_your_post_slug = "/year/month/your-post-slug"
+yes_im_in = "Ja, ich bin dabei!"
+yes_not_recommended = "Ja (nicht empfohlen)"
+you_dont_have_permission_to_access_this_page = "Sie haben keine Berechtigung, auf diese Seite zuzugreifen."
+your_backups = "Ihre Backups"
+your_key = "your.key"
+your_latest_blog_posts = "Neueste Blog-Beiträge"
+your_new_config_key = "Neuer Konfigurations-Schlüssel"
+your_new_value = "Neuer Wert"
+your_recent_posts = "Ihre letzten Beiträge"
+manage_users = "Benutzerverwaltung"
+add_user = "Benutzer hinzufügen"
+username = "Benutzername"
+role = "Rolle"
+change_password = "Passwort ändern"
+config_mfa = "MFA konfigurieren"
+mfacode = "MFA Code"
+verify_code = "MFA code verifizieren"
+verify_password = "Aktuelles Passwort verifizieren"
+manualsetupkey = "Der setup key kann auch manuell hinzugefügt werden"
+mfa_error = "MFA code ist nicht korrekt"
+disablemfa = "MFA deaktivieren"
+enable_auto_save = "Automatisches Speichern aktivieren"
+explain_autosave = "Neue Inhalte oder Entwürfe werden automatisch alle 60 Sekunden gespeichert, wenn aktiviert."
+login_protect_system = "Login-Schutz"
+cloudflare_info = "Sehen Sie sich die Turnstile-Dokumentation von Cloudflare an: "
+mfa_config = "Multi-Faktor-Authentifizierung (MFA)"
+set_mfa_globally = "MFA ermöglichen"
+explain_mfa = "Wenn aktiviert, ist MFA für alle Benutzer optional. Wenn deaktiviert, kann MFA nicht verwendet werden und das Feld wird auf der Anmeldeseite ausgeblendet."
+set_version_publicly = "Version öffentlich sichtbar"
+explain_version = "Standardmäßig ist die Version von HTMLy öffentlich im Quellcode sichtbar. Einige Administratoren ziehen es möglicherweise vor, dies auszublenden."
+focus_mode = "Fokus-Modus umschalten"
+writing = "Schreiben"
+writing_settings = "Schreibeinstellungen"
+security = "Sicherheit"
+security_settings = "Sicherheitseinstellungen"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/de_DE_gender_doppelpunkt.ini b/lang/de_DE_gender_doppelpunkt.ini
new file mode 100755
index 0000000..524585b
--- /dev/null
+++ b/lang/de_DE_gender_doppelpunkt.ini
@@ -0,0 +1,332 @@
+about = "Über"
+add_category = "Kategorie hinzufügen"
+add_content = "Inhalt hinzufügen"
+add_link = "Link hinzufügen"
+add_menu = "Menü hinzufügen"
+add_new_page = "Neue Seite hinzufügen"
+add_new_post = "Neuen Beitrag hinzufügen"
+add_source_link_optional = "Quell-Link hinzufügen (optional)"
+add_sub = "Unterseite hinzufügen"
+address_url = "Adresse (URL)"
+admin = "Administrator:in"
+admin_panel_style_based_on = "Admin-Panel-Stil basierend auf"
+all_blog_posts = "Alle Beiträge"
+all_cache_has_been_deleted = "Der gesamte Cache wurde gelöscht!"
+all_posts_tagged = "Alle Beiträge getaggten"
+archive_for = "Archiv für"
+archive_page_for = "Archivseite für"
+archives = "Archiv"
+are_you_sure_you_want_to_delete_ = "Sind Sie sicher, dass Sie %s löschen wollen?"
+at_the_moment_you_are_using_auto_generated_menu = "Im Moment verwenden Sie ein automatisch generiertes Menü."
+audio_post = "Audio-Beitrag"
+audio_post_comment = "Einen Beitrag zur Präsentation eines Audios erstellen"
+author = "Autor:in"
+author_description = "Nur ein:e weitere:r HTMLy-Benutzer:in"
+back_to = "Zurück zu"
+backup = "Backup"
+blog_description = "Beschreiben Sie in einem Absatz die Ausrichtung Ihres Blogs."
+blog_posts_displayed_as = "Blog-Beiträge anzeigen als"
+blog_theme = "Blog-Theme (Design)"
+blog_title = "Blog-Titel"
+blog_title_placeholder = "Ein HTMLy-Blog"
+breadcrumb_home_text = "Bezeichnung für die Startseite im Breadcrumb-Menü"
+by = "von"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Durch die Verwendung dieses Importeurs bestätigen Sie, dass der importierte Feed Ihnen gehört oder Sie berechtigt sind, seine Inhalte zu veröffentlichen."
+cache_expiration = "Cache-Gültigkeitsdauer (in Stunden)"
+cache_off = "Caching ausschalten"
+cache_timestamp = "Cache-Zeitstempel"
+cancel = "Abbrechen"
+cannot_read_feed_content = "Feedinhalt kann nicht gelesen werden"
+captcha_error = "reCAPTCHA nicht korrekt"
+categories = "Kategorien"
+category = "Kategorie"
+check_shortcode = "Berücksichtige shortcode"
+check_update = "Aktualisierung suchen"
+clear_cache = "Cache löschen"
+comma_separated_values = "Komma-getrennte Werte"
+comment_system = "Kommentarsystem"
+comments = "Kommentare"
+config = "Konfiguration"
+congrats_you_have_the_latest_version_of_htmly = "Herzlichen Glückwunsch! Sie haben die neueste Version von HTMLy."
+content = "Inhalt"
+contents = "Inhalt"
+copyright_line = "Copyright-Zeile"
+copyright_line_placeholder = "(c) Ihr Name."
+create_backup = "Ein Backup erstellen"
+created = "Erstellungsdatum"
+css_class_optional = "CSS-Klasse (optional) "
+custom = "Benutzerdefiniert"
+custom_settings = "Benutzerdefinierte Einstellungen"
+dashboard = "Übersicht"
+date = "Datum"
+date_format = "Datumsformat"
+default = "Standard"
+delete = "Löschen"
+description = "Beschreibung"
+disable = "Deaktivieren"
+disabled = "Ausgeschaltet"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Entwurf"
+edit = "Bearbeiten"
+edit_category = "Kategorie bearbeiten"
+edit_post = "Bearbeiten"
+edit_profile = "Profil bearbeiten"
+enable = "Aktivieren"
+enable_blog_url = "URL blog aktivieren"
+enter_image_url = "Bild-URL eingeben"
+facebook_app_id = "Facebook App-ID"
+facebook_page = "Facebook-Seite"
+featured_audio = "Ausgewähltes Audio"
+featured_image = "Ausgewähltes Bild"
+featured_link = "Ausgewählter Link"
+featured_quote = "Ausgewähltes Zitat"
+featured_video = "Ausgewähltes Video"
+feed_url = "Feed-URL"
+filename = "Dateiname"
+follow = "Folgen"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Startseite zeigt"
+full_post = "Vollständiger Beitrag"
+general = "Allgemeines"
+general_settings = "Allgemeine Einstellungen"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "Hinweis: Nutzen Sie STRG
/CMD
+ F
, um nach einem Konfigurationsschlüssel oder Wert zu suchen."
+home = "Startseite"
+homepage = "Startseite"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Wenn das Feld leer bleibt, wird es aus dem folgenden Inhalt extrahiert"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Wenn die URL leer bleibt, wird der Seitentitel verwendet"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Wenn die URL leer bleibt, wird der Beitragstitel verwendet"
+image_post = "Bild-Beitrag"
+image_post_comment = "Einen Beitrag zur Präsentation eines Bildes erstellen"
+import = "Importieren"
+import_feed = "Feed importieren"
+import_rss = "RSS importieren"
+import_rss_feed_2.0 = "RSS-Feed 2.0 importieren"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "Bei Anzeige als Zusammenfassung wird entweder ein vorhandener shortcode ignoriert und die Zusammenfassung auf die angegebene Anzahl von Zeichen gekürzt (Standard) oder bis zum shortcode angezeigt (Berücksichtige shortcode)."
+insert_image = "Bild einfügen"
+instead = "stattdessen"
+invalid_error = "FEHLER: Ungültiger Benutzer:innen-Name oder Passwort"
+item_class = "CSS-Klasse"
+item_slug = "Link-URL"
+language = "Systemsprache"
+link_name = "Name des Links"
+link_post = "Link-Beitrag"
+link_post_comment = "Einen Beitrag zur Präsentation eines Links erstellen"
+login = "Anmeldung"
+login_page = "Anmeldeseite"
+logout = "Abmelden"
+menu = "Menüs"
+menus = "Menü-Editor"
+meta_description = "Meta-Beschreibung"
+meta_description_character = "Anzahl von Zeichen, die vom Inhalt übernommen werden, wenn das Feld Meta-Beschreibung leer gelassen wird"
+metatags = "Metatags"
+metatags_settings = "Metatags-Einstellungen"
+mine = "Eigene Beiträge"
+more = "Mehr"
+my_draft = "Eigene Entwürfe"
+my_posts = "Eigene Beiträge"
+name = "Name"
+newer = "Neuere"
+next = "Nächster"
+next_post = "Nächster Beitrag"
+no_available_backup = "Derzeit ist kein Backup verfügbar."
+no_draft_found = "Keine Entwürfe gefunden!"
+no_posts_found = "Keine Beiträge gefunden!"
+no_related_post_found = "Kein ähnlicher Beitrag gefunden!"
+no_scheduled_posts_found = "Keine geplanten Beiträge gefunden!"
+no_search_results = "Keine Suchergebnisse!"
+nope = "Nein, danke."
+not = "Nein"
+now = "jetzt"
+of = "von"
+older = "Ältere"
+only = "Nur"
+operations = "Operationen"
+optional = "optional"
+page = "Seite"
+page_generation_time = "Dauer der Seitenerzeugung"
+pages = "Seiten"
+pass_error = "Passwortfeld ist erforderlich!"
+password = "Passwort"
+performance = "Leistung"
+performance_settings = "Leistungseinstellungen"
+permalink = "Permalink"
+popular = "Zugriffe"
+popular_posts = "Beliebte Beiträge"
+popular_posts_widget = "Zugriffszähler aktivieren und Widget Beliebte Beiträge einblenden"
+popular_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Beliebte Beiträge"
+popular_tags = "Beliebte Tags"
+post_by_author = "Beiträge dieser Autorin oder dieses Autors"
+post_your_post_slug = "/post/your-post-slug"
+posted_in = "Veröffentlicht unter"
+posted_on = "Veröffentlicht am"
+posts = "Inhalte"
+posts_by = "Beiträge von"
+posts_draft = "Entwürfe"
+posts_in_archive_page_at_most = "Maximale Anzahl von Beiträgen auf Archiv-Seiten"
+posts_in_category_page_at_most = "Maximale Anzahl von Beiträgen auf Kategorien-Seiten"
+posts_in_front_page_show_at_most = "Maximale Anzahl von Beiträgen auf der Startseite"
+posts_in_profile_page_at_most = "Maximale Anzahl von Beiträgen auf Profil-Seiten"
+posts_in_search_result_at_most = "Maximale Anzahl von Beiträgen in Suchergebnissen"
+posts_in_tag_page_at_most = "Maximale Anzahl von Beiträgen auf tag-Seiten"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Einstellungen zur Anzahl von Beiträgen"
+posts_list = "Beiträge"
+posts_tagged = "Beiträge mit Stichwort"
+posts_with_type = "Beiträge mit Typ"
+pre_release = "Pre-release"
+prev = "Voriger"
+prev_post = "Vorheriger Beitrag"
+preview = "Vorschau"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Profi-Tipp: Sie können einen eigenen Konfigurationsschlüssel erzeugen und dessen Wert überall im Template anzeigen lassen."
+profile_for = "Profil von"
+proudly_powered_by = "Powered by"
+publish = "Veröffentlichen"
+publish_draft = "Veröffentlichen"
+published = "Veröffentlicht"
+quote_post = "Zitat-Beitrag"
+quote_post_comment = "Einen Beitrag zur Präsentation eines Zitats erstellen"
+read_more = "weiterlesen"
+read_more_text = "Weiterlesen-Text"
+read_more_text_placeholder = "Mehr ..."
+reading = "Lesen"
+reading_settings = "Leseeinstellungen"
+recaptcha = "reCAPTCHA"
+recent_posts = "Letzte Beiträge"
+recent_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Letzte Beiträge"
+regular_post = "Normaler Beitrag"
+regular_post_comment = "Einen normalen Beitrag erstellen"
+related_posts = "Ähnliche Beiträge"
+related_widget_posts_at_most = "Maximale Anzahl von Beiträgen im Widget Ähnliche Beiträge"
+revert_to_draft = "Als Entwurf speichern"
+rss_character = "Länge eines RSS-Beitrags (in Zeichen)"
+rss_feeds_show_the_most_recent = "RSS-Feeds zeigen die folgende Anzahl der aktuellsten Beiträge"
+rss_settings = "RSS-Einstellungen"
+save = "Speichern"
+save_as_draft = "Speichern als Entwurf"
+save_category = "Kategorie speichern"
+save_config = "Konfiguration speichern"
+save_edit = "Änderungen speichern"
+save_menu = "Menü speichern"
+scheduled = "Geplant"
+scheduled_posts = "Geplante Beiträge"
+scheduled_tips = "Veröffentlichen eines Beitrags mit Zeitpunkt in der Zukunft, fügt ihn bei Geplante Beiträge hinzu"
+search = "Suche"
+search_for = "Suche nach"
+search_results_for = "Suchergebnisse für"
+search_results_not_found = "Suchergebnisse nicht gefunden!"
+secret_key = "Secret Key"
+settings = "Einstellungen"
+sign_in_to_start_your_session = "Melden Sie sich an, um Ihre Sitzung zu starten"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Statische Seite"
+static_page_comment = "Eine statische Seite erstellen"
+static_pages = "Statische Seiten"
+summary = "Zusammenfassung"
+summary_behavior = "Generieren der Zusammenfassung"
+summary_character = "Länge der Zusammenfassung (in Zeichen)"
+tag = "Schlagwort"
+tagcloud_widget_at_most = "Höchstzahl Schlagwörter in Tag-Cloud"
+tagline = "Slogan"
+tagline_description = "Erklären Sie in wenigen Worten, worum es in diesem Blog geht."
+tagline_placeholder = "Datenbanklose PHP-Blogging-Plattform"
+tags = "Schlagworte"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Dies ist veralteter Code. Normalerweise wird gtag.js verwendet."
+this_page_doesnt_exist = "Diese Seite existiert nicht!"
+time = "Zeit"
+timezone = "Zeitzone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Um Disqus- oder Facebook-Kommentare einzubinden, geben Sie den Disqus-Kurznamen oder die Facebook App-ID an."
+token_error = "CSRF-Token nicht korrekt"
+tools = "Werkzeuge"
+twitter_account = "Twitter-Konto"
+type_to_search = "Tippen Sie, um zu suchen"
+uncategorized = "Unkategorisiert"
+uncategorized_comment = "Beiträge, die in keine Kategorie passen (sollen)."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unbekanntes Feedformat"
+update = "Aktualisieren"
+update_available = "Update verfügbar"
+update_draft = "Entwurf aktualisieren"
+update_post = "Beitrag aktualisieren"
+update_to = "Aktualisieren auf"
+upload = "Upload"
+user = "Benutzer:in"
+user_error = "Benutzer:innen-Feld ist erforderlich"
+valid_values_range_from_0_to_1.0._see = "Gültige Werte nur zwischen 0.0 und 1.0. Siehe"
+video_post = "Video-Beitrag"
+video_post_comment = "Einen Beitrag zur Präsentation eines Videos erstellen"
+view = "Ansicht"
+view_post = "Ansicht"
+views = "Ansichten"
+widget = "Widget"
+widget_key_placeholder = "12345abcde"
+widget_settings = "Widget-Einstellungen"
+would_you_like_to_try_our = "Besuchen Sie doch unsere "
+year_month_your_post_slug = "/year/month/your-post-slug"
+yes_im_in = "Ja, ich bin dabei!"
+yes_not_recommended = "Ja (nicht empfohlen)"
+you_dont_have_permission_to_access_this_page = "Sie haben keine Berechtigung, auf diese Seite zuzugreifen."
+your_backups = "Ihre Backups"
+your_key = "your.key"
+your_latest_blog_posts = "Neueste Blog-Beiträge"
+your_new_config_key = "Neuer Konfigurations-Schlüssel"
+your_new_value = "Neuer Wert"
+your_recent_posts = "Ihre letzten Beiträge"
+manage_users = "Benutzer:innen-Verwaltung"
+add_user = "Benutzer:in hinzufügen"
+username = "Benutzer:innen-Name"
+role = "Rolle"
+change_password = "Passwort ändern"
+config_mfa = "MFA konfigurieren"
+mfacode = "MFA Code"
+verify_code = "MFA code verifizieren"
+verify_password = "Aktuelles Passwort verifizieren"
+manualsetupkey = "Der setup key kann auch manuell hinzugefügt werden"
+mfa_error = "MFA code ist nicht korrekt"
+disablemfa = "MFA deaktivieren"
+enable_auto_save = "Automatisches Speichern aktivieren"
+explain_autosave = "Neue Inhalte oder Entwürfe werden automatisch alle 60 Sekunden gespeichert, wenn aktiviert."
+login_protect_system = "Login-Schutz"
+cloudflare_info = "Sehen Sie sich die Turnstile-Dokumentation von Cloudflare an: "
+mfa_config = "Multi-Faktor-Authentifizierung (MFA)"
+set_mfa_globally = "MFA ermöglichen"
+explain_mfa = "Wenn aktiviert, ist MFA für alle Benutzer:innen optional. Wenn deaktiviert, kann MFA nicht verwendet werden und das Feld wird auf der Anmeldeseite ausgeblendet."
+set_version_publicly = "Version öffentlich sichtbar"
+explain_version = "Standardmäßig ist die Version von HTMLy öffentlich im Quellcode sichtbar. Einige Administrator:innen ziehen es möglicherweise vor, dies auszublenden."
+focus_mode = "Fokus-Modus umschalten"
+writing = "Schreiben"
+writing_settings = "Schreibeinstellungen"
+security = "Sicherheit"
+security_settings = "Sicherheitseinstellungen"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/de_DE_gender_dudenkonform.ini b/lang/de_DE_gender_dudenkonform.ini
new file mode 100755
index 0000000..d1f019b
--- /dev/null
+++ b/lang/de_DE_gender_dudenkonform.ini
@@ -0,0 +1,332 @@
+about = "Über"
+add_category = "Kategorie hinzufügen"
+add_content = "Inhalt hinzufügen"
+add_link = "Link hinzufügen"
+add_menu = "Menü hinzufügen"
+add_new_page = "Neue Seite hinzufügen"
+add_new_post = "Neuen Beitrag hinzufügen"
+add_source_link_optional = "Quell-Link hinzufügen (optional)"
+add_sub = "Unterseite hinzufügen"
+address_url = "Adresse (URL)"
+admin = "Administrator/-in"
+admin_panel_style_based_on = "Admin-Panel-Stil basierend auf"
+all_blog_posts = "Alle Beiträge"
+all_cache_has_been_deleted = "Der gesamte Cache wurde gelöscht!"
+all_posts_tagged = "Alle Beiträge getaggten"
+archive_for = "Archiv für"
+archive_page_for = "Archivseite für"
+archives = "Archiv"
+are_you_sure_you_want_to_delete_ = "Sind Sie sicher, dass Sie %s löschen wollen?"
+at_the_moment_you_are_using_auto_generated_menu = "Im Moment verwenden Sie ein automatisch generiertes Menü."
+audio_post = "Audio-Beitrag"
+audio_post_comment = "Einen Beitrag zur Präsentation eines Audios erstellen"
+author = "Autor/-in"
+author_description = "Nur ein/-e weitere/-r HTMLy-Benutzer/-in"
+back_to = "Zurück zu"
+backup = "Backup"
+blog_description = "Beschreiben Sie in einem Absatz die Ausrichtung Ihres Blogs."
+blog_posts_displayed_as = "Blog-Beiträge anzeigen als"
+blog_theme = "Blog-Theme (Design)"
+blog_title = "Blog-Titel"
+blog_title_placeholder = "Ein HTMLy-Blog"
+breadcrumb_home_text = "Bezeichnung für die Startseite im Breadcrumb-Menü"
+by = "von"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Durch die Verwendung dieses Importeurs bestätigen Sie, dass der importierte Feed Ihnen gehört oder Sie berechtigt sind, seine Inhalte zu veröffentlichen."
+cache_expiration = "Cache-Gültigkeitsdauer (in Stunden)"
+cache_off = "Caching ausschalten"
+cache_timestamp = "Cache-Zeitstempel"
+cancel = "Abbrechen"
+cannot_read_feed_content = "Feedinhalt kann nicht gelesen werden"
+captcha_error = "reCAPTCHA nicht korrekt"
+categories = "Kategorien"
+category = "Kategorie"
+check_shortcode = "Berücksichtige shortcode"
+check_update = "Aktualisierung suchen"
+clear_cache = "Cache löschen"
+comma_separated_values = "Komma-getrennte Werte"
+comment_system = "Kommentarsystem"
+comments = "Kommentare"
+config = "Konfiguration"
+congrats_you_have_the_latest_version_of_htmly = "Herzlichen Glückwunsch! Sie haben die neueste Version von HTMLy."
+content = "Inhalt"
+contents = "Inhalt"
+copyright_line = "Copyright-Zeile"
+copyright_line_placeholder = "(c) Ihr Name."
+create_backup = "Ein Backup erstellen"
+created = "Erstellungsdatum"
+css_class_optional = "CSS-Klasse (optional) "
+custom = "Benutzerdefiniert"
+custom_settings = "Benutzerdefinierte Einstellungen"
+dashboard = "Übersicht"
+date = "Datum"
+date_format = "Datumsformat"
+default = "Standard"
+delete = "Löschen"
+description = "Beschreibung"
+disable = "Deaktivieren"
+disabled = "Ausgeschaltet"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Entwurf"
+edit = "Bearbeiten"
+edit_category = "Kategorie bearbeiten"
+edit_post = "Bearbeiten"
+edit_profile = "Profil bearbeiten"
+enable = "Aktivieren"
+enable_blog_url = "URL blog aktivieren"
+enter_image_url = "Bild-URL eingeben"
+facebook_app_id = "Facebook App-ID"
+facebook_page = "Facebook-Seite"
+featured_audio = "Ausgewähltes Audio"
+featured_image = "Ausgewähltes Bild"
+featured_link = "Ausgewählter Link"
+featured_quote = "Ausgewähltes Zitat"
+featured_video = "Ausgewähltes Video"
+feed_url = "Feed-URL"
+filename = "Dateiname"
+follow = "Folgen"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Startseite zeigt"
+full_post = "Vollständiger Beitrag"
+general = "Allgemeines"
+general_settings = "Allgemeine Einstellungen"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "Hinweis: Nutzen Sie STRG
/CMD
+ F
, um nach einem Konfigurationsschlüssel oder Wert zu suchen."
+home = "Startseite"
+homepage = "Startseite"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Wenn das Feld leer bleibt, wird es aus dem folgenden Inhalt extrahiert"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Wenn die URL leer bleibt, wird der Seitentitel verwendet"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Wenn die URL leer bleibt, wird der Beitragstitel verwendet"
+image_post = "Bild-Beitrag"
+image_post_comment = "Einen Beitrag zur Präsentation eines Bildes erstellen"
+import = "Importieren"
+import_feed = "Feed importieren"
+import_rss = "RSS importieren"
+import_rss_feed_2.0 = "RSS-Feed 2.0 importieren"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "Bei Anzeige als Zusammenfassung wird entweder ein vorhandener shortcode ignoriert und die Zusammenfassung auf die angegebene Anzahl von Zeichen gekürzt (Standard) oder bis zum shortcode angezeigt (Berücksichtige shortcode)."
+insert_image = "Bild einfügen"
+instead = "stattdessen"
+invalid_error = "FEHLER: Ungültiger Benutzer/-innen-Name oder Passwort"
+item_class = "CSS-Klasse"
+item_slug = "Link-URL"
+language = "Systemsprache"
+link_name = "Name des Links"
+link_post = "Link-Beitrag"
+link_post_comment = "Einen Beitrag zur Präsentation eines Links erstellen"
+login = "Anmeldung"
+login_page = "Anmeldeseite"
+logout = "Abmelden"
+menu = "Menüs"
+menus = "Menü-Editor"
+meta_description = "Meta-Beschreibung"
+meta_description_character = "Anzahl von Zeichen, die vom Inhalt übernommen werden, wenn das Feld Meta-Beschreibung leer gelassen wird"
+metatags = "Metatags"
+metatags_settings = "Metatags-Einstellungen"
+mine = "Eigene Beiträge"
+more = "Mehr"
+my_draft = "Eigene Entwürfe"
+my_posts = "Eigene Beiträge"
+name = "Name"
+newer = "Neuere"
+next = "Nächster"
+next_post = "Nächster Beitrag"
+no_available_backup = "Derzeit ist kein Backup verfügbar."
+no_draft_found = "Keine Entwürfe gefunden!"
+no_posts_found = "Keine Beiträge gefunden!"
+no_related_post_found = "Kein ähnlicher Beitrag gefunden!"
+no_scheduled_posts_found = "Keine geplanten Beiträge gefunden!"
+no_search_results = "Keine Suchergebnisse!"
+nope = "Nein, danke."
+not = "Nein"
+now = "jetzt"
+of = "von"
+older = "Ältere"
+only = "Nur"
+operations = "Operationen"
+optional = "optional"
+page = "Seite"
+page_generation_time = "Dauer der Seitenerzeugung"
+pages = "Seiten"
+pass_error = "Passwortfeld ist erforderlich!"
+password = "Passwort"
+performance = "Leistung"
+performance_settings = "Leistungseinstellungen"
+permalink = "Permalink"
+popular = "Zugriffe"
+popular_posts = "Beliebte Beiträge"
+popular_posts_widget = "Zugriffszähler aktivieren und Widget Beliebte Beiträge einblenden"
+popular_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Beliebte Beiträge"
+popular_tags = "Beliebte Tags"
+post_by_author = "Beiträge dieser Autorin oder dieses Autors"
+post_your_post_slug = "/post/your-post-slug"
+posted_in = "Veröffentlicht unter"
+posted_on = "Veröffentlicht am"
+posts = "Inhalte"
+posts_by = "Beiträge von"
+posts_draft = "Entwürfe"
+posts_in_archive_page_at_most = "Maximale Anzahl von Beiträgen auf Archiv-Seiten"
+posts_in_category_page_at_most = "Maximale Anzahl von Beiträgen auf Kategorien-Seiten"
+posts_in_front_page_show_at_most = "Maximale Anzahl von Beiträgen auf der Startseite"
+posts_in_profile_page_at_most = "Maximale Anzahl von Beiträgen auf Profil-Seiten"
+posts_in_search_result_at_most = "Maximale Anzahl von Beiträgen in Suchergebnissen"
+posts_in_tag_page_at_most = "Maximale Anzahl von Beiträgen auf tag-Seiten"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Einstellungen zur Anzahl von Beiträgen"
+posts_list = "Beiträge"
+posts_tagged = "Beiträge mit Stichwort"
+posts_with_type = "Beiträge mit Typ"
+pre_release = "Pre-release"
+prev = "Voriger"
+prev_post = "Vorheriger Beitrag"
+preview = "Vorschau"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Profi-Tipp: Sie können einen eigenen Konfigurationsschlüssel erzeugen und dessen Wert überall im Template anzeigen lassen."
+profile_for = "Profil von"
+proudly_powered_by = "Powered by"
+publish = "Veröffentlichen"
+publish_draft = "Veröffentlichen"
+published = "Veröffentlicht"
+quote_post = "Zitat-Beitrag"
+quote_post_comment = "Einen Beitrag zur Präsentation eines Zitats erstellen"
+read_more = "weiterlesen"
+read_more_text = "Weiterlesen-Text"
+read_more_text_placeholder = "Mehr ..."
+reading = "Lesen"
+reading_settings = "Leseeinstellungen"
+recaptcha = "reCAPTCHA"
+recent_posts = "Letzte Beiträge"
+recent_posts_widget_at_most = "Maximale Anzahl von Beiträgen im Widget Letzte Beiträge"
+regular_post = "Normaler Beitrag"
+regular_post_comment = "Einen normalen Beitrag erstellen"
+related_posts = "Ähnliche Beiträge"
+related_widget_posts_at_most = "Maximale Anzahl von Beiträgen im Widget Ähnliche Beiträge"
+revert_to_draft = "Als Entwurf speichern"
+rss_character = "Länge eines RSS-Beitrags (in Zeichen)"
+rss_feeds_show_the_most_recent = "RSS-Feeds zeigen die folgende Anzahl der aktuellsten Beiträge"
+rss_settings = "RSS-Einstellungen"
+save = "Speichern"
+save_as_draft = "Speichern als Entwurf"
+save_category = "Kategorie speichern"
+save_config = "Konfiguration speichern"
+save_edit = "Änderungen speichern"
+save_menu = "Menü speichern"
+scheduled = "Geplant"
+scheduled_posts = "Geplante Beiträge"
+scheduled_tips = "Veröffentlichen eines Beitrags mit Zeitpunkt in der Zukunft, fügt ihn bei Geplante Beiträge hinzu"
+search = "Suche"
+search_for = "Suche nach"
+search_results_for = "Suchergebnisse für"
+search_results_not_found = "Suchergebnisse nicht gefunden!"
+secret_key = "Secret Key"
+settings = "Einstellungen"
+sign_in_to_start_your_session = "Melden Sie sich an, um Ihre Sitzung zu starten"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Statische Seite"
+static_page_comment = "Eine statische Seite erstellen"
+static_pages = "Statische Seiten"
+summary = "Zusammenfassung"
+summary_behavior = "Generieren der Zusammenfassung"
+summary_character = "Länge der Zusammenfassung (in Zeichen)"
+tag = "Schlagwort"
+tagcloud_widget_at_most = "Höchstzahl Schlagwörter in Tag-Cloud"
+tagline = "Slogan"
+tagline_description = "Erklären Sie in wenigen Worten, worum es in diesem Blog geht."
+tagline_placeholder = "Datenbanklose PHP-Blogging-Plattform"
+tags = "Schlagworte"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Dies ist veralteter Code. Normalerweise wird gtag.js verwendet."
+this_page_doesnt_exist = "Diese Seite existiert nicht!"
+time = "Zeit"
+timezone = "Zeitzone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Um Disqus- oder Facebook-Kommentare einzubinden, geben Sie den Disqus-Kurznamen oder die Facebook App-ID an."
+token_error = "CSRF-Token nicht korrekt"
+tools = "Werkzeuge"
+twitter_account = "Twitter-Konto"
+type_to_search = "Tippen Sie, um zu suchen"
+uncategorized = "Unkategorisiert"
+uncategorized_comment = "Beiträge, die in keine Kategorie passen (sollen)."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unbekanntes Feedformat"
+update = "Aktualisieren"
+update_available = "Update verfügbar"
+update_draft = "Entwurf aktualisieren"
+update_post = "Beitrag aktualisieren"
+update_to = "Aktualisieren auf"
+upload = "Upload"
+user = "Benutzer/-in"
+user_error = "Benutzer/-innen-Feld ist erforderlich"
+valid_values_range_from_0_to_1.0._see = "Gültige Werte nur zwischen 0.0 und 1.0. Siehe"
+video_post = "Video-Beitrag"
+video_post_comment = "Einen Beitrag zur Präsentation eines Videos erstellen"
+view = "Ansicht"
+view_post = "Ansicht"
+views = "Ansichten"
+widget = "Widget"
+widget_key_placeholder = "12345abcde"
+widget_settings = "Widget-Einstellungen"
+would_you_like_to_try_our = "Besuchen Sie doch unsere "
+year_month_your_post_slug = "/year/month/your-post-slug"
+yes_im_in = "Ja, ich bin dabei!"
+yes_not_recommended = "Ja (nicht empfohlen)"
+you_dont_have_permission_to_access_this_page = "Sie haben keine Berechtigung, auf diese Seite zuzugreifen."
+your_backups = "Ihre Backups"
+your_key = "your.key"
+your_latest_blog_posts = "Neueste Blog-Beiträge"
+your_new_config_key = "Neuer Konfigurations-Schlüssel"
+your_new_value = "Neuer Wert"
+your_recent_posts = "Ihre letzten Beiträge"
+manage_users = "Benutzer/-innen-Verwaltung"
+add_user = "Benutzer/-in hinzufügen"
+username = "Benutzer/-innen-Name"
+role = "Rolle"
+change_password = "Passwort ändern"
+config_mfa = "MFA konfigurieren"
+mfacode = "MFA Code"
+verify_code = "MFA code verifizieren"
+verify_password = "Aktuelles Passwort verifizieren"
+manualsetupkey = "Der setup key kann auch manuell hinzugefügt werden"
+mfa_error = "MFA code ist nicht korrekt"
+disablemfa = "MFA deaktivieren"
+enable_auto_save = "Automatisches Speichern aktivieren"
+explain_autosave = "Neue Inhalte oder Entwürfe werden automatisch alle 60 Sekunden gespeichert, wenn aktiviert."
+login_protect_system = "Login-Schutz"
+cloudflare_info = "Sehen Sie sich die Turnstile-Dokumentation von Cloudflare an: "
+mfa_config = "Multi-Faktor-Authentifizierung (MFA)"
+set_mfa_globally = "MFA ermöglichen"
+explain_mfa = "Wenn aktiviert, ist MFA für alle Benutzer/-innen optional. Wenn deaktiviert, kann MFA nicht verwendet werden und das Feld wird auf der Anmeldeseite ausgeblendet."
+set_version_publicly = "Version öffentlich sichtbar"
+explain_version = "Standardmäßig ist die Version von HTMLy öffentlich im Quellcode sichtbar. Einige Administrator/-innen ziehen es möglicherweise vor, dies auszublenden."
+focus_mode = "Fokus-Modus umschalten"
+writing = "Schreiben"
+writing_settings = "Schreibeinstellungen"
+security = "Sicherheit"
+security_settings = "Sicherheitseinstellungen"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/el_GR.ini b/lang/el_GR.ini
new file mode 100755
index 0000000..b6f3b32
--- /dev/null
+++ b/lang/el_GR.ini
@@ -0,0 +1,334 @@
+about = "Σχετικά"
+add_category = "Προσθήκη Κατηγορίας"
+add_content = "Προσθήκη Περιεχομένου"
+add_link = "Προσθήκη συνδέσμου"
+add_menu = "Προσθήκη μενού"
+add_new_page = "Προσθήκη νέας σελίδας"
+add_new_post = "Προσθήκη νέας ανάρτησης"
+add_source_link_optional = "Προσθήκη συνδέσμου πηγής (προαιρετικό)"
+add_sub = "Προσθήκη Υποσελίδας"
+address_url = "Διεύθυνση (URL)"
+admin = "Διαχειριστής"
+admin_panel_style_based_on = "Στιλ πίνακα διαχειριστή με βάση"
+all_blog_posts = "Όλες οι αναρτήσεις ιστολογίου"
+all_cache_has_been_deleted = "Όλη η προσωρινή μνήμη έχει διαγραφεί !"
+all_posts_tagged = "Όλες οι αναρτήσεις με ετικέτα"
+archive_for = "Αρχείο για"
+archive_page_for = "Αρχειοθέτηση σελίδας για"
+archives = "Αρχειοθέτηση"
+are_you_sure_you_want_to_delete_ = "Είστε βέβαιοι ότι θέλετε να διαγράψετε %s;"
+at_the_moment_you_are_using_auto_generated_menu = "Αυτή τη στιγμή χρησιμοποιείτε το μενού που δημιουργείται αυτόματα."
+audio_post = "Ηχητική ανάρτηση"
+audio_post_comment = "Δημιουργία ανάρτησης ιστολογίου με επιλεγμένο ήχο"
+author = "Συγγραφέας"
+author_description = " "
+back_to = "Επιστροφή στο"
+backup = "Αντίγραφα ασφαλείας"
+blog_description = "Σε μία παράγραφο, πείτε μας περισσότερα για το ιστολόγιό σας."
+blog_theme = "Θέμα ιστολογίου"
+blog_title = "Τίτλος ιστολογίου"
+blog_title_placeholder = "Το ιστολόγιό μου HTMLy"
+blog_posts_displayed_as = "Οι αναρτήσεις ιστολογίου εμφανίζονται ως"
+breadcrumb_home_text = "Αρχικό κείμενο ψωμιού"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Χρησιμοποιώντας αυτόν τον εισαγωγέα συμφωνείτε εάν η ροή είναι δική σας ή τουλάχιστον έχετε την εξουσία να τη δημοσιεύσετε."
+css_class_optional = "Κλάση CSS (προαιρετικό)"
+cache_expiration = "Λήξη προσωρινής μνήμης (σε ώρες)"
+cache_off = "Απενεργοποίηση προσωρινής μνήμης"
+cache_timestamp = "Cache timestamp"
+cancel = "Άκυρο"
+cannot_read_feed_content = "Δεν είναι δυνατή η ανάγνωση της ροής"
+captcha_error = "το reCaptcha δεν είναι σωστό"
+categories = "Κατηγορίες"
+category = "Κατηγορία"
+check_update = "Έλεγχος έκδοσης"
+clear_cache = "Εκκαθάριση προσωρινής μνήμης"
+comma_separated_values = "Τιμές διαχωρισμένες με κόμμα"
+comment_system = "Σύστημα σχολίων"
+comments = "Σχόλια"
+config = "Διαμόρφωση"
+congrats_you_have_the_latest_version_of_htmly = "Συγχαρητήρια! Έχετε την πιο πρόσφατη έκδοση του HTMLy."
+content = "Περιεχόμενο"
+contents = "Περιεχόμενα"
+copyright_line = "Γραμμή πνευματικών δικαιωμάτων"
+copyright_line_placeholder = "(γ) Το όνομά σας."
+create_backup = "Δημιουργία αντιγράφου ασφαλείας"
+created = "Δημιουργήθηκε"
+custom = "Προσαρμοσμένο"
+custom_settings = "Προσαρμοσμένες ρυθμίσεις"
+dashboard = "Πίνακας ελέγχου"
+date = "Ημερομηνία"
+date_format = "Μορφή ημερομηνίας"
+delete = "Διαγραφή"
+description = "Περιγραφή"
+disable = "Απενεργοποίηση"
+disabled = "Απενεργοποιημένο"
+disqus_shortname = "Σύντομο όνομα Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Προσχέδιο"
+edit = "Επεξεργασία"
+edit_category = "Επεξεργασία κατηγορίας"
+edit_post = "Επεξεργασία"
+edit_profile = "Επεξεργασία προφίλ"
+enable = "Ενεργοποίηση"
+enable_blog_url = "Ενεργοποίηση διεύθυνσης URL blog"
+enter_image_url = "Εισαγωγή διεύθυνσης URL εικόνας"
+facebook_app_id = "Αναγνωριστικό εφαρμογής Facebook"
+facebook_page = "Σελίδα Facebook"
+featured_audio = "Επιλεγμένος ήχος"
+featured_image = "Επιλεγμένη εικόνα"
+featured_link = "Επιλεγμένος σύνδεσμος"
+featured_quote = "Επιλεγμένη προσφορά"
+featured_video = "Επιλεγμένο βίντεο"
+feed_url = "Διεύθυνση URL ροής"
+filename = "Όνομα αρχείου"
+follow = "Ακολούθησε"
+for_google_site_verification_meta = "Για meta google-site-verification"
+front_page_displays = "Εμφάνιση πρώτης σελίδας"
+full_post = "Πλήρης ανάρτηση"
+general = "Γενικά"
+general_settings = "Γενικές ρυθμίσεις"
+get_one_here = "Αποκτήστε ένα εδώ"
+github_pre_release = "Github προέκδοση"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (κληρονομιά)"
+google_search_console = "Google Search Console"
+home = "Αρχική"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Αν αφήσουμε κενό, θα το αποσπάσουμε από το παρακάτω περιεχόμενο"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Εάν το url μείνει κενό, θα χρησιμοποιήσουμε τον τίτλο της σελίδας"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Εάν το url μείνει κενό, θα χρησιμοποιήσουμε τον τίτλο της ανάρτησης"
+image_post = "Ανάρτηση εικόνας"
+image_post_comment = "Δημιουργία ανάρτησης ιστολογίου με επιλεγμένη εικόνα"
+import = "Εισαγωγή"
+import_feed = "Έναρξη εισαγωγής ροής"
+import_rss = "Εισαγωγή RSS"
+import_rss_feed_2.0 = "Εισαγωγή RSS Feed 2.0"
+insert_image = "Εισαγωγή εικόνας"
+invalid_error = "ΣΦΑΛΜΑ: Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης"
+language = "Γλώσσα συστήματος"
+link_name = "Όνομα συνδέσμου"
+link_post = "Ανάρτηση συνδέσμου"
+link_post_comment = "Δημιουργία ανάρτησης ιστολογίου με επιλεγμένο σύνδεσμο"
+login = "Είσοδος"
+login_page = "Σελίδα σύνδεσης"
+logout = "Αποσύνδεση"
+menu = "Μενού"
+menus = "Επεξεργαστής μενού"
+meta_description = "Meta περιγραφή"
+meta_description_character = "Χαρακτήρας μετα περιγραφής"
+metatags = "Metatags"
+metatags_settings = "Ρυθμίσεις Metatags"
+mine = "Δικά μου"
+more = "Περισσότερα"
+my_draft = "Τα προσχέδιά μου"
+my_posts = "Οι αναρτήσεις μου"
+name = "Όνομα"
+newer = "Νεότερα"
+next = "Επόμενο"
+next_post = "Επόμενο post"
+no_available_backup = "Δεν υπάρχει διαθέσιμο αντίγραφο ασφαλείας αυτή τη στιγμή."
+no_draft_found = "Δεν βρέθηκε προσχέδιο"
+no_posts_found = "Δεν βρέθηκαν δημοσιεύσεις"
+no_related_post_found = "Δεν βρέθηκε σχετική ανάρτηση"
+no_scheduled_posts_found = "Δεν υπάρχουν προγραμματισμένες αναρτήσεις!"
+no_search_results = "Δεν υπάρχουν αποτελέσματα αναζήτησης"
+nope = "Όχι"
+not = "Όχι"
+older = "Παλαιότερα"
+only = "Μόνο"
+operations = "Λειτουργίες"
+page = "Σελίδα"
+page_generation_time = "Χρόνος δημιουργίας σελίδας"
+pages = "Σελίδες"
+pass_error = "Απαιτείται το πεδίο κωδικού πρόσβασης"
+password = "Κωδικός πρόσβασης"
+performance = "Απόδοση"
+performance_settings = "Ρυθμίσεις απόδοσης"
+permalink = "Permalink"
+popular = "Δημοφιλές"
+popular_posts = "Δημοφιλείς αναρτήσεις"
+popular_posts_widget = "Γραφικό στοιχείο δημοφιλών αναρτήσεων"
+popular_posts_widget_at_most = "Γραφικό στοιχείο δημοφιλών αναρτήσεων το πολύ"
+popular_tags = "Δημοφιλείς ετικέτες"
+post_by_author = "Αναρτήσεις από αυτόν τον συγγραφέα"
+posted_in = "Δημοσιεύτηκε στο"
+posted_on = "Δημοσιεύτηκε στις"
+posts = "Αναρτήσεις"
+posts_by = "Αναρτήσεις από"
+posts_draft = "Προσχέδιο αναρτήσεων"
+posts_in_archive_page_at_most = "Το πολύ δημοσιεύσεις στη σελίδα αρχείου"
+posts_in_category_page_at_most = "Το πολύ δημοσιεύσεις στη σελίδα κατηγορίας"
+posts_in_front_page_show_at_most = "Οι αναρτήσεις στην πρώτη σελίδα εμφανίζονται το πολύ"
+posts_in_profile_page_at_most = "Το πολύ δημοσιεύσεις στη σελίδα προφίλ"
+posts_in_search_result_at_most = "Το πολύ δημοσιεύσεις στο αποτέλεσμα αναζήτησης"
+posts_in_tag_page_at_most = "Το πολύ δημοσιεύσεις στη σελίδα ετικέτας"
+posts_in_type_page_at_most = "Το πολύ δημοσιεύσεις στη σελίδα τύπου"
+posts_index_settings = "Ρυθμίσεις ευρετηρίου αναρτήσεων"
+posts_list = "Λίστα αναρτήσεων"
+posts_tagged = "Δημοσιεύσεις με ετικέτα"
+posts_with_type = "Δημοσιεύσεις με τύπο"
+pre_release = "Προκυκλοφορία"
+prev = "Προηγούμενο"
+prev_post = "Προηγούμενη ανάρτηση"
+preview = "Προεπισκόπηση"
+profile_for = "Προφίλ για"
+proudly_powered_by = "Περήφανα τροφοδοτείται από"
+publish = "Δημοσίευση"
+publish_draft = "Δημοσίευση προχείρου"
+published = "Δημοσιεύτηκε"
+quote_post = "Παράθεση ανάρτησης"
+quote_post_comment = "Δημιουργία ανάρτησης ιστολογίου με επιλεγμένο απόσπασμα"
+rss_character = "χαρακτήρας RSS"
+rss_feeds_show_the_most_recent = "Οι ροές RSS εμφανίζουν τις πιο πρόσφατες"
+rss_settings = "Ρυθμίσεις RSS"
+read_more_text = "Διαβάστε περισσότερα κείμενο"
+read_more_text_placeholder = "Διαβάστε περισσότερα"
+reading = "Διαβάζοντας"
+reading_settings = "Ρυθμίσεις ανάγνωσης"
+recaptcha = "reCAPTCHA"
+recent_posts = "Πρόσφατες δημοσιεύσεις"
+recent_posts_widget_at_most = "Γραφικό στοιχείο πρόσφατων αναρτήσεων το πολύ"
+regular_post = "Κανονική ανάρτηση"
+regular_post_comment = "Δημιουργία κανονικής ανάρτησης ιστολογίου"
+related_posts = "Σχετικές αναρτήσεις"
+related_widget_posts_at_most = "Σχετικές αναρτήσεις widget το πολύ"
+revert_to_draft = "Επαναφορά στο πρόχειρο"
+save = "Αποθήκευση"
+save_config = "Αποθήκευση διαμόρφωσης"
+save_edit = "Αποθήκευση επεξεργασίας"
+save_menu = "Αποθήκευση μενού"
+save_as_draft = "Αποθήκευση ως πρόχειρο"
+save_category = "Αποθήκευση κατηγορίας"
+scheduled = "Προγραμματισμένες"
+scheduled_posts = "Προγραμματισμένες αναρτήσεις"
+scheduled_tips = "Δημοσιεύοντας μια ανάρτηση με μελλοντική ημερομηνία ή ώρα, θα μεταφερθεί στις προγραμματισμένες αναρτήσεις"
+search = "Αναζήτηση"
+search_for = "Αναζήτηση"
+search_results_for = "Αποτελέσματα αναζήτησης για"
+search_results_not_found = "Δεν βρέθηκαν αποτελέσματα αναζήτησης!"
+secret_key = "Μυστικό κλειδί"
+settings = "Ρυθμίσεις"
+sign_in_to_start_your_session = "Συνδεθείτε για επεξεργασία περιεχομένου"
+site_key = "Κλειδί τοποθεσίας"
+sitemap = "Χάρτης ιστότοπου"
+slug = "Slug"
+social_media = "Μέσα κοινωνικής δικτύωσης"
+static_page = "Στατική σελίδα"
+static_page_comment = "Δημιουργία στατικής σελίδας"
+static_pages = "Στατικές σελίδες"
+summary = "Σύνοψη"
+summary_character = "Σύνοψη χαρακτήρα"
+tag = "Ετικέτα"
+tagcloud_widget_at_most = "TagCloud το πολύ"
+tagline = "Tagline"
+tagline_placeholder = "Πλατφόρμα ιστολογίων PHP χωρίς βάση δεδομένων"
+tagline_description = "Με λίγα λόγια, εξηγήστε τι είναι αυτό το ιστολόγιο."
+tags = "Ετικέτες"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Αυτός είναι κώδικας παλαιού τύπου. Συνήθως νέα αναλυτικά στοιχεία που δημιουργούνται χρησιμοποιώντας gtag.js"
+this_page_doesnt_exist = "Αυτή η σελίδα δεν υπάρχει!"
+time = "Ώρα"
+timezone = "Ζώνη ώρας"
+title = "Τίτλος"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Για να χρησιμοποιήσετε τα σχόλια του Disqus ή του Facebook, πρέπει να δώσετε το σύντομο όνομα του Disqus ή το αναγνωριστικό εφαρμογής του Facebook."
+token_error = "Το CSRF Token δεν είναι σωστό"
+tools = "Εργαλεία"
+twitter_account = "Λογαριασμός Twitter"
+type_to_search = "Aναζήτηση"
+uncategorized = "Χωρίς κατηγορία"
+uncategorized_comment = "Θέματα που δεν χρειάζονται κατηγορία ή δεν ταιριάζουν σε καμία άλλη υπάρχουσα κατηγορία"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Άγνωστη μορφή ροής"
+update = "Ενημέρωση"
+update_available = "Ενημέρωση διαθεσιμότητας"
+update_draft = "Ενημέρωση σχεδίου"
+update_post = "Ενημέρωση ανάρτησης"
+update_to = "Ενημέρωση σε"
+upload = "Μεταφόρτωση"
+user = "Χρήστης"
+user_error = "Απαιτείται πεδίο χρήστη"
+valid_values_range_from_0_to_1.0._see = "Οι έγκυρες τιμές κυμαίνονται από 0,0 έως 1,0. Δείτε"
+video_post = "Βίντεο ανάρτηση"
+video_post_comment = "Δημιουργία ανάρτησης ιστολογίου με επιλεγμένο βίντεο"
+view = "Προβολή"
+view_post = "Προβολή"
+views = "Προβολές"
+widget = "Widget"
+widget_settings = "Ρυθμίσεις widget"
+would_you_like_to_try_our = "Θα θέλατε να δοκιμάσετε το "
+yes_im_in = "Ναι, είμαι μέσα"
+yes_not_recommended = "Ναι (δεν συνιστάται)"
+you_dont_have_permission_to_access_this_page = "Δεν έχετε άδεια πρόσβασης σε αυτήν τη σελίδα"
+your_new_config_key = "Το νέο κλειδί διαμόρφωσης"
+your_new_value = "Η νέα σας αξία"
+your_backups = "Τα αντίγραφα ασφαλείας σας (Backup)"
+your_latest_blog_posts = "Οι πιο πρόσφατες αναρτήσεις ιστολογίου σας"
+your_recent_posts = "Οι πρόσφατες αναρτήσεις σας"
+by = "από"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Χρησιμοποιήστε Ctrl
/CMD
+ F
για να αναζητήσετε το κλειδί ή την τιμή διαμόρφωσης."
+homepage = "αρχική σελίδα"
+instead = "αντί"
+item_class = "Εισαγωγή κλάσης CSS"
+item_slug = "Εισαγωγή URL συνδέσμου"
+now = "τώρα"
+of = "από"
+optional = "προαιρετικό"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "επαγγελματικές συμβουλές: Μπορείτε να δημιουργήσετε προσαρμοσμένα κλειδιά διαμόρφωσης και να εκτυπώσετε την τιμή του κλειδιού διαμόρφωσης οπουδήποτε στο πρότυπό σας."
+read_more = "διαβάστε περισσότερα"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+security = "Security"
+security_settings = "Security Settings"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/en_US.ini b/lang/en_US.ini
new file mode 100755
index 0000000..2727ad2
--- /dev/null
+++ b/lang/en_US.ini
@@ -0,0 +1,332 @@
+about = "About"
+add_category = "Add category"
+add_content = "Add content"
+add_link = "Add link"
+add_menu = "Add menu"
+add_new_page = "Add new page"
+add_new_post = "Add new post"
+add_source_link_optional = "Add source link (optional)"
+add_sub = "Add sub page"
+address_url = "Address (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Admin panel style based on"
+all_blog_posts = "All blog posts"
+all_cache_has_been_deleted = "All cache has been deleted !"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Archives"
+are_you_sure_you_want_to_delete_ = "Are you sure you want to delete %s?"
+at_the_moment_you_are_using_auto_generated_menu = "At the moment you are using auto generated menu."
+audio_post = "Audio post"
+audio_post_comment = "Creating blog post with featured audio"
+author = "Author"
+author_description = "Just another HTMLy user"
+back_to = "Back to"
+backup = "Backup"
+blog_description = "In one paragraph, tell us more about your blog."
+blog_theme = "Blog theme"
+blog_title = "Blog title"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "Blog posts displayed as"
+breadcrumb_home_text = "Breadcrumb home text"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "By using this importer you are agree if the feed is yours or at least you have the authority to publish it."
+css_class_optional = "CSS Class (optional)"
+cache_expiration = "Cache expiration (in hours)"
+cache_off = "Cache off"
+cache_timestamp = "Cache timestamp"
+cancel = "Cancel"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "Captcha failed"
+categories = "Categories"
+category = "Category"
+check_update = "Check for update"
+clear_cache = "Clear cache"
+comma_separated_values = "Comma separated values"
+comment_system = "Comment system"
+comments = "Comments"
+config = "Config"
+congrats_you_have_the_latest_version_of_htmly = "Congrats! You have the latest version of HTMLy."
+content = "Content"
+contents = "Contents"
+copyright_line = "Copyright line"
+copyright_line_placeholder = "(c) Your name."
+create_backup = "Create backup"
+created = "Created"
+custom = "Custom"
+custom_settings = "Custom Settings"
+dashboard = "Dashboard"
+date = "Date"
+date_format = "Date Format"
+delete = "Delete"
+description = "Description"
+disable = "Disable"
+disabled = "Disabled"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Draft"
+edit = "Edit"
+edit_category = "Edit category"
+edit_post = "Edit"
+edit_profile = "Edit profile"
+enable = "Enable"
+enable_blog_url = "Enable blog URL"
+enter_image_url = "Enter image URL"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook page"
+featured_audio = "Featured Audio"
+featured_image = "Featured Image"
+featured_link = "Featured Link"
+featured_quote = "Featured Quote"
+featured_video = "Featured Video"
+feed_url = "Feed URL"
+filename = "Filename"
+follow = "Follow"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Front page displays"
+full_post = "Full post"
+general = "General"
+general_settings = "General Settings"
+get_one_here = "Obtain your reCaptcha keys here: "
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Home"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "If leave empty we will excerpt it from the content below"
+if_the_url_is_left_empty_we_will_use_the_page_title = "If the url leave empty we will use the page title"
+if_the_url_is_left_empty_we_will_use_the_post_title = "If the url leave empty we will use the post title"
+image_post = "Image post"
+image_post_comment = "Creating blog post with featured image"
+import = "Import"
+import_feed = "Start Import Feed"
+import_rss = "Import RSS"
+import_rss_feed_2.0 = "Import RSS Feed 2.0"
+insert_image = "Insert Image"
+invalid_error = "ERROR: Invalid username or password"
+language = "System Language"
+link_name = "Link name"
+link_post = "Link post"
+link_post_comment = "Creating blog post with featured link"
+login = "Login"
+login_page = "Login page"
+logout = "Logout"
+menu = "Menu"
+menus = "Menu Editor"
+meta_description = "Meta description"
+meta_description_character = "Meta description character"
+metatags = "Metatags"
+metatags_settings = "Metatags Settings"
+mine = "Mine"
+more = "More"
+my_draft = "My draft"
+my_posts = "My posts"
+name = "Name"
+newer = "Newer"
+next = "Next"
+next_post = "Next post"
+no_available_backup = "No available backup at this time."
+no_draft_found = "No draft found"
+no_posts_found = "No posts found"
+no_related_post_found = "No related post found"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Nope"
+not = "No"
+older = "Older"
+only = "Only"
+operations = "Operations"
+page = "Page"
+page_generation_time = "Page generation time"
+pages = "Pages"
+pass_error = "Password field is required"
+password = "Password"
+performance = "Performance"
+performance_settings = "Performance Settings"
+permalink = "Permalink"
+popular = "Popular"
+popular_posts = "Popular posts"
+popular_posts_widget = "Popular posts widget"
+popular_posts_widget_at_most = "Popular posts widget at most"
+popular_tags = "Popular tags"
+post_by_author = "Posts by this author"
+posted_in = "Posted in"
+posted_on = "Posted on"
+posts = "Posts"
+posts_by = "Post by"
+posts_draft = "Posts draft"
+posts_in_archive_page_at_most = "Posts in archive page at most"
+posts_in_category_page_at_most = "Posts in category page at most"
+posts_in_front_page_show_at_most = "Posts in front page show at most"
+posts_in_profile_page_at_most = "Posts in profile page at most"
+posts_in_search_result_at_most = "Posts in search result at most"
+posts_in_tag_page_at_most = "Posts in tag page at most"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Posts index settings"
+posts_list = "Posts list"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "Previous"
+prev_post = "Previous Post"
+preview = "Preview"
+profile_for = "Profile for"
+proudly_powered_by = "Proudly powered by"
+publish = "Publish"
+publish_draft = "Publish draft"
+published = "Published"
+quote_post = "Quote post"
+quote_post_comment = "Creating blog post with featured quote"
+rss_character = "RSS character"
+rss_feeds_show_the_most_recent = "RSS feeds show the most recent"
+rss_settings = "RSS settings"
+read_more_text = "Read more text"
+read_more_text_placeholder = "Read more"
+reading = "Reading"
+reading_settings = "Reading Settings"
+recaptcha = "Login Protection"
+recent_posts = "Recent posts"
+recent_posts_widget_at_most = "Recent posts widget at most"
+regular_post = "Regular post"
+regular_post_comment = "Creating regular blog post"
+related_posts = "Related posts"
+related_widget_posts_at_most = "Related widget posts at most"
+revert_to_draft = "Revert to draft"
+save = "Save"
+save_config = "Save config"
+save_edit = "Save Edit"
+save_menu = "Save menu"
+save_as_draft = "Save as draft"
+save_category = "Save category"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Search"
+search_for = "Search for"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Secret Key"
+settings = "Settings"
+sign_in_to_start_your_session = "Sign in to start your session"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Static page"
+static_page_comment = "Creating static page"
+static_pages = "Static pages"
+summary = "Summary"
+summary_character = "Summary character"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Tagline"
+tagline_placeholder = "Databaseless PHP Blogging Platform"
+tagline_description = "In a few words, explain what this blog is about."
+tags = "Tags"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "This page doesn't exist !"
+time = "Time"
+timezone = "Timezone"
+title = "Title"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "To use Disqus or Facebook comments you need to provide your Disqus shortname or your Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "Tools"
+twitter_account = "Twitter account"
+type_to_search = "Type to search"
+uncategorized = "Uncategorized"
+uncategorized_comment = "Topics that don't need a category, or don't fit into any other existing category"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Update"
+update_available = "Update Available"
+update_draft = "Update draft"
+update_post = "Update post"
+update_to = "Update to"
+upload = "Upload"
+user = "User"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Valid values range from 0.0 to 1.0. See"
+video_post = "Video post"
+video_post_comment = "Creating blog post with featured video"
+view = "View"
+view_post = "View"
+views = "Views"
+widget = "Widget"
+widget_settings = "Widget Settings"
+would_you_like_to_try_our = "Would you like to try our "
+yes_im_in = "Yes I'm in"
+yes_not_recommended = "Yes (not recommended)"
+you_dont_have_permission_to_access_this_page = "You don't have permission to access this page"
+your_new_config_key = "Your New Config Key"
+your_new_value = "Your New Value"
+your_backups = "Your backups"
+your_latest_blog_posts = "Your latest blog posts"
+your_recent_posts = "Your recent posts"
+by = "by"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Use Ctrl
/CMD
+ F
to search for your config key or value."
+homepage = "homepage"
+instead = "instead"
+item_class = "Insert CSS class"
+item_slug = "Insert Link URL"
+now = "now"
+of = "of"
+optional = "optional"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro tips: You can create custom config keys and print out your config key value anywhere in your template."
+read_more = "read more"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/eo_EO.ini b/lang/eo_EO.ini
new file mode 100755
index 0000000..8e78432
--- /dev/null
+++ b/lang/eo_EO.ini
@@ -0,0 +1,332 @@
+about = "Pri"
+add_category = "Aldoni kategorion"
+add_content = "Aldoni enhavon"
+add_link = "Aldoni ligilon"
+add_menu = "Aldoni menuon"
+add_new_page = "Aldoni novan paĝon"
+add_new_post = "Aldoni novan afiŝon"
+add_source_link_optional = "Aldoni fontligilon (nedeviga)"
+add_sub = "Aldoni subpaĝon"
+address_url = "Adreso (URL)"
+admin = "Administranto"
+admin_panel_style_based_on = "Aspekto de la administrpanelo bazita sur"
+all_blog_posts = "Ĉiuj blogafiŝoj"
+all_cache_has_been_deleted = "Ĉiuj kaŝmemoraĵoj forigitaj!"
+all_posts_tagged = "Ĉiuj afiŝoj etikeditaj"
+archive_for = "Arkivo por"
+archive_page_for = "Arkiva paĝo por"
+archives = "Arkivoj"
+are_you_sure_you_want_to_delete_ = "Ĉu vi certas, ke vi volas forigi %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Nuntempe vi uzas aŭtomate generitan menuon."
+audio_post = "Sonafiŝo"
+audio_post_comment = "Krei blogafiŝon kun elstarigita sono"
+author = "Aŭtoro"
+author_description = "Nur alia HTMLy-uzanto"
+back_to = "Reen al"
+backup = "Sekurkopio"
+blog_description = "En unu paragrafo, rakontu pli pri via blogo."
+blog_theme = "Bloga etoso"
+blog_title = "Bloga titolo"
+blog_title_placeholder = "Mia HTMLy Blogo"
+blog_posts_displayed_as = "Blogafiŝoj montritaj kiel"
+breadcrumb_home_text = "Hejma teksto por navigilo"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Per uzo de ĉi tiu enportilo vi konfirmas, ke la fluo apartenas al vi aŭ ke vi almenaŭ havas la rajton publikigi ĝin."
+css_class_optional = "CSS-klaso (nedeviga)"
+cache_expiration = "Kaŝmemora eksvalidiĝo (en horoj)"
+cache_off = "Kaŝmemoro malŝaltita"
+cache_timestamp = "Kaŝmemora tempindiko"
+cancel = "Nuligi"
+cannot_read_feed_content = "Ne eblas legi la enhavon de la fluo"
+captcha_error = "Captcha malsukcesis"
+categories = "Kategorioj"
+category = "Kategorio"
+check_update = "Kontroli ĝisdatigon"
+clear_cache = "Forigi kaŝmemoron"
+comma_separated_values = "Valoroj disigitaj per komo"
+comment_system = "Komenta sistemo"
+comments = "Komentoj"
+config = "Agordoj"
+congrats_you_have_the_latest_version_of_htmly = "Gratulon! Vi havas la plej novan version de HTMLy."
+content = "Enhavo"
+contents = "Enhavoj"
+copyright_line = "Kopirajta linio"
+copyright_line_placeholder = "(c) Via nomo."
+create_backup = "Krei sekurkopion"
+created = "Kreita"
+custom = "Propraj"
+custom_settings = "Propraj agordoj"
+dashboard = "Stirpanelo"
+date = "Dato"
+date_format = "Data formato"
+delete = "Forigi"
+description = "Priskribo"
+disable = "Malebligi"
+disabled = "Malebligita"
+disqus_shortname = "Disqus mallongnomo"
+disqus_shortname_placeholder = "htmly"
+draft = "Malneto"
+edit = "Redakti"
+edit_category = "Redakti kategorion"
+edit_post = "Redakti"
+edit_profile = "Redakti profilon"
+enable = "Ebligi"
+enable_blog_url = "Ebligi blogan URL"
+enter_image_url = "Enigi bildan URL"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook paĝo"
+featured_audio = "Elstarigita sono"
+featured_image = "Elstarigita bildo"
+featured_link = "Elstarigita ligilo"
+featured_quote = "Elstarigita citaĵo"
+featured_video = "Elstarigita filmeto"
+feed_url = "Flua URL"
+filename = "Dosiernomo"
+follow = "Sekvi"
+for_google_site_verification_meta = "Por google-site-verification meta"
+front_page_displays = "Ĉefpaĝo montras"
+full_post = "Plena afiŝo"
+general = "Ĝenerala"
+general_settings = "Ĝeneralaj agordoj"
+get_one_here = "Akiru viajn reCaptcha-ŝlosilojn ĉi tie: "
+github_pre_release = "GitHub antaŭeldono"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (malnova)"
+google_search_console = "Google Search Console"
+home = "Hejmo"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Se lasite malplena, ni eltiros ĝin el la malsupra enhavo"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Se la URL restas malplena, ni uzos la paĝan titolon"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Se la URL restas malplena, ni uzos la afiŝan titolon"
+image_post = "Bilda afiŝo"
+image_post_comment = "Krei blogafiŝon kun elstarigita bildo"
+import = "Importi"
+import_feed = "Komenci importi fluon"
+import_rss = "Importi RSS"
+import_rss_feed_2.0 = "Importi RSS-fluon 2.0"
+insert_image = "Enmeti bildon"
+invalid_error = "ERARO: Malĝusta uzantnomo aŭ pasvorto"
+language = "Sistema lingvo"
+link_name = "Ligila nomo"
+link_post = "Ligila afiŝo"
+link_post_comment = "Krei blogafiŝon kun elstarigita ligilo"
+login = "Ensaluti"
+login_page = "Ensaluta paĝo"
+logout = "Elsaluti"
+menu = "Menuo"
+menus = "Menua redaktilo"
+meta_description = "Metapriskribo"
+meta_description_character = "Signoj por metapriskribo"
+metatags = "Meta-etikedoj"
+metatags_settings = "Meta-etikedaj agordoj"
+mine = "Mia"
+more = "Pli"
+my_draft = "Mia malneto"
+my_posts = "Miaj afiŝoj"
+name = "Nomo"
+newer = "Pli novaj"
+next = "Sekva"
+next_post = "Sekva afiŝo"
+no_available_backup = "Neniu disponebla sekurkopio nuntempe."
+no_draft_found = "Neniu malneto trovita"
+no_posts_found = "Neniu afiŝo trovita"
+no_related_post_found = "Neniu rilata afiŝo trovita"
+no_scheduled_posts_found = "Neniu planita afiŝo trovita!"
+no_search_results = "Neniuj serĉrezultoj"
+nope = "Ne"
+not = "Ne"
+older = "Pli malnova"
+only = "Nur"
+operations = "Operacioj"
+page = "Paĝo"
+page_generation_time = "Generotempo de la paĝo"
+pages = "Paĝoj"
+pass_error = "La pasvorta kampo estas deviga"
+password = "Pasvorto"
+performance = "Rendimento"
+performance_settings = "Rendimentaj agordoj"
+permalink = "Fiksligilo"
+popular = "Populara"
+popular_posts = "Popularaj afiŝoj"
+popular_posts_widget = "Fenestreto pri popularaj afiŝoj"
+popular_posts_widget_at_most = "Popularaj afiŝoj fenestreto maksimume"
+popular_tags = "Popularaj etikedoj"
+post_by_author = "Afiŝoj de tiu aŭtoro"
+posted_in = "Afiŝita en"
+posted_on = "Afiŝita je"
+posts = "Afiŝoj"
+posts_by = "Afiŝoj de"
+posts_draft = "Malnetaj afiŝoj"
+posts_in_archive_page_at_most = "Afiŝoj en arkiva paĝo maksimume"
+posts_in_category_page_at_most = "Afiŝoj en kategoria paĝo maksimume"
+posts_in_front_page_show_at_most = "Afiŝoj en ĉefpaĝo maksimume"
+posts_in_profile_page_at_most = "Afiŝoj en profilpaĝo maksimume"
+posts_in_search_result_at_most = "Afiŝoj en serĉrezultoj maksimume"
+posts_in_tag_page_at_most = "Afiŝoj en etikedpaĝo maksimume"
+posts_in_type_page_at_most = "Afiŝoj en tipa paĝo maksimume"
+posts_index_settings = "Agordoj de afiŝindekso"
+posts_list = "Listo de afiŝoj"
+posts_tagged = "Afiŝoj etikeditaj"
+posts_with_type = "Afiŝoj kun tipo"
+pre_release = "Antaŭeldono"
+prev = "Antaŭa"
+prev_post = "Antaŭa afiŝo"
+preview = "Antaŭrigardo"
+profile_for = "Profilo por"
+proudly_powered_by = "Fiere funkciigita de"
+publish = "Publikigi"
+publish_draft = "Publikigi malneton"
+published = "Publikigita"
+quote_post = "Citaĵa afiŝo"
+quote_post_comment = "Krei blogafiŝon kun elstarigita citaĵo"
+rss_character = "RSS-signo"
+rss_feeds_show_the_most_recent = "RSS-fluoj montras la plej freŝajn"
+rss_settings = "RSS-agordoj"
+read_more_text = "Legu pli teksto"
+read_more_text_placeholder = "Legu pli"
+reading = "Legado"
+reading_settings = "Legadaj agordoj"
+recaptcha = "Protekto de ensaluto"
+recent_posts = "Lastatempaj afiŝoj"
+recent_posts_widget_at_most = "Lastatempaj afiŝoj fenestreto maksimume"
+regular_post = "Ordinara afiŝo"
+regular_post_comment = "Krei ordinaran blogafiŝon"
+related_posts = "Rilataj afiŝoj"
+related_widget_posts_at_most = "Rilataj afiŝoj fenestreto maksimume"
+revert_to_draft = "Reveni al malneto"
+save = "Konservi"
+save_config = "Konservi agordojn"
+save_edit = "Konservi redakton"
+save_menu = "Konservi menuon"
+save_as_draft = "Konservi kiel malneto"
+save_category = "Konservi kategorion"
+scheduled = "Planita"
+scheduled_posts = "Planitaj afiŝoj"
+scheduled_tips = "Se afiŝo havas estontan daton/horon, ĝi aperos en planitaj afiŝoj"
+search = "Serĉi"
+search_for = "Serĉi por"
+search_results_for = "Serĉrezultoj por"
+search_results_not_found = "Neniuj serĉrezultoj trovita!"
+secret_key = "Sekreta ŝlosilo"
+settings = "Agordoj"
+sign_in_to_start_your_session = "Ensalutu por komenci vian sesion"
+site_key = "Retej-ŝlosilo"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Sociaj retoj"
+static_page = "Statika paĝo"
+static_page_comment = "Krei statikan paĝon"
+static_pages = "Statikaj paĝoj"
+summary = "Resumo"
+summary_character = "Resumo signo"
+tag = "Etikedo"
+tagcloud_widget_at_most = "Etikednubo maksimume"
+tagline = "Subtitolo"
+tagline_placeholder = "Sendatumbaza PHP Bloga Platformo"
+tagline_description = "En kelkaj vortoj, klarigu pri kio temas via blogo."
+tags = "Etikedoj"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Tio estas malnova kodo; kutime novkreita Analytics uzas gtag.js"
+this_page_doesnt_exist = "Ĉi tiu paĝo ne ekzistas!"
+time = "Tempo"
+timezone = "Horzono"
+title = "Titolo"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Por uzi Disqus aŭ Facebook-komentojn, vi devas provizi vian Disqus-mallongnomon aŭ Facebook App ID."
+token_error = "CSRF-ĵetono ne ĝustas"
+tools = "Iloj"
+twitter_account = "Twitter-konto"
+type_to_search = "Tajpu por serĉi"
+uncategorized = "Senkategoriaj"
+uncategorized_comment = "Temoj, kiuj ne bezonas kategorion aŭ ne konvenas al ajna alia ekzistanta kategorio"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Nekonata flua formato"
+update = "Ĝisdatigi"
+update_available = "Disponeblas ĝisdatigo"
+update_draft = "Ĝisdatigi malneton"
+update_post = "Ĝisdatigi afiŝon"
+update_to = "Ĝisdatigi al"
+upload = "Alŝuti"
+user = "Uzanto"
+user_error = "La uzanta kampo estas deviga"
+valid_values_range_from_0_to_1.0._see = "Validaj valoroj intervalas de 0.0 ĝis 1.0. Vidu"
+video_post = "Filmeta afiŝo"
+video_post_comment = "Krei blogafiŝon kun elstarigita filmeto"
+view = "Vidi"
+view_post = "Vidi"
+views = "Vidoj"
+widget = "Fenestreto"
+widget_settings = "Fenestreta agordo"
+would_you_like_to_try_our = "Ĉu vi ŝatus provi nian "
+yes_im_in = "Jes, mi ŝatus"
+yes_not_recommended = "Jes (ne rekomendita)"
+you_dont_have_permission_to_access_this_page = "Vi ne rajtas aliri ĉi tiun paĝon"
+your_new_config_key = "Via nova agordo-ŝlosilo"
+your_new_value = "Via nova valoro"
+your_backups = "Viaj sekurkopioj"
+your_latest_blog_posts = "Viaj plej novaj blogafiŝoj"
+your_recent_posts = "Viaj lastatempaj afiŝoj"
+by = "de"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "rimarko: Uzu Ctrl
/CMD
+F
por serĉi vian agordo-ŝlosilon aŭ valoron."
+homepage = "Hejmpaĝo"
+instead = "anstataŭ"
+item_class = "Enmetu CSS-klason"
+item_slug = "Enmetu URL-on por la ligilo"
+now = "nun"
+of = "de"
+optional = "nedeviga"
+post_your_post_slug = "/post/via-afiŝ-limako"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "profesiaj konsiloj: Vi povas krei proprajn agordo-ŝlosilojn kaj printi ilian valoron ie ajn en via ŝablono."
+read_more = "Legu pli"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/jaro/monato/via-afiŝ-limako"
+your_key = "via.ŝlosilo"
+summary_behavior = "Konduto de resumo"
+default = "Defaŭlta"
+check_shortcode = "Kontroli la mallongigon"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "En resumreĝimo, ĉu unue kontroli la mallongigon antaŭ ol mallongigi la enhavon ĝis x signoj"
+manage_users = "Administri uzantojn"
+add_user = "Aldoni uzanton"
+username = "Uzantnomo"
+role = "Rolo"
+change_password = "Ŝanĝi pasvorton"
+config_mfa = "Agordi MFA"
+mfacode = "MFA-kodo"
+verify_code = "Kontroli la MFA-kodon"
+verify_password = "Kontroli la nunan pasvorton"
+manualsetupkey = "Vi ankaŭ povas mane enmeti la agordan ŝlosilon"
+mfa_error = "MFA-kodo estas malĝusta"
+disablemfa = "Malebligi MFA"
+enable_auto_save = "Ebligi aŭtomatan konservadon"
+explain_autosave = "Kiam ebligita, nova enhavo aŭ malneto estos aŭtomate konservita ĉiun 60 sekundojn."
+login_protect_system = "Ensaluta protekta sistemo"
+cloudflare_info = "Rigardu la dokumentaron de Cloudflare pri Turnstile: "
+mfa_config = "Plurpaŝa Aŭtentikigo (MFA)"
+set_mfa_globally = "Agordi la staton de MFA"
+explain_mfa = "Kiam ebligita, MFA estas nedeviga por ĉiuj uzantoj. Kiam malebligita, neniu povas uzi ĝin kaj la kampo en la ensaluta paĝo kaŝiĝas."
+set_version_publicly = "Versio videbleco"
+explain_version = "Defaŭlte la versio de HTMLy videblas en la fontkodo, sed iuj administrantoj eble preferas kaŝi ĝin."
+focus_mode = "Ŝalti fokuson"
+writing = "Verkado"
+writing_settings = "Verkadaj agordoj"
+security = "Sekureco"
+security_settings = "Sekurecaj agordoj"
+msg_error_field_req_username = "La kampo Uzantnomo estas deviga."
+msg_error_field_req_password = "La kampo Pasvorto estas deviga."
+msg_error_field_req_title = "La kampo Titolo estas deviga."
+msg_error_field_req_content = "La kampo Enhavo estas deviga."
+msg_error_field_req_tag = "La kampo Etikedo estas deviga."
+msg_error_field_req_image = "La kampo Bildo estas deviga."
+msg_error_field_req_video = "La kampo Filmeto estas deviga."
+msg_error_field_req_link = "La kampo Ligilo estas deviga."
+msg_error_field_req_quote = "La kampo Citaĵo estas deviga."
+msg_error_field_req_audio = "La kampo Sono estas deviga."
+msg_error_field_req_feedurl = "Vi devas precizigi la fluan URL-on."
+rss_feeds_description_select = "RSS-priskribo"
+rss_description_body = "Korpo de afiŝo"
+rss_description_meta = "Metapriskribo de afiŝo"
+admin_theme = "Admin-etoso"
+admin_theme_light = "Hela"
+admin_theme_dark = "Malhela"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/es_ES.ini b/lang/es_ES.ini
new file mode 100755
index 0000000..7f09ca6
--- /dev/null
+++ b/lang/es_ES.ini
@@ -0,0 +1,332 @@
+about = "Acerca de"
+add_category = "Añadir categoría"
+add_content = "Agregar contenido"
+add_link = "Agregar enlace"
+add_menu = "Agregar menú"
+add_new_page = "Agregar nueva página"
+add_new_post = "Agregar nueva publicación"
+add_source_link_optional = "Agregar enlace de origen (opcional)"
+add_sub = "Agregar sub categoría"
+address_url = "Address (URL)"
+admin = "Administración"
+admin_panel_style_based_on = "Estilo del panel de administración basado en"
+all_blog_posts = "Todas las publicaciones del blog"
+all_cache_has_been_deleted = "¡Se ha eliminado todo el caché!"
+all_posts_tagged = "Todas las publicaciones etiquetadas"
+archive_for = "Archivar para"
+archive_page_for = "Página de archivo para"
+archives = "Archivo"
+are_you_sure_you_want_to_delete_ = "Está seguro de que desea eliminar % s ?"
+at_the_moment_you_are_using_auto_generated_menu = "En este momento estás utilizando el menú generado automáticamente."
+audio_post = "Publicación de audio"
+audio_post_comment = "Creación de una publicación de blog con audio destacado"
+author = "Autor"
+author_description = "Sólo otro usuario HTMLy"
+back_to = "Volver a"
+backup = "Respaldo"
+blog_description = "En un párrafo, cuéntanos más sobre tu blog."
+blog_theme = "Tema del blog"
+blog_title = "Título del blog"
+blog_title_placeholder = "Mi HTMLy Blog"
+blog_posts_displayed_as = "Las publicaciones del blog se muestran como"
+breadcrumb_home_text = "Texto de inicio de ruta de navegación"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Al utilizar este importador, aceptas si el feed es tuyo o al menos tienes la autoridad para publicarlo."
+css_class_optional = "Clase CSS (opcional)"
+cache_expiration = "Caducidad de la caché (en horas)"
+cache_off = "Caché desactivado"
+cache_timestamp = "Marca de tiempo de caché"
+cancel = "Cancelar"
+cannot_read_feed_content = "No se puede leer el contenido del feed"
+captcha_error = "reCaptcha no es correcto"
+categories = "Categorías"
+category = "Categoría"
+check_update = "Buscar actualizaciones"
+clear_cache = "Limpiar cache"
+comma_separated_values = "Valores separados por comas"
+comment_system = "Sistema de comentarios"
+comments = "Comentarios"
+config = "Configuración"
+congrats_you_have_the_latest_version_of_htmly = "¡Felicidades! Tienes la última versión de HTMLy."
+content = "Contenido"
+contents = "Contenido"
+copyright_line = "Línea de derechos de autor"
+copyright_line_placeholder = "(c) Su nombre."
+create_backup = "Crear copia de seguridad"
+created = "Creado"
+custom = "Personalizado"
+custom_settings = "Configuración personalizada"
+dashboard = "Panel de control"
+date = "Fecha"
+date_format = "Formato de fecha"
+delete = "Eliminar"
+description = "Descripción"
+disable = "Desactivar"
+disabled = "Desactivado"
+disqus_shortname = "Nombre corto de Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Borrador"
+edit = "Editar"
+edit_category = "Editar categoría"
+edit_post = "Editar"
+edit_profile = "Editar perfil"
+enable = "Habilitar"
+enable_blog_url = "Habilitar URL del blog"
+enter_image_url = "Ingrese la URL de la imagen"
+facebook_app_id = "ID de aplicación de Facebook"
+facebook_page = "página de Facebook"
+featured_audio = "Audio destacado"
+featured_image = "Imagen destacada"
+featured_link = "Enlace destacado"
+featured_quote = "Cita destacada"
+featured_video = "Vídeo destacado"
+feed_url = "URL de la fuente"
+filename = "Nombre del archivo"
+follow = "Seguir"
+for_google_site_verification_meta = "Para meta de verificación del sitio de Google"
+front_page_displays = "Visualizaciones de la página principal"
+full_post = "Publicación completa"
+general = "Generales"
+general_settings = "Configuración general"
+get_one_here = "Consigue uno aquí"
+github_pre_release = "Prelanzamiento de Github"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (heredado)"
+google_search_console = "Consola de búsqueda de Google"
+home = "Inicio"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Si lo dejamos vacío, lo extraeremos del contenido siguiente"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Si la URL se deja vacía usaremos el título de la página"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Si la URL se deja vacía usaremos el título de la publicación"
+image_post = "Publicación de imagen"
+image_post_comment = "Crear publicación de blog con imagen destacada"
+import = "Importar"
+import_feed = "Iniciar importación de feed"
+import_rss = "Importar RSS"
+import_rss_feed_2.0 = "Importar fuente RSS 2.0"
+insert_image = "Insertar imagen"
+invalid_error = "ERROR: nombre de usuario o contraseña no válidos"
+language = "Idioma del sistema"
+link_name = "Nombre del enlace"
+link_post = "Enlace de la Publicación"
+link_post_comment = "Creación de una publicación de blog con un enlace destacado"
+login = "acceso"
+login_page = "Página de inicio de sesión"
+logout = "Cerrar sesión"
+menu = "menú"
+menus = "Editora de menús"
+meta_description = "Meta descripción"
+meta_description_character = "Carácter de meta descripción"
+metatags = "Metaetiquetas"
+metatags_settings = "Configuración de metaetiquetas"
+mine = "Mía"
+more = "Más"
+my_draft = "Mi borrador"
+my_posts = "Mis publicaciones"
+name = "Nombre"
+newer = "Más nuevo"
+next = "Próximo"
+next_post = "Publicación siguiente"
+no_available_backup = "No hay copia de seguridad disponible en este momento."
+no_draft_found = "No se encontró ningún borrador"
+no_posts_found = "No se han encontrado publicaciones"
+no_related_post_found = "No se encontró ninguna publicación relacionada"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "Sin resultados de búsqueda"
+nope = "Nope"
+not = "No"
+older = "Mayor"
+only = "Only"
+operations = "Operaciones"
+page = "Página"
+page_generation_time = "Tiempo de generación de página"
+pages = "Paginas"
+pass_error = "El campo de contraseña es obligatorio"
+password = "Contraseña"
+performance = "Rendimiento"
+performance_settings = "Configuración de rendimiento"
+permalink = "enlace permanente"
+popular = "populares"
+popular_posts = "Entradas populares"
+popular_posts_widget = "Widget de publicaciones populares"
+popular_posts_widget_at_most = "Widget de publicaciones populares como máximo"
+popular_tags = "Etiquetas Populares"
+post_by_author = "Publicaciones de este autor"
+posted_in = "Publicado en"
+posted_on = "Publicado en"
+posts = "Publicaciones"
+posts_by = "Publicaciones por"
+posts_draft = "Borrador de publicaciones"
+posts_in_archive_page_at_most = "Publicaciones en la página de archivo como máximo"
+posts_in_category_page_at_most = "Publicaciones en la página de categoría como máximo"
+posts_in_front_page_show_at_most = "Las publicaciones en la página principal se muestran como máximo"
+posts_in_profile_page_at_most = "Publicaciones en la página de perfil como máximo"
+posts_in_search_result_at_most = "Publicaciones en el resultado de búsqueda como máximo"
+posts_in_tag_page_at_most = "Publicaciones en la página de etiquetas como máximo"
+posts_in_type_page_at_most = "Publicaciones en la página tipo como máximo"
+posts_index_settings = "Configuración del índice de publicaciones"
+posts_list = "Lista de publicaciones"
+posts_tagged = "Publicaciones etiquetadas"
+posts_with_type = "Publicaciones con tipo"
+pre_release = "Prelanzamiento"
+prev = "Antiguo"
+prev_post = "Publicación anterior"
+preview = "Vista anticipada"
+profile_for = "Perfil para"
+proudly_powered_by = "Orgullosamente impulsado por"
+publish = "Publicar"
+publish_draft = "Publicar borrador"
+published = "Publicado"
+quote_post = "Publicación de cotización"
+quote_post_comment = "Crear publicación de blog con cita destacada"
+rss_character = "carácter RSS"
+rss_feeds_show_the_most_recent = "Los canales RSS muestran los más recientes"
+rss_settings = "Configuración RSS"
+read_more_text = "Leer más texto"
+read_more_text_placeholder = "Leer más"
+reading = "Leyendo"
+Reading_settings = "Configuración de lectura"
+recaptcha = "reCAPTCHA"
+recent_posts = "Mensajes recientes"
+recientes_posts_widget_at_most = "Widget de publicaciones recientes como máximo"
+regular_post = "Correo ordinario"
+regular_post_comment = "Crear una publicación de blog regular"
+related_posts = "Artículos Relacionados"
+related_widget_posts_at_most = "Publicaciones de widgets relacionados como máximo"
+revert_to_draft = "Volver a borrador"
+save = "Salvar"
+save_config = "Guardar configuración"
+save_edit = "Guardar edición"
+save_menu = "Guardar menú"
+save_as_draft = "Guardar como borrador"
+save_category = "Guardar categoría"
+scheduled = "Programado"
+scheduled_posts = "Publicaciones programadas"
+scheduled_tips = "Al publicar una publicación con fecha u hora futura, irá a las publicaciones programadas"
+search = "Buscar"
+search_for = "Buscar"
+search_results_for = "Resultados de búsqueda para"
+search_results_not_found = "¡No se encontraron resultados de búsqueda!"
+secret_key = "Clave secreta"
+settings = "Configuración"
+sign_in_to_start_your_session = "Inicia sesión para iniciar tu sesión"
+site_key = "Clave del sitio"
+sitestamp = "Mapa del sitio"
+slug = "Babosa"
+social_media = "Medios sociales"
+static_page = "Página estática"
+static_page_comment = "Creando página estática"
+static_pages = "Páginas estáticas"
+summary = "Sumario"
+summary_character = "Carácter sumario"
+tag = "Etiqueta"
+tagcloud_widget_at_most = "TagCloud como máximo"
+tagline = "Tagline"
+tagline_placeholder = "Plataforma de blogs PHP sin base de datos"
+tagline_description = "En pocas palabras, explica de qué trata este blog."
+tags = "Etiquetas"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Este es el código heredado. Generalmente se crean nuevos análisis usando gtag.js."
+this_page_doesnt_exist = "¡Esta página no existe!"
+time = "Tiempo"
+timezone = "Zona horaria"
+title = "Título"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Para utilizar Disqus o comentarios de Facebook, debe proporcionar el nombre corto de Disqus o el ID de la aplicación de Facebook."
+token_error = "El token CSRF no es correcto"
+tools = "Útiles"
+twitter_account = "cuenta de Twitter"
+type_to_search = "Escriba para buscar"
+uncategorized = "Sin categorizar"
+uncategorized_comment = "Temas que no necesitan una categoría o que no encajan en ninguna otra categoría existente"
+universal_analytics = "Análisis universal (gtag.js)"
+unknown_feed_format = "Formato de alimentación desconocido"
+update = "Actualizar"
+update_available = "Actualización disponible"
+update_draft = "Actualizar borrador"
+update_post = "Actualizar publicación"
+update_to = "Update to"
+upload = "subir"
+user = "Usuario"
+user_error = "El campo de usuario es obligatorio"
+valid_values_range_from_0_to_1.0._see = "Los valores válidos varían de 0,0 a 1,0. Ver"
+video_post = "Publicación de video"
+video_post_comment = "Creación de una publicación de blog con video destacado"
+view = "Ver"
+view_post = "Ver"
+views = "Puntos de vista"
+widget = "Widget"
+widget_settings = "Configuración de widgets"
+would_you_like_to_try_our = "¿Te gustaría probar nuestra "
+yes_im_in = "Sí, estoy en"
+yes_not_recommended = "Sí (no recomendado)"
+you_dont_have_permission_to_access_this_page = "No tienes permiso para acceder a esta pagina"
+your_new_config_key = "Su nueva clave de configuración"
+your_new_value = "Tu nuevo valor"
+your_backups = "Tus copias de seguridad"
+your_latest_blog_posts = "Tus últimas publicaciones de blog"
+your_recent_posts = "Tus publicaciones recientes"
+by = "por"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "sugerencia: Utilice Ctrl
/CMD
+ F
para buscar su clave o valor de configuración."
+homepage = "página de inicio"
+instead = "en lugar"
+item_class = "Insertar clase CSS"
+item_slug = "Insertar URL del enlace"
+now = "ahora"
+of = "de"
+optional = "opcional"
+post_your_post_slug = "/post/tu-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "consejos profesionales: Puede crear una clave de configuración personalizada e imprimir el valor de su clave de configuración en cualquier lugar de su plantilla."
+read_more = "Lee mas"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Comportamiento resumido"
+default = "Predeterminado"
+check_shortcode = "comprobar el código corto"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "En el modo resumen, verifique el código abreviado primero o no antes de recortar el contenido a x char"
+manage_users = "Administrar usuarios"
+add_user = "Agregar usuario"
+username = "nombre de usuario"
+role = "rol"
+change_password = "Cambiar contraseña"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/fa_IR.ini b/lang/fa_IR.ini
new file mode 100755
index 0000000..5a6a7ae
--- /dev/null
+++ b/lang/fa_IR.ini
@@ -0,0 +1,332 @@
+about = "درباره ما"
+add_category = "افزودن دسته بندی"
+add_content = "افزودن محتوا"
+add_link = "افزودن لینک"
+add_menu = "افزودن منو"
+add_new_page = "افزودن صفحه جدید"
+add_new_post = "افزودن پست جدید"
+add_source_link_optional = "Add source link (optional)"
+add_sub = "افزودن صفحه فرعی"
+address_url = "Address (URL)"
+admin = "ادمین"
+admin_panel_style_based_on = "Admin panel style based on"
+all_blog_posts = "تمام ارسالی ها"
+all_cache_has_been_deleted = "حافظه کش پاک شد!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "آرشیو"
+are_you_sure_you_want_to_delete_ = "Are you sure you want to delete %s?"
+at_the_moment_you_are_using_auto_generated_menu = "At the moment you are using auto generated menu."
+audio_post = "پست های صوتی"
+audio_post_comment = "Creating blog post with featured audio"
+author = "نویسنده"
+author_description = "Just another HTMLy user"
+back_to = "برگشت به"
+backup = "پشتیبان"
+blog_description = "In one paragraph, tell us more about your blog."
+blog_theme = "تم وبلاگ"
+blog_title = "عنوان وبلاگ"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "Blog posts displayed as"
+breadcrumb_home_text = "Breadcrumb home text"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "By using this importer you are agree if the feed is yours or at least you have the authority to publish it."
+css_class_optional = "CSS Class (optional)"
+cache_expiration = "Cache expiration (in hours)"
+cache_off = "Cache off"
+cache_timestamp = "Cache timestamp"
+cancel = "انصراف"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha not correct"
+categories = "دسته بندی ها"
+category = "دسته بندی"
+check_update = "بررسی به روزرسانی"
+clear_cache = "پاک کردن حافظه کش"
+comma_separated_values = "Comma separated values"
+comment_system = "Comment system"
+comments = "نظرات"
+config = "تنظیمات"
+congrats_you_have_the_latest_version_of_htmly = "Congrats! You have the latest version of HTMLy."
+content = "محتوا"
+contents = "فهرست"
+copyright_line = "خط کپی رایت"
+copyright_line_placeholder = "(c) Your name."
+create_backup = "ساجاد نسخه پشتیبان"
+created = "ایجاد شد"
+custom = "سفارشی"
+custom_settings = "تنظیمات سفارشی"
+dashboard = "داشبورد"
+date = "تاریخ"
+date_format = "فرمت تاریخ"
+delete = "حذف"
+description = "توضیحات"
+disable = "غیر فعال"
+disabled = "غیرفعال شد"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "پیش نویس"
+edit = "ویرایش"
+edit_category = "ویرایش دسته بندی"
+edit_post = "ویرایش"
+edit_profile = "ویرایش پروفایل"
+enable = "فعال"
+enable_blog_url = "Enable blog URL"
+enter_image_url = "ورود آدرس تصویر"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook page"
+featured_audio = "Featured Audio"
+featured_image = "Featured Image"
+featured_link = "Featured Link"
+featured_quote = "Featured Quote"
+featured_video = "Featured Video"
+feed_url = "Feed URL"
+filename = "نام فایل"
+follow = "دنبال کردن"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "نمایش صفحه اول"
+full_post = "پست کامل"
+general = "عمومی"
+general_settings = "تنظیمات عمومی"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "صفحه اصلی"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "If leave empty we will excerpt it from the content below"
+if_the_url_is_left_empty_we_will_use_the_page_title = "If the url leave empty we will use the page title"
+if_the_url_is_left_empty_we_will_use_the_post_title = "If the url leave empty we will use the post title"
+image_post = "ارسال تصویر"
+image_post_comment = "ایجاد پست وبلاگ به همراه تصویر"
+import = "وارد كردن"
+import_feed = "Start Import Feed"
+import_rss = "Import RSS"
+import_rss_feed_2.0 = "Import RSS Feed 2.0"
+insert_image = "درج تصویر"
+invalid_error = "ERROR: Invalid username or password"
+language = "زیان سیستم"
+link_name = "نام لینک"
+link_post = "لینک پست"
+link_post_comment = "ایجاد پست وبلگ به همراه لینک"
+login = "ورود"
+login_page = "صفحه ورود"
+logout = "خروج"
+menu = "منو"
+menus = "Menu Editor"
+meta_description = "توضیحات متا"
+meta_description_character = "Meta description character"
+metatags = "متاتگ"
+metatags_settings = "Metatags Settings"
+mine = "Mine"
+more = "بیشتر"
+my_draft = "پیش نویس های من"
+my_posts = "پست های من"
+name = "نام"
+newer = "جدیدتر"
+next = "بعد"
+next_post = "پست بعدی"
+no_available_backup = "هیچ نسخه پشتیبانی وجود ندارد"
+no_draft_found = "پیش نویس یافت نشد"
+no_posts_found = "هیچ پستی ارسال نشده است"
+no_related_post_found = "پست مرتبطی یافت نشد"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Nope"
+not = "No"
+older = "قدیمی ترها"
+only = "فقط"
+operations = "عملیات"
+page = "صفحه"
+page_generation_time = "Page generation time"
+pages = "صفحه ها"
+pass_error = "Password field is required"
+password = "کلمه عبور"
+performance = "پرفورمنس"
+performance_settings = "Performance Settings"
+permalink = "پیوند ثابت"
+popular = "محبوب"
+popular_posts = "پست های محبوب"
+popular_posts_widget = "Popular posts widget"
+popular_posts_widget_at_most = "Popular posts widget at most"
+popular_tags = "تگ های محبوب"
+post_by_author = "Posts by this author"
+posted_in = "ارسال شده"
+posted_on = "Posted on"
+posts = "پست ها"
+posts_by = "ارسال توسط"
+posts_draft = "Posts draft"
+posts_in_archive_page_at_most = "Posts in archive page at most"
+posts_in_category_page_at_most = "Posts in category page at most"
+posts_in_front_page_show_at_most = "Posts in front page show at most"
+posts_in_profile_page_at_most = "Posts in profile page at most"
+posts_in_search_result_at_most = "Posts in search result at most"
+posts_in_tag_page_at_most = "Posts in tag page at most"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Posts index settings"
+posts_list = "لیست پست ها"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "قدیمی"
+prev_post = "پست قبلی"
+preview = "مشاهده"
+profile_for = "Profile for"
+proudly_powered_by = "Proudly powered by"
+publish = "انتشار"
+publish_draft = "انتشار پیش نویس"
+published = "منتشر شد"
+quote_post = "Quote post"
+quote_post_comment = "Creating blog post with featured quote"
+rss_character = "RSS character"
+rss_feeds_show_the_most_recent = "RSS feeds show the most recent"
+rss_settings = "RSS settings"
+read_more_text = "Read more text"
+read_more_text_placeholder = "ادامه مطلب"
+reading = "خواندن"
+reading_settings = "Reading Settings"
+recaptcha = "reCAPTCHA"
+recent_posts = "پست های اخیر"
+recent_posts_widget_at_most = "Recent posts widget at most"
+regular_post = "پست عادی"
+regular_post_comment = "ایجاد پست عادی وبلاگ"
+related_posts = "پست های مرتبط"
+related_widget_posts_at_most = "Related widget posts at most"
+revert_to_draft = "Revert to draft"
+save = "ذخیره"
+save_config = "ذخیره تنظیمات"
+save_edit = "Save Edit"
+save_menu = "Save menu"
+save_as_draft = "Save as draft"
+save_category = "دخیره دسته بندی"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "جستجو"
+search_for = "جستجو برای"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Secret Key"
+settings = "تنظیمات"
+sign_in_to_start_your_session = "Sign in to start your session"
+site_key = "Site Key"
+sitemap = "نقشه سایت"
+slug = "Slug"
+social_media = "رسانه های اجتماعی"
+static_page = "صفحه ایستا"
+static_page_comment = "ایجاد صفحه ایستا"
+static_pages = "صفحه های ایستا"
+summary = "خلاصه"
+summary_character = "Summary character"
+tag = "تگ"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Tagline"
+tagline_placeholder = "Databaseless PHP Blogging Platform"
+tagline_description = "In a few words, explain what this blog is about."
+tags = "تگ ها"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "این صفحه وجود ندارد"
+time = "ساعت"
+timezone = "Timezone"
+title = "عنوان"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "To use Disqus or Facebook comments you need to provide your Disqus shortname or your Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "ابزار"
+twitter_account = "Twitter account"
+type_to_search = "برای جستجو تایپ کنید"
+uncategorized = "دسته بندی نشده"
+uncategorized_comment = "Topics that don't need a category, or don't fit into any other existing category"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "به روز رسانی"
+update_available = "Update Available"
+update_draft = "به روز رسانی پیش نویس"
+update_post = "به روز رسانی پست"
+update_to = "به روزرسانی به"
+upload = "ارسال"
+user = "نام کاربری"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Valid values range from 0.0 to 1.0. See"
+video_post = "پست ویدیویی"
+video_post_comment = "Creating blog post with featured video"
+view = "View"
+view_post = "View"
+views = "Views"
+widget = "ویجت"
+widget_settings = "Widget Settings"
+would_you_like_to_try_our = "Would you like to try our "
+yes_im_in = "Yes I'm in"
+yes_not_recommended = "Yes (not recommended)"
+you_dont_have_permission_to_access_this_page = "You don't have permission to access this page"
+your_new_config_key = "Your New Config Key"
+your_new_value = "Your New Value"
+your_backups = "Your backups"
+your_latest_blog_posts = "آخرین پست های وبلاگ"
+your_recent_posts = "آخرین پست ها"
+by = "توسط"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Use Ctrl
/CMD
+ F
to search for your config key or value."
+homepage = "صفحه اصلی"
+instead = "به جای"
+item_class = "Insert CSS class"
+item_slug = "افزودن لینک"
+now = "now"
+of = "of"
+optional = "اختیاری"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro tips: You can create custom config keys and print out your config key value anywhere in your template."
+read_more = "read more"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/fr_FR.ini b/lang/fr_FR.ini
new file mode 100755
index 0000000..da2ab78
--- /dev/null
+++ b/lang/fr_FR.ini
@@ -0,0 +1,332 @@
+about = "À propos"
+add_category = "Ajouter une catégorie"
+add_content = "Ajouter du contenu"
+add_link = "Ajouter le lien"
+add_menu = "Ajouter un menu"
+add_new_page = "Ajouter une page"
+add_new_post = "Ajouter un billet"
+add_source_link_optional = "Ajouter le lien source (optionnel)"
+add_sub = "Ajouter une sous-page"
+address_url = "Adresse (URL)"
+admin = "Administrateur"
+admin_panel_style_based_on = "Style du panneau d'administration basé sur"
+all_blog_posts = "Tous les billets de blog"
+all_cache_has_been_deleted = "Le cache a été vidé !"
+all_posts_tagged = "Tous les billets taggués"
+archive_for = "Archive pour"
+archive_page_for = "Page d'archive pour"
+archives = "Archives"
+are_you_sure_you_want_to_delete_ = "Êtes-vous sûr de vouloir supprimer %s ?"
+at_the_moment_you_are_using_auto_generated_menu = "Pour le moment, vous utilisez le menu généré automatiquement."
+audio_post = "Billet audio"
+audio_post_comment = "Créer un billet de blog avec un fichier audio"
+author = "Auteur"
+author_description = "Un autre utilisateur de HTMLy"
+back_to = "Retourner vers"
+backup = "Sauvegarde"
+blog_description = "En un paragraphe, dites-nous en plus sur votre blog."
+blog_theme = "Thème graphique du blog"
+blog_title = "Titre du blog"
+blog_title_placeholder = "Mon blog HTMLy"
+blog_posts_displayed_as = "Billets affichés comme"
+breadcrumb_home_text = "Texte d'accueil du fil d'Ariane"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "En utilisant cet importateur, vous devez vous assurer qu'il s'agit de votre flux RSS ou que vous ayez l'autorisation de publier son contenu."
+css_class_optional = "Classe CSS (optionnel)"
+cache_expiration = "Durée avant l'expiration du cache (en heures)"
+cache_off = "Désactiver le cache"
+cache_timestamp = "Horodatage du cache"
+cancel = "Annuler"
+cannot_read_feed_content = "Impossible de lire le contenu du flux"
+captcha_error = "reCaptcha incorrect"
+categories = "Catégories"
+category = "Catégorie"
+check_update = "Rechercher des mises à jour"
+clear_cache = "Nettoyer le cache"
+comma_separated_values = "Valeurs séparées par des virgules"
+comment_system = "Système de commentaires"
+comments = "Commentaires"
+config = "Configuration"
+congrats_you_have_the_latest_version_of_htmly = "Félicitations ! Vous disposez de la dernière version de HTMLy."
+content = "Contenu"
+contents = "Contenus"
+copyright_line = "Ligne de copyright"
+copyright_line_placeholder = "(c) Votre nom."
+create_backup = "Créer une sauvegarde"
+created = "Créé"
+custom = "Personnalisé"
+custom_settings = "Paramètres personnalisés"
+dashboard = "Tableau de bord"
+date = "Date"
+date_format = "Format des dates"
+delete = "Supprimer"
+description = "Description"
+disable = "Désactiver"
+disabled = "Désactivé"
+disqus_shortname = "Nom abrégé (shortname) Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Brouillon"
+edit = "Éditer"
+edit_category = "Éditer la catégorie"
+edit_post = "Éditer"
+edit_profile = "Éditer le profil"
+enable = "Activer"
+enable_blog_url = "Activer l'URL blog"
+enter_image_url = "Entrer l'URL de l'image"
+facebook_app_id = "ID d'application Facebook"
+facebook_page = "Page Facebook"
+featured_audio = "Audio en vedette"
+featured_image = "Image en vedette"
+featured_link = "Lien en vedette"
+featured_quote = "Citation en vedette"
+featured_video = "Vidéo en vedette"
+feed_url = "Adresse du flux"
+filename = "Nom du fichier"
+follow = "Suivre"
+for_google_site_verification_meta = "Pour le méta-tag google-site-verification"
+front_page_displays = "Affichage en première page"
+full_post = "Billet entier"
+general = "Général"
+general_settings = "Paramètres généraux"
+get_one_here = "Obtenez vos clés reCaptcha ici :"
+github_pre_release = "Pré-release Github"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Accueil"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Si vous laissez vide, nous l'extrairons du contenu ci-dessous"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Si l'URL est laissée vide, nous utiliserons le titre de la page"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Si l'URL est laissée vide, nous utiliserons le titre du billet"
+image_post = "Billet avec une image"
+image_post_comment = "Créer un billet de blog avec une image"
+import = "Importer"
+import_feed = "Démarrer l'importation du flux"
+import_rss = "Importer un flux RSS"
+import_rss_feed_2.0 = "Importer le flux RSS 2.0"
+insert_image = "Insérer l'image"
+invalid_error = "Erreur : nom d'utilisateur ou mot de passe incorrect"
+language = "Langue du système"
+link_name = "Nom du lien"
+link_post = "Billet avec un lien"
+link_post_comment = "Créer un billet de blog avec un lien"
+login = "Connexion"
+login_page = "Page de connexion"
+logout = "Déconnexion"
+menu = "Menu"
+menus = "Éditeur de menu"
+meta_description = "Meta-description"
+meta_description_character = "Nombre de caractères des méta-description"
+metatags = "Méta-tags"
+metatags_settings = "Paramètres des méta-tags"
+mine = "Mes billets"
+more = "Plus"
+my_draft = "Mes brouillons"
+my_posts = "Mes billets"
+name = "Nom"
+newer = "Plus récent"
+next = "Suivant"
+next_post = "Billet suivant"
+no_available_backup = "Aucune sauvegarde disponible."
+no_draft_found = "Aucun brouillon trouvé"
+no_posts_found = "Aucun billet trouvé"
+no_related_post_found = "Aucun billet en rapport trouvé"
+no_scheduled_posts_found = "Aucun billet programmé trouvé !"
+no_search_results = "Aucun résultat de recherche"
+nope = "Non !"
+not = "Non"
+older = "Plus ancien"
+only = "Seulement"
+operations = "Opérations"
+page = "Page"
+page_generation_time = "Temps de génération de la page"
+pages = "Pages"
+pass_error = "Le champ Mot de passe est requis"
+password = "Mot de passe"
+performance = "Performance"
+performance_settings = "Paramètres des performances"
+permalink = "Lien permanent"
+popular = "Populaire"
+popular_posts = "Billets populaires"
+popular_posts_widget = "Widget des billets populaires"
+popular_posts_widget_at_most = "Nombre de billets maximum affichés dans le widget des billets populaires"
+popular_tags = "Tags populaires"
+post_by_author = "Billets de cet auteur"
+posted_in = "Posté en"
+posted_on = "Posté le"
+posts = "Billets"
+posts_by = "Billets par"
+posts_draft = "Billets à l'état brouillon"
+posts_in_archive_page_at_most = "Nombre de billets maximum dans la page des archives"
+posts_in_category_page_at_most = "Nombre de billets maximum dans la page des catégories"
+posts_in_front_page_show_at_most = "Nombre de billets maximum en première page"
+posts_in_profile_page_at_most = "Nombre de billets maximum dans la page des profils"
+posts_in_search_result_at_most = "Nombre de billets maximum dans les résultats de recherche"
+posts_in_tag_page_at_most = "Nombre de billets maximum dans la page des tags"
+posts_in_type_page_at_most = "Nombre de billets maximum dans la page des types"
+posts_index_settings = "Paramètres d'indexation des articles"
+posts_list = "Liste des billets"
+posts_tagged = "Billets taggués"
+posts_with_type = "Billets avec type"
+pre_release = "Pré-release"
+prev = "Ancien"
+prev_post = "Billet précédent"
+preview = "Pré-visualisation"
+profile_for = "Profil de"
+proudly_powered_by = "Fièrement propulsé par"
+publish = "Publier"
+publish_draft = "Publier le brouillon"
+published = "Publié"
+quote_post = "Billet avec une citation"
+quote_post_comment = "Créer un billet avec un citation"
+rss_character = "Caractères maximum des contenus du flux RSS"
+rss_feeds_show_the_most_recent = "Nombre de billets maximum les plus récents du flux RSS"
+rss_settings = "Paramètres du flux RSS"
+read_more_text = "Texte Continuer à lire"
+read_more_text_placeholder = "Continuer à lire"
+reading = "Lecture"
+reading_settings = "Paramètres de lecture"
+recaptcha = "reCAPTCHA"
+recent_posts = "Billets récents"
+recent_posts_widget_at_most = "Nombre de billets maximum affichés dans le widget des billets récents"
+regular_post = "Billet simple"
+regular_post_comment = "Créer un billet de blog simple"
+related_posts = "Billets en rapport"
+related_widget_posts_at_most = "Nombre de billets maximum affichés dans le widget des billets similaires"
+revert_to_draft = "Retourner en brouillon"
+save = "Enregistrer"
+save_config = "Sauvegarder la configuration"
+save_edit = "Sauvegarder la modification"
+save_menu = "Sauvegarder le menu"
+save_as_draft = "Enregistrer en brouillon"
+save_category = "Catégorie de la sauvegarde"
+scheduled = "Programmés"
+scheduled_posts = "Billets programmés"
+scheduled_tips = "La publication d'un billet avec une date ou une heure future sera intégrée dans les billets programmés."
+search = "Recherche"
+search_for = "Rechercher pour"
+search_results_for = "Résultats de recherche pour"
+search_results_not_found = "Résultats de recherche non trouvés !"
+secret_key = "Clé secrète"
+settings = "Paramètres"
+sign_in_to_start_your_session = "Connectez-vous pour démarrer votre session"
+site_key = "Clé de site"
+sitemap = "Plan du site"
+slug = "Jeton"
+social_media = "Réseaux sociaux"
+static_page = "Page statique"
+static_page_comment = "Créer une page statique"
+static_pages = "Pages statiques"
+summary = "Résumé"
+summary_character = "Nombre de caractères du résumé"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud au maximum"
+tagline = "Slogan"
+tagline_placeholder = "Plateforme de blog PHP sans base de données"
+tagline_description = "En quelques mots, expliquez de quoi parle ce blog."
+tags = "Tags"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Il s'agit d'un code hérité (legacy). Généralement, gtag.js est utilisé"
+this_page_doesnt_exist = "Cette page n'existe pas !"
+time = "Temps"
+timezone = "Fuseau horaire"
+title = "Titre"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Pour utiliser Disqus ou les commentaires Facebook, vous devez fournir le nom abrégé (shortname) Disqus ou l'ID d'application Facebook."
+token_error = "Jeton CSRF incorrect"
+tools = "Outils"
+twitter_account = "Compte Twitter"
+type_to_search = "Tapez pour rechercher"
+uncategorized = "Sans catégorie"
+uncategorized_comment = "Sujets qui n'ont pas besoin de catégorie, ou qui ne conviennent à aucune catégorie existante"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Format de flux inconnu"
+update = "Mise à jour"
+update_available = "Mise à jour disponible"
+update_draft = "Mettre à jour le brouillon"
+update_post = "Mettre à jour le billet"
+update_to = "Mettre à jour vers"
+upload = "Envoyer"
+user = "Utilisateur"
+user_error = "Le champ Utilisateur est requis"
+valid_values_range_from_0_to_1.0._see = "Les valeurs valides vont de 0,0 à 1,0. Voir"
+video_post = "Billet vidéo"
+video_post_comment = "Créer un billet de blog avec une vidéo"
+view = "Voir"
+view_post = "Consulter"
+views = "Vues"
+widget = "Widget"
+widget_settings = "Paramètres des widgets"
+would_you_like_to_try_our = "Souhaitez-vous essayer notre "
+yes_im_in = "Oui, je suis prêt"
+yes_not_recommended = "Oui (déconseillé)"
+you_dont_have_permission_to_access_this_page = "Vous n'êtes pas autorisé à accéder à cette page"
+your_new_config_key = "Votre nouvelle clé de configuration"
+your_new_value = "Votre nouvelle valeur"
+your_backups = "Vos sauvegardes"
+your_latest_blog_posts = "Vos derniers billets"
+your_recent_posts = "Vos billets récents"
+by = "par"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "astuce : Utilisez Ctrl
/CMD
+ F
pour rechercher votre clé ou valeur de configuration."
+homepage = "page d'accueil"
+instead = "à la place"
+item_class = "Insérer la classe CSS"
+item_slug = "Insérer le jeton"
+now = "maintenant"
+of = "de"
+optional = "optionnel"
+post_your_post_slug = "/billet/jeton-du-billet"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "astuce de pro : Vous pouvez créer une clé de configuration personnalisée et afficher la valeur de votre clé de configuration n'importe où dans votre modèle."
+read_more = "lire plus"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/annee/mois/jeton-du-billet"
+your_key = "votre.cle"
+summary_behavior = "Comportement du résumé"
+default = "Défaut"
+check_shortcode = "Vérifier le shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "En mode résumé, il est possible de vérifier le shortcode avant de réduire le contenu à x caractères."
+manage_users = "Gérer les utilisateurs"
+add_user = "Ajouter un utilisateur"
+username = "Nom d'utilisateur"
+role = "Rôle"
+change_password = "Changer le mot de passe"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/gu_GU.ini b/lang/gu_GU.ini
new file mode 100755
index 0000000..d4e7e1e
--- /dev/null
+++ b/lang/gu_GU.ini
@@ -0,0 +1,332 @@
+about = "વિશે"
+add_category = "વર્ગ ઉમેરો"
+add_content = "સામગ્રી ઉમેરો"
+add_link = "એડ_લિંક"
+add_menu = "મેનુ ઉમેરો"
+add_new_page = "નવું પૃષ્ઠ ઉમેરો"
+add_new_post = "નવી પોસ્ટ ઉમેરો"
+add_source_link_optional = "સ્રોત લિંક ઉમેરો (વૈકલ્પિક)"
+add_sub = "પેટા પૃષ્ઠ ઉમેરો"
+address_url = "સરનામું (URL)"
+admin ="એડમિન"
+admin_panel_style_based_on = "એડમિન પેનલ શૈલી પર આધારિત"
+all_blog_posts = "બધી બ્લોગ પોસ્ટ્સ"
+all_cache_has_been_deleted = "બધી કેશ કાઢી નાખવામાં આવી છે."
+all_posts_tagged = "બધી પોસ્ટ ટૅગ કરેલી"
+archive_for = "આર્કાઇવ માટે"
+archive_page_for = "માટે પૃષ્ઠ આર્કાઇવ"
+archives = "આર્કાઇવ્સ"
+are_you_sure_you_want_to_delete_ = "શું તમે ખરેખર %s ને કાઢી નાખવા માંગો છો?"
+at_the_moment_you_are_using_auto_generated_menu = "આ ક્ષણે તમે સ્વતઃ જનરેટેડ મેનૂનો ઉપયોગ કરી રહ્યાં છો."
+audio_post = "ઓડિયો પોસ્ટ"
+audio_post_comment = "વિશિષ્ટ ઓડિયો સાથે બ્લોગ પોસ્ટ બનાવવી"
+author = "લેખક"
+author_description = "માત્ર અન્ય HTMLy વપરાશકર્તા"
+back_to = "પાછળ"
+backup = "બેકઅપ"
+blog_description = "એક ફકરામાં, અમને તમારા બ્લોગ વિશે વધુ માહિતી આપો."
+blog_theme = "બ્લોગ થીમ (શૈલી)"
+blog_title = "બ્લોગ શીર્ષક"
+blog_title_placeholder = "મારો HTMLy બ્લોગ"
+blog_posts_displayed_as = "બ્લોગ પોસ્ટ કેવી રીતે પ્રદર્શિત થાય છે"
+breadcrumb_home_text = "બ્રેડક્રમ્બ હોમ ટેક્સ્ટ"
+by_using_this_importer_you_are_agree_if_the_feed_is_yours_or_at_least_you_have_the_authority_to_publish_it = "આ આયાતકારનો ઉપયોગ કરીને તમે સંમત થાઓ છો કે ફીડ તમારું છે અથવા ઓછામાં ઓછું તમારી પાસે તેને પ્રકાશિત કરવાની સત્તા છે."
+css_class_optional = "CSS વર્ગ (વૈકલ્પિક)"
+cache_expiration = "કેશ સમાપ્તિ (કલાકોમાં)"
+cache_off = "કેશ બંધ"
+cache_timestamp = "કેશ ટાઇમસ્ટેમ્પ"
+cancel = "રદ કરો"
+can_read_feed_content = "ફીડ સામગ્રી વાંચી શકાતી નથી"
+captcha_error = "ReCAPTCHA ખોટું છે"
+categories = "શ્રેણીઓ"
+category = "શ્રેણી"
+check_update = "અપડેટ તપાસો"
+clear_cache = "કેશ સાફ કરો (દ્રુતિકા)"
+comma_separated_values = "અલ્પવિરામથી અલગ કરેલ મૂલ્યો"
+comment_system = "ટિપ્પણી સિસ્ટમ"
+comments = "ટિપ્પણીઓ"
+config= "config"
+congrats_you_have_the_latest_version_of_htmly = "અભિનંદન! તમારી પાસે HTMLy નું નવીનતમ સંસ્કરણ છે."
+content = "સામગ્રી"
+contents = "સામગ્રીનું કોષ્ટક"
+copyright_line = "કૉપિરાઇટ લાઇન"
+copyright_line_placeholder = "(C) તમારું નામ."
+create_backup = "બેકઅપ બનાવો"
+created = "બનાવ્યું હતું"
+custom = "કસ્ટમ"
+custom_settings = "કસ્ટમ સેટિંગ્સ"
+dashboard = "ડેશબોર્ડ"
+date = "તારીખ"
+date_format = "તારીખ ફોર્મેટ"
+delete = "કાઢી નાખો"
+description = "વર્ણન"
+disable = "અક્ષમ કરો"
+disabled = "અક્ષમ"
+disqus_shortname = "ડિસ્કસ નામ"
+disqus_shortname_placeholder = "htmly"
+draft = "ડ્રાફ્ટ"
+edit = "સંપાદિત કરો"
+edit_category = "શ્રેણી સંપાદિત કરો"
+edit_post = "સંપાદિત કરો"
+edit_profile = "પ્રોફાઇલ સંપાદિત કરો"
+enable = "સક્ષમ કરો"
+enable_blog_url = "/બ્લોગ URL સક્ષમ કરો"
+enter_image_url = "છબી URL દાખલ કરો"
+facebook_app_id = "ફેસબુક એપ ID"
+facebook_page = "ફેસબુક પેજ"
+featured_audio = "ફીચર્ડ ઓડિયો"
+featured_image = "વિશિષ્ટ છબી"
+featured_link = "વિશિષ્ટ લિંક"
+featured_quote = "ફીચર્ડ ક્વોટ"
+featured_video = "વિશિષ્ટ વિડિઓ"
+feed_url = "ફીડ URL"
+filename = "ફાઈલનામ"
+follow = "અનુસરી રહ્યા છીએ"
+for_google_site_verification_meta = "Google સાઇટ ચકાસણી મેટા માટે"
+front_page_displays = "ફ્રન્ટ પેજ ડિસ્પ્લે"
+full_post = "સંપૂર્ણ પોસ્ટ"
+general = "સામાન્ય"
+general_settings = "સામાન્ય સેટિંગ્સ"
+get_one_here = "એક અહીં મેળવો"
+github_pre_release = "ગીથબ પ્રી-રીલીઝ"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (લેગસી)"
+google_search_console = "Google શોધ કન્સોલ"
+home = "ઘર"
+if_leave_empty_we_will_excerpt_it_from_the_content_below = "જો ખાલી છોડીએ તો અમે નીચેની સામગ્રીમાંથી તેનો અંશો લઈશું"
+if_the_url_leave_empty_we_will_use_the_page_title = "જો URL ખાલી રહેશે તો અમે પૃષ્ઠ શીર્ષકનો ઉપયોગ કરીશું"
+if_the_url_leave_empty_we_will_use_the_post_title = "જો URL ખાલી રહેશે તો અમે પોસ્ટ શીર્ષકનો ઉપયોગ કરીશું"
+image_post = "છબી પોસ્ટ"
+image_post_comment = "વિશિષ્ટ છબી સાથે બ્લોગ પોસ્ટ બનાવવી"
+import = "આયાત કરો"
+import_feed = "ફીડ આયાત શરૂ કરો"
+import_rss = "આરએસએસ આયાત કરો"
+import_rss_feed_2.0 = "RSS ફીડ 2.0 આયાત કરો"
+insert_image = "છબી દાખલ કરો"
+invalid_error = "ભૂલ! અમાન્ય વપરાશકર્તાનામ અથવા પાસવર્ડ"
+language = "સિસ્ટમ ભાષા"
+link_name = "લિંક નામ"
+link_post = "લિંક પોસ્ટ"
+link_post_comment = "વિશિષ્ટ લિંક સાથે બ્લોગ પોસ્ટ બનાવવી"
+login = "લોગ ઇન"
+login_page = "લોગિન પૃષ્ઠ"
+logout = "લોગ આઉટ"
+menu = "મેનુ"
+menus = "મેનુ એડિટર"
+meta_description = "મેટા વર્ણન"
+meta_description_character = "મેટા વર્ણન અક્ષર"
+metatags = "મેટા ટૅગ્સ"
+metatags_settings = "મેટાટેગ સેટિંગ્સ"
+mine = "મારું"
+more = "વધુ"
+my_draft = "મારો ડ્રાફ્ટ"
+my_posts = "મારી પોસ્ટ્સ"
+name = "નામ"
+newer = "નવું"
+next = "આગલું"
+next_post = "આગલી પોસ્ટ"
+no_available_backup = "આ સમયે કોઈ બેકઅપ ઉપલબ્ધ નથી."
+no_draft_found = "કોઈ ડ્રાફ્ટ નથી મળ્યું"
+no_posts_found = "કોઈ પોસ્ટ મળી નથી"
+no_related_post_found = "કોઈ સંબંધિત પોસ્ટ મળી નથી"
+no_scheduled_posts_found = "કોઈ સુનિશ્ચિત પોસ્ટ્સ મળી નથી!"
+no_search_results = "કોઈ શોધ પરિણામો મળ્યા નથી"
+nope =" ના"
+not = "ના"
+older = "જૂની"
+only = "માત્ર"
+operations = "ઓપરેશન્સ"
+page = "પાનું"
+page_generation_time = "પેજ જનરેશન સમય"
+pages = "પૃષ્ઠો"
+pass_error = "પાસવર્ડ ફીલ્ડ જરૂરી છે"
+password= "પાસવર્ડ"
+performance = "પ્રદર્શન"
+performance_settings = "પ્રદર્શન સેટિંગ્સ"
+permalink = "પરમાલિંક"
+popular = "લોકપ્રિય"
+popular_posts = "લોકપ્રિય પોસ્ટ્સ"
+popular_posts_widget = "લોકપ્રિય પોસ્ટ્સ વિજેટ"
+popular_posts_widget_at_most = "સૌથી વધુ લોકપ્રિય પોસ્ટ્સ વિજેટ"
+popular_tags = "પ્રખ્યાત ટૅગ્સ"
+post_by_author = "આ લેખક દ્વારા પોસ્ટ"
+posted_in = "માં પ્રકાશિત થયું હતું"
+posted_on = "પ્રકાશિત"
+posts = "પોસ્ટ્સ"
+posts_by = "પોસ્ટ્સ દ્વારા"
+posts_draft = "પોસ્ટ ડ્રાફ્ટ"
+posts_in_archive_page_at_most = "વધુમાં વધુ આર્કાઇવ પૃષ્ઠમાં પોસ્ટ્સ"
+posts_in_category_page_at_most = "વધુમાં વધુ કેટેગરી પૃષ્ઠમાં પોસ્ટ્સ"
+posts_in_front_page_show_at_most = "ફ્રન્ટ પેજ પરની પોસ્ટ્સ વધુમાં વધુ બતાવવામાં આવે છે"
+posts_in_profile_page_at_most = "પ્રોફાઇલ પૃષ્ઠ પર વધુમાં વધુ પોસ્ટ કરો"
+posts_in_search_result_at_most = "શોધ પરિણામમાં વધુમાં વધુ પોસ્ટ્સ"
+posts_in_tag_page_at_most = "મોટા ભાગના ટેગ પેજમાં પોસ્ટ્સ"
+posts_in_type_page_at_most = "વધુમાં વધુ પૃષ્ઠ પ્રકારમાં પોસ્ટ્સ"
+posts_index_settings = "પોસ્ટ અનુક્રમણિકા સેટિંગ્સ"
+posts_list = "પોસ્ટની યાદી"
+posts_tagged = "ટૅગ કરેલી પોસ્ટ્સ"
+posts_with_type = "પ્રકાર સાથેની પોસ્ટ"
+pre_release = "પ્રી-રીલીઝ"
+prev = "અગાઉ"
+prev_post = "પહેલાની પોસ્ટ"
+preview = "ઝલકી"
+profile_for = "માટે પ્રોફાઇલ"
+proudly_powered_by = "ગર્વથી સંચાલિત"
+publish = "પ્રકાશિત કરો"
+publish_draft = "ડ્રાફ્ટ પ્રકાશિત કરો"
+published = "પ્રકાશિત"
+quote_post = "અવતરણ પોસ્ટ"
+quote_post_comment = "ખાસ અવતરણ સાથે બ્લોગ પોસ્ટ બનાવવી"
+rss_character = "RSS અક્ષર"
+rss_feeds_show_the_most_recent = "RSS ફીડ્સ સૌથી તાજેતરનું દર્શાવે છે"
+rss_settings = "RSS સેટિંગ્સ"
+read_more_text = "વધુ ટેક્સ્ટ વાંચો"
+read_more_text_placeholder = "વધુ વાંચો"
+reading = "વાંચન"
+read_settings = "વાંચન સેટિંગ્સ"
+recaptcha = "રીકેપ્ચા"
+fresh_posts = "તાજેતરની પોસ્ટ્સ"
+fresh_posts_widget_at_most = "મોટાભાગે તાજેતરની પોસ્ટ્સ વિજેટ"
+regular_post = "નિયમિત પોસ્ટ"
+regular_post_comment = "નિયમિત બ્લોગ પોસ્ટ બનાવવી"
+related_posts = "સંબંધિત પોસ્ટ્સ"
+related_widget_posts_at_most = "વધુમાં વધુ સંબંધિત વિજેટ પોસ્ટ્સ"
+revert_to_draft = "ડ્રાફ્ટ પર પાછા ફરો"
+save = "સાચવો"
+save_config = "રૂપરેખાંકન સાચવો"
+save_edit = "સંપાદન સાચવો"
+save_menu = "સેવ મેનુ"
+save_as_draft = "ડ્રાફ્ટ તરીકે સાચવો"
+save_category = "વર્ગ સાચવો"
+scheduled = "સુનિશ્ચિત"
+scheduled_posts = "અનુસૂચિત પોસ્ટ્સ"
+scheduled_tips = "ભવિષ્યની તારીખ અથવા સમય સાથે પોસ્ટ પ્રકાશિત કરવાથી તે શેડ્યૂલ કરેલી પોસ્ટમાં ખસેડવામાં આવશે"
+search = "શોધ"
+search_for = "માટે શોધો"
+search_results_for = "શોધ પરિણામો"
+search_results_not_found = "શોધ પરિણામો મળ્યા નથી!"
+secret_key = "ગુપ્ત ચાવી"
+settings="સેટિંગ્સ"
+sign_in_to_start_your_session = "તમારું સત્ર શરૂ કરવા માટે સાઇન ઇન કરો"
+site_key = "સાઇટ_કી"
+sitemap = "સાઇટ મેપ"
+slug = "કાઉન્ટર"
+social_media = "સોશિયલ મીડિયા"
+static_page = "સ્થિર પૃષ્ઠ"
+static_page_comment = "સ્થિર પૃષ્ઠ બનાવવું"
+static_pages = "સ્થિર પૃષ્ઠો"
+summary = "સારાંશ"
+summary_character = "સારાંશ અક્ષર"
+tag = "ટેગ"
+tagcloud_widget_at_most = "વધુમાં વધુ ટેગક્લાઉડ"
+tagline = "ટેગ લાઇન"
+tagline_placeholder = "ડેટાબેઝલેસ PHP બ્લોગિંગ પ્લેટફોર્મ"
+tagline_description = "થોડા શબ્દોમાં વર્ણન કરો કે આ બ્લોગ શેના વિશે છે."
+tags = "ટૅગ્સ"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "આ લેગસી કોડ છે. નવા એનાલિટિક્સ સામાન્ય રીતે gtag.js નો ઉપયોગ કરીને બનાવવામાં આવે છે"
+this_page_doesnt_exist = "આ પૃષ્ઠ અસ્તિત્વમાં નથી!"
+time = "સમય"
+timezone = "સમય ઝોન"
+title = "શીર્ષક"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Disqus અથવા Facebook ટિપ્પણીઓનો ઉપયોગ કરવા માટે તમારે તમારું Disqus ટૂંકું નામ અથવા તમારી Facebook એપ્લિકેશન ID પ્રદાન કરવાની જરૂર છે."
+token_error = "CSRF ટોકન અમાન્ય છે"
+tools = "ટૂલ્સ"
+twitter_account = "Twitter એકાઉન્ટ"
+type_to_search = "શોધવા માટે લખો"
+uncategorized = "અવર્ગીકૃત"
+uncategorized_comment = "વિષયો કે જેને શ્રેણીની જરૂર નથી, અથવા અન્ય અસ્તિત્વમાંની શ્રેણીમાં બંધબેસતી નથી"
+universal_analytics = "યુનિવર્સલ એનાલિટિક્સ (gtag.js)"
+unknown_feed_format = "અજ્ઞાત ફીડ ફોર્મેટ"
+update = "અપડેટ"
+update_available = "અપડેટ્સ ઉપલબ્ધ"
+update_draft = "ડ્રાફ્ટ અપડેટ કરો"
+update_post = "અપડેટ પોસ્ટ"
+update_to = "આને અપડેટ કરો"
+upload = "અપલોડ કરો"
+user = "વપરાશકર્તા"
+user_error = "વપરાશકર્તા ફીલ્ડ જરૂરી છે"
+valid_values_range_from_0_to_1.0._see = "માન્ય મૂલ્યો 0 થી 1.0 સુધીની છે. જુઓ ..."
+video_post = "વિડિયો પોસ્ટ"
+video_post_comment = "વિશિષ્ટ વિડિઓ સાથે બ્લોગ પોસ્ટ બનાવવી"
+view = "જુઓ"
+view_post = "જુઓ"
+views = "જોયું"
+widget = "વિજેટ"
+widget_settings = "વિજેટ સેટિંગ્સ"
+will_you_like_to_try_our = "શું તમે અમારું પ્રયાસ કરવા માંગો છો"
+yes_im_in = "હા, હું સંમત છું"
+yes_not_recommended = "હા (ભલામણ કરેલ નથી)"
+you_dont_have_permission_to_access_this_page = "તમને આ પૃષ્ઠને ઍક્સેસ કરવાની પરવાનગી નથી"
+your_new_config_key = "તમારી નવી રૂપરેખાંકન કી"
+your_new_value = "તમારું નવું મૂલ્ય"
+your_backups = "તમારા બેકઅપ્સ"
+your_latest_blog_posts = "તમારી નવીનતમ બ્લોગ પોસ્ટ્સ"
+your_recent_posts = "તમારી તાજેતરની પોસ્ટ્સ"
+દby = "દ્વારા"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "સંકેત: તમારી રૂપરેખાંકન કી અથવા મૂલ્ય શોધવા માટે Ctrl
/CMD
+ F
નો ઉપયોગ કરો."
+homepage = "હોમપેજ"
+instead = "ને બદલે"
+item_class = "CSS વર્ગ દાખલ કરો"
+item_slug = "લિંક URL દાખલ કરો"
+now = "હવે"
+of = "માંથી"
+optional = "વૈકલ્પિક"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "પ્રો ટીપ્સ:તમે કસ્ટમ રૂપરેખા કી બનાવી શકો છો અને તમારા નમૂનામાં ગમે ત્યાં તમારી રૂપરેખા કી મૂલ્ય છાપી શકો છો."
+read_more = "વધુ વાંચો"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "સારાંશ વર્તન"
+default = "મૂળભૂત"
+check_shortcode = "શોર્ટકોડ તપાસો"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "સારાંશ મોડમાં, સામગ્રીને x char પર ટ્રિમ કરતા પહેલા શોર્ટકોડ તપાસવો કે કેમ"
+manage_users = "વપરાશકર્તાઓને મેનેજ કરો"
+add_user = "વપરાશકર્તા ઉમેરો"
+username = "વપરાશકર્તા નામ"
+role = "ભૂમિકા"
+change_password = "પાસવર્ડ બદલો"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/hi_HI.ini b/lang/hi_HI.ini
new file mode 100755
index 0000000..ef02915
--- /dev/null
+++ b/lang/hi_HI.ini
@@ -0,0 +1,332 @@
+about = "के बारे में"
+add_category = "श्रेणी जोड़ना"
+add_content = "सामग्री जोड़ें"
+add_link = "लिंक_जोड़ें"
+add_menu = "मेनू जोड़ें"
+add_new_page = "नया पेज जोड़ें"
+add_new_post = "नई पोस्ट जोड़ें"
+add_source_link_optional = "स्रोत लिंक जोड़ें (वैकल्पिक)"
+add_sub = "उप पृष्ठ जोड़ें"
+address_url = "पता (URL)"
+admin = "व्यवस्थापक"
+admin_panel_style_based_on = "व्यवस्थापक पैनल शैली पर आधारित"
+all_blog_posts = "सभी ब्लॉग पोस्ट"
+all_cache_has_been_deleted = "सारा कैश (द्रुतिका) हटा दिया गया है|"
+all_posts_tagged = "सभी पोस्ट टैग किए गए"
+archive_for = "पुरालेख के लिए"
+archive_page_for = "पृष्ठ पुरालेख के लिए"
+archives = "अभिलेखागार"
+are_you_sure_you_want_to_delete_ = "क्या आप आश्वस्त है कि आपको डिलीट करना है %s?"
+at_the_moment_you_are_using_auto_generated_menu = "फिलहाल आप ऑटो जेनरेटेड मेनू का उपयोग कर रहे हैं।"
+audio_post = "ऑडियो पोस्ट"
+audio_post_comment = "फ़ीचर्ड ऑडियो के साथ ब्लॉग पोस्ट बनाया जा रहा है"
+author = "लेखक"
+author_description = "केवल एक और HTMLy उपयोगकर्ता"
+back_to = "वापस"
+backup = "बैकअप"
+blog_description = "एक पैराग्राफ में, हमें अपने ब्लॉग के बारे में और जानकारी दे।"
+blog_theme = "ब्लॉग थीम (शैली)"
+blog_title = "ब्लॉग का शीर्षक"
+blog_title_placeholder = "मेरा HTMLy ब्लॉग"
+blog_posts_displayed_as = "ब्लॉग पोस्ट के प्रदर्शन का तरीका"
+breadcrumb_home_text = "ब्रेडक्रंब होम टेक्स्ट"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_itv = "इस आयातक का उपयोग करके आप पुष्टि करते हैं कि फ़ीड आपकी है या कम से कम आपके पास इसे प्रकाशित करने का अधिकार है।"
+css_class_optional = "सीएसएस क्लास (वैकल्पिक)"
+cache_expiration = "कैश (द्रुतिका) समाप्ति (घंटे में)"
+cache_off = "कैश द(्रुतिका) बंद"
+cache_timestamp = "कैश (द्रुतिका) समयमोहर"
+cancel = "रद्द करना"
+cannot_read_feed_content = "फ़ीड सामग्री नहीं पढ़ सकता"
+captcha_error = "रीकैप्चा सही नहीं है"
+categories = "श्रेणियाँ"
+category = "वर्ग"
+check_update = "अपडेट जांचें"
+clear_cache = "कैश (द्रुतिका) को साफ़ करें"
+comma_separated_values = "अल्पविराम से अलग किये गए मान"
+comment_system = "टिप्पणी प्रणाली"
+comments = "टिप्पणियाँ"
+config = "कॉन्फ़िग"
+congrats_you_have_the_latest_version_of_htmly = "बधाई! आपके पास HTMLy का नवीनतम संस्करण है|"
+content = "विषय"
+contents = "विषय-सूची"
+copyright_line = "कॉपीराइट लाइन"
+copyright_line_placeholder = "(C) आपका नाम|"
+create_backup = "बैकअप बनाना"
+created = "बनाया था"
+custom = "स्वनिर्धारित"
+custom_settings = "कस्टम सेटिंग्स"
+dashboard = "डैशबोर्ड"
+date = "तारीख"
+date_format = "तारिख का प्रारूप"
+delete = "मिटाना"
+description = "विवरण"
+disable = "अक्षम करना"
+disabled = "अक्षम"
+disqus_shortname = "डिस्कस का नाम"
+disqus_shortname_placeholder = "htmly"
+draft = "ड्राफ्ट"
+edit = "संपादन करें"
+edit_category = "श्रेणी संपादित करें"
+edit_post = "संपादन करें"
+edit_profile = "प्रोफ़ाइल संपादित करें"
+enable = "सक्षम करें"
+enable_blog_url = "सक्षम करे ब्लॉग URL"
+enter_image_url = "छवि URL दर्ज करें"
+facebook_app_id = "फेसबुक ऐप आईडी"
+facebook_page = "फेसबुक पेज"
+featured_audio = "विशेष रुप से प्रदर्शित ऑडियो"
+featured_image = "फीचर्ड चित्र"
+featured_link = "विशेष रुप से प्रदर्शित लिंक"
+featured_quote = "विशेष उद्धरण"
+featured_video = "विशेष रुप से प्रदर्शित वीडियो"
+feed_url = "फीड URL"
+filename = "फ़ाइल का नाम"
+follow = "अनुसरण करना"
+for_google_site_verification_meta = "Google साइट सत्यापन मेटा के लिए"
+front_page_displays = "फ्रंट पेज प्रदर्शित करता है"
+full_post = "पूरी पोस्ट"
+general = "सामान्य"
+general_settings = "सामान्य सेटिंग्स"
+get_one_here = "यहां एक प्राप्त करें"
+github_pre_release = "Github प्री-रिलीज़"
+google_analytics = "Google एनालिटिक्स"
+google_analytics_legacy = "Google एनालिटिक्स (प्राचीन)"
+google_search_console = "Google खोज कंसोल"
+home = "घर"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "यदि खाली छोड़ दिया जाए तो हम इसे नीचे दी गई सामग्री से उद्धृत करेंगे"
+if_the_url_is_left_empty_we_will_use_the_page_title = "यदि URL खाली छोड़ दिया जाए तो हम पृष्ठ शीर्षक का उपयोग करेंगे"
+if_the_url_is_left_empty_we_will_use_the_post_title = "यदि URL खाली छोड़ दिया जाए तो हम पोस्ट शीर्षक का उपयोग करेंगे"
+image_post = "छवि पोस्ट"
+image_post_comment = "विशेष रुप से प्रदर्शित छवि के साथ ब्लॉग पोस्ट बनाया जा रहा है"
+import = "आयात"
+import_feed = "फ़ीड आयात प्रारंभ करें"
+import_rss = "RSS आयात करें"
+import_rss_feed_2.0 = "RSS फ़ीड 2.0 आयात करें"
+insert_image = "चित्र डालें"
+invalid_error = "त्रुटि! अमान्य उपयोगकर्ता नाम या पासवर्ड"
+language = "सिस्टम भाषा"
+link_name = "लिंक नाम"
+link_post = "लिंक पोस्ट"
+link_post_comment = "विशेष रुप से प्रदर्शित लिंक के साथ ब्लॉग पोस्ट बनाया जा रहा है"
+login = "लॉग इन करें"
+login_page = "लोग इन वाला पन्ना"
+logout = "लॉग आउट"
+menu = "मेन्यू"
+menus = "मेनू संपादक"
+meta_description = "मेटा विवरण"
+meta_description_character = "मेटा विवरण अक्षर"
+metatags = "मेटा टैग"
+metatags_settings = "मेटाटैग सेटिंग्स"
+mine = "मेरा"
+more = "अधिक"
+my_draft = "मेरा ड्राफ्ट"
+my_posts = "मेरी पोस्ट"
+name = "नाम"
+newer = "नया"
+next = "अगला"
+next_post = "अगली पोस्ट"
+no_available_backup = "इस समय कोई बैकअप उपलब्ध नहीं है|"
+no_draft_found = "कोई ड्राफ्ट नहीं मिला"
+no_posts_found = "कोई प्रकाशन नहीं मिला"
+no_related_post_found = "कोई संबंधित पोस्ट नहीं मिली"
+no_scheduled_posts_found = "कोई निर्धारित पोस्ट नहीं मिली!"
+no_search_results = "खोजने पर कोई परिणाम नहीं मिला"
+nope = "नहीं"
+not = "नहीं"
+older = "पुराने"
+only = "केवल"
+operations = "संचालन"
+page = "पृष्ठ"
+page_generation_time = "पेज निर्माण का समय"
+pages = "पृष्ठों"
+pass_error = "पासवर्ड फ़ील्ड आवश्यक है"
+password = "पासवर्ड"
+performance = "प्रदर्शन"
+performance_settings = "प्रदर्शन समायोजन"
+permalink = "स्थायी लिंक"
+popular = "लोकप्रिय"
+popular_posts = "लोकप्रिय लेख"
+popular_posts_widget = "लोकप्रिय पोस्ट विजेट"
+popular_posts_widget_at_most = "अधिक से अधिक लोकप्रिय पोस्ट विजेट"
+popular_tags = "प्रसिद्ध टग्स"
+post_by_author = "इस लेखक द्वारा पोस्ट"
+posted_in = "में प्रकाशित किया गया था"
+posted_on = "प्रकाशित किया गया"
+posts = "पोस्ट"
+posts_by = "द्वारा पोस्ट"
+posts_draft = "पोस्ट ड्राफ्ट"
+posts_in_archive_page_at_most = "अधिकतम संग्रह पृष्ठ में पोस्ट"
+posts_in_category_page_at_most = "अधिकतम श्रेणी पृष्ठ में पोस्ट"
+posts_in_front_page_show_at_most = "पहले पन्ने पर पोस्ट अधिकतम दिखाई देती हैं"
+posts_in_profile_page_at_most = "अधिकतम प्रोफ़ाइल पृष्ठ पर पोस्ट करें"
+posts_in_search_result_at_most = "अधिकतम खोज परिणाम में पोस्ट"
+posts_in_tag_page_at_most = "अधिकतम टैग पेज में पोस्ट"
+posts_in_type_page_at_most = "अधिक से अधिक टाइप पेज में पोस्ट करें"
+posts_index_settings = "इंडेक्स सेटिंग्स पोस्ट करें"
+posts_list = "पोस्ट सूची"
+posts_tagged = "टैग किए गए पोस्ट"
+posts_with_type = "प्रकार सहित पोस्ट"
+pre_release = "पूर्व-रिलीज़"
+prev = "पिछला"
+prev_post = "पिछला पोस्ट"
+preview = "झलकी"
+profile_for = "के लिए प्रोफाइल"
+proudly_powered_by = "गर्व से संचालित"
+publish = "प्रकाशित करना"
+publish_draft = "ड्राफ्ट प्रकाशित करें"
+published = "प्रकाशित"
+quote_post = "उद्धरण पोस्ट"
+quote_post_comment = "विशेष उद्धरण के साथ ब्लॉग पोस्ट बनाया जा रहा है"
+rss_character = "RSS अक्षर"
+rss_feeds_show_the_most_recent = "RSS फ़ीड नवीनतम दिखाते हैं "
+rss_settings = "RSS समायोजन"
+read_more_text = "और अधिक पाठ पढ़ें"
+read_more_text_placeholder = "अधिक पढ़े"
+reading = "पढ़ना"
+reading_settings = "सेटिंग पढ़ना"
+recaptcha = "रीकैप्चा"
+recent_posts = "हाल के पोस्ट"
+recent_posts_widget_at_most = "अधिक से अधिक हालिया पोस्ट विजेट"
+regular_post = "नियमित पोस्ट"
+regular_post_comment = "नियमित ब्लॉग पोस्ट बनाया जा रहा है"
+related_posts = "संबंधित पोस्ट"
+related_widget_posts_at_most = "अधिक से अधिक संबंधित विजेट पोस्ट"
+revert_to_draft = "ड्राफ्ट पर वापस लौटें"
+save = "सहेजें"
+save_config = "कॉन्फ़िगरेशन सहेजें"
+save_edit = "संपादित सहेजें"
+save_menu = "मेनू सहेजें"
+save_as_draft = "ड्राफ्ट के रूप में सेव करें"
+save_category = "श्रेणी सहेजें"
+scheduled = "अनुसूचित"
+scheduled_posts = "अनुसूचित पोस्ट"
+scheduled_tips = "किसी पोस्ट को भविष्य की तारीख या समय के साथ प्रकाशित करने पर वह निर्धारित पोस्ट में चला जाएगा"
+search = "खोज"
+search_for = "निम्न को खोजें"
+search_results_for = "खोजे गए परिणाम"
+search_results_not_found = "खोज परिणाम नहीं मिले!"
+secret_key = "गुप्त कुंजी"
+settings = "समायोजन"
+sign_in_to_start_your_session = "अपना सत्र शुरू करने के लिए साइन इन करें"
+site_key = "कार्यस्थल की कुंजी"
+sitemap = "साइट मैप"
+slug = "काउंटर"
+social_media = "सामाजिक मीडिया"
+static_page = "स्टेटिक पृष्ठ"
+static_page_comment = "स्टेटिक पेज बनाया जा रहा है"
+static_pages = "स्टेटिक पेज"
+summary = "सारांश"
+summary_character = "सारांश अक्षर"
+tag = "टैग"
+tagcloud_widget_at_most = "अधिक से अधिक टैगक्लाउड"
+tagline = "टैग लाइन"
+tagline_placeholder = "डेटाबेस रहित PHP ब्लॉगिंग प्लेटफ़ॉर्म"
+tagline_description = "कुछ शब्दों में बताएं कि यह ब्लॉग किस बारे में है।"
+tags = "टैग"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "यह लीगेसी कोड है. आमतौर पर gtag.js का उपयोग करके नए विश्लेषण तैयार किए जाते हैं"
+this_page_doesnt_exist = "यह पेज मौजूद नहीं है!"
+time = "समय"
+timezone = "समय क्षेत्र"
+title = "शीर्षक"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "डिस्कस या फेसबुक टिप्पणियों का उपयोग करने के लिए आपको अपना डिस्कस संक्षिप्त नाम या अपनी फेसबुक ऐप आईडी प्रदान करनी होगी।"
+token_error = "CSRF टोकन सही नहीं है"
+tools = "औजार"
+twitter_account = "ट्विटर खाता"
+type_to_search = "खोजने के लिए लिखें"
+uncategorized = "अवर्गीकृत"
+uncategorized_comment = "ऐसे विषय जिन्हें किसी श्रेणी की आवश्यकता नहीं है, या किसी अन्य मौजूदा श्रेणी में फिट नहीं बैठते हैं"
+universal_analytics = "यूनिवर्सल एनालिटिक्स (gtag.js)"
+unknown_feed_format = "अज्ञात फ़ीड प्रारूप"
+update = "अद्यतन"
+update_available = "उपलब्ध अद्यतन"
+update_draft = "ड्राफ्ट अद्यतन करें"
+update_post = "पोस्ट अपडेट करें"
+update_to = "इसे अपडेट करें"
+upload = "अपलोड"
+user = "उपयोगकर्ता"
+user_error = "उपयोगकर्ता फ़ील्ड आवश्यक है"
+valid_values_range_from_0_to_1.0._see = "वैध मूल्यों 0 से 1.0 की रेंज में है| आगे देखिये ..."
+video_post = "वीडियो पोस्ट"
+video_post_comment = "विशेष रुप से प्रदर्शित वीडियो के साथ ब्लॉग पोस्ट बनाया जा रहा है"
+view = "देखिए"
+view_post = "देखिए"
+views = "देखा गया"
+widget = "विजेट"
+widget_settings = "विजेट सेटिंग्स"
+would_you_like_to_try_our = "क्या आप आज़माना चाहेंगे हमारा "
+yes_im_in = "हा मुझे मंजूर है"
+yes_not_recommended = "हाँ (अनुशंसित नहीं)"
+you_dont_have_permission_to_access_this_page = "आपको इस पृष्ठ तक पहुंचने की अनुमति नहीं है"
+your_new_config_key = "आपकी नई कॉन्फ़िगरेशन कुंजी"
+your_new_value = "आपका नया मूल्य"
+your_backups = "आपके बैकअप"
+your_latest_blog_posts = "आपके नवीनतम ब्लॉग पोस्ट"
+your_recent_posts = "आपकी हाल की पोस्ट"
+by = "द्वारा"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "संकेत: अपनी कॉन्फ़िगरेशन कुंजी या मान खोजने के लिए Ctrl
/CMD
+ F
का उपयोग करें।"
+homepage = "मुखपृष्ठ"
+instead = "के बजाय"
+item_class = "CSS क्लास डालें"
+item_slug = "लिंक URL डालें"
+now = "अब"
+of = "का"
+optional = "वैकल्पिक"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "प्रो युक्तियाँ:आप कस्टम कॉन्फिग कुंजी बना सकते हैं और अपने टेम्पलेट में कहीं भी अपनी कॉन्फिग कुंजी मान प्रिंट कर सकते हैं|"
+read_more = "और पढ़ें"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "सारांश व्यवहार"
+default = "Default"
+check_shortcode = "शॉर्टकोड जांचें"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "सारांश मोड में, सामग्री को x वर्ण में ट्रिम करने से पहले शॉर्टकोड की जांच करें या नहीं"
+manage_users = "उपयोगकर्ताओं को प्रबंधित करें"
+add_user = "उपयोगकर्ता जोड़ें"
+username = "उपयोगकर्ता नाम"
+role = "भूमिका"
+change_password = "पासवर्ड बदलें"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/hr_HR.ini b/lang/hr_HR.ini
new file mode 100755
index 0000000..bb796ef
--- /dev/null
+++ b/lang/hr_HR.ini
@@ -0,0 +1,332 @@
+about = "O nama"
+add_category = "Dodaj kategoriju"
+add_content = "Dodaj sadržaj"
+add_link = "Dodaj link"
+add_menu = "Dodaj izbornik"
+add_new_page = "Dodaj novu stranicu"
+add_new_post = "Dodaj novi post"
+add_source_link_optional = "Dodaj izvorni link (opcionalno)"
+add_sub = "Dodaj podstranicu"
+address_url = "Adresa (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Stil admin panela temeljen na"
+all_blog_posts = "Svi blog zapisi"
+all_cache_has_been_deleted = "Sva memorija predmemorije je izbrisana!"
+all_posts_tagged = "Svi označeni zapisi"
+archive_for = "Arhiva za"
+archive_page_for = "Stranica arhive za"
+archives = "Arhive"
+are_you_sure_you_want_to_delete_ = "Jeste li sigurni da želite izbrisati %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Trenutno koristite automatski generirani izbornik."
+audio_post = "Audio post"
+audio_post_comment = "Stvaranje blog zapisa s istaknutim audio zapisom"
+author = "Autor"
+author_description = "Samo još jedan korisnik HTMLy-ja"
+back_to = "Povratak na"
+backup = "Backup"
+blog_description = "U jednom odlomku, recite nam više o svom blogu."
+blog_theme = "Tema bloga"
+blog_title = "Naslov bloga"
+blog_title_placeholder = "Moj HTMLy Blog"
+blog_posts_displayed_as = "Blog zapisi prikazani kao"
+breadcrumb_home_text = "Tekst početne stranice"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Korištenjem ovog uvoznika pristajete ako je feed vaš ili barem imate ovlasti za objavljivanje."
+css_class_optional = "CSS razred (opcionalno)"
+cache_expiration = "Istjecanje predmemorije (u satima)"
+cache_off = "Isključi predmemoriju"
+cache_timestamp = "Oznaka vremena predmemorije"
+cancel = "Otkaži"
+cannot_read_feed_content = "Ne mogu pročitati sadržaj feeda"
+captcha_error = "reCaptcha nije ispravna"
+categories = "Kategorije"
+category = "Kategorija"
+check_update = "Provjeri ažuriranje"
+clear_cache = "Očisti predmemoriju"
+comma_separated_values = "Vrijednosti odvojene zarezom"
+comment_system = "Sustav komentara"
+comments = "Komentari"
+config = "Konfiguracija"
+congrats_you_have_the_latest_version_of_htmly = "Čestitamo! Imate najnoviju verziju HTMLy-ja."
+content = "Sadržaj"
+contents = "Sadržaji"
+copyright_line = "Linija autorskog prava"
+copyright_line_placeholder = "(c) Vaše ime."
+create_backup = "Kreiraj backup"
+created = "Stvoreno"
+custom = "Prilagođeno"
+custom_settings = "Prilagođene postavke"
+dashboard = "Kontrolna ploča"
+date = "Datum"
+date_format = "Format datuma"
+delete = "Izbriši"
+description = "Opis"
+disable = "Onemogući"
+disabled = "Onemogućeno"
+disqus_shortname = "Disqus kratko ime"
+disqus_shortname_placeholder = "htmly"
+draft = "Skica"
+edit = "Uredi"
+edit_category = "Uredi kategoriju"
+edit_post = "Uredi"
+edit_profile = "Uredi profil"
+enable = "Omogući"
+enable_blog_url = "Omogući blog URL"
+enter_image_url = "Unesite URL slike"
+facebook_app_id = "Facebook ID aplikacije"
+facebook_page = "Facebook stranica"
+featured_audio = "Istaknuti audio"
+featured_image = "Istaknuta slika"
+featured_link = "Istaknuti link"
+featured_quote = "Istaknuta citat"
+featured_video = "Istaknuti video"
+feed_url = "URL feeda"
+filename = "Naziv datoteke"
+follow = "Prati"
+for_google_site_verification_meta = "Za meta provjeru Google stranice"
+front_page_displays = "Početna stranica prikazuje"
+full_post = "Cijeli post"
+general = "Općenito"
+general_settings = "Opće postavke"
+get_one_here = "Dobiti jedan ovdje"
+github_pre_release = "Github pretpregled"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (stari)"
+google_search_console = "Google konzola za pretraživanje"
+home = "Početna"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Ako ostavite prazno, izvat ćemo ga iz sadržaja ispod"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Ako URL ostavite prazno, koristit ćemo naslov stranice"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Ako URL ostavite prazno, koristit ćemo naslov posta"
+image_post = "Slični post"
+image_post_comment = "Stvaranje blog posta s istaknutom slikom"
+import = "Uvoz"
+import_feed = "Započni uvoz feeda"
+import_rss = "Uvezi RSS"
+import_rss_feed_2.0 = "Uvoz RSS feeda 2.0"
+insert_image = "Umetni sliku"
+invalid_error = "GREŠKA: Neispravno korisničko ime ili lozinka"
+language = "Jezik sustava"
+link_name = "Naziv linka"
+link_post = "Link post"
+link_post_comment = "Stvaranje blog posta s istaknutim linkom"
+login = "Prijava"
+login_page = "Stranica prijave"
+logout = "Odjava"
+menu = "Izbornik"
+menus = "Uređivač izbornika"
+meta_description = "Meta opis"
+meta_description_character = "Meta opis znakova"
+metatags = "Metatagi"
+metatags_settings = "Postavke metataga"
+mine = "Moje"
+more = "Više"
+my_draft = "Moja skica"
+my_posts = "Moji postovi"
+name = "Ime"
+newer = "Novije"
+next = "Sljedeće"
+next_post = "Sljedeći post"
+no_available_backup = "Nema dostupnih sigurnosnih kopija trenutno."
+no_draft_found = "Nema pronađenih skica"
+no_posts_found = "Nema pronađenih postova"
+no_related_post_found = "Nema pronađenih srodnih postova"
+no_scheduled_posts_found = "Nema zakazanih postova!"
+no_search_results = "Nema rezultata pretraživanja"
+nope = "Ne"
+not = "Ne"
+older = "Starije"
+only = "Samo"
+operations = "Operacije"
+page = "Stranica"
+page_generation_time = "Vrijeme generiranja stranice"
+pages = "Stranice"
+pass_error = "Polje lozinke je obavezno"
+password = "Lozinka"
+performance = "Performanse"
+performance_settings = "Postavke performansi"
+permalink = "Trajna poveznica"
+popular = "Popularno"
+popular_posts = "Popularni postovi"
+popular_posts_widget = "Widget popularnih postova"
+popular_posts_widget_at_most = "Widget popularnih postova najviše"
+popular_tags = "Popularne oznake"
+post_by_author = "Postovi ovog autora"
+posted_in = "Objavljeno u"
+posted_on = "Objavljeno"
+posts = "Postovi"
+posts_by = "Postovi od"
+posts_draft = "Skice postova"
+posts_in_archive_page_at_most = "Postovi na stranici arhive najviše"
+posts_in_category_page_at_most = "Postovi na stranici kategorije najviše"
+posts_in_front_page_show_at_most = "Postovi na početnoj stranici prikazuju najviše"
+posts_in_profile_page_at_most = "Postovi na stranici profila najviše"
+posts_in_search_result_at_most = "Postovi u rezultatima pretraživanja najviše"
+posts_in_tag_page_at_most = "Postovi na stranici oznake najviše"
+posts_in_type_page_at_most = "Postovi na stranici tipa najviše"
+posts_index_settings = "Postavke indeksa postova"
+posts_list = "Popis postova"
+posts_tagged = "Postovi označeni"
+posts_with_type = "Postovi s tipom"
+pre_release = "Predačka verzija"
+prev = "Prethodno"
+prev_post = "Prethodni post"
+preview = "Pregled"
+profile_for = "Profil za"
+proudly_powered_by = "Ponosno pokreće"
+publish = "Objavi"
+publish_draft = "Objavi skicu"
+published = "Objavljeno"
+quote_post = "Citirani post"
+quote_post_comment = "Stvaranje blog posta s istaknutim citatom"
+rss_character = "RSS znakova"
+rss_feeds_show_the_most_recent = "RSS feedovi prikazuju najnovije"
+rss_settings = "Postavke RSS-a"
+read_more_text = "Tekst za pročitaj više"
+read_more_text_placeholder = "Pročitaj više"
+reading = "Čitanje"
+reading_settings = "Postavke čitanja"
+recaptcha = "reCAPTCHA"
+recent_posts = "Nedavni postovi"
+recent_posts_widget_at_most = "Widget nedavnih postova najviše"
+regular_post = "Redoviti post"
+regular_post_comment = "Stvaranje redovitog blog posta"
+related_posts = "Srodni postovi"
+related_widget_posts_at_most = "Widget srodnih postova najviše"
+revert_to_draft = "Vrati u skicu"
+save = "Spremi"
+save_config = "Spremi konfiguraciju"
+save_edit = "Spremi uređivanje"
+save_menu = "Spremi izbornik"
+save_as_draft = "Spremi kao skicu"
+save_category = "Spremi kategoriju"
+scheduled = "Zakazano"
+scheduled_posts = "Zakazani postovi"
+scheduled_tips = "Objavljivanje posta s budućim datumom ili vremenom, bit će dodano u zakazane postove"
+search = "Pretraži"
+search_for = "Pretraži"
+search_results_for = "Rezultati pretrage za"
+search_results_not_found = "Nisu pronađeni rezultati pretrage!"
+secret_key = "Tajni ključ"
+settings = "Postavke"
+sign_in_to_start_your_session = "Prijavite se kako biste započeli svoju sesiju"
+site_key = "Ključ web stranice"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Društveni mediji"
+static_page = "Statička stranica"
+static_page_comment = "Stvaranje statičke stranice"
+static_pages = "Statičke stranice"
+summary = "Sažetak"
+summary_character = "Sažetak znakova"
+tag = "Oznaka"
+tagcloud_widget_at_most = "Tag oblak najviše"
+tagline = "Slogan"
+tagline_placeholder = "Platforma za blogovanje bez baze podataka u PHP-u"
+tagline_description = "U nekoliko riječi, objasnite o čemu se radi u ovom blogu."
+tags = "Oznake"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Ovo je stari kod. Obično se novi stvoreni analitički podaci koriste pomoću gtag.js"
+this_page_doesnt_exist = "Ova stranica ne postoji!"
+time = "Vrijeme"
+timezone = "Vremenska zona"
+title = "Naslov"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Za korištenje Disqus ili Facebook komentara morate pružiti svoje Disqus kratko ime ili vaš Facebook App ID."
+token_error = "CSRF token nije ispravan"
+tools = "Alati"
+twitter_account = "Twitter račun"
+type_to_search = "Upišite za pretraživanje"
+uncategorized = "Nekategorizirano"
+uncategorized_comment = "Teme koje ne trebaju kategoriju ili ne odgovaraju bilo kojoj drugoj postojećoj kategoriji"
+universal_analytics = "Univerzalna analitika (gtag.js)"
+unknown_feed_format = "Nepoznat format feeda"
+update = "Ažuriraj"
+update_available = "Dostupno ažuriranje"
+update_draft = "Ažuriraj skicu"
+update_post = "Ažuriraj post"
+update_to = "Ažuriraj na"
+upload = "Učitaj"
+user = "Korisnik"
+user_error = "Polje korisnika je obavezno"
+valid_values_range_from_0_to_1.0._see = "Valjane vrijednosti su u rasponu od 0,0 do 1,0. Pogledajte"
+video_post = "Video post"
+video_post_comment = "Stvaranje blog posta s istaknutim videom"
+view = "Pogled"
+view_post = "Pogledaj"
+views = "Pregledi"
+widget = "Widget"
+widget_settings = "Postavke widgeta"
+would_you_like_to_try_our = "Biste li željeli isprobati naš"
+yes_im_in = "Da, uključen sam"
+yes_not_recommended = "Da (nije preporučeno)"
+you_dont_have_permission_to_access_this_page = "Nemate dopuštenje pristupiti ovoj stranici"
+your_new_config_key = "Vaš novi konfiguracijski ključ"
+your_new_value = "Vaša nova vrijednost"
+your_backups = "Vaše sigurnosne kopije"
+your_latest_blog_posts = "Vaši najnoviji blog postovi"
+your_recent_posts = "Vaši nedavni postovi"
+by = "od"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "savjet: Koristite Ctrl/CMD + F za pretraživanje vašeg konfiguracijskog ključa ili vrijednosti."
+homepage = "početna stranica"
+instead = "umjesto"
+item_class = "Unesite CSS razred"
+item_slug = "Unesite URL linka"
+now = "sada"
+of = "od"
+optional = "opcionalno"
+post_your_post_slug = "/post/naslov-posta"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro savjeti: Možete stvoriti prilagođene konfiguracijske ključeve i ispisati vrijednost vašeg konfiguracijskog ključa bilo gdje u vašem predlošku."
+read_more = "pročitaj više"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/godina/mjesec/naslov-posta"
+your_key = "vaš.ključ"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/hu_HU.ini b/lang/hu_HU.ini
new file mode 100755
index 0000000..801b737
--- /dev/null
+++ b/lang/hu_HU.ini
@@ -0,0 +1,332 @@
+about = "About"
+add_category = "Kategória hozzáadása"
+add_content = "Tartalom hozzáadása"
+add_link = "Link hozzáadása"
+add_menu = "Menü hozzáadása"
+add_new_page = "Új oldal hozzáadása"
+add_new_post = "Új bejegyzés hozzáadása"
+add_source_link_optional = "Forrás link hozzáadása (nem kötelező)"
+add_sub = "Aloldal hozzáadása"
+address_url = "Address (URL)"
+admin = "Rendszergazda"
+admin_panel_style_based_on = "Az adminisztrációs panel stílusa"
+all_blog_posts = "Minden blogbejegyzés"
+all_cache_has_been_deleted = "Az összes gyorsítótár törölve lett!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Archívum"
+are_you_sure_you_want_to_delete_ = "Biztosan törli a következőt: %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Jelenleg ön automatikusan generált menüt használ."
+audio_post = "Hangbejegyzés"
+audio_post_comment = "Blogbejegyzés létrehozása kiemelt hanganyaggal"
+author = "Szerző"
+author_description = "Just another HTMLy user"
+back_to = "Vissza ide"
+backup = "Biztonsági másolat"
+blog_description = "In one paragraph, tell us more about your blog."
+blog_theme = "Blog Theme"
+blog_title = "Blog title"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "Blog posts displayed as"
+breadcrumb_home_text = "Breadcrumb home text"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Ennek az importnak a használatával elfogadja, ha a hírcsatorna a tiéd, vagy legalábbis jogosult vagy közzétenni."
+css_class_optional = "CSS osztály (nem kötelező)"
+cache_expiration = "Cache expiration (in hours)"
+cache_off = "Cache off"
+cache_timestamp = "Cache timestamp"
+cancel = "Mégse"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha not correct"
+categories = "Kategóriák"
+category = "Kategória"
+check_update = "Frissítés ellenőrzése"
+clear_cache = "Gyorsítótár törlése"
+comma_separated_values = "Vesszővel elválasztott értékek"
+comment_system = "Comment system"
+comments = "Comments"
+config = "Beállítás"
+congrats_you_have_the_latest_version_of_htmly = "Gratulálunk! Ön a HTMLy legújabb verzióját használja."
+content = "Tartalom"
+contents = "Tartalom"
+copyright_line = "Copyright line"
+copyright_line_placeholder = "(c) Your name."
+create_backup = "Biztonsági másolat létrehozása"
+created = "Létrehozva"
+custom = "Egyedi"
+custom_settings = "Egyéni beállítások"
+dashboard = "Irányítópult"
+date = "Dátum"
+date_format = "Date Format"
+delete = "Törlés"
+description = "Leírás"
+disable = "Disable"
+disabled = "Disabled"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Piszkozat"
+edit = "Szerkesztés"
+edit_category = "Kategória szerkesztése"
+edit_post = "Edit"
+edit_profile = "Profil szerkesztése"
+enable = "Enable"
+enable_blog_url = "Enable blog URL"
+enter_image_url = "Írja be a kép URL-jét"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook page"
+featured_audio = "Kiemelt hang"
+featured_image = "Kiemelt kép"
+featured_link = "Kiemelt hivatkozás"
+featured_quote = "Kiemelt idézet"
+featured_video = "Kiemelt videó"
+feed_url = "Hírcsatorna URL"
+filename = "Fájlnév"
+follow = "Követés"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Front page displays"
+full_post = "Full post"
+general = "Általános"
+general_settings = "Általános beállítások"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Főoldal"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Ha üresen hagyja, akkor kivonjuk az alábbi tartalomból"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Ha az URL üres marad, akkor az oldal címét fogjuk használni"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Ha az URL üres marad, akkor a bejegyzés címét fogjuk használni"
+image_post = "Képes bejegyzés"
+image_post_comment = "Blogbejegyzés létrehozása kiemelt képpel"
+import = "Import"
+import_feed = "Hírcsatorna iport elindítása"
+import_rss = "RSS importálása"
+import_rss_feed_2.0 = "RSS-hírcsatorna 2.0 importálása"
+insert_image = "Kép beszúrása"
+invalid_error = "ERROR: Invalid username or password"
+language = "System Language"
+link_name = "Link neve"
+link_post = "Link bejegyzés"
+link_post_comment = "Blogbejegyzés létrehozása kiemelt linkkel"
+login = "Bejelentkezés"
+login_page = "Bejelentkezés oldal"
+logout = "Kijelentkezés"
+menu = "Menu"
+menus = "Menüszerkesztő"
+meta_description = "Meta leírás"
+meta_description_character = "Meta description character"
+metatags = "Metacímkék"
+metatags_settings = "Metacímkék beállításai"
+mine = "Az enyém"
+more = "Több"
+my_draft = "Saját piszkozat"
+my_posts = "Saját bejegyzések"
+name = "Név"
+newer = "Újabb"
+next = "Következő"
+next_post = "Következő bejegyzés"
+no_available_backup = "Jelenleg nincs elérhető biztonsági másolat."
+no_draft_found = "Nincs vázlat"
+no_posts_found = "Nincs bejegyzés"
+no_related_post_found = "Nem található kapcsolódó bejegyzés"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Nope"
+not = "No"
+older = "Régebbi"
+only = "Csak"
+operations = "Műveletek"
+page = "Page"
+page_generation_time = "Page generation time"
+pages = "Pages"
+pass_error = "Password field is required"
+password = "Jelszó"
+performance = "Teljesítmény"
+performance_settings = "Teljesítménybeállítás"
+permalink = "Permalink"
+popular = "Popular"
+popular_posts = "Népszerű bejegyzések"
+popular_posts_widget = "Popular posts widget"
+popular_posts_widget_at_most = "Popular posts widget at most"
+popular_tags = "Népszerű címkék"
+post_by_author = "Posts by this author"
+posted_in = "Bejegyzés helye"
+posted_on = "Bejegyzés ideje"
+posts = "Bejegyzések"
+posts_by = "Posts by"
+posts_draft = "Bejegyzések vázlata"
+posts_in_archive_page_at_most = "Posts in archive page at most"
+posts_in_category_page_at_most = "Posts in category page at most"
+posts_in_front_page_show_at_most = "Posts in front page show at most"
+posts_in_profile_page_at_most = "Posts in profile page at most"
+posts_in_search_result_at_most = "Posts in search result at most"
+posts_in_tag_page_at_most = "Posts in tag page at most"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Posts index settings"
+posts_list = "Bejegyzések listája"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "Elöző"
+prev_post = "Elöző bejegyzés"
+preview = "Előnézet"
+profile_for = "Profile for"
+proudly_powered_by = "Büszkén működteti"
+publish = "Közzététel"
+publish_draft = "Piszkozat közzététele"
+published = "Közzétett"
+quote_post = "Bejegyzés idézettel"
+quote_post_comment = "Blogbejegyzés létrehozása kiemelt idézettel"
+rss_character = "RSS character"
+rss_feeds_show_the_most_recent = "RSS feeds show the most recent"
+rss_settings = "RSS settings"
+read_more_text = "Read more text"
+read_more_text_placeholder = "Read more"
+reading = "Olvasás"
+reading_settings = "Olvasási beállítások"
+recaptcha = "reCAPTCHA"
+recent_posts = "Legutóbbi bejegyzések"
+recent_posts_widget_at_most = "Recent posts widget at most"
+regular_post = "Rendszeres bejegyzés"
+regular_post_comment = "Rendszeres bejegyzés létrehozása"
+related_posts = "Kapcsolódó bejegyzések"
+related_widget_posts_at_most = "Related widget posts at most"
+revert_to_draft = "Vissza a piszkozathoz"
+save = "Mentés"
+save_config = "Save config"
+save_edit = "Szerkesztés mentése"
+save_menu = "Mentés menü"
+save_as_draft = "Mentés piszkozatként"
+save_category = "Kategória mentése"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Keresés"
+search_for = "Keresés"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Secret Key"
+settings = "Beállítások"
+sign_in_to_start_your_session = "Jelentkezzen be a munkamenet megkezdéséhez"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "TLD utáni elérési útvonal"
+social_media = "Social Media"
+static_page = "Statikus oldal"
+static_page_comment = "Statikus oldal létrehozása"
+static_pages = "Statikus oldalak"
+summary = "Summary"
+summary_character = "Summary character"
+tag = "Címke"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Tagline"
+tagline_placeholder = "Databaseless PHP Blogging Platform"
+tagline_description = "In a few words, explain what this blog is about."
+tags = "Címkék"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "Ez az oldal nem létezik!"
+time = "Idő"
+timezone = "Timezone"
+title = "Cím"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "To using Disqus or Facebook comment you need to provide Disqus shortname or Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "Eszközök"
+twitter_account = "Twitter account"
+type_to_search = "Írja be a kereséshez"
+uncategorized = "Nincs kategorizálva"
+uncategorized_comment = "Olyan témák, amelyekhez nincs szükség kategóriára, vagy amelyek nem illenek más létező kategóriába"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Frissítés"
+update_available = "Elérhető frissítés"
+update_draft = "Piszkozat frissítése"
+update_post = "Bejegyzés frissítése"
+update_to = "Frissítés"
+upload = "Feltöltés"
+user = "Felhasználó"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Valid values range from 0.0 to 1.0. See"
+video_post = "Videó bejegyzés"
+video_post_comment = "Blogbejegyzés létrehozása kiemelt videóval"
+view = "Nézet"
+view_post = "View"
+views = "Nézetek"
+widget = "Widget"
+widget_settings = "Widget beállítások"
+would_you_like_to_try_our = "Szeretné kipróbálni a mi "
+yes_im_in = "Yes I'm in"
+yes_not_recommended = "Yes (not recommended)"
+you_dont_have_permission_to_access_this_page = "Nincs engedélyed az oldal elérésére"
+your_new_config_key = "Your New Config Key"
+your_new_value = "Your New Value"
+your_backups = "A biztonsági másolatok"
+your_latest_blog_posts = "Your latest blog posts"
+your_recent_posts = "Legutóbbi bejegyzéseid"
+by = "által"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Use Ctrl
/CMD
+ F
to search for your config key or value."
+homepage = "kezdőlap"
+instead = "helyett"
+item_class = "CSS osztály beszúrása"
+item_slug = "Link URL beszúrása"
+now = "most"
+of = "of"
+optional = "választható"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro tips: You can creating custom config key and print out your config key value anywhere in your template."
+read_more = "tovább"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/id_ID.ini b/lang/id_ID.ini
new file mode 100755
index 0000000..2d4b226
--- /dev/null
+++ b/lang/id_ID.ini
@@ -0,0 +1,332 @@
+about = "Tentang"
+add_category = "Tambah kategori"
+add_content = "Tambah konten"
+add_link = "Tambahkan link"
+add_menu = "Tambah menu"
+add_new_page = "Tambahkan halaman baru"
+add_new_post = "Tambahkan artikel baru"
+add_source_link_optional = "Tambahkan link sumber (opsional)"
+add_sub = "Tambah sub halaman"
+address_url = "Alamat (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Gaya panel admin berdasarkan"
+all_blog_posts = "Semua artikel"
+all_cache_has_been_deleted = "Cache telah dihapus!"
+all_posts_tagged = "Semua postingan dengan tag"
+archive_for = "Arsip untuk"
+archive_page_for = "Halaman arsip untuk"
+archives = "Arsip"
+are_you_sure_you_want_to_delete_ = "Anda yakin ingin menghapus %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Saat ini Anda menggunakan menu yang dibuat secara otomatis."
+audio_post = "Artikel dengan Audio"
+audio_post_comment = "Membuat artikel dengan audio unggulan"
+author = "Penulis"
+author_description = "Hanya pengguna HTMLy lainnya"
+back_to = "Kembali ke"
+backup = "Cadangkan"
+blog_description = "Dalam satu paragraf, ceritakan lebih banyak tentang blog Anda."
+blog_theme = "Tema"
+blog_title = "Judul blog"
+blog_title_placeholder = "Blog HTMLy saya"
+blog_posts_displayed_as = "Artikel blog ditampilkan sebagai"
+breadcrumb_home_text = "Teks beranda pada breadcrumb"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Dengan menggunakan importir ini Anda setuju jika feed adalah milik Anda atau setidaknya Anda memiliki kewenangan untuk mempublikasikannya."
+css_class_optional = "CSS Class (opsional)"
+cache_expiration = "Masa berlaku cache (dalam jam)"
+cache_off = "Cache nonaktif"
+cache_timestamp = "Stempel waktu cache"
+cancel = "Batal"
+cannot_read_feed_content = "Tidak bisa membaca konten feed"
+captcha_error = "reCaptcha tidak benar"
+categories = "Kategori"
+category = "Kategori"
+check_update = "Cek pembaruan"
+clear_cache = "Bersihkan cache"
+comma_separated_values = "Pisahkan dengan koma"
+comment_system = "Sistem komentar"
+comments = "Komentar"
+config = "Konfigurasi"
+congrats_you_have_the_latest_version_of_htmly = "Selamat! Anda memiliki HTMLy versi terbaru."
+content = "Konten"
+contents = "Isi"
+copyright_line = "Hak cipta"
+copyright_line_placeholder = "(c) Nama Anda."
+create_backup = "Membuat cadangan"
+created = "Dibuat"
+custom = "Kustom"
+custom_settings = "Pengaturan Kustom"
+dashboard = "Dasbor"
+date = "Tanggal"
+date_format = "Format tanggal"
+delete = "Hapus"
+description = "Keterangan"
+disable = "Matikan"
+disabled = "Dimatikan"
+disqus_shortname = "Nama Panggilan Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Konsep"
+edit = "Sunting"
+edit_category = "Ubah kategori"
+edit_post = "Ubah"
+edit_profile = "Sunting profil"
+enable = "Aktifkan"
+enable_blog_url = "Aktifkan URL blog"
+enter_image_url = "Masukkan URL gambar"
+facebook_app_id = "ID Aplikasi Facebook"
+facebook_page = "Halaman Facebook"
+featured_audio = "Audio Unggulan"
+featured_image = "Gambar Unggulan"
+featured_link = "Tautan Unggulan"
+featured_quote = "Kutipan Unggulan"
+featured_video = "Video Unggulan"
+feed_url = "URL RSS"
+filename = "Nama berkas"
+follow = "Ikuti"
+for_google_site_verification_meta = "Untuk meta verifikasi situs-google"
+front_page_displays = "Tampilan halaman depan"
+full_post = "Artikel lengkap"
+general = "Umum"
+general_settings = "Pengaturan Umum"
+get_one_here = "Dapatkan satu di sini"
+github_pre_release = "Pra-rilis Github"
+google_analytics = "Penganalisa Google"
+google_analytics_legacy = "Penganalisa Google (lama)"
+google_search_console = "Google Search Console"
+home = "Beranda"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Jika dibiarkan kosong kami akan mengutipnya dari konten di bawah ini"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Jika url dibiarkan kosong kita akan menggunakan judul halaman"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Jika URL dibiarkan kosong kita akan menggunakan judul artikel"
+image_post = "Artikel bergambar"
+image_post_comment = "Membuat artikel dengan gambar unggulan"
+import = "Import"
+import_feed = "Mulai Impor RSS"
+import_rss = "Impor RSS"
+import_rss_feed_2.0 = "Impor RSS Feed 2.0"
+insert_image = "Sisipkan gambar"
+invalid_error = "Kesalahan: nama pengguna atau kata sandi tidak sah"
+language = "Bahasa Sistem"
+link_name = "Nama tautan"
+link_post = "Artikel tautan"
+link_post_comment = "Membuat artikel dengan tautan unggulan"
+login = "Masuk"
+login_page = "Halaman login"
+logout = "Keluar"
+menu = "Menu"
+menus = "Menu Editor"
+meta_description = "Meta deskripsi"
+meta_description_character = "Karakter meta deskripsi"
+metatags = "Metatags"
+metatags_settings = "Pengaturan Metatags"
+mine = "Punya saya"
+more = "Selengkapnya"
+my_draft = "Konsep saya"
+my_posts = "Artikel saya"
+name = "Nama"
+newer = "Baru"
+next = "Selanjutnya"
+next_post = "Artikel selanjutnya"
+no_available_backup = "Tidak ada cadangan yang tersedia saat ini."
+no_draft_found = "Konsep tidak ditemukan"
+no_posts_found = "Artikel tidak ditemukan"
+no_related_post_found = "Artikel terkait tidak ditemukan"
+no_scheduled_posts_found = "Postingan terjadwal tidak ditemukan!"
+no_search_results = "Tidak ada hasil pencarian"
+nope = "Tidak"
+not = "Tidak"
+older = "Lama"
+only = "Hanya"
+operations = "Operasi"
+page = "Halaman"
+page_generation_time = "Waktu pembuatan halaman"
+pages = "Halaman"
+pass_error = "Kolom kata sandi diperlukan"
+password = "Sandi"
+performance = "Performa"
+performance_settings = "Pengaturan Performa"
+permalink = "Tautan permanen"
+popular = "Populer"
+popular_posts = "Artikel populer"
+popular_posts_widget = "Widget artikel populer"
+popular_posts_widget_at_most = "Widget artikel populer paling banyak"
+popular_tags = "Tag populer"
+post_by_author = "Artikel oleh Penulis ini"
+posted_in = "Terbit di"
+posted_on = "Terbit pada"
+posts = "Artikel"
+posts_by = "Postingan oleh"
+posts_draft = "Daftar konsep"
+posts_in_archive_page_at_most = "Artikel di halaman arsip paling banyak"
+posts_in_category_page_at_most = "Artikel dalam halaman kategori paling banyak"
+posts_in_front_page_show_at_most = "Artikel paling banyak ditampilkan"
+posts_in_profile_page_at_most = "Artikel di halaman profil paling banyak"
+posts_in_search_result_at_most = "Artikel dalam hasil pencarian paling banyak"
+posts_in_tag_page_at_most = "Artikel paling banyak di halaman tag"
+posts_in_type_page_at_most = "Artikel dalam halaman tipe paling banyak"
+posts_index_settings = "Pengaturan indeks artikel"
+posts_list = "Daftar artikel"
+posts_tagged = "Postingan dengan tag"
+posts_with_type = "Postingan dengan tipe"
+pre_release = "Pra-rilis"
+prev = "Sebelumnya"
+prev_post = "Artikel sebelumnya"
+preview = "Pratayang"
+profile_for = "Profil untuk"
+proudly_powered_by = "Dengan bangga ditenagai"
+publish = "Terbitkan"
+publish_draft = "Terbitkan konsep"
+published = "Telah terbit"
+quote_post = "Artikel dengan kutipan"
+quote_post_comment = "Membuat Artikel dengan kutipan unggulan"
+rss_character = "Karakter RSS"
+rss_feeds_show_the_most_recent = "Umpan RSS menampilkan berapa artikel"
+rss_settings = "Pengaturan RSS"
+read_more_text = "Baca lebih banyak teks"
+read_more_text_placeholder = "Baca lebih banyak"
+reading = "Bacaan"
+reading_settings = "Pengaturan Membaca"
+recaptcha = "reCAPTCHA"
+recent_posts = "Artikel terbaru"
+recent_posts_widget_at_most = "Widget artikel terbaru paling banyak"
+regular_post = "Artikel reguler"
+regular_post_comment = "Membuat Artikel reguler"
+related_posts = "Artikel terkait"
+related_widget_posts_at_most = "Artikel widget terkait paling banyak"
+revert_to_draft = "Ubah ke konsep"
+save = "Simpan"
+save_config = "Simpan konfigurasi"
+save_edit = "Simpan Edit"
+save_menu = "Simpan menu"
+save_as_draft = "Simpan sebagai konsep"
+save_category = "Simpan kategori"
+scheduled = "Terjadwal"
+scheduled_posts = "Postingan terjadwal"
+scheduled_tips = "Publikasikan dengan waktu yang akan datang untuk membuat postingan terjadwal"
+search = "Cari"
+search_for = "Mencari"
+search_results_for = "Hasil pencarian untuk"
+search_results_not_found = "Hasil pencarian tidak ada!"
+secret_key = "Kunci rahasia"
+settings = "Pengaturan"
+sign_in_to_start_your_session = "Masuk untuk memulai sesi Anda"
+site_key = "Kunci Situs"
+sitemap = "Peta Situs"
+slug = "Tautan"
+social_media = "Sosial Media"
+static_page = "Halaman statis"
+static_page_comment = "Membuat halaman statis"
+static_pages = "Halaman statis"
+summary = "Ringkasan"
+summary_character = "Karakter ringkasan"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud terbanyak"
+tagline = "Slogan"
+tagline_placeholder = "Platform Blogging PHP Tanpa Database"
+tagline_description = "Secara singkat, jelaskan blog ini tentang apa"
+tags = "Tags"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Ini adalah kode lama. Biasanya analitik baru dibuat menggunakan gtag.js"
+this_page_doesnt_exist = "Halaman ini tidak ada!"
+time = "Jam"
+timezone = "Zona waktu"
+title = "Judul"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Untuk menggunakan Disqus atau komentar Facebook, Anda perlu memberikan username Disqus atau App ID Facebook."
+token_error = "Token CSRF tidak benar"
+tools = "Alat"
+twitter_account = "Akun Twitter"
+type_to_search = "Ketik untuk mencari"
+uncategorized = "Tanpa kategori"
+uncategorized_comment = "Topik yang tidak perlu kategori, atau tidak cocok dengan kategori yang ada"
+universal_analytics = "Penganalisa Universal (gtag.js)"
+unknown_feed_format = "Format feed tidak diketahui"
+update = "Perbarui"
+update_available = "Pembaruan tersedia"
+update_draft = "Perbarui konsep"
+update_post = "Perbarui artikel"
+update_to = "Perbarui ke"
+upload = "Unggah"
+user = "Pengguna"
+user_error = "Kolom pengguna dibutuhkan"
+valid_values_range_from_0_to_1.0._see = "Nilai yang valid berkisar dari 0,0 hingga 1,0. Lihat"
+video_post = "Artikel dengan video"
+video_post_comment = "Membuat artikel dengan video unggulan"
+view = "Lihat"
+view_post = "Lihat"
+views = "Tampilan"
+widget = "Widget"
+widget_settings = "Pengaturan Widget"
+would_you_like_to_try_our = "Apakah Anda ingin mencoba "
+yes_im_in = "Ya, saya ikut"
+yes_not_recommended = "Ya (tidak disarankan)"
+you_dont_have_permission_to_access_this_page = "Anda tidak memiliki izin untuk mengakses halaman ini"
+your_new_config_key = "Kunci Konfigurasi Baru Anda"
+your_new_value = "Nilai Baru Anda"
+your_backups = "Cadangan Anda"
+your_latest_blog_posts = "Artikel blog terbaru Anda"
+your_recent_posts = "Artikel terbaru Anda"
+by = "oleh"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = " petunjuk: Gunakan Ctrl
/ CMD
+ F
untuk menelusuri kunci konfigurasi atau nilai Anda."
+homepage = "Beranda"
+instead = "Sebagai gantinya"
+item_class = "Sisipkan CSS class"
+item_slug = "Sisipkan URL Tautan"
+now = "sekarang"
+of = "dari"
+optional = "Opsional"
+post_your_post_slug = "/post/slug-artikel-anda"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = " tips pro: Anda dapat membuat kunci konfigurasi khusus dan mencetak nilai kunci konfigurasi Anda di mana saja di template Anda."
+read_more = "Baca selengkapnya"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/tahun/bulan/slug-artikel-anda"
+your_key = "kunci.anda"
+summary_behavior = "Perilaku ringkasan"
+default = "Default"
+check_shortcode = "Cek shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "Di mode ringkasan, apakah harus mengecek shortcode terlebih dahulu sebelum memangkas konten ke karakter x"
+manage_users = "Kelola pengguna"
+add_user = "Tambah pengguna"
+username = "Username"
+role = "Role"
+change_password = "Ganti password"
+config_mfa = "Mengonfigurasi MFA"
+mfacode = "Kode MFA"
+verify_code = "Verifikasi kode MFA"
+verify_password = "Verifikasi kata sandi saat ini"
+manualsetupkey = "Anda juga dapat menambahkan kunci pengaturan secara manual"
+mfa_error = "Kode MFA tidak benar"
+disablemfa = "Nonaktifkan MFA"
+enable_auto_save = "Aktifkan Simpan Otomatis"
+explain_autosave = "Jika diaktifkan, konten atau draf baru akan disimpan secara otomatis setiap 60 detik."
+login_protect_system = "Sistem perlindungan login"
+cloudflare_info = "Tinjau dokumentasi Pintu Putar Cloudflare:"
+mfa_config = "Autentikasi Multi Faktor (MFA)"
+set_mfa_globally = "Atur status MFA"
+explain_mfa = "Saat diaktifkan, MFA bersifat opsional untuk semua pengguna. Saat dinonaktifkan, tidak ada pengguna yang dapat menggunakannya dan menyembunyikan bidang di halaman login."
+set_version_publicly = "Visibilitas Versi"
+explain_version = "Secara default versi HTMLy terlihat secara publik di kode sumber, beberapa admin mungkin lebih suka menyembunyikannya."
+focus_mode = "Beralih Fokus"
+writing = "Penulisan"
+writing_settings = "Pengaturan Penulisan"
+security = "Keamanan"
+security_settings = "Pengaturan Keamanan"
+msg_error_field_req_username = "Bidang nama pengguna wajib diisi"
+msg_error_field_req_password = "Bidang kata sandi wajib diisi"
+msg_error_field_req_title = "Bidang judul wajib diisi"
+msg_error_field_req_content = "Bidang konten wajib diisi"
+msg_error_field_req_tag = "Bidang tag wajib diisi"
+msg_error_field_req_image = "Bidang gambar wajib diisi"
+msg_error_field_req_video = "Bidang vidio wajib diisi"
+msg_error_field_req_link = "Bidang tautan wajin diisi"
+msg_error_field_req_quote = "Bidang kutipan wajib diisi."
+msg_error_field_req_audio = "Bidang audio wajib diisi."
+msg_error_field_req_feedurl = "Anda perlu menentukan url feed."
+rss_feeds_description_select = "Deskripsi RSS"
+rss_description_body = "Isi postingan"
+rss_description_meta = "Deskripsi Meta Postingan"
+admin_theme = "Tema admin"
+admin_theme_light = "Terang"
+admin_theme_dark = "Gelap"
+search_index = "Indeks Pencarian"
+fulltext_search = "Pencarian Lengkap"
+add_search_index = "Tambahkan postingan ke Indeks"
+clear_search_index = "Hapus Indeks Pencarian"
+unindexed_posts = "Postingan berikut belum masuk ke Indeks Pencarian"
+indexed_posts = "Postingan sudah terindeks"
diff --git a/lang/it_IT.ini b/lang/it_IT.ini
new file mode 100755
index 0000000..dddd531
--- /dev/null
+++ b/lang/it_IT.ini
@@ -0,0 +1,332 @@
+about = "Informazioni"
+add_category = "Aggiungi categoria"
+add_content = "Aggiungi contenuto"
+add_link = "Aggiungi link"
+add_menu = "Aggiungi menu"
+add_new_page = "Aggiungi una nuova pagina"
+add_new_post = "Aggiungi un nuovo articolo"
+add_source_link_optional = "Aggiungi link sorgente (facoltativo)"
+add_sub = "Aggiungi sub"
+address_url = "Indirizzo (URL)"
+admin = "Pannello Amministratore"
+admin_panel_style_based_on = "Stile del pannello amminstratore basato su"
+all_blog_posts = "Tutti gli articoli del blog"
+all_cache_has_been_deleted = "Tutta la cache è stata svuotata !"
+all_posts_tagged = "Tutti gli articoli etichettati"
+archive_for = "Archivio per"
+archive_page_for = "Pagina di archivio per"
+archives = "Archivi"
+are_you_sure_you_want_to_delete_ = "Sei sicuro di voler eliminare %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Al momento stai usando un menu generato automaticamente."
+audio_post = "Articolo con audio"
+audio_post_comment = "Crea un articolo del blog con un audio in evidenza"
+author = "Autore"
+author_description = "Solo un altro utente di HTMLy"
+back_to = "Torna indietro"
+backup = "Backup"
+blog_description = "In un paragrafo, parlaci un po' di più del tuo blog."
+blog_theme = "Tema del Blog"
+blog_title = "Titolo del Blog"
+blog_title_placeholder = "Il mio blog con HTMLy"
+blog_posts_displayed_as = "Articoli del blog visualizzati come"
+breadcrumb_home_text = "Testo della home Breadcrumb"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Usando questo importatore sei d'accordo che il feed sia tuo o almeno tu ne abbia l'autorità per pubblicarlo."
+css_class_optional = "Classe CSS (facoltativa)"
+cache_expiration = "Scadenza della cache (in ore)"
+cache_off = "Disattiva cache"
+cache_timestamp = "Fuso orario della cache"
+cancel = "Annulla"
+cannot_read_feed_content = "Impossibile leggere il contenuto del feed"
+captcha_error = "reCaptcha non corretto"
+categories = "Categorie"
+category = "Categoria"
+check_update = "Controllo aggiornamenti"
+clear_cache = "Svuota la cache"
+comma_separated_values = "Valori separati da virgole"
+comment_system = "Sistema dei commenti"
+comments = "Commenti"
+config = "Configurazione"
+congrats_you_have_the_latest_version_of_htmly = "Congratulazioni! Hai l'ultima versione di HTMLy."
+content = "Contenuto"
+contents = "Contenuti"
+copyright_line = "Riga del Copyright"
+copyright_line_placeholder = "(c) Il tuo nome."
+create_backup = "Crea backup"
+created = "Creato"
+custom = "Personalizzato"
+custom_settings = "Impostazioni personalizzate"
+dashboard = "Pannello utente"
+date = "Data"
+date_format = "Formato della data"
+delete = "Elimina"
+description = "Descrizione"
+disable = "Disabilita"
+disabled = "Disabilitato"
+disqus_shortname = "Nomignolo Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Bozza"
+edit = "Modifica"
+edit_category = "Modifica categoria"
+edit_post = "Modifica"
+edit_profile = "Modifica profilo"
+enable = "Abilita"
+enable_blog_url = "Abilita URL del blog"
+enter_image_url = "Inserisci l'URL dell'immagine"
+facebook_app_id = "ID di Facebook"
+facebook_page = "Pagina Facebook"
+featured_audio = "Audio in primo piano"
+featured_image = "Immagine in primo piano"
+featured_link = "Link in primo piano"
+featured_quote = "Citazione in primo piano"
+featured_video = "Video in primo piano"
+feed_url = "URL del Feed"
+filename = "Nome del file"
+follow = "Segui"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Visualizza pagina principale"
+full_post = "Articoli completi"
+general = "Generali"
+general_settings = "Impostazioni generali"
+get_one_here = "Prendine una qui"
+github_pre_release = "Pre-release di Github"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Home"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Se assente verrà estratto dai contenuti qui sotto"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Se l'url rimane in bianco verrà usato il titolo della pagina"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Se l'url rimane in bianco verrà usato il titolo dell'articolo"
+image_post = "Articolo con immagine"
+image_post_comment = "Crea un articolo del blog con un'immagine in evidenza"
+import = "Importa"
+import_feed = "Avvia importazione del Feed"
+import_rss = "Importa RSS"
+import_rss_feed_2.0 = "Importa Feed RSS 2.0"
+insert_image = "Inserisci immagine"
+invalid_error = "ERRORE: Nome utente o password non valido/a"
+language = "Lingua di sistema"
+link_name = "Nome del collegamento"
+link_post = "Articolo con collegamento"
+link_post_comment = "Crea un articolo del blog con un collegamento in evidenza"
+login = "Connessione"
+login_page = "Pagina di login"
+logout = "Disconnessione"
+menu = "Menu"
+menus = "Editor del Menu"
+meta_description = "Meta descrizione"
+meta_description_character = "Carattere della Metadescrizione"
+metatags = "Metatags"
+metatags_settings = "Impostazioni dei Metatag"
+mine = "I miei contenuti"
+more = "Leggi di più"
+my_draft = "Le mie bozze"
+my_posts = "I miei articoli"
+name = "Nome"
+newer = "Più recenti"
+next = "Successivo"
+next_post = "Articolo successivo"
+no_available_backup = "Nessun backup disponibile a quest'ora."
+no_draft_found = "Nessuna bozza trovata"
+no_posts_found = "Nessun articolo trovato"
+no_related_post_found = "Nessun articolo correlato"
+no_scheduled_posts_found = "Non è stato trovato alcun articolo pianificato!"
+no_search_results = "Nessun risultato della ricerca"
+nope = "Nessuno"
+not = "No"
+older = "Più vecchi"
+only = "Solo"
+operations = "Operazioni"
+page = "Pagina"
+page_generation_time = "Tempo di generazione della pagina"
+pages = "Pagine"
+pass_error = "È richiesto il campo Password"
+password = "Password"
+performance = "Prestazioni"
+performance_settings = "Impostazioni delle Prestazioni"
+permalink = "Permalink"
+popular = "Popolare"
+popular_posts = "Articoli popolari"
+popular_posts_widget = "Widget articoli popolari"
+popular_posts_widget_at_most = "Widget articoli popolari al massimo"
+popular_tags = "Etichette popolari"
+post_by_author = "Articoli di questo utente"
+posted_in = "Pubblicato in"
+posted_on = "Pubblicato il"
+posts = "Articoli"
+posts_by = "Articoli di"
+posts_draft = "Elenco delle bozze"
+posts_in_archive_page_at_most = "Gli articoli nella pagina archivio al massimo"
+posts_in_category_page_at_most = "Gli articoli nella pagina delle categoria al massimo"
+posts_in_front_page_show_at_most = "Articoli in prima pagina da visualizzare di più"
+posts_in_profile_page_at_most = "Gli articoli nella pagina del profilo al massimo"
+posts_in_search_result_at_most = "Gli articoli nei risultati della ricerca al massimo"
+posts_in_tag_page_at_most = "Gli articoli nella pagina delle etichette al massimo"
+posts_in_type_page_at_most = "Gli articoli della pagina dei tipi al massimo"
+posts_index_settings = "Impostazioni indice degli articoli"
+posts_list = "Elenco articoli"
+posts_tagged = "Articoli etichettati"
+posts_with_type = "Articoli con un tipo"
+pre_release = "Pre-release"
+prev = "Precedenti"
+prev_post = "Articolo precedente"
+preview = "Anteprima"
+profile_for = "Profilo per"
+proudly_powered_by = "Questo blog è basato su"
+publish = "Pubblica"
+publish_draft = "Pubblica la bozza"
+published = "Pubblicato"
+quote_post = "Articolo con una citazione"
+quote_post_comment = "Crea un articolo del blog con una citazione in evidenza"
+rss_character = "Carattere RSS"
+rss_feeds_show_the_most_recent = "I feed RSS visualizzano i più recenti"
+rss_settings = "Impostazioni RSS"
+read_more_text = "Leggi più testo"
+read_more_text_placeholder = "Leggi di più"
+reading = "Lettura"
+reading_settings = "Impostazioni di lettura"
+recaptcha = "Protezione login"
+recent_posts = "Articoli recenti"
+recent_posts_widget_at_most = "Widget articoli recenti al massimo"
+regular_post = "Articolo semplice"
+regular_post_comment = "Crea un articolo semplice per il blog"
+related_posts = "Articoli correlati"
+related_widget_posts_at_most = "Widget articoli correlati al massimo"
+revert_to_draft = "Trasforma in bozza"
+save = "Salva"
+save_config = "Salva configurazione"
+save_edit = "Salva Modifica"
+save_menu = "Salva menu"
+save_as_draft = "Salva come bozza"
+save_category = "Salva categoria"
+scheduled = "Pianificazione"
+scheduled_posts = "Articoli pianificati"
+scheduled_tips = "Pubblicando un articolo con una data o un'ora futura, questo verrà inserito negli articoli pianificati"
+search = "Cerca"
+search_for = "Cerca per"
+search_results_for = "Risultati della ricerca per"
+search_results_not_found = "Non è stato trovato nessun risultato della ricerca!"
+secret_key = "Chiave segreta"
+settings = "Impostazioni"
+sign_in_to_start_your_session = "Connettiti per avviare la sessione"
+site_key = "Chiave del sito"
+sitemap = "Mappa del sito"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Pagina statica"
+static_page_comment = "Creazione di una pagina statica"
+static_pages = "Pagine statiche"
+summary = "Riassunto"
+summary_character = "Caratteri del riassunto"
+tag = "Etichetta"
+tagcloud_widget_at_most = "TagCloud al massimo"
+tagline = "Slogan"
+tagline_placeholder = "Piattaforma per blog in PHP senza database"
+tagline_description = "In poche parole, spiega di cosa parla questo blog."
+tags = "Etichette"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Questo è codice legacy. Di solito le nuove statistiche usano il file gtag.js"
+this_page_doesnt_exist = "Questa pagina non esiste !"
+time = "Ora"
+timezone = "Fuso orario"
+title = "Titolo"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Per usare Disqus o i commenti di Facebook hai bisogno di fornire il nomignolo di Disqus o l'ID di Facebook."
+token_error = "Il token CSRF non è corretto"
+tools = "Strumenti"
+twitter_account = "Profilo Twitter"
+type_to_search = "Digita per cercare"
+uncategorized = "Senza categoria"
+uncategorized_comment = "Argomenti che non necessitano di una categoria, o che non si adattano a nessuna categoria esistente"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Formato del feed sconosciuto"
+update = "Aggiorna"
+update_available = "Aggiornamento disponibile"
+update_draft = "Aggiorna bozza"
+update_post = "Aggiorna articolo"
+update_to = "Aggiorna a"
+upload = "Carica"
+user = "Utente"
+user_error = "È richiesto il campo nome utente"
+valid_values_range_from_0_to_1.0._see = "Il campo dei valori validi va da 0.0 a 1.0. Vedi"
+video_post = "Articolo video"
+video_post_comment = "Crea un articolo del blog con un video in evidenza"
+view = "Visualizza"
+view_post = "Visualizza"
+views = "Visualizzazioni"
+widget = "Widget"
+widget_settings = "Impostazioni dei Widget"
+would_you_like_to_try_our = "Volete provare la nostra "
+yes_im_in = "Si, ci sono"
+yes_not_recommended = "Si (non consigliato)"
+you_dont_have_permission_to_access_this_page = "Non hai il permesso di accedere a questa pagina"
+your_new_config_key = "La tua nuova chiave di configurazione"
+your_new_value = "Il tuo nuovo valore"
+your_backups = "I tuoi backup"
+your_latest_blog_posts = "I tuoi ultimi articoli sul blog"
+your_recent_posts = "I tuoi articoli più recenti"
+by = "di"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "consiglio: Usa Ctrl
/CMD
+ F
per cercare la chiave o il valore di configurazione."
+homepage = "homepage"
+instead = "invece"
+item_class = "Inserisci Classe CSS"
+item_slug = "Inserisci URL del Link"
+now = "ora"
+of = "di"
+optional = "facoltativo"
+post_your_post_slug = "/articolo/il-tuo-slug-degli-articoli"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "consiglio pratico: Puoi creare la tua chiave di configurazione e usare il valore della chiave di configurazione dovunque nel tuo template."
+read_more = "leggi di più"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/anno/mese/il-tuo-slug-degli-articoli"
+your_key = "la.tua.chiave"
+summary_behavior = "Modalità riassunto"
+default = "Predefinito"
+check_shortcode = "Controlla codice breve"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In modalità riassunto, si può controllare il codice breve o no prima di ridurre il contenuto a x caratteri"
+manage_users = "Gestione utenti"
+add_user = "Aggiungi utente"
+username = "Nome utente"
+role = "Ruolo"
+change_password = "Modifica password"
+config_mfa = "Configura AMF"
+mfacode = "Codice AMF"
+verify_code = "Verifica il codice AMF"
+verify_password = "Verifica la password in uso"
+manualsetupkey = "Si può anche aggiungere manualmente la chiave di setup"
+mfa_error = "Il codice MFA non è corretto"
+disablemfa = "Disabilita AMF"
+enable_auto_save = "Abilita il salvataggio automatico nelle Bozze"
+explain_autosave = "Una volta abilitato, i nuovi articoli o le nuove pagine verranno atuomaticamente salvate come bozze ogni 60 secondi dopo aver iniziato a scrivere."
+login_protect_system = "Sistema di protezione della connessione"
+cloudflare_info = "Rivedi la documentazione di Cloudflare Turnstile: "
+mfa_config = "Autenticazione Multi Fattore (AMF)"
+set_mfa_globally = "Imposta lo stato della AMF"
+explain_mfa = "Una volta abilitata, la AMF è facoltativa per tutti gli utenti. Se disattivata, nessun utente può usarla ed il relativo campo nella pagina di connessione viene nascosto."
+set_version_publicly = "Visibilità della versione"
+explain_version = "Per impostazione predefinita la versione di HTMLy è visibile a tutti nel codice sorgente, alcuni amministratori preferirebbero nasconderla."
+focus_mode = "Cambia visuale"
+writing = "Scrittura"
+writing_settings = "Impostazioni della scrittura"
+security = "Sicurezza"
+security_settings = "Impostazioni della sicurezza"
+msg_error_field_req_username = "È richiesto il campo nome utente."
+msg_error_field_req_password = "È richiesto il campo Password."
+msg_error_field_req_title = "È richiesto il campo Titolo."
+msg_error_field_req_content = "È richiesto il campo Contenuto."
+msg_error_field_req_tag = "È richiesto il campo Etichetta."
+msg_error_field_req_image = "È richiesto il campo Immagine."
+msg_error_field_req_video = "È richiesto il campo Video."
+msg_error_field_req_link = "È richiesto il campo Collegamento."
+msg_error_field_req_quote = "È richiesto il campo Citazione."
+msg_error_field_req_audio = "È richiesto il campo Audio."
+msg_error_field_req_feedurl = "Devi specificare l'url del feed."
+rss_feeds_description_select = "Descrizione del feed RSS"
+rss_description_body = "Corpo dell'articolo"
+rss_description_meta = "Meta descrizione dell'articolo"
+admin_theme = "Tema Pannello Amministratore"
+admin_theme_light = "Chiaro"
+admin_theme_dark = "Scuro"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/ko_KO.ini b/lang/ko_KO.ini
new file mode 100755
index 0000000..682a5e4
--- /dev/null
+++ b/lang/ko_KO.ini
@@ -0,0 +1,332 @@
+about = "이 블로그는..."
+add_category = "새 카테고리 만들기"
+add_content = "새 글 쓰기"
+add_link = "링크 추가"
+add_menu = "메뉴 추가"
+add_new_page = "새 페이지 만들기"
+add_new_post = "새 글 쓰기"
+add_source_link_optional = "소스 링크 추가 (선택 사항)"
+add_sub = "서브 페이지 추가"
+address_url = "주소 (URL)"
+admin = "관리자"
+admin_panel_style_based_on = "관리자 패널 스타일 기반: "
+all_blog_posts = "모든 블로그 글"
+all_cache_has_been_deleted = "모든 캐시를 삭제했어요!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "아카이브"
+are_you_sure_you_want_to_delete_ = "정말 삭제할거예요? '%s'"
+at_the_moment_you_are_using_auto_generated_menu = "지금은 자동으로 만든 메뉴를 쓰고 있어요."
+audio_post = "오디오 첨부"
+audio_post_comment = "오디오를 넣은 글을 쓸 수 있어요"
+author = "글쓴이"
+author_description = "또 다른 HTMLy 사용자"
+back_to = "돌아가기"
+backup = "백업"
+blog_description = "한 단락으로 이 블로그에 대해 더 알려주세요."
+blog_theme = "블로그 테마"
+blog_title = "블로그 제목"
+blog_title_placeholder = "내 HTMLy 블로그"
+blog_posts_displayed_as = "글 보기 모드"
+breadcrumb_home_text = "사이트 이동 홈 (Breadcrumb)"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "가져오기를 사용하면 피드가 사용자의 것이거나 적어도 게시할 권한이 있다고 동의하는거예요."
+css_class_optional = "CSS 클래스 (선택 사항)"
+cache_expiration = "캐시 만료 (시간 단위) "
+cache_off = "캐시 끄기"
+cache_timestamp = "캐시 타임 스탬프"
+cancel = "취소"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha가 틀렸어요"
+categories = "카테고리"
+category = "카테고리"
+check_update = "업데이트 확인"
+clear_cache = "캐시 지우기"
+comma_separated_values = "쉼표로 분리된 값"
+comment_system = "댓글 시스템"
+comments = "댓글"
+config = "설정"
+congrats_you_have_the_latest_version_of_htmly = "축하해요! HTMLy 최신 버전을 쓰고 있어요."
+content = "콘텐츠"
+contents = "콘텐츠"
+copyright_line = "저작권 표시"
+copyright_line_placeholder = "(C) 당신의 이름."
+create_backup = "백업 만들기"
+created = "만듦"
+custom = "사용자 지정"
+custom_settings = "사용자 지정 설정"
+dashboard = "대시보드"
+date = "날짜"
+date_format = "날짜 형식"
+delete = "지우기"
+description = "설명"
+disable = "사용 안함"
+disabled = "사용 안함"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "초안"
+edit = "편집"
+edit_category = "카테고리 편집"
+edit_post = "편집"
+edit_profile = "프로필 편집"
+enable = "사용"
+enable_blog_url = "'blog' URL 켜기"
+enter_image_url = "이미지 URL을 입력하세요"
+facebook_app_id = "페이스북 AppID"
+facebook_page = "페이스북 페이지"
+featured_audio = "오디오 기능"
+featured_image = "이미지 기능"
+featured_link = "링크 기능"
+featured_quote = "인용 기능"
+featured_video = "비디오 기능"
+feed_url = "URL 피드"
+filename = "파일 이름"
+follow = "팔로우"
+for_google_site_verification_meta = "google-site-verification 메타"
+front_page_displays = "첫 페이지 표시"
+full_post = "전체 글 보기"
+general = "일반"
+general_settings = "일반 설정"
+get_one_here = "이 곳에서 얻을 수 있어요: "
+github_pre_release = "Github 시험판"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "구글 검색 콘솔"
+home = "홈"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "비워둘 경우 아래 내용에서 발췌해요"
+if_the_url_is_left_empty_we_will_use_the_page_title = "URL이 비어 있으면 페이지 제목을 사용해요"
+if_the_url_is_left_empty_we_will_use_the_post_title = "URL이 비어 있으면 글 제목을 사용해요"
+image_post = "이미지 첨부"
+image_post_comment = "이미지를 넣은 글을 쓸 수 있어요"
+import = "가져오기"
+import_feed = "피드 가져오기 시작"
+import_rss = "RSS 가져오기"
+import_rss_feed_2.0 = "RSS 2.0 피드 가져오기"
+insert_image = "이미지 넣기"
+invalid_error = "오류: 사용자나 비밀번호가 틀렸어요"
+language = "시스템 언어"
+link_name = "링크 이름"
+link_post = "링크 첨부"
+link_post_comment = "링크가 들어간 글을 쓸 수 있어요"
+login = "로그인"
+login_page = "로그인 페이지"
+logout = "로그아웃"
+menu = "메뉴"
+menus = "메뉴 편집"
+meta_description = "메타 설명"
+meta_description_character = "메타 설명 문자"
+metatags = "메타 태그"
+metatags_settings = "메타 태그 설정"
+mine = "내꺼"
+more = "더"
+my_draft = "내 초안"
+my_posts = "내 글"
+name = "이름"
+newer = "최신"
+next = "다음"
+next_post = "다음 글"
+no_available_backup = "백업이 없어요."
+no_draft_found = "초안이 없어요"
+no_posts_found = "글이 없어요"
+no_related_post_found = "관련된 글이 없어요"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "찾기 결과가 없어요"
+nope = "아니오"
+not = "아니오"
+older = "오래전"
+only = "오직(Only)"
+operations = "작업"
+page = "페이지"
+page_generation_time = "페이지 생성 시간"
+pages = "페이지"
+pass_error = "비밀번호 필드는 필수예요"
+password = "비밀번호"
+performance = "성능"
+performance_settings = "성능 설정"
+permalink = "고정링크"
+popular = "인기있는"
+popular_posts = "인기 게시물"
+popular_posts_widget = "인기 글 위젯"
+popular_posts_widget_at_most = "최대 인기 글"
+popular_tags = "인기 태그"
+post_by_author = "이 글쓴이가 썼어요"
+posted_in = "카테고리: "
+posted_on = "글을 올렸어요: "
+posts = "글"
+posts_by = "글쓴이: "
+posts_draft = "초안 목록"
+posts_in_archive_page_at_most = "최대 아카이브 페이지"
+posts_in_category_page_at_most = "최대 카테고리 페이지"
+posts_in_front_page_show_at_most = "최대 프론트 페이지"
+posts_in_profile_page_at_most = "최대 프로필 페이지"
+posts_in_search_result_at_most = "최대 검색 결과"
+posts_in_tag_page_at_most = "최대 태그 페이지"
+posts_in_type_page_at_most = "최대 타입 페이지"
+posts_index_settings = "인덱스 설정"
+posts_list = "글 목록"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "시험판 써보기"
+prev = "이전"
+prev_post = "이전 글"
+preview = "미리보기"
+profile_for = "Profile for"
+proudly_powered_by = "Proudly Powered by"
+publish = "올리기"
+publish_draft = "올리기"
+published = "글쓴이"
+quote_post = "인용 글"
+quote_post_comment = "인용 글을 쓸 수 있어요"
+rss_character = "RSS 글자"
+rss_feeds_show_the_most_recent = "최대 최근 RSS 피드"
+rss_settings = "RSS 설정"
+read_more_text = "더 읽기 표시"
+read_more_text_placeholder = "더 읽기"
+reading = "읽기"
+reading_settings = "읽기 설정"
+recaptcha = "reCAPTCHA"
+recent_posts = "최근 글"
+recent_posts_widget_at_most = "최대 최근 글"
+regular_post = "글 쓰기"
+regular_post_comment = "평범하게 글을 쓸 수 있어요"
+related_posts = "관련 글"
+related_widget_posts_at_most = "최대 관련 위젯"
+revert_to_draft = "초안으로 되돌리기"
+save = "저장"
+save_config = "설정 저장"
+save_edit = "편집 저장"
+save_menu = "메뉴 저장"
+save_as_draft = "초안 저장하기"
+save_category = "카테고리 저장"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "찾기"
+search_for = "찾기"
+search_results_for = "Search results for"
+search_results_not_found = "찾기 결과가 없어요!"
+secret_key = "비밀 키"
+settings = "설정"
+sign_in_to_start_your_session = "시작하려면 로그인 하세요"
+site_key = "사이트 키"
+sitemap = "사이트맵"
+slug = "줄임표시"
+social_media = "소셜 미디어"
+static_page = "고정 페이지"
+static_page_comment = "고정 페이지 만들기"
+static_pages = "고정 페이지"
+summary = "요약 보기"
+summary_character = "요약 글자수"
+tag = "태그"
+tagcloud_widget_at_most = "최대 TagCloud"
+tagline = "태그 라인"
+tagline_placeholder = "데이터베이스를 쓰지 않는 PHP 블로그 플랫폼"
+tagline_description = "몇 단어로 이 블로그에 대해 설명해주세요."
+tags = "태그"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "이것은 레거시 코드입니다. 보통 gtag.js를 써서 새 분석을 만들어요."
+this_page_doesnt_exist = "페이지가 존재하지 않아요!"
+time = "시간"
+timezone = "시간대"
+title = "제목"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Disqus나 페이스북 댓글을 사용하려면 Disqus의 shortname 또는, 페이스북 AppID가 필요해요."
+token_error = "CSRF 토큰이 바르지 않아요"
+tools = "도구"
+twitter_account = "트위터 계정"
+type_to_search = "찾을 내용 입력"
+uncategorized = "카테고리 없음"
+uncategorized_comment = "카테고리가 필요하지 않거나 다른 카테고리에 넣을 수 없는 주제"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "업데이트"
+update_available = "업데이트가 있어요"
+update_draft = "초안 업데이트"
+update_post = "글 업데이트"
+update_to = "업데이트: "
+upload = "업로드"
+user = "사용자"
+user_error = "사용자 필드는 필수예요"
+valid_values_range_from_0_to_1.0._see = "유효한 범위는 0.0에서 1.0까지예요. 참조: "
+video_post = "비디오 첨부"
+video_post_comment = "비디오를 넣은 글을 쓸 수 있어요"
+view = "보기"
+view_post = "보기"
+views = "보기"
+widget = "위젯"
+widget_settings = "위젯 설정"
+would_you_like_to_try_our = "우리 제품을 시험해 보시겠어요? "
+yes_im_in = "예, 써볼께요"
+yes_not_recommended = "예 (권장하지 않음)"
+you_dont_have_permission_to_access_this_page = "이 페이지에 접근할 권한이 없어요"
+your_new_config_key = "새 설정 키"
+your_new_value = "새 값"
+your_backups = "백업"
+your_latest_blog_posts = "최신 블로그 글"
+your_recent_posts = "최근 글"
+by = ": "
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "힌트: CTRL
/CMD
+ F
를 눌러 키나 값을 찾을 수 있어요."
+homepage = "홈페이지"
+instead = "대신(instead)"
+item_class = "CSS 클래스 추가"
+item_slug = "링크 URL 추가"
+now = "지금"
+of = "of"
+optional = "선택 사항"
+post_your_post_slug = "/post/문서-줄임표시"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "추가 힌트: 사용자 지정 설정 키를 만들고 템플릿 어디에서나 키 값을 인쇄할 수 있어요."
+read_more = "더 읽기"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/년/월/문서-줄임표시"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/ms_MY.ini b/lang/ms_MY.ini
new file mode 100755
index 0000000..efab518
--- /dev/null
+++ b/lang/ms_MY.ini
@@ -0,0 +1,332 @@
+about = "Perihal"
+add_category = "Kategori Add"
+add_content = "Kandungan Add"
+add_link = "Pautan Tambah"
+add_menu = "Menu Add"
+add_new_page = "Tambah halaman baru"
+add_new_post = "Tambah jawatan baru"
+add_source_link_optional = "Tambah pautan sumber (pilihan)"
+add_sub = "Halaman sub Add"
+address_url = "Alamat (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Gaya panel Admin berdasarkan"
+all_blog_posts = "Jawatan blog Semua"
+all_cache_has_been_deleted = "Semua cache telah dipadam!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Arkib"
+are_you_sure_you_want_to_delete_ = "Adakah anda pasti anda mahu memadam % s strong>?"
+at_the_moment_you_are_using_auto_generated_menu = "Pada masa ini anda menggunakan auto menu dihasilkan."
+audio_post = "Post Audio"
+audio_post_comment = "Mewujudkan post blog dengan audio yang diketengahkan"
+author = "Pengarang"
+author_description = "Just another HTMLy user"
+back_to = "Kembali kepada"
+backup = "Backup"
+blog_description = "Dalam satu ayat, memberitahu kita lebih lanjut mengenai blog anda."
+blog_theme = "Blog Tema"
+blog_title = "Tajuk blog"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "Jawatan Blog dipaparkan sebagai"
+breadcrumb_home_text = "Text rumah Breadcrumb"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Dengan menggunakan pengimport ini anda bersetuju jika suapan itu milik anda atau sekurang-kurangnya anda mempunyai kuasa untuk menerbitkan ia."
+css_class_optional = "CSS Kelas (pilihan)"
+cache_expiration = "Cache tamat tempoh (dalam jam)"
+cache_off = "Cache off"
+cache_timestamp = "Cache cap masa"
+cancel = "Batal"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha not correct"
+categories = "Kategori"
+category = "Kategori"
+check_update = "Daftar update"
+clear_cache = "Kosongkan cache"
+comma_separated_values = "Comma Separated Values"
+comment_system = "Sistem Comment"
+comments = "Comments"
+config = "Config"
+congrats_you_have_the_latest_version_of_htmly = "Tahniah! Anda mempunyai versi terbaru HTMLy."
+content = "Kandungan"
+contents = "Kandungan"
+copyright_line = "Garis Copyright"
+copyright_line_placeholder = "(c) Nama anda."
+create_backup = "Buat sandaran"
+created = "Dicipta"
+custom = "Custom"
+custom_settings = "Tetapan Custom"
+dashboard = "Dashboard"
+date = "Tarikh"
+date_format = "Format tarikh"
+delete = "Padam"
+description = "Penerangan"
+disable = "Disable"
+disabled = "Orang Kurang Upaya"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "Htmly"
+draft = "Draf"
+edit = "Edit"
+edit_category = "Edit kategori"
+edit_post = "Edit"
+edit_profile = "Sunting profil"
+enable = "Enable"
+enable_blog_url = "Membolehkan blog URL"
+enter_image_url = "Masukkan URL imej"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Laman Facebook"
+featured_audio = "Terutama Audio"
+featured_image = "Imej Pilihan"
+featured_link = "Kemudahan Link"
+featured_quote = "Quote Pilihan"
+featured_video = "Terutama Video"
+feed_url = "URL Feed"
+filename = "Nama fail"
+follow = "Ikut"
+for_google_site_verification_meta = "Bagi google-site-pengesahan meta"
+front_page_displays = "Memaparkan halaman depan"
+full_post = "Post Penuh"
+general = "Umum"
+general_settings = "Tetapan umum"
+get_one_here = "Dapatkan satu di sini"
+github_pre_release = "Github pra keluaran"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (warisan)"
+google_search_console = "Google Search Console"
+home = "Home"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Jika cuti mengosongkan kami akan petikan dari kandungan di bawah"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Jika cuti url kosongkan kami akan menggunakan tajuk halaman"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Jika cuti url kosongkan kami akan menggunakan tajuk post"
+image_post = "Post Image"
+image_post_comment = "Mewujudkan post blog dengan imej yang ditampilkan"
+import = "Import"
+import_feed = "Mula Import Feed"
+import_rss = "Import RSS"
+import_rss_feed_2.0 = "Import RSS Feed 2.0"
+insert_image = "Insert Image"
+invalid_error = "ERROR: Invalid username or password"
+language = "Sistem Bahasa"
+link_name = "Nama Link"
+link_post = "Link post"
+link_post_comment = "Mewujudkan post blog dengan link yang diketengahkan"
+login = "Log masuk"
+login_page = "Halaman Login"
+logout = "Log keluar"
+menu = "Menu"
+menus = "Menu Editor"
+meta_description = "Description Meta"
+meta_description_character = "Meta description watak"
+metatags = "Metatags"
+metatags_settings = "Metatags Tetapan"
+mine = "Mine"
+more = "Lagi"
+my_draft = "Draf Saya"
+my_posts = "Jawatan saya"
+name = "Nama"
+newer = "Terbaru"
+next = "Next"
+next_post = "Post Next"
+no_available_backup = "Tiada sandaran yang ada pada masa ini."
+no_draft_found = "Tidak draf dijumpai"
+no_posts_found = "Tiada ulasan dijumpai"
+no_related_post_found = "Tiada suapan berita berkaitan dijumpai"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Nope"
+not = "Tidak"
+older = "Lama"
+only = "Sahaja"
+operations = "Operasi"
+page = "Page"
+page_generation_time = "Page masa generasi"
+pages = "Pages"
+pass_error = "Password field is required"
+password = "Kata Laluan"
+performance = "Prestasi"
+performance_settings = "Tetapan Prestasi"
+permalink = "Permalink"
+popular = "Popular"
+popular_posts = "Jawatan Popular"
+popular_posts_widget = "Jawatan Popular widget"
+popular_posts_widget_at_most = "Jawatan Popular widget paling banyak"
+popular_tags = "Tag Popular"
+post_by_author = "Posts by this author"
+posted_in = "Posted in"
+posted_on = "Posted on"
+posts = "Siaran"
+posts_by = "Posts by"
+posts_draft = "Siaran menggubal"
+posts_in_archive_page_at_most = "Siaran di halaman arkib paling banyak"
+posts_in_category_page_at_most = "Siaran dalam halaman kategori paling banyak"
+posts_in_front_page_show_at_most = "Siaran dalam persembahan muka depan paling banyak"
+posts_in_profile_page_at_most = "Siaran di halaman profil paling banyak"
+posts_in_search_result_at_most = "Siaran dalam hasil carian paling banyak"
+posts_in_tag_page_at_most = "Siaran di halaman tag paling banyak"
+posts_in_type_page_at_most = "Siaran di halaman jenis paling banyak"
+posts_index_settings = "Siaran tetapan index"
+posts_list = "Senarai Posts"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pra-release"
+prev = "Tua"
+prev_post = "Sebelum Post"
+preview = "Preview"
+profile_for = "Profile for"
+proudly_powered_by = "Dengan bangganya dikuasakan oleh"
+publish = "Menerbitkan"
+publish_draft = "Terbitkan draf"
+published = "Diterbitkan"
+quote_post = "Post Quote"
+quote_post_comment = "Mewujudkan blog post with quote diketengahkan"
+rss_character = "Watak RSS"
+rss_feeds_show_the_most_recent = "RSS suapan menunjukkan yang paling baru-baru ini"
+rss_settings = "Tetapan RSS"
+read_more_text = "Baca lebih lanjut text"
+read_more_text_placeholder = "Baca lebih"
+reading = "Membaca"
+reading_settings = "Tetapan Reading"
+recaptcha = "ReCAPTCHA"
+recent_posts = "Jawatan baru-baru"
+recent_posts_widget_at_most = "Jawatan terkini widget paling banyak"
+regular_post = "Post biasa"
+regular_post_comment = "Mewujudkan blog post biasa"
+related_posts = "Related posts"
+related_widget_posts_at_most = "Berkaitan widget jawatan paling banyak"
+revert_to_draft = "Kembali kepada draf"
+save = "Save"
+save_config = "Simpan config"
+save_edit = "Save Edit"
+save_menu = "Simpan menu"
+save_as_draft = "Menyimpan sebagai draf"
+save_category = "Simpan kategori"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Cari"
+search_for = "Carian untuk"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Secret Key"
+settings = "Tetapan"
+sign_in_to_start_your_session = "Log masuk untuk memulakan sesi anda"
+site_key = "Laman Utama"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Media Sosial"
+static_page = "Halaman statik"
+static_page_comment = "Membuat halaman statik"
+static_pages = "Laman statik"
+summary = "Ringkasan"
+summary_character = "Ringkasan watak"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Tagline"
+tagline_placeholder = "Blogging Platform Databaseless PHP"
+tagline_description = "Dalam beberapa perkataan, menjelaskan apa yang blog ini adalah kira-kira."
+tags = "Tag"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Ini adalah kod warisan. Selalunya analisis baru dicipta menggunakan gtag.js"
+this_page_doesnt_exist = "Laman ini tidak wujud!"
+time = "Masa"
+timezone = "Zon masa"
+title = "Tajuk"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Untuk menggunakan Disqus atau Facebook komen anda perlu memberikan Disqus shortname atau Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "Tools"
+twitter_account = "Akaun Twitter"
+type_to_search = "Taip untuk mencari"
+uncategorized = "Uncategorized"
+uncategorized_comment = "Topik yang tidak perlu kategori, atau tidak patut ke dalam mana-mana kategori yang sedia ada yang lain"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Update"
+update_available = "Kemaskini ada"
+update_draft = "Update draf"
+update_post = "Update post"
+update_to = "Kemas kini kepada"
+upload = "Muat naik"
+user = "Pengguna"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Nilai sah berkisar 0,0-1,0. Lihat"
+video_post = "Post Video"
+video_post_comment = "Mewujudkan post blog dengan video yang diketengahkan"
+view = "View"
+view_post = "View"
+views = "Paparan"
+widget = "Widget"
+widget_settings = "Widget Tetapan"
+would_you_like_to_try_our = "Adakah anda ingin mencuba kami"
+yes_im_in = "Ya saya setuju"
+yes_not_recommended = "Ya (tidak digalakkan)"
+you_dont_have_permission_to_access_this_page = "Anda tidak mempunyai kebenaran untuk mengakses halaman ini"
+your_new_config_key = "Baru Anda Config Key"
+your_new_value = "Nilai Baru Anda"
+your_backups = "Backup Anda"
+your_latest_blog_posts = "Posting blog terkini Anda"
+your_recent_posts = "Jawatan baru-baru Anda"
+by = "Oleh"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = " tanda-tanda: u> Gunakan Ctrl code> / CMD code> + F code> untuk mencari kekunci config anda atau nilai."
+homepage = "Laman utama"
+instead = "Dan bukannya"
+item_class = "Insert kelas CSS"
+item_slug = "Insert Link URL"
+now = "Sekarang"
+of = "of"
+optional = "Pilihan"
+post_your_post_slug = "/ Pos /-post-slug anda"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = " pro tips:. U> Anda boleh mewujudkan utama config adat dan mencetak nilai mana-mana sahaja kunci config anda dalam template anda"
+read_more = "Read more"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/ Tahun / bulan /-post-slug anda"
+your_key = "Your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/nl_NL.ini b/lang/nl_NL.ini
new file mode 100755
index 0000000..3ac49d4
--- /dev/null
+++ b/lang/nl_NL.ini
@@ -0,0 +1,332 @@
+about = "Over"
+add_category = "Categorie toevoegen"
+add_content = "Inhoud toevoegen"
+add_link = "Voeg link toe"
+add_menu = "Menu toevoegen"
+add_new_page = "Nieuwe pagina toevoegen"
+add_new_post = "Nieuw bericht toevoegen"
+add_source_link_optional = "Bronlink toevoegen (optioneel)"
+add_sub = "Subpagina toevoegen"
+address_url = "Webadres (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Stijl Adminpaneel gebaseerd op"
+all_blog_posts = "Alle blogberichten"
+all_cache_has_been_deleted = "Alle cache werd verwijderd!"
+all_posts_tagged = "Alle berichten gelabeld"
+archive_for = "Archief voor"
+archive_page_for = "Archief pagina voor"
+archives = "Archieven"
+are_you_sure_you_want_to_delete_ = "Ben je zeker dat je wil verwijderen %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Op dit ogenblik gebruikt u een automatisch gegenereerd menu."
+audio_post = "Audiobericht"
+audio_post_comment = "Blogpost maken met aanbevolen audio"
+author = "Auteur"
+author_description = "Zomaar een HTMLy gebruiker"
+back_to = "Terug naar"
+backup = "Backup"
+blog_description = "Vertel ons in een alinea wat meer over uw blog."
+blog_theme = "Blog thema"
+blog_title = "Titel blog"
+blog_title_placeholder = "Mijn HTMLy Blog"
+blog_posts_displayed_as = "Blogberichten weergegeven als"
+breadcrumb_home_text = "Broodkruimel start tekst"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Door te importeren geef je aan dat je er toestemming voor hebt."
+css_class_optional = "CSS Class (optioneel)"
+cache_expiration = "Cache vervaltijd (in uren)"
+cache_off = "Cache uit"
+cache_timestamp = "Tijdstempel cache"
+cancel = "Annuleren"
+cannot_read_feed_content = "Kan feed inhoud niet lezen"
+captcha_error = "reCaptcha niet correct"
+categories = "Categorieën"
+category = "Categorie"
+check_update = "Controleer updates"
+clear_cache = "Cache verwijderen"
+comma_separated_values = "Waarden gescheiden door komma's (CSV)"
+comment_system = "Commentaarsysteem"
+comments = "Reacties"
+config = "Configuratie"
+congrats_you_have_the_latest_version_of_htmly = "Gefeliciteerd! Je hebt de laatste versie van HTMLy."
+content = "Inhoud"
+contents = "Inhoud"
+copyright_line = "Copyrightregel"
+copyright_line_placeholder = "(c) Uw Naam."
+create_backup = "Maak een backup"
+created = "Gemaakt"
+custom = "Aangepast"
+custom_settings = "Aangepaste instellingen"
+dashboard = "Dashboard"
+date = "Datum"
+date_format = "Datumnotatie"
+delete = "Verwijder"
+description = "Omschrijving"
+disable = "Uitschakelen"
+disabled = "Uitgeschakeld"
+disqus_shortname = "Disqus gebruikersnaam"
+disqus_shortname_placeholder = "htmly"
+draft = "Ontwerp"
+edit = "Bewerk"
+edit_category = "Bewerk categorie"
+edit_post = "Bewerk"
+edit_profile = "Bewerk profiel"
+enable = "Inschakelen"
+enable_blog_url = "Activeer blog URL"
+enter_image_url = "Voer de URL van de afbeelding in"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook pagina"
+featured_audio = "Uitgelichte Audio"
+featured_image = "Uitgelichte Afbeelding"
+featured_link = "Uitgelichte Link"
+featured_quote = "Uitgelicht Citaat"
+featured_video = "Uitgelichte Video"
+feed_url = "Feed URL"
+filename = "Bestandsnaam"
+follow = "Volg"
+for_google_site_verification_meta = "Voor google-site-verificatie meta"
+front_page_displays = "Voorpagina weergaven"
+full_post = "Volledige bericht"
+general = "Algemeen"
+general_settings = "Algemene Instellingen"
+get_one_here = "Krijg er hier een"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Zoek Console"
+home = "Start"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Als u het leeg laat, halen we het uit de onderstaande inhoud"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Als de url leeg wordt gelaten, wordt de titel van de pagina gebruikt"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Als de url leeg wordt gelaten, wordt de titel van het bericht gebruikt"
+image_post = "Bericht met afbeelding"
+image_post_comment = "Nieuw bericht met uitgelichte afbeelding"
+import = "Importeer"
+import_feed = "Importeer feed starten"
+import_rss = "Importeer RSS"
+import_rss_feed_2.0 = "Importeer RSS Feed 2.0"
+insert_image = "Afbeelding invoegen"
+invalid_error = "FOUT: Ongeldig gebruikersnaam of wachtwoord"
+language = "Systeemtaal"
+link_name = "Linknaam"
+link_post = "Bericht met link"
+link_post_comment = "Nieuw bericht met uitgelichte verwijzing"
+login = "aanmelden"
+login_page = "Aanmeldpagina"
+logout = "Afmelden"
+menu = "Menu"
+menus = "Menu Bewerken"
+meta_description = "Meta omschrijving"
+meta_description_character = "Metabeschrijving"
+metatags = "Metalabels"
+metatags_settings = "Instellingen metalabels"
+mine = "Mijn"
+more = "Meer"
+my_draft = "Mijn concept"
+my_posts = "Mijn berichten"
+name = "Naam"
+newer = "Nieuwere"
+next = "Volgende"
+next_post = "Volgende bericht"
+no_available_backup = "Op dit ogenblik is er geen backup beschikbaar."
+no_draft_found = "Geen concept gevonden"
+no_posts_found = "Geen berichten gevonden"
+no_related_post_found = "Geen gerelateerd bericht gevonden"
+no_scheduled_posts_found = "Geen geagendeerd bericht gevonden!"
+no_search_results = "Geen zoekresultaat gevonden"
+nope = "Nee"
+not = "Nee"
+older = "Oudere"
+only = "Enkel"
+operations = "Operaties"
+page = "Pagina"
+page_generation_time = "Generatietijd pagina"
+pages = "Pagina's"
+pass_error = "Wachtwoord veld is verplicht"
+password = "Wachtwoord"
+performance = "Prestaties"
+performance_settings = "Prestatie Instellingen"
+permalink = "Definitieve link"
+popular = "Populair"
+popular_posts = "Populaire berichten"
+popular_posts_widget = "Populaire berichten widget"
+popular_posts_widget_at_most = "Maximum populaire berichten widget"
+popular_tags = "Populaire labels"
+post_by_author = "Bericht van deze auteur"
+posted_in = "Geplaatst in"
+posted_on = "Geplaatst op"
+posts = "Berichten"
+posts_by = "Geplaatst door"
+posts_draft = "Berichten ontwerpen"
+posts_in_archive_page_at_most = "Maximum berichten op archief pagina"
+posts_in_category_page_at_most = "Maximum berichten op pagina categorie"
+posts_in_front_page_show_at_most = "Maximum berichten op de voorpagina"
+posts_in_profile_page_at_most = "Maximum berichten op profielpagina"
+posts_in_search_result_at_most = "Maximum berichten in zoekresultaat"
+posts_in_tag_page_at_most = "Maximum berichten op tag pagina"
+posts_in_type_page_at_most = "Maximum berichten op type pagina"
+posts_index_settings = "Index instellingen berichten"
+posts_list = "Lijst berichten"
+posts_tagged = "Bericht gelabeld"
+posts_with_type = "Bericht van type"
+pre_release = "Pre-release"
+prev = "Vorige"
+prev_post = "Vorige bericht"
+preview = "Voorbeeld"
+profile_for = "Profiel van"
+proudly_powered_by = "Wordt mogelijk gemaakt door"
+publish = "Publiceer"
+publish_draft = "Publiceer ontwerp"
+published = "Gepubliceerd"
+quote_post = "Bericht met citaat"
+quote_post_comment = "Blogbericht maken met citaat"
+rss_character = "RSS tekens"
+rss_feeds_show_the_most_recent = "RSS feeds toon de meest recente"
+rss_settings = "RSS instellingen"
+read_more_text = "Lees meer tekst"
+read_more_text_placeholder = "Lees meer tekst placeholder"
+reading = "Lezen"
+reading_settings = "Instellingen lezen"
+recaptcha = "reCAPTCHA"
+recent_posts = "Recente berichten"
+recent_posts_widget_at_most = "Maximum recente berichten widget"
+regular_post = "Reguliere post"
+regular_post_comment = "Nieuw bericht maken"
+related_posts = "Gerelateerde berichten"
+related_widget_posts_at_most = "Maximum Gerelateerde berichten widget"
+revert_to_draft = "Terug naar concept"
+save = "Opslaan"
+save_config = "Bewaar configuratie"
+save_edit = "Wijzigingen opslaan"
+save_menu = "Menu opslaan"
+save_as_draft = "Opslaan als concept"
+save_category = "Categorie opslaan"
+scheduled = "Geagendeerd (later)"
+scheduled_posts = "Geagendeerd bericht"
+scheduled_tips = "Geagendeerd bericht met datum in toekomst, wordt later zichtbaar"
+search = "Zoeken"
+search_for = "Zoeken naar"
+search_results_for = "Zoekresultaten voor"
+search_results_not_found = "Geen zoekresultaten!"
+secret_key = "Geheime sleutel"
+settings = "Instellingen"
+sign_in_to_start_your_session = "Log in om je sessie te starten"
+site_key = "Sitesleutel"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Sociale media"
+static_page = "Statische pagina"
+static_page_comment = "Statische pagina maken"
+static_pages = "Statische pagina's"
+summary = "Samenvatting"
+summary_character = "Samenvattingsteken"
+tag = "Label"
+tagcloud_widget_at_most = "LabelWolk met meeste woorden"
+tagline = "Labellijn"
+tagline_placeholder = "Databaseloos PHP Bloggen Platform"
+tagline_description = "In een paar woorden, waar gaat dit blog over."
+tags = "Labels"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "Deze pagina bestaat niet!"
+time = "Tijd"
+timezone = "Tijdzone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Om Disqus of Facebook commentaar te gebruiken moet u Disqus shortname of Facebook App ID opgeven."
+token_error = "CSRF Token niet correct"
+tools = "Gereedschap"
+twitter_account = "Twitter (X) account"
+type_to_search = "Tik hier uw zoekterm"
+uncategorized = "Niet ingedeeld"
+uncategorized_comment = "Onderwerpen die geen categorie nodig hebben, of niet passen in een andere bestaande categorie"
+universal_analytics = "Universele Analyse (gtag.js)"
+unknown_feed_format = "Onbekende berichtenopmaak"
+update = "Bijwerken"
+update_available = "Update beschikbaar"
+update_draft = "Concept bijwerken"
+update_post = "Bericht bijwerken "
+update_to = "Bijwerken naar"
+upload = "Upload"
+user = "Gebruiker"
+user_error = "Gebruikersveld is verplicht"
+valid_values_range_from_0_to_1.0._see = "Geldige waarden wisselen van 0,0 tot 1,0. Zie"
+video_post = "Video bericht"
+video_post_comment = "Bericht maken met aanbevolen video"
+view = "Bekijken"
+view_post = "Bekijk bericht"
+views = "Aantal keer bekeken"
+widget = "Widget"
+widget_settings = "Instellingen Widget"
+would_you_like_to_try_our = "Probeert u onze"
+yes_im_in = "Ja, ik doe mee"
+yes_not_recommended = "Ja (niet aanbevolen)"
+you_dont_have_permission_to_access_this_page = "U heeft geen toestemming om deze pagina te openen"
+your_new_config_key = "Uw nieuwe configuratiesleutel"
+your_new_value = "Uw nieuwe waarde"
+your_backups = "Uw backups"
+your_latest_blog_posts = "Uw laatste blogberichten"
+your_recent_posts = "Uw recente berichten"
+by = "door"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Gebruik Ctrl
/CMD
+ F
om jouw config key of waarde te vinden."
+homepage = "start"
+instead = "in plaats van"
+item_class = "Invoegen CSS class"
+item_slug = "Link URL invoegen"
+now = "nu"
+of = "of"
+optional = "optioneel"
+post_your_post_slug = "/bericht/uw-bericht-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro tips: Je kan zelf een key maken en printen overal in je template."
+read_more = "Lees meer"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/jaar/maand/uw-bericht-slug"
+your_key = "jouw sleutel"
+summary_behavior = "Samenvatting"
+default = "Standaard"
+check_shortcode = "Controleercode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "Bij een samenvatting, controleer eerst wat er staat of gebruik x tekens"
+manage_users = "Beheer gebruikers"
+add_user = "Voeg gebruiker toe"
+username = "Gebruiker"
+role = "Rol"
+change_password = "Wijzig wachtwoord"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/pl_PL.ini b/lang/pl_PL.ini
new file mode 100755
index 0000000..01ad1fe
--- /dev/null
+++ b/lang/pl_PL.ini
@@ -0,0 +1,333 @@
+about = "Informacje"
+add_category = "Dodaj kategorię"
+add_content = "Dodaj zawartość"
+add_link = "Dodaj odnośnik"
+add_menu = "Dodaj menu"
+add_new_page = "Dodaj nową stronę"
+add_new_post = "Dodaj nowy post"
+add_source_link_optional = "Dodaj odnośnik do źródła (opcjonalne)"
+add_sub = "Dodaj podstronę"
+address_url = "Addres (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Styl panelu administracyjnego bazuje na"
+all_blog_posts = "Wszystkie posty"
+all_cache_has_been_deleted = "Pamięć podręczna została wyczyszczona!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Archiwa"
+are_you_sure_you_want_to_delete_ = "Czy chcesz usunąć %s?"
+at_the_moment_you_are_using_auto_generated_menu = "W tym momencie menu jest generowane automatycznie."
+audio_post = "Post z audio"
+audio_post_comment = "Utwórz dźwiękowy post na blogu"
+author = "Autor"
+author_description = "Po prostu kolejne konto HTMLy"
+back_to = "Wróć do"
+backup = "Kopia zapasowa"
+blog_description = "W jednym akapicie opisz ten blog."
+blog_theme = "Motyw bloga"
+blog_title = "Tytuł bloga"
+blog_title_placeholder = "Skrót bloga"
+blog_posts_displayed_as = "Posty blogowe wyświetlane jako"
+breadcrumb_home_text = "Tekst nawigacji domowej"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Używając tego importera zgadzasz się, że feed jest Twój lub przynajmniej masz uprawnienia do jego publikacji."
+css_class_optional = "Klasy CSS (opcjonalne)"
+cache_expiration = "Czas trwania pamięci tymczasowej (w godzinach)"
+cache_off = "Pamięć tymczasowa wyłączona"
+cache_timestamp = "Odcisk czasu pamięci podręcznej"
+cancel = "Anuluj"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha błędna"
+categories = "Kategorie"
+category = "Kategoria"
+check_update = "Sprawdź aktualizacje"
+clear_cache = "Wyczyść pamięć podręczną"
+comma_separated_values = "Wartości rozdzielane przecinkiem"
+comment_system = "System komentarzy"
+comments = "Komentarze"
+config = "Konfiguracja"
+congrats_you_have_the_latest_version_of_htmly = "Gratulacje! Masz aktualną wersję HTMLy."
+content = "Zawartość"
+contents = "Zawartość"
+copyright_line = "Fragment praw autorskich"
+copyright_line_placeholder = "(c) Twoje imię."
+create_backup = "Stwórz kopie zapasowe"
+created = "Utworzono"
+custom = "Modyfikacje"
+custom_settings = "Ustawienia modyfikacji"
+dashboard = "Kokpit"
+date = "Data"
+date_format = "Format daty"
+delete = "Usuń"
+description = "Opis"
+disable = "Wyłączenie"
+disabled = "Nieaktywne"
+disqus_shortname = "Disqus skrócona nazwa"
+disqus_shortname_placeholder = "htmly"
+draft = "Wersja robocza"
+edit = "Edytuj"
+edit_category = "Edytuj kategorię"
+edit_post = "Edycja"
+edit_profile = "Edytuj profil"
+enable = "Włączenie"
+enable_blog_url = "Włączenie URL blog"
+enter_image_url = "Wpisz URL obrazka"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Strona Facebook"
+featured_audio = "Prezentowany Dźwięk"
+featured_image = "Prezentowany Obraz"
+featured_link = "Prezentowany Odnośnik"
+featured_quote = "Prezentowany Cytat"
+featured_video = "Prezentowane Wideo"
+feed_url = "Feed URL"
+filename = "Nazwa pliku"
+follow = "Śledź"
+for_google_site_verification_meta = "Dla google-site-verification meta"
+front_page_displays = "Wyświetlenie strony startowej"
+full_post = "Pełen post"
+general = "Ogólnie"
+general_settings = "Ustawienia ogólne"
+get_one_here = "Zdobądź jeden teraz"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Strona domowa"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Jeżeli pozostanie puste, zawartość poniżej zostanie użyta jako zajawka"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Jeżeli URL pozostanie puste, tytuł strony zostanie użyty"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Jeżeli URL pozostanie puste, tytuł posta zostanie użyty"
+image_post = "Post obrazkowy"
+image_post_comment = "Tworzy post z wyróżnionym zdjęciem"
+import = "Import"
+import_feed = "Rozpocznij import Feed'a"
+import_rss = "Import RSS"
+import_rss_feed_2.0 = "Importuj RSS Feed 2.0"
+insert_image = "Wstaw Obraz"
+invalid_error = "BŁĄD: Błędna nazwa konta lub hasło"
+language = "Język systemu"
+link_name = "Nazwa odnośnika"
+link_post = "Odnośnik"
+link_post_comment = "Tworzy post z wyróżnionym linkiem"
+login = "Login"
+login_page = "Strona logowania"
+logout = "Wyloguj się"
+menu = "Menu"
+menus = "Edytor Menu"
+meta_description = "Meta-informacje"
+meta_description_character = "Ilość znaków metaopisu"
+metatags = "Metatags"
+metatags_settings = "Ustawienia metatagów"
+mine = "Moje"
+more = "Więcej"
+my_draft = "Mój szkic"
+my_posts = "Moje posty"
+name = "Nazwa"
+newer = "Nigdy"
+next = "Dalej"
+next_post = "Następny post"
+no_available_backup = "W tym momencie nie ma dostępnych kopii zapasowych."
+no_draft_found = "Nie znaleziono szkicu"
+no_newer_posts = "Nie znaleziono najnowszych postów"
+no_posts_found = "Nie znaleziono postów"
+no_related_post_found = "Nie znaleziono powiązanych postów."
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "Nie znaleziono"
+nope = "Nie"
+not = "Nie"
+older = "Starsze"
+only = "Tylko"
+operations = "Operacje"
+page = "Strona"
+page_generation_time = "Czas wygenerowania strony"
+pages = "Strony"
+pass_error = "Wartość z hasłem konta jest wymagana"
+password = "Hasło"
+performance = "Wydajność"
+performance_settings = "Ustawienia wydajności"
+permalink = "Stały odnośnik"
+popular = "Popularne"
+popular_posts = "Popularne posty"
+popular_posts_widget = "Sekcja postów popularnych"
+popular_posts_widget_at_most = "Maksymalna ilość postów wyświetlana w Sekcji Postów Popularnych"
+popular_tags = "Popularne tagi"
+post_by_author = "Posty autorstwa"
+posted_in = "Napisano w"
+posted_on = "Opublikowano "
+posts = "Posty"
+posts_by = "Posty "
+posts_draft = "Szablon posta"
+posts_in_archive_page_at_most = "Maksymalna ilość postów w archiwum"
+posts_in_category_page_at_most = "Maksymalna ilość postów na stronie kategorii"
+posts_in_front_page_show_at_most = "Posty na stronie startowej widzialne od najnowszego"
+posts_in_profile_page_at_most = "Maksymalna ilość postów na stronie profilu"
+posts_in_search_result_at_most = "Maksymalna ilość postów na stronie wyszukiwania"
+posts_in_tag_page_at_most = "Maksymalna ilość postów na stronie tagu"
+posts_in_type_page_at_most = "Maksymalna ilość postów na stronie typu"
+posts_index_settings = "Ustawienia indeksowania postów"
+posts_list = "Lista postów"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "Starszy"
+prev_post = "Poprzedni post"
+preview = "Podgląd"
+profile_for = "Profile for"
+proudly_powered_by = "Dumnie tworzone przez"
+publish = "Opublikuj"
+publish_draft = "Opublikuj wersję roboczą"
+published = "Opublikowano"
+quote_post = "Cytuj post"
+quote_post_comment = "Tworzenie postu z cytatem"
+rss_character = "Ilość znaków RSS"
+rss_feeds_show_the_most_recent = "Maksymalna ilość wpisów Feed'u RSS"
+rss_settings = "Ustawienia RSS"
+read_more_text = "Czytaj Więcej tekst"
+read_more_text_placeholder = "Czytaj więcej"
+reading = "Czytanie"
+reading_settings = "Ustawienia czytania"
+recaptcha = "reCAPTCHA"
+recent_posts = "Ostatnie posty"
+recent_posts_widget_at_most = "Maksymalna ilość postów wyświetlana w Sekcji Ostatnich Postów"
+regular_post = "Standardowy post"
+regular_post_comment = "Tworzenie zwykłego postu"
+related_posts = "Powiązane posty"
+related_widget_posts_at_most = "Maksymalna ilość postów wyświetlana w Sekcji Postów Powiązanych"
+revert_to_draft = "Cofnij do wersji roboczej"
+save = "Zapisz"
+save_config = "Zapisz konfigurację"
+save_edit = "Zapisz edycję"
+save_menu = "Zapisz menu"
+save_as_draft = "Zapisz jako szkic"
+save_category = "Zapisz kategorię"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Szukaj"
+search_for = "Szukaj"
+search_results_for = "Search results for"
+search_results_not_found = "Brak wyników wyszukiwania!"
+secret_key = "Klucz sekretny"
+settings = "Ustawienia"
+sign_in_to_start_your_session = "Zaloguj się by rozpocząć sesję"
+site_key = "Klucz strony"
+sitemap = "Mapa strony"
+slug = "Uproszczenie"
+social_media = "Platforma społecznościowa"
+static_page = "Statyczna strona"
+static_page_comment = "Tworzy statyczną stronę"
+static_pages = "Strony statyczne"
+summary = "Podsumowanie"
+summary_character = "Ilość znaków podsumowania"
+tag = "Tag"
+tagcloud_widget_at_most = "Maksymalna ilość tagów w Chmurze Tagów"
+tagline = "Krótki opis"
+tagline_placeholder = "Bezbazodanowa platforma PHP do blogowania"
+tagline_description = "W kilku słowach opsiz o czym ten blog jest."
+tags = "Tagi"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "To jest przestarzały kod. Zazwyzcaj nowo utworzone analizy używają gtag.js"
+this_page_doesnt_exist = "Ta strona nie istnieje!"
+time = "Czas"
+timezone = "Strefa czasowa"
+title = "Tytuł"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Do używania Disqus lub Komentarzy Facebook potrzeba wpisać ich App ID."
+token_error = "Token CSRF jest niepoprawny"
+tools = "Narzędzia"
+twitter_account = "Konto Twitter"
+type_to_search = "Wpisz wyszkukiwaną frazę"
+uncategorized = "Bez kategorii"
+uncategorized_comment = "Wpisy, któe nie potrzebują kategorii, lub niepasujące do żadnej kategorii."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Aktualizacja"
+update_available = "Aktualizacje są dostępne"
+update_draft = "Aktualizuj szkic"
+update_post = "Aktualizuj post"
+update_to = "Aktualizuj do"
+upload = "Wgraj"
+user = "Konto"
+user_error = "Wartość pola z nazwą konta jest wymagane"
+valid_values_range_from_0_to_1.0._see = "Poprawne wartości są w zakresie 0.0 do 1.0. Zobacz"
+video_post = "Film"
+video_post_comment = "Tworzy post z wyróżnionym filmem."
+view = "Zobacz"
+view_post = "Podgląd"
+views = "Wyświetleń"
+widget = "Widgety"
+widget_settings = "Ustawienia widgetów"
+would_you_like_to_try_our = "Czy przetestujesz "
+yes_im_in = "Tak, wchodzę w to"
+yes_not_recommended = "Tak (niezalecane)"
+you_dont_have_permission_to_access_this_page = "Nie masz uprawnień do tej strony"
+your_new_config_key = "Twój nowy klucz konfiguracji"
+your_new_value = "Wartość twojego nowego klucza konfiguracji"
+your_backups = "Twoje kopie zapasowe"
+your_latest_blog_posts = "Twoje ostatnie wpisy"
+your_recent_posts = "Twoje ostatnie posty"
+by = "przez"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "wskazówka: Użyj Ctrl
/CMD
+ F
by wyszukać wartość klucza konfiguracji."
+homepage = "strona_domowa"
+instead = "zamiast"
+item_class = "Wstaw klasy CSS"
+item_slug = "Wstaw URL odnośnika"
+now = "teraz"
+of = " "
+optional = "opcjonalne"
+post_your_post_slug = "/post/uproszczona-nazwa-postu"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "super wskazówka: Możesz tworzyć własne klucze konfiguracji i wyświetlać je gdziekolwiek w szablonie."
+read_more = "Czytaj więcej"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/rok/miesiąc/uproszczona-nazwa-postu"
+your_key = "ten.klucz"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/pt_BR.ini b/lang/pt_BR.ini
new file mode 100755
index 0000000..2fbf4d9
--- /dev/null
+++ b/lang/pt_BR.ini
@@ -0,0 +1,332 @@
+about = "Sobre"
+add_category = "Adicionar categoria"
+add_content = "Adicionar conteúdo"
+add_link = "Adicionar link"
+add_menu = "Adicionar menu"
+add_new_page = "Adicionar nova página"
+add_new_post = "Adicionar nova postagem"
+add_source_link_optional = "Adicione o link da fonte (opcional)"
+add_sub = "Adicionar sub página"
+address_url = "Endereço (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Painel de administração baseado no"
+all_blog_posts = "Todas as postagens do blog"
+all_cache_has_been_deleted = "Todo cache foi excluído !"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Arquivos"
+are_you_sure_you_want_to_delete_ = "Tem certeza de que deseja excluir %s?"
+at_the_moment_you_are_using_auto_generated_menu = "No momento você está usando a geração automática de menus."
+audio_post = "Postagem com áudio"
+audio_post_comment = "Criação de postagem com áudio em destaque"
+author = "Autor"
+author_description = "Just another HTMLy user"
+back_to = "Voltar para"
+backup = "Backup"
+blog_description = "Em um parágrafo, descreva sobre seu site/blog."
+blog_theme = "Tema do site/blog"
+blog_title = "Título (site/blog)"
+blog_title_placeholder = "Meu site / blog"
+blog_posts_displayed_as = "Exibir postagens como"
+breadcrumb_home_text = "Breadcrumb: texto da página inicial"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Utilizando este importador você está de acordo que o feed é seu ou pelo menos tenha a autorização para publicar."
+css_class_optional = "Classe CSS (opcional)"
+cache_expiration = "Expiração do cache (em horas)"
+cache_off = "Desativar Cache"
+cache_timestamp = "Timestamp do cache"
+cancel = "Cancelar"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha not correct"
+categories = "Categorias"
+category = "Categoria"
+check_update = "Verificar atualização"
+clear_cache = "Limpar cache"
+comma_separated_values = "Os valores devem ser separados por virgula"
+comment_system = "Sistema de comentário"
+comments = "Comentários"
+config = "Configurar"
+congrats_you_have_the_latest_version_of_htmly = "Parabêns ! Você tem a última versão do HTMLy."
+content = "Conteúdo"
+contents = "Conteúdo"
+copyright_line = "Direitos reservados"
+copyright_line_placeholder = "(c) Seu nome."
+create_backup = "Gerar backup"
+created = "Criado"
+custom = "Customizar"
+custom_settings = "Configurações customizadas"
+dashboard = "Painel de Controle"
+date = "Data"
+date_format = "Formato de data"
+delete = "Excluir"
+description = "Descrição"
+disable = "Desabilitar"
+disabled = "Desabilitado"
+disqus_shortname = "Usuário Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Rascunho"
+edit = "Editar"
+edit_category = "Editar categoria"
+edit_post = "Edit"
+edit_profile = "Editar perfil"
+enable = "Habilitar"
+enable_blog_url = "Habilitar a URL blog"
+enter_image_url = "Insira a URL da imagem"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Página do Facebook"
+featured_audio = "Audio em destaque"
+featured_image = "Imagem em destaque"
+featured_link = "Link em destaque"
+featured_quote = "Citação em destaque"
+featured_video = "Video em destaque"
+feed_url = "URL do Feed"
+filename = "Nome do arquivo"
+follow = "Seguir"
+for_google_site_verification_meta = "Para o meta google-site-verification"
+front_page_displays = "Mostrar na primeira página"
+full_post = "Postagem completa"
+general = "Geral"
+general_settings = "Configurações Gerais"
+get_one_here = "Efetue as configuração no link"
+github_pre_release = "Pré-lançamento do Github"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legado)"
+google_search_console = "Google Search Console"
+home = "Inicial"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Se deixar em branco, iremos extraí-lo do conteúdo abaixo"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Se a url estiver vazia, usaremos o título da página"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Se a url estiver vazia, usaremos o título da postagem"
+image_post = "Postagem com imagem"
+image_post_comment = "Criação de postagem com imagem em destaque"
+import = "Importar"
+import_feed = "Iniciar importação do feed"
+import_rss = "Importar RSS"
+import_rss_feed_2.0 = "Importar o Feed RSS 2.0"
+insert_image = "Inserir Imagem"
+invalid_error = "ERROR: Invalid username or password"
+language = "Idioma do sistema"
+link_name = "Nome do link"
+link_post = "Postagem de link"
+link_post_comment = "Criação de postagem com link em destaque"
+login = "Logar"
+login_page = "Página de login"
+logout = "Sair"
+menu = "Menu"
+menus = "Editor de menus"
+meta_description = "Meta Descrição"
+meta_description_character = "Caracteres da 'Meta description'"
+metatags = "Metatags"
+metatags_settings = "Configurações de Metatags"
+mine = "Meu"
+more = "Mais"
+my_draft = "Meu rascunho"
+my_posts = "Minhas postagens"
+name = "Nome"
+newer = "Mais recente"
+next = "Próximo"
+next_post = "Próxima postagem"
+no_available_backup = "Não há nenhum backup no momento."
+no_draft_found = "Nenhum rascunho encontrado"
+no_posts_found = "nenhuma postagem encontrada"
+no_related_post_found = "Nenhuma postagem relacionada encontrada"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Não"
+not = "Não"
+older = "Antigo"
+only = "Somente"
+operations = "Operações"
+page = "Page"
+page_generation_time = "Tempo de geração da página"
+pages = "Pages"
+pass_error = "Password field is required"
+password = "Senha"
+performance = "Performance"
+performance_settings = "Configurações de Performance"
+permalink = "Link permanente"
+popular = "Popular"
+popular_posts = "Postagens populares"
+popular_posts_widget = "Posts populares"
+popular_posts_widget_at_most = "Limite de post populares"
+popular_tags = "Tags populares"
+post_by_author = "Posts by this author"
+posted_in = "Postado em"
+posted_on = "Posted em"
+posts = "Postagens"
+posts_by = "Posts by"
+posts_draft = "Rascunhos"
+posts_in_archive_page_at_most = "Limite na página de arquivados"
+posts_in_category_page_at_most = "Limite na página de categoria"
+posts_in_front_page_show_at_most = "Limitar posts na primeira página"
+posts_in_profile_page_at_most = "Limite na página de perfil"
+posts_in_search_result_at_most = "Limite em resultados de pesquisa"
+posts_in_tag_page_at_most = "Limite na página de tags"
+posts_in_type_page_at_most = "Limite na página por tipo (type)"
+posts_index_settings = "Configurações de índice das postagens"
+posts_list = "Postagens"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pré-lançamento"
+prev = "Antigo"
+prev_post = "Postagem anterior"
+preview = "Pré visualização"
+profile_for = "Profile for"
+proudly_powered_by = "Orgulhosamente desenvolvido por"
+publish = "Publicar"
+publish_draft = "Publicar rascunho"
+published = "Publicados"
+quote_post = "Postagem com citação"
+quote_post_comment = "Criação de postagem de blog com citação em destaque"
+rss_character = "Limite de caracteres do RSS"
+rss_feeds_show_the_most_recent = "Limite de postagens recentes"
+rss_settings = "Configurações RSS"
+read_more_text = "Texto para continuar a leitura"
+read_more_text_placeholder = "Leia mais"
+reading = "Leitura"
+reading_settings = "Configurações de Leitura"
+recaptcha = "reCAPTCHA"
+recent_posts = "Postagens recentes"
+recent_posts_widget_at_most = "Limite de posts recentes"
+regular_post = "Postagem padrão"
+regular_post_comment = "Criação de postagem padrão no blog"
+related_posts = "Postagens relacionadas"
+related_widget_posts_at_most = "Limite de posts relacionados"
+revert_to_draft = "Reverter para rascunho"
+save = "Salvar"
+save_config = "Salvar configurações"
+save_edit = "Salvar edição"
+save_menu = "Salvar menu"
+save_as_draft = "Salvar como rascunho"
+save_category = "Salvar categoria"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Buscar"
+search_for = "Buscar por"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Chave secreta"
+settings = "Configurações"
+sign_in_to_start_your_session = "Faça login para iniciar a sessão"
+site_key = "Chave do site"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Mídia Social"
+static_page = "Página estática"
+static_page_comment = "Criação de página estática"
+static_pages = "Páginas estáticas"
+summary = "Postagem Resumida"
+summary_character = "Limite de caracteres do resumo"
+tag = "Tag"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Slogan"
+tagline_placeholder = "Descreva um slogan"
+tagline_description = "Em poucas palavras defina o site/blog de forma objetiva."
+tags = "Tags"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Este é um código legado. Normalmente o novo Analytics usa o gtag.js"
+this_page_doesnt_exist = "A página requisitada não existe !"
+time = "Hora"
+timezone = "Fuso horário"
+title = "Título"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Para usar o Disqus ou comentário do Facebook, você precisa fornecer o nome abreviado do Disqus ou o ID do aplicativo do Facebook."
+token_error = "CSRF Token not correct"
+tools = "Ferramentas"
+twitter_account = "Conta do Twitter"
+type_to_search = "Digite para buscar"
+uncategorized = "Sem categoria"
+uncategorized_comment = "Tópicos que não precisam de uma categoria ou não se encaixam em nenhuma outra categoria existente"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Atualizar"
+update_available = "Atualização disponível"
+update_draft = "Atualizar rascunho"
+update_post = "Atualizar postagem"
+update_to = "Atualizar para"
+upload = "Carregar"
+user = "Usuário"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Valores válidos são entre 0.0 e 1.0. Veja mais em"
+video_post = "Postagem de video"
+video_post_comment = "Criação de postagem com vídeo em destaque"
+view = "Visualizar"
+view_post = "View"
+views = "Visualizações"
+widget = "Widget"
+widget_settings = "Configurações dos Widgets"
+would_you_like_to_try_our = "Poderia tentar a nossa "
+yes_im_in = "Sim, estou dentro"
+yes_not_recommended = "Sim (não recomendado)"
+you_dont_have_permission_to_access_this_page = "Você não tem permissão para acessar esta página"
+your_new_config_key = "Sua nova chave configurada"
+your_new_value = "Seu novo valor"
+your_backups = "Seus backups"
+your_latest_blog_posts = "Suas postagens de blog"
+your_recent_posts = "Suas postagens recentes"
+by = "por"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "Dica: Utilize Ctrl
/CMD
+ F
para buscar pela chave ou valor."
+homepage = "página inicial"
+instead = "no lugar"
+item_class = "Insira a classe CSS do link"
+item_slug = "Insira a URL do link"
+now = "agora"
+of = "of"
+optional = "opcional"
+post_your_post_slug = "/post/url-da-postagem"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Dica profissional: Você pode criar chaves customizadas e imprimir seus valores em qualquer local de seu tema."
+read_more = "leia mais"
+widget_key_placeholder = "Seu código"
+year_month_your_post_slug = "/ano/mes/url-da-postagem"
+your_key = "sua.chave"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/ru_RU.ini b/lang/ru_RU.ini
new file mode 100755
index 0000000..9238ce7
--- /dev/null
+++ b/lang/ru_RU.ini
@@ -0,0 +1,333 @@
+about = "О сайте"
+add_category = "Добавить категорию"
+add_content = "Добавить статью"
+add_link = "Добавить ссылку"
+add_menu = "Добавить меню"
+add_new_page = "Добавить новую страницу"
+add_new_post = "Добавить новую статью"
+add_source_link_optional = "Добавить ссылку на источник (не обязательно)"
+add_sub = "Добавить подстраницу"
+address_url = "Адрес (URL)"
+admin = "Админ"
+admin_panel_style_based_on = "Стиль админ панели основан на"
+all_blog_posts = "Все статьи"
+all_cache_has_been_deleted = "Все кеши были очищены!"
+all_posts_tagged = "All posts tagged"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Архивы"
+are_you_sure_you_want_to_delete_ = "Вы уверены, что хотите удалить %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Сейчас вы используете автоматически созданное меню"
+audio_post = "Статья с аудио"
+audio_post_comment = "Создать статью с аудио"
+author = "Автор"
+author_description = "Еще один пользователь HTMLy"
+back_to = "Вернуться на"
+backup = "Бэкап"
+blog_description = "Расскажите больше о своем блоге (один абзац)"
+blog_theme = "Тема блога"
+blog_title = "Заголовок блога"
+blog_title_placeholder = "Мой блог на HTMLy"
+blog_posts_displayed_as = "Записи в блоге отображаются в виде"
+breadcrumb_home_text = "Текст для главной страницы в хлебных крошках"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Используя данный импортер, вы подтверждаете, что лента принадлежит вам, или у вас есть полномочия на ее публикацию"
+css_class_optional = "CSS класс (не обязательно)"
+cache_expiration = "Срок действия кеша (в часах)"
+cache_off = "Кеш выключен"
+cache_timestamp = "Отметка времени кеша"
+cancel = "Отменить"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha не верна"
+categories = "Категории"
+category = "Категория"
+check_update = "Проверить обновления"
+clear_cache = "Очистить кеш"
+comma_separated_values = "Разделенные запятыми значения"
+comment_system = "Выберите систему"
+comments = "Комментарии"
+config = "Конфигурация"
+congrats_you_have_the_latest_version_of_htmly = "Поздравляем! У вас установлена последняя версия HTMLy"
+content = "Содержимое"
+contents = "Содержание"
+copyright_line = "Авторские права"
+copyright_line_placeholder = "(c) Ваше имя"
+create_backup = "Создать резервную копию"
+created = "Создано"
+custom = "Пользовательские"
+custom_settings = "Пользовательские настройки"
+dashboard = "Панель"
+date = "Дата"
+date_format = "Формат даты"
+delete = "Удалить"
+description = "Описание"
+disable = "Выключить"
+disabled = "Отключено"
+disqus_shortname = "Имя Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Черновик"
+edit = "Редактировать"
+edit_category = "Редактировать категорию"
+edit_post = "Редактировать"
+edit_profile = "Редактировать профиль"
+enable = "Включить"
+enable_blog_url = "Включить ссылку blog"
+enter_image_url = "Введите URL изображения"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Страница Facebook"
+featured_audio = "Аудио"
+featured_image = "Изображение"
+featured_link = "Ссылка"
+featured_quote = "Цитата"
+featured_video = "Видео"
+feed_url = "Адрес рассылки"
+filename = "Имя файла"
+follow = "Следовать"
+for_google_site_verification_meta = "Для google-site-verification (мета тег)"
+front_page_displays = "Показывать на главной странице"
+full_post = "Статья полностью"
+general = "Общие"
+general_settings = "Общие настройки"
+get_one_here = "Получить"
+github_pre_release = "Предварительный выпуск на Github"
+google_analytics = "Аналитика Google"
+google_analytics_legacy = "Аналитика Google (legacy)"
+google_search_console = "Поисковая консоль Google"
+home = "Главная"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Если оставить пустым, данные будут внесены из основного содержимого"
+if_the_url_is_left_empty_we_will_use_the_page_title = "Если адрес оставить пустым, будет использован заголовок страницы"
+if_the_url_is_left_empty_we_will_use_the_post_title = "Если адрес оставить пустым, будет использован заголовок статьи"
+image_post = "Статья с изображением"
+image_post_comment = "Создать статью с изображением"
+import = "Импорт"
+import_feed = "Запустить импорт ленты"
+import_rss = "Импорт RSS"
+import_rss_feed_2.0 = "Импорт RSS Feed 2.0"
+insert_image = "Вставить изображение"
+invalid_error = "ОШИБКА: Неверные имя пользователя или Пароль"
+language = "Язык системы"
+link_name = "Название ссылки"
+link_post = "Статья со ссылкой"
+link_post_comment = "Создать статью со ссылкой"
+login = "Вход"
+login_page = "Страница входа"
+logout = "Выйти"
+menu = "Меню"
+menus = "Редактор меню"
+meta_description = "Мета-описание"
+meta_description_character = "Количество символов в мета-описании"
+metatags = "Мета теги"
+metatags_settings = "Настройки мета тегов"
+mine = "Моё"
+more = "Подробнее"
+my_draft = "Мой черновик"
+my_posts = "Мои статьи"
+name = "Имя"
+newer = "Новое"
+next = "Вперед"
+next_post = "Следующая статья"
+no_available_backup = "Резервные копии отсутствуют"
+no_draft_found = "Черновики не найдены"
+no_newer_posts = "Нет новых статей"
+no_posts_found = "Статьи не найдены"
+no_related_post_found = "Нет похожих статей."
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "Безрезультатно"
+nope = "Нет"
+not = "Нет"
+older = "Старое"
+only = "Только"
+operations = "Операции"
+page = "Страница"
+page_generation_time = "Время создания страницы"
+pages = "Страницы"
+pass_error = "Введите пароль"
+password = "Пароль"
+performance = "Производительность"
+performance_settings = "Настройки производительности"
+permalink = "Постоянная ссылка"
+popular = "Популярный"
+popular_posts = "Популярные статьи"
+popular_posts_widget = "Популярные статьи"
+popular_posts_widget_at_most = "Количество популярных статей, не более"
+popular_tags = "Популярные теги"
+post_by_author = "Авторские статьи"
+posted_in = "Опубликовано в"
+posted_on = "Опубликовано "
+posts = "Статьи"
+posts_by = "Статьи автора"
+posts_draft = "Черновики"
+posts_in_archive_page_at_most = "Количество статей на архивных страницах, не более"
+posts_in_category_page_at_most = "Количество статей на странице категорий, не более"
+posts_in_front_page_show_at_most = "Количество статей на главной, не более"
+posts_in_profile_page_at_most = "Количество статей на страницах профиля пользователя, не более"
+posts_in_search_result_at_most = "Количество статей в результатах поиска, не более"
+posts_in_tag_page_at_most = "Количество статей на страницах для каждой метки, не более"
+posts_in_type_page_at_most = "Количество статей на страницах для каждого типа записей, не более"
+posts_index_settings = "Настройки количества статей"
+posts_list = "Список статей"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "предварительный выпуск"
+prev = "Назад"
+prev_post = "Предыдущая статья"
+preview = "Просмотр"
+profile_for = "Profile for"
+proudly_powered_by = "Разработано"
+publish = "Опубликовать"
+publish_draft = "Опубликовать черновик"
+published = "Опубликовано"
+quote_post = "Статья с цитатой"
+quote_post_comment = "Создать статью с цитатой"
+rss_character = "Количество символов в RSS"
+rss_feeds_show_the_most_recent = "Количество последних новостей в RSS каналах"
+rss_settings = "Настройки RSS"
+read_more_text = "Текст Читать далее"
+read_more_text_placeholder = "Подробнее"
+reading = "Чтение"
+reading_settings = "Настройки чтения"
+recaptcha = "reCAPTCHA"
+recent_posts = "Новые статьи"
+recent_posts_widget_at_most = "Количество новых статей, не более"
+regular_post = "Стандартная статья"
+regular_post_comment = "Создать стандартную статью"
+related_posts = "Похожие статьи"
+related_widget_posts_at_most = "Количество похожих статей, не более"
+revert_to_draft = "Переключить на черновик"
+save = "Сохранить"
+save_config = "Сохранить настройки"
+save_edit = "Сохранить"
+save_menu = "Сохранить меню"
+save_as_draft = "Сохранить как черновик"
+save_category = "Сохранить категорию"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Поиск"
+search_for = "Искать"
+search_results_for = "Search results for"
+search_results_not_found = "По вашему запросу ничего не найдено!"
+secret_key = "Секретный ключ"
+settings = "Настройки"
+sign_in_to_start_your_session = "Авторизация пользователя"
+site_key = "Ключ сайта"
+sitemap = "Карта сайта"
+slug = "ЧПУ"
+social_media = "Социальные медиа"
+static_page = "Статичная страница"
+static_page_comment = "Создать статичную страницу"
+static_pages = "Статичные страницы"
+summary = "Отрывок"
+summary_character = "Количество символов в отрывке"
+tag = "Метка"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Подзаголовок"
+tagline_placeholder = "Платформа для ведения блогов на PHP без базы данных"
+tagline_description = "В нескольких словах расскажите, о чем этот блог"
+tags = "Метки"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Это устаревший код. Обычно новая аналитика создается с использованием gtag.js"
+this_page_doesnt_exist = "Такая станица не существует!"
+time = "Время"
+timezone = "Часовой пояс"
+title = "Заголовок"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Для использования комментариев Disqus или Facebook вам необходимо указать короткое имя Disqus или Facebook App ID."
+token_error = "Неправильный токен"
+tools = "Инструменты"
+twitter_account = "Аккаунт Twitter"
+type_to_search = "Введите для поиска"
+uncategorized = "Без категории"
+uncategorized_comment = "Статьи, которым не нужна категория или которые не подходят ни к одной существующей категории."
+universal_analytics = "Универсальная (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Обновить"
+update_available = "Доступно обновление"
+update_draft = "Обновить черновик"
+update_post = "Обновить статью"
+update_to = "Обновить до"
+upload = "Загрузить"
+user = "Пользователь"
+user_error = "Заполните имя пользователя"
+valid_values_range_from_0_to_1.0._see = "Допустимые значения от 0.0 до 1.0. Подробнее: "
+video_post = "Статья с видео"
+video_post_comment = "Создать статью с видео"
+view = "Просмотр"
+view_post = "Просмотр"
+views = "Просмотры"
+widget = "Виджет"
+widget_settings = "Управление виджетами"
+would_you_like_to_try_our = "Хотели бы вы попробовать "
+yes_im_in = "Да"
+yes_not_recommended = "Да (не рекомендуется)"
+you_dont_have_permission_to_access_this_page = "У вас нет разрешений для доступа к этой странице"
+your_new_config_key = "Ваш новый ключ конфигурации"
+your_new_value = "Значение ключа"
+your_backups = "Резервные копии"
+your_latest_blog_posts = "Ваши последние статьи"
+your_recent_posts = "Ваши недавние статьи"
+by = ""
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "совет: Для поиска ключа конфигурации и его значения используйте комбинацию клавиш Ctrl
/CMD
+ F
"
+homepage = "главная"
+instead = "вместо"
+item_class = "Добавьте класс CSS"
+item_slug = "Вставьте ЧП ссылку"
+now = "сейчас"
+of = "of"
+optional = "необязательный"
+post_your_post_slug = "/post/постоянная-ссылка-на-статью"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "совет: Вы можете создать собственный ключ конфигурации и выводить значение этого ключа в любом месте вашего шаблона"
+read_more = "Читать далее"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/год/месяц/постоянная-ссылка-на-статью"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/sv_SE.ini b/lang/sv_SE.ini
new file mode 100755
index 0000000..c0a968a
--- /dev/null
+++ b/lang/sv_SE.ini
@@ -0,0 +1,344 @@
+about = "Om"
+add_category = "Ny kategori"
+add_content = "Nytt"
+add_link = "Add link"
+add_menu = "Add menu"
+add_new_page = "Add new page"
+add_new_post = "Add new post"
+add_source_link_optional = "Add source link (optional)"
+add_sub = "Ny undersida"
+address_url = "Address (URL)"
+admin = "Admin"
+admin_panel_style_based_on = "Admin panel style based on"
+all_blog_posts = "Alla blogginlägg"
+all_cache_has_been_deleted = "All cache has been deleted !"
+all_posts_tagged = "All posts tagged"
+archive = "Arkiv"
+archive_for = "Archive for"
+archive_page_for = "Archive page for"
+archives = "Arkiv"
+are_you_sure_you_want_to_delete_ = "Är du säker på att du vill radera %s?"
+at_the_moment_you_are_using_auto_generated_menu = "At the moment you are using auto generated menu."
+audio_post = "Audioinlägg"
+audio_post_comment = "Skapa inlägg med ljudklipp"
+author = "Författare"
+author_description = "Just another HTMLy user"
+back_to = "Back to"
+backup = "Säkerhetskopiera"
+blog_description = "In one paragraph, tell us more about your blog."
+blog_theme = "Blog Theme"
+blog_title = "Blog title"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "Blog posts displayed as"
+breadcrumb_home_text = "Breadcrumb home text"
+by = "av"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "By using this importer you are agree if the feed is yours or at least you have the authority to publish it."
+css_class_optional = "CSS Class (optional)"
+cache_expiration = "Cache expiration (in hours)"
+cache_off = "Cache off"
+cache_timestamp = "Cache timestamp"
+cancel = "Avbryt"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha not correct"
+categories = "Kategorier"
+category = "Kategori"
+check_update = "Check update"
+clear_cache = "Rensa cache"
+comma_separated_values = "Comma separated values"
+comment_system = "Comment system"
+comments = "kommentarer"
+config = "Konfiguration"
+congrats_you_have_the_latest_version_of_htmly = "Congrats! You have the latest version of HTMLy."
+content = "Content"
+contents = "Innehåll"
+continue_reading = "Läs vidare"
+copyright_line = "Copyright line"
+copyright_line_placeholder = "(c) Your name."
+create_backup = "Create backup"
+created = "Skapad"
+custom = "Custom"
+custom_settings = "Custom Settings"
+dashboard = "Dashboard"
+date = "Date"
+date_format = "Date Format"
+delete = "Radera"
+description = "Beskrivning"
+design_by = "Designad av"
+disable = "Disable"
+disabled = "Disabled"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "Utkast"
+edit = "Redigera"
+edit_category = "Edit category"
+edit_post = "Edit"
+edit_profile = "Redigera profil"
+enable = "Enable"
+enable_blog_url = "Enable blog URL"
+enter_image_url = "Enter image URL"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook page"
+featured_audio = "Featured Audio"
+featured_image = "Featured Image"
+featured_link = "Featured Link"
+featured_quote = "Featured Quote"
+featured_video = "Featured Video"
+feed_url = "Feed URL"
+filename = "Filnamn"
+follow = "Följ"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "Front page displays"
+full_post = "Full post"
+general = "General"
+general_settings = "General Settings"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "Home"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "If leave empty we will excerpt it from the content below"
+if_the_url_is_left_empty_we_will_use_the_page_title = "If the url leave empty we will use the page title"
+if_the_url_is_left_empty_we_will_use_the_post_title = "If the url leave empty we will use the post title"
+image_post = "Bildinlägg"
+image_post_comment = "Skapa inlägg med bild"
+import = "Importera"
+import_feed = "Start Import Feed"
+import_rss = "Import RSS"
+import_rss_feed_2.0 = "Import RSS Feed 2.0"
+insert_image = "Insert Image"
+invalid_error = "ERROR: Invalid username or password"
+language = "System Language"
+link_name = "Link name"
+link_post = "Länkinlägg"
+link_post_comment = "Skapa inlägg med länk"
+login = "Login"
+login_page = "Inloggningssida"
+logout = "Logga ut"
+menu = "Menu"
+menus = "Menu Editor"
+meta_description = "Meta-beskrivning"
+meta_description_character = "Meta description character"
+metatags = "Metatags"
+metatags_settings = "Metatags Settings"
+mine = "Mina"
+more = "Mer"
+my_draft = "Mina utkast"
+my_posts = "Mina inlägg"
+name = "Name"
+newer = "Nyare"
+newer_posts = "Nyare inlägg"
+next = "Nästa"
+next_post = "Nästa inlägg"
+no_available_backup = "No available backup at this time."
+no_draft_found = "Inga utkast funna"
+no_newer_posts = "Inga nyare inlägg"
+no_older_posts = "Inga äldre inlägg"
+no_posts_found = "Inga inlägg funna"
+no_related_post_found = "Inga relaterade inlägg funna"
+no_scheduled_posts_found = "No scheduled posts found!"
+no_search_results = "No search results"
+nope = "Nope"
+not = "No"
+older = "Äldre"
+older_posts = "Äldre inlägg"
+only = "Only"
+operations = "Åtgärder"
+page = "Page"
+page_generation_time = "Page generation time"
+pages = "Pages"
+pass_error = "Password field is required"
+password = "Password"
+performance = "Performance"
+performance_settings = "Performance Settings"
+permalink = "Permalink"
+popular = "Popular"
+popular_posts = "Populära inlägg"
+popular_posts_widget = "Popular posts widget"
+popular_posts_widget_at_most = "Popular posts widget at most"
+popular_tags = "Populära etiketter"
+post_by_author = "Posts by this author"
+posted_in = "Upplagd i"
+posted_on = "Upplagd på"
+posts = "Inlägg"
+posts_by = "Posts by"
+posts_draft = "Posts draft"
+posts_in_archive_page_at_most = "Posts in archive page at most"
+posts_in_category_page_at_most = "Posts in category page at most"
+posts_in_front_page_show_at_most = "Posts in front page show at most"
+posts_in_profile_page_at_most = "Posts in profile page at most"
+posts_in_search_result_at_most = "Posts in search result at most"
+posts_in_tag_page_at_most = "Posts in tag page at most"
+posts_in_type_page_at_most = "Posts in type page at most"
+posts_index_settings = "Posts index settings"
+posts_list = "Posts list"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "Föregående"
+prev_post = "Föregående inlägg"
+preview = "Preview"
+previous = "Föregående"
+profile_for = "Profile for"
+proudly_powered_by = "Proudly powered by"
+publish = "Publicera"
+publish_draft = "Publicera utkast"
+published = "Publicerad"
+published_by = "Publicerad av"
+quote_post = "Citatinlägg"
+quote_post_comment = "Skapa inlägg med citat"
+rss_character = "RSS character"
+rss_feeds_show_the_most_recent = "RSS feeds show the most recent"
+rss_settings = "RSS settings"
+read_more = "läs mer"
+read_more_text = "Read more text"
+read_more_text_placeholder = "Read more"
+reading = "Reading"
+reading_settings = "Reading Settings"
+recaptcha = "reCAPTCHA"
+recent_comments = "Senaste kommentarer"
+recent_posts = "Senaste inlägg"
+recent_posts_widget_at_most = "Recent posts widget at most"
+regular_post = "Vanligt inlägg"
+regular_post_comment = "Skapa vanligt inlägg"
+related_posts = "Relaterade inlägg"
+related_widget_posts_at_most = "Related widget posts at most"
+return_to_home = "Tillbaka till startsidan"
+revert_to_draft = "Återgå till utkast"
+save = "Spara"
+save_config = "Save config"
+save_edit = "Save Edit"
+save_menu = "Save menu"
+save_as_draft = "Spara som utkast"
+save_category = "Save category"
+scheduled = "Scheduled"
+scheduled_posts = "Scheduled posts"
+scheduled_tips = "Publishing a post with future date or time, it will go into scheduled posts"
+search = "Sök"
+search_for = "Sök efter"
+search_results_for = "Search results for"
+search_results_not_found = "Search results not found!"
+secret_key = "Secret Key"
+settings = "Settings"
+share_this_post = "Dela inlägg"
+sign_in_to_start_your_session = "Sign in to start your session"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "Statisk sida"
+static_page_comment = "Skapa statisk sida"
+static_pages = "Statiska sidor"
+summary = "Summary"
+summary_character = "Summary character"
+tag = "Etikett"
+tagcloud_widget_at_most = "TagCloud at most"
+tagline = "Tagline"
+tagline_placeholder = "Databaseless PHP Blogging Platform"
+tagline_description = "In a few words, explain what this blog is about."
+tags = "Etiketter"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "This page doesn't exist !"
+time = "Time"
+timezone = "Timezone"
+title = "Titel"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "To using Disqus or Facebook comment you need to provide Disqus shortname or Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "Tools"
+twitter_account = "Twitter account"
+type_to_search = "Type to search"
+uncategorized = "Ingen kategori"
+uncategorized_comment = "Inlägg som inte behöver någon kategori eller inte passar i någon av övriga kategorier."
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "Uppdatera"
+update_available = "Update Available"
+update_draft = "Uppdatera utkast"
+update_post = "Uppdatera inlägg"
+update_to = "Update to"
+upload = "Upload"
+user = "User"
+user_error = "User field is required"
+valid_values_range_from_0_to_1.0._see = "Valid values range from 0.0 to 1.0. See"
+video_post = "Videoinlägg"
+video_post_comment = "Skapa inlägg med video"
+view = "Visa"
+view_post = "View"
+views = "Visningar"
+widget = "Widget"
+widget_settings = "Widget Settings"
+would_you_like_to_try_our = "Would you like to try our "
+yes_im_in = "Yes I'm in"
+yes_not_recommended = "Yes (not recommended)"
+you_dont_have_permission_to_access_this_page = "You don't have permission to access this page"
+your_new_config_key = "Your New Config Key"
+your_new_value = "Your New Value"
+your_backups = "Your backups"
+your_latest_blog_posts = "Your latest blog posts"
+your_recent_posts = "Dina senaste inlägg"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "hint: Use Ctrl
/CMD
+ F
to search for your config key or value."
+homepage = "homepage"
+instead = "instead"
+item_class = "Insert CSS class"
+item_slug = "Insert Link URL"
+now = "now"
+of = "of"
+optional = "optional"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "pro tips: You can creating custom config key and print out your config key value anywhere in your template."
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/tr_TR.ini b/lang/tr_TR.ini
new file mode 100755
index 0000000..b76fd7d
--- /dev/null
+++ b/lang/tr_TR.ini
@@ -0,0 +1,332 @@
+about = "Hakkında"
+add_category = "Kategori ekle"
+add_content = "İçerik ekle"
+add_link = "Bağlantı ekle"
+add_menu = "Menü ekle"
+add_new_page = "Yeni sayfa ekle"
+add_new_post = "Yeni gönderi ekle"
+add_source_link_optional = "Kaynak bağlantısı ekle (isteğe bağlı)"
+add_sub = "Alt ekle"
+address_url = "Adres (URL)"
+admin = "Yönetici"
+admin_panel_style_based_on = "Yönetici paneli stili temel alıyor"
+all_blog_posts = "Tüm blog yazıları"
+all_cache_has_been_deleted = "Tüm önbellek silindi!"
+all_posts_tagged = "Tüm etiketlenmiş gönderiler"
+archive_for = "Arşiv"
+archive_page_for = "Arşiv sayfası"
+archives = "Arşivler"
+are_you_sure_you_want_to_delete_ = "%s silmek istediğinize emin misiniz?"
+at_the_moment_you_are_using_auto_generated_menu = "Şu anda otomatik oluşturulmuş menü kullanıyorsunuz."
+audio_post = "Sesli gönderi"
+audio_post_comment = "Ses içeren bir blog gönderisi oluşturuluyor"
+author = "Yazar"
+author_description = "Bir başka HTMLy kullanıcısı"
+back_to = "Geri dön"
+backup = "Yedekleme"
+blog_description = "Blogunuzu daha iyi anlatan bir paragraf."
+blog_theme = "Blog Teması"
+blog_title = "Blog Başlığı"
+blog_title_placeholder = "HTMLy Blogum"
+blog_posts_displayed_as = "Blog gönderileri şu şekilde görüntülenir"
+breadcrumb_home_text = "Anasayfa kırıntı metni"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "Bu içe aktarımı kullanarak beslemenin size ait olduğunu veya en azından yayınlama yetkinizin olduğunu onaylıyorsunuz."
+css_class_optional = "CSS Sınıfı (isteğe bağlı)"
+cache_expiration = "Önbellek süresi (saat cinsinden)"
+cache_off = "Önbellek kapalı"
+cache_timestamp = "Önbellek zaman damgası"
+cancel = "İptal"
+cannot_read_feed_content = "Besleme içeriği okunamıyor"
+captcha_error = "reCAPTCHA doğru değil"
+categories = "Kategoriler"
+category = "Kategori"
+check_update = "Güncellemeyi kontrol et"
+clear_cache = "Önbelleği temizle"
+comma_separated_values = "Virgülle ayrılmış değerler"
+comment_system = "Yorum sistemi"
+comments = "Yorumlar"
+config = "Ayarlar"
+congrats_you_have_the_latest_version_of_htmly = "Tebrikler! HTMLy'nin en son sürümüne sahipsiniz."
+content = "İçerik"
+contents = "İçerikler"
+copyright_line = "Telif Hakkı Satırı"
+copyright_line_placeholder = "(c) Adınız."
+create_backup = "Yedek oluştur"
+created = "Oluşturuldu"
+custom = "Özel"
+custom_settings = "Özel Ayarlar"
+dashboard = "Panel"
+date = "Tarih"
+date_format = "Tarih Formatı"
+delete = "Sil"
+description = "Açıklama"
+disable = "Devre dışı bırak"
+disabled = "Devre dışı"
+disqus_shortname = "Disqus kısa adı"
+disqus_shortname_placeholder = "htmly"
+draft = "Taslak"
+edit = "Düzenle"
+edit_category = "Kategoriyi düzenle"
+edit_post = "Düzenle"
+edit_profile = "Profili düzenle"
+enable = "Etkinleştir"
+enable_blog_url = "Blog URL'sini etkinleştir"
+enter_image_url = "Görsel URL'sini girin"
+facebook_app_id = "Facebook Uygulama ID'si"
+facebook_page = "Facebook sayfası"
+featured_audio = "Öne çıkan ses"
+featured_image = "Öne çıkan görsel"
+featured_link = "Öne çıkan bağlantı"
+featured_quote = "Öne çıkan alıntı"
+featured_video = "Öne çıkan video"
+feed_url = "Besleme URL'si"
+filename = "Dosya Adı"
+follow = "Takip et"
+for_google_site_verification_meta = "Google site doğrulaması için meta"
+front_page_displays = "Anasayfa gösterimi"
+full_post = "Tam gönderi"
+general = "Genel"
+general_settings = "Genel Ayarlar"
+get_one_here = "Buradan bir tane alın"
+github_pre_release = "Github ön sürüm"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (eski)"
+google_search_console = "Google Search Console"
+home = "Anasayfa"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "Boş bırakılırsa, aşağıdaki içerikten özet çıkarılacaktır."
+if_the_url_is_left_empty_we_will_use_the_page_title = "URL boş bırakılırsa sayfa başlığı kullanılacaktır."
+if_the_url_is_left_empty_we_will_use_the_post_title = "URL boş bırakılırsa gönderi başlığı kullanılacaktır."
+image_post = "Görsel gönderi"
+image_post_comment = "Öne çıkan görsel içeren bir blog gönderisi oluşturuluyor"
+import = "İçe aktar"
+import_feed = "Besleme içe aktarmayı başlat"
+import_rss = "RSS'yi içe aktar"
+import_rss_feed_2.0 = "RSS Feed 2.0 içe aktar"
+insert_image = "Görsel ekle"
+invalid_error = "HATA: Geçersiz kullanıcı adı veya şifre"
+language = "Sistem Dili"
+link_name = "Bağlantı adı"
+link_post = "Bağlantı gönderisi"
+link_post_comment = "Link içerikli bir blog gönderisi oluşturuluyor."
+login = "Giriş yap"
+login_page = "Giriş sayfası"
+logout = "Çıkış yap"
+menu = "Menü"
+menus = "Menü Editörü"
+meta_description = "Meta Açıklaması"
+meta_description_character = "Meta açıklama karakteri"
+metatags = "Meta etiketler"
+metatags_settings = "Meta etiket ayarları"
+mine = "Benim"
+more = "Daha fazla"
+my_draft = "Taslaklarım"
+my_posts = "Gönderilerim"
+name = "Ad"
+newer = "Daha Yeni"
+next = "Sonraki"
+next_post = "Sonraki gönderi"
+no_available_backup = "Bu anda kullanılabilir yedek yok."
+no_draft_found = "Taslak bulunamadı"
+no_posts_found = "Gönderi bulunamadı"
+no_related_post_found = "Benzer gönderi bulunamadı"
+no_scheduled_posts_found = "Planlanmış gönderi bulunamadı!"
+no_search_results = "Arama sonuçları yok"
+nope = "Hayır"
+not = "Değil"
+older = "Daha Eski"
+only = "Sadece"
+operations = "Operasyonlar"
+page = "Sayfa"
+page_generation_time = "Sayfa oluşturma süresi"
+pages = "Sayfalar"
+pass_error = "Şifre alanı zorunludur"
+password = "Şifre"
+performance = "Performans"
+performance_settings = "Performans Ayarları"
+permalink = "Kalıcı Bağlantı"
+popular = "Popüler"
+popular_posts = "Popüler gönderiler"
+popular_posts_widget = "Popüler gönderiler widget'ı"
+popular_posts_widget_at_most = "Popüler gönderiler widget'ı en fazla"
+popular_tags = "Popüler etiketler"
+post_by_author = "Bu yazarın gönderileri"
+posted_in = "Gönderildi"
+posted_on = "Gönderildi"
+posts = "Gönderiler"
+posts_by = "Yazarı"
+posts_draft = "Taslak gönderiler"
+posts_in_archive_page_at_most = "Arşiv sayfasındaki en fazla gönderi"
+posts_in_category_page_at_most = "Kategori sayfasındaki en fazla gönderi"
+posts_in_front_page_show_at_most = "Anasayfada en fazla gösterilecek gönderi"
+posts_in_profile_page_at_most = "Profil sayfasındaki en fazla gönderi"
+posts_in_search_result_at_most = "Arama sonuçlarındaki en fazla gönderi"
+posts_in_tag_page_at_most = "Etiket sayfasındaki en fazla gönderi"
+posts_in_type_page_at_most = "Tür sayfasındaki en fazla gönderi"
+posts_index_settings = "Gönderi dizini ayarları"
+posts_list = "Gönderi listesi"
+posts_tagged = "Etiketlenmiş gönderiler"
+posts_with_type = "Türü olan gönderiler"
+pre_release = "Ön sürüm"
+prev = "Önceki"
+prev_post = "Önceki gönderi"
+preview = "Önizleme"
+profile_for = "Profil"
+proudly_powered_by = "Gururla desteklenir"
+publish = "Yayınla"
+publish_draft = "Taslağı yayınla"
+published = "Yayınlandı"
+quote_post = "Alıntı gönderi"
+quote_post_comment = "Alıntı içeren blog gönderisi oluşturuluyor"
+rss_character = "RSS karakteri"
+rss_feeds_show_the_most_recent = "RSS beslemeleri en yeni gönderileri gösterir"
+rss_settings = "RSS ayarları"
+read_more_text = "Devamını oku metni"
+read_more_text_placeholder = "Devamını oku"
+reading = "Okuma"
+reading_settings = "Okuma Ayarları"
+recaptcha = "reCAPTCHA"
+recent_posts = "Son gönderiler"
+recent_posts_widget_at_most = "Son gönderiler widget'ı en fazla"
+regular_post = "Düzenli gönderi"
+regular_post_comment = "Düzenli gönderi oluşturuluyor"
+related_posts = "İlgili gönderiler"
+related_widget_posts_at_most = "İlgili gönderiler widget'ı en fazla"
+revert_to_draft = "Taslağa dönüştür"
+save = "Kaydet"
+save_config = "Yapılandırmayı kaydet"
+save_edit = "Düzenlemeyi kaydet"
+save_menu = "Menüyü kaydet"
+save_as_draft = "Taslak olarak kaydet"
+save_category = "Kategoriyi kaydet"
+scheduled = "Planlandı"
+scheduled_posts = "Planlanan gönderiler"
+scheduled_tips = "Gelecek tarih veya saatte bir gönderi yayınlandığında, planlanan gönderiler kısmına gider"
+search = "Ara"
+search_for = "Arama:"
+search_results_for = "Arama sonuçları:"
+search_results_not_found = "Arama sonuçları bulunamadı!"
+secret_key = "Gizli Anahtar"
+settings = "Ayarlar"
+sign_in_to_start_your_session = "Oturumunuzu başlatmak için giriş yapın"
+site_key = "Site Anahtarı"
+sitemap = "Site haritası"
+slug = "URL"
+social_media = "Sosyal Medya"
+static_page = "Statik sayfa"
+static_page_comment = "Statik sayfa oluşturuluyor"
+static_pages = "Statik sayfalar"
+summary = "Özet"
+summary_character = "Özet karakteri"
+tag = "Etiket"
+tagcloud_widget_at_most = "Etiket Bulutu en fazla"
+tagline = "Slogan"
+tagline_placeholder = "Veritabanı olmayan PHP Blog Platformu"
+tagline_description = "Bu blogun ne hakkında olduğunu birkaç kelime ile açıklayın."
+tags = "Etiketler"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Bu eski bir koddur. Genellikle yeni oluşturulan analizler gtag.js kullanır."
+this_page_doesnt_exist = "Bu sayfa mevcut değil!"
+time = "Zaman"
+timezone = "Zaman dilimi"
+title = "Başlık"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Disqus veya Facebook yorumlarını kullanmak için Disqus kısa adı veya Facebook Uygulama ID'si sağlamanız gerekir."
+token_error = "CSRF Tokeni doğru değil"
+tools = "Araçlar"
+twitter_account = "Twitter hesabı"
+type_to_search = "Aramak için yazın"
+uncategorized = "Kategorilenmemiş"
+uncategorized_comment = "Bir kategoriye ihtiyaç duymayan veya mevcut herhangi bir kategoriye uymayan konular"
+universal_analytics = "Evrensel Analiz (gtag.js)"
+unknown_feed_format = "Bilinmeyen besleme formatı"
+update = "Güncelle"
+update_available = "Güncelleme mevcut"
+update_draft = "Taslağı güncelle"
+update_post = "Gönderiyi güncelle"
+update_to = "Güncelle"
+upload = "Yükle"
+user = "Kullanıcı"
+user_error = "Kullanıcı alanı zorunludur"
+valid_values_range_from_0_to_1.0._see = "Geçerli değerler 0.0 ile 1.0 arasında olmalıdır. Bakınız"
+video_post = "Video gönderisi"
+video_post_comment = "Video içeren blog gönderisi oluşturuluyor"
+view = "Görüntüleme"
+view_post = "Gönderiyi görüntüle"
+views = "Görüntülemeler"
+widget = "Widget"
+widget_settings = "Widget Ayarları"
+would_you_like_to_try_our = "Bizimle denemek ister misiniz"
+yes_im_in = "Evet, varım"
+yes_not_recommended = "Evet (önerilmez)"
+you_dont_have_permission_to_access_this_page = "Bu sayfaya erişim izniniz yok"
+your_new_config_key = "Yeni Yapılandırma Anahtarınız"
+your_new_value = "Yeni Değeriniz"
+your_backups = "Yedekleriniz"
+your_latest_blog_posts = "Son blog gönderileriniz"
+your_recent_posts = "Son gönderileriniz"
+by = "tarafından"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "İpucu: Yapılandırma anahtarınızı veya değerini aramak için Ctrl
/CMD
+ F
kullanın."
+homepage = "ana sayfa"
+instead = "yerine"
+item_class = "CSS sınıfı ekle"
+item_slug = "Bağlantı URL'sini ekle"
+now = "şimdi"
+of = "nin"
+optional = "isteğe bağlı"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "Pro ipucu: Özel yapılandırma anahtarı oluşturabilir ve şablonunuzun herhangi bir yerinde bu anahtarın değerini yazdırabilirsiniz."
+read_more = "daha fazla oku"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "sizin.anahtarınız"
+summary_behavior = "Özet davranışı"
+default = "Varsayılan"
+check_shortcode = "Kısa kodu kontrol et"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "Özet modunda, içeriği x karaktere kadar kırpmadan önce kısa kodu kontrol edip etmeyeceğini belirleyin."
+manage_users = "Kullanıcıları yönet"
+add_user = "Kullanıcı ekle"
+username = "Kullanıcı adı"
+role = "Rol"
+change_password = "Şifre değiştir"
+config_mfa = "MFA'yı yapılandır"
+mfacode = "MFA Kodu"
+verify_code = "MFA kodunu doğrula"
+verify_password = "Mevcut şifreyi doğrula"
+manualsetupkey = "Kurulum anahtarını manuel olarak da ekleyebilirsiniz"
+mfa_error = "MFA kodu doğru değil"
+disablemfa = "MFA'yı devre dışı bırak"
+enable_auto_save = "Otomatik Kaydet'i Etkinleştir"
+explain_autosave = "Etkinleştirildiğinde, yeni içerik veya taslak her 60 saniyede bir otomatik olarak kaydedilir."
+login_protect_system = "Giriş koruma sistemi"
+cloudflare_info = "Cloudflare'nin Turnstile belgelerini inceleyin:"
+mfa_config = "Çok Faktörlü Kimlik Doğrulama (MFA)"
+set_mfa_globally = "MFA durumunu genel olarak ayarla"
+explain_mfa = "Etkinleştirildiğinde, MFA tüm kullanıcılar için isteğe bağlıdır. Devre dışı bırakıldığında, hiçbir kullanıcı kullanamaz ve giriş sayfasındaki alan gizlenir."
+set_version_publicly = "Sürüm Görünürlüğü"
+explain_version = "Varsayılan olarak, HTMLy'nin sürümü kaynak kodunda açıkça görülür. Bazı yöneticiler bu bilgiyi gizlemeyi tercih edebilir."
+focus_mode = "Odak Modu Değiştir"
+writing = "Yazma"
+writing_settings = "Yazma Ayarları"
+security = "Güvenlik"
+security_settings = "Güvenlik Ayarları"
+msg_error_field_req_username = "Kullanıcı adı alanı zorunludur."
+msg_error_field_req_password = "Şifre alanı zorunludur."
+msg_error_field_req_title = "Başlık alanı zorunludur."
+msg_error_field_req_content = "İçerik alanı zorunludur."
+msg_error_field_req_tag = "Etiket alanı zorunludur."
+msg_error_field_req_image = "Görsel alanı zorunludur."
+msg_error_field_req_video = "Video alanı zorunludur."
+msg_error_field_req_link = "Bağlantı alanı zorunludur."
+msg_error_field_req_quote = "Alıntı alanı zorunludur."
+msg_error_field_req_audio = "Ses alanı zorunludur."
+msg_error_field_req_feedurl = "Besleme URL'sini belirtmeniz gerekiyor."
+rss_feeds_description_select = "RSS Açıklaması"
+rss_description_body = "Gönderi Metni"
+rss_description_meta = "Gönderi Meta Açıklaması"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/uk_UA.ini b/lang/uk_UA.ini
new file mode 100755
index 0000000..91bbac6
--- /dev/null
+++ b/lang/uk_UA.ini
@@ -0,0 +1,332 @@
+about = "Про нас"
+add_category = "Додати категорію"
+add_content = "Додати контент"
+add_link = "Додати посилання"
+add_menu = "Додати меню"
+add_new_page = "Додати нову сторінку"
+add_new_post = "Додати новий запис"
+add_source_link_optional = "Додати джерело (необов'язково)"
+add_sub = "Додати підсторінку"
+address_url = "Адреса (URL)"
+admin = "Адмін"
+admin_panel_style_based_on = "Стиль адмін-панелі на основі"
+all_blog_posts = "Всі записи блогу"
+all_cache_has_been_deleted = "Весь кеш було видалено!"
+all_posts_tagged = "Всі записи з тегом"
+archive_for = "Архів для"
+archive_page_for = "Сторінка архіву для"
+archives = "Архіви"
+are_you_sure_you_want_to_delete_ = "Ви впевнені, що хочете видалити %s?"
+at_the_moment_you_are_using_auto_generated_menu = "Зараз ви використовуєте автоматично згенероване меню."
+audio_post = "Аудіо запис"
+audio_post_comment = "Створення блогу з аудіо"
+author = "Автор"
+author_description = "Ще один користувач HTMLy"
+back_to = "Назад до"
+backup = "Резервне копіювання"
+blog_description = "В одному абзаці розкажіть більше про ваш блог."
+blog_theme = "Тема блогу"
+blog_title = "Назва блогу"
+blog_title_placeholder = "Мій HTMLy блог"
+blog_posts_displayed_as = "Відображення записів блогу як"
+breadcrumb_home_text = "Текст головної крихти"
+by_using_this_importer_you_are_agree_if_the_feed_is_yours_or_at_least_you_have_the_authority_to_publish_it = "Використовуючи цей імпортер, ви погоджуєтесь, що фід ваш або ви маєте право його публікувати."
+css_class_optional = "CSS клас (необов'язково)"
+cache_expiration = "Час життя кешу (в годинах)"
+cache_off = "Кеш вимкнено"
+cache_timestamp = "Часова мітка кешу"
+cancel = "Скасувати"
+cannot_read_feed_content = "Неможливо прочитати вміст фіду"
+captcha_error = "Помилка reCAPTCHA"
+categories = "Категорії"
+category = "Категорія"
+check_update = "Перевірити оновлення"
+clear_cache = "Очистити кеш"
+comma_separated_values = "Значення через кому"
+comment_system = "Система коментування"
+comments = "Коментарі"
+config = "Конфігурація"
+congrats_you_have_the_latest_version_of_htmly = "Вітаємо! У вас остання версія HTMLy."
+content = "Контент"
+contents = "Контенти"
+copyright_line = "Рядок копірайту"
+copyright_line_placeholder = "(c) Ваше ім'я."
+create_backup = "Створити резервну копію"
+created = "Створено"
+custom = "Користувацький"
+custom_settings = "Користувацькі налаштування"
+dashboard = "Панель управління"
+date = "Дата"
+date_format = "Формат дати"
+delete = "Видалити"
+description = "Опис"
+disable = "Вимкнути"
+disabled = "Вимкнено"
+disqus_shortname = "Коротка назва Disqus"
+disqus_shortname_placeholder = "htmly"
+draft = "Чернетка"
+edit = "Редагувати"
+edit_category = "Редагувати категорію"
+edit_post = "Редагувати"
+edit_profile = "Редагувати профіль"
+enable = "Увімкнути"
+enable_blog_url = "Увімкнути /blog URL"
+enter_image_url = "Введіть URL зображення"
+facebook_app_id = "ID додатка Facebook"
+facebook_page = "Сторінка Facebook"
+featured_audio = "Рекомендоване аудіо"
+featured_image = "Рекомендоване зображення"
+featured_link = "Рекомендоване посилання"
+featured_quote = "Рекомендована цитата"
+featured_video = "Рекомендоване відео"
+feed_url = "URL фіду"
+filename = "Назва файлу"
+follow = "Слідкувати"
+for_google_site_verification_meta = "Для google-site-verification мета"
+front_page_displays = "Головна сторінка відображає"
+full_post = "Повний запис"
+general = "Загальні"
+general_settings = "Загальні налаштування"
+get_one_here = "Отримайте один тут"
+github_pre_release = "Попередня версія Github"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (спадщина)"
+google_search_console = "Google Search Console"
+home = "Головна"
+if_leave_empty_we_will_excerpt_it_from_the_content_below = "Якщо залишити порожнім, ми витягнемо це з контенту нижче"
+if_the_url_leave_empty_we_will_use_the_page_title = "Якщо URL залишити порожнім, ми використаємо заголовок сторінки"
+if_the_url_leave_empty_we_will_use_the_post_title = "Якщо URL залишити порожнім, ми використаємо заголовок запису"
+image_post = "Зображення запису"
+image_post_comment = "Створення блогу з зображенням"
+import = "Імпорт"
+import_feed = "Почати імпорт фіду"
+import_rss = "Імпорт RSS"
+import_rss_feed_2.0 = "Імпорт RSS фіду 2.0"
+insert_image = "Вставити зображення"
+invalid_error = "ПОМИЛКА: Невірне ім'я користувача або пароль"
+language = "Мова системи"
+link_name = "Назва посилання"
+link_post = "Посилання на запис"
+link_post_comment = "Створення блогу з посиланням"
+login = "Увійти"
+login_page = "Сторінка входу"
+logout = "Вийти"
+menu = "Меню"
+menus = "Редактор меню"
+meta_description = "Мета опис"
+meta_description_character = "Символи мета опису"
+metatags = "Мета-теги"
+metatags_settings = "Налаштування мета-тегів"
+mine = "Мої"
+more = "Більше"
+my_draft = "Моя чернетка"
+my_posts = "Мої записи"
+name = "Ім'я"
+newer = "Новіші"
+next = "Наступні"
+next_post = "Наступний запис"
+no_available_backup = "Немає доступної резервної копії на цей час."
+no_draft_found = "Чернеток не знайдено"
+no_posts_found = "Записів не знайдено"
+no_related_post_found = "Пов'язаних записів не знайдено"
+no_scheduled_posts_found = "Запланованих записів не знайдено!"
+no_search_results = "Результатів пошуку не знайдено"
+nope = "Ні"
+not = "Ні"
+older = "Старіші"
+only = "Тільки"
+operations = "Операції"
+page = "Сторінка"
+page_generation_time = "Час генерації сторінки"
+pages = "Сторінки"
+pass_error = "Поле пароля є обов'язковим"
+password = "Пароль"
+performance = "Продуктивність"
+performance_settings = "Налаштування продуктивності"
+permalink = "Постійне посилання"
+popular = "Популярні"
+popular_posts = "Популярні записи"
+popular_posts_widget = "Віджет популярних записів"
+popular_posts_widget_at_most = "Віджет популярних записів, не більше ніж"
+popular_tags = "Популярні теги"
+post_by_author = "Записи цього автора"
+posted_in = "Опубліковано в"
+posted_on = "Опубліковано"
+posts = "Записи"
+posts_by = "Запис від"
+posts_draft = "Чернетки записів"
+posts_in_archive_page_at_most = "Записів на сторінці архіву, не більше ніж"
+posts_in_category_page_at_most = "Записів на сторінці категорії, не більше ніж"
+posts_in_front_page_show_at_most = "Записів на головній сторінці, не більше ніж"
+posts_in_profile_page_at_most = "Записів на сторінці профілю, не більше ніж"
+posts_in_search_result_at_most = "Записів у результатах пошуку, не більше ніж"
+posts_in_tag_page_at_most = "Записів на сторінці тегу, не більше ніж"
+posts_in_type_page_at_most = "Записів на сторінці типу, не більше ніж"
+posts_index_settings = "Налаштування індексації записів"
+posts_list = "Список записів"
+posts_tagged = "Записи з тегом"
+posts_with_type = "Записи з типом"
+pre_release = "Попередній випуск"
+prev = "Попередні"
+prev_post = "Попередній запис"
+preview = "Попередній перегляд"
+profile_for = "Профіль для"
+proudly_powered_by = "Працює на"
+publish = "Опублікувати"
+publish_draft = "Опублікувати чернетку"
+published = "Опубліковано"
+quote_post = "Цитата запису"
+quote_post_comment = "Створення блогу з цитатою"
+rss_character = "Символи RSS"
+rss_feeds_show_the_most_recent = "RSS фіди показують найновіше"
+rss_settings = "Налаштування RSS"
+read_more_text = "Текст 'Читати більше'"
+read_more_text_placeholder = "Читати більше"
+reading = "Читання"
+reading_settings = "Налаштування читання"
+recaptcha = "reCAPTCHA"
+recent_posts = "Останні записи"
+recent_posts_widget_at_most = "Віджет останніх записів, не більше ніж"
+regular_post = "Звичайний запис"
+regular_post_comment = "Створення звичайного запису блогу"
+related_posts = "Пов'язані записи"
+related_widget_posts_at_most = "Віджет пов'язаних записів, не більше ніж"
+revert_to_draft = "Повернути до чернетки"
+save = "Зберегти"
+save_config = "Зберегти конфігурацію"
+save_edit = "Зберегти редагування"
+save_menu = "Зберегти меню"
+save_as_draft = "Зберегти як чернетку"
+save_category = "Зберегти категорію"
+scheduled = "Заплановано"
+scheduled_posts = "Заплановані записи"
+scheduled_tips = "Публікація запису з майбутньою датою або часом, він буде відправлений до запланованих записів"
+search = "Пошук"
+search_for = "Шукати"
+search_results_for = "Результати пошуку для"
+search_results_not_found = "Результатів пошуку не знайдено!"
+secret_key = "Секретний ключ"
+settings = "Налаштування"
+sign_in_to_start_your_session = "Увійдіть, щоб розпочати сеанс"
+site_key = "Ключ сайту"
+sitemap = "Карта сайту"
+slug = "Slug"
+social_media = "Соціальні мережі"
+static_page = "Статична сторінка"
+static_page_comment = "Створення статичної сторінки"
+static_pages = "Статичні сторінки"
+summary = "Резюме"
+summary_character = "Символи резюме"
+tag = "Тег"
+tagcloud_widget_at_most = "Хмара тегів, не більше ніж"
+tagline = "Слоган"
+tagline_placeholder = "Без бази даних PHP платформа для блогів"
+tagline_description = "У кількох словах поясніть, про що цей блог."
+tags = "Теги"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "Це спадковий код. Зазвичай нові аналітики створюються за допомогою gtag.js"
+this_page_doesnt_exist = "Ця сторінка не існує!"
+time = "Час"
+timezone = "Часовий пояс"
+title = "Заголовок"
+to_using_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "Для використання коментарів Disqus або Facebook ви повинні надати коротке ім'я Disqus або ID додатка Facebook."
+token_error = "Невірний CSRF токен"
+tools = "Інструменти"
+twitter_account = "Акаунт у Twitter"
+type_to_search = "Введіть для пошуку"
+uncategorized = "Без категорії"
+uncategorized_comment = "Тематики, які не потребують категорії або не підходять до жодної з існуючих категорій"
+universal_analytics = "Універсальна аналітика (gtag.js)"
+unknown_feed_format = "Невідомий формат фіду"
+update = "Оновити"
+update_available = "Доступне оновлення"
+update_draft = "Оновити чернетку"
+update_post = "Оновити запис"
+update_to = "Оновити до"
+upload = "Завантажити"
+user = "Користувач"
+user_error = "Поле користувача є обов'язковим"
+valid_values_range_from_0_to_1.0._see = "Дійсні значення в діапазоні від 0.0 до 1.0. Див."
+video_post = "Відео запис"
+video_post_comment = "Створення блогу з відео"
+view = "Перегляд"
+view_post = "Перегляд"
+views = "Перегляди"
+widget = "Віджет"
+widget_settings = "Налаштування віджетів"
+would_you_like_to_try_our = "Бажаєте спробувати наш "
+yes_im_in = "Так, я згоден"
+yes_not_recommended = "Так (не рекомендується)"
+you_dont_have_permission_to_access_this_page = "У вас немає дозволу на доступ до цієї сторінки"
+your_new_config_key = "Ваш новий конфігураційний ключ"
+your_new_value = "Ваше нове значення"
+your_backups = "Ваші резервні копії"
+your_latest_blog_posts = "Ваші останні записи блогу"
+your_recent_posts = "Ваші останні записи"
+by = "від"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "підказка: Використовуйте Ctrl
/CMD
+ F
для пошуку вашого конфігураційного ключа або значення."
+homepage = "Головна сторінка"
+instead = "замість"
+item_class = "Вставити CSS клас"
+item_slug = "Вставити URL посилання"
+now = "зараз"
+of = "з"
+optional = "необов'язково"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_creating_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "професійна підказка: Ви можете створити власні конфігураційні ключі та виводити їх значення будь-де у вашому шаблоні."
+read_more = "читати далі"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "ваш ключ"
+summary_behavior = "Поведінка резюме"
+default = "За замовчуванням"
+check_shortcode = "Перевірити шорткод"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "У режимі резюме, чи перевіряти спочатку шорткод перед обрізанням контенту до x символів"
+manage_users = "Керування користувачами"
+add_user = "Додати користувача"
+username = "Ім'я користувача"
+role = "Роль"
+change_password = "Змінити пароль"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/zh_CN.ini b/lang/zh_CN.ini
new file mode 100755
index 0000000..2dcd1c8
--- /dev/null
+++ b/lang/zh_CN.ini
@@ -0,0 +1,332 @@
+about = "关于"
+add_category = "添加分类"
+add_content = "添加内容"
+add_link = "添加链接"
+add_menu = "添加菜单"
+add_new_page = "添加新页面"
+add_new_post = "添加新文章"
+add_source_link_optional = "添加源链接(可选)"
+add_sub = "添加子页面"
+address_url = "地址(URL)"
+admin = "管理员"
+admin_panel_style_based_on = "管理面板风格基于"
+all_blog_posts = "所有博客文章"
+all_cache_has_been_deleted = "所有缓存已删除!"
+all_posts_tagged = "所有带指定标签的文章:"
+archive_for = "归档:"
+archive_page_for = "归档:"
+archives = "存档"
+are_you_sure_you_want_to_delete_ = "你确定要删除%s?"
+at_the_moment_you_are_using_auto_generated_menu = "你正在使用自动创建的菜单"
+audio_post = "音频文章"
+audio_post_comment = "创建有特色音频的文章"
+author = "作者"
+author_description = "Just another HTMLy user"
+back_to = "回到"
+backup = "备份"
+blog_description = "用一篇文章告诉我们更多关于你博客的信息"
+blog_theme = "博客主题"
+blog_title = "博客标题"
+blog_title_placeholder = "My HTMLy Blog"
+blog_posts_displayed_as = "文章显示为"
+breadcrumb_home_text = "“主页”链接文本"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "使用这个导入器即代表你同意要导入的Feed是你的,或者至少你有权力发布它"
+css_class_optional = "CSS类(可选)"
+cache_expiration = "缓存过期时间(小时)"
+cache_off = "关闭缓存"
+cache_timestamp = "缓存时间戳"
+cancel = "取消"
+cannot_read_feed_content = "Cannot read feed content"
+captcha_error = "reCaptcha不正确"
+categories = "分类"
+category = "分类"
+check_update = "检查更新"
+clear_cache = "清除缓存"
+comma_separated_values = "用逗号分隔值"
+comment_system = "评论系统"
+comments = "评论"
+config = "配置"
+congrats_you_have_the_latest_version_of_htmly = "恭喜!你正在使用最新版HTMLy"
+content = "内容"
+contents = "内容"
+copyright_line = "版权信息"
+copyright_line_placeholder = "(c) Your name."
+create_backup = "创建备份"
+created = "已创建"
+custom = "自定义"
+custom_settings = "自定义设置"
+dashboard = "仪表板"
+date = "日期"
+date_format = "日期格式"
+delete = "删除"
+description = "描述"
+disable = "禁用"
+disabled = "已禁用"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "草稿"
+edit = "编辑"
+edit_category = "编辑分类"
+edit_post = "编辑"
+edit_profile = "编辑个人信息"
+enable = "启用"
+enable_blog_url = "启用 blog URL"
+enter_image_url = "输入图片URL"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook页面"
+featured_audio = "特色音频"
+featured_image = "特色图片"
+featured_link = "特色链接"
+featured_quote = "特色引用"
+featured_video = "特色视频"
+feed_url = "Feed URL"
+filename = "文件名"
+follow = "跟随"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "主页显示"
+full_post = "全文"
+general = "通用"
+general_settings = "通用设置"
+get_one_here = "获取自"
+github_pre_release = "Github预发布版本"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (传统)"
+google_search_console = "Google Search Console"
+home = "主页"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "如果留空,从下面的文章内容中摘录"
+if_the_url_is_left_empty_we_will_use_the_page_title = "如果留空,使用页面标题作为URL"
+if_the_url_is_left_empty_we_will_use_the_post_title = "如果留空,使用文章标题作为URL"
+image_post = "图片文章"
+image_post_comment = "创建有特色图片的文章"
+import = "导入"
+import_feed = "开始导入Feed"
+import_rss = "导入RSS"
+import_rss_feed_2.0 = "导入RSS Feed 2.0"
+insert_image = "插入图片"
+invalid_error = "用户名或密码错误"
+language = "系统语言"
+link_name = "链接名称"
+link_post = "链接文章"
+link_post_comment = "创建有特色链接的文章"
+login = "登录"
+login_page = "登录页面"
+logout = "登出"
+menu = "菜单"
+menus = "菜单编辑器"
+meta_description = "元数据描述"
+meta_description_character = "元描述字数"
+metatags = "Metatags"
+metatags_settings = "Metatag设置"
+mine = "我的"
+more = "更多"
+my_draft = "我的草稿"
+my_posts = "我的文章"
+name = "名称"
+newer = "较新"
+next = "下一个"
+next_post = "下一个文章"
+no_available_backup = "现在没有可用备份"
+no_draft_found = "没有找到草稿"
+no_posts_found = "没有找到文章"
+no_related_post_found = "没有找到相关文章"
+no_scheduled_posts_found = "没有计划发布的文章!"
+no_search_results = "没有搜索结果"
+nope = "否"
+not = "否"
+older = "较旧"
+only = "只有"
+operations = "操作"
+page = "页面"
+page_generation_time = "页面创建时间"
+pages = "页面"
+pass_error = "密码输入框没有内容"
+password = "密码"
+performance = "性能"
+performance_settings = "性能设置"
+permalink = "外链位置"
+popular = "热门"
+popular_posts = "热门文章"
+popular_posts_widget = "热门文章组件"
+popular_posts_widget_at_most = "“热门”组件最多文章数"
+popular_tags = "热门标签"
+post_by_author = "这个作者的文章"
+posted_in = "发布于"
+posted_on = "发布于"
+posts = "文章"
+posts_by = "文章来自"
+posts_draft = "文章草稿"
+posts_in_archive_page_at_most = "归档页最多文章数"
+posts_in_category_page_at_most = "分类页最多文章数"
+posts_in_front_page_show_at_most = "主页最多文章数"
+posts_in_profile_page_at_most = "个人资料页最多文章数"
+posts_in_search_result_at_most = "搜索结果页最多文章数"
+posts_in_tag_page_at_most = "标签页最多文章数"
+posts_in_type_page_at_most = "类型页最多文章数"
+posts_index_settings = "文章索引设置"
+posts_list = "文章列表"
+posts_tagged = "带指定标签的文章:"
+posts_with_type = "指定类型的文章:"
+pre_release = "接收预发布版本"
+prev = "旧"
+prev_post = "上一个文章"
+preview = "预览"
+profile_for = "个人资料:"
+proudly_powered_by = "Proudly powered by"
+publish = "发布"
+publish_draft = "发布草稿"
+published = "发布"
+quote_post = "引用文章"
+quote_post_comment = "创建有特色引用的文章"
+rss_character = "RSS字数"
+rss_feeds_show_the_most_recent = "RSS feed显示最近文章数"
+rss_settings = "RSS设置"
+read_more_text = "“查看全文”文本"
+read_more_text_placeholder = "阅读全文"
+reading = "阅读"
+reading_settings = "阅读设置"
+recaptcha = "reCAPTCHA"
+recent_posts = "最近文章"
+recent_posts_widget_at_most = "“最近”组件最多文章数"
+regular_post = "普通文章"
+regular_post_comment = "创建普通文章"
+related_posts = "相关文章"
+related_widget_posts_at_most = "“相关”组件最多文章数"
+revert_to_draft = "转换成草稿"
+save = "保存"
+save_config = "保存配置"
+save_edit = "保存编辑"
+save_menu = "保存菜单"
+save_as_draft = "作为草稿保存"
+save_category = "保存分类"
+scheduled = "计划发布"
+scheduled_posts = "计划发布的文章"
+scheduled_tips = "设定一个未来的时间和日期以启动计划发布"
+search = "搜索"
+search_for = "搜索"
+search_results_for = "搜索结果:"
+search_results_not_found = "没有找到搜索结果"
+secret_key = "Secret Key"
+settings = "设置"
+sign_in_to_start_your_session = "登录以开始你的会话"
+site_key = "Site Key"
+sitemap = "站点地图"
+slug = "外链"
+social_media = "社交媒体"
+static_page = "静态页面"
+static_page_comment = "创建静态页面"
+static_pages = "静态页面"
+summary = "摘要"
+summary_character = "摘要字数"
+tag = "标签"
+tagcloud_widget_at_most = "TagCloud最多标签数"
+tagline = "标语"
+tagline_placeholder = "Databaseless PHP Blogging Platform"
+tagline_description = "用几个字简述这个博客是关于什么的"
+tags = "标签"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "通常情况下新创建的统计使用gtag.js"
+this_page_doesnt_exist = "这个页面不存在!"
+time = "时间"
+timezone = "时区"
+title = "标题"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "要使用Disqus或Facebook评论,你需要提供你的Disqus shortname或你的Facebook App ID"
+token_error = "CSRF Token不正确"
+tools = "工具"
+twitter_account = "Twitter账号"
+type_to_search = "输入搜索内容"
+uncategorized = "未分类"
+uncategorized_comment = "不需要分类的或者不适合任何分类的文章"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "Unknown feed format"
+update = "更新"
+update_available = "更新可用"
+update_draft = "更新草稿"
+update_post = "更新文章"
+update_to = "更新到"
+upload = "上传"
+user = "用户"
+user_error = "用户输入框没有内容"
+valid_values_range_from_0_to_1.0._see = "有效范围从0.0到1.0。参考"
+video_post = "视频文章"
+video_post_comment = "创建有特色视频的文章"
+view = "查看"
+view_post = "查看"
+views = "查看"
+widget = "组件"
+widget_settings = "组件设置"
+would_you_like_to_try_our = "你想不想试试我们的"
+yes_im_in = "是"
+yes_not_recommended = "是(不推荐)"
+you_dont_have_permission_to_access_this_page = "你没有访问此页面的权限"
+your_new_config_key = "新配置项"
+your_new_value = "值"
+your_backups = "你的备份"
+your_latest_blog_posts = "最新的文章"
+your_recent_posts = "你的最近文章"
+by = "来自"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "提示:用Ctrl
/CMD
+ F
搜索配置项或者值"
+homepage = "主页"
+instead = "instead"
+item_class = "CSS类"
+item_slug = "链接URL"
+now = "现在"
+of = "于"
+optional = "选填"
+post_your_post_slug = "/post/文章外链"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "专业提示:你可以在模板的任何地方创建自定义的配置项并打印出对应的值"
+read_more = "阅读全文"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/年/月/文章外链"
+your_key = "your.key"
+summary_behavior = "Summary behavior"
+default = "Default"
+check_shortcode = "Check shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "In summary mode, whether check the shortcode first or not before trim the content to x char"
+manage_users = "Manage users"
+add_user = "Add user"
+username = "Username"
+role = "Role"
+change_password = "Change password"
+config_mfa = "Configure MFA"
+mfacode = "MFA Code"
+verify_code = "Verify the MFA code"
+verify_password = "Verify current password"
+manualsetupkey = "You can also manually add the setup key"
+mfa_error = "MFA code is not correct"
+disablemfa = "Disable MFA"
+enable_auto_save = "Enable Auto Save"
+explain_autosave = "When enabled, new content or draft will be automatically saved every 60 seconds."
+login_protect_system = "Login protection system"
+cloudflare_info = "Review Cloudflare's Turnstile documentation: "
+mfa_config = "Multi Factor Authentication (MFA)"
+set_mfa_globally = "Set the status of MFA"
+explain_mfa = "When enabled, MFA is optional for all users. When disabled, no users can use it and it hides the field on the login page."
+set_version_publicly = "Version Visibility"
+explain_version = "By default the version of HTMLy is visible publicly in the source code, some admins may prefer to hide this."
+focus_mode = "Toggle Focus"
+writing = "Writing"
+writing_settings = "Writing Settings"
+security = "Security"
+security_settings = "Security Settings"
+msg_error_field_req_username = "Username field is required."
+msg_error_field_req_password = "Password field is required."
+msg_error_field_req_title = "Title field is required."
+msg_error_field_req_content = "Content field is required."
+msg_error_field_req_tag = "Tag field is required."
+msg_error_field_req_image = "Image field is required."
+msg_error_field_req_video = "Video field is required."
+msg_error_field_req_link = "Link field is required."
+msg_error_field_req_quote = "Quote field is required."
+msg_error_field_req_audio = "Audio field is required."
+msg_error_field_req_feedurl = "You need to specify the feed url."
+rss_feeds_description_select = "RSS Description"
+rss_description_body = "Post Body"
+rss_description_meta = "Post Meta Description"
+admin_theme = "Admin theme"
+admin_theme_light = "Light"
+admin_theme_dark = "Dark"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/lang/zh_TW.ini b/lang/zh_TW.ini
new file mode 100755
index 0000000..12ab938
--- /dev/null
+++ b/lang/zh_TW.ini
@@ -0,0 +1,332 @@
+about = "關於"
+add_category = "新增分類"
+add_content = "新增內容"
+add_link = "新增連結"
+add_menu = "新增選單"
+add_new_page = "新增一頁新網頁"
+add_new_post = "新增一篇新文章"
+add_source_link_optional = "加入來源連結 (非必填)"
+add_sub = "新增子項"
+address_url = "位址 (URL)"
+admin = "管理"
+admin_panel_style_based_on = "管理面板風格基於"
+all_blog_posts = "所有部落格文章"
+all_cache_has_been_deleted = "所有暫存頁面資料已經清除 !"
+all_posts_tagged = "所有已標記的文章"
+archive_for = "文章庫的"
+archive_page_for = "文章庫頁面"
+archives = "文章庫"
+are_you_sure_you_want_to_delete_ = "你確定你想要刪除 %s 嗎?"
+at_the_moment_you_are_using_auto_generated_menu = "目前您正在使用自動產生的選單."
+audio_post = "音樂文章"
+audio_post_comment = "建立以音樂為主的文章"
+author = "作者"
+author_description = "其他文章作者"
+back_to = "返回"
+backup = "備份資料"
+blog_description = "請用短短幾句話,簡單介紹更多關於您部落格的主題內容"
+blog_theme = "部落格樣式"
+blog_title = "部落格標題"
+blog_title_placeholder = "我的部落格"
+blog_posts_displayed_as = "文章用何種方式顯示"
+breadcrumb_home_text = "導覽列的首頁顯示文字"
+by_using_this_importer_you_confirm_that_the_feed_is_yours_or_that_at_least_you_have_the_authority_to_publish_it = "By using this importer you are agree if the feed is yours or at least you have the authority to publish it."
+css_class_optional = "CSS Class (非必填)"
+cache_expiration = "快取暫存失效時間 (小時)"
+cache_off = "關閉快取暫存"
+cache_timestamp = "快取暫存時間戳"
+cancel = "取消"
+cannot_read_feed_content = "無法讀取提供的內容"
+captcha_error = "reCaptcha 不正確"
+categories = "文章分類"
+category = "文章分類"
+check_update = "檢查更新"
+clear_cache = "清除快取"
+comma_separated_values = "以逗號來分隔不同標籤值"
+comment_system = "留言系統"
+comments = "留言"
+config = "系統設定"
+congrats_you_have_the_latest_version_of_htmly = "恭喜! 您擁有最新版本的 HTMLy."
+content = "內容"
+contents = "內容"
+copyright_line = "著作權宣導"
+copyright_line_placeholder = "©你的名字."
+create_backup = "建立備份"
+created = "已建立"
+custom = "自訂"
+custom_settings = "自訂設定"
+dashboard = "儀表板"
+date = "日期"
+date_format = "日期格式"
+delete = "刪除"
+description = "簡介"
+disable = "停用"
+disabled = "已停用"
+disqus_shortname = "Disqus shortname"
+disqus_shortname_placeholder = "htmly"
+draft = "草稿"
+edit = "編輯"
+edit_category = "修改分類"
+edit_post = "修改"
+edit_profile = "編輯個人資料"
+enable = "啟用"
+enable_blog_url = "啟用 blog 的前置網址"
+enter_image_url = "輸入圖片URL位址"
+facebook_app_id = "Facebook App ID"
+facebook_page = "Facebook page"
+featured_audio = "Featured Audio"
+featured_image = "Featured Image"
+featured_link = "Featured Link"
+featured_quote = "Featured Quote"
+featured_video = "Featured Video"
+feed_url = "Feed URL"
+filename = "檔名"
+follow = "追蹤"
+for_google_site_verification_meta = "For google-site-verification meta"
+front_page_displays = "前端頁面的顯示"
+full_post = "全文"
+general = "基本"
+general_settings = "基本設定"
+get_one_here = "Get one here"
+github_pre_release = "Github pre-release"
+google_analytics = "Google Analytics"
+google_analytics_legacy = "Google Analytics (legacy)"
+google_search_console = "Google Search Console"
+home = "首頁"
+if_left_empty_we_will_excerpt_it_from_the_content_below = "如果留空我們將從下面的內容中摘錄簡介"
+if_the_url_is_left_empty_we_will_use_the_page_title = "如果 url 留空,我們將使用頁面標題"
+if_the_url_is_left_empty_we_will_use_the_post_title = "如果 url 留空,我們將使用文章標題"
+image_post = "影像文章"
+image_post_comment = "建立以圖片為主的文章"
+import = "匯入"
+import_feed = "開始匯入 Feed"
+import_rss = "匯入 RSS"
+import_rss_feed_2.0 = "匯入 RSS Feed 2.0"
+insert_image = "插入圖片"
+invalid_error = "錯誤: 不正確的帳號或密碼"
+language = "系統語言"
+link_name = "連結名稱"
+link_post = "連結文章"
+link_post_comment = "建立以連結為主的文章"
+login = "登入"
+login_page = "登入頁面"
+logout = "登出"
+menu = "選單"
+menus = "編輯選單"
+meta_description = "Meta 備註"
+meta_description_character = "文章簡介字數"
+metatags = "標籤"
+metatags_settings = "標籤設定"
+mine = "Mine"
+more = "更多"
+my_draft = "我的草稿"
+my_posts = "我的文章"
+name = "名稱"
+newer = "較新的"
+next = "下一個"
+next_post = "下一篇文章"
+no_available_backup = "目前沒有可用的備份."
+no_draft_found = "找不到草稿"
+no_posts_found = "找不到文章"
+no_related_post_found = "找不到相關文章"
+no_scheduled_posts_found = "找不到預約排定的文章!"
+no_search_results = "沒有搜尋到結果"
+nope = "沒有"
+not = "否"
+older = "較舊的"
+only = "只有"
+operations = "操作"
+page = "頁"
+page_generation_time = "頁面產生時間"
+pages = "靜態網頁"
+pass_error = "密碼欄位為必填"
+password = "密碼"
+performance = "效能"
+performance_settings = "效能設定"
+permalink = "文章網址格式"
+popular = "熱門"
+popular_posts = "熱門文章"
+popular_posts_widget = "熱門文章工具"
+popular_posts_widget_at_most = "熱門文章工具篇數"
+popular_tags = "熱門標籤"
+post_by_author = "發表自"
+posted_in = "發文在"
+posted_on = "發文於"
+posts = "文章"
+posts_by = "發表自 "
+posts_draft = "文章草稿"
+posts_in_archive_page_at_most = "更多封存頁中的文章"
+posts_in_category_page_at_most = "更多分類頁中的文章"
+posts_in_front_page_show_at_most = "更多前端顯示頁中的文章"
+posts_in_profile_page_at_most = "更多個人頁中的文章"
+posts_in_search_result_at_most = "更多搜尋結果頁中的文章"
+posts_in_tag_page_at_most = "更多標籤頁中的文章"
+posts_in_type_page_at_most = "更多類別頁中的文章"
+posts_index_settings = "文章首頁設定"
+posts_list = "文章列表"
+posts_tagged = "Posts tagged"
+posts_with_type = "Posts with type"
+pre_release = "Pre-release"
+prev = "舊"
+prev_post = "前一篇文章"
+preview = "預覽"
+profile_for = "Profile for"
+proudly_powered_by = "Proudly powered by"
+publish = "發布"
+publish_draft = "發布草稿"
+published = "已發表"
+quote_post = "語錄文章"
+quote_post_comment = "建立以語錄為主的文章"
+rss_character = "RSS character"
+rss_feeds_show_the_most_recent = "RSS feeds show the most recent"
+rss_settings = "RSS 設定"
+read_more_text = "閱讀更多文字"
+read_more_text_placeholder = "閱讀更多"
+reading = "顯示"
+reading_settings = "顯示設定"
+recaptcha = "reCAPTCHA"
+recent_posts = "最新文章"
+recent_posts_widget_at_most = "更多小工具中的文章"
+regular_post = "一般文章"
+regular_post_comment = "建立一般部落格文章"
+related_posts = "相關文章"
+related_widget_posts_at_most = "更多相關工具中的文章"
+revert_to_draft = "轉換為草稿"
+save = "儲存"
+save_config = "儲存設定"
+save_edit = "儲存編輯"
+save_menu = "儲存選單"
+save_as_draft = "儲存為草稿"
+save_category = "儲存分類"
+scheduled = "預約排定"
+scheduled_posts = "預約排定的文章"
+scheduled_tips = "發表帶有未來日期或時間的文章,將可提前預約排定文章的發表"
+search = "搜尋"
+search_for = "搜尋"
+search_results_for = "搜尋一下"
+search_results_not_found = "搜尋不到任何結果"
+secret_key = "Secret Key"
+settings = "系統設定"
+sign_in_to_start_your_session = "Sign in to start your session"
+site_key = "Site Key"
+sitemap = "Sitemap"
+slug = "Slug"
+social_media = "Social Media"
+static_page = "靜態網頁"
+static_page_comment = "建立靜態網頁"
+static_pages = "靜態網頁"
+summary = "摘要"
+summary_character = "摘要字數"
+tag = "標籤"
+tagcloud_widget_at_most = "標籤雲數量"
+tagline = "副標"
+tagline_placeholder = "這裡都是我的祕密"
+tagline_description = "請用一句話快速表達這個部落格的主題"
+tags = "標籤"
+this_is_legacy_code_usually_new_created_analytics_using_gtag_js = "This is legacy code. Usually new created analytics using gtag.js"
+this_page_doesnt_exist = "該頁面不存在 !"
+time = "時間"
+timezone = "時區"
+title = "標題"
+to_use_disqus_or_facebook_comment_you_need_to_provide_disqus_shortname_or_facebook_app_id = "To using Disqus or Facebook comment you need to provide Disqus shortname or Facebook App ID."
+token_error = "CSRF Token not correct"
+tools = "工具"
+twitter_account = "Twitter(X.com)帳號"
+type_to_search = "輸入欲搜尋的文字"
+uncategorized = "無分類"
+uncategorized_comment = "不需要分類或不適合目前所有分類的文章主題"
+universal_analytics = "Universal Analytics (gtag.js)"
+unknown_feed_format = "未知的格式"
+update = "更新"
+update_available = "可用的更新"
+update_draft = "更新草稿"
+update_post = "更新文章"
+update_to = "更新到"
+upload = "上傳"
+user = "使用者"
+user_error = "使用者欄位為必填"
+valid_values_range_from_0_to_1.0._see = "驗證數值範圍自 0.0 到 1.0"
+video_post = "影片文章"
+video_post_comment = "建立以影片為主的文章"
+view = "檢視"
+view_post = "觀看"
+views = "看過"
+widget = "工具"
+widget_settings = "工具設定"
+would_you_like_to_try_our = "您想嘗試我們的 "
+yes_im_in = "是的 我有"
+yes_not_recommended = "是 (不建議)"
+you_dont_have_permission_to_access_this_page = "您無權限存取此頁面"
+your_new_config_key = "Your New Config Key"
+your_new_value = "Your New Value"
+your_backups = "你的備份"
+your_latest_blog_posts = "您最新的部落格文章"
+your_recent_posts = "您最近的文章"
+by = "由"
+hint_use_ctrlcmdf_to_search_for_your_config_key_or_value = "提示: 使用 Ctrl
/CMD
+ F
可以快速搜尋你設定的按鍵值。"
+homepage = "首頁"
+instead = "取代"
+item_class = "插入CSS class"
+item_slug = "插入URL連結"
+now = "現在"
+of = "of"
+optional = "選填"
+post_your_post_slug = "/post/your-post-slug"
+pro_tips_you_can_create_custom_config_key_and_print_out_your_config_key_value_anywhere_in_your_template = "專業提示: 您可以建立自訂按鍵並在樣版中的任何位置,顯示您設定的按鍵鍵值。"
+read_more = "讀取更多"
+widget_key_placeholder = "12345abcde"
+year_month_your_post_slug = "/year/month/your-post-slug"
+your_key = "your.key"
+summary_behavior = "摘要特性"
+default = "預設"
+check_shortcode = "檢查 shortcode"
+in_summary_mode_whether_check_the_shortcode_first_or_not_before_trim_the_content_to_x_char = "在摘要模式下,將內容縮減字元數之前,是不要先檢查 shortcode"
+manage_users = "管理使用者"
+add_user = "新增使用者"
+username = "使用者名稱"
+role = "規則"
+change_password = "更改密碼"
+config_mfa = "設定 MFA"
+mfacode = "MFA Code"
+verify_code = "驗證 MFA code"
+verify_password = "驗證目前密碼"
+manualsetupkey = "您也可以手動新增設定密鑰"
+mfa_error = "MFA code 不正確"
+disablemfa = "停用 MFA"
+enable_auto_save = "啟用自動儲存"
+explain_autosave = "當啟用時,新的內容或刪減將會自動在每60秒進行背景儲存。"
+login_protect_system = "登入保護系統"
+cloudflare_info = "查看 Cloudflare's Turnstile 文件: "
+mfa_config = "多重身份驗證 (MFA)"
+set_mfa_globally = "設定 MFA 狀態"
+explain_mfa = "當啟用時,MFA 會開放給所有使用者自行選用。當停用後,所有使用者都不能使用此功能,並且會在登入頁面隱藏相關訊息。"
+set_version_publicly = "可見版本"
+explain_version = "預設情況下,HTMLy 的版本在原始碼中公開可見,但有些管理員可能會希望隱藏起來。"
+focus_mode = "切換焦點"
+writing = "寫入"
+writing_settings = "寫入設定"
+security = "安全"
+security_settings = "安全設定"
+msg_error_field_req_username = "名稱欄位為必填."
+msg_error_field_req_password = "密碼欄位為必填."
+msg_error_field_req_title = "標題欄位為必填."
+msg_error_field_req_content = "內容欄位為必填."
+msg_error_field_req_tag = "標籤欄位為必填."
+msg_error_field_req_image = "圖片欄位為必填."
+msg_error_field_req_video = "影片欄位為必填."
+msg_error_field_req_link = "連結欄位為必填."
+msg_error_field_req_quote = "語錄欄位為必填."
+msg_error_field_req_audio = "音訊欄位為必填."
+msg_error_field_req_feedurl = "您需指定 Feed 網址."
+rss_feeds_description_select = "RSS 描述"
+rss_description_body = "Post 內容"
+rss_description_meta = "Post Meta 描述"
+admin_theme = "後台界面風格"
+admin_theme_light = "明亮"
+admin_theme_dark = "暗沉"
+search_index = "Search Index"
+fulltext_search = "Fulltext Search"
+add_search_index = "Add posts to Search Index"
+clear_search_index = "Clear Search Index"
+unindexed_posts = "Here are the posts that have not been indexed"
+indexed_posts = "Posts has been indexed"
diff --git a/media/MFA.png b/media/MFA.png
new file mode 100755
index 0000000..fc32bc6
Binary files /dev/null and b/media/MFA.png differ
diff --git a/old/blog/2024-07-01_Plates.html b/old/blog/2024-07-01_Plates.html
old mode 100644
new mode 100755
diff --git a/old/blog/2024-07-01_Plates_list.html b/old/blog/2024-07-01_Plates_list.html
old mode 100644
new mode 100755
diff --git a/old/blog/2024-08-04_Vexillology-i.html b/old/blog/2024-08-04_Vexillology-i.html
old mode 100644
new mode 100755
diff --git a/old/blog/media/MFA-i.png b/old/blog/media/MFA-i.png
old mode 100644
new mode 100755
diff --git a/robots.txt b/robots.txt
new file mode 100755
index 0000000..f3f9b23
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1,36 @@
+#
+# robots.txt
+#
+# This file is to prevent the crawling and indexing of certain parts
+# of your site by web crawlers and spiders run by sites like Yahoo!
+# and Google. By telling these "robots" where not to go on your site,
+# you save bandwidth and server resources.
+#
+# This file will be ignored unless it is at the root of your host:
+# Used: http://example.com/robots.txt
+# Ignored: http://example.com/site/robots.txt
+#
+# For more information about the robots.txt standard, see:
+# http://www.robotstxt.org/wc/robots.html
+#
+# For syntax checking, see:
+# http://www.sxw.org.uk/computing/robots/check.html
+
+User-agent: *
+
+# Allow directories
+Allow: /system/resources/
+
+# Disallow directories
+Disallow: /config/
+Disallow: /system/
+Disallow: /cache/
+Disallow: /lang/
+
+# Disallow files
+Disallow: /composer.json
+Disallow: /composer.lock
+Disallow: /composer.phar
+
+# Disallow paths
+Disallow: /admin/
diff --git a/system/admin/admin.php b/system/admin/admin.php
new file mode 100755
index 0000000..7c78821
--- /dev/null
+++ b/system/admin/admin.php
@@ -0,0 +1,1916 @@
+- ' . i18n('Invalid_Error') . '
';
+ }
+
+ $user_enc = user('encryption', $user);
+ $user_pass = user('password', $user);
+ $user_role = user('role', $user);
+ $mfa = user('mfa_secret', $user);
+
+ if(is_null($user_enc) || is_null($user_pass) || is_null($user_role)) {
+ return $str = ' ';
+ }
+
+ if ($user_enc == "password_hash") {
+ if (password_verify($pass, $user_pass)) {
+ if (session_status() == PHP_SESSION_NONE) session_start();
+ if (password_needs_rehash($user_pass, PASSWORD_DEFAULT)) {
+ update_user($user, $pass, $user_role, $mfa);
+ }
+ $_SESSION[site_url()]['user'] = $user;
+ header('location: admin');
+ } else {
+ return $str = ' ';
+ }
+ } else if (old_password_verify($pass, $user_enc, $user_pass)) {
+ if (session_status() == PHP_SESSION_NONE) session_start();
+ update_user($user, $pass, $user_role, $mfa);
+ $_SESSION[site_url()]['user'] = $user;
+ header('location: admin');
+ } else {
+ return $str = ' ';
+ }
+}
+
+function old_password_verify($pass, $user_enc, $user_pass)
+{
+ $password = (strlen($user_enc) > 0 && $user_enc !== 'clear' && $user_enc !== 'none') ? hash($user_enc, $pass) : $pass;
+ return ($password === $user_pass);
+}
+
+// Generate csrf token
+function generate_csrf_token()
+{
+ $_SESSION[site_url()]['csrf_token'] = sha1(microtime(true) . mt_rand(10000, 90000));
+}
+
+// Get csrf token
+function get_csrf()
+{
+ if (!isset($_SESSION[site_url()]['csrf_token']) || empty($_SESSION[site_url()]['csrf_token'])) {
+ generate_csrf_token();
+ }
+ return $_SESSION[site_url()]['csrf_token'];
+}
+
+// Check the csrf token
+function is_csrf_proper($csrf_token)
+{
+ if ($csrf_token == get_csrf()) {
+ return true;
+ }
+ return false;
+}
+
+// Clean URLs
+function remove_accent($str)
+{
+ return URLify::downcode($str);
+}
+
+// Add content
+function add_content($title, $tag, $url, $content, $user, $draft, $category, $type, $description = null, $media = null, $dateTime = null, $autoSave = null, $oldfile = null)
+{
+ if (!is_null($autoSave)) {
+ $draft = 'draft';
+ }
+ $tag = explode(',', preg_replace("/\s*,\s*/", ",", rtrim($tag, ',')));
+ $tag = array_filter(array_unique($tag));
+ $tagslang = "content/data/tags.lang";
+ if (file_exists($tagslang)) {
+ $taglang = array_flip(unserialize(file_get_contents($tagslang)));
+ $tflip = array_intersect_key($taglang, array_flip($tag));
+ $post_tag = array();
+ $post_tagmd = array();
+ foreach ($tag as $t) {
+ if (array_key_exists($t, $tflip)) {
+ foreach ($tflip as $tfp => $tf){
+ if($t == $tfp) {
+ $post_tag[] = $tf;
+ $post_tagmd[] = $tfp;
+ }
+ }
+ } else {
+ $post_tag[] = $t;
+ $post_tagmd[] = $t;
+ }
+ }
+
+ $post_tag = safe_tag(implode(',', $post_tag));
+ $post_tagmd = safe_html(implode(',', $post_tagmd));
+
+ } else {
+ $post_tag = safe_tag(implode(',', $tag));
+ $post_tagmd = safe_html(implode(',', $tag));
+ }
+
+ $post_date = date('Y-m-d-H-i-s', strtotime($dateTime));
+ $post_title = safe_html($title);
+ $post_tag = strtolower(preg_replace(array('/[^a-zA-Z0-9,. \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($post_tag)));
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $category = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($category)));
+ $description = safe_html($description);
+
+ $post_t = explode(',', $post_tag);
+ $pret_t = explode(',', $post_tagmd);
+ $tags = tag_cloud(true);
+ $timestamp = date('YmdHis');
+
+ $combine = array_combine($pret_t, $post_t);
+ $inter = array_intersect_key($tags, array_flip($post_t));
+ $newtag = array();
+
+ foreach ($combine as $tag => $v) {
+ if (array_key_exists($v, $tags)) {
+ foreach ($inter as $in => $i){
+ if($v == $in) {
+ if (strtolower($tag) == strtolower(tag_i18n($in))) {
+ $newtag[$v]= $tag;
+ } else {
+ $newtag[$v.'-'. $timestamp]= $tag;
+ }
+ }
+ }
+ } else {
+ $newtag[$v] = $tag;
+ }
+ }
+
+ $post_tag = implode(',', array_keys($newtag));
+
+ $posts = get_blog_posts();
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['basename']);
+ if (strtolower($arr[2]) === strtolower($post_url . '.md')) {
+ $post_url = $post_url .'-'. $timestamp;
+ } else {
+ $post_url = $post_url;
+ }
+ }
+
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+ if ($tag !== null) {
+ $tagmd = "\n";
+ } else {
+ $tagmd = "";
+ }
+ if ($media!== null) {
+ $post_media = "\n";
+ } else {
+ $post_media = "";
+ }
+ $post_content = "" . $post_description . $tagmd . $post_media . "\n\n" . $content;
+
+ if (!empty($post_title) && !empty($post_tag) && !empty($post_url) && !empty($post_content)) {
+
+ $filename = $post_date . '_' . $post_tag . '_' . $post_url . '.md';
+
+ if (empty($draft)) {
+ if (date('Y-m-d-H-i-s') >= $post_date) {
+ $dir = 'content/' . $user . '/blog/' . $category. '/'.$type. '/';
+ } else {
+ $dir = 'content/' . $user . '/blog/' . $category. '/'.$type. '/scheduled/';
+ }
+ } else {
+ $dir = 'content/' . $user . '/blog/' . $category. '/draft/';
+ }
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+
+ }
+
+ $searchFile = "content/data/search.json";
+ $search = array();
+
+ $oldfile = $oldfile;
+ $newfile = $dir . $filename;
+ if ($oldfile !== $newfile && !is_null($autoSave)) {
+ if (file_exists($oldfile)) {
+
+ rename($oldfile, $newfile);
+
+ if (config('fulltext.search') == "true") {
+
+ if (file_exists($searchFile)) {
+ $search = json_decode(file_get_data($searchFile), true);
+ }
+ $old_filename = pathinfo($oldfile, PATHINFO_FILENAME);
+ $old_ex = explode('_', $old_filename);
+ $old_url = $old_ex[2];
+ $oKey = 'post_' . $old_url;
+ $nKey = 'post_' . $post_url;
+ if ($old_url != $post_url) {
+ if (isset($search[$oKey])) {
+ $arr = replace_key($search, $oKey, $nKey);
+ $arr[$nKey] = $post_content;
+ save_json_pretty($searchFile, $arr);
+ }
+ }
+
+ }
+
+ }
+ } else {
+ if (config('fulltext.search') == "true") {
+ if (file_exists($searchFile)) {
+ $search = json_decode(file_get_data($searchFile), true);
+ }
+ if (!isset($search['flock_fail'])) {
+ $search['post_' . $post_url] = $post_content;
+ save_json_pretty($searchFile, $search);
+ }
+ }
+ }
+
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+
+ if (empty($draft)) {
+ $draftFile = 'content/' . $user . '/blog/' . $category. '/draft/' . $filename;
+ if (file_exists($draftFile)) {
+ unlink($draftFile);
+ }
+ }
+
+ save_tag_i18n($post_tag, $post_tagmd);
+
+ rebuilt_cache('all');
+
+ clear_post_cache($post_date, $post_tag, $post_url, $dir . $filename, $category, $type);
+
+ if (!is_null($autoSave)) {
+ return json_encode(array('message' => 'Auto Saved', 'file' => $newfile));
+ }
+
+ if (empty($draft)) {
+ if (date('Y-m-d-H-i-s') >= $post_date) {
+ $redirect = site_url() . 'admin/mine';
+ } else {
+ $redirect = site_url() . 'admin/scheduled';
+ }
+ } else {
+ $redirect = site_url() . 'admin/draft';
+ }
+
+ header("Location: $redirect");
+ }
+}
+
+// Edit content
+function edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, $type, $destination = null, $description = null, $date = null, $media = null, $autoSave = null)
+{
+ $tag = explode(',', preg_replace("/\s*,\s*/", ",", rtrim($tag, ',')));
+ $tag = array_filter(array_unique($tag));
+ $tagslang = "content/data/tags.lang";
+ $newfile = '';
+ $views = array();
+ $viewsFile = "content/data/views.json";
+ if (file_exists($tagslang)) {
+ $taglang = array_flip(unserialize(file_get_contents($tagslang)));
+ $tflip = array_intersect_key($taglang, array_flip($tag));
+ $post_tag = array();
+ $post_tagmd = array();
+ foreach ($tag as $t) {
+ if (array_key_exists($t, $tflip)) {
+ foreach ($tflip as $tfp => $tf){
+ if($t == $tfp) {
+ $post_tag[] = $tf;
+ $post_tagmd[] = $tfp;
+ }
+ }
+ } else {
+ $post_tag[] = $t;
+ $post_tagmd[] = $t;
+ }
+ }
+
+ $post_tag = safe_tag(implode(',', $post_tag));
+ $post_tagmd = safe_html(implode(',', $post_tagmd));
+ } else {
+ $post_tag = safe_tag(implode(',', $tag));
+ $post_tagmd = safe_html(implode(',', $tag));
+ }
+
+ $dir = explode('/', pathinfo($oldfile, PATHINFO_DIRNAME));
+ $olddate = date('Y-m-d-H-i-s', strtotime($date));
+
+ $post_title = safe_html($title);
+ $post_tag = strtolower(preg_replace(array('/[^a-zA-Z0-9,. \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($post_tag)));
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $category = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($category)));
+ $description = safe_html($description);
+
+
+ $post_t = explode(',', $post_tag);
+ $pret_t = explode(',', $post_tagmd);
+ $tags = tag_cloud(true);
+ $timestamp = date('YmdHis');
+
+ $combine = array_combine($pret_t, $post_t);
+ $inter = array_intersect_key($tags, array_flip($post_t));
+ $newtag = array();
+
+ foreach ($combine as $tag => $v) {
+ if (array_key_exists($v, $tags)) {
+ foreach ($inter as $in => $i){
+ if($v == $in) {
+ if (strtolower($tag) == strtolower(tag_i18n($in))) {
+ $newtag[$v]= $tag;
+ } else {
+ $newtag[$v.'-'. $timestamp]= $tag;
+ }
+ }
+ }
+ } else {
+ $newtag[$v] = $tag;
+ }
+ }
+
+ $post_tag = implode(',', array_keys($newtag));
+
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+ if ($tag !== null) {
+ $tagmd = "\n";
+ } else {
+ $tagmd = "";
+ }
+ if ($media !== null) {
+ $post_media = "\n";
+ } else {
+ $post_media = "";
+ }
+ $post_content = "" . $post_description . $tagmd . $post_media . "\n\n" . $content;
+
+ $dirBlog = $dir[0] . '/' . $dir[1] . '/' . $dir[2] . '/' . $category . '/' . $type . '/';
+ $dirDraft = $dir[0] . '/' . $dir[1] . '/' . $dir[2] . '/' . $category . '/draft/';
+ $dirScheduled = $dir[0] . '/' . $dir[1] . '/' . $dir[2] . '/' . $category . '/' . $type . '/scheduled/';
+
+ if (!is_dir($dirBlog)) {
+ mkdir($dirBlog, 0775, true);
+ }
+
+ if (!is_dir($dirDraft)) {
+ mkdir($dirDraft, 0775, true);
+ }
+
+ if (!is_dir($dirScheduled)) {
+ mkdir($dirScheduled, 0775, true);
+ }
+
+ if (!empty($post_title) && !empty($post_tag) && !empty($post_url) && !empty($post_content)) {
+
+ if(!empty($revertPost) || !empty($publishDraft)) {
+
+ if($dir[4] == 'draft') {
+ if (date('Y-m-d-H-i-s') >= $olddate) {
+ $newfile = $dirBlog . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ } else {
+ $newfile = $dirScheduled . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ }
+ } else {
+ $newfile = $dirDraft . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ }
+
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ unlink($oldfile);
+
+ } else {
+
+ if ($dir[3] === $category) {
+
+ if($dir[4] == 'draft') {
+ $newfile = $dirDraft . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ } else {
+ if (date('Y-m-d-H-i-s') >= $olddate) {
+ $newfile = $dirBlog . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ } else {
+ $newfile = $dirScheduled . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ }
+ }
+
+ if ($oldfile === $newfile) {
+ file_put_contents($oldfile, print_r($post_content, true), LOCK_EX);
+ } else {
+ rename($oldfile, $newfile);
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ }
+ } else {
+
+ if($dir[4] == 'draft') {
+ $newfile = $dirDraft . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ } else {
+ if (date('Y-m-d-H-i-s') >= $olddate) {
+ $newfile = $dirBlog . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ } else {
+ $newfile = $dirScheduled . $olddate . '_' . $post_tag . '_' . $post_url . '.md';
+ }
+ }
+
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ unlink($oldfile);
+
+ }
+
+ }
+
+ if(!empty($publishDraft)) {
+ $dt = $olddate;
+ $t = str_replace('-', '', $dt);
+ $time = new DateTime($t);
+ $timestamp = $time->format("Y-m-d");
+ } else {
+ $fn = explode('_', pathinfo($oldfile, PATHINFO_FILENAME));
+ $dt = $fn[0];
+ $t = str_replace('-', '', $dt);
+ $time = new DateTime($t);
+ $timestamp = $time->format("Y-m-d");
+ }
+
+ // The post date
+ $postdate = strtotime($timestamp);
+
+ // The post URL
+ if (permalink_type() == 'default') {
+ $posturl = site_url() . date('Y/m', $postdate) . '/' . $post_url;
+ } else {
+ $posturl = site_url() . permalink_type() . '/' . $post_url;
+ }
+
+ save_tag_i18n($post_tag, $post_tagmd);
+
+ rebuilt_cache('all');
+ clear_post_cache($dt, $post_tag, $post_url, $oldfile, $category, $type);
+
+ $searchFile = "content/data/search.json";
+ $search = array();
+
+ $old_filename = pathinfo($oldfile, PATHINFO_FILENAME);
+ $old_ex = explode('_', $old_filename);
+ $old_url = $old_ex[2];
+
+ if ($old_url != $post_url) {
+ $oKey = 'post_' . $old_url;
+ $nKey = 'post_' . $post_url;
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_data($viewsFile), true);
+
+ if (isset($views[$oKey])) {
+ $arr = replace_key($views, $oKey, $nKey);
+ save_json_pretty($viewsFile, $arr);
+ }
+ }
+ if (config('fulltext.search') == "true") {
+ if (file_exists($searchFile)) {
+ $search = json_decode(file_get_data($searchFile), true);
+ if (isset($search[$oKey])) {
+ $arr = replace_key($search, $oKey, $nKey);
+ $arr[$nKey] = $post_content;
+ save_json_pretty($searchFile, $arr);
+ }
+ }
+ }
+
+ } else {
+ if (config('fulltext.search') == "true") {
+ if (file_exists($searchFile)) {
+ $search = json_decode(file_get_data($searchFile), true);
+ }
+ if (!isset($search['flock_fail'])) {
+ $search['post_' . $post_url] = $post_content;
+ save_json_pretty($searchFile, $search);
+ }
+ }
+
+ }
+
+ if (!is_null($autoSave)) {
+ return json_encode(array('message' => 'Auto Saved', 'file' => $newfile));
+ }
+
+ if ($destination == 'post') {
+ if(!empty($revertPost)) {
+ $drafturl = site_url() . 'admin/draft';
+ header("Location: $drafturl");
+ } else {
+ if (date('Y-m-d-H-i-s') >= $olddate) {
+ header("Location: $posturl");
+ } else {
+ $schurl = site_url() . 'admin/scheduled';
+ header("Location: $schurl");
+ }
+ }
+ } else {
+ if(!empty($publishDraft)) {
+ if (date('Y-m-d-H-i-s') >= $olddate) {
+ header("Location: $posturl");
+ } else {
+ $schurl = site_url() . 'admin/scheduled';
+ header("Location: $schurl");
+ }
+ } elseif (!empty($revertPost)) {
+ $drafturl = site_url() . 'admin/draft';
+ header("Location: $drafturl");
+ } else {
+ $redirect = site_url() . $destination;
+ header("Location: $redirect");
+ }
+ }
+ }
+}
+
+// Add static page
+function add_page($title, $url, $content, $draft, $description = null, $autoSave = null, $oldfile = null)
+{
+ if (!is_null($autoSave)) {
+ $draft = 'draft';
+ }
+ $post_title = safe_html($title);
+ $newfile = '';
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+
+ $posts = get_static_pages();
+ $timestamp = date('YmdHis');
+ foreach ($posts as $index => $v) {
+ $m_url = explode('.', $v['filename']);
+ if (isset($m_url[1])) {
+ $b_url = $m_url[1] . '.md';
+ } else {
+ $b_url = $v['basename'];
+ }
+ if (strtolower($b_url) === strtolower($post_url . '.md')) {
+ $post_url = $post_url .'-'. $timestamp;
+ } else {
+ $post_url = $post_url;
+ }
+ }
+
+ $post_content = '' . $post_description . "\n\n" . $content;
+
+ if (!empty($post_title) && !empty($post_url) && !empty($post_content)) {
+
+ $filename = $post_url . '.md';
+ $dir = 'content/static/';
+ $dirDraft = 'content/static/draft/';
+
+ if (empty($draft)) {
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ $draftFile = $dirDraft . $filename;
+ if (file_exists($draftFile)) {
+ unlink($draftFile);
+ }
+ } else {
+ if (!is_dir($dirDraft)) {
+ mkdir($dirDraft, 0775, true);
+ }
+
+ $oldfile = $oldfile;
+ $newfile = $dirDraft . $filename;
+ if ($oldfile !== $newfile && !is_null($autoSave)) {
+ if (file_exists($oldfile)) {
+ rename($oldfile, $newfile);
+ }
+ }
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ }
+
+ rebuilt_cache('all');
+ clear_page_cache($post_url);
+
+ if (!is_null($autoSave)) {
+ return json_encode(array('message' => 'Auto Saved', 'file' => $newfile));
+ }
+
+ if (empty($draft)) {
+ $redirect = site_url() . 'admin/pages';
+ header("Location: $redirect");
+ } else {
+ $redirect = site_url() . 'admin/draft';
+ header("Location: $redirect");
+ }
+ }
+}
+
+// Add static sub page
+function add_sub_page($title, $url, $content, $static, $draft, $description = null, $autoSave = null, $oldfile = null)
+{
+ if (!is_null($autoSave)) {
+ $draft = 'draft';
+ }
+ $post = find_page($static);
+ $newfile = '';
+ $static = pathinfo($post['current']->md, PATHINFO_FILENAME);
+ $post_title = safe_html($title);
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+
+ $posts = get_static_subpages($post['current']->slug);
+ $timestamp = date('YmdHis');
+ foreach ($posts as $index => $v) {
+ $m_url = explode('.', $v['filename']);
+ if (isset($m_url[1])) {
+ $b_url = $m_url[1] . '.md';
+ } else {
+ $b_url = $v['basename'];
+ }
+ if (strtolower($b_url) === strtolower($post_url . '.md')) {
+ $post_url = $post_url .'-'. $timestamp;
+ } else {
+ $post_url = $post_url;
+ }
+ }
+
+ $post_content = '' . $post_description . "\n\n" . $content;
+
+ if (!empty($post_title) && !empty($post_url) && !empty($post_content)) {
+
+ $filename = $post_url . '.md';
+ $dir = 'content/static/' . $static . '/';
+ $dirDraft = 'content/static/' . $static . '/draft/';
+
+ if (empty($draft)) {
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ $draftFile = $dirDraft . $filename;
+ if (file_exists($draftFile)) {
+ unlink($draftFile);
+ }
+ } else {
+ if (!is_dir($dirDraft)) {
+ mkdir($dirDraft, 0775, true);
+ }
+
+ $oldfile = $oldfile;
+ $newfile = $dirDraft . $filename;
+ if ($oldfile !== $newfile && !is_null($autoSave)) {
+ if (file_exists($oldfile)) {
+ rename($oldfile, $newfile);
+ }
+ }
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ }
+
+ if (!is_null($autoSave)) {
+ return json_encode(array('message' => 'Auto Saved', 'file' => $newfile));
+ }
+
+ rebuilt_cache('all');
+ clear_page_cache($post_url);
+ $redirect = site_url() . 'admin/pages';
+ header("Location: $redirect");
+ }
+}
+
+// Edit static page and sub page
+function edit_page($title, $url, $content, $oldfile, $revertPage, $publishDraft, $destination = null, $description = null, $static = null, $autoSave = null)
+{
+ $dir = pathinfo($oldfile, PATHINFO_DIRNAME);
+ $fn = explode('.', pathinfo($oldfile, PATHINFO_FILENAME));
+ if (isset($fn[1])) {
+ $num = $fn[0] . '.';
+ } else {
+ $num = null;
+ }
+ $newfile = '';
+ $views = array();
+ $viewsFile = "content/data/views.json";
+ $post_title = safe_html($title);
+ $pUrl = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $post_url = $num . $pUrl;
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+
+ $post_content = '' . $post_description . "\n\n" . $content;
+
+ if (!empty($post_title) && !empty($post_url) && !empty($post_content)) {
+
+ if(!empty($revertPage)) {
+ $dirDraft = $dir . '/draft';
+ if (!is_dir($dirDraft)) {
+ mkdir($dirDraft, 0775, true);
+ }
+ $newfile = $dirDraft . '/' . $post_url . '.md';
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ if (empty($static)) {
+ $old = pathinfo($oldfile, PATHINFO_FILENAME);
+ if(is_dir($dir . '/' . $old)) {
+ rename($dir . '/' . $old, $dir . '/' . $post_url);
+ }
+ }
+ unlink($oldfile);
+ } elseif (!empty($publishDraft)) {
+ $newfile = dirname($dir) . '/' . $post_url . '.md';
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ if (empty($static)) {
+ $old = pathinfo($oldfile, PATHINFO_FILENAME);
+ if(is_dir(dirname($dir) . '/' . $old)) {
+ rename(dirname($dir) . '/' . $old, dirname($dir) . '/' . $post_url);
+ }
+ }
+ unlink($oldfile);
+ } else {
+ $newfile = $dir . '/' . $post_url . '.md';
+ if ($oldfile === $newfile) {
+ file_put_contents($oldfile, print_r($post_content, true), LOCK_EX);
+ } else {
+ rename($oldfile, $newfile);
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ if (empty($static)) {
+ $old = pathinfo($oldfile, PATHINFO_FILENAME);
+ if(is_dir($dir . '/' . $old)) {
+ rename($dir . '/' . $old, $dir . '/' . $post_url);
+ }
+ }
+ }
+ }
+
+ $cl = explode('.', $post_url);
+ if (isset($cl[1])) {
+ $pu = $cl[1];
+ } else {
+ $pu = $post_url;
+ }
+
+ $old_filename = pathinfo($oldfile, PATHINFO_FILENAME);
+ $old_ex = explode('.', $old_filename);
+ if (isset($old_ex[1])) {
+ $old_url = $old_ex[1];
+ } else {
+ $old_url = $old_filename;
+ }
+
+ rebuilt_cache('all');
+ clear_page_cache($post_url);
+
+ if (!empty($static)) {
+ $posturl = site_url() . $static .'/'. $pu;
+
+ if ($old_url != $pu) {
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_data($viewsFile), true);
+ $oKey = 'subpage_' . $static . '.' . $old_url;
+ $nKey = 'subpage_' . $static . '.' . $pu;
+ if (isset($views[$oKey])) {
+ $arr = replace_key($views, $oKey, $nKey);
+ save_json_pretty($viewsFile, $arr);
+ }
+ }
+ }
+
+ } else {
+ $posturl = site_url() . $pu;
+
+ if ($old_url != $pu) {
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_data($viewsFile), true);
+ $oKey = 'page_' . $old_url;
+ $nKey = 'page_' . $pu;
+ if (isset($views[$oKey])) {
+ $arr = replace_key($views, $oKey, $nKey);
+ save_json_pretty($viewsFile, $arr);
+ }
+ }
+
+ $sPage = find_subpage($pu);
+ if (!empty($sPage)) {
+ foreach ($sPage as $sp) {
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_data($viewsFile), true);
+ $oKey = 'subpage_' . $old_url . '.' . $sp->slug;
+ $nKey = 'subpage_' . $pu . '.' . $sp->slug;
+ if (isset($views[$oKey])) {
+ $arr = replace_key($views, $oKey, $nKey);
+ save_json_pretty($viewsFile, $arr);
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ if (!is_null($autoSave)) {
+ return json_encode(array('message' => 'Auto Saved', 'file' => $newfile));
+ }
+
+ if ($destination == 'post') {
+ if(!empty($revertPage)) {
+ $drafturl = site_url() . 'admin/draft';
+ header("Location: $drafturl");
+ } else {
+ header("Location: $posturl");
+ }
+ } else {
+ $redirect = site_url() . $destination;
+ header("Location: $redirect");
+ }
+ }
+}
+
+// Add category
+function add_category($title, $url, $content, $description = null)
+{
+ $post_title = safe_html($title);
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+ $post_content = '' . $post_description . "\n\n" . $content;
+
+ if (!empty($post_title) && !empty($post_url) && !empty($post_content)) {
+
+ $filename = $post_url . '.md';
+ $dir = 'content/data/category/';
+ if (is_dir($dir)) {
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ } else {
+ mkdir($dir, 0775, true);
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ }
+
+ rebuilt_cache('all');
+ clear_page_cache($post_url);
+ $redirect = site_url() . 'admin/categories';
+ header("Location: $redirect");
+ }
+}
+
+// Edit category
+function edit_category($title, $url, $content, $oldfile, $destination = null, $description = null)
+{
+ $dir = pathinfo($oldfile, PATHINFO_DIRNAME);
+
+ $post_title = safe_html($title);
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $post_description = "\n";
+ } else {
+ $post_description = "\n";
+ }
+ } else {
+ $post_description = "";
+ }
+ $post_content = '' . $post_description . "\n\n" . $content;
+ if (!empty($post_title) && !empty($post_url) && !empty($post_content)) {
+
+ $newfile = $dir . '/' . $post_url . '.md';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ if ($oldfile === $newfile) {
+ file_put_contents($oldfile, print_r($post_content, true), LOCK_EX);
+ } else {
+ if (file_exists($oldfile)) {
+ rename($oldfile, $newfile);
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ } else {
+ file_put_contents($newfile, print_r($post_content, true), LOCK_EX);
+ }
+ }
+
+ rename_category_folder($post_url, $oldfile);
+
+ rebuilt_cache('all');
+ if ($destination == 'post') {
+ header("Location: $posturl");
+ } else {
+ $redirect = site_url() . $destination;
+ header("Location: $redirect");
+ }
+ }
+}
+
+// Edit user profile
+function edit_profile($title, $content, $user, $description = null, $image = null)
+{
+ $description = safe_html($description);
+ if ($description !== null) {
+ if (!empty($description)) {
+ $profile_description = "\n";
+ } else {
+ $profile_description = "\n";
+ }
+ } else {
+ $profile_description = "";
+ }
+ if ($image !== null) {
+ $avatar = "\n";
+ } else {
+ $avatar = "";
+ }
+ $user_title = safe_html($title);
+ $user_content = '' . $profile_description . $avatar . "\n\n" . $content;
+
+ if (!empty($user_title) && !empty($user_content)) {
+
+ $dir = 'content/' . $user . '/';
+ $filename = 'content/' . $user . '/author.md';
+ if (is_dir($dir)) {
+ file_put_contents($filename, print_r($user_content, true), LOCK_EX);
+ } else {
+ mkdir($dir, 0775, true);
+ file_put_contents($filename, print_r($user_content, true), LOCK_EX);
+ }
+ rebuilt_cache('all');
+ $redirect = site_url() . 'author/' . $user;
+ header("Location: $redirect");
+ }
+}
+
+// Edit homepage
+function edit_frontpage($title, $content)
+{
+ $front_title = safe_html($title);
+ $front_content = '' . "\n\n" . $content;
+
+ if (!empty($front_title) && !empty($front_content)) {
+
+ $dir = 'content/data/frontpage';
+ $filename = 'content/data/frontpage/frontpage.md';
+ if (is_dir($dir)) {
+ file_put_contents($filename, print_r($front_content, true), LOCK_EX);
+ } else {
+ mkdir($dir, 0775, true);
+ file_put_contents($filename, print_r($front_content, true), LOCK_EX);
+ }
+ rebuilt_cache('all');
+ $redirect = site_url();
+ header("Location: $redirect");
+ }
+}
+
+// Delete blog post
+function delete_post($file, $destination)
+{
+ if (!login())
+ return null;
+ $deleted_content = $file;
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $arr = explode('/', $file);
+
+ // realpath resolves all traversal operations like ../
+ $realFilePath = realpath($file);
+
+ // realpath returns an empty string if the file does not exist
+ if ($realFilePath == '') {
+ return;
+ }
+
+ // get the current project working directory
+ $cwd = getcwd();
+
+ // content directory relative to the current project working directory
+ $contentDir = $cwd . DIRECTORY_SEPARATOR . 'content';
+
+ // if the file path does not start with $contentDir, it means its accessing
+ // files in folders other than content
+ if (strpos($realFilePath, $contentDir) !== 0) {
+ return;
+ }
+
+ // Get cache file
+ $info = pathinfo($file);
+ $fn = explode('_', $info['basename']);
+ $dr = explode('/', $info['dirname']);
+ clear_post_cache($fn[0], $fn[1], str_replace('.md', '', $fn[2]), $file, $dr[3], $dr[4]);
+
+ if (!empty($deleted_content)) {
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ unlink($deleted_content);
+ rebuilt_cache('all');
+ if ($destination == 'post') {
+ $redirect = site_url();
+ header("Location: $redirect");
+ } else {
+ $redirect = site_url() . $destination;
+ header("Location: $redirect");
+ }
+ }
+ }
+}
+
+// Delete static page
+function delete_page($file, $destination)
+{
+ if (!login())
+ return null;
+ $deleted_content = $file;
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ // realpath resolves all traversal operations like ../
+ $realFilePath = realpath($file);
+
+ // realpath returns an empty string if the file does not exist
+ if ($realFilePath == '') {
+ return;
+ }
+
+ // get the current project working directory
+ $cwd = getcwd();
+
+ // content directory relative to the current project working directory
+ $contentDir = $cwd . DIRECTORY_SEPARATOR . 'content';
+
+ // if the file path does not start with $contentDir, it means its accessing
+ // files in folders other than content
+ if (strpos($realFilePath, $contentDir) !== 0) {
+ return;
+ }
+
+ if (!empty($menu)) {
+ foreach (glob('cache/page/*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+ } else {
+ clear_page_cache(pathinfo($file, PATHINFO_BASENAME));
+ }
+
+ if (!empty($deleted_content)) {
+ if ($role === 'editor' || $role === 'admin') {
+ unlink($deleted_content);
+ rebuilt_cache('all');
+ if ($destination == 'post') {
+ $redirect = site_url();
+ header("Location: $redirect");
+ } else {
+ $redirect = site_url() . $destination;
+ header("Location: $redirect");
+ }
+ }
+ }
+}
+
+// Find draft.
+function find_draft($year, $month, $name)
+{
+ $posts = get_draft_posts();
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['basename']);
+ if (strpos($arr[0], "$year-$month") !== false && strtolower($arr[2]) === strtolower($name . '.md') || strtolower($arr[2]) === strtolower($name . '.md')) {
+
+ // Use the get_posts method to return
+ // a properly parsed object
+
+ $ar = get_posts($posts, $index + 1, 1);
+ $nx = get_posts($posts, $index, 1);
+ $pr = get_posts($posts, $index + 2, 1);
+
+ if ($index == 0) {
+ if (isset($pr[0])) {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => $pr[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => null
+ );
+ }
+ } elseif (count($posts) == $index + 1) {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0],
+ 'prev' => $pr[0]
+ );
+ }
+ }
+ }
+}
+
+// Return draft list
+function get_draft($profile, $page, $perpage)
+{
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $posts = get_draft_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $str = explode('/', $v['dirname']);
+ if (strtolower($profile) === strtolower($str[1]) || $role === 'admin') {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return draft static page.
+function find_draft_page($static = null)
+{
+ $posts = get_draft_pages();
+
+ $tmp = array();
+
+ $counter = config('views.counter');
+
+ if ($counter == 'true') {
+ $viewsFile = "content/data/views.json";
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_contents($viewsFile), true);
+ }
+ }
+
+ if (!empty($posts)) {
+
+ foreach ($posts as $index => $v) {
+ if (stripos($v['basename'], $static . '.md') !== false) {
+
+ $post = new stdClass;
+
+ // The static page URL
+ $fn = explode('.', $v['filename']);
+
+ if (isset($fn[1])) {
+ $url = $fn[1];
+ } else {
+ $url= $v['filename'];
+ }
+
+ $post->url = site_url() . $url;
+
+ $post->file = $v['dirname'] . '/' . $v['basename'];
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($post->file)));
+
+ $post->md = $v['basename'];
+ $post->slug = $url;
+ $post->parent = null;
+ $post->parentSlug = null;
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($post->file);
+
+ // Extract the title and body
+ $post->title = get_content_tag('t', $content, 'Untitled static page: ' . format_date($post->lastMod, 'l, j F Y, H:i'));
+
+ // Get the contents and convert it to HTML
+ $post->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ if ($counter == 'true') {
+ $post->views = get_views('page_' . $post->slug, $post->file, $views);
+ } else {
+ $post->views = null;
+ }
+
+ $post->description = get_content_tag("d", $content, get_description($post->body));
+
+ $word_count = str_word_count(strip_tags($post->body));
+ $post->readTime = ceil($word_count / 200);
+
+ $tmp[] = $post;
+ }
+ }
+ }
+
+ return $tmp;
+}
+
+// Return draft static subpage.
+function find_draft_subpage($static = null, $sub_static = null)
+{
+ $posts = get_draft_subpages($static);
+
+ $tmp = array();
+
+ $counter = config('views.counter');
+
+ if ($counter == 'true') {
+ $viewsFile = "content/data/views.json";
+ if (file_exists($viewsFile)) {
+ $views = json_decode(file_get_contents($viewsFile), true);
+ }
+ }
+
+ if (!empty($posts)) {
+
+ foreach ($posts as $index => $v) {
+ if (stripos($v['basename'], $sub_static . '.md') !== false) {
+
+ $post = new stdClass;
+
+ $fd = str_replace('content/static/', '', dirname($v['dirname']));
+
+ $pr = explode('.', $fd);
+ if (isset($pr[1])) {
+ $ps = $pr[1];
+ } else {
+ $ps = $fd;
+ }
+
+ // The static page URL
+ $fn = explode('.', $v['filename']);
+
+ if (isset($fn[1])) {
+ $url = $fn[1];
+ } else {
+ $url = $v['filename'];
+ }
+
+ $post->parent = $fd;
+ $post->parentSlug = $ps;
+ $post->url = site_url() . $ps . "/" . $url;
+
+ $post->file = $v['dirname'] . '/' . $v['basename'];
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($post->file)));
+
+ $post->md = $v['basename'];
+ $post->slug = $url;
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($post->file);
+
+ // Extract the title and body
+ $post->title = get_content_tag('t', $content, 'Untitled static subpage: ' . format_date($post->lastMod, 'l, j F Y, H:i'));
+
+ // Get the contents and convert it to HTML
+ $post->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ if ($counter == 'true') {
+ $post->views = get_views('subpage_' . $post->parentSlug .'.'. $post->slug, $post->file, $views);
+ } else {
+ $post->views = null;
+ }
+
+ $post->description = get_content_tag("d", $content, get_description($post->body));
+
+ $word_count = str_word_count(strip_tags($post->body));
+ $post->readTime = ceil($word_count / 200);
+
+ $tmp[] = $post;
+ }
+ }
+ }
+
+ return $tmp;
+}
+
+// Find scheduled post.
+function find_scheduled($year, $month, $name)
+{
+ $posts = get_scheduled_posts();
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['basename']);
+ if (strpos($arr[0], "$year-$month") !== false && strtolower($arr[2]) === strtolower($name . '.md') || strtolower($arr[2]) === strtolower($name . '.md')) {
+
+ // Use the get_posts method to return
+ // a properly parsed object
+
+ $ar = get_posts($posts, $index + 1, 1);
+ $nx = get_posts($posts, $index, 1);
+ $pr = get_posts($posts, $index + 2, 1);
+
+ if ($index == 0) {
+ if (isset($pr[0])) {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => $pr[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => null
+ );
+ }
+ } elseif (count($posts) == $index + 1) {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0],
+ 'prev' => $pr[0]
+ );
+ }
+ }
+ }
+}
+
+// Return scheduled list
+function get_scheduled($profile, $page, $perpage)
+{
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $posts = get_scheduled_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $str = explode('/', $v['dirname']);
+ if (strtolower($profile) === strtolower($str[1]) || $role === 'admin') {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Import RSS feed
+function migrate($title, $time, $tags, $content, $url, $user, $source)
+{
+ $post_date = date('Y-m-d-H-i-s', $time);
+ $post_title = safe_html($title);
+ $pt = safe_tag($tags);
+ $post_tag = strtolower(preg_replace(array('/[^a-zA-Z0-9,. \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($pt)));
+ $post_tagmd = preg_replace(array('/[^a-zA-Z0-9,. \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', ' ', ''), $pt);
+ $post_tag = rtrim($post_tag, ',');
+ $post_tagmd = rtrim($post_tagmd, ',');
+ $post_url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($url)));
+ if (!empty($source)) {
+ $post_content = '' . "\n" . '' . "\n\n" . $content . "\n\n" . 'Source: ' . $title . '';
+ } else {
+ $post_content = '' . "\n" . '' . "\n\n" . $content;
+ }
+ if (!empty($post_title) && !empty($post_tag) && !empty($post_url) && !empty($post_content)) {
+
+ $filename = $post_date . '_' . $post_tag . '_' . $post_url . '.md';
+ $dir = 'content/' . $user . '/blog/uncategorized/post/';
+ if (is_dir($dir)) {
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ } else {
+ mkdir($dir, 0775, true);
+ file_put_contents($dir . $filename, print_r($post_content, true), LOCK_EX);
+ }
+ save_tag_i18n($post_tag, $post_tagmd);
+ $redirect = site_url() . 'admin/clear-cache';
+ header("Location: $redirect");
+ }
+}
+
+// Fetch RSS feed
+function get_feed($feed_url, $credit)
+{
+ $source = file_get_contents($feed_url);
+ $feed = new SimpleXmlElement($source);
+ if (!empty($feed->channel->item)) {
+ foreach ($feed->channel->item as $entry) {
+ $descriptionA = $entry->children('content', true);
+ $descriptionB = $entry->description;
+ if (!empty($descriptionA)) {
+ $content = $descriptionA;
+ } elseif (!empty($descriptionB)) {
+ $content = preg_replace('#
#i', "\n", $descriptionB);
+ } else {
+ return $str = '' . i18n('Cannot_read_feed_content') . ' ';
+ }
+ $time = new DateTime($entry->pubDate);
+ $timestamp = $time->format("Y-m-d H:i:s");
+ $time = strtotime($timestamp);
+ $tags = $entry->category;
+ $title = rtrim($entry->title, ' \,\.\-');
+ $title = ltrim($title, ' \,\.\-');
+ $user = $_SESSION[site_url()]['user'];
+ $url = strtolower(preg_replace(array('/[^a-zA-Z0-9 \-\p{L}]/u', '/[ -]+/', '/^-|-$/'), array('', '-', ''), remove_accent($title)));
+ if ($credit == 'yes') {
+ $source = $entry->link;
+ } else {
+ $source = null;
+ }
+ migrate($title, $time, $tags, $content, $url, $user, $source);
+ }
+ } else {
+ return $str = '' . i18n('Unknown_feed_format') . ' ';
+ }
+}
+
+// return tag safe string
+function safe_tag($string)
+{
+ $tags = array();
+ $string = preg_replace('/[\s-]+/', ' ', $string);
+ $string = explode(',', $string);
+ $string = array_map('trim', $string);
+ foreach ($string as $str) {
+ $tags[] = $str;
+ }
+ $string = implode(',', $tags);
+ $string = preg_replace('/[\s_]/', '-', $string);
+ return $string;
+
+}
+
+// Create Zip files
+function Zip($source, $destination, $include_dir = false)
+{
+ if (!extension_loaded('zip') || !file_exists($source)) {
+ return false;
+ }
+
+ if (file_exists($destination)) {
+ unlink($destination);
+ }
+
+ $zip = new ZipArchive();
+
+ if (!$zip->open($destination, ZIPARCHIVE::CREATE)) {
+ return false;
+ }
+
+ if (is_dir($source) === true) {
+
+ $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
+
+ foreach ($files as $file) {
+ $file = str_replace('\\', '/', $file);
+
+ // Ignore "." and ".." folders
+ if (in_array(substr($file, strrpos($file, '/') + 1), array('.', '..')))
+ continue;
+
+ if (is_dir($file) === true) {
+ $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
+ } elseif (is_file($file) === true) {
+ $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
+ }
+ }
+ } elseif (is_file($source) === true) {
+ $zip->addFromString(basename($source), file_get_contents($source));
+ }
+
+ return $zip->close();
+}
+
+// Return toolbar
+function toolbar()
+{
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $base = site_url();
+ $toolbar = '';
+
+ $toolbar .= <<
+EOF;
+ $toolbar .= '';
+ $toolbar .= '- ' . i18n('Admin') . '
';
+ $toolbar .= '- ' . i18n('Add_content') . '
';
+ if ($role === 'editor' || $role === 'admin') {
+ $toolbar .= '- ' . i18n('Posts') . '
';
+ if (config('views.counter') == 'true') {
+ $toolbar .= '- ' . i18n('Popular') . '
';
+ }
+ $toolbar .= '- ' . i18n('Pages') . '
';
+ }
+ $toolbar .= '- ' . i18n('Scheduled') . '
';
+ $toolbar .= '- ' . i18n('Draft') . '
';
+ if ($role === 'editor' || $role === 'admin') {
+ $toolbar .= '- ' . i18n('Categories') . '
';
+ $toolbar .= '- ' . i18n('Menu') . '
';
+ }
+ if ($role === 'admin') {
+ $toolbar .= '- ' . i18n('Config') . '
';
+ $toolbar .= '- ' . i18n('Backup') . '
';
+ $toolbar .= '- ' . i18n('Update') . '
';
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ $toolbar .= '- ' . i18n('Clear_cache') . '
';
+ }
+ $toolbar .= '- ' . i18n('Edit_profile') . '
';
+ $toolbar .= '- ' . i18n('Logout') . '
';
+
+ $toolbar .= '
';
+ echo $toolbar;
+}
+
+// save the i18n tag
+function save_tag_i18n($tag,$tagDisplay)
+{
+
+ $dir = 'content/data/';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ $filename = "content/data/tags.lang";
+ $tags = array();
+ $tmp = array();
+ $views = array();
+
+ $tt = explode(',', rtrim($tag, ','));
+ $tl = explode(',', rtrim($tagDisplay, ','));
+ $tags = array_combine($tt,$tl);
+
+ if (file_exists($filename)) {
+ $views = unserialize(file_get_contents($filename));
+ foreach ($tags as $key => $val) {
+ if (isset($views[$key])) {
+ $views[$key] = $val;
+ } else {
+ $views[$key] = $val;
+ }
+ }
+ } else {
+ $views = $tags;
+ }
+
+ $tmp = serialize($views);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+
+}
+
+function clear_post_cache($post_date, $post_tag, $post_url, $filename, $category, $type)
+{
+ $b = str_replace('/', '#', site_path() . '/');
+ $c = explode(',', $post_tag);
+ $t = explode('-', $post_date);
+
+ // Delete post default permalink
+ $p = 'cache/page/' . $b . $t[0] . '#' . $t[1] . '#' . $post_url . '.cache';
+ if (file_exists($p)) {
+ unlink($p);
+ }
+
+ // Delete post permalink
+ $pp = 'cache/page/' . $b . 'post#' . $post_url . '.cache';
+ if (file_exists($pp)) {
+ unlink($pp);
+ }
+
+ // Delete homepage
+ $yd = 'cache/page/' . $b . '.cache';
+ if (file_exists($yd)) {
+ unlink($yd);
+ }
+ foreach (glob('cache/page/' . $b . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete year
+ $yd = 'cache/page/' . $b . 'archive#' . $t[0] . '.cache';
+ if (file_exists($yd)) {
+ unlink($yd);
+ }
+ foreach (glob('cache/page/' . $b . 'archive#' . $t[0] . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete year-month
+ $yd = 'cache/page/' . $b . 'archive#' . $t[0] . '-' . $t[1] . '.cache';
+ if (file_exists($yd)) {
+ unlink($yd);
+ }
+ foreach (glob('cache/page/' . $b . 'archive#' . $t[0] . '-' . $t[1] . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete year-month-day
+ $yd = 'cache/page/' . $b . 'archive#' . $t[0] . '-' . $t[1] . '-' . $t[2] . '.cache';
+ if (file_exists($yd)) {
+ unlink($yd);
+ }
+ foreach (glob('cache/page/' . $b . 'archive#' . $t[0] . '-' . $t[1] . '-' . $t[2] . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete tag
+ foreach ($c as $tag) {
+ $yd = 'cache/page/' . $b . 'tag#' . $tag . '.cache';
+ if (file_exists($yd)) {
+ unlink($yd);
+ }
+ foreach (glob('cache/page/' . $b . 'tag#' . $tag . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+ }
+
+ // Delete search
+ foreach (glob('cache/page/' . $b . 'search#*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete category
+ $cc = 'cache/page/' . $b . 'category#' . $category . '.cache';
+ if (file_exists($cc)) {
+ unlink($cc);
+ }
+ foreach (glob('cache/page/' . $b . 'category#' . $category . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Delete type
+ $tp = 'cache/page/' . $b . 'type#' . $type . '.cache';
+ if (file_exists($tp)) {
+ unlink($tp);
+ }
+ foreach (glob('cache/page/' . $b . 'type#' . $type . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+ // Get cache post author
+ $arr = pathinfo($filename, PATHINFO_DIRNAME);
+ $x = explode('/', $arr);
+ // Delete author post list cache
+ $a = 'cache/page/' . $b . 'author#' . $x[1] . '.cache';
+ if (file_exists($a)) {
+ unlink($a);
+ }
+ foreach (glob('cache/page/' . $b . 'author#' . $x[1] . '~*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+}
+
+function clear_page_cache($url)
+{
+ $b = str_replace('/', '#', site_path() . '/');
+ $p = 'cache/page/' . $b . $url . '.cache';
+ if (file_exists($p)) {
+ unlink($p);
+ }
+}
+
+function clear_cache()
+{
+ foreach (glob('cache/page/*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+}
+
+function valueMaker($value)
+{
+ if (is_string($value))
+ return htmlspecialchars($value);
+
+ if ($value === true)
+ return "true";
+ if ($value === false)
+ return "false";
+
+ if ($value == false)
+ return "0";
+ return (string)$value;
+}
+
+function replace_key($arr, $oldkey, $newkey)
+{
+ if(array_key_exists($oldkey, $arr)) {
+ $keys = array_keys($arr);
+ $keys[array_search($oldkey, $keys)] = $newkey;
+ return array_combine($keys, $arr);
+ }
+ return $arr;
+}
+
+// rename category folder
+function rename_category_folder($new_name, $old_file)
+{
+ $old_name = str_replace('.md', '', basename($old_file));
+ $dir = get_category_folder();
+ foreach ($dir as $index => $v) {
+ if (stripos($v, '/' . $old_name . '/') !== false) {
+ $str = explode('/', $v);
+ $old_folder = $str[0] . '/' . $str[1] . '/' . $str[2] . '/' . $old_name . '/';
+ $new_folder = $str[0] . '/' . $str[1] . '/' . $str[2] . '/' . $new_name . '/';
+ rename($old_folder, $new_folder);
+ }
+ }
+}
+
+// reorder the static page
+function reorder_pages($pages = null)
+{
+ $i = 1;
+ $arr = array();
+ $dir = 'content/static/';
+ foreach ($pages as $p) {
+ $fn = pathinfo($p, PATHINFO_FILENAME);
+ $num = str_pad($i, 2, 0, STR_PAD_LEFT);
+ $arr = explode('.' , $fn);
+ if (isset($arr[1])) {
+ rename ($dir . $p, $dir . $num . '.' . $arr[1] . '.md');
+ if (is_dir($dir . $fn)) {
+ rename($dir . $fn, $dir . $num . '.' . $arr[1]);
+ }
+ } else {
+ rename($dir . $p, $dir . $num . '.' . $fn . '.md');
+ if (is_dir($dir . $fn)) {
+ rename($dir . $fn, $dir . $num . '.' . $fn);
+ }
+ }
+ $i++;
+ }
+
+ rebuilt_cache();
+}
+
+// reorder the subpage
+function reorder_subpages($subpages = null)
+{
+ $i = 1;
+ $arr = array();
+ $dir = 'content/static/';
+ foreach ($subpages as $sp) {
+ $dn = $dir . pathinfo($sp, PATHINFO_DIRNAME) . '/';
+ $fn = pathinfo($sp, PATHINFO_FILENAME);
+ $num = str_pad($i, 2, 0, STR_PAD_LEFT);
+ $arr = explode('.' , $fn);
+ if (isset($arr[1])) {
+ rename ($dir . $sp, $dn . $num . '.' . $arr[1] . '.md');
+ } else {
+ rename($dir . $sp, $dn . $num . '.' . $fn . '.md');
+ }
+
+ $i++;
+
+ }
+
+ rebuilt_cache();
+}
+
+// Return image gallery in pager.
+function image_gallery($images, $page = 1, $perpage = 0)
+{
+ if (empty($images)) {
+ $images = scan_images();
+ }
+ $tmp = '';
+ $pagination = has_pagination(count($images), $perpage, $page);
+ $images = array_slice($images, ($page - 1) * $perpage, $perpage);
+ $tmp .= '';
+ foreach ($images as $index => $v) {
+ $tmp .= '
';
+ }
+ $tmp .= '
';
+ if (!empty($pagination['prev'])) {
+ $prev = $page - 1;
+ $tmp .= '← '. i18n('Prev') .'';
+ }
+ if (!empty($pagination['next'])) {
+ $next = $page + 1;
+ $tmp .= ''. i18n('Next') .' →';
+ }
+ $tmp .= '';
+ return $tmp;
+}
+
+function authorized ($data = null)
+{
+ if (login()) {
+ if (is_null($data)) {
+ return false;
+ }
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (isset($data->author)) {
+ if ($user === $data->author || $role === 'editor' || $role === 'admin') {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ if ($role === 'editor' || $role === 'admin') {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+}
+
+// Add search index
+function add_search_index($id, $content)
+{
+ $dir = 'content/data/';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ $filename = "content/data/search.json";
+ $search = array();
+ if (file_exists($filename)) {
+ $search = json_decode(file_get_data($filename), true);
+ }
+ if (isset($search['flock_fail'])) {
+ return;
+ } else {
+ if (!isset($search[$id])) {
+ $search[$id] = $content;
+ save_json_pretty($filename, $search);
+ }
+ }
+}
\ No newline at end of file
diff --git a/system/admin/editor/LICENSE.txt b/system/admin/editor/LICENSE.txt
new file mode 100755
index 0000000..d4c1099
--- /dev/null
+++ b/system/admin/editor/LICENSE.txt
@@ -0,0 +1,32 @@
+A javascript port of Markdown, as used on Stack Overflow
+and the rest of Stack Exchange network.
+
+Largely based on showdown.js by John Fraser (Attacklab).
+
+Original Markdown Copyright (c) 2004-2005 John Gruber
+
+
+
+Original Showdown code copyright (c) 2007 John Fraser
+
+Modifications and bugfixes (c) 2009 Dana Robinson
+Modifications and bugfixes (c) 2009-2013 Stack Exchange Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
diff --git a/system/admin/editor/css/editor.css b/system/admin/editor/css/editor.css
new file mode 100755
index 0000000..580172f
--- /dev/null
+++ b/system/admin/editor/css/editor.css
@@ -0,0 +1,184 @@
+body {
+ font-family: Georgia, sans-serif;
+}
+
+blockquote {
+ border-left: 2px dotted #888;
+ padding-left: 5px;
+ background: #F6F7F9;
+}
+
+.wmd-panel {
+ float: left;
+}
+
+.wmd-button-bar {
+ background-color: #F6F7F9;
+ padding: 5px 0;
+ margin-bottom: 10px;
+ width: 100%;
+ border: 1px solid #CFDAE5;
+ border-radius:5px;
+ display: block;
+ float: left;
+}
+.dark-mode .wmd-button-bar {
+ background-color: #292d32;
+ border-color: #292d32 !important;
+}
+.wmd-button-bar:hover {
+ border: 1px solid #CCCCCC;
+}
+
+.wmd-input {
+ min-height: 300px;
+}
+
+.wmd-preview {
+ background-color: #E4EBF1;
+ float: left;
+ padding: 2%;
+}
+
+.wmd-preview table {
+ margin: 20px 0;
+}
+
+.wmd-preview td, .wmd-preview th {
+ border-right: 1px solid #ccc;
+ padding: 8px 12px;
+}
+
+.wmd-preview td:last-child, .wmd-preview th:last-child {
+ border-right: none;
+}
+
+.wmd-preview td {
+ border-top: 1px solid #ccc;
+}
+
+.wmd-button-row {
+ position: relative;
+ margin: 0px;
+ padding: 0px;
+}
+
+.wmd-spacer {
+ width: 1px;
+ height: 20px;
+ background-color: Silver;
+ list-style: none;
+ float: left;
+ margin: 5px;
+}
+
+.wmd-button {
+ list-style: none;
+ cursor: pointer;
+ float: left;
+}
+
+.wmd-button > span {
+ background-repeat: no-repeat;
+ background-position: 0px 0px;
+ display: inline-block;
+}
+
+.dark-mode .wmd-button > span.btn-light {
+ color: #fff;
+ background-color: #292d32;
+ border-color: #292d32;
+ box-shadow: none;
+}
+.dark-mode .wmd-button > span.btn-light:not(.disabled):hover {
+ background-color: #171a1d;
+ border-color: #343a40;
+}
+.wmd-spacer1 {
+ left: 50px;
+}
+
+.wmd-spacer2 {
+ left: 175px;
+}
+
+.wmd-spacer3 {
+ left: 300px;
+}
+
+.wmd-prompt-background {
+ background-color: Black;
+}
+
+.wmd-prompt-dialog {
+ border: 1px solid #999999;
+ background-color: #F5F5F5;
+}
+
+.wmd-prompt-dialog > div {
+ font-size: 0.8em;
+ font-family: arial, helvetica, sans-serif;
+}
+
+.wmd-prompt-dialog > form > input[type="text"] {
+ border: 1px solid #999999;
+ color: black;
+}
+
+.wmd-prompt-dialog > form > input[type="button"] {
+ border: 1px solid #888888;
+ font-family: trebuchet MS, helvetica, sans-serif;
+ font-size: 0.8em;
+ font-weight: bold;
+}
+
+pre {
+ margin: 1em 0;
+ overflow: auto;
+ background: #F1F1FF;
+}
+
+pre code {
+ color: #333333;
+ display: block;
+ font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
+ font-size: 14px;
+ padding: 5px 10px;
+}
+
+@media all and (max-width: 980px) {
+
+ .nav {
+ width: 100%;
+ padding: 2%;
+ }
+
+ .wmd-panel, .wmd-preview {
+ width: 96%;
+ float: left;
+ padding: 2%;
+ }
+
+ pre {
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ }
+
+}
+
+.notice {
+ position: fixed;
+ bottom: 20px;
+ right: 20px;
+ padding: 10px 20px;
+ background-color: #f0f9ff;
+ border: 1px solid #e0e0e0;
+ border-radius: 5px;
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
+ font-size: 14px;
+ color: #333;
+ z-index: 999;
+ display: flex;
+ align-items: center;
+ display: none;
+}
\ No newline at end of file
diff --git a/system/admin/editor/js/Markdown.Converter.js b/system/admin/editor/js/Markdown.Converter.js
new file mode 100755
index 0000000..60e0bb5
--- /dev/null
+++ b/system/admin/editor/js/Markdown.Converter.js
@@ -0,0 +1,1428 @@
+var Markdown;
+
+if (typeof exports === "object" && typeof require === "function") // we're in a CommonJS (e.g. Node.js) module
+ Markdown = exports;
+else
+ Markdown = {};
+
+// The following text is included for historical reasons, but should
+// be taken with a pinch of salt; it's not all true anymore.
+
+//
+// Wherever possible, Showdown is a straight, line-by-line port
+// of the Perl version of Markdown.
+//
+// This is not a normal parser design; it's basically just a
+// series of string substitutions. It's hard to read and
+// maintain this way, but keeping Showdown close to the original
+// design makes it easier to port new features.
+//
+// More importantly, Showdown behaves like markdown.pl in most
+// edge cases. So web applications can do client-side preview
+// in Javascript, and then build identical HTML on the server.
+//
+// This port needs the new RegExp functionality of ECMA 262,
+// 3rd Edition (i.e. Javascript 1.5). Most modern web browsers
+// should do fine. Even with the new regular expression features,
+// We do a lot of work to emulate Perl's regex functionality.
+// The tricky changes in this file mostly have the "attacklab:"
+// label. Major or self-explanatory changes don't.
+//
+// Smart diff tools like Araxis Merge will be able to match up
+// this file with markdown.pl in a useful way. A little tweaking
+// helps: in a copy of markdown.pl, replace "#" with "//" and
+// replace "$text" with "text". Be sure to ignore whitespace
+// and line endings.
+//
+
+
+//
+// Usage:
+//
+// var text = "Markdown *rocks*.";
+//
+// var converter = new Markdown.Converter();
+// var html = converter.makeHtml(text);
+//
+// alert(html);
+//
+// Note: move the sample code to the bottom of this
+// file before uncommenting it.
+//
+
+(function () {
+
+ function identity(x) {
+ return x;
+ }
+
+ function returnFalse(x) {
+ return false;
+ }
+
+ function HookCollection() {
+ }
+
+ HookCollection.prototype = {
+
+ chain: function (hookname, func) {
+ var original = this[hookname];
+ if (!original)
+ throw new Error("unknown hook " + hookname);
+
+ if (original === identity)
+ this[hookname] = func;
+ else
+ this[hookname] = function (text) {
+ var args = Array.prototype.slice.call(arguments, 0);
+ args[0] = original.apply(null, args);
+ return func.apply(null, args);
+ };
+ },
+ set: function (hookname, func) {
+ if (!this[hookname])
+ throw new Error("unknown hook " + hookname);
+ this[hookname] = func;
+ },
+ addNoop: function (hookname) {
+ this[hookname] = identity;
+ },
+ addFalse: function (hookname) {
+ this[hookname] = returnFalse;
+ }
+ };
+
+ Markdown.HookCollection = HookCollection;
+
+ // g_urls and g_titles allow arbitrary user-entered strings as keys. This
+ // caused an exception (and hence stopped the rendering) when the user entered
+ // e.g. [push] or [__proto__]. Adding a prefix to the actual key prevents this
+ // (since no builtin property starts with "s_"). See
+ // http://meta.stackoverflow.com/questions/64655/strange-wmd-bug
+ // (granted, switching from Array() to Object() alone would have left only __proto__
+ // to be a problem)
+ function SaveHash() {
+ }
+
+ SaveHash.prototype = {
+ set: function (key, value) {
+ this["s_" + key] = value;
+ },
+ get: function (key) {
+ return this["s_" + key];
+ }
+ };
+
+ Markdown.Converter = function () {
+ var pluginHooks = this.hooks = new HookCollection();
+
+ // given a URL that was encountered by itself (without markup), should return the link text that's to be given to this link
+ pluginHooks.addNoop("plainLinkText");
+
+ // called with the orignal text as given to makeHtml. The result of this plugin hook is the actual markdown source that will be cooked
+ pluginHooks.addNoop("preConversion");
+
+ // called with the text once all normalizations have been completed (tabs to spaces, line endings, etc.), but before any conversions have
+ pluginHooks.addNoop("postNormalization");
+
+ // Called with the text before / after creating block elements like code blocks and lists. Note that this is called recursively
+ // with inner content, e.g. it's called with the full text, and then only with the content of a blockquote. The inner
+ // call will receive outdented text.
+ pluginHooks.addNoop("preBlockGamut");
+ pluginHooks.addNoop("postBlockGamut");
+
+ // called with the text of a single block element before / after the span-level conversions (bold, code spans, etc.) have been made
+ pluginHooks.addNoop("preSpanGamut");
+ pluginHooks.addNoop("postSpanGamut");
+
+ // called with the final cooked HTML code. The result of this plugin hook is the actual output of makeHtml
+ pluginHooks.addNoop("postConversion");
+
+ //
+ // Private state of the converter instance:
+ //
+
+ // Global hashes, used by various utility routines
+ var g_urls;
+ var g_titles;
+ var g_html_blocks;
+
+ // Used to track when we're inside an ordered or unordered list
+ // (see _ProcessListItems() for details):
+ var g_list_level;
+
+ this.makeHtml = function (text) {
+
+ //
+ // Main function. The order in which other subs are called here is
+ // essential. Link and image substitutions need to happen before
+ // _EscapeSpecialCharsWithinTagAttributes(), so that any *'s or _'s in the
+ // and
tags get encoded.
+ //
+
+ // This will only happen if makeHtml on the same converter instance is called from a plugin hook.
+ // Don't do that.
+ if (g_urls)
+ throw new Error("Recursive call to converter.makeHtml");
+
+ // Create the private state objects.
+ g_urls = new SaveHash();
+ g_titles = new SaveHash();
+ g_html_blocks = [];
+ g_list_level = 0;
+
+ text = pluginHooks.preConversion(text);
+
+ // attacklab: Replace ~ with ~T
+ // This lets us use tilde as an escape char to avoid md5 hashes
+ // The choice of character is arbitray; anything that isn't
+ // magic in Markdown will work.
+ text = text.replace(/~/g, "~T");
+
+ // attacklab: Replace $ with ~D
+ // RegExp interprets $ as a special character
+ // when it's in a replacement string
+ text = text.replace(/\$/g, "~D");
+
+ // Standardize line endings
+ text = text.replace(/\r\n/g, "\n"); // DOS to Unix
+ text = text.replace(/\r/g, "\n"); // Mac to Unix
+
+ // Make sure text begins and ends with a couple of newlines:
+ text = "\n\n" + text + "\n\n";
+
+ // Convert all tabs to spaces.
+ text = _Detab(text);
+
+ // Strip any lines consisting only of spaces and tabs.
+ // This makes subsequent regexen easier to write, because we can
+ // match consecutive blank lines with /\n+/ instead of something
+ // contorted like /[ \t]*\n+/ .
+ text = text.replace(/^[ \t]+$/mg, "");
+
+ text = pluginHooks.postNormalization(text);
+
+ // Turn block-level HTML blocks into hash entries
+ text = _HashHTMLBlocks(text);
+
+ // Strip link definitions, store in hashes.
+ text = _StripLinkDefinitions(text);
+
+ text = _RunBlockGamut(text);
+
+ text = _UnescapeSpecialChars(text);
+
+ // attacklab: Restore dollar signs
+ text = text.replace(/~D/g, "$$");
+
+ // attacklab: Restore tildes
+ text = text.replace(/~T/g, "~");
+
+ text = pluginHooks.postConversion(text);
+
+ g_html_blocks = g_titles = g_urls = null;
+
+ return text;
+ };
+
+ function _StripLinkDefinitions(text) {
+ //
+ // Strips link definitions from text, stores the URLs and titles in
+ // hash references.
+ //
+
+ // Link defs are in the form: ^[id]: url "optional title"
+
+ /*
+ text = text.replace(/
+ ^[ ]{0,3}\[(.+)\]: // id = $1 attacklab: g_tab_width - 1
+ [ \t]*
+ \n? // maybe *one* newline
+ [ \t]*
+ (\S+?)>? // url = $2
+ (?=\s|$) // lookahead for whitespace instead of the lookbehind removed below
+ [ \t]*
+ \n? // maybe one newline
+ [ \t]*
+ ( // (potential) title = $3
+ (\n*) // any lines skipped = $4 attacklab: lookbehind removed
+ [ \t]+
+ ["(]
+ (.+?) // title = $5
+ [")]
+ [ \t]*
+ )? // title is optional
+ (?:\n+|$)
+ /gm, function(){...});
+ */
+
+ text = text.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*(\S+?)>?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm,
+ function (wholeMatch, m1, m2, m3, m4, m5) {
+ m1 = m1.toLowerCase();
+ g_urls.set(m1, _EncodeAmpsAndAngles(m2)); // Link IDs are case-insensitive
+ if (m4) {
+ // Oops, found blank lines, so it's not a title.
+ // Put back the parenthetical statement we stole.
+ return m3;
+ } else if (m5) {
+ g_titles.set(m1, m5.replace(/"/g, """));
+ }
+
+ // Completely remove the definition from the text
+ return "";
+ }
+ );
+
+ return text;
+ }
+
+ function _HashHTMLBlocks(text) {
+
+ // Hashify HTML blocks:
+ // We only want to do this for block-level HTML tags, such as headers,
+ // lists, and tables. That's because we still want to wrap s around
+ // "paragraphs" that are wrapped in non-block-level tags, such as anchors,
+ // phrase emphasis, and spans. The list of tags we're looking for is
+ // hard-coded:
+ var block_tags_a = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del"
+ var block_tags_b = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math"
+
+ // First, look for nested blocks, e.g.:
+ //
+ //
+ // tags for inner block must be indented.
+ //
+ //
+ //
+ // The outermost tags must start at the left margin for this to match, and
+ // the inner nested divs must be indented.
+ // We need to do this before the next, more liberal match, because the next
+ // match will start at the first `` and stop at the first ``.
+
+ // attacklab: This regex can be expensive when it fails.
+
+ /*
+ text = text.replace(/
+ ( // save in $1
+ ^ // start of line (with /m)
+ <($block_tags_a) // start tag = $2
+ \b // word break
+ // attacklab: hack around khtml/pcre bug...
+ [^\r]*?\n // any number of lines, minimally matching
+ \2> // the matching end tag
+ [ \t]* // trailing spaces/tabs
+ (?=\n+) // followed by a newline
+ ) // attacklab: there are sentinel newlines at end of document
+ /gm,function(){...}};
+ */
+ text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm, hashElement);
+
+ //
+ // Now match more liberally, simply from `\n` to ` \n`
+ //
+
+ /*
+ text = text.replace(/
+ ( // save in $1
+ ^ // start of line (with /m)
+ <($block_tags_b) // start tag = $2
+ \b // word break
+ // attacklab: hack around khtml/pcre bug...
+ [^\r]*? // any number of lines, minimally matching
+ .*\2> // the matching end tag
+ [ \t]* // trailing spaces/tabs
+ (?=\n+) // followed by a newline
+ ) // attacklab: there are sentinel newlines at end of document
+ /gm,function(){...}};
+ */
+ text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm, hashElement);
+
+ // Special case just for
. It was easier to make a special case than
+ // to make the other regex more complicated.
+
+ /*
+ text = text.replace(/
+ \n // Starting after a blank line
+ [ ]{0,3}
+ ( // save in $1
+ (<(hr) // start tag = $2
+ \b // word break
+ ([^<>])*?
+ \/?>) // the matching end tag
+ [ \t]*
+ (?=\n{2,}) // followed by a blank line
+ )
+ /g,hashElement);
+ */
+ text = text.replace(/\n[ ]{0,3}((<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g, hashElement);
+
+ // Special case for standalone HTML comments:
+
+ /*
+ text = text.replace(/
+ \n\n // Starting after a blank line
+ [ ]{0,3} // attacklab: g_tab_width - 1
+ ( // save in $1
+ -]|-[^>])(?:[^-]|-[^-])*)--) // see http://www.w3.org/TR/html-markup/syntax.html#comments and http://meta.stackoverflow.com/q/95256
+ >
+ [ \t]*
+ (?=\n{2,}) // followed by a blank line
+ )
+ /g,hashElement);
+ */
+ text = text.replace(/\n\n[ ]{0,3}(-]|-[^>])(?:[^-]|-[^-])*)--)>[ \t]*(?=\n{2,}))/g, hashElement);
+
+ // PHP and ASP-style processor instructions (...?> and <%...%>)
+
+ /*
+ text = text.replace(/
+ (?:
+ \n\n // Starting after a blank line
+ )
+ ( // save in $1
+ [ ]{0,3} // attacklab: g_tab_width - 1
+ (?:
+ <([?%]) // $2
+ [^\r]*?
+ \2>
+ )
+ [ \t]*
+ (?=\n{2,}) // followed by a blank line
+ )
+ /g,hashElement);
+ */
+ text = text.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g, hashElement);
+
+ return text;
+ }
+
+ function hashElement(wholeMatch, m1) {
+ var blockText = m1;
+
+ // Undo double lines
+ blockText = blockText.replace(/^\n+/, "");
+
+ // strip trailing blank lines
+ blockText = blockText.replace(/\n+$/g, "");
+
+ // Replace the element text with a marker ("~KxK" where x is its key)
+ blockText = "\n\n~K" + (g_html_blocks.push(blockText) - 1) + "K\n\n";
+
+ return blockText;
+ }
+
+ var blockGamutHookCallback = function (t) {
+ return _RunBlockGamut(t);
+ }
+
+ function _RunBlockGamut(text, doNotUnhash) {
+ //
+ // These are all the transformations that form block-level
+ // tags like paragraphs, headers, and list items.
+ //
+
+ text = pluginHooks.preBlockGamut(text, blockGamutHookCallback);
+
+ text = _DoHeaders(text);
+
+ // Do Horizontal Rules:
+ var replacement = "
\n";
+ text = text.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm, replacement);
+ text = text.replace(/^[ ]{0,2}([ ]?-[ ]?){3,}[ \t]*$/gm, replacement);
+ text = text.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \t]*$/gm, replacement);
+
+ text = _DoLists(text);
+ text = _DoCodeBlocks(text);
+ text = _DoBlockQuotes(text);
+
+ text = pluginHooks.postBlockGamut(text, blockGamutHookCallback);
+
+ // We already ran _HashHTMLBlocks() before, in Markdown(), but that
+ // was to escape raw HTML in the original Markdown source. This time,
+ // we're escaping the markup we've just created, so that we don't wrap
+ // tags around block-level tags.
+ text = _HashHTMLBlocks(text);
+ text = _FormParagraphs(text, doNotUnhash);
+
+ return text;
+ }
+
+ function _RunSpanGamut(text) {
+ //
+ // These are all the transformations that occur *within* block-level
+ // tags like paragraphs, headers, and list items.
+ //
+
+ text = pluginHooks.preSpanGamut(text);
+
+ text = _DoCodeSpans(text);
+ text = _EscapeSpecialCharsWithinTagAttributes(text);
+ text = _EncodeBackslashEscapes(text);
+
+ // Process anchor and image tags. Images must come first,
+ // because ![foo][f] looks like an anchor.
+ text = _DoImages(text);
+ text = _DoAnchors(text);
+
+ // Make links out of things like ` `
+ // Must come after _DoAnchors(), because you can use < and >
+ // delimiters in inline links like [this]().
+ text = _DoAutoLinks(text);
+
+ text = text.replace(/~P/g, "://"); // put in place to prevent autolinking; reset now
+
+ text = _EncodeAmpsAndAngles(text);
+ text = _DoItalicsAndBold(text);
+
+ // Do hard breaks:
+ text = text.replace(/ +\n/g, "
\n");
+
+ text = pluginHooks.postSpanGamut(text);
+
+ return text;
+ }
+
+ function _EscapeSpecialCharsWithinTagAttributes(text) {
+ //
+ // Within tags -- meaning between < and > -- encode [\ ` * _] so they
+ // don't conflict with their use in Markdown for code, italics and strong.
+ //
+
+ // Build a regex to find HTML tags and comments. See Friedl's
+ // "Mastering Regular Expressions", 2nd Ed., pp. 200-201.
+
+ // SE: changed the comment part of the regex
+
+ var regex = /(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|-]|-[^>])(?:[^-]|-[^-])*)--)>)/gi;
+
+ text = text.replace(regex, function (wholeMatch) {
+ var tag = wholeMatch.replace(/(.)<\/?code>(?=.)/g, "$1`");
+ tag = escapeCharacters(tag, wholeMatch.charAt(1) == "!" ? "\\`*_/" : "\\`*_"); // also escape slashes in comments to prevent autolinking there -- http://meta.stackoverflow.com/questions/95987
+ return tag;
+ });
+
+ return text;
+ }
+
+ function _DoAnchors(text) {
+ //
+ // Turn Markdown link shortcuts into XHTML tags.
+ //
+ //
+ // First, handle reference-style links: [link text] [id]
+ //
+
+ /*
+ text = text.replace(/
+ ( // wrap whole match in $1
+ \[
+ (
+ (?:
+ \[[^\]]*\] // allow brackets nested one level
+ |
+ [^\[] // or anything else
+ )*
+ )
+ \]
+
+ [ ]? // one optional space
+ (?:\n[ ]*)? // one optional newline followed by spaces
+
+ \[
+ (.*?) // id = $3
+ \]
+ )
+ ()()()() // pad remaining backreferences
+ /g, writeAnchorTag);
+ */
+ text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, writeAnchorTag);
+
+ //
+ // Next, inline-style links: [link text](url "optional title")
+ //
+
+ /*
+ text = text.replace(/
+ ( // wrap whole match in $1
+ \[
+ (
+ (?:
+ \[[^\]]*\] // allow brackets nested one level
+ |
+ [^\[\]] // or anything else
+ )*
+ )
+ \]
+ \( // literal paren
+ [ \t]*
+ () // no id, so leave $3 empty
+ ( // href = $4
+ (?:
+ \([^)]*\) // allow one level of (correctly nested) parens (think MSDN)
+ |
+ [^()\s]
+ )*?
+ )>?
+ [ \t]*
+ ( // $5
+ (['"]) // quote char = $6
+ (.*?) // Title = $7
+ \6 // matching quote
+ [ \t]* // ignore any spaces/tabs between closing quote and )
+ )? // title is optional
+ \)
+ )
+ /g, writeAnchorTag);
+ */
+
+ text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()((?:\([^)]*\)|[^()\s])*?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, writeAnchorTag);
+
+ //
+ // Last, handle reference-style shortcuts: [link text]
+ // These must come last in case you've also got [link test][1]
+ // or [link test](/foo)
+ //
+
+ /*
+ text = text.replace(/
+ ( // wrap whole match in $1
+ \[
+ ([^\[\]]+) // link text = $2; can't contain '[' or ']'
+ \]
+ )
+ ()()()()() // pad rest of backreferences
+ /g, writeAnchorTag);
+ */
+ text = text.replace(/(\[([^\[\]]+)\])()()()()()/g, writeAnchorTag);
+
+ return text;
+ }
+
+ function writeAnchorTag(wholeMatch, m1, m2, m3, m4, m5, m6, m7) {
+ if (m7 == undefined) m7 = "";
+ var whole_match = m1;
+ var link_text = m2.replace(/:\/\//g, "~P"); // to prevent auto-linking withing the link. will be converted back after the auto-linker runs
+ var link_id = m3.toLowerCase();
+ var url = m4;
+ var title = m7;
+
+ if (url == "") {
+ if (link_id == "") {
+ // lower-case and turn embedded newlines into spaces
+ link_id = link_text.toLowerCase().replace(/ ?\n/g, " ");
+ }
+ url = "#" + link_id;
+
+ if (g_urls.get(link_id) != undefined) {
+ url = g_urls.get(link_id);
+ if (g_titles.get(link_id) != undefined) {
+ title = g_titles.get(link_id);
+ }
+ }
+ else {
+ if (whole_match.search(/\(\s*\)$/m) > -1) {
+ // Special case for explicit empty url
+ url = "";
+ } else {
+ return whole_match;
+ }
+ }
+ }
+ url = encodeProblemUrlChars(url);
+ url = escapeCharacters(url, "*_");
+ var result = "" + link_text + "";
+
+ return result;
+ }
+
+ function _DoImages(text) {
+ //
+ // Turn Markdown image shortcuts into
tags.
+ //
+
+ //
+ // First, handle reference-style labeled images: ![alt text][id]
+ //
+
+ /*
+ text = text.replace(/
+ ( // wrap whole match in $1
+ !\[
+ (.*?) // alt text = $2
+ \]
+
+ [ ]? // one optional space
+ (?:\n[ ]*)? // one optional newline followed by spaces
+
+ \[
+ (.*?) // id = $3
+ \]
+ )
+ ()()()() // pad rest of backreferences
+ /g, writeImageTag);
+ */
+ text = text.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, writeImageTag);
+
+ //
+ // Next, handle inline images: 
+ // Don't forget: encode * and _
+
+ /*
+ text = text.replace(/
+ ( // wrap whole match in $1
+ !\[
+ (.*?) // alt text = $2
+ \]
+ \s? // One optional whitespace character
+ \( // literal paren
+ [ \t]*
+ () // no id, so leave $3 empty
+ (\S+?)>? // src url = $4
+ [ \t]*
+ ( // $5
+ (['"]) // quote char = $6
+ (.*?) // title = $7
+ \6 // matching quote
+ [ \t]*
+ )? // title is optional
+ \)
+ )
+ /g, writeImageTag);
+ */
+ text = text.replace(/(!\[(.*?)\]\s?\([ \t]*()(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, writeImageTag);
+
+ return text;
+ }
+
+ function attributeEncode(text) {
+ // unconditionally replace angle brackets here -- what ends up in an attribute (e.g. alt or title)
+ // never makes sense to have verbatim HTML in it (and the sanitizer would totally break it)
+ return text.replace(/>/g, ">").replace(/";
+
+ return result;
+ }
+
+ function _DoHeaders(text) {
+
+ // Setext-style headers:
+ // Header 1
+ // ========
+ //
+ // Header 2
+ // --------
+ //
+ text = text.replace(/^(.+)[ \t]*\n=+[ \t]*\n+/gm,
+ function (wholeMatch, m1) {
+ return "" + _RunSpanGamut(m1) + "
\n\n";
+ }
+ );
+
+ text = text.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,
+ function (matchFound, m1) {
+ return "" + _RunSpanGamut(m1) + "
\n\n";
+ }
+ );
+
+ // atx-style headers:
+ // # Header 1
+ // ## Header 2
+ // ## Header 2 with closing hashes ##
+ // ...
+ // ###### Header 6
+ //
+
+ /*
+ text = text.replace(/
+ ^(\#{1,6}) // $1 = string of #'s
+ [ \t]*
+ (.+?) // $2 = Header text
+ [ \t]*
+ \#* // optional closing #'s (not counted)
+ \n+
+ /gm, function() {...});
+ */
+
+ text = text.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,
+ function (wholeMatch, m1, m2) {
+ var h_level = m1.length;
+ return "" + _RunSpanGamut(m2) + " \n\n";
+ }
+ );
+
+ return text;
+ }
+
+ function _DoLists(text, isInsideParagraphlessListItem) {
+ //
+ // Form HTML ordered (numbered) and unordered (bulleted) lists.
+ //
+
+ // attacklab: add sentinel to hack around khtml/safari bug:
+ // http://bugs.webkit.org/show_bug.cgi?id=11231
+ text += "~0";
+
+ // Re-usable pattern to match any entirel ul or ol list:
+
+ /*
+ var whole_list = /
+ ( // $1 = whole list
+ ( // $2
+ [ ]{0,3} // attacklab: g_tab_width - 1
+ ([*+-]|\d+[.]) // $3 = first list item marker
+ [ \t]+
+ )
+ [^\r]+?
+ ( // $4
+ ~0 // sentinel for workaround; should be $
+ |
+ \n{2,}
+ (?=\S)
+ (?! // Negative lookahead for another list item marker
+ [ \t]*
+ (?:[*+-]|\d+[.])[ \t]+
+ )
+ )
+ )
+ /g
+ */
+ var whole_list = /^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+
+ if (g_list_level) {
+ text = text.replace(whole_list, function (wholeMatch, m1, m2) {
+ var list = m1;
+ var list_type = (m2.search(/[*+-]/g) > -1) ? "ul" : "ol";
+
+ var result = _ProcessListItems(list, list_type, isInsideParagraphlessListItem);
+
+ // Trim any trailing whitespace, to put the closing `$list_type>`
+ // up on the preceding line, to get it past the current stupid
+ // HTML block parser. This is a hack to work around the terrible
+ // hack that is the HTML block parser.
+ result = result.replace(/\s+$/, "");
+ result = "<" + list_type + ">" + result + "" + list_type + ">\n";
+ return result;
+ });
+ } else {
+ whole_list = /(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g;
+ text = text.replace(whole_list, function (wholeMatch, m1, m2, m3) {
+ var runup = m1;
+ var list = m2;
+
+ var list_type = (m3.search(/[*+-]/g) > -1) ? "ul" : "ol";
+ var result = _ProcessListItems(list, list_type);
+ result = runup + "<" + list_type + ">\n" + result + "" + list_type + ">\n";
+ return result;
+ });
+ }
+
+ // attacklab: strip sentinel
+ text = text.replace(/~0/, "");
+
+ return text;
+ }
+
+ var _listItemMarkers = {ol: "\\d+[.]", ul: "[*+-]"};
+
+ function _ProcessListItems(list_str, list_type, isInsideParagraphlessListItem) {
+ //
+ // Process the contents of a single ordered or unordered list, splitting it
+ // into individual list items.
+ //
+ // list_type is either "ul" or "ol".
+
+ // The $g_list_level global keeps track of when we're inside a list.
+ // Each time we enter a list, we increment it; when we leave a list,
+ // we decrement. If it's zero, we're not in a list anymore.
+ //
+ // We do this because when we're not inside a list, we want to treat
+ // something like this:
+ //
+ // I recommend upgrading to version
+ // 8. Oops, now this line is treated
+ // as a sub-list.
+ //
+ // As a single paragraph, despite the fact that the second line starts
+ // with a digit-period-space sequence.
+ //
+ // Whereas when we're inside a list (or sub-list), that line will be
+ // treated as the start of a sub-list. What a kludge, huh? This is
+ // an aspect of Markdown's syntax that's hard to parse perfectly
+ // without resorting to mind-reading. Perhaps the solution is to
+ // change the syntax rules such that sub-lists must start with a
+ // starting cardinal number; e.g. "1." or "a.".
+
+ g_list_level++;
+
+ // trim trailing blank lines:
+ list_str = list_str.replace(/\n{2,}$/, "\n");
+
+ // attacklab: add sentinel to emulate \z
+ list_str += "~0";
+
+ // In the original attacklab showdown, list_type was not given to this function, and anything
+ // that matched /[*+-]|\d+[.]/ would just create the next , causing this mismatch:
+ //
+ // Markdown rendered by WMD rendered by MarkdownSharp
+ // ------------------------------------------------------------------
+ // 1. first 1. first 1. first
+ // 2. second 2. second 2. second
+ // - third 3. third * third
+ //
+ // We changed this to behave identical to MarkdownSharp. This is the constructed RegEx,
+ // with {MARKER} being one of \d+[.] or [*+-], depending on list_type:
+
+ /*
+ list_str = list_str.replace(/
+ (^[ \t]*) // leading whitespace = $1
+ ({MARKER}) [ \t]+ // list marker = $2
+ ([^\r]+? // list item text = $3
+ (\n+)
+ )
+ (?=
+ (~0 | \2 ({MARKER}) [ \t]+)
+ )
+ /gm, function(){...});
+ */
+
+ var marker = _listItemMarkers[list_type];
+ var re = new RegExp("(^[ \\t]*)(" + marker + ")[ \\t]+([^\\r]+?(\\n+))(?=(~0|\\1(" + marker + ")[ \\t]+))", "gm");
+ var last_item_had_a_double_newline = false;
+ list_str = list_str.replace(re,
+ function (wholeMatch, m1, m2, m3) {
+ var item = m3;
+ var leading_space = m1;
+ var ends_with_double_newline = /\n\n$/.test(item);
+ var contains_double_newline = ends_with_double_newline || item.search(/\n{2,}/) > -1;
+
+ if (contains_double_newline || last_item_had_a_double_newline) {
+ item = _RunBlockGamut(_Outdent(item), /* doNotUnhash = */true);
+ }
+ else {
+ // Recursion for sub-lists:
+ item = _DoLists(_Outdent(item), /* isInsideParagraphlessListItem= */ true);
+ item = item.replace(/\n$/, ""); // chomp(item)
+ if (!isInsideParagraphlessListItem) // only the outer-most item should run this, otherwise it's run multiple times for the inner ones
+ item = _RunSpanGamut(item);
+ }
+ last_item_had_a_double_newline = ends_with_double_newline;
+ return " " + item + " \n";
+ }
+ );
+
+ // attacklab: strip sentinel
+ list_str = list_str.replace(/~0/g, "");
+
+ g_list_level--;
+ return list_str;
+ }
+
+ function _DoCodeBlocks(text) {
+ //
+ // Process Markdown `` blocks.
+ //
+
+ /*
+ text = text.replace(/
+ (?:\n\n|^)
+ ( // $1 = the code block -- one or more lines, starting with a space/tab
+ (?:
+ (?:[ ]{4}|\t) // Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width
+ .*\n+
+ )+
+ )
+ (\n*[ ]{0,3}[^ \t\n]|(?=~0)) // attacklab: g_tab_width
+ /g ,function(){...});
+ */
+
+ // attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
+ text += "~0";
+
+ text = text.replace(/(?:\n\n|^\n?)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,
+ function (wholeMatch, m1, m2) {
+ var codeblock = m1;
+ var nextChar = m2;
+
+ codeblock = _EncodeCode(_Outdent(codeblock));
+ codeblock = _Detab(codeblock);
+ codeblock = codeblock.replace(/^\n+/g, ""); // trim leading newlines
+ codeblock = codeblock.replace(/\n+$/g, ""); // trim trailing whitespace
+
+ codeblock = "" + codeblock + "\n
";
+
+ return "\n\n" + codeblock + "\n\n" + nextChar;
+ }
+ );
+
+ // attacklab: strip sentinel
+ text = text.replace(/~0/, "");
+
+ return text;
+ }
+
+ function hashBlock(text) {
+ text = text.replace(/(^\n+|\n+$)/g, "");
+ return "\n\n~K" + (g_html_blocks.push(text) - 1) + "K\n\n";
+ }
+
+ function _DoCodeSpans(text) {
+ //
+ // * Backtick quotes are used for
spans.
+ //
+ // * You can use multiple backticks as the delimiters if you want to
+ // include literal backticks in the code span. So, this input:
+ //
+ // Just type ``foo `bar` baz`` at the prompt.
+ //
+ // Will translate to:
+ //
+ // Just type foo `bar` baz
at the prompt.
+ //
+ // There's no arbitrary limit to the number of backticks you
+ // can use as delimters. If you need three consecutive backticks
+ // in your code, use four for delimiters, etc.
+ //
+ // * You can use spaces to get literal backticks at the edges:
+ //
+ // ... type `` `bar` `` ...
+ //
+ // Turns to:
+ //
+ // ... type `bar`
...
+ //
+
+ /*
+ text = text.replace(/
+ (^|[^\\]) // Character before opening ` can't be a backslash
+ (`+) // $2 = Opening run of `
+ ( // $3 = The code block
+ [^\r]*?
+ [^`] // attacklab: work around lack of lookbehind
+ )
+ \2 // Matching closer
+ (?!`)
+ /gm, function(){...});
+ */
+
+ text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
+ function (wholeMatch, m1, m2, m3, m4) {
+ var c = m3;
+ c = c.replace(/^([ \t]*)/g, ""); // leading whitespace
+ c = c.replace(/[ \t]*$/g, ""); // trailing whitespace
+ c = _EncodeCode(c);
+ c = c.replace(/:\/\//g, "~P"); // to prevent auto-linking. Not necessary in code *blocks*, but in code spans. Will be converted back after the auto-linker runs.
+ return m1 + "" + c + "
";
+ }
+ );
+
+ return text;
+ }
+
+ function _EncodeCode(text) {
+ //
+ // Encode/escape certain characters inside Markdown code runs.
+ // The point is that in code, these characters are literals,
+ // and lose their special Markdown meanings.
+ //
+ // Encode all ampersands; HTML entities are not
+ // entities within a Markdown code span.
+ text = text.replace(/&/g, "&");
+
+ // Do the angle bracket song and dance:
+ text = text.replace(//g, ">");
+
+ // Now, escape characters that are magic in Markdown:
+ text = escapeCharacters(text, "\*_{}[]\\", false);
+
+ // jj the line above breaks this:
+ //---
+
+ //* Item
+
+ // 1. Subitem
+
+ // special char: *
+ //---
+
+ return text;
+ }
+
+ function _DoItalicsAndBold(text) {
+
+ // must go first:
+ text = text.replace(/([\W_]|^)(\*\*|__)(?=\S)([^\r]*?\S[\*_]*)\2([\W_]|$)/g,
+ "$1$3$4");
+
+ text = text.replace(/([\W_]|^)(\*|_)(?=\S)([^\r\*_]*?\S)\2([\W_]|$)/g,
+ "$1$3$4");
+
+ return text;
+ }
+
+ function _DoBlockQuotes(text) {
+
+ /*
+ text = text.replace(/
+ ( // Wrap whole match in $1
+ (
+ ^[ \t]*>[ \t]? // '>' at the start of a line
+ .+\n // rest of the first line
+ (.+\n)* // subsequent consecutive lines
+ \n* // blanks
+ )+
+ )
+ /gm, function(){...});
+ */
+
+ text = text.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,
+ function (wholeMatch, m1) {
+ var bq = m1;
+
+ // attacklab: hack around Konqueror 3.5.4 bug:
+ // "----------bug".replace(/^-/g,"") == "bug"
+
+ bq = bq.replace(/^[ \t]*>[ \t]?/gm, "~0"); // trim one level of quoting
+
+ // attacklab: clean up hack
+ bq = bq.replace(/~0/g, "");
+
+ bq = bq.replace(/^[ \t]+$/gm, ""); // trim whitespace-only lines
+ bq = _RunBlockGamut(bq); // recurse
+
+ bq = bq.replace(/(^|\n)/g, "$1 ");
+ // These leading spaces screw with content, so we need to fix that:
+ bq = bq.replace(
+ /(\s*[^\r]+?<\/pre>)/gm,
+ function (wholeMatch, m1) {
+ var pre = m1;
+ // attacklab: hack around Konqueror 3.5.4 bug:
+ pre = pre.replace(/^ /mg, "~0");
+ pre = pre.replace(/~0/g, "");
+ return pre;
+ });
+
+ return hashBlock("\n" + bq + "\n
");
+ }
+ );
+ return text;
+ }
+
+ function _FormParagraphs(text, doNotUnhash) {
+ //
+ // Params:
+ // $text - string to process with html tags
+ //
+
+ // Strip leading and trailing lines:
+ text = text.replace(/^\n+/g, "");
+ text = text.replace(/\n+$/g, "");
+
+ var grafs = text.split(/\n{2,}/g);
+ var grafsOut = [];
+
+ var markerRe = /~K(\d+)K/;
+
+ //
+ // Wrap
tags.
+ //
+ var end = grafs.length;
+ for (var i = 0; i < end; i++) {
+ var str = grafs[i];
+
+ // if this is an HTML marker, copy it
+ if (markerRe.test(str)) {
+ grafsOut.push(str);
+ }
+ else if (/\S/.test(str)) {
+ str = _RunSpanGamut(str);
+ str = str.replace(/^([ \t]*)/g, "
");
+ str += "
"
+ grafsOut.push(str);
+ }
+
+ }
+ //
+ // Unhashify HTML blocks
+ //
+ if (!doNotUnhash) {
+ end = grafsOut.length;
+ for (var i = 0; i < end; i++) {
+ var foundAny = true;
+ while (foundAny) { // we may need several runs, since the data may be nested
+ foundAny = false;
+ grafsOut[i] = grafsOut[i].replace(/~K(\d+)K/g, function (wholeMatch, id) {
+ foundAny = true;
+ return g_html_blocks[id];
+ });
+ }
+ }
+ }
+ return grafsOut.join("\n\n");
+ }
+
+ function _EncodeAmpsAndAngles(text) {
+ // Smart processing for ampersands and angle brackets that need to be encoded.
+
+ // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:
+ // http://bumppo.net/projects/amputator/
+ text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, "&");
+
+ // Encode naked <'s
+ text = text.replace(/<(?![a-z\/?!]|~D)/gi, "<");
+
+ return text;
+ }
+
+ function _EncodeBackslashEscapes(text) {
+ //
+ // Parameter: String.
+ // Returns: The string, with after processing the following backslash
+ // escape sequences.
+ //
+
+ // attacklab: The polite way to do this is with the new
+ // escapeCharacters() function:
+ //
+ // text = escapeCharacters(text,"\\",true);
+ // text = escapeCharacters(text,"`*_{}[]()>#+-.!",true);
+ //
+ // ...but we're sidestepping its use of the (slow) RegExp constructor
+ // as an optimization for Firefox. This function gets called a LOT.
+
+ text = text.replace(/\\(\\)/g, escapeCharacters_callback);
+ text = text.replace(/\\([`*_{}\[\]()>#+-.!])/g, escapeCharacters_callback);
+ return text;
+ }
+
+ var charInsideUrl = "[-A-Z0-9+&@#/%?=~_|[\\]()!:,.;]",
+ charEndingUrl = "[-A-Z0-9+&@#/%=~_|[\\])]",
+ autoLinkRegex = new RegExp("(=\"|<)?\\b(https?|ftp)(://" + charInsideUrl + "*" + charEndingUrl + ")(?=$|\\W)", "gi"),
+ endCharRegex = new RegExp(charEndingUrl, "i");
+
+ function handleTrailingParens(wholeMatch, lookbehind, protocol, link) {
+ if (lookbehind)
+ return wholeMatch;
+ if (link.charAt(link.length - 1) !== ")")
+ return "<" + protocol + link + ">";
+ var parens = link.match(/[()]/g);
+ var level = 0;
+ for (var i = 0; i < parens.length; i++) {
+ if (parens[i] === "(") {
+ if (level <= 0)
+ level = 1;
+ else
+ level++;
+ }
+ else {
+ level--;
+ }
+ }
+ var tail = "";
+ if (level < 0) {
+ var re = new RegExp("\\){1," + (-level) + "}$");
+ link = link.replace(re, function (trailingParens) {
+ tail = trailingParens;
+ return "";
+ });
+ }
+ if (tail) {
+ var lastChar = link.charAt(link.length - 1);
+ if (!endCharRegex.test(lastChar)) {
+ tail = lastChar + tail;
+ link = link.substr(0, link.length - 1);
+ }
+ }
+ return "<" + protocol + link + ">" + tail;
+ }
+
+ function _DoAutoLinks(text) {
+
+ // note that at this point, all other URL in the text are already hyperlinked as
+ // *except* for the case
+
+ // automatically add < and > around unadorned raw hyperlinks
+ // must be preceded by a non-word character (and not by =" or <) and followed by non-word/EOF character
+ // simulating the lookbehind in a consuming way is okay here, since a URL can neither and with a " nor
+ // with a <, so there is no risk of overlapping matches.
+ text = text.replace(autoLinkRegex, handleTrailingParens);
+
+ // autolink anything like
+
+ var replacer = function (wholematch, m1) {
+ return "" + pluginHooks.plainLinkText(m1) + "";
+ }
+ text = text.replace(/<((https?|ftp):[^'">\s]+)>/gi, replacer);
+
+ // Email addresses:
+ /*
+ text = text.replace(/
+ <
+ (?:mailto:)?
+ (
+ [-.\w]+
+ \@
+ [-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+
+ )
+ >
+ /gi, _DoAutoLinks_callback());
+ */
+
+ /* disabling email autolinking, since we don't do that on the server, either
+ text = text.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,
+ function(wholeMatch,m1) {
+ return _EncodeEmailAddress( _UnescapeSpecialChars(m1) );
+ }
+ );
+ */
+ return text;
+ }
+
+ function _UnescapeSpecialChars(text) {
+ //
+ // Swap back in all the special characters we've hidden.
+ //
+ text = text.replace(/~E(\d+)E/g,
+ function (wholeMatch, m1) {
+ var charCodeToReplace = parseInt(m1);
+ return String.fromCharCode(charCodeToReplace);
+ }
+ );
+ return text;
+ }
+
+ function _Outdent(text) {
+ //
+ // Remove one level of line-leading tabs or spaces
+ //
+
+ // attacklab: hack around Konqueror 3.5.4 bug:
+ // "----------bug".replace(/^-/g,"") == "bug"
+
+ text = text.replace(/^(\t|[ ]{1,4})/gm, "~0"); // attacklab: g_tab_width
+
+ // attacklab: clean up hack
+ text = text.replace(/~0/g, "")
+
+ return text;
+ }
+
+ function _Detab(text) {
+ if (!/\t/.test(text))
+ return text;
+
+ var spaces = [" ", " ", " ", " "],
+ skew = 0,
+ v;
+
+ return text.replace(/[\n\t]/g, function (match, offset) {
+ if (match === "\n") {
+ skew = offset + 1;
+ return match;
+ }
+ v = (offset - skew) % 4;
+ skew = offset + 1;
+ return spaces[v];
+ });
+ }
+
+ //
+ // attacklab: Utility functions
+ //
+
+ var _problemUrlChars = /(?:["'*()[\]:]|~D)/g;
+
+ // hex-encodes some unusual "problem" chars in URLs to avoid URL detection problems
+ function encodeProblemUrlChars(url) {
+ if (!url)
+ return "";
+
+ var len = url.length;
+
+ return url.replace(_problemUrlChars, function (match, offset) {
+ if (match == "~D") // escape for dollar
+ return "%24";
+ if (match == ":") {
+ if (offset == len - 1 || /[0-9\/]/.test(url.charAt(offset + 1)))
+ return ":"
+ }
+ return "%" + match.charCodeAt(0).toString(16);
+ });
+ }
+
+
+ function escapeCharacters(text, charsToEscape, afterBackslash) {
+ // First we have to escape the escape characters so that
+ // we can build a character class out of them
+ var regexString = "([" + charsToEscape.replace(/([\[\]\\])/g, "\\$1") + "])";
+
+ if (afterBackslash) {
+ regexString = "\\\\" + regexString;
+ }
+
+ var regex = new RegExp(regexString, "g");
+ text = text.replace(regex, escapeCharacters_callback);
+
+ return text;
+ }
+
+
+ function escapeCharacters_callback(wholeMatch, m1) {
+ var charCodeToEscape = m1.charCodeAt(0);
+ return "~E" + charCodeToEscape + "E";
+ }
+
+ }; // end of the Markdown.Converter constructor
+
+})();
diff --git a/system/admin/editor/js/Markdown.Editor.js b/system/admin/editor/js/Markdown.Editor.js
new file mode 100755
index 0000000..bec160b
--- /dev/null
+++ b/system/admin/editor/js/Markdown.Editor.js
@@ -0,0 +1,2489 @@
+// needs Markdown.Converter.js at the moment
+
+(function () {
+
+ var util = {},
+ position = {},
+ ui = {},
+ doc = window.document,
+ re = window.RegExp,
+ nav = window.navigator,
+ SETTINGS = {lineLength: 72},
+
+ // Used to work around some browser bugs where we can't use feature testing.
+ uaSniffed = {
+ isIE: /msie/.test(nav.userAgent.toLowerCase()),
+ isIE_5or6: /msie 6/.test(nav.userAgent.toLowerCase()) || /msie 5/.test(nav.userAgent.toLowerCase()),
+ isOpera: /opera/.test(nav.userAgent.toLowerCase())
+ };
+
+ var defaultsStrings = {
+ bold: "Strong Ctrl+B",
+ boldexample: "strong text",
+
+ italic: "Emphasis Ctrl+I",
+ italicexample: "emphasized text",
+
+ strikethrough: "Strikethrough Ctrl+X",
+ strikethroughexample: "strikethrough text",
+
+ link: "Hyperlink Ctrl+L",
+ linkdescription: "enter link description here",
+ linkdialog: "Insert Hyperlink
https://example.com/ \"optional title\"
",
+
+ quote: "Blockquote Ctrl+Q",
+ quoteexample: "Blockquote",
+
+ code: "Code Ctrl+K",
+ codeexample: "enter code here",
+
+ image: "Image
Ctrl+G",
+ imagedescription: "enter image description here",
+ imagedialog: "Insert Image
https://example.com/images/diagram.jpg \"optional title\"
Need free image hosting?
",
+
+ olist: "Numbered List Ctrl+O",
+ ulist: "Bulleted List Ctrl+U",
+ litem: "List item",
+
+ heading: "Heading Ctrl+H",
+ headingexample: "Heading",
+
+ hr: "Horizontal Rule
Ctrl+R",
+
+ readmore: "Read More Ctrl+M",
+
+ toc: "TOC ",
+
+ table: "Table - Ctrl+J",
+
+ undo: "Undo - Ctrl+Z",
+ redo: "Redo - Ctrl+Y",
+ redomac: "Redo - Ctrl+Shift+Z",
+
+ help: "Markdown Editing Help"
+ };
+
+
+ // -------------------------------------------------------------------
+ // YOUR CHANGES GO HERE
+ //
+ // I've tried to localize the things you are likely to change to
+ // this area.
+ // -------------------------------------------------------------------
+
+ // The default text that appears in the dialog input box when entering
+ // links.
+ var imageDefaultText = "https://";
+ var linkDefaultText = "https://";
+
+ //Polyfill for node.remove() from MDN
+ // from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
+ (function (arr) {
+ arr.forEach(function (item) {
+ if (item.hasOwnProperty('remove')) {
+ return;
+ }
+ Object.defineProperty(item, 'remove', {
+ configurable: true,
+ enumerable: true,
+ writable: true,
+ value: function remove() {
+ this.parentNode.removeChild(this);
+ }
+ });
+ });
+ })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
+ // -------------------------------------------------------------------
+ // END OF YOUR CHANGES
+ // -------------------------------------------------------------------
+
+ // options, if given, can have the following properties:
+ // options.helpButton = { handler: yourEventHandler }
+ // options.strings = { italicexample: "slanted text" }
+ // `yourEventHandler` is the click handler for the help button.
+ // If `options.helpButton` isn't given, not help button is created.
+ // `options.strings` can have any or all of the same properties as
+ // `defaultStrings` above, so you can just override some string displayed
+ // to the user on a case-by-case basis, or translate all strings to
+ // a different language.
+ //
+ // For backwards compatibility reasons, the `options` argument can also
+ // be just the `helpButton` object, and `strings.help` can also be set via
+ // `helpButton.title`. This should be considered legacy.
+ //
+ // The constructed editor object has the methods:
+ // - getConverter() returns the markdown converter object that was passed to the constructor
+ // - run() actually starts the editor; should be called after all necessary plugins are registered. Calling this more than once is a no-op.
+ // - refreshPreview() forces the preview to be updated. This method is only available after run() was called.
+ Markdown.Editor = function (markdownConverter, idPostfix, options) {
+
+ options = options || {};
+
+ if (typeof options.handler === "function") { //backwards compatible behavior
+ options = {helpButton: options};
+ }
+ options.strings = options.strings || {};
+ if (options.helpButton) {
+ options.strings.help = options.strings.help || options.helpButton.title;
+ }
+ var getString = function (identifier) {
+ return options.strings[identifier] || defaultsStrings[identifier];
+ }
+
+ idPostfix = idPostfix || "";
+
+ var hooks = this.hooks = new Markdown.HookCollection();
+ hooks.addNoop("onPreviewRefresh"); // called with no arguments after the preview has been refreshed
+ hooks.addNoop("postBlockquoteCreation"); // called with the user's selection *after* the blockquote was created; should return the actual to-be-inserted text
+ hooks.addFalse("insertImageDialog");
+ /* called with one parameter: a callback to be called with the URL of the image. If the application creates
+ * its own image insertion dialog, this hook should return true, and the callback should be called with the chosen
+ * image url (or null if the user cancelled). If this hook returns false, the default dialog will be used.
+ */
+
+ this.getConverter = function () {
+ return markdownConverter;
+ }
+
+ var that = this,
+ panels;
+
+ this.run = function () {
+ if (panels)
+ return; // already initialized
+
+ panels = new PanelCollection(idPostfix);
+ var commandManager = new CommandManager(hooks, getString);
+ var previewManager = new PreviewManager(markdownConverter, panels, function () {
+ hooks.onPreviewRefresh();
+ });
+ var undoManager, uiManager;
+
+ if (!/\?noundo/.test(doc.location.href)) {
+ undoManager = new UndoManager(function () {
+ previewManager.refresh();
+ if (uiManager) // not available on the first call
+ uiManager.setUndoRedoButtonStates();
+ }, panels);
+ this.textOperation = function (f) {
+ undoManager.setCommandMode();
+ f();
+ that.refreshPreview();
+ }
+ }
+
+ uiManager = new UIManager(idPostfix, panels, undoManager, previewManager, commandManager, options.helpButton, getString);
+ uiManager.setUndoRedoButtonStates();
+
+ var forceRefresh = that.refreshPreview = function () {
+ previewManager.refresh(true);
+ };
+
+ forceRefresh();
+ };
+
+ }
+
+ // before: contains all the text in the input box BEFORE the selection.
+ // after: contains all the text in the input box AFTER the selection.
+ function Chunks() {
+ }
+
+ // startRegex: a regular expression to find the start tag
+ // endRegex: a regular expresssion to find the end tag
+ Chunks.prototype.findTags = function (startRegex, endRegex) {
+
+ var chunkObj = this;
+ var regex;
+
+ if (startRegex) {
+
+ regex = util.extendRegExp(startRegex, "", "$");
+
+ this.before = this.before.replace(regex,
+ function (match) {
+ chunkObj.startTag = chunkObj.startTag + match;
+ return "";
+ });
+
+ regex = util.extendRegExp(startRegex, "^", "");
+
+ this.selection = this.selection.replace(regex,
+ function (match) {
+ chunkObj.startTag = chunkObj.startTag + match;
+ return "";
+ });
+ }
+
+ if (endRegex) {
+
+ regex = util.extendRegExp(endRegex, "", "$");
+
+ this.selection = this.selection.replace(regex,
+ function (match) {
+ chunkObj.endTag = match + chunkObj.endTag;
+ return "";
+ });
+
+ regex = util.extendRegExp(endRegex, "^", "");
+
+ this.after = this.after.replace(regex,
+ function (match) {
+ chunkObj.endTag = match + chunkObj.endTag;
+ return "";
+ });
+ }
+ };
+
+ // If remove is false, the whitespace is transferred
+ // to the before/after regions.
+ //
+ // If remove is true, the whitespace disappears.
+ Chunks.prototype.trimWhitespace = function (remove) {
+ var beforeReplacer, afterReplacer, that = this;
+ if (remove) {
+ beforeReplacer = afterReplacer = "";
+ } else {
+ beforeReplacer = function (s) {
+ that.before += s;
+ return "";
+ }
+ afterReplacer = function (s) {
+ that.after = s + that.after;
+ return "";
+ }
+ }
+
+ this.selection = this.selection.replace(/^(\s*)/, beforeReplacer).replace(/(\s*)$/, afterReplacer);
+ };
+
+
+ Chunks.prototype.skipLines = function (nLinesBefore, nLinesAfter, findExtraNewlines) {
+
+ if (nLinesBefore === undefined) {
+ nLinesBefore = 1;
+ }
+
+ if (nLinesAfter === undefined) {
+ nLinesAfter = 1;
+ }
+
+ nLinesBefore++;
+ nLinesAfter++;
+
+ var regexText;
+ var replacementText;
+
+ // chrome bug ... documented at: http://meta.stackoverflow.com/questions/63307/blockquote-glitch-in-editor-in-chrome-6-and-7/65985#65985
+ if (navigator.userAgent.match(/Chrome/)) {
+ "X".match(/()./);
+ }
+
+ this.selection = this.selection.replace(/(^\n*)/, "");
+
+ this.startTag = this.startTag + re.$1;
+
+ this.selection = this.selection.replace(/(\n*$)/, "");
+ this.endTag = this.endTag + re.$1;
+ this.startTag = this.startTag.replace(/(^\n*)/, "");
+ this.before = this.before + re.$1;
+ this.endTag = this.endTag.replace(/(\n*$)/, "");
+ this.after = this.after + re.$1;
+
+ if (this.before) {
+
+ regexText = replacementText = "";
+
+ while (nLinesBefore--) {
+ regexText += "\\n?";
+ replacementText += "\n";
+ }
+
+ if (findExtraNewlines) {
+ regexText = "\\n*";
+ }
+ this.before = this.before.replace(new re(regexText + "$", ""), replacementText);
+ }
+
+ if (this.after) {
+
+ regexText = replacementText = "";
+
+ while (nLinesAfter--) {
+ regexText += "\\n?";
+ replacementText += "\n";
+ }
+ if (findExtraNewlines) {
+ regexText = "\\n*";
+ }
+
+ this.after = this.after.replace(new re(regexText, ""), replacementText);
+ }
+ };
+
+ // end of Chunks
+
+ // A collection of the important regions on the page.
+ // Cached so we don't have to keep traversing the DOM.
+ // Also holds ieCachedRange and ieCachedScrollTop, where necessary; working around
+ // this issue:
+ // Internet explorer has problems with CSS sprite buttons that use HTML
+ // lists. When you click on the background image "button", IE will
+ // select the non-existent link text and discard the selection in the
+ // textarea. The solution to this is to cache the textarea selection
+ // on the button's mousedown event and set a flag. In the part of the
+ // code where we need to grab the selection, we check for the flag
+ // and, if it's set, use the cached area instead of querying the
+ // textarea.
+ //
+ // This ONLY affects Internet Explorer (tested on versions 6, 7
+ // and 8) and ONLY on button clicks. Keyboard shortcuts work
+ // normally since the focus never leaves the textarea.
+ function PanelCollection(postfix) {
+ this.buttonBar = doc.getElementById("wmd-button-bar" + postfix);
+ this.preview = doc.getElementById("wmd-preview" + postfix);
+ this.input = doc.getElementById("wmd-input" + postfix);
+ };
+
+ // Returns true if the DOM element is visible, false if it's hidden.
+ // Checks if display is anything other than none.
+ util.isVisible = function (elem) {
+
+ if (window.getComputedStyle) {
+ // Most browsers
+ return window.getComputedStyle(elem, null).getPropertyValue("display") !== "none";
+ }
+ else if (elem.currentStyle) {
+ // IE
+ return elem.currentStyle["display"] !== "none";
+ }
+ };
+
+
+ // Adds a listener callback to a DOM element which is fired on a specified
+ // event.
+ util.addEvent = function (elem, event, listener) {
+ if (elem.attachEvent) {
+ // IE only. The "on" is mandatory.
+ elem.attachEvent("on" + event, listener);
+ }
+ else {
+ // Other browsers.
+ elem.addEventListener(event, listener, false);
+ }
+ };
+
+
+ // Removes a listener callback from a DOM element which is fired on a specified
+ // event.
+ util.removeEvent = function (elem, event, listener) {
+ if (elem.detachEvent) {
+ // IE only. The "on" is mandatory.
+ elem.detachEvent("on" + event, listener);
+ }
+ else {
+ // Other browsers.
+ elem.removeEventListener(event, listener, false);
+ }
+ };
+
+ // Converts \r\n and \r to \n.
+ util.fixEolChars = function (text) {
+ text = text.replace(/\r\n/g, "\n");
+ text = text.replace(/\r/g, "\n");
+ return text;
+ };
+
+ // Extends a regular expression. Returns a new RegExp
+ // using pre + regex + post as the expression.
+ // Used in a few functions where we have a base
+ // expression and we want to pre- or append some
+ // conditions to it (e.g. adding "$" to the end).
+ // The flags are unchanged.
+ //
+ // regex is a RegExp, pre and post are strings.
+ util.extendRegExp = function (regex, pre, post) {
+
+ if (pre === null || pre === undefined) {
+ pre = "";
+ }
+ if (post === null || post === undefined) {
+ post = "";
+ }
+
+ var pattern = regex.toString();
+ var flags;
+
+ // Replace the flags with empty space and store them.
+ pattern = pattern.replace(/\/([gim]*)$/, function (wholeMatch, flagsPart) {
+ flags = flagsPart;
+ return "";
+ });
+
+ // Remove the slash delimiters on the regular expression.
+ pattern = pattern.replace(/(^\/|\/$)/g, "");
+ pattern = pre + pattern + post;
+
+ return new re(pattern, flags);
+ }
+
+ // UNFINISHED
+ // The assignment in the while loop makes jslint cranky.
+ // I'll change it to a better loop later.
+ position.getTop = function (elem, isInner) {
+ var result = elem.offsetTop;
+ if (!isInner) {
+ while (elem = elem.offsetParent) {
+ result += elem.offsetTop;
+ }
+ }
+ return result;
+ };
+
+ position.getHeight = function (elem) {
+ return elem.offsetHeight || elem.scrollHeight;
+ };
+
+ position.getWidth = function (elem) {
+ return elem.offsetWidth || elem.scrollWidth;
+ };
+
+ position.getPageSize = function () {
+
+ var scrollWidth, scrollHeight;
+ var innerWidth, innerHeight;
+
+ // It's not very clear which blocks work with which browsers.
+ if (self.innerHeight && self.scrollMaxY) {
+ scrollWidth = doc.body.scrollWidth;
+ scrollHeight = self.innerHeight + self.scrollMaxY;
+ }
+ else if (doc.body.scrollHeight > doc.body.offsetHeight) {
+ scrollWidth = doc.body.scrollWidth;
+ scrollHeight = doc.body.scrollHeight;
+ }
+ else {
+ scrollWidth = doc.body.offsetWidth;
+ scrollHeight = doc.body.offsetHeight;
+ }
+
+ if (self.innerHeight) {
+ // Non-IE browser
+ innerWidth = self.innerWidth;
+ innerHeight = self.innerHeight;
+ }
+ else if (doc.documentElement && doc.documentElement.clientHeight) {
+ // Some versions of IE (IE 6 w/ a DOCTYPE declaration)
+ innerWidth = doc.documentElement.clientWidth;
+ innerHeight = doc.documentElement.clientHeight;
+ }
+ else if (doc.body) {
+ // Other versions of IE
+ innerWidth = doc.body.clientWidth;
+ innerHeight = doc.body.clientHeight;
+ }
+
+ var maxWidth = Math.max(scrollWidth, innerWidth);
+ var maxHeight = Math.max(scrollHeight, innerHeight);
+ return [maxWidth, maxHeight, innerWidth, innerHeight];
+ };
+
+ // Handles pushing and popping TextareaStates for undo/redo commands.
+ // I should rename the stack variables to list.
+ function UndoManager(callback, panels) {
+
+ var undoObj = this;
+ var undoStack = []; // A stack of undo states
+ var stackPtr = 0; // The index of the current state
+ var mode = "none";
+ var lastState; // The last state
+ var timer; // The setTimeout handle for cancelling the timer
+ var inputStateObj;
+
+ // Set the mode for later logic steps.
+ var setMode = function (newMode, noSave) {
+ if (mode != newMode) {
+ mode = newMode;
+ if (!noSave) {
+ saveState();
+ }
+ }
+
+ if (!uaSniffed.isIE || mode != "moving") {
+ timer = setTimeout(refreshState, 1);
+ }
+ else {
+ inputStateObj = null;
+ }
+ };
+
+ var refreshState = function (isInitialState) {
+ inputStateObj = new TextareaState(panels, isInitialState);
+ timer = undefined;
+ };
+
+ this.setCommandMode = function () {
+ mode = "command";
+ saveState();
+ timer = setTimeout(refreshState, 0);
+ };
+
+ this.canUndo = function () {
+ return stackPtr > 1;
+ };
+
+ this.canRedo = function () {
+ if (undoStack[stackPtr + 1]) {
+ return true;
+ }
+ return false;
+ };
+
+ // Removes the last state and restores it.
+ this.undo = function () {
+
+ if (undoObj.canUndo()) {
+ if (lastState) {
+ // What about setting state -1 to null or checking for undefined?
+ lastState.restore();
+ lastState = null;
+ }
+ else {
+ undoStack[stackPtr] = new TextareaState(panels);
+ undoStack[--stackPtr].restore();
+
+ if (callback) {
+ callback();
+ }
+ }
+ }
+
+ mode = "none";
+ panels.input.focus();
+ refreshState();
+ };
+
+ // Redo an action.
+ this.redo = function () {
+
+ if (undoObj.canRedo()) {
+
+ undoStack[++stackPtr].restore();
+
+ if (callback) {
+ callback();
+ }
+ }
+
+ mode = "none";
+ panels.input.focus();
+ refreshState();
+ };
+
+ // Push the input area state to the stack.
+ var saveState = function () {
+ var currState = inputStateObj || new TextareaState(panels);
+
+ if (!currState) {
+ return false;
+ }
+ if (mode == "moving") {
+ if (!lastState) {
+ lastState = currState;
+ }
+ return;
+ }
+ if (lastState) {
+ if (undoStack[stackPtr - 1].text != lastState.text) {
+ undoStack[stackPtr++] = lastState;
+ }
+ lastState = null;
+ }
+ undoStack[stackPtr++] = currState;
+ undoStack[stackPtr + 1] = null;
+ if (callback) {
+ callback();
+ }
+ };
+
+ var handleCtrlYZ = function (event) {
+
+ var handled = false;
+
+ if ((event.ctrlKey || event.metaKey) && !event.altKey) {
+
+ // IE and Opera do not support charCode.
+ var keyCode = event.charCode || event.keyCode;
+ var keyCodeChar = String.fromCharCode(keyCode);
+
+ switch (keyCodeChar.toLowerCase()) {
+
+ case "y":
+ undoObj.redo();
+ handled = true;
+ break;
+
+ case "z":
+ if (!event.shiftKey) {
+ undoObj.undo();
+ }
+ else {
+ undoObj.redo();
+ }
+ handled = true;
+ break;
+ }
+ }
+
+ if (handled) {
+ if (event.preventDefault) {
+ event.preventDefault();
+ }
+ if (window.event) {
+ window.event.returnValue = false;
+ }
+ return;
+ }
+ };
+
+ // Set the mode depending on what is going on in the input area.
+ var handleModeChange = function (event) {
+
+ if (!event.ctrlKey && !event.metaKey) {
+
+ var keyCode = event.keyCode;
+
+ if ((keyCode >= 33 && keyCode <= 40) || (keyCode >= 63232 && keyCode <= 63235)) {
+ // 33 - 40: page up/dn and arrow keys
+ // 63232 - 63235: page up/dn and arrow keys on safari
+ setMode("moving");
+ }
+ else if (keyCode == 8 || keyCode == 46 || keyCode == 127) {
+ // 8: backspace
+ // 46: delete
+ // 127: delete
+ setMode("deleting");
+ }
+ else if (keyCode == 13) {
+ // 13: Enter
+ setMode("newlines");
+ }
+ else if (keyCode == 27) {
+ // 27: escape
+ setMode("escape");
+ }
+ else if ((keyCode < 16 || keyCode > 20) && keyCode != 91) {
+ // 16-20 are shift, etc.
+ // 91: left window key
+ // I think this might be a little messed up since there are
+ // a lot of nonprinting keys above 20.
+ setMode("typing");
+ }
+ }
+ };
+
+ var setEventHandlers = function () {
+ util.addEvent(panels.input, "keypress", function (event) {
+ // keyCode 89: y
+ // keyCode 90: z
+ if ((event.ctrlKey || event.metaKey) && !event.altKey && (event.keyCode == 89 || event.keyCode == 90)) {
+ event.preventDefault();
+ }
+ });
+
+ var handlePaste = function () {
+ if (uaSniffed.isIE || (inputStateObj && inputStateObj.text != panels.input.value)) {
+ if (timer == undefined) {
+ mode = "paste";
+ saveState();
+ refreshState();
+ }
+ }
+ };
+
+ util.addEvent(panels.input, "keydown", handleCtrlYZ);
+ util.addEvent(panels.input, "keydown", handleModeChange);
+ util.addEvent(panels.input, "mousedown", function () {
+ setMode("moving");
+ });
+
+ panels.input.onpaste = handlePaste;
+ panels.input.ondrop = handlePaste;
+ };
+
+ var init = function () {
+ setEventHandlers();
+ refreshState(true);
+ saveState();
+ };
+
+ init();
+ }
+
+ // end of UndoManager
+
+ // The input textarea state/contents.
+ // This is used to implement undo/redo by the undo manager.
+ function TextareaState(panels, isInitialState) {
+
+ // Aliases
+ var stateObj = this;
+ var inputArea = panels.input;
+ this.init = function () {
+ if (!util.isVisible(inputArea)) {
+ return;
+ }
+ if (!isInitialState && doc.activeElement && doc.activeElement !== inputArea) { // this happens when tabbing out of the input box
+ return;
+ }
+
+ this.setInputAreaSelectionStartEnd();
+ this.scrollTop = inputArea.scrollTop;
+ if (!this.text && inputArea.selectionStart || inputArea.selectionStart === 0) {
+ this.text = inputArea.value;
+ }
+
+ }
+
+ // Sets the selected text in the input box after we've performed an
+ // operation.
+ this.setInputAreaSelection = function () {
+
+ if (!util.isVisible(inputArea)) {
+ return;
+ }
+
+ if (inputArea.selectionStart !== undefined && !uaSniffed.isOpera) {
+
+ inputArea.focus();
+ inputArea.selectionStart = stateObj.start;
+ inputArea.selectionEnd = stateObj.end;
+ inputArea.scrollTop = stateObj.scrollTop;
+ }
+ else if (doc.selection) {
+
+ if (doc.activeElement && doc.activeElement !== inputArea) {
+ return;
+ }
+
+ inputArea.focus();
+ var range = inputArea.createTextRange();
+ range.moveStart("character", -inputArea.value.length);
+ range.moveEnd("character", -inputArea.value.length);
+ range.moveEnd("character", stateObj.end);
+ range.moveStart("character", stateObj.start);
+ range.select();
+ }
+ };
+
+ this.setInputAreaSelectionStartEnd = function () {
+
+ if (!panels.ieCachedRange && (inputArea.selectionStart || inputArea.selectionStart === 0)) {
+
+ stateObj.start = inputArea.selectionStart;
+ stateObj.end = inputArea.selectionEnd;
+ }
+ else if (doc.selection) {
+
+ stateObj.text = util.fixEolChars(inputArea.value);
+
+ // IE loses the selection in the textarea when buttons are
+ // clicked. On IE we cache the selection. Here, if something is cached,
+ // we take it.
+ var range = panels.ieCachedRange || doc.selection.createRange();
+
+ var fixedRange = util.fixEolChars(range.text);
+ var marker = "\x07";
+ var markedRange = marker + fixedRange + marker;
+ range.text = markedRange;
+ var inputText = util.fixEolChars(inputArea.value);
+
+ range.moveStart("character", -markedRange.length);
+ range.text = fixedRange;
+
+ stateObj.start = inputText.indexOf(marker);
+ stateObj.end = inputText.lastIndexOf(marker) - marker.length;
+
+ var len = stateObj.text.length - util.fixEolChars(inputArea.value).length;
+
+ if (len) {
+ range.moveStart("character", -fixedRange.length);
+ while (len--) {
+ fixedRange += "\n";
+ stateObj.end += 1;
+ }
+ range.text = fixedRange;
+ }
+
+ if (panels.ieCachedRange)
+ stateObj.scrollTop = panels.ieCachedScrollTop; // this is set alongside with ieCachedRange
+
+ panels.ieCachedRange = null;
+
+ this.setInputAreaSelection();
+ }
+ };
+
+ // Restore this state into the input area.
+ this.restore = function () {
+
+ if (stateObj.text != undefined && stateObj.text != inputArea.value) {
+ inputArea.value = stateObj.text;
+ }
+ this.setInputAreaSelection();
+ inputArea.scrollTop = stateObj.scrollTop;
+ };
+
+ // Gets a collection of HTML chunks from the inptut textarea.
+ this.getChunks = function () {
+
+ var chunk = new Chunks();
+ chunk.before = util.fixEolChars(stateObj.text.substring(0, stateObj.start));
+ chunk.startTag = "";
+ chunk.selection = util.fixEolChars(stateObj.text.substring(stateObj.start, stateObj.end));
+ chunk.endTag = "";
+ chunk.after = util.fixEolChars(stateObj.text.substring(stateObj.end));
+ chunk.scrollTop = stateObj.scrollTop;
+
+ return chunk;
+ };
+
+ // Sets the TextareaState properties given a chunk of markdown.
+ this.setChunks = function (chunk) {
+
+ chunk.before = chunk.before + chunk.startTag;
+ chunk.after = chunk.endTag + chunk.after;
+
+ this.start = chunk.before.length;
+ this.end = chunk.before.length + chunk.selection.length;
+ this.text = chunk.before + chunk.selection + chunk.after;
+ this.scrollTop = chunk.scrollTop;
+ };
+ this.init();
+ };
+
+ function PreviewManager(converter, panels, previewRefreshCallback) {
+
+ var managerObj = this;
+ var timeout;
+ var elapsedTime;
+ var oldInputText;
+ var maxDelay = 3000;
+ var startType = "delayed"; // The other legal value is "manual"
+
+ // Adds event listeners to elements
+ var setupEvents = function (inputElem, listener) {
+
+ util.addEvent(inputElem, "input", listener);
+ inputElem.onpaste = listener;
+ inputElem.ondrop = listener;
+
+ util.addEvent(inputElem, "keypress", listener);
+ util.addEvent(inputElem, "keydown", listener);
+ };
+
+ var getDocScrollTop = function () {
+
+ var result = 0;
+
+ if (window.innerHeight) {
+ result = window.pageYOffset;
+ }
+ else if (doc.documentElement && doc.documentElement.scrollTop) {
+ result = doc.documentElement.scrollTop;
+ }
+ else if (doc.body) {
+ result = doc.body.scrollTop;
+ }
+
+ return result;
+ };
+
+ var makePreviewHtml = function () {
+
+ // If there is no registered preview panel
+ // there is nothing to do.
+ if (!panels.preview)
+ return;
+
+
+ var text = panels.input.value;
+ if (text && text == oldInputText) {
+ return; // Input text hasn't changed.
+ }
+ else {
+ oldInputText = text;
+ }
+
+ var prevTime = new Date().getTime();
+
+ text = converter.makeHtml(text);
+
+ // Calculate the processing time of the HTML creation.
+ // It's used as the delay time in the event listener.
+ var currTime = new Date().getTime();
+ elapsedTime = currTime - prevTime;
+
+ pushPreviewHtml(text);
+ };
+
+ // setTimeout is already used. Used as an event listener.
+ var applyTimeout = function () {
+
+ if (timeout) {
+ clearTimeout(timeout);
+ timeout = undefined;
+ }
+
+ if (startType !== "manual") {
+
+ var delay = 0;
+
+ if (startType === "delayed") {
+ delay = elapsedTime;
+ }
+
+ if (delay > maxDelay) {
+ delay = maxDelay;
+ }
+ timeout = setTimeout(makePreviewHtml, delay);
+ }
+ };
+
+ var getScaleFactor = function (panel) {
+ if (panel.scrollHeight <= panel.clientHeight) {
+ return 1;
+ }
+ return panel.scrollTop / (panel.scrollHeight - panel.clientHeight);
+ };
+
+ var setPanelScrollTops = function () {
+ if (panels.preview) {
+ panels.preview.scrollTop = (panels.preview.scrollHeight - panels.preview.clientHeight) * getScaleFactor(panels.preview);
+ }
+ };
+
+ this.refresh = function (requiresRefresh) {
+
+ if (requiresRefresh) {
+ oldInputText = "";
+ makePreviewHtml();
+ }
+ else {
+ applyTimeout();
+ }
+ };
+
+ this.processingTime = function () {
+ return elapsedTime;
+ };
+
+ var isFirstTimeFilled = true;
+
+ // IE doesn't let you use innerHTML if the element is contained somewhere in a table
+ // (which is the case for inline editing) -- in that case, detach the element, set the
+ // value, and reattach. Yes, that *is* ridiculous.
+ var ieSafePreviewSet = function (text) {
+ var preview = panels.preview;
+ var parent = preview.parentNode;
+ var sibling = preview.nextSibling;
+ parent.removeChild(preview);
+ preview.innerHTML = text;
+ if (!sibling)
+ parent.appendChild(preview);
+ else
+ parent.insertBefore(preview, sibling);
+ }
+
+ var nonSuckyBrowserPreviewSet = function (text) {
+ panels.preview.innerHTML = text;
+ }
+
+ var previewSetter;
+
+ var previewSet = function (text) {
+ if (previewSetter)
+ return previewSetter(text);
+
+ try {
+ nonSuckyBrowserPreviewSet(text);
+ previewSetter = nonSuckyBrowserPreviewSet;
+ } catch (e) {
+ previewSetter = ieSafePreviewSet;
+ previewSetter(text);
+ }
+ };
+
+ var pushPreviewHtml = function (text) {
+
+ var emptyTop = position.getTop(panels.input) - getDocScrollTop();
+
+ if (panels.preview) {
+ previewSet(text);
+ previewRefreshCallback();
+ }
+
+ setPanelScrollTops();
+
+ if (isFirstTimeFilled) {
+ isFirstTimeFilled = false;
+ return;
+ }
+
+ var fullTop = position.getTop(panels.input) - getDocScrollTop();
+
+ if (uaSniffed.isIE) {
+ setTimeout(function () {
+ window.scrollBy(0, fullTop - emptyTop);
+ }, 0);
+ }
+ else {
+ window.scrollBy(0, fullTop - emptyTop);
+ }
+ };
+
+ var init = function () {
+
+ setupEvents(panels.input, applyTimeout);
+ makePreviewHtml();
+
+ if (panels.preview) {
+ panels.preview.scrollTop = 0;
+ }
+ };
+
+ init();
+ };
+
+ // Creates the background behind the hyperlink text entry box.
+ // And download dialog
+ // Most of this has been moved to CSS but the div creation and
+ // browser-specific hacks remain here.
+ ui.createBackground = function () {
+
+ var background = doc.createElement("div"),
+ style = background.style;
+
+ background.className = "wmd-prompt-background";
+
+ style.position = "absolute";
+ style.top = "0";
+
+ style.zIndex = "1000";
+
+ if (uaSniffed.isIE) {
+ style.filter = "alpha(opacity=50)";
+ }
+ else {
+ style.opacity = "0.5";
+ }
+
+ var pageSize = position.getPageSize();
+ style.height = pageSize[1] + "px";
+
+ if (uaSniffed.isIE) {
+ style.left = doc.documentElement.scrollLeft;
+ style.width = doc.documentElement.clientWidth;
+ }
+ else {
+ style.left = "0";
+ style.width = "100%";
+ }
+
+ doc.body.appendChild(background);
+ return background;
+ };
+
+ // This simulates a modal dialog box and asks for the URL when you
+ // click the hyperlink or image buttons.
+ //
+ // text: The html for the input box.
+ // defaultInputText: The default value that appears in the input box.
+ // callback: The function which is executed when the prompt is dismissed, either via OK or Cancel.
+ // It receives a single argument; either the entered text (if OK was chosen) or null (if Cancel
+ // was chosen).
+ ui.prompt = function (text, defaultInputText, callback) {
+
+ // These variables need to be declared at this level since they are used
+ // in multiple functions.
+ var dialog; // The dialog box.
+ var input; // The text box where you enter the hyperlink.
+
+
+ if (defaultInputText === undefined) {
+ defaultInputText = "";
+ }
+
+ // Used as a keydown event handler. Esc dismisses the prompt.
+ // Key code 27 is ESC.
+ var checkEscape = function (key) {
+ var code = (key.charCode || key.keyCode);
+ if (code === 27) {
+ close(true);
+ }
+ };
+
+ // Dismisses the hyperlink input box.
+ // isCancel is true if we don't care about the input text.
+ // isCancel is false if we are going to keep the text.
+ var close = function (isCancel) {
+ util.removeEvent(doc.body, "keydown", checkEscape);
+ var text = input.value;
+
+ if (isCancel) {
+ text = null;
+ }
+ else {
+ // Fixes common pasting errors.
+ text = text.replace(/^http:\/\/(https?|ftp):\/\//, '$1://');
+ if (!/^(?:https?|ftp):\/\//.test(text))
+ text = 'https://' + text;
+ }
+
+ dialog.parentNode.removeChild(dialog);
+
+ callback(text);
+ return false;
+ };
+
+
+ // Create the text input box form/window.
+ var createDialog = function () {
+
+ // The main dialog box.
+ dialog = doc.createElement("div");
+ dialog.className = "wmd-prompt-dialog";
+ dialog.style.padding = "10px;";
+ dialog.style.position = "fixed";
+ dialog.style.width = "400px";
+ dialog.style.zIndex = "1001";
+
+ // The dialog text.
+ var question = doc.createElement("div");
+ question.innerHTML = text;
+ question.style.padding = "5px";
+ dialog.appendChild(question);
+
+ // The web form container for the text box and buttons.
+ var form = doc.createElement("form"),
+ style = form.style;
+ form.onsubmit = function () {
+ return close(false);
+ };
+ style.padding = "0";
+ style.margin = "0";
+ style.cssFloat = "left";
+ style.width = "100%";
+ style.textAlign = "center";
+ style.position = "relative";
+ dialog.appendChild(form);
+
+ // The input text box
+ input = doc.createElement("input");
+ input.type = "text";
+ input.value = defaultInputText;
+ style = input.style;
+ style.display = "block";
+ style.width = "80%";
+ style.marginLeft = style.marginRight = "auto";
+ form.appendChild(input);
+
+ // The ok button
+ var okButton = doc.createElement("input");
+ okButton.type = "button";
+ okButton.onclick = function () {
+ return close(false);
+ };
+ okButton.value = "OK";
+ style = okButton.style;
+ style.margin = "10px";
+ style.display = "inline";
+ style.width = "7em";
+
+
+ // The cancel button
+ var cancelButton = doc.createElement("input");
+ cancelButton.type = "button";
+ cancelButton.onclick = function () {
+ return close(true);
+ };
+ cancelButton.value = "Cancel";
+ style = cancelButton.style;
+ style.margin = "10px";
+ style.display = "inline";
+ style.width = "7em";
+
+ form.appendChild(okButton);
+ form.appendChild(cancelButton);
+
+ util.addEvent(doc.body, "keydown", checkEscape);
+ dialog.style.top = "50%";
+ dialog.style.left = "50%";
+ dialog.style.display = "block";
+ if (uaSniffed.isIE_5or6) {
+ dialog.style.position = "absolute";
+ dialog.style.top = doc.documentElement.scrollTop + 200 + "px";
+ dialog.style.left = "50%";
+ }
+ doc.body.appendChild(dialog);
+
+ // This has to be done AFTER adding the dialog to the form if you
+ // want it to be centered.
+ dialog.style.marginTop = -(position.getHeight(dialog) / 2) + "px";
+ dialog.style.marginLeft = -(position.getWidth(dialog) / 2) + "px";
+
+ };
+
+ // Why is this in a zero-length timeout?
+ // Is it working around a browser bug?
+ setTimeout(function () {
+
+ createDialog();
+
+ var defTextLen = defaultInputText.length;
+ if (input.selectionStart !== undefined) {
+ input.selectionStart = 0;
+ input.selectionEnd = defTextLen;
+ }
+ else if (input.createTextRange) {
+ var range = input.createTextRange();
+ range.collapse(false);
+ range.moveStart("character", -defTextLen);
+ range.moveEnd("character", defTextLen);
+ range.select();
+ }
+
+ input.focus();
+ }, 0);
+ };
+
+ function UIManager(postfix, panels, undoManager, previewManager, commandManager, helpOptions, getString) {
+
+ var inputBox = panels.input,
+ buttons = {}; // buttons.undo, buttons.link, etc. The actual DOM elements.
+
+ makeSpritedButtonRow();
+
+ var keyEvent = "keydown";
+ if (uaSniffed.isOpera) {
+ keyEvent = "keypress";
+ }
+
+ util.addEvent(inputBox, keyEvent, function (key) {
+
+ // Check to see if we have a button key and, if so execute the callback.
+ if ((key.ctrlKey || key.metaKey) && !key.altKey && !key.shiftKey) {
+
+ var keyCode = key.charCode || key.keyCode;
+ var keyCodeStr = String.fromCharCode(keyCode).toLowerCase();
+
+ switch (keyCodeStr) {
+ case "b":
+ doClick(buttons.bold);
+ break;
+ case "i":
+ doClick(buttons.italic);
+ break;
+ case "l":
+ doClick(buttons.link);
+ break;
+ case "q":
+ doClick(buttons.quote);
+ break;
+ case "k":
+ doClick(buttons.code);
+ break;
+ case "g":
+ doClick(buttons.image);
+ break;
+ case "o":
+ doClick(buttons.olist);
+ break;
+ case "u":
+ doClick(buttons.ulist);
+ break;
+ case "h":
+ doClick(buttons.heading);
+ break;
+ case "r":
+ doClick(buttons.hr);
+ break;
+ case "m":
+ doClick(buttons.readmore);
+ break;
+ // case "x":
+ // doClick(buttons.strikethrough);
+ // break;
+ case "j":
+ doClick(buttons.table);
+ break;
+ // case "y":
+ // doClick(buttons.redo);
+ // break;
+ // case "z":
+ // if (key.shiftKey) {
+ // doClick(buttons.redo);
+ // }
+ // else {
+ // doClick(buttons.undo);
+ // }
+ // break;
+ default:
+ return;
+ }
+
+
+ if (key.preventDefault) {
+ key.preventDefault();
+ }
+
+ if (window.event) {
+ window.event.returnValue = false;
+ }
+ }
+ });
+
+ // Auto-indent on shift-enter
+ util.addEvent(inputBox, "keyup", function (key) {
+ if (key.shiftKey && !key.ctrlKey && !key.metaKey) {
+ var keyCode = key.charCode || key.keyCode;
+ // Character 13 is Enter
+ if (keyCode === 13) {
+ var fakeButton = {};
+ fakeButton.textOp = bindCommand("doAutoindent");
+ doClick(fakeButton);
+ }
+ }
+ });
+
+ // special handler because IE clears the context of the textbox on ESC
+ if (uaSniffed.isIE) {
+ util.addEvent(inputBox, "keydown", function (key) {
+ var code = key.keyCode;
+ if (code === 27) {
+ return false;
+ }
+ });
+ }
+
+
+ // Perform the button's action.
+ function doClick(button) {
+
+ inputBox.focus();
+
+ if (button.textOp) {
+
+ if (undoManager) {
+ undoManager.setCommandMode();
+ }
+
+ var state = new TextareaState(panels);
+
+ if (!state) {
+ return;
+ }
+
+ var chunks = state.getChunks();
+
+ // Some commands launch a "modal" prompt dialog. Javascript
+ // can't really make a modal dialog box and the WMD code
+ // will continue to execute while the dialog is displayed.
+ // This prevents the dialog pattern I'm used to and means
+ // I can't do something like this:
+ //
+ // var link = CreateLinkDialog();
+ // makeMarkdownLink(link);
+ //
+ // Instead of this straightforward method of handling a
+ // dialog I have to pass any code which would execute
+ // after the dialog is dismissed (e.g. link creation)
+ // in a function parameter.
+ //
+ // Yes this is awkward and I think it sucks, but there's
+ // no real workaround. Only the image and link code
+ // create dialogs and require the function pointers.
+ var fixupInputArea = function () {
+
+ inputBox.focus();
+
+ if (chunks) {
+ state.setChunks(chunks);
+ }
+
+ state.restore();
+ previewManager.refresh();
+ };
+
+ var noCleanup = button.textOp(chunks, fixupInputArea);
+
+ if (!noCleanup) {
+ fixupInputArea();
+ }
+
+ }
+
+ if (button.execute) {
+ button.execute(undoManager);
+ }
+ };
+
+ function setupButton(button, isEnabled) {
+
+ var normalYShift = "note-btn btn btn-light btn-sm";
+ var disabledYShift = "note-btn btn btn-light btn-sm disabled";
+ var highlightYShift = "";
+ var image = button.getElementsByTagName("span")[0];
+ if (isEnabled) {
+ image.className = normalYShift;
+ if (!button.isHelp) {
+ button.onclick = function () {
+ if (this.onmouseout) {
+ this.onmouseout();
+ }
+ doClick(this);
+ return false;
+ }
+ }
+ }
+ else {
+ image.className = disabledYShift;
+ button.onmouseover = button.onmouseout = button.onclick = function () {
+ };
+ }
+ }
+
+ function bindCommand(method) {
+ if (typeof method === "string")
+ method = commandManager[method];
+ return function () {
+ method.apply(commandManager, arguments);
+ }
+ }
+
+ function makeSpritedButtonRow() {
+
+ var buttonBar = panels.buttonBar;
+
+ var normalYShift = "note-btn btn btn-light btn-sm";
+ var disabledYShift = "note-btn btn btn-light btn-sm disabled";
+ var highlightYShift = "";
+
+ var buttonRow = document.createElement("ul");
+ buttonRow.style.padding = "0px 10px";
+ buttonRow.id = "wmd-button-row" + postfix;
+ buttonRow.className = 'wmd-button-row';
+ buttonRow = buttonBar.appendChild(buttonRow);
+ var xPosition = 0;
+ var makeButton = function (id, title, XClass, textOp) {
+ var button = document.createElement("li");
+ button.className = "wmd-button";
+ var buttonImage = document.createElement("span");
+ var buttonIcon = document.createElement("i");
+ buttonImage.className = "note-btn btn btn-light btn-sm";
+ buttonIcon.className = XClass;
+ buttonImage.appendChild(buttonIcon);
+ button.id = id + postfix;
+ button.appendChild(buttonImage);
+ button.title = title;
+ if (textOp)
+ button.textOp = textOp;
+ setupButton(button, true);
+ buttonRow.appendChild(button);
+ return button;
+ };
+ var makeSpacer = function (num) {
+ var spacer = document.createElement("li");
+ spacer.className = "wmd-spacer wmd-spacer" + num;
+ spacer.id = "wmd-spacer" + num + postfix;
+ buttonRow.appendChild(spacer);
+ }
+
+ buttons.bold = makeButton("wmd-bold-button", getString("bold"), "fa fa-bold", bindCommand("doBold"));
+ buttons.italic = makeButton("wmd-italic-button", getString("italic"), "fa fa-italic", bindCommand("doItalic"));
+ buttons.heading = makeButton("wmd-heading-button", getString("heading"), "fa fa-header", bindCommand("doHeading"));
+ buttons.strikethrough = makeButton("wmd-strikethrough-button", getString("strikethrough"), "fa fa-strikethrough", bindCommand("doStrikethrough"));
+ //makeSpacer(1);
+ buttons.olist = makeButton("wmd-olist-button", getString("olist"), "fa fa-list-ol", bindCommand(function (chunk, postProcessing) {
+ this.doList(chunk, postProcessing, true);
+ }));
+ buttons.ulist = makeButton("wmd-ulist-button", getString("ulist"), "fa fa-list-ul", bindCommand(function (chunk, postProcessing) {
+ this.doList(chunk, postProcessing, false);
+ }));
+ buttons.quote = makeButton("wmd-quote-button", getString("quote"), "fa fa-quote-right", bindCommand("doBlockquote"));
+ buttons.code = makeButton("wmd-code-button", getString("code"), "fa fa-code", bindCommand("doCode"));
+ buttons.table = makeButton("wmd-table-button", getString("table"), "fa fa-table", bindCommand("doTable"));
+ //makeSpacer(2);
+ buttons.link = makeButton("wmd-link-button", getString("link"), "fa fa-link", bindCommand(function (chunk, postProcessing) {
+ return this.doLinkOrImage(chunk, postProcessing, false);
+ }));
+ buttons.image = makeButton("wmd-image-button", getString("image"), "fa fa-image", bindCommand(function (chunk, postProcessing) {
+ return this.doLinkOrImage(chunk, postProcessing, true);
+ }));
+ buttons.hr = makeButton("wmd-hr-button", getString("hr"), "fa fa-ellipsis-h", bindCommand("doHorizontalRule"));
+ buttons.readmore = makeButton("wmd-readmore-button", getString("readmore"), "fa fa-arrow-right", bindCommand("doReadMore"));
+ buttons.toc = makeButton("wmd-toc-button", getString("toc"), "fa fa-list-alt", bindCommand("doTOC"));
+ //makeSpacer(3);
+ buttons.undo = makeButton("wmd-undo-button", getString("undo"), "fa-solid fa-rotate-left", null);
+ buttons.undo.execute = function (manager) {
+ if (manager) manager.undo();
+ };
+
+ var redoTitle = /win/.test(nav.platform.toLowerCase()) ?
+ getString("redo") :
+ getString("redomac"); // mac and other non-Windows platforms
+
+ buttons.redo = makeButton("wmd-redo-button", redoTitle, "fa-solid fa-rotate-right", null);
+ buttons.redo.execute = function (manager) {
+ if (manager) manager.redo();
+ };
+
+ if (helpOptions) {
+ var helpButton = document.createElement("li");
+ var helpButtonImage = document.createElement("span");
+ helpButton.appendChild(helpButtonImage);
+ helpButton.className = "wmd-button wmd-help-button";
+ helpButton.id = "wmd-help-button" + postfix;
+ helpButton.XClass = "note-btn btn btn-light btn-sm";
+ helpButton.isHelp = true;
+ helpButton.style.right = "0px";
+ helpButton.title = getString("help");
+ helpButton.onclick = helpOptions.handler;
+
+ setupButton(helpButton, true);
+ buttonRow.appendChild(helpButton);
+ buttons.help = helpButton;
+ }
+
+ setUndoRedoButtonStates();
+ }
+
+ function setUndoRedoButtonStates() {
+ if (undoManager) {
+ setupButton(buttons.undo, undoManager.canUndo());
+ setupButton(buttons.redo, undoManager.canRedo());
+ }
+ };
+
+ this.setUndoRedoButtonStates = setUndoRedoButtonStates;
+
+ }
+
+ function CommandManager(pluginHooks, getString) {
+ this.hooks = pluginHooks;
+ this.getString = getString;
+ }
+
+ var commandProto = CommandManager.prototype;
+
+ // The markdown symbols - 4 spaces = code, > = blockquote, etc.
+ commandProto.prefixes = "(?:\\s{4,}|\\s*>|\\s*-\\s+|\\s*\\d+\\.|=|\\+|-|_|\\*|#|\\s*\\[[^\n]]+\\]:)";
+
+ // Remove markdown symbols from the chunk selection.
+ commandProto.unwrap = function (chunk) {
+ var txt = new re("([^\\n])\\n(?!(\\n|" + this.prefixes + "))", "g");
+ chunk.selection = chunk.selection.replace(txt, "$1 $2");
+ };
+
+ commandProto.wrap = function (chunk, len) {
+ this.unwrap(chunk);
+ var regex = new re("(.{1," + len + "})( +|$\\n?)", "gm"),
+ that = this;
+
+ chunk.selection = chunk.selection.replace(regex, function (line, marked) {
+ if (new re("^" + that.prefixes, "").test(line)) {
+ return line;
+ }
+ return marked + "\n";
+ });
+
+ chunk.selection = chunk.selection.replace(/\s+$/, "");
+ };
+
+ commandProto.doBold = function (chunk, postProcessing) {
+ return this.doBorI(chunk, postProcessing, 2, this.getString("boldexample"));
+ };
+
+ commandProto.doItalic = function (chunk, postProcessing) {
+ return this.doBorI(chunk, postProcessing, 1, this.getString("italicexample"));
+ };
+
+ // chunk: The selected region that will be enclosed with */**
+ // nStars: 1 for italics, 2 for bold
+ // insertText: If you just click the button without highlighting text, this gets inserted
+ commandProto.doBorI = function (chunk, postProcessing, nStars, insertText) {
+
+ // Get rid of whitespace and fixup newlines.
+ chunk.trimWhitespace();
+ chunk.selection = chunk.selection.replace(/\n{2,}/g, "\n");
+
+ // Look for stars before and after. Is the chunk already marked up?
+ // note that these regex matches cannot fail
+ var starsBefore = /(\**$)/.exec(chunk.before)[0];
+ var starsAfter = /(^\**)/.exec(chunk.after)[0];
+
+ var prevStars = Math.min(starsBefore.length, starsAfter.length);
+
+ // Remove stars if we have to since the button acts as a toggle.
+ if ((prevStars >= nStars) && (prevStars != 2 || nStars != 1)) {
+ chunk.before = chunk.before.replace(re("[*]{" + nStars + "}$", ""), "");
+ chunk.after = chunk.after.replace(re("^[*]{" + nStars + "}", ""), "");
+ }
+ else if (!chunk.selection && starsAfter) {
+ // It's not really clear why this code is necessary. It just moves
+ // some arbitrary stuff around.
+ chunk.after = chunk.after.replace(/^([*_]*)/, "");
+ chunk.before = chunk.before.replace(/(\s?)$/, "");
+ var whitespace = re.$1;
+ chunk.before = chunk.before + starsAfter + whitespace;
+ }
+ else {
+
+ // In most cases, if you don't have any selected text and click the button
+ // you'll get a selected, marked up region with the default text inserted.
+ if (!chunk.selection && !starsAfter) {
+ chunk.selection = insertText;
+ }
+
+ // Add the true markup.
+ var markup = nStars <= 1 ? "*" : "**"; // shouldn't the test be = ?
+ chunk.before = chunk.before + markup;
+ chunk.after = markup + chunk.after;
+ }
+
+ return;
+ };
+
+ commandProto.stripLinkDefs = function (text, defsToAdd) {
+
+ text = text.replace(/^[ ]{0,3}\[(\d+)\]:[ \t]*\n?[ \t]*(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|$)/gm,
+ function (totalMatch, id, link, newlines, title) {
+ defsToAdd[id] = totalMatch.replace(/\s*$/, "");
+ if (newlines) {
+ // Strip the title and return that separately.
+ defsToAdd[id] = totalMatch.replace(/["(](.+?)[")]$/, "");
+ return newlines + title;
+ }
+ return "";
+ });
+
+ return text;
+ };
+
+ commandProto.addLinkDef = function (chunk, linkDef) {
+
+ var refNumber = 0; // The current reference number
+ var defsToAdd = {}; //
+ // Start with a clean slate by removing all previous link definitions.
+ chunk.before = this.stripLinkDefs(chunk.before, defsToAdd);
+ chunk.selection = this.stripLinkDefs(chunk.selection, defsToAdd);
+ chunk.after = this.stripLinkDefs(chunk.after, defsToAdd);
+
+ var defs = "";
+ var regex = /(\[)((?:\[[^\]]*\]|[^\[\]])*)(\][ ]?(?:\n[ ]*)?\[)(\d+)(\])/g;
+
+ var addDefNumber = function (def) {
+ refNumber++;
+ def = def.replace(/^[ ]{0,3}\[(\d+)\]:/, " [" + refNumber + "]:");
+ defs += "\n" + def;
+ };
+
+ // note that
+ // a) the recursive call to getLink cannot go infinite, because by definition
+ // of regex, inner is always a proper substring of wholeMatch, and
+ // b) more than one level of nesting is neither supported by the regex
+ // nor making a lot of sense (the only use case for nesting is a linked image)
+ var getLink = function (wholeMatch, before, inner, afterInner, id, end) {
+ inner = inner.replace(regex, getLink);
+ if (defsToAdd[id]) {
+ addDefNumber(defsToAdd[id]);
+ return before + inner + afterInner + refNumber + end;
+ }
+ return wholeMatch;
+ };
+
+ chunk.before = chunk.before.replace(regex, getLink);
+
+ if (linkDef) {
+ addDefNumber(linkDef);
+ }
+ else {
+ chunk.selection = chunk.selection.replace(regex, getLink);
+ }
+
+ var refOut = refNumber;
+
+ chunk.after = chunk.after.replace(regex, getLink);
+
+ if (chunk.after) {
+ chunk.after = chunk.after.replace(/\n*$/, "");
+ }
+ if (!chunk.after) {
+ chunk.selection = chunk.selection.replace(/\n*$/, "");
+ }
+
+ chunk.after += "\n\n" + defs;
+
+ return refOut;
+ };
+
+ // takes the line as entered into the add link/as image dialog and makes
+ // sure the URL and the optinal title are "nice".
+ function properlyEncoded(linkdef) {
+ return linkdef.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/, function (wholematch, link, title) {
+ link = link.replace(/\?.*$/, function (querypart) {
+ return querypart.replace(/\+/g, " "); // in the query string, a plus and a space are identical
+ });
+ link = decodeURIComponent(link); // unencode first, to prevent double encoding
+ link = encodeURI(link).replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29');
+ link = link.replace(/\?.*$/, function (querypart) {
+ return querypart.replace(/\+/g, "%2b"); // since we replaced plus with spaces in the query part, all pluses that now appear where originally encoded
+ });
+ if (title) {
+ title = title.trim ? title.trim() : title.replace(/^\s*/, "").replace(/\s*$/, "");
+ title = title.replace(/"/g, "quot;").replace(/\(/g, "(").replace(/\)/g, ")").replace(//g, ">");
+ }
+ return title ? link + ' "' + title + '"' : link;
+ });
+ }
+
+ commandProto.doLinkOrImage = function (chunk, postProcessing, isImage) {
+
+ chunk.trimWhitespace();
+ chunk.findTags(/\s*!?\[/, /\][ ]?(?:\n[ ]*)?(\[.*?\])?/);
+ var background;
+
+ if (chunk.endTag.length > 1 && chunk.startTag.length > 0) {
+
+ chunk.startTag = chunk.startTag.replace(/!?\[/, "");
+ chunk.endTag = "";
+ this.addLinkDef(chunk, null);
+
+ }
+ else {
+
+ // We're moving start and end tag back into the selection, since (as we're in the else block) we're not
+ // *removing* a link, but *adding* one, so whatever findTags() found is now back to being part of the
+ // link text. linkEnteredCallback takes care of escaping any brackets.
+ chunk.selection = chunk.startTag + chunk.selection + chunk.endTag;
+ chunk.startTag = chunk.endTag = "";
+
+ if (/\n\n/.test(chunk.selection)) {
+ this.addLinkDef(chunk, null);
+ return;
+ }
+ var that = this;
+ // The function to be executed when you enter a link and press OK or Cancel.
+ // Marks up the link and adds the ref.
+ var linkEnteredCallback = function (link) {
+
+ background.remove();
+
+ if (link !== null) {
+ // ( $1
+ // [^\\] anything that's not a backslash
+ // (?:\\\\)* an even number (this includes zero) of backslashes
+ // )
+ // (?= followed by
+ // [[\]] an opening or closing bracket
+ // )
+ //
+ // In other words, a non-escaped bracket. These have to be escaped now to make sure they
+ // don't count as the end of the link or similar.
+ // Note that the actual bracket has to be a lookahead, because (in case of to subsequent brackets),
+ // the bracket in one match may be the "not a backslash" character in the next match, so it
+ // should not be consumed by the first match.
+ // The "prepend a space and finally remove it" steps makes sure there is a "not a backslash" at the
+ // start of the string, so this also works if the selection begins with a bracket. We cannot solve
+ // this by anchoring with ^, because in the case that the selection starts with two brackets, this
+ // would mean a zero-width match at the start. Since zero-width matches advance the string position,
+ // the first bracket could then not act as the "not a backslash" for the second.
+ chunk.selection = (" " + chunk.selection).replace(/([^\\](?:\\\\)*)(?=[[\]])/g, "$1\\").substr(1);
+
+ // var linkDef = " [999]: " + properlyEncoded(link);
+
+ // var num = that.addLinkDef(chunk, linkDef);
+ chunk.startTag = isImage ? "![" : "[";
+ // chunk.endTag = "][" + num + "]";
+ chunk.endTag = "](" + properlyEncoded(link) + ")";
+
+ if (!chunk.selection) {
+ if (isImage) {
+ chunk.selection = that.getString("imagedescription");
+ }
+ else {
+ chunk.selection = that.getString("linkdescription");
+ }
+ }
+ }
+ postProcessing();
+ };
+
+ background = ui.createBackground();
+
+ if (isImage) {
+ if (!this.hooks.insertImageDialog(linkEnteredCallback))
+ ui.prompt(this.getString("imagedialog"), imageDefaultText, linkEnteredCallback);
+ }
+ else {
+ ui.prompt(this.getString("linkdialog"), linkDefaultText, linkEnteredCallback);
+ }
+ return true;
+ }
+ };
+
+ // When making a list, hitting shift-enter will put your cursor on the next line
+ // at the current indent level.
+ commandProto.doAutoindent = function (chunk, postProcessing) {
+
+ var commandMgr = this,
+ fakeSelection = false;
+
+ chunk.before = chunk.before.replace(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]*\n$/, "\n\n");
+ chunk.before = chunk.before.replace(/(\n|^)[ ]{0,3}>[ \t]*\n$/, "\n\n");
+ chunk.before = chunk.before.replace(/(\n|^)[ \t]+\n$/, "\n\n");
+
+ // There's no selection, end the cursor wasn't at the end of the line:
+ // The user wants to split the current list item / code line / blockquote line
+ // (for the latter it doesn't really matter) in two. Temporarily select the
+ // (rest of the) line to achieve this.
+ if (!chunk.selection && !/^[ \t]*(?:\n|$)/.test(chunk.after)) {
+ chunk.after = chunk.after.replace(/^[^\n]*/, function (wholeMatch) {
+ chunk.selection = wholeMatch;
+ return "";
+ });
+ fakeSelection = true;
+ }
+
+ if (/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]+.*\n$/.test(chunk.before)) {
+ if (commandMgr.doList) {
+ commandMgr.doList(chunk);
+ }
+ }
+ if (/(\n|^)[ ]{0,3}>[ \t]+.*\n$/.test(chunk.before)) {
+ if (commandMgr.doBlockquote) {
+ commandMgr.doBlockquote(chunk);
+ }
+ }
+ if (/(\n|^)(\t|[ ]{4,}).*\n$/.test(chunk.before)) {
+ if (commandMgr.doCode) {
+ commandMgr.doCode(chunk);
+ }
+ }
+
+ if (fakeSelection) {
+ chunk.after = chunk.selection + chunk.after;
+ chunk.selection = "";
+ }
+ };
+
+ commandProto.doBlockquote = function (chunk, postProcessing) {
+
+ chunk.selection = chunk.selection.replace(/^(\n*)([^\r]+?)(\n*)$/,
+ function (totalMatch, newlinesBefore, text, newlinesAfter) {
+ chunk.before += newlinesBefore;
+ chunk.after = newlinesAfter + chunk.after;
+ return text;
+ });
+
+ chunk.before = chunk.before.replace(/(>[ \t]*)$/,
+ function (totalMatch, blankLine) {
+ chunk.selection = blankLine + chunk.selection;
+ return "";
+ });
+
+ chunk.selection = chunk.selection.replace(/^(\s|>)+$/, "");
+ chunk.selection = chunk.selection || this.getString("quoteexample");
+
+ // The original code uses a regular expression to find out how much of the
+ // text *directly before* the selection already was a blockquote:
+
+ /*
+ if (chunk.before) {
+ chunk.before = chunk.before.replace(/\n?$/, "\n");
+ }
+ chunk.before = chunk.before.replace(/(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*$)/,
+ function (totalMatch) {
+ chunk.startTag = totalMatch;
+ return "";
+ });
+ */
+
+ // This comes down to:
+ // Go backwards as many lines a possible, such that each line
+ // a) starts with ">", or
+ // b) is almost empty, except for whitespace, or
+ // c) is preceeded by an unbroken chain of non-empty lines
+ // leading up to a line that starts with ">" and at least one more character
+ // and in addition
+ // d) at least one line fulfills a)
+ //
+ // Since this is essentially a backwards-moving regex, it's susceptible to
+ // catstrophic backtracking and can cause the browser to hang;
+ // see e.g. http://meta.stackoverflow.com/questions/9807.
+ //
+ // Hence we replaced this by a simple state machine that just goes through the
+ // lines and checks for a), b), and c).
+
+ var match = "",
+ leftOver = "",
+ line;
+ if (chunk.before) {
+ var lines = chunk.before.replace(/\n$/, "").split("\n");
+ var inChain = false;
+ for (var i = 0; i < lines.length; i++) {
+ var good = false;
+ line = lines[i];
+ inChain = inChain && line.length > 0; // c) any non-empty line continues the chain
+ if (/^>/.test(line)) { // a)
+ good = true;
+ if (!inChain && line.length > 1) // c) any line that starts with ">" and has at least one more character starts the chain
+ inChain = true;
+ } else if (/^[ \t]*$/.test(line)) { // b)
+ good = true;
+ } else {
+ good = inChain; // c) the line is not empty and does not start with ">", so it matches if and only if we're in the chain
+ }
+ if (good) {
+ match += line + "\n";
+ } else {
+ leftOver += match + line;
+ match = "\n";
+ }
+ }
+ if (!/(^|\n)>/.test(match)) { // d)
+ leftOver += match;
+ match = "";
+ }
+ }
+
+ chunk.startTag = match;
+ chunk.before = leftOver;
+
+ // end of change
+
+ if (chunk.after) {
+ chunk.after = chunk.after.replace(/^\n?/, "\n");
+ }
+
+ chunk.after = chunk.after.replace(/^(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*)/,
+ function (totalMatch) {
+ chunk.endTag = totalMatch;
+ return "";
+ }
+ );
+
+ var replaceBlanksInTags = function (useBracket) {
+
+ var replacement = useBracket ? "> " : "";
+
+ if (chunk.startTag) {
+ chunk.startTag = chunk.startTag.replace(/\n((>|\s)*)\n$/,
+ function (totalMatch, markdown) {
+ return "\n" + markdown.replace(/^[ ]{0,3}>?[ \t]*$/gm, replacement) + "\n";
+ });
+ }
+ if (chunk.endTag) {
+ chunk.endTag = chunk.endTag.replace(/^\n((>|\s)*)\n/,
+ function (totalMatch, markdown) {
+ return "\n" + markdown.replace(/^[ ]{0,3}>?[ \t]*$/gm, replacement) + "\n";
+ });
+ }
+ };
+
+ if (/^(?![ ]{0,3}>)/m.test(chunk.selection)) {
+ this.wrap(chunk, SETTINGS.lineLength - 2);
+ chunk.selection = chunk.selection.replace(/^/gm, "> ");
+ replaceBlanksInTags(true);
+ chunk.skipLines();
+ } else {
+ chunk.selection = chunk.selection.replace(/^[ ]{0,3}> ?/gm, "");
+ this.unwrap(chunk);
+ replaceBlanksInTags(false);
+
+ if (!/^(\n|^)[ ]{0,3}>/.test(chunk.selection) && chunk.startTag) {
+ chunk.startTag = chunk.startTag.replace(/\n{0,2}$/, "\n\n");
+ }
+
+ if (!/(\n|^)[ ]{0,3}>.*$/.test(chunk.selection) && chunk.endTag) {
+ chunk.endTag = chunk.endTag.replace(/^\n{0,2}/, "\n\n");
+ }
+ }
+
+ chunk.selection = this.hooks.postBlockquoteCreation(chunk.selection);
+
+ if (!/\n/.test(chunk.selection)) {
+ chunk.selection = chunk.selection.replace(/^(> *)/,
+ function (wholeMatch, blanks) {
+ chunk.startTag += blanks;
+ return "";
+ });
+ }
+ };
+
+ commandProto.doCode = function (chunk, postProcessing) {
+
+ var hasTextBefore = /\S[ ]*$/.test(chunk.before);
+ var hasTextAfter = /^[ ]*\S/.test(chunk.after);
+
+ // Use 'four space' markdown if the selection is on its own
+ // line or is multiline.
+ if ((!hasTextAfter && !hasTextBefore) || /\n/.test(chunk.selection)) {
+
+ chunk.before = chunk.before.replace(/[ ]{4}$/,
+ function (totalMatch) {
+ chunk.selection = totalMatch + chunk.selection;
+ return "";
+ });
+
+ var nLinesBack = 1;
+ var nLinesForward = 1;
+
+ if (/(\n|^)(\t|[ ]{4,}).*\n$/.test(chunk.before)) {
+ nLinesBack = 0;
+ }
+ if (/^\n(\t|[ ]{4,})/.test(chunk.after)) {
+ nLinesForward = 0;
+ }
+
+ chunk.skipLines(nLinesBack, nLinesForward);
+
+ if (!chunk.selection) {
+ chunk.startTag = " ";
+ chunk.selection = this.getString("codeexample");
+ }
+ else {
+ if (/^[ ]{0,3}\S/m.test(chunk.selection)) {
+ if (/\n/.test(chunk.selection))
+ chunk.selection = chunk.selection.replace(/^/gm, " ");
+ else // if it's not multiline, do not select the four added spaces; this is more consistent with the doList behavior
+ chunk.before += " ";
+ }
+ else {
+ chunk.selection = chunk.selection.replace(/^(?:[ ]{4}|[ ]{0,3}\t)/gm, "");
+ }
+ }
+ }
+ else {
+ // Use backticks (`) to delimit the code block.
+
+ chunk.trimWhitespace();
+ chunk.findTags(/`/, /`/);
+
+ if (!chunk.startTag && !chunk.endTag) {
+ chunk.startTag = chunk.endTag = "`";
+ if (!chunk.selection) {
+ chunk.selection = this.getString("codeexample");
+ }
+ }
+ else if (chunk.endTag && !chunk.startTag) {
+ chunk.before += chunk.endTag;
+ chunk.endTag = "";
+ }
+ else {
+ chunk.startTag = chunk.endTag = "";
+ }
+ }
+ };
+
+ commandProto.doList = function (chunk, postProcessing, isNumberedList) {
+
+ // These are identical except at the very beginning and end.
+ // Should probably use the regex extension function to make this clearer.
+ var previousItemsRegex = /(\n|^)(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*$/;
+ var nextItemsRegex = /^\n*(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*/;
+
+ // The default bullet is a dash but others are possible.
+ // This has nothing to do with the particular HTML bullet,
+ // it's just a markdown bullet.
+ var bullet = "-";
+
+ // The number in a numbered list.
+ var num = 1;
+
+ // Get the item prefix - e.g. " 1. " for a numbered list, " - " for a bulleted list.
+ var getItemPrefix = function () {
+ var prefix;
+ if (isNumberedList) {
+ prefix = " " + num + ". ";
+ num++;
+ }
+ else {
+ prefix = " " + bullet + " ";
+ }
+ return prefix;
+ };
+
+ // Fixes the prefixes of the other list items.
+ var getPrefixedItem = function (itemText) {
+
+ // The numbering flag is unset when called by autoindent.
+ if (isNumberedList === undefined) {
+ isNumberedList = /^\s*\d/.test(itemText);
+ }
+
+ // Renumber/bullet the list element.
+ itemText = itemText.replace(/^[ ]{0,3}([*+-]|\d+[.])\s/gm,
+ function (_) {
+ return getItemPrefix();
+ });
+
+ return itemText;
+ };
+
+ chunk.findTags(/(\n|^)*[ ]{0,3}([*+-]|\d+[.])\s+/, null);
+
+ if (chunk.before && !/\n$/.test(chunk.before) && !/^\n/.test(chunk.startTag)) {
+ chunk.before += chunk.startTag;
+ chunk.startTag = "";
+ }
+
+ if (chunk.startTag) {
+
+ var hasDigits = /\d+[.]/.test(chunk.startTag);
+ chunk.startTag = "";
+ chunk.selection = chunk.selection.replace(/\n[ ]{4}/g, "\n");
+ this.unwrap(chunk);
+ chunk.skipLines();
+
+ if (hasDigits) {
+ // Have to renumber the bullet points if this is a numbered list.
+ chunk.after = chunk.after.replace(nextItemsRegex, getPrefixedItem);
+ }
+ if (isNumberedList == hasDigits) {
+ return;
+ }
+ }
+
+ var nLinesUp = 1;
+
+ chunk.before = chunk.before.replace(previousItemsRegex,
+ function (itemText) {
+ if (/^\s*([*+-])/.test(itemText)) {
+ bullet = re.$1;
+ }
+ nLinesUp = /[^\n]\n\n[^\n]/.test(itemText) ? 1 : 0;
+ return getPrefixedItem(itemText);
+ });
+
+ if (!chunk.selection) {
+ chunk.selection = this.getString("litem");
+ }
+
+ var prefix = getItemPrefix();
+
+ var nLinesDown = 1;
+
+ chunk.after = chunk.after.replace(nextItemsRegex,
+ function (itemText) {
+ nLinesDown = /[^\n]\n\n[^\n]/.test(itemText) ? 1 : 0;
+ return getPrefixedItem(itemText);
+ });
+
+ chunk.trimWhitespace(true);
+ chunk.skipLines(nLinesUp, nLinesDown, true);
+ chunk.startTag = prefix;
+ var spaces = prefix.replace(/./g, " ");
+ this.wrap(chunk, SETTINGS.lineLength - spaces.length);
+ chunk.selection = chunk.selection.replace(/\n/g, "\n" + spaces);
+
+ };
+
+ commandProto.doHeading = function (chunk, postProcessing) {
+
+ // Remove leading/trailing whitespace and reduce internal spaces to single spaces.
+ chunk.selection = chunk.selection.replace(/\s+/g, " ");
+ chunk.selection = chunk.selection.replace(/(^\s+|\s+$)/g, "");
+
+ // If we clicked the button with no selected text, we just
+ // make a level 2 hash header around some default text.
+ if (!chunk.selection) {
+ chunk.startTag = "## ";
+ chunk.selection = this.getString("headingexample");
+ chunk.endTag = " \n";
+ return;
+ }
+
+ var headerLevel = 0; // The existing header level of the selected text.
+
+ // Remove any existing hash heading markdown and save the header level.
+ chunk.findTags(/#+[ ]*/, /[ ]*#+/);
+ if (/#+/.test(chunk.startTag)) {
+ headerLevel = re.lastMatch.length;
+ }
+ chunk.startTag = chunk.endTag = "";
+
+ // Try to get the current header level by looking for - and = in the line
+ // below the selection.
+ chunk.findTags(null, /\s?(-+|=+)/);
+ if (/=+/.test(chunk.endTag)) {
+ headerLevel = 1;
+ }
+ if (/-+/.test(chunk.endTag)) {
+ headerLevel = 2;
+ }
+
+ // Skip to the next line so we can create the header markdown.
+ chunk.startTag = chunk.endTag = "";
+ chunk.skipLines(1, 1);
+
+ // We make a level 4 header if there is no current header.
+ // If there is a header level, we substract one from the header level.
+ // If it's already a level 1 header, it's removed.
+ var headerLevelToCreate = headerLevel == 0 ? 4 : headerLevel - 1;
+
+ /*
+ if (headerLevelToCreate > 0) {
+
+ // The button only creates level 1 and 2 underline headers.
+ // Why not have it iterate over hash header levels? Wouldn't that be easier and cleaner?
+ var headerChar = headerLevelToCreate >= 2 ? "-" : "=";
+ var len = chunk.selection.length;
+ if (len > SETTINGS.lineLength) {
+ len = SETTINGS.lineLength;
+ }
+ chunk.endTag = "\n";
+ while (len--) {
+ chunk.endTag += headerChar;
+ }
+ }
+ */
+
+ if (headerLevelToCreate > 0) {
+ var hashesToCreate = headerLevelToCreate;
+ while (hashesToCreate--) {
+ chunk.startTag += "#";
+ }
+ chunk.startTag += " "; //So we have #### Header instead of ####Header (optional)
+ }
+
+ };
+
+ commandProto.doHorizontalRule = function (chunk, postProcessing) {
+ chunk.startTag = "----------\n";
+ chunk.selection = "";
+ chunk.skipLines(1, 1, true);
+ }
+
+ commandProto.doReadMore = function (chunk, postProcessing) {
+ chunk.startTag = "";
+ chunk.selection = "";
+ chunk.skipLines(1, 1, true);
+ }
+
+ commandProto.doTOC = function (chunk, postProcessing) {
+ chunk.startTag = "";
+ chunk.selection = "";
+ chunk.skipLines(1, 1, true);
+ }
+
+ commandProto.doStrikethrough = function (chunk, postProcessing) {
+
+ // Get rid of whitespace and fixup newlines.
+ chunk.trimWhitespace();
+ chunk.selection = chunk.selection.replace(/\n{2,}/g, "\n");
+
+ // Look for stars before and after. Is the chunk already marked up?
+ // note that these regex matches cannot fail
+ var starsBefore = /(~*$)/.exec(chunk.before)[0];
+ var starsAfter = /(^~*)/.exec(chunk.after)[0];
+
+ var prevStars = Math.min(starsBefore.length, starsAfter.length);
+
+ var nStars = 2;
+
+ // Remove stars if we have to since the button acts as a toggle.
+ if ((prevStars >= nStars) && (prevStars != 2 || nStars != 1)) {
+ chunk.before = chunk.before.replace(re("[~]{" + nStars + "}$", ""), "");
+ chunk.after = chunk.after.replace(re("^[~]{" + nStars + "}", ""), "");
+ } else if (!chunk.selection && starsAfter) {
+ // It's not really clear why this code is necessary. It just moves
+ // some arbitrary stuff around.
+ chunk.after = chunk.after.replace(/^(~*)/, "");
+ chunk.before = chunk.before.replace(/(\s?)$/, "");
+ var whitespace = re.$1;
+ chunk.before = chunk.before + starsAfter + whitespace;
+ } else {
+
+ // In most cases, if you don't have any selected text and click the button
+ // you'll get a selected, marked up region with the default text inserted.
+ if (!chunk.selection && !starsAfter) {
+ chunk.selection = this.getString("strikethroughexample");
+ }
+
+ // Add the true markup.
+ var markup = "~~"; // shouldn't the test be = ?
+ chunk.before = chunk.before + markup;
+ chunk.after = markup + chunk.after;
+ }
+
+ return;
+ };
+
+ commandProto.doTable = function (chunk) {
+ // Credit: https://github.com/fcrespo82/atom-markdown-table-formatter
+
+ var keepFirstAndLastPipes = true,
+ /*
+ ( # header capture
+ (?:
+ (?:[^\n]*?\|[^\n]*) # line w/ at least one pipe
+ \ * # maybe trailing whitespace
+ )? # maybe header
+ (?:\n|^) # newline
+ )
+ ( # format capture
+ (?:
+ \|\ *:?-+:?\ * # format starting w/pipe
+ |\|?(?:\ *:?-+:?\ *\|)+ # or separated by pipe
+ )
+ (?:\ *:?-+:?\ *)? # maybe w/o trailing pipe
+ \ * # maybe trailing whitespace
+ \n # newline
+ )
+ ( # body capture
+ (?:
+ (?:[^\n]*?\|[^\n]*) # line w/ at least one pipe
+ \ * # maybe trailing whitespace
+ (?:\n|$) # newline
+ )+ # at least one
+ )
+ */
+ regex = /((?:(?:[^\n]*?\|[^\n]*) *)?(?:\r?\n|^))((?:\| *:?-+:? *|\|?(?: *:?-+:? *\|)+)(?: *:?-+:? *)? *\r?\n)((?:(?:[^\n]*?\|[^\n]*) *(?:\r?\n|$))+)/;
+
+
+ function padding(len, str) {
+ var result = '';
+ str = str || ' ';
+ len = Math.floor(len);
+ for (var i = 0; i < len; i++) {
+ result += str;
+ }
+ return result;
+ }
+
+ function stripTailPipes(str) {
+ return str.trim().replace(/(^\||\|$)/g, "");
+ }
+
+ function splitCells(str) {
+ return str.split('|');
+ }
+
+ function addTailPipes(str) {
+ if (keepFirstAndLastPipes) {
+ return "|" + str + "|";
+ } else {
+ return str;
+ }
+ }
+
+ function joinCells(arr) {
+ return arr.join('|');
+ }
+
+ function formatTable(text, appendNewline) {
+ var i, j, len1, ref1, ref2, ref3, k, len2, results, formatline, headerline, just, formatrow, data, line, lines, justify, cell, cells, first, last, ends, columns, content, widths, formatted, front, back;
+ formatline = text[2].trim();
+ headerline = text[1].trim();
+ ref1 = headerline.length === 0 ? [0, text[3]] : [1, text[1] + text[3]], formatrow = ref1[0], data = ref1[1];
+ lines = data.trim().split('\n');
+ justify = [];
+ ref2 = splitCells(stripTailPipes(formatline));
+ for (j = 0, len1 = ref2.length; j < len1; j++) {
+ cell = ref2[j];
+ ref3 = cell.trim(), first = ref3[0], last = ref3[ref3.length - 1];
+ switch ((ends = (first ? first : ':') + (last ? last : ''))) {
+ case '::':
+ case '-:':
+ case ':-':
+ justify.push(ends);
+ break;
+ default:
+ justify.push('--');
+ }
+ }
+ columns = justify.length;
+ content = [];
+ for (j = 0, len1 = lines.length; j < len1; j++) {
+ line = lines[j];
+ cells = splitCells(stripTailPipes(line));
+ cells[columns - 1] = joinCells(cells.slice(columns - 1));
+ results = [];
+ for (k = 0, len2 = cells.length; k < len2; k++) {
+ cell = cells[k];
+ results.push(padding(' ') + ((ref2 = cell ? typeof cell.trim === "function" ? cell.trim() : void 0 : void 0) ? ref2 : '') + padding(' '));
+ }
+ content.push(results);
+ }
+ widths = [];
+ for (i = j = 0, ref2 = columns - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {
+ results = [];
+ for (k = 0, len1 = content.length; k < len1; k++) {
+ cells = content[k];
+ results.push(cells[i].length);
+ }
+ widths.push(Math.max.apply(Math, [2].concat(results)));
+ }
+ just = function (string, col) {
+ var back, front, length;
+ length = widths[col] - string.length;
+ switch (justify[col]) {
+ case '::':
+ front = padding[0], back = padding[1];
+ return padding(length / 2) + string + padding((length + 1) / 2);
+ case '-:':
+ return padding(length) + string;
+ default:
+ return string + padding(length);
+ }
+ };
+ formatted = [];
+ for (j = 0, len1 = content.length; j < len1; j++) {
+ cells = content[j];
+ results = [];
+ for (i = k = 0, ref2 = columns - 1; 0 <= ref2 ? k <= ref2 : k >= ref2; i = 0 <= ref2 ? ++k : --k) {
+ results.push(just(cells[i], i));
+ }
+ formatted.push(addTailPipes(joinCells(results)));
+ }
+ formatline = addTailPipes(joinCells((function () {
+ var j, ref2, ref3, results;
+ results = [];
+ for (i = j = 0, ref2 = columns - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {
+ ref3 = justify[i], front = ref3[0], back = ref3[1];
+ results.push(front + padding(widths[i] - 2, '-') + back);
+ }
+ return results;
+ })()));
+ formatted.splice(formatrow, 0, formatline);
+ var result = (headerline.length === 0 && text[1] !== '' ? '\n' : '') + formatted.join('\n');
+ if (appendNewline !== false) {
+ result += '\n'
+ }
+ return result;
+ }
+
+ if (chunk.before.slice(-1) !== '\n') {
+ chunk.before += '\n';
+ }
+ var match = chunk.selection.match(regex);
+ if (match) {
+ chunk.selection = formatTable(match, chunk.selection.slice(-1) === '\n');
+ } else {
+ var table = chunk.selection + '|\n-|-\n|';
+ match = table.match(regex);
+ if (!match || match[0].slice(0, table.length) !== table) {
+ return;
+ }
+ table = formatTable(match);
+ var selectionOffset = keepFirstAndLastPipes ? 1 : 0;
+ var pipePos = table.indexOf('|', selectionOffset);
+ chunk.before += table.slice(0, selectionOffset);
+ chunk.selection = table.slice(selectionOffset, pipePos);
+ chunk.after = table.slice(pipePos) + chunk.after;
+ }
+ };
+
+
+})();
\ No newline at end of file
diff --git a/system/admin/editor/js/Markdown.Extra.js b/system/admin/editor/js/Markdown.Extra.js
new file mode 100755
index 0000000..d3b859a
--- /dev/null
+++ b/system/admin/editor/js/Markdown.Extra.js
@@ -0,0 +1,874 @@
+(function () {
+ // A quick way to make sure we're only keeping span-level tags when we need to.
+ // This isn't supposed to be foolproof. It's just a quick way to make sure we
+ // keep all span-level tags returned by a pagedown converter. It should allow
+ // all span-level tags through, with or without attributes.
+ var inlineTags = new RegExp(['^(<\\/?(a|abbr|acronym|applet|area|b|basefont|',
+ 'bdo|big|button|cite|code|del|dfn|em|figcaption|',
+ 'font|i|iframe|img|input|ins|kbd|label|map|',
+ 'mark|meter|object|param|progress|q|ruby|rp|rt|s|',
+ 'samp|script|select|small|span|strike|strong|',
+ 'sub|sup|textarea|time|tt|u|var|wbr)[^>]*>|',
+ '<(br)\\s?\\/?>)$'].join(''), 'i');
+
+ /******************************************************************
+ * Utility Functions *
+ *****************************************************************/
+
+ // patch for ie7
+ if (!Array.indexOf) {
+ Array.prototype.indexOf = function(obj) {
+ for (var i = 0; i < this.length; i++) {
+ if (this[i] == obj) {
+ return i;
+ }
+ }
+ return -1;
+ };
+ }
+
+ function trim(str) {
+ return str.replace(/^\s+|\s+$/g, '');
+ }
+
+ function rtrim(str) {
+ return str.replace(/\s+$/g, '');
+ }
+
+ // Remove one level of indentation from text. Indent is 4 spaces.
+ function outdent(text) {
+ return text.replace(new RegExp('^(\\t|[ ]{1,4})', 'gm'), '');
+ }
+
+ function contains(str, substr) {
+ return str.indexOf(substr) != -1;
+ }
+
+ // Sanitize html, removing tags that aren't in the whitelist
+ function sanitizeHtml(html, whitelist) {
+ return html.replace(/<[^>]*>?/gi, function(tag) {
+ return tag.match(whitelist) ? tag : '';
+ });
+ }
+
+ // Merge two arrays, keeping only unique elements.
+ function union(x, y) {
+ var obj = {};
+ for (var i = 0; i < x.length; i++)
+ obj[x[i]] = x[i];
+ for (i = 0; i < y.length; i++)
+ obj[y[i]] = y[i];
+ var res = [];
+ for (var k in obj) {
+ if (obj.hasOwnProperty(k))
+ res.push(obj[k]);
+ }
+ return res;
+ }
+
+ // JS regexes don't support \A or \Z, so we add sentinels, as Pagedown
+ // does. In this case, we add the ascii codes for start of text (STX) and
+ // end of text (ETX), an idea borrowed from:
+ // https://github.com/tanakahisateru/js-markdown-extra
+ function addAnchors(text) {
+ if(text.charAt(0) != '\x02')
+ text = '\x02' + text;
+ if(text.charAt(text.length - 1) != '\x03')
+ text = text + '\x03';
+ return text;
+ }
+
+ // Remove STX and ETX sentinels.
+ function removeAnchors(text) {
+ if(text.charAt(0) == '\x02')
+ text = text.substr(1);
+ if(text.charAt(text.length - 1) == '\x03')
+ text = text.substr(0, text.length - 1);
+ return text;
+ }
+
+ // Convert markdown within an element, retaining only span-level tags
+ function convertSpans(text, extra) {
+ return sanitizeHtml(convertAll(text, extra), inlineTags);
+ }
+
+ // Convert internal markdown using the stock pagedown converter
+ function convertAll(text, extra) {
+ var result = extra.blockGamutHookCallback(text);
+ // We need to perform these operations since we skip the steps in the converter
+ result = unescapeSpecialChars(result);
+ result = result.replace(/~D/g, "$$").replace(/~T/g, "~");
+ result = extra.previousPostConversion(result);
+ return result;
+ }
+
+ // Convert escaped special characters
+ function processEscapesStep1(text) {
+ // Markdown extra adds two escapable characters, `:` and `|`
+ return text.replace(/\\\|/g, '~I').replace(/\\:/g, '~i');
+ }
+ function processEscapesStep2(text) {
+ return text.replace(/~I/g, '|').replace(/~i/g, ':');
+ }
+
+ // Duplicated from PageDown converter
+ function unescapeSpecialChars(text) {
+ // Swap back in all the special characters we've hidden.
+ text = text.replace(/~E(\d+)E/g, function(wholeMatch, m1) {
+ var charCodeToReplace = parseInt(m1);
+ return String.fromCharCode(charCodeToReplace);
+ });
+ return text;
+ }
+
+ function slugify(text) {
+ return text.toLowerCase()
+ .replace(/\s+/g, '-') // Replace spaces with -
+ .replace(/[^\w\-]+/g, '') // Remove all non-word chars
+ .replace(/\-\-+/g, '-') // Replace multiple - with single -
+ .replace(/^-+/, '') // Trim - from start of text
+ .replace(/-+$/, ''); // Trim - from end of text
+ }
+
+ /*****************************************************************************
+ * Markdown.Extra *
+ ****************************************************************************/
+
+ Markdown.Extra = function() {
+ // For converting internal markdown (in tables for instance).
+ // This is necessary since these methods are meant to be called as
+ // preConversion hooks, and the Markdown converter passed to init()
+ // won't convert any markdown contained in the html tags we return.
+ this.converter = null;
+
+ // Stores html blocks we generate in hooks so that
+ // they're not destroyed if the user is using a sanitizing converter
+ this.hashBlocks = [];
+
+ // Stores footnotes
+ this.footnotes = {};
+ this.usedFootnotes = [];
+
+ // Special attribute blocks for fenced code blocks and headers enabled.
+ this.attributeBlocks = false;
+
+ // Fenced code block options
+ this.googleCodePrettify = false;
+ this.highlightJs = false;
+
+ // Table options
+ this.tableClass = '';
+
+ this.tabWidth = 4;
+ };
+
+ Markdown.Extra.init = function(converter, options) {
+ // Each call to init creates a new instance of Markdown.Extra so it's
+ // safe to have multiple converters, with different options, on a single page
+ var extra = new Markdown.Extra();
+ var postNormalizationTransformations = [];
+ var preBlockGamutTransformations = [];
+ var postSpanGamutTransformations = [];
+ var postConversionTransformations = ["unHashExtraBlocks"];
+
+ options = options || {};
+ options.extensions = options.extensions || ["all"];
+ if (contains(options.extensions, "all")) {
+ options.extensions = ["tables", "fenced_code_gfm", "def_list", "attr_list", "footnotes", "smartypants", "strikethrough", "newlines"];
+ }
+ preBlockGamutTransformations.push("wrapHeaders");
+ if (contains(options.extensions, "attr_list")) {
+ postNormalizationTransformations.push("hashFcbAttributeBlocks");
+ preBlockGamutTransformations.push("hashHeaderAttributeBlocks");
+ postConversionTransformations.push("applyAttributeBlocks");
+ extra.attributeBlocks = true;
+ }
+ if (contains(options.extensions, "fenced_code_gfm")) {
+ // This step will convert fcb inside list items and blockquotes
+ preBlockGamutTransformations.push("fencedCodeBlocks");
+ // This extra step is to prevent html blocks hashing and link definition/footnotes stripping inside fcb
+ postNormalizationTransformations.push("fencedCodeBlocks");
+ }
+ if (contains(options.extensions, "tables")) {
+ preBlockGamutTransformations.push("tables");
+ }
+ if (contains(options.extensions, "def_list")) {
+ preBlockGamutTransformations.push("definitionLists");
+ }
+ if (contains(options.extensions, "footnotes")) {
+ postNormalizationTransformations.push("stripFootnoteDefinitions");
+ preBlockGamutTransformations.push("doFootnotes");
+ postConversionTransformations.push("printFootnotes");
+ }
+ if (contains(options.extensions, "smartypants")) {
+ postConversionTransformations.push("runSmartyPants");
+ }
+ if (contains(options.extensions, "strikethrough")) {
+ postSpanGamutTransformations.push("strikethrough");
+ }
+ if (contains(options.extensions, "newlines")) {
+ postSpanGamutTransformations.push("newlines");
+ }
+
+ converter.hooks.chain("postNormalization", function(text) {
+ return extra.doTransform(postNormalizationTransformations, text) + '\n';
+ });
+
+ converter.hooks.chain("preBlockGamut", function(text, blockGamutHookCallback) {
+ // Keep a reference to the block gamut callback to run recursively
+ extra.blockGamutHookCallback = blockGamutHookCallback;
+ text = processEscapesStep1(text);
+ text = extra.doTransform(preBlockGamutTransformations, text) + '\n';
+ text = processEscapesStep2(text);
+ return text;
+ });
+
+ converter.hooks.chain("postSpanGamut", function(text) {
+ return extra.doTransform(postSpanGamutTransformations, text);
+ });
+
+ // Keep a reference to the hook chain running before doPostConversion to apply on hashed extra blocks
+ extra.previousPostConversion = converter.hooks.postConversion;
+ converter.hooks.chain("postConversion", function(text) {
+ text = extra.doTransform(postConversionTransformations, text);
+ // Clear state vars that may use unnecessary memory
+ extra.hashBlocks = [];
+ extra.footnotes = {};
+ extra.usedFootnotes = [];
+ return text;
+ });
+
+ if ("highlighter" in options) {
+ extra.googleCodePrettify = options.highlighter === 'prettify';
+ extra.highlightJs = options.highlighter === 'highlight';
+ }
+
+ if ("table_class" in options) {
+ extra.tableClass = options.table_class;
+ }
+
+ extra.converter = converter;
+
+ // Caller usually won't need this, but it's handy for testing.
+ return extra;
+ };
+
+ // Do transformations
+ Markdown.Extra.prototype.doTransform = function(transformations, text) {
+ for(var i = 0; i < transformations.length; i++)
+ text = this[transformations[i]](text);
+ return text;
+ };
+
+ // Return a placeholder containing a key, which is the block's index in the
+ // hashBlocks array. We wrap our output in a tag here so Pagedown won't.
+ Markdown.Extra.prototype.hashExtraBlock = function(block) {
+ return '\n
~X' + (this.hashBlocks.push(block) - 1) + 'X
\n';
+ };
+ Markdown.Extra.prototype.hashExtraInline = function(block) {
+ return '~X' + (this.hashBlocks.push(block) - 1) + 'X';
+ };
+
+ // Replace placeholder blocks in `text` with their corresponding
+ // html blocks in the hashBlocks array.
+ Markdown.Extra.prototype.unHashExtraBlocks = function(text) {
+ var self = this;
+ function recursiveUnHash() {
+ var hasHash = false;
+ text = text.replace(/(?:)?~X(\d+)X(?:<\/p>)?/g, function(wholeMatch, m1) {
+ hasHash = true;
+ var key = parseInt(m1, 10);
+ return self.hashBlocks[key];
+ });
+ if(hasHash === true) {
+ recursiveUnHash();
+ }
+ }
+ recursiveUnHash();
+ return text;
+ };
+
+ // Wrap headers to make sure they won't be in def lists
+ Markdown.Extra.prototype.wrapHeaders = function(text) {
+ function wrap(text) {
+ return '\n' + text + '\n';
+ }
+ text = text.replace(/^.+[ \t]*\n=+[ \t]*\n+/gm, wrap);
+ text = text.replace(/^.+[ \t]*\n-+[ \t]*\n+/gm, wrap);
+ text = text.replace(/^\#{1,6}[ \t]*.+?[ \t]*\#*\n+/gm, wrap);
+ return text;
+ };
+
+
+ /******************************************************************
+ * Attribute Blocks *
+ *****************************************************************/
+
+ // TODO: use sentinels. Should we just add/remove them in doConversion?
+ // TODO: better matches for id / class attributes
+ var attrBlock = "\\{[ \\t]*((?:[#.][-_:a-zA-Z0-9]+[ \\t]*)+)\\}";
+ var hdrAttributesA = new RegExp("^(#{1,6}.*#{0,6})[ \\t]+" + attrBlock + "[ \\t]*(?:\\n|0x03)", "gm");
+ var hdrAttributesB = new RegExp("^(.*)[ \\t]+" + attrBlock + "[ \\t]*\\n" +
+ "(?=[\\-|=]+\\s*(?:\\n|0x03))", "gm"); // underline lookahead
+ var fcbAttributes = new RegExp("^(```[^`\\n]*)[ \\t]+" + attrBlock + "[ \\t]*\\n" +
+ "(?=([\\s\\S]*?)\\n```[ \\t]*(\\n|0x03))", "gm");
+
+ // Extract headers attribute blocks, move them above the element they will be
+ // applied to, and hash them for later.
+ Markdown.Extra.prototype.hashHeaderAttributeBlocks = function(text) {
+
+ var self = this;
+ function attributeCallback(wholeMatch, pre, attr) {
+ return '
~XX' + (self.hashBlocks.push(attr) - 1) + 'XX
\n' + pre + "\n";
+ }
+
+ text = text.replace(hdrAttributesA, attributeCallback); // ## headers
+ text = text.replace(hdrAttributesB, attributeCallback); // underline headers
+ return text;
+ };
+
+ // Extract FCB attribute blocks, move them above the element they will be
+ // applied to, and hash them for later.
+ Markdown.Extra.prototype.hashFcbAttributeBlocks = function(text) {
+ // TODO: use sentinels. Should we just add/remove them in doConversion?
+ // TODO: better matches for id / class attributes
+
+ var self = this;
+ function attributeCallback(wholeMatch, pre, attr) {
+ return '~XX' + (self.hashBlocks.push(attr) - 1) + 'XX
\n' + pre + "\n";
+ }
+
+ return text.replace(fcbAttributes, attributeCallback);
+ };
+
+ Markdown.Extra.prototype.applyAttributeBlocks = function(text) {
+ var self = this;
+ var blockRe = new RegExp('~XX(\\d+)XX
[\\s]*' +
+ '(?:<(h[1-6]|pre)(?: +class="(\\S+)")?(>[\\s\\S]*?\\2>))', "gm");
+ text = text.replace(blockRe, function(wholeMatch, k, tag, cls, rest) {
+ if (!tag) // no following header or fenced code block.
+ return '';
+
+ // get attributes list from hash
+ var key = parseInt(k, 10);
+ var attributes = self.hashBlocks[key];
+
+ // get id
+ var id = attributes.match(/#[^\s#.]+/g) || [];
+ var idStr = id[0] ? ' id="' + id[0].substr(1, id[0].length - 1) + '"' : '';
+
+ // get classes and merge with existing classes
+ var classes = attributes.match(/\.[^\s#.]+/g) || [];
+ for (var i = 0; i < classes.length; i++) // Remove leading dot
+ classes[i] = classes[i].substr(1, classes[i].length - 1);
+
+ var classStr = '';
+ if (cls)
+ classes = union(classes, [cls]);
+
+ if (classes.length > 0)
+ classStr = ' class="' + classes.join(' ') + '"';
+
+ return "<" + tag + idStr + classStr + rest;
+ });
+
+ return text;
+ };
+
+ /******************************************************************
+ * Tables *
+ *****************************************************************/
+
+ // Find and convert Markdown Extra tables into html.
+ Markdown.Extra.prototype.tables = function(text) {
+ var self = this;
+
+ var leadingPipe = new RegExp(
+ ['^' ,
+ '[ ]{0,3}' , // Allowed whitespace
+ '[|]' , // Initial pipe
+ '(.+)\\n' , // $1: Header Row
+
+ '[ ]{0,3}' , // Allowed whitespace
+ '[|]([ ]*[-:]+[-| :]*)\\n' , // $2: Separator
+
+ '(' , // $3: Table Body
+ '(?:[ ]*[|].*\\n?)*' , // Table rows
+ ')',
+ '(?:\\n|$)' // Stop at final newline
+ ].join(''),
+ 'gm'
+ );
+
+ var noLeadingPipe = new RegExp(
+ ['^' ,
+ '[ ]{0,3}' , // Allowed whitespace
+ '(\\S.*[|].*)\\n' , // $1: Header Row
+
+ '[ ]{0,3}' , // Allowed whitespace
+ '([-:]+[ ]*[|][-| :]*)\\n' , // $2: Separator
+
+ '(' , // $3: Table Body
+ '(?:.*[|].*\\n?)*' , // Table rows
+ ')' ,
+ '(?:\\n|$)' // Stop at final newline
+ ].join(''),
+ 'gm'
+ );
+
+ text = text.replace(leadingPipe, doTable);
+ text = text.replace(noLeadingPipe, doTable);
+
+ // $1 = header, $2 = separator, $3 = body
+ function doTable(match, header, separator, body, offset, string) {
+ // remove any leading pipes and whitespace
+ header = header.replace(/^ *[|]/m, '');
+ separator = separator.replace(/^ *[|]/m, '');
+ body = body.replace(/^ *[|]/gm, '');
+
+ // remove trailing pipes and whitespace
+ header = header.replace(/[|] *$/m, '');
+ separator = separator.replace(/[|] *$/m, '');
+ body = body.replace(/[|] *$/gm, '');
+
+ // determine column alignments
+ var alignspecs = separator.split(/ *[|] */);
+ var align = [];
+ for (var i = 0; i < alignspecs.length; i++) {
+ var spec = alignspecs[i];
+ if (spec.match(/^ *-+: *$/m))
+ align[i] = ' align="right"';
+ else if (spec.match(/^ *:-+: *$/m))
+ align[i] = ' align="center"';
+ else if (spec.match(/^ *:-+ *$/m))
+ align[i] = ' align="left"';
+ else align[i] = '';
+ }
+
+ // TODO: parse spans in header and rows before splitting, so that pipes
+ // inside of tags are not interpreted as separators
+ var headers = header.split(/ *[|] */);
+ var colCount = headers.length;
+
+ // build html
+ var cls = self.tableClass ? ' class="' + self.tableClass + '"' : '';
+ var html = ['\n', '\n', '\n'].join('');
+
+ // build column headers.
+ for (i = 0; i < colCount; i++) {
+ var headerHtml = convertSpans(trim(headers[i]), self);
+ html += [" ", headerHtml, " \n"].join('');
+ }
+ html += " \n\n";
+
+ // build rows
+ var rows = body.split('\n');
+ for (i = 0; i < rows.length; i++) {
+ if (rows[i].match(/^\s*$/)) // can apply to final row
+ continue;
+
+ // ensure number of rowCells matches colCount
+ var rowCells = rows[i].split(/ *[|] */);
+ var lenDiff = colCount - rowCells.length;
+ for (var j = 0; j < lenDiff; j++)
+ rowCells.push('');
+
+ html += "\n";
+ for (j = 0; j < colCount; j++) {
+ var colHtml = convertSpans(trim(rowCells[j]), self);
+ html += [" ", colHtml, " \n"].join('');
+ }
+ html += " \n";
+ }
+
+ html += "
\n";
+
+ // replace html with placeholder until postConversion step
+ return self.hashExtraBlock(html);
+ }
+
+ return text;
+ };
+
+
+ /******************************************************************
+ * Footnotes *
+ *****************************************************************/
+
+ // Strip footnote, store in hashes.
+ Markdown.Extra.prototype.stripFootnoteDefinitions = function(text) {
+ var self = this;
+
+ text = text.replace(
+ /\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/g,
+ function(wholeMatch, m1, m2) {
+ m1 = slugify(m1);
+ m2 += "\n";
+ m2 = m2.replace(/^[ ]{0,3}/g, "");
+ self.footnotes[m1] = m2;
+ return "\n";
+ });
+
+ return text;
+ };
+
+
+ // Find and convert footnotes references.
+ Markdown.Extra.prototype.doFootnotes = function(text) {
+ var self = this;
+ if(self.isConvertingFootnote === true) {
+ return text;
+ }
+
+ var footnoteCounter = 0;
+ text = text.replace(/\[\^(.+?)\]/g, function(wholeMatch, m1) {
+ var id = slugify(m1);
+ var footnote = self.footnotes[id];
+ if (footnote === undefined) {
+ return wholeMatch;
+ }
+ footnoteCounter++;
+ self.usedFootnotes.push(id);
+ var html = '' + footnoteCounter
+ + '';
+ return self.hashExtraInline(html);
+ });
+
+ return text;
+ };
+
+ // Print footnotes at the end of the document
+ Markdown.Extra.prototype.printFootnotes = function(text) {
+ var self = this;
+
+ if (self.usedFootnotes.length === 0) {
+ return text;
+ }
+
+ text += '\n\n\n
\n\n\n';
+ for(var i=0; i'
+ + formattedfootnote
+ + ' ↩\n\n';
+ }
+ text += '
\n';
+ return text;
+ };
+
+
+ /******************************************************************
+ * Fenced Code Blocks (gfm) *
+ ******************************************************************/
+
+ // Find and convert gfm-inspired fenced code blocks into html.
+ Markdown.Extra.prototype.fencedCodeBlocks = function(text) {
+ function encodeCode(code) {
+ code = code.replace(/&/g, "&");
+ code = code.replace(//g, ">");
+ // These were escaped by PageDown before postNormalization
+ code = code.replace(/~D/g, "$$");
+ code = code.replace(/~T/g, "~");
+ return code;
+ }
+
+ var self = this;
+ text = text.replace(/(?:^|\n)```([^`\n]*)\n([\s\S]*?)\n```[ \t]*(?=\n)/g, function(match, m1, m2) {
+ var language = trim(m1), codeblock = m2;
+
+ // adhere to specified options
+ var preclass = self.googleCodePrettify ? ' class="prettyprint"' : '';
+ var codeclass = '';
+ if (language) {
+ if (self.googleCodePrettify || self.highlightJs) {
+ // use html5 language- class names. supported by both prettify and highlight.js
+ codeclass = ' class="language-' + language + '"';
+ } else {
+ codeclass = ' class="' + language + '"';
+ }
+ }
+
+ var html = ['
',
+ encodeCode(codeblock), '
'].join('');
+
+ // replace codeblock with placeholder until postConversion step
+ return self.hashExtraBlock(html);
+ });
+
+ return text;
+ };
+
+
+ /******************************************************************
+ * SmartyPants *
+ ******************************************************************/
+
+ Markdown.Extra.prototype.educatePants = function(text) {
+ var self = this;
+ var result = '';
+ var blockOffset = 0;
+ // Here we parse HTML in a very bad manner
+ text.replace(/(?:)|(<)([a-zA-Z1-6]+)([^\n]*?>)([\s\S]*?)(<\/\2>)/g, function(wholeMatch, m1, m2, m3, m4, m5, offset) {
+ var token = text.substring(blockOffset, offset);
+ result += self.applyPants(token);
+ self.smartyPantsLastChar = result.substring(result.length - 1);
+ blockOffset = offset + wholeMatch.length;
+ if(!m1) {
+ // Skip commentary
+ result += wholeMatch;
+ return;
+ }
+ // Skip special tags
+ if(!/code|kbd|pre|script|noscript|iframe|math|ins|del|pre/i.test(m2)) {
+ m4 = self.educatePants(m4);
+ }
+ else {
+ self.smartyPantsLastChar = m4.substring(m4.length - 1);
+ }
+ result += m1 + m2 + m3 + m4 + m5;
+ });
+ var lastToken = text.substring(blockOffset);
+ result += self.applyPants(lastToken);
+ self.smartyPantsLastChar = result.substring(result.length - 1);
+ return result;
+ };
+
+ function revertPants(wholeMatch, m1) {
+ var blockText = m1;
+ blockText = blockText.replace(/&\#8220;/g, "\"");
+ blockText = blockText.replace(/&\#8221;/g, "\"");
+ blockText = blockText.replace(/&\#8216;/g, "'");
+ blockText = blockText.replace(/&\#8217;/g, "'");
+ blockText = blockText.replace(/&\#8212;/g, "---");
+ blockText = blockText.replace(/&\#8211;/g, "--");
+ blockText = blockText.replace(/&\#8230;/g, "...");
+ return blockText;
+ }
+
+ Markdown.Extra.prototype.applyPants = function(text) {
+ // Dashes
+ text = text.replace(/---/g, "—").replace(/--/g, "–");
+ // Ellipses
+ text = text.replace(/\.\.\./g, "…").replace(/\.\s\.\s\./g, "…");
+ // Backticks
+ text = text.replace(/``/g, "“").replace (/''/g, "”");
+
+ if(/^'$/.test(text)) {
+ // Special case: single-character ' token
+ if(/\S/.test(this.smartyPantsLastChar)) {
+ return "’";
+ }
+ return "‘";
+ }
+ if(/^"$/.test(text)) {
+ // Special case: single-character " token
+ if(/\S/.test(this.smartyPantsLastChar)) {
+ return "”";
+ }
+ return "“";
+ }
+
+ // Special case if the very first character is a quote
+ // followed by punctuation at a non-word-break. Close the quotes by brute force:
+ text = text.replace (/^'(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/, "’");
+ text = text.replace (/^"(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/, "”");
+
+ // Special case for double sets of quotes, e.g.:
+ // He said, "'Quoted' words in a larger quote."
+ text = text.replace(/"'(?=\w)/g, "“‘");
+ text = text.replace(/'"(?=\w)/g, "‘“");
+
+ // Special case for decade abbreviations (the '80s):
+ text = text.replace(/'(?=\d{2}s)/g, "’");
+
+ // Get most opening single quotes:
+ text = text.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)'(?=\w)/g, "$1‘");
+
+ // Single closing quotes:
+ text = text.replace(/([^\s\[\{\(\-])'/g, "$1’");
+ text = text.replace(/'(?=\s|s\b)/g, "’");
+
+ // Any remaining single quotes should be opening ones:
+ text = text.replace(/'/g, "‘");
+
+ // Get most opening double quotes:
+ text = text.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)"(?=\w)/g, "$1“");
+
+ // Double closing quotes:
+ text = text.replace(/([^\s\[\{\(\-])"/g, "$1”");
+ text = text.replace(/"(?=\s)/g, "”");
+
+ // Any remaining quotes should be opening ones.
+ text = text.replace(/"/ig, "“");
+ return text;
+ };
+
+ // Find and convert markdown extra definition lists into html.
+ Markdown.Extra.prototype.runSmartyPants = function(text) {
+ this.smartyPantsLastChar = '';
+ text = this.educatePants(text);
+ // Clean everything inside html tags (some of them may have been converted due to our rough html parsing)
+ text = text.replace(/(<([a-zA-Z1-6]+)\b([^\n>]*?)(\/)?>)/g, revertPants);
+ return text;
+ };
+
+ /******************************************************************
+ * Definition Lists *
+ ******************************************************************/
+
+ // Find and convert markdown extra definition lists into html.
+ Markdown.Extra.prototype.definitionLists = function(text) {
+ var wholeList = new RegExp(
+ ['(\\x02\\n?|\\n\\n)' ,
+ '(?:' ,
+ '(' , // $1 = whole list
+ '(' , // $2
+ '[ ]{0,3}' ,
+ '((?:[ \\t]*\\S.*\\n)+)', // $3 = defined term
+ '\\n?' ,
+ '[ ]{0,3}:[ ]+' , // colon starting definition
+ ')' ,
+ '([\\s\\S]+?)' ,
+ '(' , // $4
+ '(?=\\0x03)' , // \z
+ '|' ,
+ '(?=' ,
+ '\\n{2,}' ,
+ '(?=\\S)' ,
+ '(?!' , // Negative lookahead for another term
+ '[ ]{0,3}' ,
+ '(?:\\S.*\\n)+?' , // defined term
+ '\\n?' ,
+ '[ ]{0,3}:[ ]+' , // colon starting definition
+ ')' ,
+ '(?!' , // Negative lookahead for another definition
+ '[ ]{0,3}:[ ]+' , // colon starting definition
+ ')' ,
+ ')' ,
+ ')' ,
+ ')' ,
+ ')'
+ ].join(''),
+ 'gm'
+ );
+
+ var self = this;
+ text = addAnchors(text);
+
+ text = text.replace(wholeList, function(match, pre, list) {
+ var result = trim(self.processDefListItems(list));
+ result = "\n" + result + "\n
";
+ return pre + self.hashExtraBlock(result) + "\n\n";
+ });
+
+ return removeAnchors(text);
+ };
+
+ // Process the contents of a single definition list, splitting it
+ // into individual term and definition list items.
+ Markdown.Extra.prototype.processDefListItems = function(listStr) {
+ var self = this;
+
+ var dt = new RegExp(
+ ['(\\x02\\n?|\\n\\n+)' , // leading line
+ '(' , // definition terms = $1
+ '[ ]{0,3}' , // leading whitespace
+ '(?![:][ ]|[ ])' , // negative lookahead for a definition
+ // mark (colon) or more whitespace
+ '(?:\\S.*\\n)+?' , // actual term (not whitespace)
+ ')' ,
+ '(?=\\n?[ ]{0,3}:[ ])' // lookahead for following line feed
+ ].join(''), // with a definition mark
+ 'gm'
+ );
+
+ var dd = new RegExp(
+ ['\\n(\\n+)?' , // leading line = $1
+ '(' , // marker space = $2
+ '[ ]{0,3}' , // whitespace before colon
+ '[:][ ]+' , // definition mark (colon)
+ ')' ,
+ '([\\s\\S]+?)' , // definition text = $3
+ '(?=\\n*' , // stop at next definition mark,
+ '(?:' , // next term or end of text
+ '\\n[ ]{0,3}[:][ ]|' ,
+ '- |\\x03' , // \z
+ ')' ,
+ ')'
+ ].join(''),
+ 'gm'
+ );
+
+ listStr = addAnchors(listStr);
+ // trim trailing blank lines:
+ listStr = listStr.replace(/\n{2,}(?=\\x03)/, "\n");
+
+ // Process definition terms.
+ listStr = listStr.replace(dt, function(match, pre, termsStr) {
+ var terms = trim(termsStr).split("\n");
+ var text = '';
+ for (var i = 0; i < terms.length; i++) {
+ var term = terms[i];
+ // process spans inside dt
+ term = convertSpans(trim(term), self);
+ text += "\n
- " + term + "
";
+ }
+ return text + "\n";
+ });
+
+ // Process actual definitions.
+ listStr = listStr.replace(dd, function(match, leadingLine, markerSpace, def) {
+ if (leadingLine || def.match(/\n{2,}/)) {
+ // replace marker with the appropriate whitespace indentation
+ def = Array(markerSpace.length + 1).join(' ') + def;
+ // process markdown inside definition
+ // TODO?: currently doesn't apply extensions
+ def = outdent(def) + "\n\n";
+ def = "\n" + convertAll(def, self) + "\n";
+ } else {
+ // convert span-level markdown inside definition
+ def = rtrim(def);
+ def = convertSpans(outdent(def), self);
+ }
+
+ return "\n - " + def + "
\n";
+ });
+
+ return removeAnchors(listStr);
+ };
+
+
+ /***********************************************************
+ * Strikethrough *
+ ************************************************************/
+
+ Markdown.Extra.prototype.strikethrough = function(text) {
+ // Pretty much duplicated from _DoItalicsAndBold
+ return text.replace(/([\W_]|^)~T~T(?=\S)([^\r]*?\S[\*_]*)~T~T([\W_]|$)/g,
+ "$1$2$3");
+ };
+
+
+ /***********************************************************
+ * New lines *
+ ************************************************************/
+
+ Markdown.Extra.prototype.newlines = function(text) {
+ // We have to ignore already converted newlines and line breaks in sub-list items
+ return text.replace(/(<(?:br|\/li)>)?\n/g, function(wholeMatch, previousTag) {
+ return previousTag ? wholeMatch : "
\n";
+ });
+ };
+
+})();
+
diff --git a/system/admin/editor/js/Markdown.Sanitizer.js b/system/admin/editor/js/Markdown.Sanitizer.js
new file mode 100755
index 0000000..bfced16
--- /dev/null
+++ b/system/admin/editor/js/Markdown.Sanitizer.js
@@ -0,0 +1,108 @@
+(function () {
+ var output, Converter;
+ if (typeof exports === "object" && typeof require === "function") { // we're in a CommonJS (e.g. Node.js) module
+ output = exports;
+ Converter = require("./Markdown.Converter").Converter;
+ } else {
+ output = window.Markdown;
+ Converter = output.Converter;
+ }
+
+ output.getSanitizingConverter = function () {
+ var converter = new Converter();
+ converter.hooks.chain("postConversion", sanitizeHtml);
+ converter.hooks.chain("postConversion", balanceTags);
+ return converter;
+ }
+
+ function sanitizeHtml(html) {
+ return html.replace(/<[^>]*>?/gi, sanitizeTag);
+ }
+
+ // (tags that can be opened/closed) | (tags that stand alone)
+ var basic_tag_whitelist = /^(<\/?(b|blockquote|code|del|dd|dl|dt|em|h1|h2|h3|i|kbd|li|ol|p|pre|s|sup|sub|strong|strike|ul)>|<(br|hr)\s?\/?>)$/i;
+ // |
+ var a_white = /^(]+")?\s?>|<\/a>)$/i;
+
+ //
]*")?(\stitle="[^"<>]*")?\s?\/?>)$/i;
+
+ function sanitizeTag(tag) {
+ if (tag.match(basic_tag_whitelist) || tag.match(a_white) || tag.match(img_white))
+ return tag;
+ else
+ return "";
+ }
+
+ ///
+ /// attempt to balance HTML tags in the html string
+ /// by removing any unmatched opening or closing tags
+ /// IMPORTANT: we *assume* HTML has *already* been
+ /// sanitized and is safe/sane before balancing!
+ ///
+ /// adapted from CODESNIPPET: A8591DBA-D1D3-11DE-947C-BA5556D89593
+ ///
+ function balanceTags(html) {
+
+ if (html == "")
+ return "";
+
+ var re = /<\/?\w+[^>]*(\s|$|>)/g;
+ // convert everything to lower case; this makes
+ // our case insensitive comparisons easier
+ var tags = html.toLowerCase().match(re);
+
+ // no HTML tags present? nothing to do; exit now
+ var tagcount = (tags || []).length;
+ if (tagcount == 0)
+ return html;
+
+ var tagname, tag;
+ var ignoredtags = "![]()
";
+ var match;
+ var tagpaired = [];
+ var tagremove = [];
+ var needsRemoval = false;
+
+ // loop through matched tags in forward order
+ for (var ctag = 0; ctag < tagcount; ctag++) {
+ tagname = tags[ctag].replace(/<\/?(\w+).*/, "$1");
+ // skip any already paired tags
+ // and skip tags in our ignore list; assume they're self-closed
+ if (tagpaired[ctag] || ignoredtags.search("<" + tagname + ">") > -1)
+ continue;
+
+ tag = tags[ctag];
+ match = -1;
+
+ if (!/^<\//.test(tag)) {
+ // this is an opening tag
+ // search forwards (next tags), look for closing tags
+ for (var ntag = ctag + 1; ntag < tagcount; ntag++) {
+ if (!tagpaired[ntag] && tags[ntag] == "" + tagname + ">") {
+ match = ntag;
+ break;
+ }
+ }
+ }
+
+ if (match == -1)
+ needsRemoval = tagremove[ctag] = true; // mark for removal
+ else
+ tagpaired[match] = true; // mark paired
+ }
+
+ if (!needsRemoval)
+ return html;
+
+ // delete all orphaned tags from the string
+
+ var ctag = 0;
+ html = html.replace(re, function (match) {
+ var res = tagremove[ctag] ? "" : match;
+ ctag++;
+ return res;
+ });
+ return html;
+ }
+})();
diff --git a/system/admin/editor/js/editor.js b/system/admin/editor/js/editor.js
new file mode 100755
index 0000000..fdc4cac
--- /dev/null
+++ b/system/admin/editor/js/editor.js
@@ -0,0 +1,73 @@
+(function () {
+ var converter = new Markdown.Converter();
+ Markdown.Extra.init(converter);
+ var editor = new Markdown.Editor(converter);
+
+ //======Image Uploader=====
+ var callbackFunc;
+ var dialogClose = function() {
+ $('#insertImageDialog').modal('hide');
+ $('#insertImageDialogURL').val('');
+ $('#insertImageDialogFile').val('');
+ $('#insertMediaDialogURL').val('');
+ $('#insertMediaDialogFile').val('');
+ $('#gallery-1').html(initial_image);
+ $('#gallery-2').html(initial_image);
+ };
+ $('#insertImageDialogInsert').click( function() {
+ callbackFunc( $('#insertImageDialogURL').val().length > 0 ? $('#insertImageDialogURL').val() : null );
+ dialogClose();
+ });
+ $('#insertImageDialogClose').click( function() {
+ callbackFunc(null);
+ dialogClose();
+ });
+ $('#insertImageDialogCancel').click( function() {
+ callbackFunc(null);
+ dialogClose();
+ });
+ $('#insertImageDialogFile').on('input', function(){
+ var file = $("#insertImageDialogFile").prop("files");
+ var formData = new FormData();
+ formData.append('file', file[0], file[0].name);
+ // Set up the request.
+ $.ajax({
+ type: "POST",
+ url: base_path + 'upload.php',
+ data: formData,
+ processData: false,
+ contentType: false,
+ success: function (response) {
+ if (response.error == '0')
+ {
+ callbackFunc(base_path + response.path);
+ dialogClose();
+ }
+ else
+ {
+ if (response.error !== '') alert(response.error);
+ else alert("An unknown error has occurred");
+ console.error("Bad Response");
+ console.error(response);
+ $('#insertImageDialogFile').val('');
+ }
+ },
+ failure: function (response) {
+ if (response.error !== '') alert(response.error);
+ else alert("An unknown error has occurred");
+ console.error("Unable to Upload");
+ console.error(response);
+ $('#insertImageDialogFile').val('');
+ }
+ });//ajax
+ });//oninput
+ editor.hooks.set('insertImageDialog', function(callback) {
+ $('#insertImageDialog').modal('show');
+ callbackFunc = callback;
+
+ return true; // tell the editor that we'll take care of getting the image url
+ });
+ //=====end image uploader=====
+ editor.run();
+
+})();
\ No newline at end of file
diff --git a/system/admin/editor/js/local/Markdown.local.fr.js b/system/admin/editor/js/local/Markdown.local.fr.js
new file mode 100755
index 0000000..febd080
--- /dev/null
+++ b/system/admin/editor/js/local/Markdown.local.fr.js
@@ -0,0 +1,43 @@
+// Usage:
+//
+// var myConverter = new Markdown.Editor(myConverter, null, { strings: Markdown.local.fr });
+
+(function () {
+ Markdown.local = Markdown.local || {};
+ Markdown.local.fr = {
+ bold: "Gras Ctrl+B",
+ boldexample: "texte en gras",
+
+ italic: "Italique Ctrl+I",
+ italicexample: "texte en italique",
+
+ link: "Hyperlien Ctrl+L",
+ linkdescription: "description de l'hyperlien",
+ linkdialog: "Insérer un hyperlien
http://example.com/ \"titre optionnel\"
",
+
+ quote: "Citation Ctrl+Q",
+ quoteexample: "Citation",
+
+ code: "Extrait de code Ctrl+K",
+ codeexample: "votre extrait de code",
+
+ image: "Image
Ctrl+G",
+ imagedescription: "description de l'image",
+ imagedialog: "Insérer une image
http://example.com/images/diagram.jpg \"titre optionnel\"
Vous chercher un hébergement d'image grauit ?
",
+
+ olist: "Liste numérotée Ctrl+O",
+ ulist: "Liste à point Ctrl+U",
+ litem: "Elément de liste",
+
+ heading: "Titre / Ctrl+H",
+ headingexample: "Titre",
+
+ hr: "Trait horizontal
Ctrl+R",
+
+ undo: "Annuler - Ctrl+Z",
+ redo: "Refaire - Ctrl+Y",
+ redomac: "Refaire - Ctrl+Shift+Z",
+
+ help: "Aide sur Markdown"
+ };
+})();
\ No newline at end of file
diff --git a/system/admin/editor/js/node-pagedown-extra.js b/system/admin/editor/js/node-pagedown-extra.js
new file mode 100755
index 0000000..a19f1d9
--- /dev/null
+++ b/system/admin/editor/js/node-pagedown-extra.js
@@ -0,0 +1,3 @@
+GLOBAL.Markdown = {};
+require('./Markdown.Extra.js');
+exports.Extra = Markdown.Extra;
diff --git a/system/admin/editor/js/node-pagedown.js b/system/admin/editor/js/node-pagedown.js
new file mode 100755
index 0000000..e214548
--- /dev/null
+++ b/system/admin/editor/js/node-pagedown.js
@@ -0,0 +1,2 @@
+exports.Converter = require("./Markdown.Converter").Converter;
+exports.getSanitizingConverter = require("./Markdown.Sanitizer").getSanitizingConverter;
diff --git a/system/admin/editor/package.json b/system/admin/editor/package.json
new file mode 100755
index 0000000..57b0689
--- /dev/null
+++ b/system/admin/editor/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "pagedown",
+ "version": "1.1.0",
+ "description": "markdown converter, based on showdown",
+ "repository": {
+ "type": "hg",
+ "url": "https://code.google.com/p/pagedown/"
+ },
+ "keywords": ["markdown"],
+ "license": "MIT",
+ "files": [
+ "Markdown.Converter.js",
+ "Markdown.Sanitizer.js",
+ "node-pagedown.js"
+ ],
+ "main": "node-pagedown.js",
+ "bugs": "http://code.google.com/p/pagedown/issues/list",
+ "homepage": "http://code.google.com/p/pagedown/wiki/PageDown"
+}
diff --git a/system/admin/views/.htaccess b/system/admin/views/.htaccess
new file mode 100755
index 0000000..3418e55
--- /dev/null
+++ b/system/admin/views/.htaccess
@@ -0,0 +1 @@
+deny from all
\ No newline at end of file
diff --git a/system/admin/views/404.html.php b/system/admin/views/404.html.php
new file mode 100755
index 0000000..cb052c2
--- /dev/null
+++ b/system/admin/views/404.html.php
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+ 404 Not Found -
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/add-content.html.php b/system/admin/views/add-content.html.php
new file mode 100755
index 0000000..7db1104
--- /dev/null
+++ b/system/admin/views/add-content.html.php
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/add-page.html.php b/system/admin/views/add-page.html.php
new file mode 100755
index 0000000..9817646
--- /dev/null
+++ b/system/admin/views/add-page.html.php
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/add-user.html.php b/system/admin/views/add-user.html.php
new file mode 100755
index 0000000..c809377
--- /dev/null
+++ b/system/admin/views/add-user.html.php
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/backup-start.html.php b/system/admin/views/backup-start.html.php
new file mode 100755
index 0000000..aaaa353
--- /dev/null
+++ b/system/admin/views/backup-start.html.php
@@ -0,0 +1,24 @@
+
+
\ No newline at end of file
diff --git a/system/admin/views/backup.html.php b/system/admin/views/backup.html.php
new file mode 100755
index 0000000..6b4f2b1
--- /dev/null
+++ b/system/admin/views/backup.html.php
@@ -0,0 +1,51 @@
+
+
+
+
+ Note:
+Please install the ZIP extension to use the backup feature.
+
+
+
+
+
+
+';
+ echo '' . i18n('Filename') . ' '.i18n('Date').' ' . i18n('Operations') . ' ';
+ foreach ($files as $file) {
+
+ $arr = explode('_', pathinfo($file, PATHINFO_FILENAME));
+ $t = str_replace('-', '', $arr[1]);
+ $dt = new DateTime($t);
+ $timestamp = $dt->format("D, d F Y, H:i:s");
+ $url = site_url() . $file;
+ echo '';
+ echo '' . pathinfo($file, PATHINFO_BASENAME) . ' ';
+ echo '' . $timestamp . ' ';
+ echo 'Download ';
+ echo ' ';
+ }
+ echo '';
+ } else {
+ echo i18n('No_available_backup');
+ }
+}
+
+ ?>
\ No newline at end of file
diff --git a/system/admin/views/categories.html.php b/system/admin/views/categories.html.php
new file mode 100755
index 0000000..cfe1700
--- /dev/null
+++ b/system/admin/views/categories.html.php
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title;?>
+ body;?>
+ slug) + $d->count + get_scheduledcount($d->slug); echo $total?>
+ slug !== 'uncategorized'):?>
+ count == 0 && get_draftcount($d->slug) == 0 && get_scheduledcount($d->slug) == 0){echo '' . i18n('Delete') . '';}?>
+
+
+
+
+
diff --git a/system/admin/views/category-list.html.php b/system/admin/views/category-list.html.php
new file mode 100755
index 0000000..c7d1d23
--- /dev/null
+++ b/system/admin/views/category-list.html.php
@@ -0,0 +1,53 @@
+
+title ?>
+body;?>
+
+url !== site_url() . 'category/uncategorized'):?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date) ?>
+ url !== site_url() . 'category/uncategorized') {?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/clear-cache.html.php b/system/admin/views/clear-cache.html.php
new file mode 100755
index 0000000..db722fa
--- /dev/null
+++ b/system/admin/views/clear-cache.html.php
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/system/admin/views/config-custom.html.php b/system/admin/views/config-custom.html.php
new file mode 100755
index 0000000..50d195d
--- /dev/null
+++ b/system/admin/views/config-custom.html.php
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+<?php echo config(''); ?>
+
diff --git a/system/admin/views/config-metatags.html.php b/system/admin/views/config-metatags.html.php
new file mode 100755
index 0000000..d3977c5
--- /dev/null
+++ b/system/admin/views/config-metatags.html.php
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+ Note:
+Please install and enable the GD extension to use the thumbnail feature.
+
+
+
+
+
diff --git a/system/admin/views/config-performance.html.php b/system/admin/views/config-performance.html.php
new file mode 100755
index 0000000..b6a0ded
--- /dev/null
+++ b/system/admin/views/config-performance.html.php
@@ -0,0 +1,131 @@
+
+
+
+
+
+
diff --git a/system/admin/views/config-reading.html.php b/system/admin/views/config-reading.html.php
new file mode 100755
index 0000000..64d7097
--- /dev/null
+++ b/system/admin/views/config-reading.html.php
@@ -0,0 +1,173 @@
+
+
+
+
+
+
diff --git a/system/admin/views/config-security.html.php b/system/admin/views/config-security.html.php
new file mode 100755
index 0000000..55dfe00
--- /dev/null
+++ b/system/admin/views/config-security.html.php
@@ -0,0 +1,88 @@
+
+
+
+
+
+
diff --git a/system/admin/views/config-widget.html.php b/system/admin/views/config-widget.html.php
new file mode 100755
index 0000000..d81f5b0
--- /dev/null
+++ b/system/admin/views/config-widget.html.php
@@ -0,0 +1,261 @@
+
+
+
+
+
+
diff --git a/system/admin/views/config-writing.html.php b/system/admin/views/config-writing.html.php
new file mode 100755
index 0000000..dd9dcf1
--- /dev/null
+++ b/system/admin/views/config-writing.html.php
@@ -0,0 +1,44 @@
+
+
+
+
+
+
diff --git a/system/admin/views/config.html.php b/system/admin/views/config.html.php
new file mode 100755
index 0000000..d5de3fa
--- /dev/null
+++ b/system/admin/views/config.html.php
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+ Note:
+Please install and enable the INTL extension to format the date format to your local language.
+
+
+
+
+
diff --git a/system/admin/views/content-type.html.php b/system/admin/views/content-type.html.php
new file mode 100755
index 0000000..4e99532
--- /dev/null
+++ b/system/admin/views/content-type.html.php
@@ -0,0 +1,21 @@
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/delete-category.html.php b/system/admin/views/delete-category.html.php
new file mode 100755
index 0000000..6aa9dc5
--- /dev/null
+++ b/system/admin/views/delete-category.html.php
@@ -0,0 +1,25 @@
+
+file;
+$post = $p->url;
+if (isset($destination)) {
+ if ($destination == 'post') {
+ $back = $post;
+ } else {
+ $back = site_url() . $destination;
+ }
+} else {
+ $back = site_url();
+}
+$info = $p->title . ' (' . $p->file . ')';
+?>
+
+
\ No newline at end of file
diff --git a/system/admin/views/delete-page.html.php b/system/admin/views/delete-page.html.php
new file mode 100755
index 0000000..6aa9dc5
--- /dev/null
+++ b/system/admin/views/delete-page.html.php
@@ -0,0 +1,25 @@
+
+file;
+$post = $p->url;
+if (isset($destination)) {
+ if ($destination == 'post') {
+ $back = $post;
+ } else {
+ $back = site_url() . $destination;
+ }
+} else {
+ $back = site_url();
+}
+$info = $p->title . ' (' . $p->file . ')';
+?>
+
+
\ No newline at end of file
diff --git a/system/admin/views/delete-post.html.php b/system/admin/views/delete-post.html.php
new file mode 100755
index 0000000..6aa9dc5
--- /dev/null
+++ b/system/admin/views/delete-post.html.php
@@ -0,0 +1,25 @@
+
+file;
+$post = $p->url;
+if (isset($destination)) {
+ if ($destination == 'post') {
+ $back = $post;
+ } else {
+ $back = site_url() . $destination;
+ }
+} else {
+ $back = site_url();
+}
+$info = $p->title . ' (' . $p->file . ')';
+?>
+
+
\ No newline at end of file
diff --git a/system/admin/views/delete-user.html.php b/system/admin/views/delete-user.html.php
new file mode 100755
index 0000000..9610fd0
--- /dev/null
+++ b/system/admin/views/delete-user.html.php
@@ -0,0 +1,13 @@
+
+
+
+Note: This only delete the user and not the contents.
+
\ No newline at end of file
diff --git a/system/admin/views/denied.html.php b/system/admin/views/denied.html.php
new file mode 100755
index 0000000..da08b83
--- /dev/null
+++ b/system/admin/views/denied.html.php
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/system/admin/views/edit-content.html.php b/system/admin/views/edit-content.html.php
new file mode 100755
index 0000000..8e77bb5
--- /dev/null
+++ b/system/admin/views/edit-content.html.php
@@ -0,0 +1,431 @@
+
+file)) {
+ $file_path = pathinfo($p->file);
+} else {
+ $file_path = pathinfo($oldfile);
+}
+
+$filename = $file_path['dirname'] . '/' . $file_path['basename'];
+
+$desc = get_category_info(null);
+
+$content = file_get_contents($filename);
+$oldtitle = get_content_tag('t', $content, 'Untitled');
+$olddescription = get_content_tag('d', $content);
+$oldtag = get_content_tag('tag', $content);
+$oldcontent = remove_html_comments($content);
+
+$oldimage = get_content_tag('image', $content);
+$oldaudio = get_content_tag('audio', $content);
+$oldvideo = get_content_tag('video', $content);
+$oldlink = get_content_tag('link', $content);
+$oldquote = get_content_tag('quote', $content);
+
+$dir = $file_path['dirname'];
+$isdraft = explode('/', $dir);
+$oldurl = explode('_', $file_path['basename']);
+
+if (empty($oldtag)) {
+ $oldtag = $oldurl[1];
+}
+
+$oldmd = str_replace('.md', '', $oldurl[2]);
+
+if (isset($_GET['destination'])) {
+ $destination = _h($_GET['destination']);
+} else {
+ $destination = 'admin';
+}
+
+$cat = explode('/', $dir);
+$category = $cat[3];
+
+$dt = $oldurl[0];
+$t = str_replace('-', '', $dt);
+$time = new DateTime($t);
+$timestamp = $time->format("Y-m-d H:i:s");
+// The post date
+$postdate = strtotime($timestamp);
+// The post URL
+if (permalink_type() == 'default') {
+ $delete = site_url() . date('Y/m', $postdate) . '/' . $oldmd . '/delete?destination=' . $destination;
+} else {
+ // The post URL
+ $delete = site_url() . permalink_type() . '/' . $oldmd . '/delete?destination=' . $destination;
+}
+
+$tags = tag_cloud(true);
+$tagslang = "content/data/tags.lang";
+if (file_exists($tagslang)) {
+ $ptags = unserialize(file_get_contents($tagslang));
+ $tkey = array_keys($tags);
+ if (!empty($ptags)) {
+ $newlang = array_intersect_key($ptags, array_flip($tkey));
+ } else {
+ $newlang = array_combine($tkey, $tkey);
+ }
+ $tmp = serialize($newlang);
+ file_put_contents($tagslang, print_r($tmp, true), LOCK_EX);
+}
+
+$images = image_gallery(null, 1, 40);
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/edit-mfa.html.php b/system/admin/views/edit-mfa.html.php
new file mode 100755
index 0000000..33a6227
--- /dev/null
+++ b/system/admin/views/edit-mfa.html.php
@@ -0,0 +1,76 @@
+
+generateSecretKey();
+
+ if (version_compare(PHP_VERSION, '8.1', '>=')) {
+
+ $g2faUrl = $google2fa->getQRCodeUrl(
+ $user,
+ $domain,
+ $mfasecret
+ );
+
+ $renderer = new GDLibRenderer(400);
+ $writer = new Writer($renderer);
+
+ $qrcode_image = base64_encode($writer->writeString($g2faUrl));
+ }
+}
+?>
+
+
+
+
+
+
diff --git a/system/admin/views/edit-page.html.php b/system/admin/views/edit-page.html.php
new file mode 100755
index 0000000..2a01396
--- /dev/null
+++ b/system/admin/views/edit-page.html.php
@@ -0,0 +1,358 @@
+
+body;
+ $oldtitle = $p->title;
+ $olddescription = $p->description;
+ $oldcontent = $p->body;
+ $oldmd = $p->slug;
+ $url = 'content/data/category/'. $p->slug . '.md';
+} else {
+
+ if (isset($p->file)) {
+ $url = $p->file;
+ } else {
+ $url = $oldfile;
+ }
+ $content = file_get_contents($url);
+ $oldtitle = get_content_tag('t', $content, 'Untitled');
+ $olddescription = get_content_tag('d', $content);
+ $oldcontent = remove_html_comments($content);
+
+ if (isset($_GET['destination'])) {
+ $destination = _h($_GET['destination']);
+ } else {
+ $destination = 'admin';
+ }
+ $dir = pathinfo($url, PATHINFO_DIRNAME);
+ $oldurl = pathinfo($url, PATHINFO_BASENAME);
+
+ $fn = explode('.', pathinfo($url, PATHINFO_FILENAME));
+ if (isset($fn[1])) {
+ $oldmd = $fn[1];
+ } else {
+ $oldmd = pathinfo($url, PATHINFO_FILENAME);
+ }
+
+ if (isset($p->url)) {
+ $delete = $p->url . '/delete?destination=' . $destination;
+ }
+ else {
+ if(empty($sub)) {
+ $delete = site_url() . $oldmd . '/delete?destination=' . $destination;
+ }
+ else {
+ $delete = site_url() . $static .'/'. $sub . '/delete?destination=' . $destination;
+ }
+ }
+}
+
+$images = image_gallery(null, 1, 40);
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/edit-password.html.php b/system/admin/views/edit-password.html.php
new file mode 100755
index 0000000..8e0497d
--- /dev/null
+++ b/system/admin/views/edit-password.html.php
@@ -0,0 +1,25 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/edit-user.html.php b/system/admin/views/edit-user.html.php
new file mode 100755
index 0000000..efa3e1c
--- /dev/null
+++ b/system/admin/views/edit-user.html.php
@@ -0,0 +1,49 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/import.html.php b/system/admin/views/import.html.php
new file mode 100755
index 0000000..872c0fb
--- /dev/null
+++ b/system/admin/views/import.html.php
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
diff --git a/system/admin/views/layout.html.php b/system/admin/views/layout.html.php
new file mode 100755
index 0000000..ab5ea9a
--- /dev/null
+++ b/system/admin/views/layout.html.php
@@ -0,0 +1,403 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+">
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/login-mfa.html.php b/system/admin/views/login-mfa.html.php
new file mode 100755
index 0000000..ee4531c
--- /dev/null
+++ b/system/admin/views/login-mfa.html.php
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/login.html.php b/system/admin/views/login.html.php
new file mode 100755
index 0000000..7bd42e0
--- /dev/null
+++ b/system/admin/views/login.html.php
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/logout.html.php b/system/admin/views/logout.html.php
new file mode 100755
index 0000000..19ab5c8
--- /dev/null
+++ b/system/admin/views/logout.html.php
@@ -0,0 +1,8 @@
+
+
\ No newline at end of file
diff --git a/system/admin/views/main.html.php b/system/admin/views/main.html.php
new file mode 100755
index 0000000..01eab03
--- /dev/null
+++ b/system/admin/views/main.html.php
@@ -0,0 +1,31 @@
+
+' . i18n('Your_recent_posts') . '';?>
+
+
+
+';
+ echo '' . i18n('Title') . ' ' . i18n('Published') . ' ';
+ if (config("views.counter") == "true")
+ echo ''.i18n('Views').' ';
+ echo '' . i18n('Category') . ' ' . i18n('Tags') . ' ' . i18n('Operations') . ' ';
+ foreach ($posts as $p) {
+ echo '';
+ echo '' . $p->title . ' ';
+ echo '' . format_date($p->date) . ' ';
+ if (config("views.counter") == "true")
+ echo '' . $p->views . ' ';
+ echo ''. $p->categoryTitle .' ';
+ echo '' . str_replace("rel=\"tag\"", "rel=\"tag\" class=\"badge badge-light text-primary font-weight-normal\"", $p->tag) . ' ';
+ echo '' . i18n('Edit') . ' ' . i18n('Delete') . ' ';
+ echo ' ';
+ }
+ echo '';
+ }
+}
+
+?>
diff --git a/system/admin/views/menu.html.php b/system/admin/views/menu.html.php
new file mode 100755
index 0000000..966094c
--- /dev/null
+++ b/system/admin/views/menu.html.php
@@ -0,0 +1,416 @@
+
+';
+ foreach ($menus as $menu) {
+ $ol .= parseMenu($menu);
+ }
+ $ol .= '
';
+ return $ol;
+}
+
+function parseMenu($menu) {
+ $li = '';
+ $li .= ''.$menu->name.'';
+ $li .= ' ';
+ $li .= ' ';
+ if (isset($menu->children)) {
+ $li .= parseMenus($menu->children);
+ }
+ $li .= ' ';
+ return $li;
+}
+
+?>
+
+
+
+ Drag & Drop
'. $menu;} else {echo ''.i18n('At_the_moment_you_are_using_auto_generated_menu').'
';}?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/no-posts.html.php b/system/admin/views/no-posts.html.php
new file mode 100755
index 0000000..641ec95
--- /dev/null
+++ b/system/admin/views/no-posts.html.php
@@ -0,0 +1,2 @@
+
+!
diff --git a/system/admin/views/popular-posts.html.php b/system/admin/views/popular-posts.html.php
new file mode 100755
index 0000000..94946df
--- /dev/null
+++ b/system/admin/views/popular-posts.html.php
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date) ?>
+
+ slug); ?>
+ author ?>
+ categoryTitle;?>
+ tag); ?>
+
+
+
+
+
+
diff --git a/system/admin/views/posts-list.html.php b/system/admin/views/posts-list.html.php
new file mode 100755
index 0000000..f30bdb3
--- /dev/null
+++ b/system/admin/views/posts-list.html.php
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date) ?>
+
+ views ?>
+ author ?>
+ categoryTitle;?>
+ tag); ?>
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/scheduled.html.php b/system/admin/views/scheduled.html.php
new file mode 100755
index 0000000..349b573
--- /dev/null
+++ b/system/admin/views/scheduled.html.php
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date, 'd F Y, H:i:s') ?>
+ categoryTitle;?>
+ tag); ?>
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/search-reindex.html.php b/system/admin/views/search-reindex.html.php
new file mode 100755
index 0000000..0f41f9f
--- /dev/null
+++ b/system/admin/views/search-reindex.html.php
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $v) {
+ $tmp[] = $v;
+}
+
+// Loop through process
+for($i = 0, $size = count($tmp); $i < $size; ++$i) {
+
+ $content = file_get_contents($tmp[$i][1]);
+
+ add_search_index('post_' . $tmp[$i][0], $content);
+
+ // Calculate the percentage
+ $percent = intval($i/$size * 100)."%";
+
+ // Progress bar and information
+ echo '';
+
+ // Buffer
+ echo str_repeat(' ',1024*64);
+
+ // Send output to browser
+ ob_flush();
+
+ // Sleep one second
+ // sleep(1);
+}
+
+// The process is completed
+echo '';
+
+echo ''. i18n('back_to') . ' ' . i18n('search_index') .'';
+
+// Redir
+echo '';
+
+?>
\ No newline at end of file
diff --git a/system/admin/views/search.html.php b/system/admin/views/search.html.php
new file mode 100755
index 0000000..64608b4
--- /dev/null
+++ b/system/admin/views/search.html.php
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/static-pages.html.php b/system/admin/views/static-pages.html.php
new file mode 100755
index 0000000..9470ffa
--- /dev/null
+++ b/system/admin/views/static-pages.html.php
@@ -0,0 +1,72 @@
+
+' . i18n('Static_pages') . '';?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sub
+
+
+
+
+ slug); ?>
+ slug);?>
+
+ title;?>
+ views;?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/static-subpages.html.php b/system/admin/views/static-subpages.html.php
new file mode 100755
index 0000000..0b43a20
--- /dev/null
+++ b/system/admin/views/static-subpages.html.php
@@ -0,0 +1,71 @@
+
+
+
+
+ title ?>
+ description;?>
+
+
+
+
+
+slug);?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ description;?>
+ views;?>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/admin/views/update.html.php b/system/admin/views/update.html.php
new file mode 100755
index 0000000..1fe412f
--- /dev/null
+++ b/system/admin/views/update.html.php
@@ -0,0 +1,63 @@
+
+ 'danpros/htmly',
+ 'prerelease' => config("prerelease"),
+));
+
+$dir = 'cache/';
+if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+}
+if (defined("JSON_PRETTY_PRINT")) {
+ file_put_contents(
+ 'cache/installedVersion.json',
+ json_encode(array(
+ "tag_name" => constant('HTMLY_VERSION')
+ ), JSON_PRETTY_PRINT), LOCK_EX);
+} else {
+ file_put_contents(
+ 'cache/installedVersion.json',
+ json_encode(array(
+ "tag_name" => constant('HTMLY_VERSION')
+ )), LOCK_EX
+ );
+}
+
+if (empty($updater->getNewestInfo())) {
+ echo ''.i18n('Update').'
';
+ echo "Can't check Github server for latest version. You are probably offline.";
+} else {
+ if ($updater->able()) {
+ $info = $updater->getNewestInfo();
+ echo ''.i18n('Update_Available').'
';
+ echo ''. $info['name'] .'
';
+ echo 'Version: '. $info['tag_name'] .'
';
+ echo 'Release Notes
';
+ echo '';
+ echo \Michelf\MarkdownExtra::defaultTransform($info['body']);
+ echo '';
+ echo 'Important: Please always backup your files before upgrading to newer version.
';
+ echo ''.i18n('Update_to').' '. $info['tag_name'] . ' '.i18n('now').'
';
+ } else {
+ echo ''.i18n('Congrats_You_have_the_latest_version_of_HTMLy').'
';
+ $info = $updater->getCurrentInfo();
+ echo ''. $info['name'] .'
';
+ echo 'Installed Version: '. $info['tag_name'] .'
';
+ echo 'Release Notes:
';
+ echo '';
+ echo \Michelf\MarkdownExtra::defaultTransform($info['body']);
+ echo '';
+ echo '';
+ if (config('show.version') == 'false') {
+ if(file_exists('cache/installedVersion.json')) {
+ unlink('cache/installedVersion.json');
+ }
+ }
+ }
+}
diff --git a/system/admin/views/updated-to.html.php b/system/admin/views/updated-to.html.php
new file mode 100755
index 0000000..d5cc320
--- /dev/null
+++ b/system/admin/views/updated-to.html.php
@@ -0,0 +1,13 @@
+Updated to
+[]
+
+
diff --git a/system/admin/views/user-draft.html.php b/system/admin/views/user-draft.html.php
new file mode 100755
index 0000000..3285913
--- /dev/null
+++ b/system/admin/views/user-draft.html.php
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date) ?>
+ categoryTitle;?>
+ tag); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+:
+
+
+
+
+
+
+
+ slug)); ?>
+
+ title ?>
+ lastMod) ?>
+
+
+
+
+
+
+
+
+
+: Sub
+
+
+
+
+
+
+
+
+ parentSlug);?>
+
+ title ?>
+ lastMod) ?>
+
+ title;?>
+
+
+
+
diff --git a/system/admin/views/user-posts.html.php b/system/admin/views/user-posts.html.php
new file mode 100755
index 0000000..12cd947
--- /dev/null
+++ b/system/admin/views/user-posts.html.php
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ title ?>
+ date) ?>
+
+ views ?>
+
+ categoryTitle;?>
+ tag); ?>
+
+
+
+
+
+
+
+
+
+
diff --git a/system/admin/views/users.html.php b/system/admin/views/users.html.php
new file mode 100755
index 0000000..4dfd837
--- /dev/null
+++ b/system/admin/views/users.html.php
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/system/configList.json b/system/configList.json
new file mode 100755
index 0000000..bb5c367
--- /dev/null
+++ b/system/configList.json
@@ -0,0 +1,100 @@
+[
+ "site.url",
+ "timezone",
+ "date.format",
+ "language",
+ "blog.title",
+ "blog.tagline",
+ "blog.description",
+ "blog.copyright",
+ "permalink.type",
+ "static.frontpage",
+ "blog.enable",
+ "blog.path",
+ "blog.string",
+ "social.bluesky",
+ "social.twitter",
+ "social.facebook",
+ "social.instagram",
+ "social.linkedin",
+ "social.github",
+ "social.youtube",
+ "social.mastodon",
+ "social.tiktok",
+ "breadcrumb.home",
+ "comment.system",
+ "fb.appid",
+ "fb.num",
+ "fb.color",
+ "disqus.shortname",
+ "google.wmt.id",
+ "google.analytics.id",
+ "google.gtag.id",
+ "login.protect.system",
+ "login.protect.public",
+ "login.protect.private",
+ "posts.perpage",
+ "category.perpage",
+ "tag.perpage",
+ "archive.perpage",
+ "search.perpage",
+ "profile.perpage",
+ "type.perpage",
+ "json.count",
+ "category.info",
+ "related.count",
+ "recent.count",
+ "popular.count",
+ "tagcloud.count",
+ "read.more",
+ "teaser.type",
+ "teaser.behave",
+ "teaser.char",
+ "description.char",
+ "rss.count",
+ "rss.char",
+ "views.counter",
+ "sitemap.priority.base",
+ "sitemap.priority.post",
+ "sitemap.priority.static",
+ "sitemap.priority.category",
+ "sitemap.priority.tag",
+ "sitemap.priority.archiveDay",
+ "sitemap.priority.archiveMonth",
+ "sitemap.priority.archiveYear",
+ "sitemap.priority.author",
+ "sitemap.priority.type",
+ "prerelease",
+ "cache.expiration",
+ "cache.off",
+ "generation.time",
+ "cache.timestamp",
+ "multi.site",
+ "toc.label",
+ "toc.state",
+ "toc.style",
+ "toc.automatic",
+ "toc.position",
+ "home.title.format",
+ "post.title.format",
+ "page.title.format",
+ "category.title.format",
+ "tag.title.format",
+ "archive.title.format",
+ "search.title.format",
+ "type.title.format",
+ "profile.title.format",
+ "blog.title.format",
+ "default.title.format",
+ "default.image",
+ "favicon.image",
+ "views.root",
+ "views.layout",
+ "autosave.enable",
+ "mfa.state",
+ "show.version",
+ "thumbnail.width",
+ "rss.description",
+ "admin.theme",
+ "fulltext.search"
+]
\ No newline at end of file
diff --git a/system/htmly.php b/system/htmly.php
new file mode 100755
index 0000000..a5a0adf
--- /dev/null
+++ b/system/htmly.php
@@ -0,0 +1,5248 @@
+ generate_title('is_front', null),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'in-front',
+ 'breadcrumb' => '',
+ 'p' => $front,
+ 'static' => $front,
+ 'type' => 'is_frontpage',
+ 'is_front' => true
+ ), $layout);
+
+
+ } else {
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('posts.perpage');
+
+ $posts = get_posts(null, $page, $perpage);
+
+ $total = '';
+
+ $pv = $vroot . '/main--front.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--front';
+ } else {
+ $pview = 'main';
+ }
+
+ $tblog = new stdClass;
+ $tblog->title = blog_tagline();
+ $tblog->url = site_url();
+ $tblog->count = count(get_blog_posts());
+ $tblog->description = blog_description();
+ $tblog->body = $tblog->description;
+ $tblog->rss = site_url() . 'feed/rss';
+ $tblog->slug = site_path();
+
+ if (empty($posts) || $page < 1) {
+
+ // a non-existing page
+ render('no-posts', array(
+ 'title' => generate_title('is_front', null),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'breadcrumb' => '',
+ 'bodyclass' => 'no-posts',
+ 'type' => 'is_frontpage',
+ 'is_front' => true
+ ), $layout);
+
+ die;
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_front', null),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url() . $CanonicalPageNum,
+ 'metatags' => generate_meta(null, null),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'taxonomy' => $tblog,
+ 'bodyclass' => 'in-front',
+ 'breadcrumb' => '',
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'type' => 'is_frontpage',
+ 'is_front' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+
+ }
+});
+
+// Get submitted login data
+post('/login', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $captcha = config('login.protect.system');
+ if (is_null($captcha) || $captcha === 'disabled') {
+ $captcha = true;
+ } elseif ($captcha === 'cloudflare') {
+ $captcha = isTurnstile(from($_REQUEST, 'cf-turnstile-response'));
+ } elseif ($captcha === 'google') {
+ $captcha = isCaptcha(from($_REQUEST, 'g-recaptcha-response'));
+ }
+
+ $user = from($_REQUEST, 'user');
+ $pass = from($_REQUEST, 'password');
+ $mfa_secret = user('mfa_secret', $user);
+ if ($proper && $captcha && !empty($user) && !empty($pass)) {
+ if (!is_null($mfa_secret) && $mfa_secret !== "disabled" && config('mfa.state') === 'true') {
+ config('views.root', 'system/admin/views');
+
+ render('login-mfa', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => i18n('Login') . ' ' . blog_title(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'username' => $user,
+ 'password' => $pass,
+ 'type' => 'is_login',
+ 'is_login' => true,
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ } else {
+ session($user, $pass);
+ $log = session($user, $pass);
+
+ if (!empty($log)) {
+
+ config('views.root', 'system/admin/views');
+
+ render('login', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => i18n('Login') . ' ' . blog_title(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $log . '
',
+ 'type' => 'is_login',
+ 'is_login' => true,
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ }
+ }
+ } else {
+ $message['error'] = '';
+ if (empty($user)) {
+ $message['error'] .= '' . i18n('User_Error') . ' ';
+ }
+ if (empty($pass)) {
+ $message['error'] .= '' . i18n('Pass_Error') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ if (!$captcha) {
+ $message['error'] .= '' . i18n('Captcha_Error') . ' ';
+ }
+
+ config('views.root', 'system/admin/views');
+
+ render('login', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => i18n('Login') . ' ' . blog_title(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'username' => $user,
+ 'password' => $pass,
+ 'type' => 'is_login',
+ 'is_login' => true,
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ }
+});
+
+// Verify MFA
+post('/login-mfa', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $user = $_SESSION["mfa_uid"];
+ $pass = $_SESSION["mfa_pwd"];
+ $mfacode = from($_REQUEST, 'mfacode');
+ $mfa_secret = user('mfa_secret', $user);
+ $google2fa = new Google2FA();
+ if ($proper && $google2fa->verifyKey($mfa_secret, $mfacode, '1')) {
+ session($user, $pass);
+ $log = session($user, $pass);
+
+ if (!empty($log)) {
+
+ config('views.root', 'system/admin/views');
+
+ render('login', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => i18n('Login') . ' ' . blog_title(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $log . '
',
+ 'type' => 'is_login',
+ 'is_login' => true,
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ }
+ } else {
+ $message['error'] = '';
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ } else {
+ $message['error'] .= '' . i18n('MFA_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('login-mfa', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => i18n('Login') . ' ' . blog_title(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'username' => $user,
+ 'password' => $pass,
+ 'type' => 'is_login',
+ 'is_login' => true,
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ }
+});
+
+// Show the author page
+get('/author/:name', function ($name) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('profile.perpage');
+
+ $posts = get_profile_posts($name, $page, $perpage);
+
+ $total = get_count('/'.$name.'/', 'dirname');
+
+ if ($total === 0) {
+ not_found();
+ }
+
+ $author = get_author($name);
+
+ if (isset($author[0])) {
+ $author = $author[0];
+ } else {
+ $author = default_profile($name);
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--profile--' . strtolower($name) . '.html.php';
+ $ls = $vroot . '/layout--profile.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--profile--' . strtolower($name);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--profile';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/profile--'. strtolower($name) .'.html.php';
+ if (file_exists($pv)) {
+ $pview = 'profile--'. strtolower($name);
+ } else {
+ $pview = 'profile';
+ }
+
+ if (empty($posts) || $page < 1) {
+ render($pview, array(
+ 'title' => generate_title('is_profile', $author),
+ 'description' => $author->description,
+ 'canonical' => $author->url,
+ 'metatags' => generate_meta('is_profile', $author),
+ 'page' => $page,
+ 'posts' => null,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'author' => $author,
+ 'type' => 'is_profile',
+ 'bodyclass' => 'in-profile author-' . $name,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Profile_for') . ' ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_profile' => true
+ ), $layout);
+ die;
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_profile', $author),
+ 'description' => $author->description,
+ 'canonical' => $author->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_profile', $author),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'author' => $author,
+ 'type' => 'is_profile',
+ 'bodyclass' => 'in-profile author-' . $name,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Profile_for') . ' ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_profile' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/author/:name/feed', function ($name) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = get_profile_posts($name, 1, config('rss.count'));
+
+ $author = get_author($name);
+
+ if (isset($author[0])) {
+ $author = $author[0];
+ } else {
+ $author = default_profile($name);
+ }
+
+ // Show an RSS feed
+ echo generate_rss($posts, $author);
+});
+
+// Edit the profile
+get('/edit/profile', function () {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit_profile')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-profile',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » '. i18n('Edit_profile'),
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get submitted data from edit profile page
+post('/edit/profile', function () {
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $user = $_SESSION[site_url()]['user'];
+ $title = from($_REQUEST, 'title');
+ $description = from($_REQUEST, 'description');
+ $image = from($_REQUEST, 'image');
+ $content = from($_REQUEST, 'content');
+ if ($proper && !empty($title) && !empty($content)) {
+ edit_profile($title, $content, $user, $description, $image);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', 'Edit profile'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postContent' => $content,
+ 'postImage' => $image,
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-profile',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » Edit profile'
+ ));
+ }
+});
+
+get('/edit/password', function () {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('edit-password', array(
+ 'title' => generate_title('is_default', i18n('change_password')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-password',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » '. i18n('change_password'),
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/edit/password', function() {
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $username = from($_REQUEST, 'username');
+ $new_password = from($_REQUEST, 'password');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $mfa = user('mfa_secret', $user);
+ $old_password = user('password', $username);
+ if ($user === $username) {
+ $file = 'config/users/' . $user . '.ini';
+ if (file_exists($file)) {
+ if (!empty($new_password)) {
+ update_user($user, $new_password, $role, $mfa);
+ }
+ }
+ $redir = site_url() . 'admin';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+get('/edit/mfa', function () {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('edit-mfa', array(
+ 'title' => generate_title('is_default', i18n('config_mfa')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-mfa',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » '. i18n('config_mfa'),
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/edit/mfa', function() {
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $username = from($_REQUEST, 'username');
+ $mfa_secret = from($_REQUEST, 'mfa_secret');
+ $mfacode = from($_REQUEST, 'mfacode');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $old_password = user('password', $user);
+ $password = from($_REQUEST, 'password');
+ $message['error'] = '';
+ if ($user === $username) {
+ if (!is_null($mfa_secret) && $mfa_secret !== "disabled") {
+ $google2fa = new Google2FA();
+ if ($google2fa->verifyKey($mfa_secret, $mfacode)) {
+ if (password_verify($password, $old_password)) {
+ if (!empty($mfa_secret)) {
+ update_user($user, $password, $role, $mfa_secret);
+ }
+ } else {
+ $message['error'] .= '' . i18n('Pass_Error') . ' ';
+ }
+ } else {
+ $message['error'] .= '' . i18n('MFA_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+ render('edit-mfa', array(
+ 'title' => generate_title('is_default', i18n('config_mfa')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-mfa',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » '. i18n('config_mfa'),
+ ));
+ } else {
+ if (password_verify($password, $old_password)) {
+ update_user($user, $password, $role, 'disabled');
+ } else {
+ $message['error'] .= '' . i18n('Pass_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+ render('edit-mfa', array(
+ 'title' => generate_title('is_default', i18n('config_mfa')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'type' => 'is_profile',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-mfa',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » '. i18n('config_mfa'),
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Edit the frontpage
+get('/edit/frontpage', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+
+ config('views.root', 'system/admin/views');
+
+ if ($role === 'editor' || $role === 'admin') {
+ render('edit-page', array(
+ 'title' => generate_title('is_default', 'Edit frontpage'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_frontpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-frontpage',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » Edit frontpage',
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_frontpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get submitted data from edit frontpage
+post('/edit/frontpage', function () {
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $title = from($_REQUEST, 'title');
+ $content = from($_REQUEST, 'content');
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ edit_frontpage($title, $content);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', 'Edit frontpage'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postContent' => $content,
+ 'type' => 'is_frontpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-frontpage',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » Edit frontpage'
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Edit the frontpage
+get('/front/edit', function () {
+
+ if (login()) {
+ $edit = site_url() . 'edit/frontpage';
+ header("location: $edit");
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show the "Add content" page
+get('/add/content', function () {
+
+ if (isset($_GET['type'])) {
+ $req = _h($_GET['type']);
+ } else {
+ $req = 'post';
+ }
+
+ $type = 'is_' . $req;
+
+ if (login()) {
+
+ config('views.root', 'system/admin/views');
+
+ render('add-content', array(
+ 'title' => generate_title('is_default', i18n('Add_new_post')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => $type,
+ 'is_admin' => true,
+ 'bodyclass' => 'add-content',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_new_post')
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted add post data
+post('/add/content', function () {
+
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $is_image = from($_REQUEST, 'is_image');
+ $is_audio = from($_REQUEST, 'is_audio');
+ $is_video = from($_REQUEST, 'is_video');
+ $is_quote = from($_REQUEST, 'is_quote');
+ $is_link = from($_REQUEST, 'is_link');
+ $is_post = from($_REQUEST, 'is_post');
+
+ if (!empty($is_image)) {
+ $type = 'is_image';
+ } elseif (!empty($is_video)) {
+ $type = 'is_video';
+ } elseif (!empty($is_link)) {
+ $type = 'is_link';
+ } elseif (!empty($is_quote)) {
+ $type = 'is_quote';
+ } elseif (!empty($is_audio)) {
+ $type = 'is_audio';
+ } elseif (!empty($is_post)) {
+ $type = 'is_post';
+ }
+
+ $link = from($_REQUEST, 'link');
+ $image = from($_REQUEST, 'image');
+ $audio = from($_REQUEST, 'audio');
+ $video = from($_REQUEST, 'video');
+ $quote = from($_REQUEST, 'quote');
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+
+ $title = from($_REQUEST, 'title');
+ $tag = from($_REQUEST, 'tag');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $description = from($_REQUEST, 'description');
+ $user = $_SESSION[site_url()]['user'];
+ $draft = from($_REQUEST, 'draft');
+ $category = from($_REQUEST, 'category');
+ $date = from($_REQUEST, 'date');
+ $time = from($_REQUEST, 'time');
+ $dateTime = null;
+ if ($date !== null && $time !== null) {
+ $dateTime = $date . ' ' . $time;
+ }
+ if (empty($url)) {
+ $url = $title;
+ }
+
+ if (empty($is_post) && empty($is_image) && empty($is_video) && empty($is_audio) && empty($is_link) && empty($is_quote)) {
+ $add = site_url() . 'admin/content';
+ header("location: $add");
+ }
+
+ if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($is_post)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'post', $description, null, $dateTime);
+ } elseif ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($image)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'image', $description, $image, $dateTime);
+ } elseif ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($video)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'video', $description, $video, $dateTime);
+ } elseif ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($audio)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'audio', $description, $audio, $dateTime);
+ } elseif ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($quote)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'quote', $description, $quote, $dateTime);
+ } elseif ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($link)) {
+ add_content($title, $tag, $url, $content, $user, $draft, $category, 'link', $description, $link, $dateTime);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($tag)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_tag') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+
+ if (!empty($is_image)) {
+ if (empty($image)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_image') . ' ';
+ }
+ } elseif (!empty($is_video)) {
+ if (empty($video)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_video') . ' ';
+ }
+ } elseif (!empty($is_link)) {
+ if (empty($link)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_link') . ' ';
+ }
+ } elseif (!empty($is_quote)) {
+ if (empty($quote)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_quote') . ' ';
+ }
+ } elseif (!empty($is_audio)) {
+ if (empty($audio)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_audio') . ' ';
+ }
+ }
+
+ config('views.root', 'system/admin/views');
+ render('add-content', array(
+ 'title' => generate_title('is_default', i18n('Add_content')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postImage' => $image,
+ 'postVideo' => $video,
+ 'postLink' => $link,
+ 'postQuote' => $quote,
+ 'postAudio' => $audio,
+ 'postTag' => $tag,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'type' => $type,
+ 'is_admin' => true,
+ 'bodyclass' => 'add-content',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_content')
+ ));
+ }
+
+});
+
+// Show the static add page
+get('/add/page', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_new_page')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_page',
+ 'is_admin' => true,
+ 'bodyclass' => 'add-page',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_new_page')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_page',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted static add page data
+post('/add/page', function () {
+
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $description = from($_REQUEST, 'description');
+ $draft = from($_REQUEST, 'draft');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content) && login()) {
+ add_page($title, $url, $content, $draft, $description);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_new_page')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'type' => 'is_page',
+ 'is_admin' => true,
+ 'bodyclass' => 'add-page',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_new_page')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Autosave
+post('/admin/autosave', function () {
+
+ if (login()) {
+ $title = $_REQUEST['title'];
+ $url = $_REQUEST['url'];
+ $content = $_REQUEST['content'];
+ $description = $_REQUEST['description'];
+ $draft = 'draft';
+ $posttype = $_REQUEST['posttype'];
+ $autoSave = $_REQUEST['autoSave'];
+ $oldfile = $_REQUEST['oldfile'];
+ $addEdit = $_REQUEST['addEdit'];
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (empty($url)) {
+ $url = $title;
+ }
+
+ if ($addEdit == 'edit') {
+ $revertPage = '';
+ $revertPost = '';
+ $publishDraft = '';
+ $destination = null;
+ }
+
+ if (!empty($title) && !empty($content)) {
+ if ($posttype == 'is_page') {
+ if ($role === 'editor' || $role === 'admin') {
+ if ($addEdit == 'add') {
+ $response = add_page($title, $url, $content, $draft, $description, $autoSave, $oldfile);
+ } else {
+ $response = edit_page($title, $url, $content, $oldfile, $revertPage, $publishDraft, $destination, $description, null, $autoSave);
+ }
+ }
+ } elseif ($posttype == 'is_subpage') {
+ if ($role === 'editor' || $role === 'admin') {
+ $static = $_REQUEST['parent_page'];
+ if ($addEdit == 'add') {
+ $response = add_sub_page($title, $url, $content, $static, $draft, $description, $autoSave, $oldfile);
+ } else {
+ $response = edit_page($title, $url, $content, $oldfile, $revertPage, $publishDraft, $destination, $description, $static, $autoSave);
+ }
+ }
+ } else {
+ $tag = $_REQUEST['tag'];
+ $category = $_REQUEST['category'];
+ $dateTime = $_REQUEST['dateTime'];
+ if ($posttype == 'is_image') {
+ $type = 'image';
+ $media = $_REQUEST['pimage'];
+ } elseif ($posttype == 'is_video') {
+ $type = 'video';
+ $media = $_REQUEST['pvideo'];
+ } elseif ($posttype == 'is_link') {
+ $type = 'link';
+ $media = $_REQUEST['plink'];
+ } elseif ($posttype == 'is_quote') {
+ $type = 'quote';
+ $media = $_REQUEST['pquote'];
+ } elseif ($posttype == 'is_audio') {
+ $type = 'audio';
+ $media = $_REQUEST['paudio'];
+ } elseif ($posttype == 'is_post') {
+ $type = 'post';
+ $media = null;
+ }
+
+ if ($type == 'post') {
+ if (!empty($title) && !empty($tag) && !empty($content)) {
+ if ($addEdit == 'add') {
+ $response = add_content($title, $tag, $url, $content, $user, $draft, $category, $type, $description, $media, $dateTime, $autoSave, $oldfile);
+ } else {
+ $arr = explode('/', $oldfile);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ $response = edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, $type, $destination, $description, $dateTime, $media, $autoSave);
+ }
+ }
+ } else {
+ $response = json_encode(array('message' => 'Cannot save draft!
Please fill in all required fields', 'file' => ''));
+ }
+ } else {
+ if (!empty($title) && !empty($tag) && !empty($content) && !empty($media)) {
+ if ($addEdit == 'add') {
+ $response = add_content($title, $tag, $url, $content, $user, $draft, $category, $type, $description, $media, $dateTime, $autoSave, $oldfile);
+ } else {
+ $arr = explode('/', $oldfile);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ $response = edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, $type, $destination, $description, $dateTime, $media, $autoSave);
+ }
+ }
+ } else {
+ $response = json_encode(array('message' => 'Cannot save draft!
Please fill in all required fields', 'file' => ''));
+ }
+ }
+ }
+ } else {
+ $response = json_encode(array('message' => 'Cannot save draft!
Please fill in all required fields', 'file' => ''));
+ }
+ header('Content-Type: application/json');
+ echo $response;
+ }
+});
+
+// Show the add category
+get('/add/category', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_category')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'add-category',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_category')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted add category
+post('/add/category', function () {
+
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $description = from($_REQUEST, 'description');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ add_category($title, $url, $content, $description);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_category')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'add-category',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_category')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+
+});
+
+// Show admin/posts
+get('/admin/posts', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ config('views.root', 'system/admin/views');
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = 20;
+
+ $posts = get_posts(null, $page, $perpage);
+
+ $total = '';
+
+ if (empty($posts) || $page < 1) {
+
+ // a non-existing page
+ render('no-posts', array(
+ 'title' => generate_title('is_default', i18n('All_blog_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'no-posts',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('All_blog_posts')
+ ));
+
+ die;
+ }
+
+ render('posts-list', array(
+ 'title' => generate_title('is_default', i18n('All_blog_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('All_blog_posts'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'bodyclass' => 'all-posts',
+ 'type' => 'is_admin-posts',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('All_blog_posts'),
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('All_blog_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-posts',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('All_blog_posts')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/popular
+get('/admin/popular', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ config('views.root', 'system/admin/views');
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = 20;
+
+ $posts = popular_posts(true,$perpage);
+
+ $total = '';
+
+ if (empty($posts) || $page < 1) {
+
+ // a non-existing page
+ render('no-posts', array(
+ 'title' => generate_title('is_default', i18n('Popular_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-popular',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Popular_posts')
+ ));
+
+ die;
+ }
+
+ render('popular-posts', array(
+ 'title' => generate_title('is_default', i18n('Popular_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('Popular_posts'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-popular',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Popular_posts'),
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Popular_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Popular_posts')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/mine
+get('/admin/mine', function () {
+
+ if (login()) {
+
+ config('views.root', 'system/admin/views');
+
+ $name = $_SESSION[site_url()]['user'];
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('profile.perpage');
+
+ $posts = get_profile_posts($name, $page, $perpage);
+
+ $total = get_count('/'.$name.'/', 'dirname');
+
+ $author = get_author($name);
+
+ if (isset($author[0])) {
+ $author = $author[0];
+ } else {
+ $author = default_profile($name);
+ }
+
+ if (empty($posts) || $page < 1) {
+ render('user-posts', array(
+ 'title' => generate_title('is_default', i18n('My_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'page' => $page,
+ 'heading' => i18n('My_posts'),
+ 'posts' => null,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-mine',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-mine',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('My_posts') . ': '. $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ die;
+ }
+
+ render('user-posts', array(
+ 'title' => generate_title('is_default', i18n('My_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('My_posts'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-mine',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-mine',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('My_posts') . ': '. $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/draft
+get('/admin/draft', function () {
+
+ if (login()) {
+
+ config('views.root', 'system/admin/views');
+
+ $name = $_SESSION[site_url()]['user'];
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('profile.perpage');
+
+ $posts = get_draft($name, $page, $perpage);
+
+ $draftPages = find_draft_page();
+
+ $draftSubpages = find_draft_subpage();
+
+ $total = get_draftcount($name);
+
+ $author = get_author($name);
+
+ if (isset($author[0])) {
+ $author = $author[0];
+ } else {
+ $author = default_profile($name);
+ }
+
+ if (empty($posts) || $page < 1) {
+ render('user-draft', array(
+ 'title' => generate_title('is_default', i18n('My_draft')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'page' => $page,
+ 'heading' => i18n('My_draft'),
+ 'posts' => null,
+ 'draftPages' => $draftPages,
+ 'draftSubpages' => $draftSubpages,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-draft',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-draft',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('My_draft'). ': ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ die;
+ }
+
+ render('user-draft', array(
+ 'title' => generate_title('is_default', i18n('My_draft')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('My_draft'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'draftPages' => $draftPages,
+ 'draftSubpages' => $draftSubpages,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-draft',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-draft',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('My_draft') . ': ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/scheduled
+get('/admin/scheduled', function () {
+
+ if (login()) {
+
+ config('views.root', 'system/admin/views');
+
+ $name = $_SESSION[site_url()]['user'];
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('profile.perpage');
+
+ $posts = get_scheduled($name, $page, $perpage);
+
+ $total = get_scheduledcount($name);
+
+ $author = get_author($name);
+
+ if (isset($author[0])) {
+ $author = $author[0];
+ } else {
+ $author = default_profile($name);
+ }
+
+ if (empty($posts) || $page < 1) {
+ render('scheduled', array(
+ 'title' => generate_title('is_default', i18n('Scheduled_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'page' => $page,
+ 'heading' => i18n('Scheduled_posts'),
+ 'posts' => null,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-scheduled',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-scheduled',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Scheduled_posts') . ': ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ die;
+ }
+
+ render('scheduled', array(
+ 'title' => generate_title('is_default', i18n('Scheduled_posts')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('Scheduled_posts'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'about' => $author->about,
+ 'name' => $author->name,
+ 'type' => 'is_admin-scheduled',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-scheduled',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Scheduled_posts') . ': ' . $author->name,
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/content
+get('/admin/content', function () {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('content-type', array(
+ 'title' => generate_title('is_default', i18n('Add_content')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-content',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-content',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Add_content')
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show admin/pages
+get('/admin/pages', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('static-pages', array(
+ 'title' => generate_title('is_default', i18n('Static_pages')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-pages',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-pages',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Static_pages')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/pages', function () {
+
+ if (login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $json = $_REQUEST['json'];
+ reorder_pages($json);
+ echo json_encode(array(
+ 'message' => 'Page order saved successfully!',
+ ));
+ }
+ }
+});
+
+// Show admin/pages
+get('/admin/pages/:static', function ($static)
+{
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+
+ $post = find_page($static);
+
+ if (!$post) {
+ not_found();
+ }
+
+ if (array_key_exists('prev', $post)) {
+ $prev = $post['prev'];
+ } else {
+ $prev = array();
+ }
+
+ if (array_key_exists('next', $post)) {
+ $next = $post['next'];
+ } else {
+ $next = array();
+ }
+
+ $post = $post['current'];
+
+ render('static-subpages', array(
+ 'title' => generate_title('is_default', $post->title),
+ 'description' => $post->description,
+ 'canonical' => $post->url,
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'in-page ' . strtolower($static),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . '' .i18n('pages').' » ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'type' => 'is_subpage',
+ 'prev' => static_prev($prev),
+ 'next' => static_next($next),
+ 'is_page' => true
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', 'Pages'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_subpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '',
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ }
+});
+
+post('/admin/pages/:static', function ($static) {
+
+ if (login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $json = $_REQUEST['json'];
+ reorder_subpages($json);
+ echo json_encode(array(
+ 'message' => 'Page order saved successfully!',
+ ));
+ }
+ }
+});
+
+// Show import page
+get('/admin/import', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('import', array(
+ 'title' => generate_title('is_default', i18n('Import_Feed')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-import',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-import',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Import_Feed')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-import',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+});
+
+// Submitted import page data
+post('/admin/import', function () {
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $url = from($_REQUEST, 'url');
+ $credit = from($_REQUEST, 'credit');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ if (!empty($url) && $proper) {
+
+ get_feed($url, $credit);
+ $log = get_feed($url, $credit);
+
+ if (!empty($log)) {
+
+ config('views.root', 'system/admin/views');
+
+ render('import', array(
+ 'title' => generate_title('is_default', i18n('Import_Feed')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $log . '
',
+ 'type' => 'is_admin-import',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-import',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Import_Feed')
+ ));
+ }
+ } else {
+ $message['error'] = '';
+ if (empty($url)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_feedurl') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+
+ config('views.root', 'system/admin/views');
+
+ render('import', array(
+ 'title' => generate_title('is_default', i18n('Import_Feed')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'url' => $url,
+ 'type' => 'is_admin-import',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-import',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Import_Feed')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Show admin/search
+get('/admin/search', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ config('views.root', 'system/admin/views');
+ if (login()) {
+ if ($role === 'editor' || $role === 'admin' && config('fulltext.search') == "true") {
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = 40;
+
+ $tmp = array();
+ $search = array();
+ $total = '';
+
+ $searchFile = "content/data/search.json";
+
+ if (file_exists($searchFile)) {
+ $search = json_decode(file_get_contents($searchFile), true);
+ }
+
+ $posts = get_blog_posts();
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['filename']);
+ if (!isset($search['post_' . $arr[2]])) {
+ $tmp[] = $v;
+ }
+ }
+
+ if (!empty($tmp)) {
+ $posts = get_posts($tmp, $page, $perpage);
+ $total = count($tmp);
+ }
+
+ if (empty($tmp) || $page < 1) {
+
+ render('search', array(
+ 'title' => generate_title('is_default', i18n('search_index')),
+ 'heading' => i18n('search_index'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'no-posts',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('search_index')
+ ));
+
+ die;
+ }
+
+ render('search', array(
+ 'title' => generate_title('is_default', i18n('search_index')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'heading' => i18n('search_index'),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'bodyclass' => 'all-index-posts',
+ 'type' => 'is_admin-index-posts',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('search_index'),
+ 'pagination' => has_pagination($total, $perpage, $page)
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('search_index')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-index-posts',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('search_index')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/search', function () {
+
+ if (login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $json = $_REQUEST['json'];
+ if ($json == 'content/data/search.json') {
+ unlink($json);
+ }
+ echo json_encode(array(
+ 'message' => 'Search Index cleared successfully!',
+ ));
+ }
+ }
+});
+
+post('/admin/search/reindex', function () {
+
+ if (login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $search = json_decode(htmlspecialchars_decode($_POST['search_index']));
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin' && config('fulltext.search') == "true") {
+ render('search-reindex', array(
+ 'title' => generate_title('is_default', i18n('search_index')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-search',
+ 'search' => $search,
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-search',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('search_index')
+ ));
+ }
+
+ }
+});
+
+// Show Config page
+get('/admin/config', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+});
+
+// Submitted Config page data
+post('/admin/config', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ $new_config = array();
+ $new_Keys = array();
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ foreach (glob('cache/widget/archive*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+ $redir = site_url() . 'admin/config';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/custom', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-custom', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/config/custom', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ $newKey = from($_REQUEST, 'newKey');
+ $newValue = from($_REQUEST, 'newValue');
+
+ $new_config = array();
+ $new_Keys = array();
+ if (!empty($newKey)) {
+ $new_Keys[$newKey] = $newValue;
+ }
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ $new_config[$name] = $value;
+ }
+ }
+ save_config($new_config, $new_Keys);
+ $redir = site_url() . 'admin/config/custom';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/reading', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-reading', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/config/reading', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ $redir = site_url() . 'admin/config/reading';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/writing', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-writing', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/config/writing', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ $redir = site_url() . 'admin/config/writing';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/widget', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-widget', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/config/widget', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ foreach (glob('cache/widget/tags*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+ $redir = site_url() . 'admin/config/widget';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/metatags', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-metatags', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+});
+
+// Submitted Config page data
+post('/admin/config/metatags', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ foreach (glob('cache/widget/*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+ $redir = site_url() . 'admin/config/metatags';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Config page
+get('/admin/config/security', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-security', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/config/security', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ $redir = site_url() . 'admin/config/security';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+
+// Show Config page
+get('/admin/config/performance', function () {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('config-performance', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-config',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Config')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Config')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+});
+
+// Submitted Config page data
+post('/admin/config/performance', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $new_config = array();
+ $new_Keys = array();
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ foreach ($_POST as $name => $value) {
+ if (substr($name, 0, 8) == "-config-") {
+ $name = str_replace("_", ".", substr($name, 8));
+ if(!is_null(config($name))) {
+ $new_config[$name] = $value;
+ } else {
+ $new_Keys[$name] = $value;
+ }
+ }
+ }
+ save_config($new_config, $new_Keys);
+ $redir = site_url() . 'admin/config/performance';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Backup page
+get('/admin/backup', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('backup', array(
+ 'title' => generate_title('is_default', i18n('Backup')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-backup',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-backup',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Backup')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Create backup page
+get('/admin/backup-start', function () {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ render('backup-start', array(
+ 'title' => generate_title('is_default', i18n('Create_backup')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-backup-start',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-backup-start',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Create_backup')
+ ));
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show clear cache page
+get('/admin/clear-cache', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('clear-cache', array(
+ 'title' => generate_title('is_default', i18n('Clear_cache')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-clear-cache',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-clear-cache',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Clear_cache')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-clear-cache',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Update page
+get('/admin/update', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('update', array(
+ 'title' => generate_title('is_default', i18n('Check_update')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-update',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-update',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Check_update')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show the update now link
+get('/admin/update/now/:csrf', function ($CSRF) {
+ $proper = is_csrf_proper($CSRF);
+ $updater = new \Kanti\HubUpdater(array(
+ 'name' => 'danpros/htmly',
+ 'prerelease' => !!config("prerelease"),
+ ));
+ if (login() && $proper && $updater->able()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'admin') {
+ $updater->update();
+ config('views.root', 'system/admin/views');
+ render('updated-to', array(
+ 'title' => generate_title('is_default', i18n('Update')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'info' => $updater->getCurrentInfo(),
+ 'type' => 'is_admin-update',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-update',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Update')
+ ));
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show Menu builder
+get('/admin/menu', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('menu', array(
+ 'title' => generate_title('is_default', i18n('Menus')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-menu',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Menus')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/menu', function () {
+
+ if (login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $json = from($_REQUEST, 'json');
+ file_put_contents('content/data/menu.json', json_encode($json, JSON_UNESCAPED_UNICODE));
+ echo json_encode(array(
+ 'message' => 'Menu saved successfully!',
+ ));
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ }
+});
+
+// Manage users page
+get('/admin/users', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('users', array(
+ 'title' => generate_title('is_default', i18n('User')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-users',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-users',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('User')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+get('/admin/add/user', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('add-user', array(
+ 'title' => generate_title('is_default', i18n('Add_user')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-users',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-users',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('add_user')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/add/user', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $username = from($_REQUEST, 'username');
+ $user_role = from($_REQUEST, 'user-role');
+ $password = from($_REQUEST, 'password');
+ if (login() && $proper) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+
+ if (!empty($username) && !empty($password)) {
+ create_user($username, $password, $user_role);
+ } else {
+
+ $message['error'] = '';
+ if (empty($username)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_username') . ' ';
+ }
+ if (empty($password)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_password') . ' ';
+ }
+
+ render('add-user', array(
+ 'title' => generate_title('is_default', i18n('Add_user')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'type' => 'is_admin-users',
+ 'is_admin' => true,
+ 'username' => $username,
+ 'user_role' => $user_role,
+ 'password' => $password,
+ 'bodyclass' => 'admin-users',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('add_user')
+ ));
+ }
+ $redir = site_url() . 'admin/users';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+get('/admin/users/:username/edit', function ($username) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('edit-user', array(
+ 'title' => generate_title('is_default', $username),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-users',
+ 'username' => $username,
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-users',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $username
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted Config page data
+post('/admin/users/:username/edit', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if (login() && $proper) {
+ $username = from($_REQUEST, 'username');
+ $user_role = from($_REQUEST, 'role-name');
+ $new_password = from($_REQUEST, 'password');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $old_password = user('password', $username);
+ if ($role === 'admin') {
+ $file = 'config/users/' . $username . '.ini';
+ if (file_exists($file)) {
+ if (empty($new_password)) {
+ file_put_contents($file, "password = " . $old_password . "\n" .
+ "encryption = password_hash\n" .
+ "role = " . $user_role . "\n", LOCK_EX);
+ } else {
+ update_user($username, $new_password, $user_role);
+ }
+ }
+ $redir = site_url() . 'admin/users';
+ header("location: $redir");
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+get('/admin/users/:username/delete', function ($username) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'admin') {
+ render('delete-user', array(
+ 'title' => generate_title('is_default', $username),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-users',
+ 'username' => $username,
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-users',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $username
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-menu',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/users/:username/delete', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $file = from($_REQUEST, 'file');
+ $username = from($_REQUEST, 'username');
+ $user_role = user('role', $username);
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ if ($role === 'admin') {
+ if ($user_role !== 'admin') {
+ unlink($file);
+ }
+ }
+ $redir = site_url() . 'admin/users';
+ header("location: $redir");
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+post('/admin/gallery', function () {
+
+ if (login()) {
+ $page = from($_REQUEST, 'page');
+ $images = image_gallery(null, $page, 40);
+ echo json_encode(array('images' => $images));
+ }
+});
+
+// Show category page
+get('/admin/categories', function () {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('categories', array(
+ 'title' => generate_title('is_default', i18n('Categories')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-categories',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-categories',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Categories')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-categories',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Show the category page
+get('/admin/categories/:category', function ($category) {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('category.perpage');
+
+ if (empty($perpage)) {
+ $perpage = 10;
+ }
+
+ $posts = get_category($category, $page, $perpage);
+
+ $desc = get_category_info($category);
+
+ if(!empty($desc)) {
+ $desc = $desc[0];
+ }
+
+ if (empty($desc)) {
+ // a non-existing page
+ not_found();
+ }
+
+ $total = $desc->count;
+
+ render('category-list', array(
+ 'title' => generate_title('is_default', $desc->title),
+ 'description' => $desc->description,
+ 'canonical' => $desc->url,
+ 'metatags' => generate_meta(null, null),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'category' => $desc,
+ 'bodyclass' => 'in-category category-' . strtolower($category),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Categories') .' » ' . $desc->title,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_category' => true,
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', 'Categories'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-categories',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '',
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ }
+});
+
+// Show the category page
+get('/category/:category', function ($category) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('category.perpage');
+
+ if (empty($perpage)) {
+ $perpage = 10;
+ }
+
+ $posts = get_category($category, $page, $perpage);
+
+ $desc = get_category_info($category);
+
+
+ if(!empty($desc)) {
+ $desc = $desc[0];
+ }
+
+ if (empty($posts) || $page < 1) {
+ // a non-existing page
+ not_found();
+ }
+
+ $total = $desc->count;
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--category--'. strtolower($category) .'.html.php';
+ $ls = $vroot . '/layout--category.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--category--' . strtolower($category);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--category';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/main--category--'. strtolower($category) .'.html.php';
+ $ps = $vroot . '/main--category.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--category--' . strtolower($category);
+ } else if (file_exists($ps)) {
+ $pview = 'main--category';
+ } else {
+ $pview = 'main';
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_category', $desc),
+ 'description' => $desc->description,
+ 'canonical' => $desc->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_category', $desc),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'category' => $desc,
+ 'taxonomy' => $desc,
+ 'bodyclass' => 'in-category category-' . strtolower($category),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $desc->title,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_category' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/category/:category/feed', function ($category) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = get_category($category, 1, config('rss.count'));
+
+ $data = get_category_info($category);
+
+ if(!empty($data)) {
+ $data = $data[0];
+ }
+
+ // Show an RSS feed
+ echo generate_rss($posts, $data);
+});
+
+// Show edit the category page
+get('/category/:category/edit', function ($category) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = get_category_info($category);
+
+ if(empty($post)) {
+ not_found();
+ }
+
+ $post = $post[0];
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit_category')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-category',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Category') . ': ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get edited data from category page
+post('/category/:category/edit', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $oldfile = from($_REQUEST, 'oldfile');
+ $destination = from($_GET, 'destination');
+ $description = from($_REQUEST, 'description');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ edit_category($title, $url, $content, $oldfile, $destination, $description);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit_category')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'oldfile' => $oldfile,
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-category',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Edit_category')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Delete category
+get('/category/:category/delete', function ($category) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = get_category_info($category);
+
+ if(empty($post)) {
+ not_found();
+ }
+
+ $post = $post[0];
+
+ render('delete-category', array(
+ 'title' => generate_title('is_default', i18n('Delete') . ' ' . i18n('Category')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_category',
+ 'is_admin' => true,
+ 'bodyclass' => 'delete-category',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Category') . ': ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'type' => 'categoryPage',
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get deleted category data
+post('/category/:category/delete', function () {
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $file = from($_REQUEST, 'file');
+ $destination = from($_GET, 'destination');
+ delete_page($file, $destination);
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ }
+});
+
+// Show the type page
+get('/type/:type', function ($type) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('type.perpage');
+
+ if (empty($perpage)) {
+ $perpage = 10;
+ }
+
+ $posts = get_type($type, $page, $perpage);
+
+ $total = get_typecount($type);
+
+ $ttype = new stdClass;
+ $ttype->title = ucfirst($type);
+ $ttype->url = site_url() . 'type/' . strtolower($type);
+ $ttype->count = $total;
+ $ttype->description = i18n('Posts_with_type') . ' ' . ucfirst($type) . ' ' . i18n('by') . ' ' . blog_title();
+ $ttype->body = $ttype->description;
+ $ttype->rss = $ttype->url . '/feed';
+ $ttype->slug = strtolower($type);
+
+ if (empty($posts) || $page < 1) {
+ // a non-existing page
+ not_found();
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--type--'. strtolower($type) .'.html.php';
+ $ls = $vroot . '/layout--type.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--type--' . strtolower($type);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--type';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/main--type--'. strtolower($type) .'.html.php';
+ $ps = $vroot . '/main--type.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--type--' . strtolower($type);
+ } else if (file_exists($ps)) {
+ $pview = 'main--type';
+ } else {
+ $pview = 'main';
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_type', $ttype),
+ 'description' => $ttype->description,
+ 'canonical' => $ttype->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_type', $ttype),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'type' => $ttype,
+ 'taxonomy' => $ttype,
+ 'bodyclass' => 'in-type type-' . strtolower($type),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . ucfirst($type),
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_type' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/type/:type/feed', function ($type) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = get_type($type, 1, config('rss.count'));
+ $data = new stdClass;
+ $data->title = ucfirst($type);
+ $data->url = site_url() . 'type/' . strtolower($type);
+ $data->body = i18n('Posts_with_type') . ' ' . ucfirst($type) . ' ' . i18n('by') . ' ' . blog_title();
+
+ // Show an RSS feed
+ echo generate_rss($posts, $data);
+});
+
+// Show the tag page
+get('/tag/:tag', function ($tag) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('tag.perpage');
+
+ $posts = get_tag($tag, $page, $perpage);
+
+ $total = get_tagcount($tag);
+
+ $ttag = new stdClass;
+ $ttag->title = tag_i18n($tag);
+ $ttag->url = site_url() . 'tag/' . strtolower($tag);
+ $ttag->count = $total;
+ $ttag->description = i18n('All_posts_tagged') . ' ' . tag_i18n($tag) . ' ' . i18n('by') . ' ' . blog_title();
+ $ttag->body = $ttag->description;
+ $ttag->rss = $ttag->url . '/feed';
+ $ttag->slug = strtolower($tag);
+
+ if (empty($posts) || $page < 1) {
+ // a non-existing page
+ not_found();
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--tag--' . strtolower($tag) . '.html.php';
+ $ls = $vroot . '/layout--tag.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--tag--' . strtolower($tag);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--tag';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/main--tag--' . strtolower($tag) . '.html.php';
+ $ps = $vroot . '/main--tag.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--tag--' . strtolower($tag);
+ } elseif (file_exists($ps)) {
+ $pview = 'main--tag';
+ } else {
+ $pview = 'main';
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_tag', $ttag),
+ 'description' => $ttag->description,
+ 'canonical' => $ttag->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_tag', $ttag),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'tag' => $ttag,
+ 'taxonomy' => $ttag,
+ 'bodyclass' => 'in-tag tag-' . strtolower($tag),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Posts_tagged') . ' ' . tag_i18n($tag),
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_tag' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/tag/:tag/feed', function ($tag) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = get_tag($tag, 1, config('rss.count'));
+ $data = new stdClass;
+ $data->title = tag_i18n($tag);
+ $data->url = site_url() . 'tag/' . strtolower($tag);
+ $data->body = i18n('All_posts_tagged') . ' ' . tag_i18n($tag) . ' ' . i18n('by') . ' ' . blog_title();
+
+ // Show an RSS feed
+ echo generate_rss($posts, $data);
+});
+
+// Show the archive page
+get('/archive/:req', function ($req) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('archive.perpage');
+
+ $posts = get_archive($req, $page, $perpage);
+
+ $total = get_count($req, 'basename');
+
+ if (empty($posts) || $page < 1) {
+ // a non-existing page
+ not_found();
+ }
+
+ $time = explode('-', $req);
+ $date = strtotime($req);
+
+ if (isset($time[0]) && isset($time[1]) && isset($time[2])) {
+ $timestamp = format_date($date, 'd F Y');
+ } elseif (isset($time[0]) && isset($time[1])) {
+ $timestamp = format_date($date, 'F Y');
+ } else {
+ $timestamp = $req;
+ }
+
+ $tarchive = new stdClass;
+ $tarchive->title = $timestamp;
+ $tarchive->url = site_url() . 'archive/' . $req;
+ $tarchive->count = $total;
+ $tarchive->description = i18n('Archive_page_for') . ' ' . $timestamp . ' ' . i18n('by') . ' ' . blog_title();
+ $tarchive->body = $tarchive->description;
+ $tarchive->rss = $tarchive->url . '/feed';
+ $tarchive->slug = strtolower($req);
+
+ if (!$date) {
+ // a non-existing page
+ not_found();
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--archive.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--archive';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/main--archive.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--archive';
+ } else {
+ $pview = 'main';
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_archive', $tarchive),
+ 'description' => $tarchive->description,
+ 'canonical' => $tarchive->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_archive', $tarchive),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'archive' => $tarchive,
+ 'taxonomy' => $tarchive,
+ 'bodyclass' => 'in-archive archive-' . strtolower($req),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Archive_for') . ' ' . $timestamp,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_archive' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/archive/:req/feed', function ($req) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = get_archive($req, 1, config('rss.count'));
+
+ $time = explode('-', $req);
+ $date = strtotime($req);
+
+ if (isset($time[0]) && isset($time[1]) && isset($time[2])) {
+ $timestamp = format_date($date, 'd F Y');
+ } elseif (isset($time[0]) && isset($time[1])) {
+ $timestamp = format_date($date, 'F Y');
+ } else {
+ $timestamp = $req;
+ }
+
+ $data = new stdClass;
+ $data->title = $timestamp;
+ $data->url = site_url() . 'archive/' . $req;
+ $data->body = i18n('Archive_page_for') . ' ' . $timestamp . ' ' . i18n('by') . ' ' . blog_title();
+
+ // Show an RSS feed
+ echo generate_rss($posts, $data);
+});
+
+// Show the search page
+get('/search/:keyword', function ($keyword) {
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('search.perpage');
+ $total = '';
+
+ $posts = get_keyword($keyword, $page, $perpage);
+ if ($posts) {
+ $total = $posts[1];
+ }
+
+ $tsearch = new stdClass;
+ $tsearch->title = $keyword;
+ $tsearch->url = site_url() . 'search/' . strtolower($keyword);
+ $tsearch->count = $total;
+ $tsearch->description = i18n('Search_results_for') . ' ' . $keyword . ' ' . i18n('by') . ' ' . blog_title();
+ $tsearch->body = $tsearch->description;
+ $tsearch->rss = $tsearch->url . '/feed';
+ $tsearch->slug = strtolower($keyword);
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--search.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--search';
+ } else {
+ $layout = '';
+ }
+
+ if (!$posts || $page < 1) {
+ // a non-existing page or no search result
+ render('404-search', array(
+ 'title' => i18n('Search_results_not_found') . ' - ' . blog_title(),
+ 'description' => i18n('Search_results_not_found'),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'search' => $tsearch,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('No_search_results'),
+ 'canonical' => site_url(),
+ 'bodyclass' => 'error-404-search',
+ 'is_404search' => true,
+ ), $layout);
+ die;
+ }
+
+ $pv = $vroot . '/main--search.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--search';
+ } else {
+ $pview = 'main';
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_search', $tsearch),
+ 'description' => $tsearch->description,
+ 'canonical' => $tsearch->url . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_search', $tsearch),
+ 'page' => $page,
+ 'posts' => $posts[0],
+ 'search' => $tsearch,
+ 'taxonomy' => $tsearch,
+ 'bodyclass' => 'in-search search-' . strtolower($keyword),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Search_results_for') . ' ' . $keyword,
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_search' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+});
+
+// Show the RSS feed
+get('/search/:keyword/feed', function ($keyword) {
+
+ header('Content-Type: application/rss+xml');
+
+ $posts = array();
+ $posts = get_keyword($keyword, 1, config('rss.count'));
+ if ($posts) {
+ $posts = $posts[0];
+ }
+
+ $data = new stdClass;
+ $data->title = $keyword;
+ $data->url = site_url() . 'search/' . strtolower($keyword);
+ $data->body = i18n('Search_results_for') . ' ' . $keyword . ' ' . i18n('by') . ' ' . blog_title();
+
+ // Show an RSS feed
+ echo generate_rss($posts, $data);
+});
+
+// The JSON API
+get('/api/json', function () {
+
+ header('Content-type: application/json');
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('json.count');
+
+ echo generate_json(get_posts(null, $page, $perpage));
+});
+
+// Show the RSS feed
+get('/feed/rss', function () {
+
+ header('Content-Type: application/rss+xml');
+
+ // Show an RSS feed with the 30 latest posts
+ echo generate_rss(get_posts(null, 1, config('rss.count')));
+});
+
+// Generate OPML file
+get('/feed/opml', function () {
+
+ header('Content-Type: text/xml');
+
+ // Generate OPML file for the RSS
+ echo generate_opml();
+});
+
+// Show blog post without year-month
+get('/'. permalink_type() .'/:name', function ($name) {
+
+ if (permalink_type() == 'default') {
+ $post = find_post(null, null, $name);
+ if (is_null($post)) {
+ not_found();
+ } else {
+ $current = $post['current'];
+ }
+ $redir = site_url() . date('Y/m', $current->date) . '/' . $name;
+ header("location: $redir", TRUE, 301);
+ }
+
+ if (config("views.counter") != "true") {
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ } else {
+ add_view('post_' . $name);
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ }
+
+ $post = find_post(null, null, $name);
+
+ if (is_null($post)) {
+ not_found('post_' . $name);
+ } else {
+ $current = $post['current'];
+ }
+
+ $author = new stdClass;
+ $author->url = $current->authorUrl;
+ $author->name = $current->authorName;
+ $author->description = $current->authorDescription;
+ $author->about = $current->authorAbout;
+ $author->avatar = $current->authorAvatar;
+ $author->rss = $current->authorRss;
+ $author->slug = $current->author;
+
+ if (array_key_exists('prev', $post)) {
+ $prev = $post['prev'];
+ } else {
+ $prev = array();
+ }
+
+ if (array_key_exists('next', $post)) {
+ $next = $post['next'];
+ } else {
+ $next = array();
+ }
+
+ if (isset($current->image)) {
+ $var = 'imagePost';
+ } elseif (isset($current->link)) {
+ $var = 'linkPost';
+ } elseif (isset($current->quote)) {
+ $var = 'quotePost';
+ } elseif (isset($current->audio)) {
+ $var = 'audioPost';
+ } elseif (isset($current->video)) {
+ $var = 'videoPost'; }
+ else {
+ $var = 'blogPost';
+ }
+
+ if (config('blog.enable') === 'true') {
+ $blog = '' . blog_string() . ' » ';
+ } else {
+ $blog = '';
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--post--' . $current->ct . '.html.php';
+ $pt = $vroot . '/layout--post--' . $current->type . '.html.php';
+ $ls = $vroot . '/layout--post.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--post--' . $current->ct;
+ } else if (file_exists($pt)) {
+ $layout = 'layout--post--' . $current->type;
+ } else if (file_exists($ls)) {
+ $layout = 'layout--post';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/post--' . $current->ct . '.html.php';
+ $pvt = $vroot . '/post--' . $current->type . '.html.php';
+ if (file_exists($pv)) {
+ $pview = 'post--' . $current->ct;
+ } else if(file_exists($pvt)) {
+ $pview = 'post--' . $current->type;
+ } else {
+ $pview = 'post';
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_post', $current),
+ 'description' => $current->description,
+ 'canonical' => $current->url,
+ 'metatags' => generate_meta('is_post', $current),
+ 'p' => $current,
+ 'post' => $current,
+ 'author' => $author,
+ 'bodyclass' => 'in-post category-' . $current->ct . ' type-' . $current->type,
+ 'breadcrumb' => ' ',
+ 'prev' => has_prev($prev),
+ 'next' => has_next($next),
+ 'type' => $var,
+ 'is_post' => true
+ ), $layout);
+
+});
+
+// Edit blog post
+get('/'. permalink_type() .'/:name/edit', function ($name) {
+
+ if (login()) {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ config('views.root', 'system/admin/views');
+ $post = find_post(null, null, $name);
+
+ if (!$post) {
+ $post = find_draft(null, null, $name);
+ if (!$post) {
+ $post = find_scheduled(null, null, $name);
+ if (!$post) {
+ not_found();
+ }
+ }
+
+ }
+
+ $current = $post['current'];
+
+ if (isset($current->image)) {
+ $type= 'is_image';
+ } elseif (isset($current->link)) {
+ $type = 'is_link';
+ } elseif (isset($current->quote)) {
+ $type = 'is_quote';
+ } elseif (isset($current->audio)) {
+ $type = 'is_audio';
+ } elseif (isset($current->video)) {
+ $type = 'is_video';
+ } else {
+ $type = 'is_post';
+ }
+
+ if ($user === $current->author || $role === 'editor' || $role === 'admin') {
+ render('edit-content', array(
+ 'title' => generate_title('is_default', $current->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'type' => $type,
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-post',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', $current->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'bodyclass' => 'denied',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get edited data from blog post
+post('/'. permalink_type() .'/:name/edit', function () {
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $title = from($_REQUEST, 'title');
+ $is_post = from($_REQUEST, 'is_post');
+ $image = from($_REQUEST, 'image');
+ $is_image = from($_REQUEST, 'is_image');
+ $video = from($_REQUEST, 'video');
+ $is_video = from($_REQUEST, 'is_video');
+ $link = from($_REQUEST, 'link');
+ $is_link = from($_REQUEST, 'is_link');
+ $audio = from($_REQUEST, 'audio');
+ $is_audio = from($_REQUEST, 'is_audio');
+ $quote = from($_REQUEST, 'quote');
+ $is_quote = from($_REQUEST, 'is_quote');
+ $tag = from($_REQUEST, 'tag');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $oldfile = from($_REQUEST, 'oldfile');
+ $destination = from($_GET, 'destination');
+ $description = from($_REQUEST, 'description');
+ $date = from($_REQUEST, 'date');
+ $time = from($_REQUEST, 'time');
+ $dateTime = null;
+ $revertPost = from($_REQUEST, 'revertpost');
+ $publishDraft = from($_REQUEST, 'publishdraft');
+ $category = from($_REQUEST, 'category');
+ if ($date !== null && $time !== null) {
+ $dateTime = $date . ' ' . $time;
+ }
+
+ if (!empty($is_image)) {
+ $type = 'is_image';
+ } elseif (!empty($is_video)) {
+ $type = 'is_video';
+ } elseif (!empty($is_link)) {
+ $type = 'is_link';
+ } elseif (!empty($is_quote)) {
+ $type = 'is_quote';
+ } elseif (!empty($is_audio)) {
+ $type = 'is_audio';
+ } elseif (!empty($is_post)) {
+ $type = 'is_post';
+ }
+
+ if (empty($url)) {
+ $url = $title;
+ }
+
+ $arr = explode('/', $oldfile);
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($image)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'image', $destination, $description, $dateTime, $image);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($video)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'video', $destination, $description, $dateTime, $video);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($link)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'link', $destination, $description, $dateTime, $link);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($quote)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'quote', $destination, $description, $dateTime, $quote);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($audio)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'audio', $destination, $description, $dateTime, $audio);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($is_post)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'post', $destination, $description, $dateTime, null);
+
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($tag)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_tag') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+
+ if (!empty($is_image)) {
+ if (empty($image)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_image') . ' ';
+ }
+ } elseif (!empty($is_video)) {
+ if (empty($video)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_video') . ' ';
+ }
+ } elseif (!empty($is_link)) {
+ if (empty($link)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_link') . ' ';
+ }
+ } elseif (!empty($is_quote)) {
+ if (empty($quote)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_quote') . ' ';
+ }
+ } elseif (!empty($is_audio)) {
+ if (empty($audio)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_audio') . ' ';
+ }
+ }
+
+ config('views.root', 'system/admin/views');
+
+ render('edit-content', array(
+ 'title' => generate_title('is_default', $title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'oldfile' => $oldfile,
+ 'postTitle' => $title,
+ 'postImage' => $image,
+ 'postVideo' => $video,
+ 'postLink' => $link,
+ 'postQuote' => $quote,
+ 'postAudio' => $audio,
+ 'postTag' => $tag,
+ 'postUrl' => $url,
+ 'type' => $type,
+ 'is_admin' => true,
+ 'postContent' => $content,
+ 'bodyclass' => 'edit-post',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Edit_content')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Delete blog post
+get('/'. permalink_type() .'/:name/delete', function ($name) {
+
+ if (login()) {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ config('views.root', 'system/admin/views');
+ $post = find_post(null, null, $name);
+
+ if (!$post) {
+ $post = find_draft(null, null, $name);
+ if (!$post) {
+ $post = find_scheduled(null, null, $name);
+ if (!$post) {
+ not_found();
+ }
+ }
+
+ }
+
+ $current = $post['current'];
+
+ if (config('blog.enable') === 'true') {
+ $blog = 'Blog » ';
+ } else {
+ $blog = '';
+ }
+
+ if ($user === $current->author || $role === 'editor' || $role === 'admin') {
+ render('delete-post', array(
+ 'title' => generate_title('is_default', i18n('Delete')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'is_admin' => true,
+ 'bodyclass' => 'delete-post',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', 'Delete post'),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'is_admin' => true,
+ 'bodyclass' => 'delete-post',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get deleted data from blog post
+post('/'. permalink_type() .'/:name/delete', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ $file = from($_REQUEST, 'file');
+ $destination = from($_GET, 'destination');
+ $arr = explode('/', $file);
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ delete_post($file, $destination);
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ }
+});
+
+// Show various page (top-level), admin, login, sitemap, static page.
+get('/:static', function ($static) {
+
+ if (strpos($static, ".xml") !== false) {
+ if ($static === 'sitemap.xml') {
+ $sitemap = 'index.xml';
+ } else {
+ $sitemap = str_replace('sitemap.', '', $static);
+ }
+ header('Content-Type: text/xml');
+ generate_sitemap($sitemap);
+ die;
+ } elseif ($static === 'admin') {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('main', array(
+ 'title' => generate_title('is_default', i18n('Admin')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'admin-front',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Admin')
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+ } elseif ($static === 'login') {
+ if (session_status() == PHP_SESSION_NONE) session_start();
+ config('views.root', 'system/admin/views');
+ render('login', array(
+ 'title' => generate_title('is_default', i18n('Login')),
+ 'description' => 'Login page from ' . blog_title() . '.',
+ 'canonical' => site_url() . '/login',
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'in-login',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Login')
+ ));
+ die;
+ } elseif ($static === 'logout') {
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ render('logout', array(
+ 'title' => generate_title('is_default', i18n('Logout')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'in-logout',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Logout')
+ ));
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ die;
+ } elseif ($static === blog_path()) {
+
+ if(config('blog.enable') !== 'true') {
+ $url = site_url();
+ header("Location: $url");
+ }
+
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+
+ $page = from($_GET, 'page');
+ $page = $page ? (int)$page : 1;
+ $perpage = config('posts.perpage');
+
+ $posts = get_posts(null, $page, $perpage);
+
+ $total = '';
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--blog.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--blog';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/main--blog.html.php';
+ if (file_exists($pv)) {
+ $pview = 'main--blog';
+ } else {
+ $pview = 'main';
+ }
+
+ $tblog = new stdClass;
+ $tblog->title = blog_string();
+ $tblog->url = site_url() . blog_path();
+ $tblog->count = count(get_blog_posts());
+ $tblog->description = i18n('all_blog_posts') . ' ' . i18n('by') . ' ' . blog_title();
+ $tblog->body = $tblog->description;
+ $tblog->rss = site_url() . 'feed/rss';
+ $tblog->slug = blog_path();
+
+ if (empty($posts) || $page < 1) {
+
+ // a non-existing page
+ render('no-posts', array(
+ 'title' => generate_title('is_blog', null),
+ 'description' => blog_title() . ' ' . blog_string(),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta('is_blog', null),
+ 'bodyclass' => 'no-posts',
+ 'is_front' => true,
+ ), $layout);
+
+ die;
+ }
+
+ if ($page > 1) {
+ $CanonicalPageNum = '?page=' . $page;
+ } else {
+ $CanonicalPageNum = NULL;
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_blog', null),
+ 'description' => blog_title() . ' ' . blog_string(),
+ 'canonical' => site_url() . blog_path() . $CanonicalPageNum,
+ 'metatags' => generate_meta('is_blog', null),
+ 'page' => $page,
+ 'posts' => $posts,
+ 'taxonomy' => $tblog,
+ 'bodyclass' => 'in-blog',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . blog_string(),
+ 'pagination' => has_pagination($total, $perpage, $page),
+ 'is_blog' => true,
+ 'is_taxonomy' => true
+ ), $layout);
+ } elseif ($static === 'front') {
+
+ $redir = site_url();
+ header("location: $redir", TRUE, 301);
+
+ } else {
+
+ if (config("views.counter") != "true") {
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ } else {
+ add_view('page_' . $static);
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ }
+
+ $post = find_page($static);
+
+ if (!$post) {
+ not_found('page_' . $static);
+ }
+
+ if (array_key_exists('prev', $post)) {
+ $prev = $post['prev'];
+ } else {
+ $prev = array();
+ }
+
+ if (array_key_exists('next', $post)) {
+ $next = $post['next'];
+ } else {
+ $next = array();
+ }
+
+ $post = $post['current'];
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--' . strtolower($static) . '.html.php';
+ $ls = $vroot . '/layout--static.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--' . strtolower($static);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--static';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/static--' . strtolower($static) . '.html.php';
+ if (file_exists($pv)) {
+ $pview = 'static--' . strtolower($static);
+ } else {
+ $pview = 'static';
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_page', $post),
+ 'description' => $post->description,
+ 'canonical' => $post->url,
+ 'metatags' => generate_meta('is_page', $post),
+ 'bodyclass' => 'in-page ' . strtolower($static),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'type' => 'is_page',
+ 'prev' => static_prev($prev),
+ 'next' => static_next($next),
+ 'is_page' => true
+ ), $layout);
+ }
+});
+
+// Show the add sub static page
+get('/:static/add', function ($static) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = find_page($static);
+
+ if (!$post) {
+ not_found();
+ }
+
+ $post = $post['current'];
+
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_new_page')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_subpage',
+ 'parent' => $static,
+ 'is_admin' => true,
+ 'bodyclass' => 'add-page',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $post->title . ' » ' . i18n('Add_new_page')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted data from add sub static page
+post('/:static/add', function ($static) {
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $description = from($_REQUEST, 'description');
+ $draft = from($_REQUEST, 'draft');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ add_sub_page($title, $url, $content, $static, $draft, $description);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+ render('add-page', array(
+ 'title' => generate_title('is_default', i18n('Add_new_page')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'type' => 'is_subpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'add-page',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $title . ' » ' . i18n('Add_new_page')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Show edit the static page
+get('/:static/edit', function ($static) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = find_page($static);
+
+ if (!$post) {
+ $post = find_draft_page($static);
+ if (!$post) {
+ not_found();
+ } else {
+ $post = $post[0];
+ }
+ } else {
+ $post = $post['current'];
+ }
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit') . ': ' . $post->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'edit-page',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' .i18n('pages').' » ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'type' => 'is_page',
+ 'parent' => ''
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_page',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get edited data from static page
+post('/:static/edit', function () {
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $oldfile = from($_REQUEST, 'oldfile');
+ $destination = from($_GET, 'destination');
+ $description = from($_REQUEST, 'description');
+ $revertPage = from($_REQUEST, 'revertpage');
+ $publishDraft = from($_REQUEST, 'publishdraft');
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ edit_page($title, $url, $content, $oldfile, $revertPage, $publishDraft, $destination, $description);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit') . ': ' . $post->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'oldfile' => $oldfile,
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'bodyclass' => 'edit-page',
+ 'is_admin' => true,
+ 'type' => 'is_page',
+ 'parent' => '',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Edit')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Deleted the static page
+get('/:static/delete', function ($static) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = find_page($static);
+
+ if (!$post) {
+ $post = find_draft_page($static);
+ if (!$post) {
+ not_found();
+ } else {
+ $post = $post[0];
+ }
+ } else {
+ $post = $post['current'];
+ }
+
+ render('delete-page', array(
+ 'title' => generate_title('is_default', i18n('Delete') . ': ' . $post->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'delete-page',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Delete') . ': ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'type' => 'is_page',
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-config',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get deleted data for static page
+post('/:static/delete', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $file = from($_REQUEST, 'file');
+ $destination = from($_GET, 'destination');
+ delete_page($file, $destination);
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ }
+});
+
+// Show the sb static page
+get('/:static/:sub', function ($static, $sub) {
+
+ if ($static === 'front') {
+ $redir = site_url();
+ header("location: $redir", TRUE, 301);
+ }
+
+ if (config("views.counter") != "true") {
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ } else {
+ add_view('subpage_' . $static.'.'.$sub);
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ }
+
+ $parent_post = find_page($static);
+ if (!$parent_post) {
+ not_found('subpage_' . $static.'.'.$sub);
+ }
+ $post = find_subpage($static, $sub);
+
+ if (!$post) {
+ not_found('subpage_' . $static.'.'.$sub);
+ }
+
+ if (array_key_exists('prev', $post)) {
+ $prev = $post['prev'];
+ } else {
+ $prev = array();
+ }
+
+ if (array_key_exists('next', $post)) {
+ $next = $post['next'];
+ } else {
+ $next = array();
+ }
+
+ $post = $post['current'];
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--' . strtolower($static) . '--' . strtolower($sub) . '.html.php';
+ $ls = $vroot . '/layout--' . strtolower($static) . '.html.php';
+ $lf = $vroot . '/layout--static.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--' . strtolower($static) . '--' . strtolower($sub);
+ } else if (file_exists($ls)) {
+ $layout = 'layout--' . strtolower($static);
+ } else if (file_exists($lf)) {
+ $layout = 'layout--static';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/static--' . strtolower($static) . '--' . strtolower($sub) . '.html.php';
+ $ps = $vroot . '/static--' . strtolower($static) . '.html.php';
+ if (file_exists($pv)) {
+ $pview = 'static--' . strtolower($static) . '--' . strtolower($sub);
+ } else if (file_exists($ps)) {
+ $pview = 'static--' . strtolower($static);
+ } else {
+ $pview = 'static';
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_subpage', $post),
+ 'description' => $post->description,
+ 'canonical' => $post->url,
+ 'metatags' => generate_meta('is_subpage', $post),
+ 'bodyclass' => 'in-page ' . strtolower($static) . ' ' . strtolower($sub) ,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $parent_post['current']->title . ' » ' . $post->title,
+ 'p' => $post,
+ 'static' => $post,
+ 'parent' => $parent_post,
+ 'prev' => static_prev($prev),
+ 'next' => static_next($next),
+ 'type' => 'is_subpage',
+ 'is_subpage' => true
+ ), $layout);
+});
+
+// Edit the sub static page
+get('/:static/:sub/edit', function ($static, $sub) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = find_page($static);
+
+ if (!$post) {
+ not_found();
+ }
+
+ $post = $post['current'];
+
+ $page = find_subpage($static, $sub);
+
+ if (!$page) {
+ $page = find_draft_subpage($static, $sub);
+ if (!$page) {
+ not_found();
+ } else {
+ $page = $page[0];
+ }
+ } else {
+ $page = $page['current'];
+ }
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit') . ': ' . $page->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'edit-page',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $post->title . ' » ' . $page->title,
+ 'p' => $page,
+ 'static' => $page,
+ 'type' => 'is_subpage',
+ 'parent' => $static
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_subpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted data from edit sub static page
+post('/:static/:sub/edit', function ($static, $sub) {
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $title = from($_REQUEST, 'title');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $oldfile = from($_REQUEST, 'oldfile');
+ $destination = from($_GET, 'destination');
+ $description = from($_REQUEST, 'description');
+ $revertPage = from($_REQUEST, 'revertpage');
+ $publishDraft = from($_REQUEST, 'publishdraft');
+ if ($destination === null) {
+ $destination = $static . "/" . $sub;
+ }
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (empty($url)) {
+ $url = $title;
+ }
+ if ($role === 'editor' || $role === 'admin') {
+ if ($proper && !empty($title) && !empty($content)) {
+ edit_page($title, $url, $content, $oldfile, $revertPage, $publishDraft, $destination, $description, $static);
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+ config('views.root', 'system/admin/views');
+
+ render('edit-page', array(
+ 'title' => generate_title('is_default', i18n('Edit') . ': ' . $page->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'oldfile' => $oldfile,
+ 'postTitle' => $title,
+ 'postUrl' => $url,
+ 'postContent' => $content,
+ 'static' => $static,
+ 'sub' => $sub,
+ 'type' => 'is_subpage',
+ 'bodyclass' => 'edit-page',
+ 'is_admin' => true,
+ 'parent' => $static,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Edit')
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Delete sub static page
+get('/:static/:sub/delete', function ($static, $sub) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ $post = find_page($static);
+
+ if (!$post) {
+ not_found();
+ }
+
+ $post = $post['current'];
+
+ $page = find_subpage($static, $sub);
+
+ if (!$page) {
+ $page = find_draft_subpage($static, $sub);
+ if (!$page) {
+ not_found();
+ } else {
+ $page = $page[0];
+ }
+ } else {
+ $page = $page['current'];
+ }
+
+ render('delete-page', array(
+ 'title' => generate_title('is_default', i18n('Delete') . ': ' . $page->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'bodyclass' => 'delete-page',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $post->title . ' » ' . $page->title,
+ 'p' => $page,
+ 'static' => $page,
+ 'type' => 'is_subpage',
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_subpage',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Submitted data from delete sub static page
+post('/:static/:sub/delete', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($role === 'editor' || $role === 'admin') {
+ $file = from($_REQUEST, 'file');
+ $destination = from($_GET, 'destination');
+ delete_page($file, $destination);
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+ }
+});
+
+// Show blog post with year-month
+get('/:year/:month/:name', function ($year, $month, $name) {
+
+ if (permalink_type() !== 'default') {
+ $redir = site_url() . permalink_type() . '/' . $name;
+ header("location: $redir", TRUE, 301);
+ }
+
+ if (config("views.counter") != "true") {
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ } else {
+ add_view('post_' . $name);
+ if (!login()) {
+ file_cache($_SERVER['REQUEST_URI']);
+ }
+ }
+
+ $post = find_post($year, $month, $name);
+
+ if (is_null($post)) {
+ not_found('post_'. $name);
+ } else {
+ $current = $post['current'];
+ }
+
+ $author = new stdClass;
+ $author->url = $current->authorUrl;
+ $author->name = $current->authorName;
+ $author->description = $current->authorDescription;
+ $author->about = $current->authorAbout;
+ $author->avatar = $current->authorAvatar;
+ $author->rss = $current->authorRss;
+ $author->slug = $current->author;
+
+ if (array_key_exists('prev', $post)) {
+ $prev = $post['prev'];
+ } else {
+ $prev = array();
+ }
+
+ if (array_key_exists('next', $post)) {
+ $next = $post['next'];
+ } else {
+ $next = array();
+ }
+
+ if (isset($current->image)) {
+ $var = 'imagePost';
+ } elseif (isset($current->link)) {
+ $var = 'linkPost';
+ } elseif (isset($current->quote)) {
+ $var = 'quotePost';
+ } elseif (isset($current->audio)) {
+ $var = 'audioPost';
+ } elseif (isset($current->video)) {
+ $var = 'videoPost'; }
+ else {
+ $var = 'blogPost';
+ }
+
+ if (config('blog.enable') === 'true') {
+ $blog = '' . blog_string() . ' » ';
+ } else {
+ $blog = '';
+ }
+
+ $vroot = rtrim(config('views.root'), '/');
+
+ $lt = $vroot . '/layout--post--' . $current->ct . '.html.php';
+ $pt = $vroot . '/layout--post--' . $current->type . '.html.php';
+ $ls = $vroot . '/layout--post.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--post--' . $current->ct;
+ } else if (file_exists($pt)) {
+ $layout = 'layout--post--' . $current->type;
+ } else if (file_exists($ls)) {
+ $layout = 'layout--post';
+ } else {
+ $layout = '';
+ }
+
+ $pv = $vroot . '/post--' . $current->ct . '.html.php';
+ $pvt = $vroot . '/post--' . $current->type . '.html.php';
+ if (file_exists($pv)) {
+ $pview = 'post--' . $current->ct;
+ } else if(file_exists($pvt)) {
+ $pview = 'post--' . $current->type;
+ } else {
+ $pview = 'post';
+ }
+
+ render($pview, array(
+ 'title' => generate_title('is_post', $current),
+ 'description' => $current->description,
+ 'canonical' => $current->url,
+ 'metatags' => generate_meta('is_post', $current),
+ 'p' => $current,
+ 'post' => $current,
+ 'author' => $author,
+ 'bodyclass' => 'in-post category-' . $current->ct . ' type-' . $current->type,
+ 'breadcrumb' => ' ',
+ 'prev' => has_prev($prev),
+ 'next' => has_next($next),
+ 'type' => $var,
+ 'is_post' => true
+ ), $layout);
+
+});
+
+// Edit blog post
+get('/:year/:month/:name/edit', function ($year, $month, $name) {
+
+ if (login()) {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ config('views.root', 'system/admin/views');
+ $post = find_post($year, $month, $name);
+
+ if (!$post) {
+ $post = find_draft($year, $month, $name);
+ if (!$post) {
+ $post = find_scheduled($year, $month, $name);
+ if (!$post) {
+ not_found();
+ }
+ }
+
+ }
+
+ $current = $post['current'];
+
+ if (isset($current->image)) {
+ $type= 'is_image';
+ } elseif (isset($current->link)) {
+ $type = 'is_link';
+ } elseif (isset($current->quote)) {
+ $type = 'is_quote';
+ } elseif (isset($current->audio)) {
+ $type = 'is_audio';
+ } elseif (isset($current->video)) {
+ $type = 'is_video';
+ } else {
+ $type = 'is_post';
+ }
+
+ if ($user === $current->author || $role === 'editor' || $role === 'admin') {
+ render('edit-content', array(
+ 'title' => generate_title('is_default', $current->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'type' => $type,
+ 'bodyclass' => 'edit-post',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', $current->title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'bodyclass' => 'denied',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get edited data from blog post
+post('/:year/:month/:name/edit', function () {
+
+ if(!login()) {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ $title = from($_REQUEST, 'title');
+ $is_post = from($_REQUEST, 'is_post');
+ $image = from($_REQUEST, 'image');
+ $is_image = from($_REQUEST, 'is_image');
+ $video = from($_REQUEST, 'video');
+ $is_video = from($_REQUEST, 'is_video');
+ $link = from($_REQUEST, 'link');
+ $is_link = from($_REQUEST, 'is_link');
+ $audio = from($_REQUEST, 'audio');
+ $is_audio = from($_REQUEST, 'is_audio');
+ $quote = from($_REQUEST, 'quote');
+ $is_quote = from($_REQUEST, 'is_quote');
+ $tag = from($_REQUEST, 'tag');
+ $url = from($_REQUEST, 'url');
+ $content = from($_REQUEST, 'content');
+ $oldfile = from($_REQUEST, 'oldfile');
+ $destination = from($_GET, 'destination');
+ $description = from($_REQUEST, 'description');
+ $date = from($_REQUEST, 'date');
+ $time = from($_REQUEST, 'time');
+ $dateTime = null;
+ $revertPost = from($_REQUEST, 'revertpost');
+ $publishDraft = from($_REQUEST, 'publishdraft');
+ $category = from($_REQUEST, 'category');
+ if ($date !== null && $time !== null) {
+ $dateTime = $date . ' ' . $time;
+ }
+
+ if (!empty($is_image)) {
+ $type = 'is_image';
+ } elseif (!empty($is_video)) {
+ $type = 'is_video';
+ } elseif (!empty($is_link)) {
+ $type = 'is_link';
+ } elseif (!empty($is_quote)) {
+ $type = 'is_quote';
+ } elseif (!empty($is_audio)) {
+ $type = 'is_audio';
+ } elseif (!empty($is_post)) {
+ $type = 'is_post';
+ }
+
+ if (empty($url)) {
+ $url = $title;
+ }
+
+ $arr = explode('/', $oldfile);
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+
+ if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($image)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'image', $destination, $description, $dateTime, $image);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($video)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'video', $destination, $description, $dateTime, $video);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($link)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'link', $destination, $description, $dateTime, $link);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($quote)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'quote', $destination, $description, $dateTime, $quote);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($audio)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'audio', $destination, $description, $dateTime, $audio);
+
+ } else if ($proper && !empty($title) && !empty($tag) && !empty($content) && !empty($is_post)) {
+
+ edit_content($title, $tag, $url, $content, $oldfile, $revertPost, $publishDraft, $category, 'post', $destination, $description, $dateTime, null);
+
+ } else {
+ $message['error'] = '';
+ if (empty($title)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_title') . ' ';
+ }
+ if (empty($tag)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_tag') . ' ';
+ }
+ if (empty($content)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_content') . ' ';
+ }
+ if (!$proper) {
+ $message['error'] .= '' . i18n('Token_Error') . ' ';
+ }
+
+ if (!empty($is_image)) {
+ if (empty($image)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_image') . ' ';
+ }
+ } elseif (!empty($is_video)) {
+ if (empty($video)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_video') . ' ';
+ }
+ } elseif (!empty($is_link)) {
+ if (empty($link)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_link') . ' ';
+ }
+ } elseif (!empty($is_quote)) {
+ if (empty($quote)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_quote') . ' ';
+ }
+ } elseif (!empty($is_audio)) {
+ if (empty($audio)) {
+ $message['error'] .= '' . i18n('msg_error_field_req_audio') . ' ';
+ }
+ }
+
+ config('views.root', 'system/admin/views');
+
+ render('edit-content', array(
+ 'title' => generate_title('is_default', $title),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'error' => '' . $message['error'] . '
',
+ 'oldfile' => $oldfile,
+ 'postTitle' => $title,
+ 'postImage' => $image,
+ 'postVideo' => $video,
+ 'postLink' => $link,
+ 'postQuote' => $quote,
+ 'postAudio' => $audio,
+ 'postTag' => $tag,
+ 'postUrl' => $url,
+ 'type' => $type,
+ 'postContent' => $content,
+ 'is_admin' => true,
+ 'bodyclass' => 'edit-post',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $title
+ ));
+ }
+ } else {
+ $redir = site_url();
+ header("location: $redir");
+ }
+});
+
+// Delete blog post
+get('/:year/:month/:name/delete', function ($year, $month, $name) {
+
+ if (login()) {
+
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+
+ config('views.root', 'system/admin/views');
+ $post = find_post($year, $month, $name);
+
+ if (!$post) {
+ $post = find_draft($year, $month, $name);
+ if (!$post) {
+ $post = find_scheduled($year, $month, $name);
+ if (!$post) {
+ not_found();
+ }
+ }
+
+ }
+
+ $current = $post['current'];
+
+ if ($user === $current->author || $role === 'editor' || $role === 'admin') {
+ render('delete-post', array(
+ 'title' => generate_title('is_default', i18n('Delete')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'bodyclass' => 'delete-post',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Delete')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'p' => $current,
+ 'post' => $current,
+ 'bodyclass' => 'delete-post',
+ 'is_admin' => true,
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . $current->categoryb . ' » ' . $current->title
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
+// Get deleted data from blog post
+post('/:year/:month/:name/delete', function () {
+
+ $proper = is_csrf_proper(from($_REQUEST, 'csrf_token'));
+ if ($proper && login()) {
+ $file = from($_REQUEST, 'file');
+ $destination = from($_GET, 'destination');
+ $arr = explode('/', $file);
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ if ($user === $arr[1] || $role === 'editor' || $role === 'admin') {
+ delete_post($file, $destination);
+ }
+ }
+});
+
+// If we get here, it means that
+// nothing has been matched above
+get('.*', function () {
+ not_found();
+});
+
+// Serve the blog
+dispatch();
diff --git a/system/includes/.htaccess b/system/includes/.htaccess
new file mode 100755
index 0000000..3418e55
--- /dev/null
+++ b/system/includes/.htaccess
@@ -0,0 +1 @@
+deny from all
\ No newline at end of file
diff --git a/system/includes/dispatch.php b/system/includes/dispatch.php
new file mode 100755
index 0000000..05c5a3f
--- /dev/null
+++ b/system/includes/dispatch.php
@@ -0,0 +1,722 @@
+ $value) {
+ $value = json_encode($value, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
+ $map = array('\r\n' => ' \n ', '\r' => ' \n ');
+ $value = trim(strtr($value, $map));
+ $string = preg_replace("/^" . $word . " = .+$/m", $word . ' = ' . $value, $string);
+ }
+ $string = rtrim($string);
+ foreach ($new as $word => $value) {
+ $value = json_encode($value, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
+ $map = array('\r\n' => ' \n ', '\r' => ' \n ');
+ $value = trim(strtr($value, $map));
+ $string .= "\n" . $word . ' = ' . $value . "\n";
+ }
+ $string = rtrim($string);
+ return file_put_contents($config_file, $string, LOCK_EX);
+}
+
+function get_search_query()
+{
+ if (isset($_GET['search'])) {
+ $search = _h($_GET['search']);
+ $url = site_url() . 'search/' . $search;
+ header("Location: $url");
+ die;
+ }
+}
+
+function to_b64($str)
+{
+ $str = base64_encode($str);
+ $str = preg_replace('/\//', '_', $str);
+ $str = preg_replace('/\+/', '.', $str);
+ $str = preg_replace('/\=/', '-', $str);
+ return trim($str, '-');
+}
+
+function from_b64($str)
+{
+ $str = preg_replace('/\_/', '/', $str);
+ $str = preg_replace('/\./', '+', $str);
+ $str = preg_replace('/\-/', '=', $str);
+ $str = base64_decode($str);
+ return $str;
+}
+
+if (extension_loaded('mcrypt')) {
+
+ function encrypt($decoded, $algo = MCRYPT_RIJNDAEL_256, $mode = MCRYPT_MODE_CBC)
+ {
+ if (($secret = config('cookies.secret')) == null)
+ error(500, '[cookies.secret] is not set');
+
+ $secret = mb_substr($secret, 0, mcrypt_get_key_size($algo, $mode));
+ $iv_size = mcrypt_get_iv_size($algo, $mode);
+ $iv_code = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
+ $encrypted = to_b64(mcrypt_encrypt($algo, $secret, $decoded, $mode, $iv_code));
+
+ return sprintf('%s|%s', $encrypted, to_b64($iv_code));
+ }
+
+ function decrypt($encoded, $algo = MCRYPT_RIJNDAEL_256, $mode = MCRYPT_MODE_CBC)
+ {
+ if (($secret = config('cookies.secret')) == null)
+ error(500, '[cookies.secret] is not set');
+
+ $secret = mb_substr($secret, 0, mcrypt_get_key_size($algo, $mode));
+ list($enc_str, $iv_code) = explode('|', $encoded);
+ $enc_str = from_b64($enc_str);
+ $iv_code = from_b64($iv_code);
+ $enc_str = mcrypt_decrypt($algo, $secret, $enc_str, $mode, $iv_code);
+
+ return rtrim($enc_str, "\0");
+ }
+
+}
+
+function set_cookie($name, $value, $expire = 31536000, $path = '/')
+{
+ $value = (function_exists('encrypt') ? encrypt($value) : $value);
+ setcookie($name, $value, time() + $expire, $path);
+}
+
+function get_cookie($name)
+{
+ $value = from($_COOKIE, $name);
+
+ if ($value)
+ $value = (function_exists('decrypt') ? decrypt($value) : $value);
+
+ return $value;
+}
+
+function delete_cookie()
+{
+ $cookies = func_get_args();
+ foreach ($cookies as $ck)
+ setcookie($ck, '', -10, '/');
+}
+
+// if we have APCu loaded, enable cache functions
+if (extension_loaded('apcu')) {
+
+ function cache($key, $func, $ttl = 0)
+ {
+ if (($data = apcu_fetch($key)) === false) {
+ $data = call_user_func($func);
+ if ($data !== null) {
+ apcu_store($key, $data, $ttl);
+ }
+ }
+ return $data;
+ }
+
+ function cache_invalidate()
+ {
+ foreach (func_get_args() as $key) {
+ apcu_delete($key);
+ }
+ }
+
+}
+
+function warn($name = null, $message = null)
+{
+ static $warnings = array();
+
+ if ($name == '*')
+ return $warnings;
+
+ if (!$name)
+ return count(array_keys($warnings));
+
+ if (!$message)
+ return isset($warnings[$name]) ? $warnings[$name] : null;
+
+ $warnings[$name] = $message;
+}
+
+function _u($str)
+{
+ return urlencode($str);
+}
+
+function _h($str, $enc = 'UTF-8', $flags = ENT_QUOTES)
+{
+ return htmlentities($str, $flags, $enc);
+}
+
+function from($source, $name)
+{
+ $map = array("\r\n" => "\n", "\r" => "\n");
+ if (is_array($name)) {
+ $data = array();
+ foreach ($name as $k)
+ $data[$k] = isset($source[$k]) ? trim(strtr($source[$k], $map)) : null;
+ return $data;
+ }
+ return isset($source[$name]) ? trim(strtr($source[$name], $map)) : null;
+}
+
+function stash($name, $value = null)
+{
+ static $_stash = array();
+
+ if ($value === null)
+ return isset($_stash[$name]) ? $_stash[$name] : null;
+
+ $_stash[$name] = $value;
+
+ return $value;
+}
+
+function method($verb = null)
+{
+ if ($verb == null || (strtoupper($verb) == strtoupper($_SERVER['REQUEST_METHOD'])))
+ return strtoupper($_SERVER['REQUEST_METHOD']);
+
+ error(400, 'bad request');
+}
+
+function client_ip()
+{
+ if (isset($_SERVER['HTTP_CLIENT_IP']))
+ return $_SERVER['HTTP_CLIENT_IP'];
+ elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
+
+ return $_SERVER['REMOTE_ADDR'];
+}
+
+function redirect(/* $code_or_path, $path_or_cond, $cond */)
+{
+ $argv = func_get_args();
+ $argc = count($argv);
+
+ $path = null;
+ $code = 302;
+ $cond = true;
+
+ switch ($argc) {
+ case 3:
+ list($code, $path, $cond) = $argv;
+ break;
+ case 2:
+ if (is_string($argv[0]) ? $argv[0] : $argv[1]) {
+ $code = 302;
+ $path = $argv[0];
+ $cond = $argv[1];
+ } else {
+ $code = $argv[0];
+ $path = $argv[1];
+ }
+ break;
+ case 1:
+ if (!is_string($argv[0]))
+ error(500, 'bad call to redirect()');
+ $path = $argv[0];
+ break;
+ default:
+ error(500, 'bad call to redirect()');
+ }
+
+ $cond = (is_callable($cond) ? !!call_user_func($cond) : !!$cond);
+
+ if (!$cond)
+ return;
+
+ header('Location: ' . $path, true, $code);
+ exit;
+}
+
+function partial($view, $locals = null)
+{
+ if (is_array($locals) && count($locals)) {
+ extract($locals, EXTR_SKIP);
+ }
+
+ if (($view_root = config('views.root')) == null)
+ error(500, "[views.root] is not set");
+
+ $path = basename($view);
+ $view = preg_replace('/' . $path . '$/', "_{$path}", $view);
+ $view = "{$view_root}/{$view}.html.php";
+
+ if (file_exists($view)) {
+ ob_start();
+ require $view;
+ return ob_get_clean();
+ } else {
+ error(500, "partial [{$view}] not found");
+ }
+
+ return '';
+}
+
+function content($value = null)
+{
+ return stash('$content$', $value);
+}
+
+function render($view, $locals = null, $layout = null)
+{
+ if (!login()) {
+ $c = str_replace('/', '#', str_replace('?', '~', rawurldecode($_SERVER['REQUEST_URI'])));
+ $dir = 'cache/page';
+ $cachefile = $dir . '/' . $c . '.cache';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ }
+
+ if (is_array($locals) && count($locals)) {
+ extract($locals, EXTR_SKIP);
+ }
+
+ if (($view_root = config('views.root')) == null)
+ error(500, "[views.root] is not set");
+
+ $fnc = "{$view_root}/functions.php";
+
+ ob_start();
+ if (file_exists($fnc)) {
+ include $fnc;
+ }
+ include "{$view_root}/{$view}.html.php";
+ content(trim(ob_get_clean()));
+
+ if ($layout !== false) {
+ if ($layout == null) {
+ $layout = config('views.layout');
+ $layout = ($layout == null) ? 'layout' : $layout;
+ }
+ $layout = "{$view_root}/{$layout}.html.php";
+ if ($view != 'search-reindex') {
+ header('Content-type: text/html; charset=utf-8');
+ }
+ if (config('generation.time') == 'true') {
+ ob_start();
+ require $layout;
+ $time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
+ $total_time = round($time, 4);
+ echo "\n" . '';
+ } else {
+ ob_start();
+ require $layout;
+ }
+ if (!login() && $view != '404' && $view != '404-search' && $view != 'login-mfa' && config('cache.off') == "false") {
+ if (config('cache.timestamp') == 'true') {
+ echo "\n" . '';
+ }
+ if (isset($cachefile))
+ file_put_contents($cachefile, ob_get_contents(), LOCK_EX);
+ }
+ echo trim(ob_get_clean());
+ } else {
+ echo content();
+ }
+}
+
+function json($obj, $code = 200)
+{
+ header('Content-type: application/json', true, $code);
+ echo json_encode($obj);
+ exit;
+}
+
+function save_json_pretty($filename, $arr)
+{
+ if (defined("JSON_PRETTY_PRINT")) {
+ file_put_contents($filename, json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT), LOCK_EX);
+ } else {
+ file_put_contents($filename, json_encode($arr, JSON_UNESCAPED_UNICODE), LOCK_EX);
+ }
+}
+
+function file_get_data($filename)
+{
+ $thisFile = fopen($filename, 'r');
+ if (flock($thisFile, LOCK_SH)) {
+ $fileData = file_get_contents($filename);
+ flock($thisFile, LOCK_UN);
+ } else {
+ $fileData = json_encode(array('flock_fail' => 'reading'));
+ }
+ fclose($thisFile);
+ return $fileData;
+}
+
+function condition()
+{
+ static $cb_map = array();
+
+ $argv = func_get_args();
+ $argc = count($argv);
+
+ if (!$argc)
+ error(500, 'bad call to condition()');
+
+ $name = array_shift($argv);
+ $argc = $argc - 1;
+
+ if (!$argc && is_callable($cb_map[$name]))
+ return call_user_func($cb_map[$name]);
+
+ if (is_callable($argv[0]))
+ return ($cb_map[$name] = $argv[0]);
+
+ if (is_callable($cb_map[$name]))
+ return call_user_func_array($cb_map[$name], $argv);
+
+ error(500, 'condition [' . $name . '] is undefined');
+}
+
+function middleware($cb_or_path = null)
+{
+ static $cb_map = array();
+
+ if ($cb_or_path == null || is_string($cb_or_path)) {
+ foreach ($cb_map as $cb) {
+ call_user_func($cb, $cb_or_path);
+ }
+ } else {
+ array_push($cb_map, $cb_or_path);
+ }
+}
+
+function filter($sym, $cb_or_val = null)
+{
+ static $cb_map = array();
+
+ if (is_callable($cb_or_val)) {
+ $cb_map[$sym] = $cb_or_val;
+ return;
+ }
+
+ if (is_array($sym) && count($sym) > 0) {
+ foreach ($sym as $s) {
+ $s = substr($s, 1);
+ if (isset($cb_map[$s]) && isset($cb_or_val[$s]))
+ call_user_func($cb_map[$s], $cb_or_val[$s]);
+ }
+ return;
+ }
+
+ error(500, 'bad call to filter()');
+}
+
+function route_to_regex($route)
+{
+ $route = preg_replace_callback('@:[\w]+@i', function ($matches) {
+ $token = str_replace(':', '', $matches[0]);
+ return '(?P<' . $token . '>[a-z0-9_\0-\.]+)';
+ }, $route);
+ return '@^' . rtrim($route, '/') . '$@i';
+}
+
+function route($method, $pattern, $callback = null)
+{
+ // callback map by request type
+ static $route_map = array(
+ 'GET' => array(),
+ 'POST' => array()
+ );
+
+ $method = strtoupper($method);
+
+ if (!in_array($method, array('GET', 'POST')))
+ error(500, 'Only GET and POST are supported');
+
+ // a callback was passed, so we create a route defiition
+ if ($callback !== null) {
+
+ // create a route entry for this pattern
+ $route_map[$method][$pattern] = array(
+ 'xp' => route_to_regex($pattern),
+ 'cb' => $callback
+ );
+
+ } else {
+
+
+ // callback is null, so this is a route invokation. look up the callback.
+ foreach ($route_map[$method] as $pat => $obj) {
+
+ // if the requested uri ($pat) has a matching route, let's invoke the cb
+ if (!preg_match($obj['xp'], $pattern, $vals))
+ continue;
+
+ // call middleware
+ middleware($pattern);
+
+ // construct the params for the callback
+ array_shift($vals);
+ preg_match_all('@:([\w]+)@', $pat, $keys, PREG_PATTERN_ORDER);
+ $keys = array_shift($keys);
+ $argv = array();
+
+ foreach ($keys as $index => $id) {
+ $id = substr($id, 1);
+ if (isset($vals[$id])) {
+ array_push($argv, trim(urldecode($vals[$id])));
+ }
+ }
+
+ // call filters if we have symbols
+ if (count($keys)) {
+ filter(array_values($keys), $vals);
+ }
+
+ // if cb found, invoke it
+ if (is_callable($obj['cb'])) {
+ call_user_func_array($obj['cb'], $argv);
+ }
+
+ // leave after first match
+ break;
+
+ }
+ }
+
+}
+
+function get($path, $cb)
+{
+ route('GET', $path, $cb);
+}
+
+function post($path, $cb)
+{
+ route('POST', $path, $cb);
+}
+
+function flash($key, $msg = null, $now = false)
+{
+ static $x = array(),
+ $f = null;
+
+ $f = (config('cookies.flash') ? config('cookies.flash') : '_F');
+
+ if ($c = get_cookie($f))
+ $c = json_decode($c, true);
+ else
+ $c = array();
+
+ if ($msg == null) {
+
+ if (isset($c[$key])) {
+ $x[$key] = $c[$key];
+ unset($c[$key]);
+ set_cookie($f, json_encode($c));
+ }
+
+ return (isset($x[$key]) ? $x[$key] : null);
+ }
+
+ if (!$now) {
+ $c[$key] = $msg;
+ set_cookie($f, json_encode($c));
+ }
+
+ $x[$key] = $msg;
+}
+
+function create_thumb($src, $desired_width = null, $desired_height = null) {
+
+ if (!extension_loaded('gd')) {
+ return $src;
+ }
+
+ $dir = 'content/images/thumbnails';
+
+ if (!is_dir($dir)) {
+ mkdir($dir);
+ }
+
+ $w = config('thumbnail.width');
+ if (empty($w)) {
+ $w = 500;
+ }
+
+ if (is_null($desired_width)) {
+ $desired_width = $w;
+ }
+
+ if (!is_null($desired_height)) {
+ $h = 'x' . $desired_height;
+ } else {
+ $h = null;
+ }
+
+ $fileName = pathinfo($src, PATHINFO_FILENAME);
+ $thumbFile = $dir . '/' . $fileName . '-' . $desired_width . $h .'.webp';
+
+ if (file_exists($thumbFile)) {
+ return site_url() . $thumbFile;
+ } else {
+
+ /* read the source image */
+ $source_image = imagecreatefromstring(file_get_contents($src));
+ if ($source_image === false) {
+ return $src;
+ }
+ $width = imagesx($source_image);
+ $height = imagesy($source_image);
+
+ /* find the "desired height" of this thumbnail, relative to the desired width */
+ if (is_null($desired_height)) {
+ $desired_height = floor($height * ($desired_width / $width));
+ }
+
+ $ratio = max($desired_width/$width, $desired_height/$height);
+ $height = floor($desired_height / $ratio);
+ $x = floor(($width - $desired_width / $ratio) / 2);
+ $width = floor($desired_width / $ratio);
+
+ /* create a new, "virtual" image */
+ $virtual_image = imagecreatetruecolor($desired_width, $desired_height);
+ imageAlphaBlending($virtual_image, false);
+ imageSaveAlpha($virtual_image, true);
+
+ /* copy source image at a resized size */
+ imagecopyresampled($virtual_image, $source_image, 0, 0, $x, 0, $desired_width, $desired_height, $width, $height);
+
+ /* create the physical thumbnail image to its destination */
+ imagewebp($virtual_image, $thumbFile, 75);
+ imagedestroy($virtual_image);
+
+ return site_url() . $thumbFile;
+
+ }
+}
+
+function dispatch()
+{
+ $path = $_SERVER['REQUEST_URI'];
+
+ if (config('site.url') !== null)
+ $path = preg_replace('@^' . preg_quote(site_path()) . '@', '', $path);
+
+ $parts = preg_split('/\?/', $path, -1, PREG_SPLIT_NO_EMPTY);
+
+ $uri = trim($parts[0], '/');
+ $uri = strlen($uri) ? $uri : 'index';
+
+ route(method(), "/{$uri}");
+}
diff --git a/system/includes/functions.php b/system/includes/functions.php
new file mode 100755
index 0000000..5d7b01a
--- /dev/null
+++ b/system/includes/functions.php
@@ -0,0 +1,4136 @@
+ $b['basename']) ? 1 : -1);
+}
+
+// usort function.
+function sortfile_d($a, $b)
+{
+ return $a['basename'] == $b['basename'] ? 0 : (($a['basename'] < $b['basename']) ? 1 : -1);
+}
+
+// usort function. Sort by date.
+function sortdate($a, $b)
+{
+ return $a->date == $b->date ? 0 : (($a->date < $b->date) ? 1 : -1);
+}
+
+// Rebuilt cache index
+function rebuilt_cache($type = null)
+{
+ $dir = 'cache/index';
+ $posts_cache = array();
+ $page_cache = array();
+ $subpage_cache = array();
+ $author_cache = array();
+ $scheduled_cache = array();
+ $category_cache = array();
+ $draft_cache = array();
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ // Rebuilt posts index
+ $tmp = array();
+ $ctmp = array();
+ $tmp = glob('content/*/blog/*/*/*.md', GLOB_NOSORT);
+ if (is_array($tmp)) {
+ foreach ($tmp as $file) {
+ if(strpos($file, '/draft/') === false) {
+ $posts_cache[] = pathinfo($file);
+ $pc = explode('/', $file);
+ $ctmp[] = $pc[3];
+ }
+ }
+ }
+ usort($posts_cache, "sortfile_d");
+ $posts_string = serialize($posts_cache);
+ file_put_contents('cache/index/index-posts.txt', print_r($posts_string, true), LOCK_EX);
+
+ // Rebuilt scheduled posts index
+ $stmp = array();
+ $stmp = glob('content/*/*/*/*/scheduled/*.md', GLOB_NOSORT);
+ if (is_array($stmp)) {
+ foreach ($stmp as $file) {
+ $scheduled_cache[] = pathinfo($file);
+ $ss = explode('/', $file);
+ $ctmp[] = $ss[3];
+ }
+ }
+ usort($scheduled_cache, "sortfile_d");
+ $scheduled_string = serialize($scheduled_cache);
+ file_put_contents('cache/index/index-scheduled.txt', print_r($scheduled_string, true), LOCK_EX);
+
+ // Rebuilt draft posts index
+ $drf = array();
+ $drf = glob('content/*/*/*/draft/*.md', GLOB_NOSORT);
+ if (is_array($drf)) {
+ foreach ($drf as $file) {
+ $draft_cache[] = pathinfo($file);
+ $dd = explode('/', $file);
+ $ctmp[] = $dd[3];
+ }
+ }
+ usort($draft_cache, "sortfile_d");
+ $draft_string = serialize($draft_cache);
+ file_put_contents('cache/index/index-draft.txt', print_r($draft_string, true), LOCK_EX);
+
+ // Rebuilt category files index
+ $ftmp = array();
+ $ftmp = glob('content/data/category/*.md', GLOB_NOSORT);
+ if (is_array($ftmp)) {
+ foreach ($ftmp as $file) {
+ $category_cache[] = pathinfo($file);
+ $ctmp[] = pathinfo($file, PATHINFO_FILENAME);
+ }
+ }
+ usort($category_cache, "sortfile_a");
+ $category_string = serialize($category_cache);
+ file_put_contents('cache/index/index-category-files.txt', print_r($category_string, true), LOCK_EX);
+
+ // Rebuilt category slug index
+ $dirc = array();
+ $dirc = array_push($ctmp, 'uncategorized');
+ $dirc = array_unique($ctmp, SORT_REGULAR);
+ file_put_contents('cache/index/index-category.txt', print_r(serialize($dirc), true), LOCK_EX);
+
+ // Rebuilt static page index
+ $ptmp = array();
+ $ptmp = glob('content/static/*.md', GLOB_NOSORT);
+ natsort($ptmp);
+ if (is_array($ptmp)) {
+ foreach ($ptmp as $file) {
+ if(strpos($file, '/draft/') === false) {
+ $page_cache[] = pathinfo($file);
+ }
+ }
+ }
+ $page_string = serialize($page_cache);
+ file_put_contents('cache/index/index-pages.txt', print_r($page_string, true), LOCK_EX);
+
+ // Rebuilt subpage index
+ $sptmp = array();
+ $sptmp = glob('content/static/*/*.md', GLOB_NOSORT);
+ natsort($sptmp);
+ if (is_array($sptmp)) {
+ foreach ($sptmp as $file) {
+ if(strpos($file, '/draft/') === false) {
+ $subpage_cache[] = pathinfo($file);
+ }
+ }
+ }
+ $subpage_string = serialize($subpage_cache);
+ file_put_contents('cache/index/index-subpages.txt', print_r($subpage_string, true), LOCK_EX);
+
+ // Rebuilt user profile index
+ $atmp = array();
+ $atmp = glob('content/*/author.md', GLOB_NOSORT);
+ if (is_array($atmp)) {
+ foreach ($atmp as $file) {
+ $author_cache[] = pathinfo($file);
+ }
+ }
+ usort($author_cache, "sortfile_a");
+ $author_string = serialize($author_cache);
+ file_put_contents('cache/index/index-author.txt', print_r($author_string, true), LOCK_EX);
+
+ // Remove the widget cache
+ foreach (glob('cache/widget/*.cache', GLOB_NOSORT) as $file) {
+ unlink($file);
+ }
+
+}
+
+// Return blog posts.
+function get_posts($posts, $page = 1, $perpage = 0)
+{
+ if (empty($posts)) {
+ $posts = get_blog_posts();
+ }
+
+ $tmp = array();
+ $views = array();
+
+ // Extract a specific page with results
+ $posts = array_slice($posts, ($page - 1) * $perpage, $perpage);
+
+ $cList = category_list(true);
+
+ $auto = config('toc.automatic');
+ $counter = config('views.counter');
+
+ $viewsFile = "content/data/views.json";
+ if (file_exists($viewsFile) && $counter == 'true') {
+ $views = json_decode(file_get_contents($viewsFile), true);
+ }
+
+ foreach ($posts as $index => $v) {
+
+ $post = new stdClass;
+
+ $filepath = $v['dirname'] . '/' . $v['basename'];
+
+ // Extract the date
+ $arr = explode('_', $v['basename']);
+
+ // dirname string
+ $dirname = $v['dirname'];
+
+ // Author string
+ $str = explode('/', $dirname);
+ $author = $str[1];
+
+ foreach ($cList as $a => $t) {
+ if ($t['0'] === $str[3]) {
+ $post->category = '' . $t['1'] . '';
+ $post->categoryUrl = site_url() . 'category/' . $t['0'];
+ $post->categoryCount = $t['2'];
+ $post->categorySlug = $t['0'];
+ $post->categoryMd = $t['0'] . '.md';
+ $post->categoryTitle = $t['1'];
+ $post->categoryb = '' . $t['1'] . '';
+ }
+ }
+
+ $type = $str[4];
+ $post->ct = $str[3];
+
+ // The post author + author url
+ $post->author = $author;
+ $post->authorUrl = site_url() . 'author/' . $author;
+ $post->authorRss = site_url() . 'author/' . $author . '/feed';
+
+ $profile = get_author($author);
+ if (isset($profile[0])) {
+ $post->authorName = $profile[0]->name;
+ $post->authorDescription = $profile[0]->description;
+ $post->authorAbout = $profile[0]->about;
+ $post->authorAvatar = $profile[0]->avatar;
+ } else {
+ $post->authorName = $author;
+ $post->authorDescription = i18n('Author_Description');
+ $post->authorAbout = i18n('Author_Description');
+ $post->authorAvatar = site_url() . 'system/resources/images/logo-small.png';
+ }
+
+ $post->type = $type;
+ $dt = str_replace($dirname, '', $arr[0]);
+ $t = str_replace('-', '', $dt);
+ $time = new DateTime($t);
+ $timestamp = $time->format("Y-m-d H:i:s");
+
+ // The post date
+ $post->date = strtotime($timestamp);
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($filepath)));
+
+ // The archive per day
+ $post->archive = site_url() . 'archive/' . date('Y-m', $post->date);
+
+ if (permalink_type() == 'default') {
+ $post->url = site_url() . date('Y/m', $post->date) . '/' . str_replace('.md', '', $arr[2]);
+ } else {
+ $post->url = site_url() . permalink_type() . '/' . str_replace('.md', '', $arr[2]);
+ }
+
+ $post->slug = str_replace('.md', '', $arr[2]);
+
+ $post->file = $filepath;
+
+ $content = file_get_contents($filepath);
+
+ // Extract the title and body
+ $post->title = get_content_tag('t', $content, 'Untitled post: ' . format_date($post->lastMod, 'l, j F Y, H:i'));
+ $post->image = get_content_tag('image', $content);
+ $post->video = get_content_tag('video', $content);
+ $post->link = get_content_tag('link', $content);
+ $post->quote = get_content_tag('quote', $content);
+ $post->audio = get_content_tag('audio', $content);
+
+ $tag = array();
+ $url = array();
+ $bc = array();
+ $rel = array();
+
+ $tagt = get_content_tag('tag', $content);
+ $t = explode(',', rtrim($arr[1], ','));
+
+ if(!empty($tagt)) {
+ $tl = explode(',', rtrim($tagt, ','));
+ if (count($tl) == count($t)) {
+ $tCom = array_combine($t, $tl);
+ } else {
+ $tCom = array_combine($t, $t);
+ }
+ foreach ($tCom as $key => $val) {
+ if(!empty($val)) {
+ $tag[] = array($val, site_url() . 'tag/' . strtolower($key));
+ } else {
+ $tag[] = array($key, site_url() . 'tag/' . strtolower($key));
+ }
+ }
+ } else {
+ foreach ($t as $tt) {
+ $tag[] = array($tt, site_url() . 'tag/' . strtolower($tt));
+ }
+ }
+
+ foreach ($tag as $a) {
+ $url[] = '' . $a[0] . '';
+ $bc[] = '' . $a[0] . '';
+ }
+
+ $post->tag = implode(' ', $url);
+
+ $post->tagb = implode(' » ', $bc);
+
+ $post->related = $post->categorySlug. ',' .$post->url;
+
+ $more = explode('', $content);
+ if (isset($more['1'])) {
+ $content = $more['0'] . '' . $more['1'];
+ }
+
+ // Get the contents and convert it to HTML
+ $post->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ $post->description = get_content_tag("d", $content, get_description($post->body));
+
+ $word_count = str_word_count(strip_tags($post->body));
+ $post->readTime = ceil($word_count / 200);
+
+ $toc = explode('', $post->body);
+ if (isset($toc['1'])) {
+ $post->body = insert_toc('post-' . $post->date, $toc['0'], $toc['1']);
+ } else {
+ if ($auto === 'true') {
+ $post->body = automatic_toc($post->body, 'post-' . $post->date);
+ }
+ }
+
+ if ($counter == 'true') {
+ $post->views = get_views('post_' . $post->slug, $post->file, $views);
+ } else {
+ $post->views = null;
+ }
+
+ $tmp[] = $post;
+ }
+
+ return $tmp;
+}
+
+function get_pages($pages, $page = 1, $perpage = 0)
+{
+ if (empty($pages)) {
+ $pages = get_static_pages();
+ }
+
+ $tmp = array();
+
+ $auto = config('toc.automatic');
+ $counter = config('views.counter');
+
+ $viewsFile = "content/data/views.json";
+ if (file_exists($viewsFile) && $counter == 'true') {
+ $views = json_decode(file_get_contents($viewsFile), true);
+ }
+
+ // Extract a specific page with results
+ $pages = array_slice($pages, ($page - 1) * $perpage, $perpage);
+
+ foreach ($pages as $index => $v) {
+ $post = new stdClass;
+
+ // The static page URL
+ $fn = explode('.', $v['filename']);
+
+ if (isset($fn[1])) {
+ $url = $fn[1];
+ } else {
+ $url= $v['filename'];
+ }
+
+ $post->url = site_url() . $url;
+
+ $post->file = $v['dirname'] . '/' . $v['basename'];
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($post->file)));
+
+ $post->md = $v['basename'];
+ $post->slug = $url;
+ $post->parent = null;
+ $post->parentSlug = null;
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($post->file);
+
+ // Extract the title and body
+ $post->title = get_content_tag('t', $content, 'Untitled static page: ' . format_date($post->lastMod, 'l, j F Y, H:i'));
+
+ // Get the contents and convert it to HTML
+ $post->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ $post->description = get_content_tag("d", $content, get_description($post->body));
+
+ $word_count = str_word_count(strip_tags($post->body));
+ $post->readTime = ceil($word_count / 200);
+
+ $toc = explode('', $post->body);
+ if (isset($toc['1'])) {
+ $post->body = insert_toc('page-' . $post->slug, $toc['0'], $toc['1']);
+ } else {
+ if ($auto === 'true') {
+ $post->body = automatic_toc($post->body, 'page-' . $post->slug);
+ }
+ }
+
+ if ($counter == 'true') {
+ $post->views = get_views('page_' . $post->slug, $post->file, $views);
+ } else {
+ $post->views = null;
+ }
+
+ $tmp[] = $post;
+ }
+
+ return $tmp;
+
+}
+
+function get_subpages($sub_pages, $page = 1, $perpage = 0)
+{
+ if (empty($sub_pages)) {
+ $sub_pages = get_static_subpages();
+ }
+
+ $tmp = array();
+
+ $auto = config('toc.automatic');
+ $counter = config('views.counter');
+
+ $viewsFile = "content/data/views.json";
+ if (file_exists($viewsFile) && $counter == 'true') {
+ $views = json_decode(file_get_contents($viewsFile), true);
+ }
+
+ // Extract a specific page with results
+ $sub_pages = array_slice($sub_pages, ($page - 1) * $perpage, $perpage);
+
+ foreach ($sub_pages as $index => $v) {
+
+ $post = new stdClass;
+
+ $fd = str_replace(dirname($v['dirname']) . '/', '', $v['dirname']);
+
+ $st = explode('.', $fd);
+ if (isset($st[1])) {
+ $static = $st[1];
+ } else {
+ $static = $fd;
+ }
+
+ // The static page URL
+ $fn = explode('.', $v['filename']);
+
+ if (isset($fn[1])) {
+ $url = $fn[1];
+ } else {
+ $url= $v['filename'];
+ }
+
+ $post->url = site_url() . $static . "/" . $url;
+
+ $post->file = $v['dirname'] . '/' . $v['basename'];
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($post->file)));
+
+ $post->md = $v['basename'];
+ $post->slug = $url;
+ $post->parent = $fd;
+ $post->parentSlug = $static;
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($post->file);
+
+ // Extract the title and body
+ $post->title = get_content_tag('t', $content, 'Untitled static subpage: ' . format_date($post->lastMod, 'l, j F Y, H:i'));
+
+ // Get the contents and convert it to HTML
+ $post->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ $post->description = get_content_tag("d", $content, get_description($post->body));
+
+ $word_count = str_word_count(strip_tags($post->body));
+ $post->readTime = ceil($word_count / 200);
+
+ $toc = explode('', $post->body);
+ if (isset($toc['1'])) {
+ $post->body = insert_toc('subpage-' . $post->slug, $toc['0'], $toc['1']);
+ } else {
+ if ($auto === 'true') {
+ $post->body = automatic_toc($post->body, 'subpage-' . $post->slug);
+ }
+ }
+
+ if ($counter == 'true') {
+ $post->views = get_views('subpage_' . $post->parentSlug .'.'. $post->slug, $post->file, $views);
+ } else {
+ $post->views = null;
+ }
+
+ $tmp[] = $post;
+ }
+
+ return $tmp;
+
+}
+
+// Find post by year, month and name, previous, and next.
+function find_post($year, $month, $name)
+{
+ $posts = get_blog_posts();
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['basename']);
+ if ((strpos($arr[0], "$year-$month") !== false && strtolower($arr[2]) === strtolower($name . '.md')) || ($year === NULL && strtolower($arr[2]) === strtolower($name . '.md'))) {
+
+ // Use the get_posts method to return
+ // a properly parsed object
+
+ $ar = get_posts($posts, $index + 1, 1);
+ $nx = get_posts($posts, $index, 1);
+ $pr = get_posts($posts, $index + 2, 1);
+
+ if ($index == 0) {
+ if (isset($pr[0])) {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => $pr[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => null
+ );
+ }
+ } elseif (count($posts) == $index + 1) {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0],
+ 'prev' => $pr[0]
+ );
+ }
+ }
+ }
+}
+
+// Return static page.
+function find_page($static = null)
+{
+ $pages = get_static_pages();
+
+ $tmp = array();
+
+ if (!empty($pages)) {
+
+ foreach ($pages as $index => $v) {
+ if (is_null($static)) {
+
+ return get_pages($pages, 1, null);
+
+ } elseif (stripos($v['basename'], $static . '.md') !== false) {
+
+ // Use the get_posts method to return
+ // a properly parsed object
+
+ $ar = get_pages($pages, $index + 1, 1);
+ $nx = get_pages($pages, $index, 1);
+ $pr = get_pages($pages, $index + 2, 1);
+
+ if ($index == 0) {
+ if (isset($pr[0])) {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => $pr[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => null
+ );
+ }
+ } elseif (count($pages) == $index + 1) {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0],
+ 'prev' => $pr[0]
+ );
+ }
+ }
+ }
+ }
+
+ return $tmp;
+}
+
+// Return static subpage.
+function find_subpage($static, $sub_static = null)
+{
+ $sub_pages = array_values(get_static_subpages($static));
+
+ $tmp = array();
+
+ if (!empty($sub_pages)) {
+
+ foreach ($sub_pages as $index => $v) {
+
+ if (is_null($sub_static)) {
+
+ return get_subpages($sub_pages, 1, null);
+
+ } elseif (stripos($v['basename'], $sub_static . '.md') !== false) {
+
+ // Use the get_posts method to return
+ // a properly parsed object
+
+ $ar = get_subpages($sub_pages, $index + 1, 1);
+ $nx = get_subpages($sub_pages, $index, 1);
+ $pr = get_subpages($sub_pages, $index + 2, 1);
+
+ if ($index == 0) {
+ if (isset($pr[0])) {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => $pr[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'prev' => null
+ );
+ }
+ } elseif (count($sub_pages) == $index + 1) {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0]
+ );
+ } else {
+ return array(
+ 'current' => $ar[0],
+ 'next' => $nx[0],
+ 'prev' => $pr[0]
+ );
+ }
+ }
+ }
+ }
+
+ return $tmp;
+}
+
+// Return category page.
+function get_category($category, $page, $perpage, $random = null)
+{
+ $posts = get_blog_posts();
+
+ if ($random === true) {
+ shuffle($posts);
+ }
+
+ $tmp = array();
+
+ if (empty($perpage)) {
+ $perpage = 10;
+ }
+
+ foreach ($posts as $index => $v) {
+
+ // dirname string
+ $dirname = $v['dirname'];
+
+ $str = explode('/', $dirname);
+
+ if (strtolower($category) === strtolower($str[3])) {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ $tmp = array_unique($tmp, SORT_REGULAR);
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return category info.
+function get_category_info($category = null)
+{
+
+ $tmp = array();
+ $cslug= get_category_slug();
+ if (!empty($cslug)) {
+ asort($cslug);
+ if (is_null($category)) {
+ foreach ($cslug as $key => $c){
+ $ctmp = read_category_info($c);
+ if (!empty($ctmp[0])) {
+ $tmp[] = $ctmp[0];
+ } else {
+ $tmp[] = default_category($c);
+ }
+ }
+ } else {
+ foreach ($cslug as $key => $c){
+ if ($c === $category) {
+ $ctmp = read_category_info($category);
+ if (!empty($ctmp[0])) {
+ $tmp[] = $ctmp[0];
+ } else {
+ $tmp[] = default_category($category);
+ }
+ }
+ }
+ }
+ } else {
+ $tmp[] = default_category($category);
+ }
+ return $tmp;
+}
+
+function read_category_info($category)
+{
+ $tmp = array();
+ $cFiles = get_category_files();
+
+ if (!empty($cFiles)) {
+ foreach ($cFiles as $index => $v) {
+ if ($v['basename'] == $category . '.md' ) {
+
+ $desc = new stdClass;
+
+ // The filename
+ $filename = $v['dirname'] . '/' . $v['basename'];
+
+ $url= $v['filename'];
+
+ $desc->url = site_url() . 'category/' . $url;
+
+ $desc->md = $v['basename'];
+
+ $desc->slug = $url;
+
+ $desc->count = get_categorycount($url);
+
+ $desc->file = $filename;
+
+ $desc->rss = $desc->url . '/feed';
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($desc->file);
+
+ // Extract the title and body
+ $desc->title = get_content_tag('t', $content, $category);
+
+ // Get the contents and convert it to HTML
+ $desc->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ $desc->description = get_content_tag("d", $content, get_description($desc->body));
+
+ $toc = explode('', $desc->body);
+ if (isset($toc['1'])) {
+ $desc->body = insert_toc('taxonomy-' . $desc->slug, $toc['0'], $toc['1']);
+ }
+
+ $tmp[] = $desc;
+ }
+ }
+ }
+ return $tmp;
+}
+
+// Return default category
+function default_category($category = null)
+{
+ $tmp = array();
+ $desc = new stdClass;
+
+ if (is_null($category) || $category == 'uncategorized') {
+ $desc->title = i18n("Uncategorized");
+ $desc->url = site_url() . 'category/uncategorized';
+ $desc->slug = 'uncategorized';
+ $desc->body = '' . i18n('Uncategorized_comment') . '
';
+ $desc->md = 'uncategorized.md';
+ $desc->description = i18n('Uncategorized_comment');
+ $desc->file = '';
+ $desc->count = get_categorycount($desc->slug);
+ $desc->rss = $desc->url . '/feed';
+ } else{
+ $desc->title = $category;
+ $desc->url = site_url() . 'category/' . $category;
+ $desc->slug = $category;
+ $desc->body = '' . i18n('All_blog_posts') . ': ' . $category . '
';
+ $desc->md = $category . '.md';
+ $desc->description = i18n('All_blog_posts') . ': ' . $category;
+ $desc->file = '';
+ $desc->count = get_categorycount($category);
+ $desc->rss = $desc->url . '/feed';
+ }
+
+ return $tmp[] = $desc;
+}
+
+// Return category list
+function category_list($custom = null)
+{
+ $dir = "cache/widget";
+ $filename = "cache/widget/category.list.cache";
+ $tmp = array();
+ $cat = array();
+ $list = array();
+ $cList = '';
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ if (file_exists($filename)) {
+ $cat = unserialize(file_get_contents($filename));
+ } else {
+ $arr = get_category_info(null);
+ foreach ($arr as $i => $a) {
+ $cat[] = array($a->slug, $a->title, $a->count, $a->description);
+ }
+
+ $tmp = serialize($cat);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+
+ if(!empty($custom)) {
+ return $cat;
+ }
+
+ $cList .= '';
+
+ foreach ($cat as $k => $v) {
+ if ($v['2'] !== 0) {
+ $cList .= '- ' . $v['1'] . ' ('. $v['2'] .')
';
+ }
+ }
+
+ $cList .= '
';
+ return $cList;
+
+}
+
+// Return type page.
+function get_type($type, $page, $perpage)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ if (empty($perpage)) {
+ $perpage = 10;
+ }
+
+ foreach ($posts as $index => $v) {
+
+ // dirname string
+ $dirname = $v['dirname'];
+
+ if (strpos($dirname, '/' . strtolower($type)) !== false) {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return $tmp;
+ }
+
+ $tmp = array_unique($tmp, SORT_REGULAR);
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return tag page.
+function get_tag($tag, $page, $perpage, $random = null)
+{
+ $posts = get_blog_posts();
+
+ if ($random === true) {
+ shuffle($posts);
+ }
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $str = explode('_', $v['basename']);
+ $mtag = explode(',', rtrim($str[1], ','));
+ $etag = explode(',', $tag);
+ foreach ($mtag as $t) {
+ foreach ($etag as $e) {
+ $e = trim($e);
+ if (strtolower($t) === strtolower($e)) {
+ $tmp[] = $v;
+ }
+ }
+ }
+ }
+
+ if (empty($tmp)) {
+ return $tmp;
+ }
+
+ $tmp = array_unique($tmp, SORT_REGULAR);
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return archive page.
+function get_archive($req, $page, $perpage)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $str = explode('_', $v['basename']);
+ if (strpos($str[0], "$req") !== false) {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return posts list on profile.
+function get_profile_posts($name, $page, $perpage)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $str = explode('/', $v['dirname']);
+ if (strtolower($name) === strtolower($str[1])) {
+ $tmp[] = $v;
+ }
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ return $tmp = get_posts($tmp, $page, $perpage);
+}
+
+// Return author info.
+function get_author($name)
+{
+ $names = get_author_name();
+
+ $tmp = array();
+
+ if (!empty($names)) {
+
+ foreach ($names as $index => $v) {
+
+ $author = new stdClass;
+
+ // dirname string
+ $dirname = $v['dirname'];
+
+ // Author string
+ $str = explode('/', $dirname);
+ $profile = $str[1];
+
+ if ($name === $profile) {
+ // Profile URL
+ $filename = $v['dirname'] . '/' . $v['basename'];
+
+ $author->file = $filename;
+
+ $author->url = site_url() . 'author/' . $profile;
+ $author->slug = $profile;
+
+ // Get the contents and convert it to HTML
+ $content = file_get_contents($author->file);
+
+ // Extract the title and body
+ $author->name = get_content_tag('t', $content, $author);
+
+ // Get the contents and convert it to HTML
+ $author->about = MarkdownExtra::defaultTransform(remove_html_comments($content));
+
+ $author->description = get_content_tag("d", $content, get_description($author->about));
+
+ $author->avatar = get_content_tag("image", $content, site_url() . 'system/resources/images/logo-small.png');
+
+ $author->rss = $author->url . '/feed';
+
+ $toc = explode('', $author->about);
+ if (isset($toc['1'])) {
+ $author->about = insert_toc('profile-' . $author->slug, $toc['0'], $toc['1']);
+ }
+
+ $author->body = $author->about;
+ $author->title = $author->name;
+
+ $tmp[] = $author;
+ }
+ }
+ }
+
+ if (!empty($tmp)) {
+ return $tmp;
+ } else {
+ return false;
+ }
+}
+
+// Return default profile
+function default_profile($name)
+{
+ $tmp = array();
+ $author = new stdClass;
+
+ $author->name = $name;
+ $author->title = $name;
+ $author->about = '' . i18n('Author_Description') . '
';
+ $author->body = '' . i18n('Author_Description') . '
';
+ $author->description = i18n('Author_Description');
+ $author->avatar = site_url() . 'system/resources/images/logo-small.png';
+ $author->url = site_url(). 'author/' . $name;
+ $author->slug = $name;
+ $author->file = '';
+ $author->rss = $author->url . '/feed';
+
+ return $tmp[] = $author;
+}
+
+// Return frontpage content
+function get_frontpage()
+{
+ $front = new stdClass;
+
+ $filename = 'content/data/frontpage/frontpage.md';
+
+ if (file_exists($filename)) {
+ $content = file_get_contents($filename);
+ $front->file = $filename;
+ $front->title = get_content_tag('t', $content, 'Welcome');
+ $front->url = site_url() . 'front';
+ $front->slug = 'front';
+ $front->parent = null;
+ $front->parentSlug = null;
+ // Get the contents and convert it to HTML
+ $front->body = MarkdownExtra::defaultTransform(remove_html_comments($content));
+ $front->description = get_content_tag("d", $content, get_description($front->body));
+ $word_count = str_word_count(strip_tags($front->body));
+ $front->readTime = ceil($word_count / 200);
+ $front->views = null;
+ $toc = explode('', $front->body);
+ if (isset($toc['1'])) {
+ $front->body = insert_toc('page-front', $toc['0'], $toc['1']);
+ }
+ } else {
+ $front->title = 'Welcome';
+ $front->url = site_url() . 'front';
+ $front->body = 'Welcome to our website.';
+ $front->file = null;
+ $front->slug = 'front';
+ $front->parent = null;
+ $front->parentSlug = null;
+ $front->description = $front->body;
+ $word_count = str_word_count(strip_tags($front->body));
+ $front->readTime = ceil($word_count / 200);
+ $front->views = null;
+ }
+
+ return $front;
+}
+
+// Return search page.
+function get_keyword($keyword, $page, $perpage)
+{
+
+ if (strlen($keyword) < 3) {
+ return false;
+ }
+
+ $posts = get_blog_posts();
+
+ $tmp = array();
+ $search = array();
+
+ $searchFile = "content/data/search.json";
+
+ if (file_exists($searchFile) && config('fulltext.search') == "true") {
+ $search = json_decode(file_get_contents($searchFile), true);
+ }
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['filename']);
+
+ if (isset($search['post_' . $arr[2]])) {
+ $filter = $search['post_' . $arr[2]];
+ } else {
+ $filter = $arr[1] . ' ' . $arr[2];
+ $keyword = remove_accent($keyword);
+ }
+
+ if (stripos($filter, $keyword) !== false) {
+ if (!in_array($v, $tmp)) {
+ $tmp[] = $v;
+ }
+ }
+
+ }
+
+ if (empty($tmp)) {
+ return false;
+ }
+
+ return $tmp = array(get_posts($tmp, $page, $perpage), count($tmp));
+
+}
+
+// Get related posts base on post category.
+function get_related($tag, $custom = null, $count = null)
+{
+ if (empty($count)) {
+ $count = config('related.count');
+ if (empty($count)) {
+ $count = 3;
+ }
+ }
+
+ $tmp = array();
+ $exp = explode(',', $tag);
+ $posts = get_category($exp[0], 1, $count + 1, true);
+ $related = '';
+
+ foreach ($posts as $post) {
+ if ($post->url !== $exp[1]) {
+ $tmp[] = $post;
+ }
+ }
+
+ if (empty($custom)) {
+ if (!empty($tmp)) {
+ $i = 1;
+ $related .= '';
+ foreach ($tmp as $post) {
+ $related .= '- ' . $post->title . '
';
+ if ($i++ >= $count)
+ break;
+ }
+ $related .= '
';
+ return $related;
+ } else {
+ $related .= '- ' . i18n('No_related_post_found') . '
';
+ return $related;
+ }
+
+ } else {
+ return $tmp;
+ }
+
+}
+
+// Return post count. Matching $var and $str provided.
+function get_count($var, $str)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ if ($str === 'basename') {
+ $arr = explode('_', $v[$str]);
+ $url = $arr[0];
+ if (stripos($url, "$var") !== false) {
+ $tmp[] = $v;
+ }
+ } else {
+ if (stripos($v[$str], $var) !== false) {
+ $tmp[] = $v;
+ }
+ }
+ }
+
+ return count($tmp);
+}
+
+// Return category count. Matching $var
+function get_categorycount($var)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+
+ if (stripos($v['dirname'], '/' . $var . '/') !== false) {
+ $tmp[] = $v;
+ }
+
+ }
+
+ return count($tmp);
+}
+
+// Return type count. Matching $var
+function get_typecount($var)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+
+ if (stripos($v['dirname'], '/' . $var) !== false) {
+ $tmp[] = $v;
+ }
+
+ }
+
+ return count($tmp);
+}
+
+
+// Return draft count. Matching $var
+function get_draftcount($var)
+{
+ $posts = get_draft_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+
+ if (stripos($v['dirname'], '/' . $var . '/') !== false) {
+ $tmp[] = $v;
+ }
+
+ }
+ return count($tmp);
+}
+
+// Return scheduled post count. Matching $var
+function get_scheduledcount($var)
+{
+ $posts = get_scheduled_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+
+ if (stripos($v['dirname'], '/' . $var . '/') !== false) {
+ $tmp[] = $v;
+ }
+
+ }
+
+ return count($tmp);
+
+}
+
+// Return tag count. Matching $var
+function get_tagcount($var)
+{
+ $posts = get_blog_posts();
+
+ $tmp = array();
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['basename']);
+ $mtag = explode(',', rtrim($arr[1], ','));
+ foreach ($mtag as $t) {
+ if (strtolower($t) === strtolower($var)) {
+ $tmp[] = $v;
+ }
+ }
+ }
+
+ return count($tmp);
+}
+
+// Return search result count
+function keyword_count($keyword)
+{
+ if (strlen($keyword) < 3) {
+ return false;
+ }
+
+ $posts = get_blog_posts();
+
+ $tmp = array();
+ $search = array();
+
+ $searchFile = "content/data/search.json";
+
+ if (file_exists($searchFile) && config('fulltext.search') == "true") {
+ $search = json_decode(file_get_contents($searchFile), true);
+ }
+
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['filename']);
+
+ if (isset($search['post_' . $arr[2]])) {
+ $filter = $search['post_' . $arr[2]];
+ } else {
+ $filter = $arr[1] . ' ' . $arr[2];
+ $keyword = remove_accent($keyword);
+ }
+
+ if (stripos($filter, $keyword) !== false) {
+ if (!in_array($v, $tmp)) {
+ $tmp[] = $v;
+ }
+ }
+
+ }
+
+ $tmp = array_unique($tmp, SORT_REGULAR);
+ return count($tmp);
+
+}
+
+// Return recent posts lists
+function recent_posts($custom = null, $count = null)
+{
+ if (empty($count)) {
+ $count = config('recent.count');
+ if (empty($count)) {
+ $count = 5;
+ }
+ }
+
+ $dir = "cache/widget";
+ $filename = "cache/widget/recent.cache";
+ $tmp = array();
+ $posts = array();
+ $recent = '';
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ if (file_exists($filename)) {
+ $posts = unserialize(file_get_contents($filename));
+ if (count($posts) < $count) {
+ $posts = get_posts(null, 1, $count);
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+ } else {
+ $posts = get_posts(null, 1, $count);
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+
+ if (!empty($custom)) {
+ $arr = array();
+ $i = 1;
+ foreach ($posts as $post) {
+ $arr[] = $post;
+ if ($i++ >= $count)
+ break;
+ }
+ return $arr;
+ } else {
+ $i = 1;
+ $recent .= '';
+ foreach ($posts as $post) {
+ $recent .= '- ' . $post->title . '
';
+ if ($i++ >= $count)
+ break;
+ }
+ if (empty($posts)) {
+ $recent .= '- ' . i18n('No_posts_found') . '
';
+ }
+ $recent .= '
';
+ return $recent;
+ }
+}
+
+// Return recent type lists
+function recent_type($type, $count = null, $custom = null)
+{
+ if (empty($count)) {
+ $count = config('recent.count');
+ if (empty($count)) {
+ $count = 5;
+ }
+ }
+
+ $dir = 'cache/widget';
+ $filename = 'cache/widget/recent.' . $type . '.cache';
+ $tmp = array();
+ $posts = array();
+ $recent = '';
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ if (file_exists($filename)) {
+ $posts = unserialize(file_get_contents($filename));
+ if (count($posts) < $count) {
+ $posts = get_type($type, 1, $count);
+ if (!empty($posts)) {
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+ }
+ } else {
+ $posts = get_type($type, 1, $count);
+ if (!empty($posts)) {
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+ }
+
+ if (!empty($custom)) {
+ $arr = array();
+ $i = 1;
+ foreach ($posts as $post) {
+ $arr[] = $post;
+ if ($i++ >= $count)
+ break;
+ }
+ return $arr;
+ } else {
+ $i = 1;
+ $recent .= '';
+ foreach ($posts as $post) {
+ $recent .= '- ' . $post->title . '
';
+ if ($i++ >= $count)
+ break;
+ }
+ if (empty($posts)) {
+ $recent .= '- No recent ' . $type . ' found
';
+ }
+ $recent .= '
';
+ return $recent;
+ }
+}
+
+// Return recent tag posts list
+function recent_tag($tag, $count = null, $custom = null)
+{
+ if (empty($count)) {
+ $count = config('recent.count');
+ if (empty($count)) {
+ $count = 5;
+ }
+ }
+
+ $dir = 'cache/widget';
+ $filename = 'cache/widget/recent.tag.' . $tag . '.cache';
+ $tmp = array();
+ $posts = array();
+ $recent = '';
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ if (file_exists($filename)) {
+ $posts = unserialize(file_get_contents($filename));
+ if (count($posts) < $count) {
+ $posts = get_tag($tag, 1, $count);
+ if (!empty($posts)) {
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+ }
+ } else {
+ $posts = get_tag($tag, 1, $count);
+ if (!empty($posts)) {
+ $tmp = serialize($posts);
+ file_put_contents($filename, print_r($tmp, true), LOCK_EX);
+ }
+ }
+
+ if (!empty($custom)) {
+ $arr = array();
+ $i = 1;
+ foreach ($posts as $post) {
+ $arr[] = $post;
+ if ($i++ >= $count)
+ break;
+ }
+ return $arr;
+ } else {
+ $i = 1;
+ $recent .= '';
+ foreach ($posts as $post) {
+ $recent .= '- ' . $post->title . '
';
+ if ($i++ >= $count)
+ break;
+ }
+ if (empty($posts)) {
+ $recent .= '- No recent ' . $tag . ' found
';
+ }
+ $recent .= '
';
+ return $recent;
+ }
+}
+
+// Return popular posts lists
+function popular_posts($custom = null, $count = null)
+{
+ static $_views = array();
+ $tmp = array();
+ $posts_list = get_blog_posts();
+ $pop = '';
+
+ if (empty($count)) {
+ $count = config('popular.count');
+ if (empty($count)) {
+ $count = 5;
+ }
+ }
+
+ if (config('views.counter') == 'true') {
+ if (empty($_views)) {
+ $filename = 'content/data/views.json';
+ if (file_exists($filename)) {
+ $_views = json_decode(file_get_contents($filename), true);
+ if(is_array($_views)) {
+ arsort($_views);
+ $i = 1;
+ foreach ($_views as $key => $val) {
+ $arr = explode('post_', $key);
+ if (isset($arr[1])) {
+ foreach($posts_list as $in => $f) {
+ if (strpos($f['basename'], $arr[1] . '.md') !== false ) {
+ $tmp[] = $f;
+ if ($i++ >= $count)
+ break;
+ }
+ }
+ }
+
+ }
+
+ $dir = "cache/widget";
+ $filecache = "cache/widget/popular.cache";
+ $ar = array();
+ $posts = array();
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ if (file_exists($filecache)) {
+ $posts = unserialize(file_get_contents($filecache));
+ if (count($posts) < $count) {
+ $posts = get_posts($tmp, 1, $count);
+ $ar = serialize($posts);
+ file_put_contents($filecache, print_r($ar, true), LOCK_EX);
+ }
+ } else {
+ $posts = get_posts($tmp, 1, $count);
+ $ar = serialize($posts);
+ file_put_contents($filecache, print_r($ar, true), LOCK_EX);
+ }
+
+ if (empty($custom)) {
+ $ix = 1;
+ $pop .= '';
+ foreach ($posts as $post) {
+ $pop .= '- ' . $post->title . '
';
+ if ($ix++ >= $count)
+ break;
+ }
+ $pop .= '
';
+ return $pop;
+ } else {
+ $arp = array();
+ $ix = 1;
+ foreach ($posts as $post) {
+ $arp[] = $post;
+ if ($ix++ >= $count)
+ break;
+ }
+ return $arp;
+ }
+ } else {
+ if(empty($custom)) {
+ $pop .= '- No popular posts found
';
+ return $pop;
+ } else {
+ return $tmp;
+ }
+ }
+ } else {
+ if (empty($custom)) {
+ $pop .= '- No popular posts found
';
+ return $pop;
+ } else {
+ return $tmp;
+ }
+ }
+ }
+ } else {
+ if (empty($custom)) {
+ $pop .= '- No popular posts found
';
+ return $pop;
+ } else {
+ return $tmp;
+ }
+ }
+}
+
+// Return an archive list, categorized by year and month.
+function archive_list($custom = null)
+{
+ $dir = "cache/widget";
+ $filename = "cache/widget/archive.cache";
+ $ar = array();
+ $arch = '';
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ $posts = get_blog_posts();
+ $by_year = array();
+ $col = array();
+
+ if (!empty($posts)) {
+
+ if (!file_exists($filename)) {
+ foreach ($posts as $index => $v) {
+
+ $arr = explode('_', $v['filename']);
+
+ $date = $arr[0];
+ $data = explode('-', $date);
+ $col[] = $data;
+ }
+
+ foreach ($col as $row) {
+
+ $y = $row['0'];
+ $m = $row['1'];
+ $by_year[$y][] = $m;
+ }
+
+ $ar = serialize($by_year);
+ file_put_contents($filename, print_r($ar, true), LOCK_EX);
+
+ } else {
+ $by_year = unserialize(file_get_contents($filename));
+ }
+
+ # Most recent year first
+ krsort($by_year);
+
+ # Iterate for display
+ $i = 0;
+ $len = count($by_year);
+
+ if (empty($custom)) {
+ $cache_d = "cache/widget/archive.default.cache";
+ if (file_exists($cache_d)) {
+ $arch = unserialize(file_get_contents($cache_d));
+ return $arch;
+ } else {
+ foreach ($by_year as $year => $months) {
+ if ($i == 0) {
+ $class = 'expanded';
+ $arrow = '▼';
+ } else {
+ $class = 'collapsed';
+ $arrow = '►';
+ }
+ $i++;
+
+ $by_month = array_count_values($months);
+ # Sort the months
+ krsort($by_month);
+
+ $script = << -1){this.parentNode.className = 'collapsed';this.innerHTML = '►';} else {this.parentNode.className = 'expanded';this.innerHTML = '▼';}
+EOF;
+ $arch .= '';
+ $arch .= '- ';
+ $arch .= '' . $arrow . ' ';
+ $arch .= '' . $year . ' ';
+ $arch .= '(' . count($months) . ')';
+ $arch .= '
';
+
+ foreach ($by_month as $month => $count) {
+ $name = format_date(mktime(0, 0, 0, $month, 1, 2010), 'F');
+ $arch .= '- ' . $name . '';
+ $arch .= ' (' . $count . ')
';
+ }
+
+ $arch .= '
';
+ $arch .= ' ';
+ $arch .= '
';
+ }
+
+ $ar = serialize($arch);
+ file_put_contents($cache_d, $ar, LOCK_EX);
+ return $arch;
+ }
+ } elseif ($custom === 'month-year') {
+ $cache_my = "cache/widget/archive.month-year.cache";
+ if (file_exists($cache_my)) {
+ $arch = unserialize(file_get_contents($cache_my));
+ return $arch;
+ } else {
+ foreach ($by_year as $year => $months) {
+ $by_month = array_count_values($months);
+ # Sort the months
+ krsort($by_month);
+ foreach ($by_month as $month => $count) {
+ $name = format_date(mktime(0, 0, 0, $month, 1, 2010), 'F');
+ $arch .= '' . $name . ' ' . $year .' ('.$count.') ';
+ }
+ }
+ $ar = serialize($arch);
+ file_put_contents($cache_my, $ar, LOCK_EX);
+ return $arch;
+ }
+ } elseif ($custom === 'year') {
+ $cache_y = "cache/widget/archive.year.cache";
+ if (file_exists($cache_y)) {
+ $arch = unserialize(file_get_contents($cache_y));
+ return $arch;
+ } else {
+ foreach ($by_year as $year => $months) {
+ $by_month = array_count_values($months);
+ # Sort the months
+ krsort($by_month);
+ $arch .= '' . $year .' ('. count($months) .') ';
+ }
+ $ar = serialize($arch);
+ file_put_contents($cache_y, $ar, LOCK_EX);
+ return $arch;
+ }
+ } else {
+ return $by_year;
+ }
+ }
+}
+
+// Return tag cloud.
+function tag_cloud($custom = null)
+{
+ $dir = "cache/widget";
+ $filename = "cache/widget/tags.cache";
+ $tg = array();
+
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+
+ $posts = get_blog_posts();
+ $tags = array();
+
+ $tagcloud_count = config('tagcloud.count');
+ if(empty($tagcloud_count)) {
+ $tagcloud_count = 40;
+ }
+
+ if (!empty($posts)) {
+
+ if (!file_exists($filename)) {
+ foreach ($posts as $index => $v) {
+ $arr = explode('_', $v['filename']);
+ $data = rtrim($arr[1], ',');
+ $mtag = explode(',', $data);
+ foreach ($mtag as $etag) {
+ $tags[] = strtolower($etag);
+ }
+ }
+ $tag_collection = array_count_values($tags);
+ ksort($tag_collection);
+ $tg = serialize($tag_collection);
+ file_put_contents($filename, print_r($tg, true), LOCK_EX);
+ } else {
+ $tag_collection = unserialize(file_get_contents($filename));
+ }
+
+ if(empty($custom)) {
+ $wrapper = '';
+ $cache_t = "cache/widget/tags.default.cache";
+ if (file_exists($cache_t)) {
+ $wrapper = unserialize(file_get_contents($cache_t));
+ return $wrapper;
+ } else {
+ // Font sizes
+ $max_size = 22; // max font size in %
+ $min_size = 8; // min font size in %
+
+ // Get the largest and smallest array values
+ $max_qty = max(array_values($tag_collection));
+ $min_qty = min(array_values($tag_collection));
+
+ // Find the range of values
+ $spread = $max_qty - $min_qty;
+ if (0 == $spread) { // we don't want to divide by zero
+ $spread = 1;
+ }
+
+ // Font-size increment
+ // this is the increase per tag quantity (times used)
+ $step = ($max_size - $min_size)/($spread);
+
+ arsort($tag_collection);
+ $sliced_tags = array_slice($tag_collection, 0, $tagcloud_count, true);
+ ksort($sliced_tags);
+ foreach ($sliced_tags as $tag => $count) {
+ $size = $min_size + (($count - $min_qty) * $step);
+ $wrapper .= ' '.tag_i18n($tag).' ';
+ }
+ $ar = serialize($wrapper);
+ file_put_contents($cache_t, $ar, LOCK_EX);
+ return $wrapper;
+ }
+
+ } else {
+ return $tag_collection;
+ }
+ } else {
+ if(empty($custom)) return;
+ return $tags;
+ }
+}
+
+// Helper function to determine whether
+// to show the previous buttons
+function has_prev($prev)
+{
+ if (!empty($prev)) {
+ return array(
+ 'url' => $prev->url,
+ 'title' => $prev->title,
+ 'date' => $prev->date,
+ 'body' => $prev->body,
+ 'description' => $prev->description,
+ 'tag' => $prev->tag,
+ 'author' => $prev->author,
+ 'authorName' => $prev->authorName,
+ 'authorDescription' => $prev->authorDescription,
+ 'authorAbout' => $prev->authorAbout,
+ 'authorUrl' => $prev->authorUrl,
+ 'authorAvatar' => $prev->authorAvatar,
+ 'authorRss' => $prev->authorRss,
+ 'related' => $prev->related,
+ 'views' => $prev->views,
+ 'type' => $prev->type,
+ 'file' => $prev->file,
+ 'image' => $prev->image,
+ 'video' => $prev->video,
+ 'audio' => $prev->audio,
+ 'quote' => $prev->quote,
+ 'link' => $prev->link,
+ 'slug' => $prev->slug,
+ 'category' => $prev->category,
+ 'categoryUrl' => $prev->categoryUrl,
+ 'categoryCount' => $prev->categoryCount,
+ 'categorySlug' => $prev->categorySlug,
+ 'categoryMd' => $prev->categoryMd,
+ 'categoryTitle' => $prev->categoryTitle,
+ 'readTime' => $prev->readTime,
+ 'lastMod' => $prev->lastMod
+ );
+ }
+}
+
+// Helper function to determine whether
+// to show the next buttons
+function has_next($next)
+{
+ if (!empty($next)) {
+ return array(
+ 'url' => $next->url,
+ 'title' => $next->title,
+ 'date' => $next->date,
+ 'body' => $next->body,
+ 'description' => $next->description,
+ 'tag' => $next->tag,
+ 'author' => $next->author,
+ 'authorName' => $next->authorName,
+ 'authorDescription' => $next->authorDescription,
+ 'authorAbout' => $next->authorAbout,
+ 'authorUrl' => $next->authorUrl,
+ 'authorAvatar' => $next->authorAvatar,
+ 'authorRss' => $next->authorRss,
+ 'related' => $next->related,
+ 'views' => $next->views,
+ 'type' => $next->type,
+ 'file' => $next->file,
+ 'image' => $next->image,
+ 'video' => $next->video,
+ 'audio' => $next->audio,
+ 'quote' => $next->quote,
+ 'link' => $next->link,
+ 'slug' => $next->slug,
+ 'category' => $next->category,
+ 'categoryUrl' => $next->categoryUrl,
+ 'categoryCount' => $next->categoryCount,
+ 'categorySlug' => $next->categorySlug,
+ 'categoryMd' => $next->categoryMd,
+ 'categoryTitle' => $next->categoryTitle,
+ 'readTime' => $next->readTime,
+ 'lastMod' => $next->lastMod
+ );
+ }
+}
+
+function static_prev($prev)
+{
+ if (!empty($prev)) {
+ return array(
+ 'url' => $prev->url,
+ 'title' => $prev->title,
+ 'body' => $prev->body,
+ 'description' => $prev->description,
+ 'views' => $prev->views,
+ 'md' => $prev->md,
+ 'slug' => $prev->slug,
+ 'parent' => $prev->parent,
+ 'parentSlug' => $prev->parentSlug,
+ 'file' => $prev->file,
+ 'readTime' => $prev->readTime,
+ 'lastMod' => $prev->lastMod
+ );
+ }
+}
+
+function static_next($next)
+{
+ if (!empty($next)) {
+ return array(
+ 'url' => $next->url,
+ 'title' => $next->title,
+ 'body' => $next->body,
+ 'description' => $next->description,
+ 'views' => $next->views,
+ 'md' => $next->md,
+ 'slug' => $next->slug,
+ 'parent' => $next->parent,
+ 'parentSlug' => $next->parentSlug,
+ 'file' => $next->file,
+ 'readTime' => $next->readTime,
+ 'lastMod' => $next->lastMod
+ );
+ }
+}
+
+// Helper function to determine whether
+// to show the pagination buttons
+function has_pagination($total, $perpage, $page = 1)
+{
+ if (!$total) {
+ $total = count(get_blog_posts());
+ }
+ $totalPage = ceil($total / $perpage);
+ $number = i18n('Page') . ' ' . $page . ' ' . i18n('of') . ' ' . $totalPage;
+ $pager = get_pagination($total, $page, $perpage, 2);
+ return array(
+ 'prev' => $page > 1,
+ 'next' => $total > $page * $perpage,
+ 'pagenum' => $number,
+ 'html' => $pager,
+ 'items' => $total,
+ 'perpage' => $perpage
+ );
+}
+
+//function to return the pagination string
+function get_pagination($totalitems, $page = 1, $perpage = 10, $adjacents = 1, $pagestring = '?page=')
+{
+ //defaults
+ if(!$adjacents) $adjacents = 1;
+ if(!$perpage) $perpage = 10;
+ if(!$page) $page = 1;
+
+ //other vars
+ $prev = $page - 1; //previous page is page - 1
+ $next = $page + 1; //next page is page + 1
+ $lastpage = ceil($totalitems / $perpage); //lastpage is = total items / items per page, rounded up.
+ $lpm1 = $lastpage - 1; //last page minus 1
+
+ /*
+ Now we apply our rules and draw the pagination object.
+ We're actually saving the code to a variable in case we want to draw it more than once.
+ */
+ $pagination = '';
+ $curpage = strtok($_SERVER["REQUEST_URI"], '?');
+
+ if($lastpage > 1)
+ {
+ $pagination .= '';
+
+ //newer button
+ if ($page > 2)
+ $pagination .= '- « '. i18n('Newer') .'
';
+ else if ($page == 2)
+ $pagination .= '- « '. i18n('Newer') .'
';
+ else
+ $pagination .= '- « '. i18n('Newer') . '
';
+
+ //pages
+ if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
+ {
+ for ($counter = 1; $counter <= $lastpage; $counter++)
+ {
+ if ($counter == 1 && $counter !== $page) // link 1st pagination page to parent page instead of ?page=1 for SEO
+ $pagination .= '- 1
';
+ else if ($counter == $page)
+ $pagination .= '- '. $counter.'
';
+ else
+ $pagination .= '- '. $counter .'
';
+ }
+ }
+ elseif($lastpage >= 7 + ($adjacents * 2)) //enough pages to hide some
+ {
+ //close to beginning; only hide later pages
+ if($page < 1 + ($adjacents * 3))
+ {
+ for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
+ {
+ if ($counter == 1 && $counter !== $page) // link 1st pagination page to parent page instead of ?page=1 for SEO
+ $pagination .= '- 1
';
+ else if ($counter == $page)
+ $pagination .= '- '. $counter .'
';
+ else
+ $pagination .= '- '. $counter .'
';
+ }
+ $pagination .= '- ...
';
+ $pagination .= '- '. $lpm1 .'
';
+ $pagination .= '- '. $lastpage .'
';
+ }
+ //in middle; hide some front and some back
+ elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
+ {
+ $pagination .= '- 1
';
+ $pagination .= '- 2
';
+ $pagination .= '- ...
';
+ for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
+ {
+ if ($counter == $page)
+ $pagination .= '- '. $counter .'
';
+ else
+ $pagination .= '- '. $counter .'
';
+ }
+ $pagination .= '- ...
';
+ $pagination .= '- '. $lpm1 .'
';
+ $pagination .= '- '. $lastpage .'
';
+ }
+ //close to end; only hide early pages
+ else
+ {
+ $pagination .= '- 1
';
+ $pagination .= '- 2
';
+ $pagination .= '- ...
';
+ for ($counter = $lastpage - (1 + ($adjacents * 3)); $counter <= $lastpage; $counter++)
+ {
+ if ($counter == $page)
+ $pagination .= '- '. $counter .'
';
+ else
+ $pagination .= '- '. $counter .'
';
+ }
+ }
+ }
+
+ //older button
+ if ($page < $counter - 1)
+ $pagination .= '- '. i18n('Older') .' »
';
+ else
+ $pagination .= '- '. i18n('Older') .' »
';
+ $pagination .= '
';
+ }
+
+ return $pagination;
+
+}
+
+// Get the meta description
+function get_description($string, $char = null)
+{
+ if(empty($char)) {
+ $char = config('description.char');
+ if(empty($char)) {
+ $char = 150;
+ }
+ }
+ if (strlen(strip_tags($string)) < $char) {
+ return safe_html(strip_tags($string));
+ } else {
+ $string = safe_html(strip_tags($string));
+ $string = substr($string, 0, $char);
+ $string = substr($string, 0, strrpos($string, ' '));
+ return $string;
+ }
+
+}
+
+// Get the teaser
+function get_teaser($string, $url = null, $char = null)
+{
+ $teaserType = config('teaser.type');
+ $more = config('read.more');
+ $behave = config('teaser.behave');
+
+ if(empty($more)) {
+ $more = 'Read more';
+ }
+
+ if(empty($char)) {
+ $char = config('teaser.char');
+ if(empty($char)) {
+ $char = 200;
+ }
+ }
+
+ if ($teaserType === 'full') {
+ $readMore = explode('', $string);
+ if (isset($readMore['1'])) {
+ $string = replace_href($readMore['0'], 'a', 'footnote-ref', $url);
+ return $string . '';
+ } else {
+ return $string;
+ }
+ } else {
+ if ($behave === 'check') {
+ $readMore = explode('', $string);
+ if (isset($readMore['1'])) {
+ $string = shorten($readMore[0]);
+ return $string;
+ } else {
+ $string = shorten($string, $char);
+ return $string;
+ }
+ } else {
+ $string = shorten($string, $char);
+ return $string;
+ }
+ }
+}
+
+// Shorten the string
+function shorten($string = null, $char = null)
+{
+ if(empty($string)) {
+ return;
+ }
+ $string = str_replace(''. config('toc.label') .'', '', $string);
+ libxml_use_internal_errors(true);
+ $dom = new DOMDocument();
+ $dom->loadHTML('' . $string);
+ $tags_to_remove = array('script', 'style');
+ foreach($tags_to_remove as $tag){
+ $element = $dom->getElementsByTagName($tag);
+ foreach($element as $item){
+ $item->parentNode->removeChild($item);
+ }
+ }
+ $string = preg_replace('~<(?:!DOCTYPE|/?(?:html|head|body))[^>]*>\s*~i', '', mb_convert_encoding($dom->saveHTML($dom->documentElement), 'UTF-8'));
+ $string = preg_replace('/\s\s+/', ' ', strip_tags($string));
+ $string = ltrim(rtrim($string));
+ $string = str_replace('', '', $string);
+ if (!empty($char)) {
+ if (strlen($string) > $char) {
+ $string = substr($string, 0, $char);
+ $string = substr($string, 0, strrpos($string, ' '));
+ }
+ }
+ return $string;
+
+}
+
+// Get thumbnail from image and Youtube.
+function get_thumbnail($text, $url = null)
+{
+ if (config('img.thumbnail') == 'true') {
+
+ $teaserType = config('teaser.type');
+
+ if (strlen(strip_tags($text)) > config('teaser.char') && $teaserType === 'trimmed') {
+
+ libxml_use_internal_errors(true);
+ $default = config('default.thumbnail');
+ $dom = new DOMDocument();
+ $dom->loadHtml('' . $text);
+ $imgTags = $dom->getElementsByTagName('img');
+ $vidTags = $dom->getElementsByTagName('iframe');
+ if ($imgTags->length > 0) {
+ $imgElement = $imgTags->item(0);
+ $imgSource = $imgElement->getAttribute('src');
+ if (!empty($url)) {
+ return $imgSource;
+ } else {
+ return '';
+ }
+ } elseif ($vidTags->length > 0) {
+ $vidElement = $vidTags->item(0);
+ $vidSource = $vidElement->getAttribute('src');
+ $fetch = explode("embed/", $vidSource);
+ if (isset($fetch[1])) {
+ $vidThumb = '//img.youtube.com/vi/' . $fetch[1] . '/default.jpg';
+ if (!empty($url)) {
+ return $vidThumb;
+ } else {
+ return '';
+ }
+ }
+ } else {
+ if (!empty($default)) {
+ if (!empty($url)) {
+ return $default;
+ } else {
+ return '';
+ }
+ }
+ }
+ } else {
+ // Ignore
+ }
+ }
+}
+
+// Get image from post and Youtube thumbnail.
+function get_image($text, $width = null, $height = null)
+{
+ libxml_use_internal_errors(true);
+ $dom = new DOMDocument();
+ $dom->loadHtml('' . $text);
+ $imgTags = $dom->getElementsByTagName('img');
+ $vidTags = $dom->getElementsByTagName('iframe');
+ if ($imgTags->length > 0) {
+ $imgElement = $imgTags->item(0);
+ $imgSource = $imgElement->getAttribute('src');
+ if(is_null($width)) {
+ return $imgSource;
+ } else {
+ return create_thumb($imgSource, $width, $height);
+ }
+ } elseif ($vidTags->length > 0) {
+ $vidElement = $vidTags->item(0);
+ $vidSource = $vidElement->getAttribute('src');
+ $fetch = explode("embed/", $vidSource);
+ if (isset($fetch[1])) {
+ $vidThumb = '//img.youtube.com/vi/' . $fetch[1] . '/sddefault.jpg';
+ return $vidThumb;
+ }
+ } else{
+ return false;
+ }
+}
+
+// Return edit tab on post
+function tab($p)
+{
+ $user = $_SESSION[site_url()]['user'];
+ $role = user('role', $user);
+ $tab = '';
+ if (isset($p->author)) {
+ if ($user === $p->author || $role === 'editor' || $role === 'admin') {
+ $tab = '';
+ }
+ } else {
+ if ($p->url) {
+ if ($role === 'editor' || $role === 'admin') {
+ $tab = '';
+ }
+ }
+ }
+ return $tab;
+}
+
+// Social links
+function social($class = null)
+{
+ $bluesky = config('social.bluesky');
+ $twitter = config('social.twitter');
+ $facebook = config('social.facebook');
+ $instagram = config('social.instagram');
+ $linkedin = config('social.linkedin');
+ $github = config('social.github');
+ $youtube = config('social.youtube');
+ $mastodon = config('social.mastodon');
+ $tiktok = config('social.tiktok');
+ $rss = site_url() . 'feed/rss';
+ $social = '';
+
+ $social .= ' ';
+ return $social;
+}
+
+// Copyright
+function copyright()
+{
+ $blogcp = blog_copyright();
+ $credit = 'Powered by HTMLy';
+
+ if (!empty($blogcp)) {
+ return $copyright = '' . $blogcp . ' ' . $credit . '';
+ } else {
+ return $credit = '' . $credit . '';
+ }
+}
+
+// Disqus on post.
+function disqus($title = null, $url = null)
+{
+ $comment = config('comment.system');
+ $disqus = config('disqus.shortname');
+ $script = <<
+ var getAbsolutePath = function(href) {
+ var link = document.createElement('a');
+ link.href = href;
+ return link.href;
+ };
+ var disqus_shortname = '{$disqus}';
+ var disqus_title = '{$title}';
+ var disqus_url = getAbsolutePath('{$url}');
+ (function () {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+
+EOF;
+ if (!empty($disqus) && $comment == 'disqus') {
+ return $script;
+ }
+}
+
+// Disqus comment count on teaser
+function disqus_count()
+{
+ $comment = config('comment.system');
+ $disqus = config('disqus.shortname');
+ $script = <<
+ var disqus_shortname = '{$disqus}';
+ (function () {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+
+EOF;
+ if (!empty($disqus) && $comment == 'disqus') {
+ return $script;
+ }
+}
+
+// Disqus recent comments
+function recent_comments()
+{
+ $comment = config('comment.system');
+ $disqus = config('disqus.shortname');
+ $script = <<
+EOF;
+ if (!empty($disqus) && $comment == 'disqus') {
+ return $script;
+ }
+}
+
+// Facebook comments
+function facebook()
+{
+ $comment = config('comment.system');
+ $appid = config('fb.appid');
+ $lang = locale_language();
+ $script = <<
+
+
+EOF;
+
+ if (!empty($appid) && $comment == 'facebook') {
+ return $script;
+ }
+}
+
+// Google Publisher (Google+ page).
+function publisher()
+{
+ $publisher = config('google.publisher');
+ if (!empty($publisher)) {
+ return $publisher;
+ }
+}
+
+// Google Analytics
+function analytics()
+{
+ $analytics = config('google.analytics.id');
+ $gtag = config('google.gtag.id');
+ $script = <<
+ (function (i,s,o,g,r,a,m) {i['GoogleAnalyticsObject']=r;i[r]=i[r]||function () {
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ ga('create', '{$analytics}', 'auto');
+ ga('send', 'pageview');
+
+EOF;
+ $gtagScript = <<
+
+
+EOF;
+ if (!empty($gtag)) {
+ return $gtagScript;
+ } elseif (!empty($analytics)) {
+ return $script;
+ }
+}
+
+function slashUrl($url)
+{
+ return rtrim($url, '/') . '/';
+}
+
+function parseNodes($nodes, $child = null, $class = null)
+{
+ if (empty($child)) {
+ $ul = '';
+ } else {
+ $li = ' ';
+ }
+ } else {
+ $li = ' '; // Link out
+ }
+ } else {
+ if (slashUrl($node->slug) == slashUrl($req)) {
+ $li = ' ';
+ } else {
+ $li = ' ';
+ }
+ }
+
+ $li .= ''.$node->name.'';
+ if (isset($node->children)) {
+ $li .= parseNodes($node->children, true, null);
+ }
+ $li .= ' ';
+ return $li;
+ } else {
+
+ if (isset($url['host']) && isset($su['host'])) {
+ if ($url['host'] == $su['host']) {
+ if (slashUrl($url['path']) == slashUrl($req)) {
+ $li = '';
+ } else {
+ $li = ' ';
+ }
+ } else {
+ $li = ' '; // Link out
+ }
+ } else {
+ if (slashUrl($node->slug) == slashUrl($req)) {
+ $li = ' ';
+ } else {
+ $li = ' ';
+ }
+ }
+
+ $li .= ''.$node->name.'';
+ if (isset($node->children)) {
+ $li .= parseNodes($node->children, true, null);
+ }
+ $li .= ' ';
+ return $li;
+ }
+}
+
+// Menu
+function menu($class = null)
+{
+ $filename = "content/data/menu.json";
+ if (file_exists($filename)) {
+ $json = json_decode(file_get_contents('content/data/menu.json', true));
+ $nodes = json_decode($json);
+ if (empty($nodes)) {
+ return get_menu($class);
+ } else {
+ $html = parseNodes($nodes, null, $class);
+ $output = '';
+ libxml_use_internal_errors(true);
+ $doc = new DOMDocument();
+ $doc->loadHTML('' . $html);
+
+ $finder = new DOMXPath($doc);
+ $elements = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' dropdown-menu ')]");
+
+ // loop through all with dropdown-menu class
+ foreach ($elements as $element) {
+ $nodes = $element->childNodes;
+ foreach ($nodes as $node) {
+ $class = $node->getAttribute('class');
+ if (stripos($class, 'active')) {
+ $parentClass = $element->parentNode->getAttribute('class') . ' active';
+ $element->parentNode->setAttribute('class', $parentClass);
+ }
+ }
+ }
+
+ $output = preg_replace('~<(?:!DOCTYPE|/?(?:html|head|body))[^>]*>\s*~i', '', mb_convert_encoding($doc->saveHTML($doc->documentElement), 'UTF-8'));
+ return str_replace('', '', $output);
+
+ }
+ } else {
+ return get_menu($class);
+ }
+}
+
+// Get the title from file
+function get_title_from_file($v)
+{
+ // Get the contents and convert it to HTML
+ $content = MarkdownExtra::defaultTransform(file_get_contents($v));
+
+ $filename= pathinfo($v, PATHINFO_FILENAME);
+
+ // Extract the title and body
+ return get_content_tag('t', $content, str_replace('-', ' ', $filename));
+}
+
+// Auto generate menu from static page
+function get_menu($custom = null, $auto = null)
+{
+ $posts = get_static_pages();
+ $req = $_SERVER['REQUEST_URI'];
+ $menu = '';
+
+ if (!empty($posts)) {
+
+ $menu .= '
+
+
+
+EOF;
+ } else {
+ $search = i18n('Search');
+ echo <<
+
+
+
+EOF;
+ }
+ if (isset($_GET['search'])) {
+ $search = _h($_GET['search']);
+ $url = site_url() . 'search/' . remove_accent($search);
+ header("Location: $url");
+ }
+}
+
+// The not found error
+function not_found($request = null)
+{
+ if (!config('views.root')) die('HTMLy is not installed!');
+ $vroot = rtrim(config('views.root'), '/');
+ $lt = $vroot . '/layout--404.html.php';
+ if (file_exists($lt)) {
+ $layout = 'layout--404';
+ } else {
+ $layout = '';
+ }
+
+ if (config('views.counter') == 'true') {
+ if (!is_null($request)) {
+ $filename = "content/data/views.json";
+ $views = array();
+ if (file_exists($filename)) {
+ $views = json_decode(file_get_data($filename), true);
+ }
+ if (isset($views[$request])) {
+ unset($views[$request]);
+ save_json_pretty($filename, $views);
+ }
+ }
+ }
+
+ header($_SERVER["SERVER_PROTOCOL"] . " 404 Not Found");
+ render('404', array(
+ 'title' => generate_title('is_default', i18n('This_page_doesnt_exist')),
+ 'description' => i18n('This_page_doesnt_exist'),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('This_page_doesnt_exist'),
+ 'bodyclass' => 'error-404',
+ 'is_404' => true,
+ ), $layout);
+ die();
+}
+
+// Turn an array of posts into an RSS feed
+function generate_rss($posts, $data = null)
+{
+ $feed = new Feed();
+ $channel = new Channel();
+ $rssLength = config('rss.char');
+ $data = $data;
+ $rssDesc = config('rss.description');
+
+ if (is_null($data)) {
+ $channel
+ ->title(blog_title())
+ ->description(blog_description())
+ ->url(site_url())
+ ->appendTo($feed);
+ } else {
+ $channel
+ ->title($data->title)
+ ->description(strip_tags($data->body))
+ ->url($data->url)
+ ->appendTo($feed);
+ }
+ if ($posts) {
+ foreach ($posts as $p) {
+ $img = get_image($p->body);
+ if ($rssDesc == "meta") {
+ if (!empty($rssLength)) {
+ $body = shorten($p->description, $rssLength);
+ } else {
+ $body = $p->description;
+ }
+ } else {
+ if (!empty($rssLength)) {
+ $body = shorten($p->body, $rssLength);
+ } else {
+ $body = $p->body;
+ }
+ }
+ $item = new Item();
+ $item
+ ->category(strip_tags($p->category));
+ $item
+ ->title($p->title)
+ ->pubDate($p->date)
+ ->description($body)
+ ->url($p->url)
+ ->appendTo($channel);
+
+ if (!empty($p->image)) {
+ $item->enclosure($p->image, 0, "image/" . pathinfo($p->image, PATHINFO_EXTENSION));
+ } elseif (!empty($img)) {
+ $item->enclosure($img, 0, "image/" . pathinfo($img, PATHINFO_EXTENSION));
+ }
+
+ }
+ }
+
+ return $feed;
+}
+
+// Return post, archive url for sitemap
+function sitemap_post_path($posts, $page = 1, $perpage = 0)
+{
+ if (empty($posts)) {
+ $posts = get_blog_posts();
+ }
+
+ krsort($posts);
+
+ $tmp = array();
+
+ $posts = array_slice($posts, ($page - 1) * $perpage, $perpage);
+
+ foreach ($posts as $index => $v) {
+
+ $post = new stdClass;
+
+ $filepath = $v['dirname'] . '/' . $v['basename'];
+
+ // Extract the date
+ $arr = explode('_', $v['basename']);
+
+ // dirname string
+ $dirname = $v['dirname'];
+
+ // Author string
+ $str = explode('/', $dirname);
+ $author = $str[1];
+
+ $post->authorUrl = site_url() . 'author/' . $author;
+
+ $dt = str_replace($dirname, '', $arr[0]);
+ $t = str_replace('-', '', $dt);
+ $time = new DateTime($t);
+ $timestamp = $time->format("Y-m-d H:i:s");
+
+ // The post date
+ $post->date = strtotime($timestamp);
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($filepath)));
+
+ // The archive per month
+ $post->archivemonth = site_url() . 'archive/' . date('Y-m', $post->date);
+
+ // The archive per year
+ $post->archiveyear = site_url() . 'archive/' . date('Y', $post->date);
+
+ // The post URL
+ if (permalink_type() == 'default') {
+ $post->url = site_url() . date('Y/m', $post->date) . '/' . str_replace('.md', '', $arr[2]);
+ } else {
+ $post->url = site_url() . permalink_type() . '/' . str_replace('.md', '', $arr[2]);
+ }
+
+ $tmp[] = $post;
+ }
+
+ return $tmp;
+}
+
+// Return static page path for sitemap
+function sitemap_page_path()
+{
+ $posts = get_static_pages();
+
+ $tmp = array();
+
+ if (!empty($posts)) {
+
+ foreach ($posts as $index => $v) {
+
+ $post = new stdClass;
+
+ $fn = explode('.', $v['filename']);
+
+ if (isset($fn[1])) {
+ $filename = $fn[1];
+ } else {
+ $filename= $v['filename'];
+ }
+
+ $file = $v['dirname'] . '/' . $v['basename'];
+ $post->url = site_url() . $filename;
+ $post->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($file)));
+
+ $tmp[] = $post;
+
+ $subPages = get_static_subpages($filename);
+
+ foreach ($subPages as $sIndex => $sp) {
+
+ $subpost = new stdClass;
+
+ $bs = explode('.', $sp['filename']);
+
+ if (isset($bs[1])) {
+ $baseSub = $bs[1];
+ } else {
+ $baseSub = $sp['filename'];
+ }
+
+ $urlSub = $filename . '/' . $baseSub;
+ $subfile = $sp['dirname'] . '/' . $sp['basename'];
+ $subpost->url = site_url() . $urlSub;
+ $subpost->lastMod = strtotime(date('Y-m-d H:i:s', filemtime($subfile)));
+
+ $tmp[] = $subpost;
+ }
+ }
+ }
+
+ return $tmp;
+}
+
+// Generate sitemap.xml.
+function generate_sitemap($str)
+{
+ $default_priority = '0.5';
+ $map = '';
+
+ header('X-Robots-Tag: noindex');
+
+ $map .= '';
+
+ if ($str == 'index.xml') {
+
+ $map .= '';
+
+ if (config('sitemap.priority.base') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.base.xml ';
+ }
+
+ if (config('sitemap.priority.post') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.post.xml ';
+ }
+
+ if (config('sitemap.priority.static') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.static.xml ';
+ }
+
+ if (config('sitemap.priority.category') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.category.xml ';
+ }
+
+ if (config('sitemap.priority.tag') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.tag.xml ';
+ }
+
+ if (config('sitemap.priority.archiveDay') !== '-1' || config('sitemap.priority.archiveMonth') !== '-1' || config('sitemap.priority.archiveYear') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.archive.xml ';
+ }
+
+ if (config('sitemap.priority.author') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.author.xml ';
+ }
+
+ if (config('sitemap.priority.type') !== '-1') {
+ $map .= '' . site_url() . 'sitemap.type.xml ';
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'base.xml') {
+
+ $priority = (config('sitemap.priority.base')) ? config('sitemap.priority.base') : '1.0';
+
+ $map .= '';
+
+ if ($priority !== '-1') {
+ $map .= '' . site_url() . ' ' . $priority . ' ';
+ if (config('blog.enable') === 'true') {
+ $map .= '' . site_url() . blog_path() .' ' . $priority . ' ';
+ }
+ }
+
+ $map .= ' ';
+
+ } elseif (strpos($str, 'post.') !== false ) {
+
+ if ($str == 'post.xml') {
+
+ $map .= '';
+
+ $totalPosts = array();
+ $totalPosts = get_blog_posts();
+
+ $total = count($totalPosts);
+ $totalPage = ceil($total / 500);
+
+ for ($i = 1; $i <= $totalPage; $i++) {
+ $map .= '' . site_url() . 'sitemap.post.'. $i .'.xml ';
+ }
+
+ $map .= ' ';
+
+ } else {
+
+ $priority = (config('sitemap.priority.post')) ? config('sitemap.priority.post') : $default_priority;
+
+ $posts = array();
+ $arr = explode('.', $str);
+ if ($priority !== '-1') {
+ $posts = sitemap_post_path(null, $arr[1], 500);
+ }
+
+ $map .= '';
+
+ foreach ($posts as $p) {
+
+ $map .= '' . $p->url . ' ' . $priority . ' ' . date('Y-m-d\TH:i:sP', $p->lastMod) . ' ';
+ }
+
+ $map .= ' ';
+
+ }
+
+ } elseif ($str == 'static.xml') {
+
+ $priority = (config('sitemap.priority.static')) ? config('sitemap.priority.static') : $default_priority;
+
+ $posts = array();
+ if ($priority !== '-1') {
+ $posts = sitemap_page_path();
+ }
+
+ $map .= '';
+
+ foreach ($posts as $p) {
+
+ $map .= '' . $p->url . ' ' . $priority . ' ' . date('Y-m-d\TH:i:sP', $p->lastMod) . ' ';
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'tag.xml') {
+
+ $priority = (config('sitemap.priority.tag')) ? config('sitemap.priority.tag') : $default_priority;
+
+ $posts = array();
+ if ($priority !== '-1') {
+ $posts = get_blog_posts();
+ }
+
+ $tags = array();
+
+ $map .= '';
+
+ if($posts) {
+ foreach ($posts as $index => $v) {
+
+ $arr = explode('_', $v['filename']);
+ $data = $arr[1];
+ $mtag = explode(',', $data);
+ foreach ($mtag as $etag) {
+ $tags[] = strtolower($etag);
+ }
+ }
+
+ foreach ($tags as $t) {
+ $tag[] = site_url() . 'tag/' . strtolower($t);
+ }
+
+ if (isset($tag)) {
+
+ $tag = array_unique($tag, SORT_REGULAR);
+
+ foreach ($tag as $t) {
+ $map .= '' . $t . ' ' . $priority . ' ';
+ }
+ }
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'archive.xml') {
+
+ $priorityMonth = (config('sitemap.priority.archiveMonth')) ? config('sitemap.priority.archiveMonth') : $default_priority;
+ $priorityYear = (config('sitemap.priority.archiveYear')) ? config('sitemap.priority.archiveYear') : $default_priority;
+
+ $posts = sitemap_post_path(null, 1, null);
+ $month = array();
+ $year = array();
+
+ foreach ($posts as $p) {
+ $month[] = $p->archivemonth;
+ $year[] = $p->archiveyear;
+ }
+
+ $month = array_unique($month, SORT_REGULAR);
+ $year = array_unique($year, SORT_REGULAR);
+
+ $map .= '';
+
+ if ($priorityYear !== '-1') {
+ foreach ($year as $y) {
+ $map .= '' . $y . ' ' . $priorityYear . ' ';
+ }
+ }
+
+ if ($priorityMonth !== '-1') {
+ foreach ($month as $m) {
+ $map .= '' . $m . ' ' . $priorityMonth . ' ';
+ }
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'author.xml') {
+
+ $priority = (config('sitemap.priority.author')) ? config('sitemap.priority.author') : $default_priority;
+
+ $author = array();
+ if ($priority !== '-1') {
+
+ $posts = sitemap_post_path(null, 1, null);
+
+ foreach ($posts as $p) {
+ $author[] = $p->authorUrl;
+ }
+
+ $author = array_unique($author, SORT_REGULAR);
+ }
+
+ $map .= '';
+
+ if ($priority !== '-1') {
+ foreach ($author as $a) {
+ $map .= '' . $a . ' ' . $priority . ' ';
+ }
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'category.xml') {
+
+ $priority = (config('sitemap.priority.category')) ? config('sitemap.priority.category') : $default_priority;
+
+ $posts = array();
+ if ($priority !== '-1') {
+ $posts = get_blog_posts();
+ }
+
+ $cats = array();
+
+ $map .= '';
+
+ if($posts) {
+ foreach ($posts as $index => $v) {
+
+ $dirname = $v['dirname'];
+ $str = explode('/', $dirname);
+ $cats[] = $str[3];
+
+ }
+
+ foreach ($cats as $c) {
+ $cat[] = site_url() . 'category/' . strtolower($c);
+ }
+
+ if (isset($cat)) {
+
+ $cat = array_unique($cat, SORT_REGULAR);
+
+ foreach ($cat as $c) {
+ $map .= '' . $c . ' ' . $priority . ' ';
+ }
+ }
+ }
+
+ $map .= ' ';
+
+ } elseif ($str == 'type.xml') {
+
+ $priority = (config('sitemap.priority.type')) ? config('sitemap.priority.type') : $default_priority;
+
+ $posts = array();
+ if ($priority !== '-1') {
+ $posts = get_blog_posts();
+ }
+
+ $cats = array();
+
+ $map .= '';
+
+ if($posts) {
+ foreach ($posts as $index => $v) {
+
+ $dirname = $v['dirname'];
+ $str = explode('/', $dirname);
+ $types[] = $str[4];
+ }
+
+ foreach ($types as $t) {
+ $type[] = site_url() . 'type/' . strtolower($t);
+ }
+
+ if (isset($type)) {
+
+ $type = array_unique($type, SORT_REGULAR);
+
+ foreach ($type as $t) {
+ $map .= '' . $t . ' ' . $priority . ' ';
+ }
+ }
+ }
+
+ $map .= ' ';
+ }
+ echo $map;
+}
+
+// Function to generate OPML file
+function generate_opml()
+{
+ $opml_data = array(
+ 'head' => array(
+ 'title' => blog_title() . ' OPML File',
+ 'ownerName' => blog_title(),
+ 'ownerId' => site_url()
+ ),
+ 'body' => array(
+ array(
+ 'text' => blog_title(),
+ 'description' => blog_description(),
+ 'htmlUrl' => site_url(),
+ 'language' => 'unknown',
+ 'title' => blog_title(),
+ 'type' => 'rss',
+ 'version' => 'RSS2',
+ 'xmlUrl' => site_url() . 'feed/rss'
+ )
+ )
+ );
+
+ $opml = new opml($opml_data);
+ return $opml->render();
+}
+
+// Turn an array of posts into a JSON
+function generate_json($posts)
+{
+ return json_encode($posts);
+}
+
+// TRUE if the current page is an index page like frontpage, tag index, archive index and search index.
+function is_index()
+{
+ if (blog_path() == permalink_type()) {
+ $req = rtrim(strtok($_SERVER["REQUEST_URI"], '?'), '/') . '/';
+ $in = explode('/' . blog_path(), $req);
+ if (isset($in[1])) {
+ if ($in[1] == '/') {
+ return true;
+ }
+ }
+ if (stripos($req, '/category/') !== false || stripos($req, '/archive/') !== false || stripos($req, '/tag/') !== false || stripos($req, '/search/') !== false || stripos($req, '/type/') !== false || $req == site_path() . '/') {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ $req = strtok($_SERVER["REQUEST_URI"], '?');
+ if (stripos($req, '/category/') !== false || stripos($req, '/archive/') !== false || stripos($req, '/tag/') !== false || stripos($req, '/search/') !== false || stripos($req, '/type/') !== false || stripos($req, '/' . blog_path()) !== false || $req == site_path() . '/') {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
+
+// Return post permalink type
+function permalink_type()
+{
+ $permalink = config('permalink.type');
+ if (!is_null($permalink) && !empty($permalink)) {
+ return strtolower(str_replace('/', '', $permalink));
+ }
+ return 'default';
+}
+
+// Return blog path index
+function blog_path()
+{
+ $path = config('blog.path');
+ if (!is_null($path) && !empty($path)) {
+ return strtolower(str_replace('/', '', $path));
+ }
+ return 'blog';
+}
+
+// Return blog string
+function blog_string()
+{
+ $string = config('blog.string');
+ if (!is_null($string) && !empty($string)) {
+ return $string;
+ }
+ return 'Blog';
+}
+
+// Return blog title
+function blog_title()
+{
+ return config('blog.title');
+}
+
+// Return blog tagline
+function blog_tagline()
+{
+ return config('blog.tagline');
+}
+
+// Return blog description
+function blog_description()
+{
+ return config('blog.description');
+}
+
+// Return blog copyright
+function blog_copyright()
+{
+ return config('blog.copyright');
+}
+
+// Return blog language
+function blog_language()
+{
+ $lang = config('language');
+ if (!empty($lang)) {
+ $exp = explode('_', $lang);
+ return $exp[0] . '-' . $exp[1];
+ }
+ return 'en-US';
+}
+
+// Return locale language
+function locale_language()
+{
+ $lang = config('language');
+ if (!empty($lang)) {
+ $exp = explode('_', $lang);
+ return $exp[0] . '_' . $exp[1];
+ }
+ return 'en_US';
+}
+
+// Output head contents
+function head_contents()
+{
+ $output = '';
+ $wmt_id = config('google.wmt.id');
+ if (config('show.version') !== 'false') {
+ $version = 'HTMLy ' . constant('HTMLY_VERSION');
+ } else {
+ $version = 'HTMLy';
+ }
+ $favicon = config('favicon.image');
+ if (empty($favicon)) {
+ $favicon = '' . "\n";
+ } else {
+ $favicon = '' . "\n";
+ }
+ $output .= '' . "\n";
+ $output .= '' . "\n";
+ $output .= '' . "\n";
+ $output .= '' . "\n";
+ $output .= $favicon;
+ $output .= '' . "\n";
+ $output .= '' . "\n";
+ if (!empty($wmt_id)) {
+ $output .= '' . "\n";
+ }
+
+ return $output;
+}
+
+// File cache
+function file_cache($request)
+{
+ if (config('cache.off') == 'true') return;
+ $hour = config('cache.expiration');
+ if (empty($hour)) {
+ $hour = 6;
+ }
+
+ $now = time();
+ $c = str_replace('/', '#', str_replace('?', '~', rawurldecode($request)));
+ $cachefile = 'cache/page/' . $c . '.cache';
+ if (file_exists($cachefile)) {
+ if ($now - filemtime($cachefile) >= 60 * 60 * $hour) {
+ unlink($cachefile);
+ } else {
+ header('Content-type: text/html; charset=utf-8');
+ readfile($cachefile);
+ die;
+ }
+ }
+}
+
+// Add page views count
+function add_view($page)
+{
+ $dir = 'content/data/';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0775, true);
+ }
+ $filename = "content/data/views.json";
+ $views = array();
+ if (file_exists($filename)) {
+ $views = json_decode(file_get_data($filename), true);
+ }
+ if (isset($views[$page])) {
+ $views[$page]++;
+ save_json_pretty($filename, $views);
+ } else {
+ if (isset($views['flock_fail'])) {
+ return;
+ } else {
+ $views[$page] = 1;
+ save_json_pretty($filename, $views);
+ }
+ }
+}
+
+// Get the page views count
+function get_views($page, $oldID = null, $views = null)
+{
+ $filename = "content/data/views.json";
+
+ if (is_null($views)) {
+ if (file_exists($filename)) {
+ $views = json_decode(file_get_contents($filename), true);
+ }
+ }
+
+ if (!is_null($oldID)) {
+ if (isset($views[$oldID])) {
+ if (file_exists($filename)) {
+ $views = json_decode(file_get_data($filename), true);
+ }
+ if (isset($views['flock_fail'])) {
+ return -1;
+ } else {
+ $arr = replace_key($views, $oldID, $page);
+ save_json_pretty($filename, $arr);
+ }
+ return $views[$oldID];
+ } else {
+ if (isset($views[$page])) {
+ return $views[$page];
+ }
+ }
+ } else {
+ if (isset($views[$page])) {
+ return $views[$page];
+ }
+ }
+ return -1;
+}
+
+// Get tag inside the markdown files
+function get_content_tag($tag, $string, $alt = null)
+{
+ $reg = '/\(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/', '/(\s|)(\s|)/');
+ return preg_replace($patterns, '', $content);
+}
+
+// Google recaptcha
+function isCaptcha($reCaptchaResponse)
+{
+ $url = "https://www.google.com/recaptcha/api/siteverify";
+ $options = array(
+ "secret" => config("login.protect.private"),
+ "response" => $reCaptchaResponse,
+ "remoteip" => $_SERVER['REMOTE_ADDR'],
+ );
+ $fileContent = @file_get_contents($url . "?" . http_build_query($options));
+ if ($fileContent === false) {
+ return false;
+ }
+ $json = json_decode($fileContent, true);
+ if ($json == false) {
+ return false;
+ }
+ return ($json['success']);
+}
+
+// Cloudflare Turnstile
+function isTurnstile($turnstileResponse)
+{
+ $public = config("login.protect.public");
+ $private = config("login.protect.private");
+ $ip = $_SERVER['REMOTE_ADDR'];
+
+ $url = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';
+ $data = array('secret' => $private, 'response' => $turnstileResponse, 'remoteip' => $ip);
+
+ $query = http_build_query($data);
+ $options = array(
+ 'http' => array(
+ 'header' => "Content-Type: application/x-www-form-urlencoded\r\n".
+ "Content-Length: ".strlen($query)."\r\n".
+ "User-Agent:HTMLy/1.0\r\n",
+ 'method' => "POST",
+ 'content' => $query,
+ )
+ );
+
+ $stream = stream_context_create($options);
+ $fileContent = file_get_contents($url, false, $stream);
+
+ if ($fileContent === false) {
+ return false;
+ }
+ $json = json_decode($fileContent, true);
+ if ($json == false) {
+ return false;
+ }
+ return ($json['success']);
+}
+
+// Get video ID
+function get_video_id($url)
+{
+ if(empty($url)) {
+ return;
+ }
+
+ $link = parse_url($url);
+
+ if(!isset($link['host'])) {
+ return $url;
+ }
+
+ if (stripos($link['host'], 'youtube.com') !== false || stripos($link['host'], 'youtu.be') !== false) {
+ preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match);
+ return $match[1];
+ } elseif (stripos($link['host'], 'vimeo.com') !== false) {
+ preg_match('%^https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)(?:[?]?.*)$%im', $url, $match);
+ return $match[3];
+ } else {
+ return $url;
+ }
+}
+
+// translate tag to i18n
+function tag_i18n($tag)
+{
+ static $tags = array();
+
+ $filename = "content/data/tags.lang";
+ if (file_exists($filename)) {
+ $tags = unserialize(file_get_contents($filename));
+ }
+ if (isset($tags[$tag])) {
+ return $tags[$tag];
+ }
+ return $tag;
+}
+
+// return html safe string
+function safe_html($string)
+{
+ $string = htmlspecialchars($string, ENT_QUOTES);
+ $string = preg_replace('/\r\n|\r|\n/', ' ', $string);
+ $string = preg_replace('/\s\s+/', ' ', $string);
+ $string = ltrim(rtrim($string));
+ return $string;
+}
+
+// Replace href
+function replace_href($string, $tag, $class, $url)
+{
+
+ libxml_use_internal_errors(true);
+
+ // Load the HTML in DOM
+ $doc = new DOMDocument();
+ $doc->loadHTML('' . $string);
+ $output = '';
+ // Then select all anchor tags
+ $all_anchor_tags = $doc->getElementsByTagName($tag);
+ foreach ($all_anchor_tags as $_tag) {
+ if ($_tag->getAttribute('class') == $class) {
+ // If match class get the href value
+ $old = $_tag->getAttribute('href');
+ $new = $_tag->setAttribute('href', $url . mb_convert_encoding($old, 'UTF-8'));
+ }
+ }
+
+ $output = preg_replace('~<(?:!DOCTYPE|/?(?:html|head|body))[^>]*>\s*~i', '', mb_convert_encoding($doc->saveHTML($doc->documentElement), 'UTF-8'));
+ return str_replace('', '', $output);
+
+}
+
+// Format the date
+function format_date($date, $dateFormat = null)
+{
+ if (empty($dateFormat)) {
+ $dateFormat = config('date.format');
+ }
+ if (extension_loaded('intl')) {
+ $format_map = array('s' => 'ss', 'i' => 'mm', 'H' => 'HH', 'G' => 'H', 'd' => 'dd', 'j' => 'd', 'D' => 'EE', 'l' => 'EEEE', 'm' => 'MM', 'M' => 'MMM', 'F' => 'MMMM', 'Y' => 'yyyy');
+ $intlFormat = strtr($dateFormat, $format_map);
+ $formatter = new IntlDateFormatter(locale_language(), IntlDateFormatter::NONE, IntlDateFormatter::NONE, config('timezone'), IntlDateFormatter::GREGORIAN, $intlFormat);
+ return $formatter->format($date);
+ } else {
+ return date($dateFormat, $date);
+ }
+}
+
+// Publish scheduled post
+function publish_scheduled()
+{
+ $posts = get_scheduled_posts();
+ if (!empty($posts)) {
+ foreach ($posts as $index => $v) {
+ $str = explode('_', $v['basename']);
+ $old = $v['dirname'] . '/' . $v['basename'];
+ $new = dirname($v['dirname']) . '/' . $v['basename'];
+ $t = str_replace('-', '', $str[0]);
+ $time = new DateTime($t);
+ $timestamp = $time->format("Y m d H:i:s");
+ if (date('Y m d H:i:s') >= $timestamp) {
+ rename($old, $new);
+ rebuilt_cache('all');
+ clear_cache();
+ }
+ }
+ }
+}
+
+// Insert toc
+function insert_toc($id, $part_1 = null, $part_2 = null)
+{
+ $state = config('toc.state');
+ if ($state !== 'open') {
+ $state = '';
+ }
+ $label = config('toc.label');
+ if (empty($label)) {
+ $label = 'Table of Contents';
+ }
+ $style = config('toc.style');
+ if ($style == 'default' || empty($style)) {
+ $style = '';
+ } else {
+ $style = '';
+ }
+ $load = <<
+ document.addEventListener("DOMContentLoaded", function() {
+ if (document.getElementById('toc-wrapper.{$id}').parentNode.classList.contains('{$id}')) {
+ generateTOC('.{$id}');
+ } else {
+ document.getElementById('toc-wrapper.{$id}').parentNode.classList.add('{$id}');
+ generateTOC('.{$id}');
+ }
+ });
+
+EOF;
+ $result = $part_1 . ' ' . $part_2;
+ return $result;
+}
+
+// Automatically add toc after x paragraph
+function automatic_toc($content, $id)
+{
+ $pos = config('toc.position');
+ $exp = explode('
';
+ return $menu;
+ } else {
+
+ $menu .= ' ';
+ return $menu;
+ }
+}
+
+// Search form
+function search($text = null)
+{
+ if(!empty($text)) {
+ echo << ';
+ return $ul;
+ } else {
+ $ul = ' ';
+ return $ul;
+ }
+}
+
+function parseNode($node, $child = null)
+{
+ $req = strtok($_SERVER["REQUEST_URI"],'?');
+ $url = parse_url(slashUrl($node->slug));
+ $su = parse_url(site_url());
+ if (empty($child)) {
+
+ if (isset($url['host']) && isset($su['host'])) {
+ if ($url['host'] == $su['host']) {
+ if (slashUrl($url['path']) == slashUrl($req)) {
+ $li = '
', $content);
+ if (is_null($pos) || $pos > count($exp)){
+ return $content;
+ }
+ array_splice($exp, $pos, 0, insert_toc($id) . '');
+ $content = implode('
', $exp);
+ return $content;
+}
+
+function generate_title($type = null, $object = null)
+{
+ if ($type == 'is_front') {
+ $format = config('home.title.format');
+ if (empty($format)) {
+ $format = '%blog_title% - %blog_tagline%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description());
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_post') {
+ $format = config('post.title.format');
+ if (empty($format)) {
+ $format = '%post_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%post_title%' => $object->title, '%post_description%' => $object->description, '%post_category%' => $object->categoryTitle, '%post_tag%' => $object->tag, '%post_author%' => $object->authorName, '%post_type%' => ucfirst($object->type));
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_page' || $type == 'is_subpage') {
+ $format = config('page.title.format');
+ if (empty($format)) {
+ $format = '%page_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%page_title%' => $object->title, '%page_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_profile') {
+ $format = config('profile.title.format');
+ if (empty($format)) {
+ $format = '%author_name% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%author_name%' => $object->title, '%author_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_category') {
+ $format = config('category.title.format');
+ if (empty($format)) {
+ $format = '%category_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%category_title%' => $object->title, '%category_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_tag') {
+ $format = config('tag.title.format');
+ if (empty($format)) {
+ $format = '%tag_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%tag_title%' => $object->title, '%tag_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_archive') {
+ $format = config('archive.title.format');
+ if (empty($format)) {
+ $format = '%archive_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%archive_title%' => $object->title, '%archive_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_search') {
+ $format = config('search.title.format');
+ if (empty($format)) {
+ $format = '%search_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%search_title%' => $object->title, '%search_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_type') {
+ $format = config('type.title.format');
+ if (empty($format)) {
+ $format = '%type_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%type_title%' => $object->title, '%type_description%' => $object->description);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_blog') {
+ $format = config('blog.title.format');
+ if (empty($format)) {
+ $format = 'Blog - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description());
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ } elseif ($type == 'is_default') {
+ $format = config('default.title.format');
+ if (empty($format)) {
+ $format = '%page_title% - %blog_title%';
+ }
+ $var_map = array('%blog_title%' => blog_title(), '%blog_tagline%' => blog_tagline(), '%blog_description%' => blog_description(), '%page_title%' => $object);
+ $var = strtr($format, $var_map);
+ return strip_tags($var);
+ }
+}
+
+function generate_meta($type = null, $object = null)
+{
+ $tags = '';
+ $defaultImg = config('default.image');
+ if (empty($defaultImg)) {
+ $defaultImg = site_url() . 'system/resources/images/logo-big.png';
+ }
+ $fbApp = config('fb.appid');
+ $facebook = config('social.facebook');
+ $twitter = config('social.twitter');
+ if (is_null($object)) {
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ if ($type == 'is_blog') {
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ } else {
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ }
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ if(!empty($twitter)) {
+ $twitter = parse_url($twitter);
+ $tags .= '' . "\n";
+ }
+ if (!empty($fbApp)) {
+ $tags .= '' . "\n";
+ }
+ } else {
+ if(!empty($object->image)) {
+ $image = $object->image;
+ } else {
+ $image = get_image($object->body);
+ if(empty($image)) {
+ $image = $defaultImg;
+ }
+ }
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ if ($type == 'is_post') {
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ }
+ if ($type == 'is_page' || $type == 'is_subpage') {
+ $tags .= '' . "\n";
+ }
+ if(!empty($facebook)) {
+ $tags .= '' . "\n";
+ }
+ if(!empty($twitter)) {
+ $twitter = parse_url($twitter);
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ }
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ $tags .= '' . "\n";
+ if (!empty($fbApp)) {
+ $tags .= '' . "\n";
+ }
+ }
+
+ return $tags;
+}
diff --git a/system/includes/opml.php b/system/includes/opml.php
new file mode 100755
index 0000000..dd1acf2
--- /dev/null
+++ b/system/includes/opml.php
@@ -0,0 +1,44 @@
+data = $data;
+ $this->writer = new XMLWriter();
+ $this->writer->openMemory();
+ }
+
+ public function render()
+ {
+ $this->writer->startDocument('1.0', 'UTF-8');
+ $this->writer->startElement('opml');
+ $this->writer->writeAttribute('version', '2.0');
+
+ // Header
+ $this->writer->startElement('head');
+ foreach ($this->data['head'] as $key => $value) {
+ $this->writer->writeElement($key, $value);
+ }
+ $this->writer->writeElement('dateModified', date("D, d M Y H:i:s T"));
+ $this->writer->endElement();
+
+ // Body
+ $this->writer->startElement('body');
+ foreach ($this->data['body'] as $outlines) {
+ $this->writer->startElement('outline');
+ foreach ($outlines as $key => $value) {
+ $this->writer->writeAttribute($key, $value);
+ }
+ $this->writer->endElement();
+ }
+ $this->writer->endElement();
+
+ $this->writer->endElement();
+ $this->writer->endDocument();
+ return $this->writer->outputMemory();
+ }
+}
diff --git a/system/includes/session.php b/system/includes/session.php
new file mode 100755
index 0000000..826294a
--- /dev/null
+++ b/system/includes/session.php
@@ -0,0 +1,26 @@
+ $samesite]);
+}
+
+session_start();
+
+function login()
+{
+ if (session_status() == PHP_SESSION_NONE) return false;
+ if (isset($_SESSION[site_url()]['user']) && !empty($_SESSION[site_url()]['user'])) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+if (rtrim($_SERVER['REQUEST_URI'], '/') != site_path() . '/login-mfa') {
+ if (isset($_SESSION['mfa_pwd']) && isset($_SESSION['mfa_uid'])) {
+ unset($_SESSION['mfa_pwd']);
+ unset($_SESSION['mfa_uid']);
+ }
+}
diff --git a/system/resources/css/adminlte.min.css b/system/resources/css/adminlte.min.css
new file mode 100755
index 0000000..b35c34d
--- /dev/null
+++ b/system/resources/css/adminlte.min.css
@@ -0,0 +1,16 @@
+/*!
+ * AdminLTE v3.2.0
+ * Core + pages + components
+ * Author: Colorlib
+ * Website: AdminLTE.io
+ * License: Open source - MIT
+ *//*!
+ * Bootstrap v4.6.1 (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{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:none}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}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,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[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}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem;box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:7.5px;padding-left:7.5px;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}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-7.5px;margin-left:-7.5px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:7.5px;padding-left:7.5px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.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%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.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%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.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%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.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%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.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%}}.table{width:100%;margin-bottom:1rem;color:#212529;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#383f45}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#383f45}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;box-shadow:inset 0 0 0 transparent;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:inset 0 0 0 transparent}.form-control::-webkit-input-placeholder{color:#939ba2;opacity:1}.form-control::-moz-placeholder{color:#939ba2;opacity:1}.form-control:-ms-input-placeholder{color:#939ba2;opacity:1}.form-control::-ms-input-placeholder{color:#939ba2;opacity:1}.form-control::placeholder{color:#939ba2;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;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{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.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:#28a745;padding-right:2.25rem!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 0 rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 0 rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.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:2.25rem!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 0 rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 0 rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 0 rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d;box-shadow:none}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 0 rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745;box-shadow:none}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 0 rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8;box-shadow:none}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 0 rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(58,176,195,.5)}.btn-warning{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107;box-shadow:none}.btn-warning:hover{color:#1f2d3d;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#1f2d3d;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 0 rgba(221,171,15,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#1f2d3d;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(221,171,15,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 0 rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(225,83,97,.5)}.btn-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:none}.btn-light:hover{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 0 rgba(215,218,222,.5)}.btn-light.disabled,.btn-light:disabled{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#1f2d3d;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(215,218,222,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 0 rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 0 rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 0 rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#1f2d3d;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:none}.btn-link.focus,.btn-link:focus{text-decoration:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .46rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 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,.15);border-radius:.25rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.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:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{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:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.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:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.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>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(2.875rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.8125rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff;box-shadow:none}.custom-control-input:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff;box-shadow:none}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#dee2e6;border:#adb5bd solid 1px;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff;box-shadow:none}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#dee2e6;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:none}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:0;margin-left:0;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.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:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.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{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.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}.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:.5rem .5rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{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}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:.5rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.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;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.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:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row 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:1rem;padding-left:1rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.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}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row 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:1rem;padding-left:1rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.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}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row 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:1rem;padding-left:1rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.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}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row 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:1rem;padding-left:1rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.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{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.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:1rem;padding-left:1rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.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-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(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,.75)}.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,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.75)}.navbar-dark .navbar-text a{color:#fff}.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:#fff;background-clip:border-box;border:0 solid rgba(0,0,0,.125);border-radius:.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(.25rem - 0);border-top-right-radius:calc(.25rem - 0)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 0);border-bottom-left-radius:calc(.25rem - 0)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:0 solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 0) calc(.25rem - 0) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:0 solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 0) calc(.25rem - 0)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 0)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 0);border-top-right-radius:calc(.25rem - 0)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 0);border-bottom-left-radius:calc(.25rem - 0)}.card-deck .card{margin-bottom:7.5px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-7.5px;margin-left:-7.5px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:7.5px;margin-bottom:0;margin-left:7.5px}}.card-group>.card{margin-bottom:7.5px}@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}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#1f2d3d;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#1f2d3d;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#1f2d3d;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#1f2d3d;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.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:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.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:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(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:#007bff;border-color:#007bff}.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:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.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:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.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:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.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:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.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:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.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}}.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:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .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{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.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-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem 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-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #e9ecef;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.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}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";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:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";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:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.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 .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-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-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{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:.5;transition:opacity .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:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-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:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.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:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.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}}.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}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!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}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!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}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!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}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!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}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!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}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!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}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.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-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}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!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}.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}.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}@media (min-width:576px){.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-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}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!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}.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}.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}}@media (min-width:768px){.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-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}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!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}.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}.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}}@media (min-width:992px){.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-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}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!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}.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}.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}}@media (min-width:1200px){.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-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}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!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}.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}.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}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!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}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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}.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}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!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}.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}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.dark-mode :root{--lightblue:#86bad8;--navy:#002c59;--olive:#74c8a3;--lime:#67ffa9;--fuchsia:#f672d8;--maroon:#ed6c9b;--blue:#3f6791;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#e74c3c;--orange:#fd7e14;--yellow:#f39c12;--green:#00bc8c;--teal:#20c997;--cyan:#3498db;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#3f6791;--secondary:#6c757d;--success:#00bc8c;--info:#3498db;--warning:#f39c12;--danger:#e74c3c;--light:#f8f9fa;--dark:#343a40}.animation__shake{-webkit-animation:shake 1.5s;animation:shake 1.5s}.animation__wobble{-webkit-animation:wobble 1.5s;animation:wobble 1.5s}.preloader{display:-ms-flexbox;display:flex;background-color:#f4f6f9;height:100vh;width:100%;transition:height .2s linear;position:fixed;left:0;top:0;z-index:9999}.dark-mode .preloader{background-color:#454d55!important;color:#fff}html.scroll-smooth{scroll-behavior:smooth}.wrapper,body,html{min-height:100%}.wrapper{position:relative}.wrapper .content-wrapper{min-height:calc(100vh - calc(3.5rem + 1px) - calc(3.5rem + 1px))}.layout-boxed .wrapper{box-shadow:0 0 10 rgba(0,0,0,.3)}.layout-boxed .wrapper,.layout-boxed .wrapper::before{margin:0 auto;max-width:1250px;overflow:hidden}.layout-boxed .wrapper .main-sidebar{left:inherit}@supports not (-webkit-touch-callout:none){.layout-fixed .wrapper .sidebar{height:calc(100vh - (3.5rem + 1px))}.layout-fixed.text-sm .wrapper .sidebar{height:calc(100vh - (2.93725rem + 1px))}}.layout-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini.sidebar-collapse .wrapper .brand-link{height:calc(3.5rem + 1px);width:4.6rem}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse .wrapper .brand-link.text-sm,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse .wrapper .brand-link.text-sm,.layout-navbar-fixed.sidebar-mini.sidebar-collapse .wrapper .brand-link.text-sm{height:calc(2.93725rem + 1px)}.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse.text-sm .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse.text-sm .wrapper .brand-link,.layout-navbar-fixed.sidebar-mini.sidebar-collapse.text-sm .wrapper .brand-link{height:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .control-sidebar{top:0}.layout-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-navbar-fixed .wrapper .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-lightblue .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-lightblue .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-navy .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-navy .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-olive .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-olive .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-lime .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-lime .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-fuchsia .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-fuchsia .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-maroon .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-maroon .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-blue .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-blue .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-indigo .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-indigo .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-purple .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-purple .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-pink .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-pink .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-red .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-red .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-orange .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-orange .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-yellow .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-yellow .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-green .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-green .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-teal .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-teal .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-cyan .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-cyan .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-white .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-white .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-gray .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-gray .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .sidebar-dark-gray-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .wrapper .sidebar-light-gray-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .wrapper .main-header.border-bottom-0~.content-wrapper{margin-top:3.5rem}.layout-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1033}.layout-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-not-fixed .wrapper .brand-link{position:static}.layout-navbar-not-fixed .wrapper .content-wrapper,.layout-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-not-fixed .wrapper .main-header{position:static}.layout-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .control-sidebar{top:0}.layout-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-navbar-not-fixed .wrapper .brand-link{position:static}.layout-navbar-not-fixed .wrapper .content-wrapper,.layout-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-navbar-not-fixed .wrapper .main-header{position:static}.layout-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}@media (min-width:576px){.layout-sm-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-sm-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-sm-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper .control-sidebar{top:0}.layout-sm-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-sm-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-sm-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-sm-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-sm-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-sm-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-sm-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-sm-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-sm-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-sm-navbar-not-fixed .wrapper .brand-link{position:static}.layout-sm-navbar-not-fixed .wrapper .content-wrapper,.layout-sm-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-sm-navbar-not-fixed .wrapper .main-header{position:static}.layout-sm-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:768px){.layout-md-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-md-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-md-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-md-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper .control-sidebar{top:0}.layout-md-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-md-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-md-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-md-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-md-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-md-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-md-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-md-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-md-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-md-navbar-not-fixed .wrapper .brand-link{position:static}.layout-md-navbar-not-fixed .wrapper .content-wrapper,.layout-md-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-md-navbar-not-fixed .wrapper .main-header{position:static}.layout-md-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:992px){.layout-lg-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-lg-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-lg-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper .control-sidebar{top:0}.layout-lg-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-lg-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-lg-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-lg-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-lg-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-lg-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-lg-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-lg-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-lg-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-lg-navbar-not-fixed .wrapper .brand-link{position:static}.layout-lg-navbar-not-fixed .wrapper .content-wrapper,.layout-lg-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-lg-navbar-not-fixed .wrapper .main-header{position:static}.layout-lg-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}@media (min-width:1200px){.layout-xl-navbar-fixed.layout-fixed .wrapper .control-sidebar{top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .main-header.text-sm~.control-sidebar,.text-sm .layout-xl-navbar-fixed.layout-fixed .wrapper .main-header~.control-sidebar{top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .sidebar{margin-top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed.layout-fixed .wrapper .brand-link.text-sm~.sidebar,.text-sm .layout-xl-navbar-fixed.layout-fixed .wrapper .brand-link~.sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed.text-sm .wrapper .control-sidebar{top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed.layout-fixed.text-sm .wrapper .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper .control-sidebar{top:0}.layout-xl-navbar-fixed .wrapper a.anchor{display:block;position:relative;top:calc((3.5rem + 1px + (.5rem * 2))/ -1)}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(3.5rem + 1px);transition:width .3s ease-in-out;width:4.6rem}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link.text-sm,.text-sm .layout-xl-navbar-fixed .wrapper.sidebar-collapse .brand-link{height:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper.sidebar-collapse .main-sidebar:hover .brand-link{transition:width .3s ease-in-out;width:250px}.layout-xl-navbar-fixed .wrapper .brand-link{overflow:hidden;position:fixed;top:0;transition:width .3s ease-in-out;width:250px;z-index:1035}.layout-xl-navbar-fixed .wrapper .content-wrapper{margin-top:calc(3.5rem + 1px)}.layout-xl-navbar-fixed .wrapper .main-header.text-sm~.content-wrapper,.text-sm .layout-xl-navbar-fixed .wrapper .main-header~.content-wrapper{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-fixed .wrapper .main-header{left:0;position:fixed;right:0;top:0;z-index:1037}.layout-xl-navbar-fixed.text-sm .wrapper .content-wrapper{margin-top:calc(2.93725rem + 1px)}body:not(.layout-fixed).layout-xl-navbar-fixed.text-sm .wrapper .main-sidebar{margin-top:calc(calc(2.93725rem + 1px)/ -1)}body:not(.layout-fixed).layout-xl-navbar-fixed.text-sm .wrapper .main-sidebar .sidebar{margin-top:calc(2.93725rem + 1px)}.layout-xl-navbar-not-fixed .wrapper .brand-link{position:static}.layout-xl-navbar-not-fixed .wrapper .content-wrapper,.layout-xl-navbar-not-fixed .wrapper .sidebar{margin-top:0}.layout-xl-navbar-not-fixed .wrapper .main-header{position:static}.layout-xl-navbar-not-fixed.layout-fixed .wrapper .sidebar{margin-top:0}}.layout-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-footer-not-fixed .wrapper .main-footer{position:static}.layout-footer-not-fixed .wrapper .content-wrapper{margin-bottom:0}.layout-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-footer-not-fixed .wrapper .main-footer{position:static}@media (min-width:576px){.layout-sm-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-sm-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-sm-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-sm-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:768px){.layout-md-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-md-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-md-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-md-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:992px){.layout-lg-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-lg-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-lg-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-lg-footer-not-fixed .wrapper .main-footer{position:static}}@media (min-width:1200px){.layout-xl-footer-fixed .wrapper .control-sidebar{bottom:0}.layout-xl-footer-fixed .wrapper .main-footer{bottom:0;left:0;position:fixed;right:0;z-index:1032}.layout-xl-footer-fixed .wrapper .content-wrapper{padding-bottom:calc(3.5rem + 1px)}.layout-xl-footer-not-fixed .wrapper .main-footer{position:static}}.layout-top-nav .wrapper{margin-left:0}.layout-top-nav .wrapper .main-header .brand-image{margin-top:-.5rem;margin-right:.2rem;height:33px}.layout-top-nav .wrapper .main-sidebar{bottom:inherit;height:inherit}.layout-top-nav .wrapper .content-wrapper,.layout-top-nav .wrapper .main-footer,.layout-top-nav .wrapper .main-header{margin-left:0}body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .content-wrapper,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .content-wrapper::before,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-footer,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-footer::before,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-header,body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) .main-header::before{margin-left:0}@media (min-width:768px){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,.sidebar-collapse body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{margin-left:0}}@media (max-width:991.98px){body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .content-wrapper,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-footer,body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) .main-header{margin-left:0}}@media (min-width:768px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse .sidebar-mini-md .content-wrapper,.sidebar-collapse .sidebar-mini-md .main-footer,.sidebar-collapse .sidebar-mini-md .main-header{margin-left:4.6rem}}@media (max-width:991.98px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{margin-left:4.6rem}}@media (max-width:767.98px){.sidebar-mini-md .content-wrapper,.sidebar-mini-md .main-footer,.sidebar-mini-md .main-header{margin-left:0}}@media (min-width:768px){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{transition:margin-left .3s ease-in-out;margin-left:250px}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{transition:none}}@media (min-width:768px){.sidebar-collapse .sidebar-mini-xs .content-wrapper,.sidebar-collapse .sidebar-mini-xs .main-footer,.sidebar-collapse .sidebar-mini-xs .main-header{margin-left:4.6rem}}@media (max-width:991.98px){.sidebar-mini-xs .content-wrapper,.sidebar-mini-xs .main-footer,.sidebar-mini-xs .main-header{margin-left:4.6rem}}.content-wrapper{background-color:#f4f6f9}.content-wrapper>.content{padding:0 .5rem}.main-sidebar,.main-sidebar::before{transition:margin-left .3s ease-in-out,width .3s ease-in-out;width:250px}@media (prefers-reduced-motion:reduce){.main-sidebar,.main-sidebar::before{transition:none}}.sidebar-collapse:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-sidebar,.sidebar-collapse:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-sidebar::before{box-shadow:none!important}.sidebar-collapse .main-sidebar,.sidebar-collapse .main-sidebar::before{margin-left:-250px}.sidebar-collapse .main-sidebar .nav-sidebar.nav-child-indent .nav-treeview{padding:0}@media (max-width:767.98px){.main-sidebar,.main-sidebar::before{box-shadow:none!important;margin-left:-250px}.sidebar-open .main-sidebar,.sidebar-open .main-sidebar::before{margin-left:0}}body:not(.layout-fixed) .main-sidebar{height:inherit;min-height:100%;position:absolute;top:0}body:not(.layout-fixed) .main-sidebar .sidebar{overflow-y:auto}.layout-fixed .brand-link{width:250px}.layout-fixed .main-sidebar{bottom:0;float:none;left:0;position:fixed;top:0}.layout-fixed .control-sidebar{bottom:0;float:none;position:fixed;top:0}.layout-fixed .control-sidebar .control-sidebar-content{height:calc(100vh - calc(3.5rem + 1px));overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a9a9a9 transparent}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar{width:.5rem;height:.5rem}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-thumb{background-color:#a9a9a9}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-track{background-color:transparent}.layout-fixed .control-sidebar .control-sidebar-content::-webkit-scrollbar-corner{background-color:transparent}@supports (-webkit-touch-callout:none){.layout-fixed .main-sidebar{height:inherit}}.main-footer{background-color:#fff;border-top:1px solid #dee2e6;color:#869099;padding:1rem}.main-footer.text-sm,.text-sm .main-footer{padding:.812rem}.content-header{padding:15px .5rem}.text-sm .content-header{padding:10px .5rem}.content-header h1{font-size:1.8rem;margin:0}.text-sm .content-header h1{font-size:1.5rem}.content-header .breadcrumb{background-color:transparent;line-height:1.8rem;margin-bottom:0;padding:0}.text-sm .content-header .breadcrumb{line-height:1.5rem}.hold-transition .content-wrapper,.hold-transition .control-sidebar,.hold-transition .control-sidebar *,.hold-transition .main-footer,.hold-transition .main-header,.hold-transition .main-sidebar,.hold-transition .main-sidebar *{transition:none!important;-webkit-animation-duration:0s!important;animation-duration:0s!important}.dark-mode{background-color:#454d55!important;color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}@media (min-width:576px){.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:768px){.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-md-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:992px){.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}@media (min-width:1200px){.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-primary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-secondary .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-success .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-info .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-warning .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-danger .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-light .brand-link:not([class*=navbar]){background-color:#fff}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*=navbar]){background-color:#343a40}.layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-light-dark .brand-link:not([class*=navbar]){background-color:#fff}}.dark-mode .breadcrumb-item+.breadcrumb-item::before,.dark-mode .breadcrumb-item.active{color:#adb5bd}.dark-mode .main-footer{background-color:#343a40;border-color:#4b545c}.dark-mode .content-wrapper{background-color:#454d55;color:#fff}.dark-mode .content-wrapper .content-header{color:#fff}.main-header{border-bottom:1px solid #dee2e6;z-index:1034}.main-header .nav-link{height:2.5rem;position:relative}.main-header.text-sm .nav-link,.text-sm .main-header .nav-link{height:1.93725rem;padding:.35rem 1rem}.main-header.text-sm .nav-link>.fa,.main-header.text-sm .nav-link>.fab,.main-header.text-sm .nav-link>.fad,.main-header.text-sm .nav-link>.fal,.main-header.text-sm .nav-link>.far,.main-header.text-sm .nav-link>.fas,.main-header.text-sm .nav-link>.ion,.main-header.text-sm .nav-link>.svg-inline--fa,.text-sm .main-header .nav-link>.fa,.text-sm .main-header .nav-link>.fab,.text-sm .main-header .nav-link>.fad,.text-sm .main-header .nav-link>.fal,.text-sm .main-header .nav-link>.far,.text-sm .main-header .nav-link>.fas,.text-sm .main-header .nav-link>.ion,.text-sm .main-header .nav-link>.svg-inline--fa{font-size:.875rem}.main-header .navbar-nav .nav-item{margin:0}.main-header .navbar-nav[class*="-right"] .dropdown-menu{left:auto;margin-top:-3px;right:0}@media (max-width:575.98px){.main-header .navbar-nav[class*="-right"] .dropdown-menu{left:0;right:auto}}.main-header.dropdown-legacy .dropdown-menu{top:3rem;margin-top:0}.navbar-img{height:calc(calc(3.5rem + 1px) * .5);width:auto}.navbar-badge{font-size:.6rem;font-weight:300;padding:2px 4px;position:absolute;right:5px;top:9px}.btn-navbar{background-color:transparent;border-left-width:0}.form-control-navbar{border-right-width:0}.form-control-navbar+.input-group-append{margin-left:0}.btn-navbar,.form-control-navbar{transition:none}.navbar-dark .btn-navbar,.navbar-dark .form-control-navbar{background-color:#343a40;border-color:#6c757d}.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{color:rgba(255,255,255,.6)}.navbar-dark .form-control-navbar:focus,.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#495057;border-color:#6c757d!important;color:#ced4da}.navbar-light .btn-navbar,.navbar-light .form-control-navbar{background-color:#dadfe4;border-color:#ced4da}.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar::placeholder{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{color:rgba(0,0,0,.6)}.navbar-light .form-control-navbar:focus,.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d3d9df;border-color:#c7ced5!important;color:#ced4da}.navbar-light .navbar-search-block .form-control-navbar:focus,.navbar-light .navbar-search-block .form-control-navbar:focus+.input-group-append .btn-navbar{color:rgba(0,0,0,.6)}.navbar-search-block{position:absolute;padding:0 1rem;left:0;top:0;right:0;bottom:0;z-index:10;display:none;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;background-color:initial}.navbar-search-block.navbar-search-open{display:-ms-flexbox;display:flex}.navbar-search-block .input-group{width:100%}.brand-link{display:block;font-size:1.25rem;line-height:1.5;padding:.8125rem .5rem;transition:width .3s ease-in-out;white-space:nowrap}.brand-link:hover{color:#fff;text-decoration:none}.text-sm .brand-link{font-size:inherit}[class*=sidebar-dark] .brand-link{border-bottom:1px solid #4b545c}[class*=sidebar-dark] .brand-link,[class*=sidebar-dark] .brand-link .pushmenu{color:rgba(255,255,255,.8)}[class*=sidebar-dark] .brand-link .pushmenu:hover,[class*=sidebar-dark] .brand-link:hover{color:#fff}[class*=sidebar-light] .brand-link{border-bottom:1px solid #dee2e6}[class*=sidebar-light] .brand-link,[class*=sidebar-light] .brand-link .pushmenu{color:rgba(0,0,0,.8)}[class*=sidebar-light] .brand-link .pushmenu:hover,[class*=sidebar-light] .brand-link:hover{color:#000}.brand-link .pushmenu{margin-right:.5rem;font-size:1rem}.brand-link .brand-link{padding:0;border-bottom:none}.brand-link .brand-image{float:left;line-height:.8;margin-left:.8rem;margin-right:.5rem;margin-top:-3px;max-height:33px;width:auto}.brand-link .brand-image-xs{float:left;line-height:.8;margin-top:-.1rem;max-height:33px;width:auto}.brand-link .brand-image-xl{line-height:.8;max-height:40px;width:auto}.brand-link .brand-image-xl.single{margin-top:-.3rem}.brand-link.text-sm .brand-image,.text-sm .brand-link .brand-image{height:29px;margin-bottom:-.25rem;margin-left:.95rem;margin-top:-.25rem}.brand-link.text-sm .brand-image-xs,.text-sm .brand-link .brand-image-xs{margin-top:-.2rem;max-height:29px}.brand-link.text-sm .brand-image-xl,.text-sm .brand-link .brand-image-xl{margin-top:-.225rem;max-height:38px}.main-sidebar{height:100vh;overflow-y:hidden;z-index:1038}.main-sidebar a:-moz-focusring{border:0;outline:0}.sidebar{height:calc(100% - (3.5rem + 1px));overflow-x:hidden;overflow-y:initial;padding-bottom:0;padding-left:.5rem;padding-right:.5rem;padding-top:0;scrollbar-color:#a9a9a9 transparent;scrollbar-width:none}.sidebar::-webkit-scrollbar-thumb{background-color:#a9a9a9}.sidebar::-webkit-scrollbar-track{background-color:transparent}.sidebar::-webkit-scrollbar-corner{background-color:transparent}.sidebar::-webkit-scrollbar{width:0}.sidebar:hover{scrollbar-width:thin}.sidebar:hover::-webkit-scrollbar{width:.5rem;height:.5rem}.brand-link.border-bottom-0~.sidebar{height:calc(100% - 3.5rem)}.user-panel{position:relative}[class*=sidebar-dark] .user-panel{border-bottom:1px solid #4f5962}[class*=sidebar-light] .user-panel{border-bottom:1px solid #dee2e6}.user-panel,.user-panel .info{overflow:hidden;white-space:nowrap}.user-panel .image{display:inline-block;padding-left:.8rem}.user-panel img{height:auto;width:2.1rem}.user-panel .info{display:inline-block;padding:5px 5px 5px 10px}.user-panel .dropdown-menu,.user-panel .status{font-size:.875rem}.nav-sidebar .nav-item>.nav-link{margin-bottom:.2rem}.nav-sidebar .nav-item>.nav-link .right{transition:-webkit-transform ease-in-out .3s;transition:transform ease-in-out .3s;transition:transform ease-in-out .3s,-webkit-transform ease-in-out .3s}@media (prefers-reduced-motion:reduce){.nav-sidebar .nav-item>.nav-link .right{transition:none}}.nav-sidebar .nav-link>.right,.nav-sidebar .nav-link>p>.right{position:absolute;right:1rem;top:.7rem}.nav-sidebar .nav-link>.right i,.nav-sidebar .nav-link>.right span,.nav-sidebar .nav-link>p>.right i,.nav-sidebar .nav-link>p>.right span{margin-left:.5rem}.nav-sidebar .nav-link>.right:nth-child(2),.nav-sidebar .nav-link>p>.right:nth-child(2){right:2.2rem}.nav-sidebar .menu-open>.nav-treeview{display:block}.nav-sidebar .menu-is-opening>.nav-link i.right,.nav-sidebar .menu-is-opening>.nav-link svg.right,.nav-sidebar .menu-open>.nav-link i.right,.nav-sidebar .menu-open>.nav-link svg.right{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.nav-sidebar>.nav-item{margin-bottom:0}.nav-sidebar>.nav-item .nav-icon{margin-left:.05rem;font-size:1.2rem;margin-right:.2rem;text-align:center;width:1.6rem}.nav-sidebar>.nav-item .nav-icon.fa,.nav-sidebar>.nav-item .nav-icon.fab,.nav-sidebar>.nav-item .nav-icon.fad,.nav-sidebar>.nav-item .nav-icon.fal,.nav-sidebar>.nav-item .nav-icon.far,.nav-sidebar>.nav-item .nav-icon.fas,.nav-sidebar>.nav-item .nav-icon.ion,.nav-sidebar>.nav-item .nav-icon.svg-inline--fa{font-size:1.1rem}.nav-sidebar>.nav-item .float-right{margin-top:3px}.nav-sidebar .nav-treeview{display:none;list-style:none;padding:0}.nav-sidebar .nav-treeview>.nav-item>.nav-link>.nav-icon{width:1.6rem}.nav-sidebar.nav-child-indent .nav-treeview{transition:padding .3s ease-in-out;padding-left:1rem}.text-sm .nav-sidebar.nav-child-indent .nav-treeview{padding-left:.5rem}.nav-sidebar.nav-child-indent.nav-legacy .nav-treeview .nav-treeview{padding-left:2rem;margin-left:-1rem}.text-sm .nav-sidebar.nav-child-indent.nav-legacy .nav-treeview .nav-treeview{padding-left:1rem;margin-left:-.5rem}.nav-sidebar .nav-header{font-size:.9rem;padding:.5rem .75rem}.nav-sidebar .nav-link p{display:inline;margin:0;white-space:normal}.sidebar-is-opening .sidebar .nav-sidebar .nav-link p{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}#sidebar-overlay{background-color:rgba(0,0,0,.1);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1037}@media (max-width:991.98px){.sidebar-open #sidebar-overlay{display:block}}[class*=sidebar-light-]{background-color:#fff}[class*=sidebar-light-] .user-panel a:hover{color:#212529}[class*=sidebar-light-] .user-panel .status{background-color:rgba(0,0,0,.1);color:#343a40}[class*=sidebar-light-] .user-panel .status:active,[class*=sidebar-light-] .user-panel .status:focus,[class*=sidebar-light-] .user-panel .status:hover{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .user-panel .dropdown-menu{box-shadow:0 2px 4px rgba(0,0,0,.4);border-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .user-panel .dropdown-item{color:#212529}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link:active,[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link:focus{color:#343a40}[class*=sidebar-light-] .nav-sidebar>.nav-item.menu-open>.nav-link,[class*=sidebar-light-] .nav-sidebar>.nav-item:hover>.nav-link{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-link.active{color:#000;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}[class*=sidebar-light-] .nav-sidebar>.nav-item>.nav-treeview{background-color:transparent}[class*=sidebar-light-] .nav-header{background-color:inherit;color:#292d32}[class*=sidebar-light-] .sidebar a{color:#343a40}[class*=sidebar-light-] .sidebar a:hover{text-decoration:none}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link{color:#777}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(0,0,0,.1);color:#000}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link.active:hover{background-color:rgba(0,0,0,.1);color:#212529}[class*=sidebar-light-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview .nav-treeview{border-color:rgba(0,0,0,.1)}[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link,[class*=sidebar-light-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link.active{border-color:rgba(0,0,0,.1)}[class*=sidebar-dark-]{background-color:#343a40}[class*=sidebar-dark-] .user-panel a:hover{color:#fff}[class*=sidebar-dark-] .user-panel .status{background-color:rgba(255,255,255,.1);color:#c2c7d0}[class*=sidebar-dark-] .user-panel .status:active,[class*=sidebar-dark-] .user-panel .status:focus,[class*=sidebar-dark-] .user-panel .status:hover{background-color:rgba(247,247,247,.1);color:#fff}[class*=sidebar-dark-] .user-panel .dropdown-menu{box-shadow:0 2px 4px rgba(0,0,0,.4);border-color:rgba(242,242,242,.1)}[class*=sidebar-dark-] .user-panel .dropdown-item{color:#212529}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:active{color:#c2c7d0}[class*=sidebar-dark-] .nav-sidebar>.nav-item.menu-open>.nav-link,[class*=sidebar-dark-] .nav-sidebar>.nav-item:hover>.nav-link,[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link:focus{background-color:rgba(255,255,255,.1);color:#fff}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link.active{color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-treeview{background-color:transparent}[class*=sidebar-dark-] .nav-header{background-color:inherit;color:#d0d4db}[class*=sidebar-dark-] .sidebar a{color:#c2c7d0}[class*=sidebar-dark-] .sidebar a:focus,[class*=sidebar-dark-] .sidebar a:hover{text-decoration:none}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link{color:#c2c7d0}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link:hover{background-color:rgba(255,255,255,.1);color:#fff}[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:focus,[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link.active:hover{background-color:rgba(255,255,255,.9);color:#343a40}[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview .nav-treeview{border-color:rgba(255,255,255,.9)}[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link,[class*=sidebar-dark-] .nav-flat .nav-item .nav-treeview>.nav-item>.nav-link.active{border-color:rgba(255,255,255,.9)}.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:#007bff;color:#fff}.sidebar-dark-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#007bff}.sidebar-dark-secondary .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-secondary .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.sidebar-dark-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-success .nav-sidebar>.nav-item>.nav-link.active{background-color:#28a745;color:#fff}.sidebar-dark-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#28a745}.sidebar-dark-info .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-info .nav-sidebar>.nav-item>.nav-link.active{background-color:#17a2b8;color:#fff}.sidebar-dark-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#17a2b8}.sidebar-dark-warning .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-warning .nav-sidebar>.nav-item>.nav-link.active{background-color:#ffc107;color:#1f2d3d}.sidebar-dark-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ffc107}.sidebar-dark-danger .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-danger .nav-sidebar>.nav-item>.nav-link.active{background-color:#dc3545;color:#fff}.sidebar-dark-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#dc3545}.sidebar-dark-light .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-light .nav-sidebar>.nav-item>.nav-link.active{background-color:#f8f9fa;color:#1f2d3d}.sidebar-dark-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f8f9fa}.sidebar-dark-dark .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.sidebar-dark-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.sidebar-dark-lightblue .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-lightblue .nav-sidebar>.nav-item>.nav-link.active{background-color:#3c8dbc;color:#fff}.sidebar-dark-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3c8dbc}.sidebar-dark-navy .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-navy .nav-sidebar>.nav-item>.nav-link.active{background-color:#001f3f;color:#fff}.sidebar-dark-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#001f3f}.sidebar-dark-olive .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-olive .nav-sidebar>.nav-item>.nav-link.active{background-color:#3d9970;color:#fff}.sidebar-dark-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3d9970}.sidebar-dark-lime .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-lime .nav-sidebar>.nav-item>.nav-link.active{background-color:#01ff70;color:#1f2d3d}.sidebar-dark-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#01ff70}.sidebar-dark-fuchsia .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-fuchsia .nav-sidebar>.nav-item>.nav-link.active{background-color:#f012be;color:#fff}.sidebar-dark-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f012be}.sidebar-dark-maroon .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-maroon .nav-sidebar>.nav-item>.nav-link.active{background-color:#d81b60;color:#fff}.sidebar-dark-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#d81b60}.sidebar-dark-blue .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-blue .nav-sidebar>.nav-item>.nav-link.active{background-color:#007bff;color:#fff}.sidebar-dark-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#007bff}.sidebar-dark-indigo .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-indigo .nav-sidebar>.nav-item>.nav-link.active{background-color:#6610f2;color:#fff}.sidebar-dark-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6610f2}.sidebar-dark-purple .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-purple .nav-sidebar>.nav-item>.nav-link.active{background-color:#6f42c1;color:#fff}.sidebar-dark-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6f42c1}.sidebar-dark-pink .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-pink .nav-sidebar>.nav-item>.nav-link.active{background-color:#e83e8c;color:#fff}.sidebar-dark-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e83e8c}.sidebar-dark-red .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-red .nav-sidebar>.nav-item>.nav-link.active{background-color:#dc3545;color:#fff}.sidebar-dark-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#dc3545}.sidebar-dark-orange .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-orange .nav-sidebar>.nav-item>.nav-link.active{background-color:#fd7e14;color:#1f2d3d}.sidebar-dark-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fd7e14}.sidebar-dark-yellow .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-yellow .nav-sidebar>.nav-item>.nav-link.active{background-color:#ffc107;color:#1f2d3d}.sidebar-dark-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ffc107}.sidebar-dark-green .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-green .nav-sidebar>.nav-item>.nav-link.active{background-color:#28a745;color:#fff}.sidebar-dark-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#28a745}.sidebar-dark-teal .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-teal .nav-sidebar>.nav-item>.nav-link.active{background-color:#20c997;color:#fff}.sidebar-dark-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#20c997}.sidebar-dark-cyan .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-cyan .nav-sidebar>.nav-item>.nav-link.active{background-color:#17a2b8;color:#fff}.sidebar-dark-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#17a2b8}.sidebar-dark-white .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-white .nav-sidebar>.nav-item>.nav-link.active{background-color:#fff;color:#1f2d3d}.sidebar-dark-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fff}.sidebar-dark-gray .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-gray .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.sidebar-dark-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.sidebar-dark-gray-dark .nav-sidebar>.nav-item>.nav-link.active,.sidebar-light-gray-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.sidebar-dark-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.sidebar-light-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.sidebar-mini .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand) .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview{padding-left:1rem;margin-left:-.5rem}.nav-flat{margin:-.25rem -.5rem 0}.nav-flat .nav-item>.nav-link{border-radius:0;margin-bottom:0}.nav-flat .nav-item>.nav-link>.nav-icon{margin-left:.55rem}.nav-flat:not(.nav-child-indent) .nav-treeview .nav-item>.nav-link>.nav-icon{margin-left:.4rem}.nav-flat.nav-child-indent .nav-treeview{padding-left:0}.nav-flat.nav-child-indent .nav-treeview .nav-icon{margin-left:.85rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview{border-left:.2rem solid}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-icon{margin-left:1.15rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.45rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.75rem}.nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:2.05rem}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-icon{margin-left:.55rem}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-link{padding-left:calc(1rem - .2rem)}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-treeview .nav-icon{margin-left:.35rem}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:.15rem}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:-.15rem}.sidebar-collapse .nav-flat.nav-child-indent .sidebar .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:-.35rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-compact.nav-sidebar .nav-treeview .nav-icon{margin-left:.4rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-icon{margin-left:.85rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-icon{margin-left:1.15rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.45rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:1.75rem}.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon,.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover .nav-flat.nav-sidebar.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-icon{margin-left:2.05rem}.nav-flat .nav-icon{transition:margin-left ease-in-out .3s}@media (prefers-reduced-motion:reduce){.nav-flat .nav-icon{transition:none}}.nav-flat .nav-treeview .nav-icon{margin-left:-.2rem}.nav-flat.nav-sidebar>.nav-item .nav-treeview,.nav-flat.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(255,255,255,.05)}.nav-flat.nav-sidebar>.nav-item .nav-treeview .nav-item>.nav-link,.nav-flat.nav-sidebar>.nav-item>.nav-treeview .nav-item>.nav-link{border-left:.2rem solid}.nav-legacy{margin:-.25rem -.5rem 0}.nav-legacy.nav-sidebar .nav-item>.nav-link{border-radius:0;margin-bottom:0}.nav-legacy.nav-sidebar .nav-item>.nav-link>.nav-icon{margin-left:.55rem}.text-sm .nav-legacy.nav-sidebar .nav-item>.nav-link>.nav-icon{margin-left:.75rem}.nav-legacy.nav-sidebar>.nav-item>.nav-link.active{background-color:inherit;border-left:3px solid transparent;box-shadow:none}.nav-legacy.nav-sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.55rem - 3px)}.text-sm .nav-legacy.nav-sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.75rem - 3px)}.text-sm .nav-legacy.nav-sidebar.nav-flat .nav-treeview .nav-item>.nav-link>.nav-icon{margin-left:calc(.75rem - 3px)}.sidebar-mini .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-md .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-xs .nav-legacy>.nav-item .nav-link .nav-icon{transition:margin-left ease-in-out .3s;margin-left:.6rem}@media (prefers-reduced-motion:reduce){.sidebar-mini .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-md .nav-legacy>.nav-item .nav-link .nav-icon,.sidebar-mini-xs .nav-legacy>.nav-item .nav-link .nav-icon{transition:none}}.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-md.sidebar-collapse.nav-child-indent .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-xs.sidebar-collapse.nav-child-indent .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini.sidebar-collapse.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-md.sidebar-collapse.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-xs.sidebar-collapse.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini.sidebar-collapse.nav-child-indent .nav-treeview{padding-left:1rem}.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-md.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-xs.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-md.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-xs.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini.sidebar-collapse.nav-child-indent .nav-treeview .nav-treeview{padding-left:2rem;margin-left:-1rem}.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-md.sidebar-collapse.text-sm.nav-child-indent .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-xs.sidebar-collapse.text-sm.nav-child-indent .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini.sidebar-collapse.text-sm.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-md.sidebar-collapse.text-sm.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-xs.sidebar-collapse.text-sm.nav-child-indent .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini.sidebar-collapse.text-sm.nav-child-indent .nav-treeview{padding-left:.5rem}.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-md.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini-xs.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar.sidebar-focused .nav-legacy .sidebar-mini.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-md.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini-xs.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview,.main-sidebar:hover .nav-legacy .sidebar-mini.sidebar-collapse.text-sm.nav-child-indent .nav-treeview .nav-treeview{padding-left:1rem;margin-left:-.5rem}.sidebar-mini-md.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon,.sidebar-mini-xs.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon,.sidebar-mini.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon{margin-left:.55rem}.sidebar-mini-md.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini-xs.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini.sidebar-collapse .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:.36rem}.sidebar-mini-md.sidebar-collapse .nav-legacy .sidebar.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini-xs.sidebar-collapse .nav-legacy .sidebar.nav-child-indent .nav-treeview .nav-treeview,.sidebar-mini.sidebar-collapse .nav-legacy .sidebar.nav-child-indent .nav-treeview .nav-treeview{padding-left:0;margin-left:0}.sidebar-mini-md.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon,.sidebar-mini-xs.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon,.sidebar-mini.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link .nav-icon{margin-left:.75rem}.sidebar-mini-md.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini-xs.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon,.sidebar-mini.sidebar-collapse.text-sm .nav-legacy .sidebar>.nav-item>.nav-link.active>.nav-icon{margin-left:calc(.75rem - 3px)}[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item .nav-treeview,[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(255,255,255,.05)}[class*=sidebar-dark] .nav-legacy.nav-sidebar>.nav-item>.nav-link.active{color:#fff}[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-dark] .nav-legacy .nav-treeview>.nav-item>.nav-link:hover{background-color:transparent;color:#fff}[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item .nav-treeview,[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item>.nav-treeview{background-color:rgba(0,0,0,.05)}[class*=sidebar-light] .nav-legacy.nav-sidebar>.nav-item>.nav-link.active{color:#000}[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link.active,[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link:focus,[class*=sidebar-light] .nav-legacy .nav-treeview>.nav-item>.nav-link:hover{background-color:transparent;color:#000}.nav-collapse-hide-child .menu-open>.nav-treeview{max-height:-webkit-min-content;max-height:-moz-min-content;max-height:min-content;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sidebar-collapse .sidebar:not(:hover) .nav-collapse-hide-child .menu-open>.nav-treeview{max-height:0;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.main-sidebar.sidebar-focused .nav-collapse-hide-child .sidebar-mini-md.sidebar-collapse .menu-open>.nav-treeview,.main-sidebar.sidebar-focused .nav-collapse-hide-child .sidebar-mini-xs.sidebar-collapse .menu-open>.nav-treeview,.main-sidebar.sidebar-focused .nav-collapse-hide-child .sidebar-mini.sidebar-collapse .menu-open>.nav-treeview,.main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .sidebar-mini-md.sidebar-collapse .menu-open>.nav-treeview,.main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .sidebar-mini-xs.sidebar-collapse .menu-open>.nav-treeview,.main-sidebar:not(.sidebar-no-expand):hover .nav-collapse-hide-child .sidebar-mini.sidebar-collapse .menu-open>.nav-treeview{max-height:-webkit-min-content;max-height:-moz-min-content;max-height:min-content;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.nav-compact .nav-header,.nav-compact .nav-link{padding-top:.25rem;padding-bottom:.25rem}.nav-compact .nav-header:not(:first-of-type){padding-top:.75rem;padding-bottom:.25rem}.nav-compact .nav-link>.right,.nav-compact .nav-link>p>.right{top:.465rem}.text-sm .nav-compact .nav-link>.right,.text-sm .nav-compact .nav-link>p>.right{top:.7rem}[class*=sidebar-dark] .btn-sidebar,[class*=sidebar-dark] .form-control-sidebar{background-color:#3f474e;border:1px solid #56606a;color:#fff}[class*=sidebar-dark] .btn-sidebar:focus,[class*=sidebar-dark] .form-control-sidebar:focus{border:1px solid #7a8793}[class*=sidebar-dark] .btn-sidebar:hover{background-color:#454d55}[class*=sidebar-dark] .btn-sidebar:focus{background-color:#4b545c}[class*=sidebar-dark] .list-group-item{background-color:#454d55;border-color:#56606a;color:#c2c7d0}[class*=sidebar-dark] .list-group-item:hover{background-color:#4b545c}[class*=sidebar-dark] .list-group-item:focus{background-color:#515a63}[class*=sidebar-dark] .list-group-item .search-path{color:#adb5bd}[class*=sidebar-light] .btn-sidebar,[class*=sidebar-light] .form-control-sidebar{background-color:#f2f2f2;border:1px solid #d9d9d9;color:#1f2d3d}[class*=sidebar-light] .btn-sidebar:focus,[class*=sidebar-light] .form-control-sidebar:focus{border:1px solid #b3b3b3}[class*=sidebar-light] .btn-sidebar:hover{background-color:#ececec}[class*=sidebar-light] .btn-sidebar:focus{background-color:#e6e6e6}[class*=sidebar-light] .list-group-item{border-color:#d9d9d9}[class*=sidebar-light] .list-group-item:hover{background-color:#ececec}[class*=sidebar-light] .list-group-item:focus{background-color:#e6e6e6}[class*=sidebar-light] .list-group-item .search-path{color:#6c757d}.sidebar .form-inline .input-group{width:100%;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.sidebar nav .form-inline{margin-bottom:.2rem}.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs).sidebar-collapse .main-sidebar{margin-left:0}.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .content-wrapper,.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-footer,.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .main-header{z-index:9999;position:relative}.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) .control-sidebar{z-index:9999}.sidebar-collapse .form-control-sidebar,.sidebar-collapse .form-control-sidebar~.input-group-append,.sidebar-collapse .sidebar-search-results{display:none}[data-widget=sidebar-search] input[type=search]::-ms-clear,[data-widget=sidebar-search] input[type=search]::-ms-reveal{display:none;width:0;height:0}[data-widget=sidebar-search] input[type=search]::-webkit-search-cancel-button,[data-widget=sidebar-search] input[type=search]::-webkit-search-decoration,[data-widget=sidebar-search] input[type=search]::-webkit-search-results-button,[data-widget=sidebar-search] input[type=search]::-webkit-search-results-decoration{display:none}.sidebar-search-results{position:relative;display:none;width:100%}.sidebar-search-open .sidebar-search-results{display:inline-block}.sidebar-search-results .search-title{margin-bottom:-.1rem}.sidebar-search-results .list-group{position:absolute;width:100%;z-index:1039}.sidebar-search-results .list-group>.list-group-item{padding:.375rem .75rem}.sidebar-search-results .list-group>.list-group-item:-moz-focusring{margin-top:0;border-left:1px solid transparent;border-top:0;border-bottom:1px solid transparent}.sidebar-search-results .list-group>.list-group-item:first-child{margin-top:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.sidebar-search-results .search-path{font-size:80%}.sidebar-search-open .btn,.sidebar-search-open .form-control{border-bottom-right-radius:0;border-bottom-left-radius:0}[class*=sidebar-dark] .sidebar-custom{border-top:1px solid #4f5962}[class*=sidebar-light] .sidebar-custom{border-top:1px solid #dee2e6}.layout-fixed.sidebar-collapse .hide-on-collapse{display:none}.layout-fixed.sidebar-collapse:hover .hide-on-collapse{display:block}.layout-fixed.text-sm .main-sidebar-custom .sidebar{height:calc(100% - ((2.93725rem + 3.8rem) + 1px))}.layout-fixed.text-sm .main-sidebar-custom .sidebar-custom{height:3.8rem;padding:.85rem .5rem}.layout-fixed .main-sidebar-custom{height:-webkit-fill-available;height:-moz-available;height:-ms-stretch;height:stretch}.layout-fixed .main-sidebar-custom .sidebar{height:calc(100% - ((3.5rem + 4rem) + 1px))}.layout-fixed .main-sidebar-custom .sidebar-custom{height:4rem;padding:.85rem .5rem}.layout-fixed .main-sidebar-custom-lg .sidebar{height:calc(100% - ((3.5rem + 6rem) + 1px))}.layout-fixed .main-sidebar-custom-lg .sidebar-custom{height:6rem}.layout-fixed .main-sidebar-custom-xl .sidebar{height:calc(100% - ((3.5rem + 8rem) + 1px))}.layout-fixed .main-sidebar-custom-xl .sidebar-custom{height:8rem}.layout-fixed .main-sidebar-custom .pos-right,.layout-fixed .main-sidebar-custom-lg .pos-right,.layout-fixed .main-sidebar-custom-xl .pos-right{position:absolute;right:.5rem}.sidebar-hidden .main-sidebar,.sidebar-hidden.sidebar-mini.sidebar-collapse .main-sidebar{display:none!important}.sidebar-hidden .content-wrapper,.sidebar-hidden .main-header,.sidebar-hidden.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-hidden.sidebar-mini.sidebar-collapse .main-header{margin-left:0!important}.dark-mode .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active{background-color:#3f6791;color:#fff}.dark-mode .sidebar-dark-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-primary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3f6791}.dark-mode .sidebar-dark-secondary .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-secondary .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.dark-mode .sidebar-dark-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-secondary .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.dark-mode .sidebar-dark-success .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-success .nav-sidebar>.nav-item>.nav-link.active{background-color:#00bc8c;color:#fff}.dark-mode .sidebar-dark-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-success .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#00bc8c}.dark-mode .sidebar-dark-info .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-info .nav-sidebar>.nav-item>.nav-link.active{background-color:#3498db;color:#fff}.dark-mode .sidebar-dark-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-info .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3498db}.dark-mode .sidebar-dark-warning .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-warning .nav-sidebar>.nav-item>.nav-link.active{background-color:#f39c12;color:#1f2d3d}.dark-mode .sidebar-dark-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-warning .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f39c12}.dark-mode .sidebar-dark-danger .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-danger .nav-sidebar>.nav-item>.nav-link.active{background-color:#e74c3c;color:#fff}.dark-mode .sidebar-dark-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-danger .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e74c3c}.dark-mode .sidebar-dark-light .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-light .nav-sidebar>.nav-item>.nav-link.active{background-color:#f8f9fa;color:#1f2d3d}.dark-mode .sidebar-dark-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-light .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f8f9fa}.dark-mode .sidebar-dark-dark .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.dark-mode .sidebar-dark-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.dark-mode .sidebar-dark-lightblue .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lightblue .nav-sidebar>.nav-item>.nav-link.active{background-color:#86bad8;color:#1f2d3d}.dark-mode .sidebar-dark-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lightblue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#86bad8}.dark-mode .sidebar-dark-navy .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-navy .nav-sidebar>.nav-item>.nav-link.active{background-color:#002c59;color:#fff}.dark-mode .sidebar-dark-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-navy .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#002c59}.dark-mode .sidebar-dark-olive .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-olive .nav-sidebar>.nav-item>.nav-link.active{background-color:#74c8a3;color:#1f2d3d}.dark-mode .sidebar-dark-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-olive .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#74c8a3}.dark-mode .sidebar-dark-lime .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lime .nav-sidebar>.nav-item>.nav-link.active{background-color:#67ffa9;color:#1f2d3d}.dark-mode .sidebar-dark-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-lime .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#67ffa9}.dark-mode .sidebar-dark-fuchsia .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-fuchsia .nav-sidebar>.nav-item>.nav-link.active{background-color:#f672d8;color:#1f2d3d}.dark-mode .sidebar-dark-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-fuchsia .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f672d8}.dark-mode .sidebar-dark-maroon .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-maroon .nav-sidebar>.nav-item>.nav-link.active{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .sidebar-dark-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-maroon .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#ed6c9b}.dark-mode .sidebar-dark-blue .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-blue .nav-sidebar>.nav-item>.nav-link.active{background-color:#3f6791;color:#fff}.dark-mode .sidebar-dark-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-blue .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3f6791}.dark-mode .sidebar-dark-indigo .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-indigo .nav-sidebar>.nav-item>.nav-link.active{background-color:#6610f2;color:#fff}.dark-mode .sidebar-dark-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-indigo .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6610f2}.dark-mode .sidebar-dark-purple .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-purple .nav-sidebar>.nav-item>.nav-link.active{background-color:#6f42c1;color:#fff}.dark-mode .sidebar-dark-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-purple .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6f42c1}.dark-mode .sidebar-dark-pink .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-pink .nav-sidebar>.nav-item>.nav-link.active{background-color:#e83e8c;color:#fff}.dark-mode .sidebar-dark-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-pink .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e83e8c}.dark-mode .sidebar-dark-red .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-red .nav-sidebar>.nav-item>.nav-link.active{background-color:#e74c3c;color:#fff}.dark-mode .sidebar-dark-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-red .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#e74c3c}.dark-mode .sidebar-dark-orange .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-orange .nav-sidebar>.nav-item>.nav-link.active{background-color:#fd7e14;color:#1f2d3d}.dark-mode .sidebar-dark-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-orange .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fd7e14}.dark-mode .sidebar-dark-yellow .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-yellow .nav-sidebar>.nav-item>.nav-link.active{background-color:#f39c12;color:#1f2d3d}.dark-mode .sidebar-dark-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-yellow .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#f39c12}.dark-mode .sidebar-dark-green .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-green .nav-sidebar>.nav-item>.nav-link.active{background-color:#00bc8c;color:#fff}.dark-mode .sidebar-dark-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-green .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#00bc8c}.dark-mode .sidebar-dark-teal .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-teal .nav-sidebar>.nav-item>.nav-link.active{background-color:#20c997;color:#fff}.dark-mode .sidebar-dark-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-teal .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#20c997}.dark-mode .sidebar-dark-cyan .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-cyan .nav-sidebar>.nav-item>.nav-link.active{background-color:#3498db;color:#fff}.dark-mode .sidebar-dark-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-cyan .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#3498db}.dark-mode .sidebar-dark-white .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-white .nav-sidebar>.nav-item>.nav-link.active{background-color:#fff;color:#1f2d3d}.dark-mode .sidebar-dark-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-white .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#fff}.dark-mode .sidebar-dark-gray .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray .nav-sidebar>.nav-item>.nav-link.active{background-color:#6c757d;color:#fff}.dark-mode .sidebar-dark-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#6c757d}.dark-mode .sidebar-dark-gray-dark .nav-sidebar>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray-dark .nav-sidebar>.nav-item>.nav-link.active{background-color:#343a40;color:#fff}.dark-mode .sidebar-dark-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active,.dark-mode .sidebar-light-gray-dark .nav-sidebar.nav-legacy>.nav-item>.nav-link.active{border-color:#343a40}.dark-mode [class*=sidebar-light-] .sidebar a{color:#343a40}.dark-mode [class*=sidebar-light-] .sidebar a:hover{text-decoration:none}.logo-xl,.logo-xs{opacity:1;position:absolute;visibility:visible}.logo-xl.brand-image-xs,.logo-xs.brand-image-xs{left:18px;top:12px}.logo-xl.brand-image-xl,.logo-xs.brand-image-xl{left:12px;top:6px}.logo-xs{opacity:0;visibility:hidden}.logo-xs.brand-image-xl{left:16px;top:8px}.brand-link.logo-switch::before{content:"\00a0"}@media (min-width:992px){.sidebar-mini .nav-sidebar,.sidebar-mini .nav-sidebar .nav-link,.sidebar-mini .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .main-footer,.sidebar-mini.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini.sidebar-collapse .sidebar .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini.sidebar-collapse .brand-text,.sidebar-mini.sidebar-collapse .sidebar .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini.sidebar-collapse .main-sidebar,.sidebar-mini.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover{width:250px}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-link,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-link{width:250px}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel{text-align:left}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel .image,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel .image{float:left}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xl,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-text,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xl,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar .nav-sidebar .nav-link p,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xs,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-image,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-image{margin-right:.5rem}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar-form,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar-form,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}}@media (max-width:991.98px){.sidebar-mini.sidebar-collapse .main-sidebar{box-shadow:none!important}}@media (min-width:768px){.sidebar-mini-md .nav-sidebar,.sidebar-mini-md .nav-sidebar .nav-link,.sidebar-mini-md .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini-md.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini-md.sidebar-collapse .content-wrapper,.sidebar-mini-md.sidebar-collapse .main-footer,.sidebar-mini-md.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini-md.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini-md.sidebar-collapse .sidebar .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini-md.sidebar-collapse .brand-text,.sidebar-mini-md.sidebar-collapse .sidebar .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-md.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini-md.sidebar-collapse .main-sidebar,.sidebar-mini-md.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini-md.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover{width:250px}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-link,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-link{width:250px}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel{text-align:left}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel .image,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel .image{float:left}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-text,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xl,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-text,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xl,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar .nav-sidebar .nav-link p,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xs,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-image,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-image{margin-right:.5rem}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar-form,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar-form,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini-md.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini-md.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-md.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}}@media (max-width:767.98px){.sidebar-mini-md.sidebar-collapse .main-sidebar{box-shadow:none!important}}.sidebar-mini-xs .nav-sidebar,.sidebar-mini-xs .nav-sidebar .nav-link,.sidebar-mini-xs .nav-sidebar>.nav-header{white-space:nowrap}.sidebar-mini-xs.sidebar-collapse .d-hidden-mini{display:none}.sidebar-mini-xs.sidebar-collapse .content-wrapper,.sidebar-mini-xs.sidebar-collapse .main-footer,.sidebar-mini-xs.sidebar-collapse .main-header{margin-left:4.6rem!important}.sidebar-mini-xs.sidebar-collapse .nav-sidebar .nav-header{display:none}.sidebar-mini-xs.sidebar-collapse .sidebar .nav-sidebar .nav-link p{width:0;white-space:nowrap}.sidebar-mini-xs.sidebar-collapse .brand-text,.sidebar-mini-xs.sidebar-collapse .sidebar .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .logo-xs{display:inline-block;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-xs.sidebar-collapse .main-sidebar{overflow-x:hidden}.sidebar-mini-xs.sidebar-collapse .main-sidebar,.sidebar-mini-xs.sidebar-collapse .main-sidebar::before{margin-left:0;width:4.6rem}.sidebar-mini-xs.sidebar-collapse .main-sidebar .user-panel .image{float:none}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover{width:250px}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-link,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-link{width:250px}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel{text-align:left}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel .image,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel .image{float:left}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-text,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xl,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-text,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xl,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar .nav-sidebar .nav-link p,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:inline-block;margin-left:0;-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .logo-xs,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .logo-xs{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .brand-image,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .brand-image{margin-right:.5rem}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .sidebar-form,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .user-panel>.info,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .sidebar-form,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .user-panel>.info{display:block!important;-webkit-transform:translateZ(0);transform:translateZ(0)}.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand).sidebar-focused .nav-sidebar>.nav-item>.nav-link>span,.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover .nav-sidebar>.nav-item>.nav-link>span{display:inline-block!important}.sidebar-mini-xs.sidebar-collapse .visible-sidebar-mini{display:block!important}.sidebar-mini-xs.sidebar-collapse.layout-fixed .main-sidebar:hover .brand-link{width:250px}.sidebar-mini-xs.sidebar-collapse.layout-fixed .brand-link{width:4.6rem}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 3rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 4rem)}.sidebar-mini .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 5rem)}.sidebar-mini .main-sidebar .nav-legacy .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-link{width:calc(250px - 1rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 1rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 2rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 3rem)}.sidebar-mini .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 4rem)}.sidebar-mini .main-sidebar .nav-flat .nav-link,.sidebar-mini-md .main-sidebar .nav-flat .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-link{width:calc(250px)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 2)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 3)}.sidebar-mini .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 4)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - .5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 1.5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2 - 2.5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-link{width:250px}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 3)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 4)}.sidebar-mini .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-md .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-mini-xs .main-sidebar .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 5)}.sidebar-mini .main-sidebar .nav-link,.sidebar-mini-md .main-sidebar .nav-link,.sidebar-mini-xs .main-sidebar .nav-link{width:calc(250px - .5rem * 2);transition:width ease-in-out .3s}@media (prefers-reduced-motion:reduce){.sidebar-mini .main-sidebar .nav-link,.sidebar-mini-md .main-sidebar .nav-link,.sidebar-mini-xs .main-sidebar .nav-link{transition:none}}.sidebar-collapse.sidebar-mini .main-sidebar .sidebar-search-results,.sidebar-collapse.sidebar-mini-md .main-sidebar .sidebar-search-results,.sidebar-collapse.sidebar-mini-xs .main-sidebar .sidebar-search-results{display:none}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar .nav-link{width:3.6rem}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-legacy .nav-link{width:4.6rem}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-treeview{padding-left:0!important;margin-left:0!important}.sidebar-collapse.sidebar-mini .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar .nav-sidebar.nav-child-indent.nav-compact .nav-link{width:calc(4.6rem - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused:not(.hide-nav-header-on-hover) .nav-header,.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.hide-nav-header-on-hover) .nav-header,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused:not(.hide-nav-header-on-hover) .nav-header,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover:not(.hide-nav-header-on-hover) .nav-header,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused:not(.hide-nav-header-on-hover) .nav-header,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover:not(.hide-nav-header-on-hover) .nav-header{display:inline-block}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.sidebar-no-expand) .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover:not(.sidebar-no-expand) .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover:not(.sidebar-no-expand) .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar,.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar{display:inline-block}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append,.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover:not(.sidebar-no-expand) .form-control-sidebar~.input-group-append{display:-ms-flexbox;display:flex}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results,.sidebar-collapse.sidebar-mini .main-sidebar:hover:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover:not(.sidebar-no-expand) .sidebar-search-open .sidebar-search-results{display:inline-block}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-link{width:calc(250px - 1rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 1rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 2rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 3rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-legacy.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - 1rem - 4rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-link{width:calc(250px)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 3)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-flat.nav-child-indent .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .2rem * 4)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-compact .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-link{width:250px}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-link{width:calc(250px - .5rem)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 2)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 3)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 4)}.sidebar-collapse.sidebar-mini .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-md .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar.sidebar-focused .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link,.sidebar-collapse.sidebar-mini-xs .main-sidebar:hover .nav-child-indent.nav-legacy.nav-compact .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-treeview .nav-link{width:calc(250px - .5rem * 5)}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover{width:4.6rem}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-header,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-header,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-header{display:none}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .brand-link,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .brand-link,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .brand-link,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .brand-link{width:4.6rem!important}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .user-panel .image,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .user-panel .image,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .user-panel .image,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .user-panel .image{float:none!important}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .logo-xs,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .logo-xs,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xs,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .logo-xs{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .logo-xl,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .logo-xl,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .logo-xl,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .logo-xl{-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .nav-sidebar.nav-child-indent .nav-treeview,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .nav-sidebar.nav-child-indent .nav-treeview{padding-left:0}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .brand-text,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .user-panel>.info,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .sidebar .brand-text,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .sidebar .user-panel>.info,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .brand-text,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .user-panel>.info,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .sidebar .brand-text,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .sidebar .user-panel>.info,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .brand-text,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .user-panel>.info,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .sidebar .brand-text,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar .nav-link p,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .sidebar .user-panel>.info{margin-left:-10px;-webkit-animation-name:fadeOut;animation-name:fadeOut;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:hidden;display:inline-block;width:0}.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-md .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar.sidebar-focused .sidebar .nav-sidebar>.nav-item .nav-icon,.sidebar-collapse.sidebar-mini-xs .sidebar-no-expand.main-sidebar:hover .sidebar .nav-sidebar>.nav-item .nav-icon{margin-right:0}.nav-sidebar{position:relative}.nav-sidebar:hover{overflow:visible}.nav-sidebar>.nav-header,.sidebar-form{overflow:hidden;text-overflow:clip}.nav-sidebar .nav-item>.nav-link{position:relative}.nav-sidebar .nav-item>.nav-link>.float-right{margin-top:-7px;position:absolute;right:10px;top:50%}.main-sidebar .brand-text,.main-sidebar .logo-xl,.main-sidebar .logo-xs,.sidebar .nav-link p,.sidebar .user-panel .info{transition:margin-left .3s linear,opacity .3s ease,visibility .3s ease}@media (prefers-reduced-motion:reduce){.main-sidebar .brand-text,.main-sidebar .logo-xl,.main-sidebar .logo-xs,.sidebar .nav-link p,.sidebar .user-panel .info{transition:none}}html.control-sidebar-animate{overflow-x:hidden}.control-sidebar{bottom:calc(3.5rem + 1px);position:absolute;top:calc(3.5rem + 1px);z-index:1031}.control-sidebar,.control-sidebar::before{bottom:calc(3.5rem + 1px);display:none;right:-250px;width:250px;transition:right .3s ease-in-out,display .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar,.control-sidebar::before{transition:none}}.control-sidebar::before{content:"";display:block;position:fixed;top:0;z-index:-1}body.text-sm .control-sidebar{bottom:calc(2.9365rem + 1px);top:calc(2.93725rem + 1px)}.main-header.text-sm~.control-sidebar{top:calc(2.93725rem + 1px)}.main-footer.text-sm~.control-sidebar{bottom:calc(2.9365rem + 1px)}.control-sidebar-push-slide .content-wrapper,.control-sidebar-push-slide .main-footer{transition:margin-right .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar-push-slide .content-wrapper,.control-sidebar-push-slide .main-footer{transition:none}}.control-sidebar-open .control-sidebar{display:block!important}.control-sidebar-open .control-sidebar,.control-sidebar-open .control-sidebar::before{right:0}.control-sidebar-open.control-sidebar-push .content-wrapper,.control-sidebar-open.control-sidebar-push .main-footer,.control-sidebar-open.control-sidebar-push-slide .content-wrapper,.control-sidebar-open.control-sidebar-push-slide .main-footer{margin-right:250px}.control-sidebar-slide-open .control-sidebar{display:block}.control-sidebar-slide-open .control-sidebar,.control-sidebar-slide-open .control-sidebar::before{right:0;transition:right .3s ease-in-out,display .3s ease-in-out}@media (prefers-reduced-motion:reduce){.control-sidebar-slide-open .control-sidebar,.control-sidebar-slide-open .control-sidebar::before{transition:none}}.control-sidebar-slide-open.control-sidebar-push .content-wrapper,.control-sidebar-slide-open.control-sidebar-push .main-footer,.control-sidebar-slide-open.control-sidebar-push-slide .content-wrapper,.control-sidebar-slide-open.control-sidebar-push-slide .main-footer{margin-right:250px}.control-sidebar-dark{background-color:#343a40}.control-sidebar-dark,.control-sidebar-dark .nav-link,.control-sidebar-dark a{color:#c2c7d0}.control-sidebar-dark a:hover{color:#fff}.control-sidebar-dark h1,.control-sidebar-dark h2,.control-sidebar-dark h3,.control-sidebar-dark h4,.control-sidebar-dark h5,.control-sidebar-dark h6,.control-sidebar-dark label{color:#fff}.control-sidebar-dark .nav-tabs{background-color:rgba(255,255,255,.1);border-bottom:0;margin-bottom:5px}.control-sidebar-dark .nav-tabs .nav-item{margin:0}.control-sidebar-dark .nav-tabs .nav-link{border-radius:0;padding:10px 20px;position:relative;text-align:center}.control-sidebar-dark .nav-tabs .nav-link,.control-sidebar-dark .nav-tabs .nav-link.active,.control-sidebar-dark .nav-tabs .nav-link:active,.control-sidebar-dark .nav-tabs .nav-link:focus,.control-sidebar-dark .nav-tabs .nav-link:hover{border:0}.control-sidebar-dark .nav-tabs .nav-link.active,.control-sidebar-dark .nav-tabs .nav-link:active,.control-sidebar-dark .nav-tabs .nav-link:focus,.control-sidebar-dark .nav-tabs .nav-link:hover{border-bottom-color:transparent;border-left-color:transparent;border-top-color:transparent;color:#fff}.control-sidebar-dark .nav-tabs .nav-link.active{background-color:#343a40}.control-sidebar-dark .tab-pane{padding:10px 15px}.control-sidebar-light{color:#4b545c;background-color:#fff;border-left:1px solid #dee2e6}.text-sm .dropdown-menu{font-size:.875rem!important}.text-sm .dropdown-toggle::after{vertical-align:.2rem}.dropdown-item-title{font-size:1rem;margin:0}.dropdown-icon::after{margin-left:0}.dropdown-menu-lg{max-width:300px;min-width:280px;padding:0}.dropdown-menu-lg .dropdown-divider{margin:0}.dropdown-menu-lg .dropdown-item{padding:.5rem 1rem}.dropdown-menu-lg p{margin:0;white-space:normal}.dropdown-submenu{position:relative}.dropdown-submenu>a::after{border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;float:right;margin-left:.5rem;margin-top:.5rem}.dropdown-submenu>.dropdown-menu{left:100%;margin-left:0;margin-top:0;top:0}.dropdown-hover .dropdown-submenu:hover>.dropdown-menu,.dropdown-hover.dropdown-submenu:hover>.dropdown-menu,.dropdown-hover.nav-item.dropdown:hover>.dropdown-menu,.dropdown-hover:hover>.dropdown-menu{display:block}.dropdown-menu-xl{max-width:420px;min-width:360px;padding:0}.dropdown-menu-xl .dropdown-divider{margin:0}.dropdown-menu-xl .dropdown-item{padding:.5rem 1rem}.dropdown-menu-xl p{margin:0;white-space:normal}.dropdown-footer,.dropdown-header{display:block;font-size:.875rem;padding:.5rem 1rem;text-align:center}.open:not(.dropup)>.animated-dropdown-menu{-webkit-animation:flipInX .7s both;animation:flipInX .7s both;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.navbar-custom-menu>.navbar-nav>li{position:relative}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:0;left:auto}@media (max-width:767.98px){.navbar-custom-menu>.navbar-nav{float:right}.navbar-custom-menu>.navbar-nav>li{position:static}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background-color:#fff}}.navbar-nav>.user-menu>.nav-link::after{content:none}.navbar-nav>.user-menu>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;padding:0;width:280px}.navbar-nav>.user-menu>.dropdown-menu,.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header{height:175px;padding:10px;text-align:center}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,.2)}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p{z-index:5;font-size:17px;margin-top:10px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p>small{display:block;font-size:12px}.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom:1px solid #495057;border-top:1px solid #dee2e6;padding:15px}.navbar-nav>.user-menu>.dropdown-menu>.user-body::after{display:block;clear:both;content:""}@media (min-width:576px){.navbar-nav>.user-menu>.dropdown-menu>.user-body a{background-color:#fff!important;color:#495057!important}}.navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#f8f9fa;padding:10px}.navbar-nav>.user-menu>.dropdown-menu>.user-footer::after{display:block;clear:both;content:""}.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#6c757d}@media (min-width:576px){.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#f8f9fa}}.navbar-nav>.user-menu .user-image{border-radius:50%;float:left;height:2.1rem;margin-right:10px;margin-top:-2px;width:2.1rem}@media (min-width:576px){.navbar-nav>.user-menu .user-image{float:none;line-height:10px;margin-right:.4rem;margin-top:-8px}}.dark-mode .dropdown-menu{background-color:#343a40;color:#fff}.dark-mode .dropdown-item{color:#fff}.dark-mode .dropdown-item:focus,.dark-mode .dropdown-item:hover{background-color:#3f474e}.dark-mode .dropdown-divider{border-color:#6c757d}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#3a4047;color:#fff}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#fff}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:focus,.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#3f474e;color:#dee2e6}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:focus{background-color:#454d55}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body{border-color:#6c757d}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a{background-color:transparent!important;color:#fff!important}.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a:focus,.dark-mode .navbar-nav>.user-menu>.dropdown-menu>.user-body a:hover{color:#ced4da!important}.nav-pills .nav-link{color:#6c757d}.nav-pills .nav-link:not(.active):hover{color:#007bff}.nav-pills .nav-item.dropdown.show .nav-link:hover{color:#fff}.nav-tabs.flex-column{border-bottom:0;border-right:1px solid #dee2e6}.nav-tabs.flex-column .nav-link{border-bottom-left-radius:.25rem;border-top-right-radius:0;margin-right:-1px}.nav-tabs.flex-column .nav-link:focus,.nav-tabs.flex-column .nav-link:hover{border-color:#e9ecef transparent #e9ecef #e9ecef}.nav-tabs.flex-column .nav-item.show .nav-link,.nav-tabs.flex-column .nav-link.active{border-color:#dee2e6 transparent #dee2e6 #dee2e6}.nav-tabs.flex-column.nav-tabs-right{border-left:1px solid #dee2e6;border-right:0}.nav-tabs.flex-column.nav-tabs-right .nav-link{border-bottom-left-radius:0;border-bottom-right-radius:.25rem;border-top-left-radius:0;border-top-right-radius:.25rem;margin-left:-1px}.nav-tabs.flex-column.nav-tabs-right .nav-link:focus,.nav-tabs.flex-column.nav-tabs-right .nav-link:hover{border-color:#e9ecef #e9ecef #e9ecef transparent}.nav-tabs.flex-column.nav-tabs-right .nav-item.show .nav-link,.nav-tabs.flex-column.nav-tabs-right .nav-link.active{border-color:#dee2e6 #dee2e6 #dee2e6 transparent}.navbar-no-expand{-ms-flex-direction:row;flex-direction:row}.navbar-no-expand .nav-link{padding-left:1rem;padding-right:1rem}.navbar-no-expand .dropdown-menu{position:absolute}.navbar-light{background-color:#f8f9fa}.navbar-dark{background-color:#343a40;border-color:#4b545c}.navbar-primary{background-color:#007bff;color:#fff}.navbar-primary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar,.navbar-primary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#0071eb;border-color:#0065d1;color:rgba(52,58,64,.8)}.navbar-primary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-primary.navbar-light .form-control-navbar:focus,.navbar-primary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#006fe6;border-color:#0065d1!important;color:#343a40}.navbar-primary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar,.navbar-primary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1486ff;border-color:#2e93ff;color:rgba(255,255,255,.8)}.navbar-primary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-primary.navbar-dark .form-control-navbar:focus,.navbar-primary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1a88ff;border-color:#2e93ff!important;color:#fff}.navbar-secondary{background-color:#6c757d;color:#fff}.navbar-secondary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar,.navbar-secondary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.navbar-secondary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-secondary.navbar-light .form-control-navbar:focus,.navbar-secondary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.navbar-secondary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar,.navbar-secondary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.navbar-secondary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-secondary.navbar-dark .form-control-navbar:focus,.navbar-secondary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.navbar-success{background-color:#28a745;color:#fff}.navbar-success.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar,.navbar-success.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#24973e;border-color:#1f8236;color:rgba(52,58,64,.8)}.navbar-success.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-success.navbar-light .form-control-navbar:focus,.navbar-success.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#23923d;border-color:#1f8236!important;color:#343a40}.navbar-success.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar,.navbar-success.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2cb74c;border-color:#31cc54;color:rgba(255,255,255,.8)}.navbar-success.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-success.navbar-dark .form-control-navbar:focus,.navbar-success.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#2dbc4e;border-color:#31cc54!important;color:#fff}.navbar-info{background-color:#17a2b8;color:#fff}.navbar-info.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar,.navbar-info.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1592a6;border-color:#127e8f;color:rgba(52,58,64,.8)}.navbar-info.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-info.navbar-light .form-control-navbar:focus,.navbar-info.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#148ea1;border-color:#127e8f!important;color:#343a40}.navbar-info.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar,.navbar-info.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#19b2ca;border-color:#1cc6e1;color:rgba(255,255,255,.8)}.navbar-info.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-info.navbar-dark .form-control-navbar:focus,.navbar-info.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1ab6cf;border-color:#1cc6e1!important;color:#fff}.navbar-warning{background-color:#ffc107;color:#1f2d3d}.navbar-warning.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar,.navbar-warning.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f2b500;border-color:#d8a200;color:rgba(52,58,64,.8)}.navbar-warning.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-warning.navbar-light .form-control-navbar:focus,.navbar-warning.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#edb100;border-color:#d8a200!important;color:#343a40}.navbar-warning.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar,.navbar-warning.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ffc61b;border-color:#ffcc35;color:rgba(255,255,255,.8)}.navbar-warning.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-warning.navbar-dark .form-control-navbar:focus,.navbar-warning.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ffc721;border-color:#ffcc35!important;color:#fff}.navbar-danger{background-color:#dc3545;color:#fff}.navbar-danger.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar,.navbar-danger.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#d72536;border-color:#c22231;color:rgba(52,58,64,.8)}.navbar-danger.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-danger.navbar-light .form-control-navbar:focus,.navbar-danger.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d32535;border-color:#c22231!important;color:#343a40}.navbar-danger.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar,.navbar-danger.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df4655;border-color:#e35c69;color:rgba(255,255,255,.8)}.navbar-danger.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-danger.navbar-dark .form-control-navbar:focus,.navbar-danger.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e04b59;border-color:#e35c69!important;color:#fff}.navbar-lightblue{background-color:#3c8dbc;color:#fff}.navbar-lightblue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar,.navbar-lightblue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3781ad;border-color:#317399;color:rgba(52,58,64,.8)}.navbar-lightblue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-lightblue.navbar-light .form-control-navbar:focus,.navbar-lightblue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#367fa9;border-color:#317399!important;color:#343a40}.navbar-lightblue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar,.navbar-lightblue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#4897c5;border-color:#5ba2cb;color:rgba(255,255,255,.8)}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-lightblue.navbar-dark .form-control-navbar:focus,.navbar-lightblue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4c99c6;border-color:#5ba2cb!important;color:#fff}.navbar-navy{background-color:#001f3f;color:#fff}.navbar-navy.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar,.navbar-navy.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00152b;border-color:#000811;color:rgba(52,58,64,.8)}.navbar-navy.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-navy.navbar-light .form-control-navbar:focus,.navbar-navy.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#001226;border-color:#000811!important;color:#343a40}.navbar-navy.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar,.navbar-navy.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#002953;border-color:#00366d;color:rgba(255,255,255,.8)}.navbar-navy.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-navy.navbar-dark .form-control-navbar:focus,.navbar-navy.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#002c59;border-color:#00366d!important;color:#fff}.navbar-olive{background-color:#3d9970;color:#fff}.navbar-olive.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar,.navbar-olive.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#378a65;border-color:#307858;color:rgba(52,58,64,.8)}.navbar-olive.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-olive.navbar-light .form-control-navbar:focus,.navbar-olive.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#368763;border-color:#307858!important;color:#343a40}.navbar-olive.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar,.navbar-olive.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#43a87b;border-color:#4cb888;color:rgba(255,255,255,.8)}.navbar-olive.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-olive.navbar-dark .form-control-navbar:focus,.navbar-olive.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#44ab7d;border-color:#4cb888!important;color:#fff}.navbar-lime{background-color:#01ff70;color:#1f2d3d}.navbar-lime.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar,.navbar-lime.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00ec67;border-color:#00d25c;color:rgba(52,58,64,.8)}.navbar-lime.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-lime.navbar-light .form-control-navbar:focus,.navbar-lime.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00e765;border-color:#00d25c!important;color:#343a40}.navbar-lime.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar,.navbar-lime.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#15ff7b;border-color:#2fff8a;color:rgba(255,255,255,.8)}.navbar-lime.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-lime.navbar-dark .form-control-navbar:focus,.navbar-lime.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1bff7e;border-color:#2fff8a!important;color:#fff}.navbar-fuchsia{background-color:#f012be;color:#fff}.navbar-fuchsia.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar,.navbar-fuchsia.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df0eb0;border-color:#c70d9d;color:rgba(52,58,64,.8)}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-fuchsia.navbar-light .form-control-navbar:focus,.navbar-fuchsia.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#db0ead;border-color:#c70d9d!important;color:#343a40}.navbar-fuchsia.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar,.navbar-fuchsia.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f125c3;border-color:#f33dca;color:rgba(255,255,255,.8)}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-fuchsia.navbar-dark .form-control-navbar:focus,.navbar-fuchsia.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f22ac5;border-color:#f33dca!important;color:#fff}.navbar-maroon{background-color:#d81b60;color:#fff}.navbar-maroon.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar,.navbar-maroon.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#c61958;border-color:#af164e;color:rgba(52,58,64,.8)}.navbar-maroon.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-maroon.navbar-light .form-control-navbar:focus,.navbar-maroon.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#c11856;border-color:#af164e!important;color:#343a40}.navbar-maroon.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar,.navbar-maroon.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e4246a;border-color:#e63a79;color:rgba(255,255,255,.8)}.navbar-maroon.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-maroon.navbar-dark .form-control-navbar:focus,.navbar-maroon.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e4286d;border-color:#e63a79!important;color:#fff}.navbar-blue{background-color:#007bff;color:#fff}.navbar-blue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar,.navbar-blue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#0071eb;border-color:#0065d1;color:rgba(52,58,64,.8)}.navbar-blue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-blue.navbar-light .form-control-navbar:focus,.navbar-blue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#006fe6;border-color:#0065d1!important;color:#343a40}.navbar-blue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar,.navbar-blue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1486ff;border-color:#2e93ff;color:rgba(255,255,255,.8)}.navbar-blue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-blue.navbar-dark .form-control-navbar:focus,.navbar-blue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1a88ff;border-color:#2e93ff!important;color:#fff}.navbar-indigo{background-color:#6610f2;color:#fff}.navbar-indigo.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar,.navbar-indigo.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#5d0ce1;border-color:#530bc9;color:rgba(52,58,64,.8)}.navbar-indigo.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-indigo.navbar-light .form-control-navbar:focus,.navbar-indigo.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#5b0cdd;border-color:#530bc9!important;color:#343a40}.navbar-indigo.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar,.navbar-indigo.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7223f3;border-color:#823cf4;color:rgba(255,255,255,.8)}.navbar-indigo.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-indigo.navbar-dark .form-control-navbar:focus,.navbar-indigo.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7528f3;border-color:#823cf4!important;color:#fff}.navbar-purple{background-color:#6f42c1;color:#fff}.navbar-purple.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar,.navbar-purple.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#663bb4;border-color:#5b35a0;color:rgba(52,58,64,.8)}.navbar-purple.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-purple.navbar-light .form-control-navbar:focus,.navbar-purple.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#643ab0;border-color:#5b35a0!important;color:#343a40}.navbar-purple.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar,.navbar-purple.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7b51c6;border-color:#8965cc;color:rgba(255,255,255,.8)}.navbar-purple.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-purple.navbar-dark .form-control-navbar:focus,.navbar-purple.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7e55c7;border-color:#8965cc!important;color:#fff}.navbar-pink{background-color:#e83e8c;color:#fff}.navbar-pink.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar,.navbar-pink.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e62c81;border-color:#de1a74;color:rgba(52,58,64,.8)}.navbar-pink.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-pink.navbar-light .form-control-navbar:focus,.navbar-pink.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e5277e;border-color:#de1a74!important;color:#343a40}.navbar-pink.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar,.navbar-pink.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5097;border-color:#ed67a4;color:rgba(255,255,255,.8)}.navbar-pink.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-pink.navbar-dark .form-control-navbar:focus,.navbar-pink.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#eb559a;border-color:#ed67a4!important;color:#fff}.navbar-red{background-color:#dc3545;color:#fff}.navbar-red.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar,.navbar-red.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#d72536;border-color:#c22231;color:rgba(52,58,64,.8)}.navbar-red.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-red.navbar-light .form-control-navbar:focus,.navbar-red.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#d32535;border-color:#c22231!important;color:#343a40}.navbar-red.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar,.navbar-red.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#df4655;border-color:#e35c69;color:rgba(255,255,255,.8)}.navbar-red.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-red.navbar-dark .form-control-navbar:focus,.navbar-red.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e04b59;border-color:#e35c69!important;color:#fff}.navbar-orange{background-color:#fd7e14;color:#1f2d3d}.navbar-orange.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar,.navbar-orange.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fa7302;border-color:#e16702;color:rgba(52,58,64,.8)}.navbar-orange.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-orange.navbar-light .form-control-navbar:focus,.navbar-orange.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f57102;border-color:#e16702!important;color:#343a40}.navbar-orange.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar,.navbar-orange.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fd8928;border-color:#fd9742;color:rgba(255,255,255,.8)}.navbar-orange.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-orange.navbar-dark .form-control-navbar:focus,.navbar-orange.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fd8c2d;border-color:#fd9742!important;color:#fff}.navbar-yellow{background-color:#ffc107;color:#1f2d3d}.navbar-yellow.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar,.navbar-yellow.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f2b500;border-color:#d8a200;color:rgba(52,58,64,.8)}.navbar-yellow.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-yellow.navbar-light .form-control-navbar:focus,.navbar-yellow.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#edb100;border-color:#d8a200!important;color:#343a40}.navbar-yellow.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar,.navbar-yellow.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ffc61b;border-color:#ffcc35;color:rgba(255,255,255,.8)}.navbar-yellow.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-yellow.navbar-dark .form-control-navbar:focus,.navbar-yellow.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ffc721;border-color:#ffcc35!important;color:#fff}.navbar-green{background-color:#28a745;color:#fff}.navbar-green.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar,.navbar-green.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#24973e;border-color:#1f8236;color:rgba(52,58,64,.8)}.navbar-green.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-green.navbar-light .form-control-navbar:focus,.navbar-green.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#23923d;border-color:#1f8236!important;color:#343a40}.navbar-green.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar,.navbar-green.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2cb74c;border-color:#31cc54;color:rgba(255,255,255,.8)}.navbar-green.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-green.navbar-dark .form-control-navbar:focus,.navbar-green.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#2dbc4e;border-color:#31cc54!important;color:#fff}.navbar-teal{background-color:#20c997;color:#fff}.navbar-teal.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar,.navbar-teal.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1db78a;border-color:#1aa179;color:rgba(52,58,64,.8)}.navbar-teal.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-teal.navbar-light .form-control-navbar:focus,.navbar-teal.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1cb386;border-color:#1aa179!important;color:#343a40}.navbar-teal.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar,.navbar-teal.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#23dba4;border-color:#38dfae;color:rgba(255,255,255,.8)}.navbar-teal.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-teal.navbar-dark .form-control-navbar:focus,.navbar-teal.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#26dca6;border-color:#38dfae!important;color:#fff}.navbar-cyan{background-color:#17a2b8;color:#fff}.navbar-cyan.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar,.navbar-cyan.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1592a6;border-color:#127e8f;color:rgba(52,58,64,.8)}.navbar-cyan.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-cyan.navbar-light .form-control-navbar:focus,.navbar-cyan.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#148ea1;border-color:#127e8f!important;color:#343a40}.navbar-cyan.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar,.navbar-cyan.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#19b2ca;border-color:#1cc6e1;color:rgba(255,255,255,.8)}.navbar-cyan.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-cyan.navbar-dark .form-control-navbar:focus,.navbar-cyan.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1ab6cf;border-color:#1cc6e1!important;color:#fff}.navbar-white{background-color:#fff;color:#1f2d3d}.navbar-white.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar,.navbar-white.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f5f5f5;border-color:#e8e8e8;color:rgba(52,58,64,.8)}.navbar-white.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-white.navbar-light .form-control-navbar:focus,.navbar-white.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f2f2f2;border-color:#e8e8e8!important;color:#343a40}.navbar-white.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar,.navbar-white.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fff;border-color:#fff;color:rgba(255,255,255,.8)}.navbar-white.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-white.navbar-dark .form-control-navbar:focus,.navbar-white.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fff;border-color:#fff!important;color:#fff}.navbar-gray{background-color:#6c757d;color:#fff}.navbar-gray.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar,.navbar-gray.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.navbar-gray.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-gray.navbar-light .form-control-navbar:focus,.navbar-gray.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.navbar-gray.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar,.navbar-gray.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.navbar-gray.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-gray.navbar-dark .form-control-navbar:focus,.navbar-gray.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.navbar-gray-dark{background-color:#343a40;color:#fff}.navbar-gray-dark.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar,.navbar-gray-dark.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2b3035;border-color:#1f2327;color:rgba(52,58,64,.8)}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.navbar-gray-dark.navbar-light .form-control-navbar:focus,.navbar-gray-dark.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#292d32;border-color:#1f2327!important;color:#343a40}.navbar-gray-dark.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar,.navbar-gray-dark.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3d444b;border-color:#495159;color:rgba(255,255,255,.8)}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.navbar-gray-dark.navbar-dark .form-control-navbar:focus,.navbar-gray-dark.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#3f474e;border-color:#495159!important;color:#fff}.navbar-nav-not-expanded{-ms-flex-direction:row;flex-direction:row}.navbar-nav-not-expanded .dropdown-menu{position:absolute}.navbar-nav-not-expanded .nav-link{padding-right:1rem;padding-left:1rem}.dark-mode .nav-pills .nav-link{color:#ced4da}.dark-mode .nav-tabs{border-color:#56606a}.dark-mode .nav-tabs .nav-link:focus,.dark-mode .nav-tabs .nav-link:hover{border-color:#56606a}.dark-mode .nav-tabs .nav-item.show .nav-link,.dark-mode .nav-tabs .nav-link.active{background-color:#343a40;border-color:#56606a #56606a transparent #56606a;color:#fff}.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link.active,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:hover,.dark-mode .nav-tabs.flex-column .nav-link.active,.dark-mode .nav-tabs.flex-column .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-link:hover{border-color:#56606a transparent #56606a #56606a}.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-item.show .nav-link:hover,.dark-mode .nav-tabs.flex-column .nav-link:focus,.dark-mode .nav-tabs.flex-column .nav-link:hover{background-color:#3f474e}.dark-mode .nav-tabs.flex-column.nav-tabs-right{border-color:#56606a}.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link.active,.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link:focus,.dark-mode .nav-tabs.flex-column.nav-tabs-right .nav-link:hover{border-color:#56606a #56606a #56606a transparent}.dark-mode .navbar-light{background-color:#f8f9fa}.dark-mode .navbar-dark{background-color:#343a40;border-color:#4b545c}.dark-mode .navbar-primary{background-color:#3f6791;color:#fff}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar,.dark-mode .navbar-primary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#395d83;border-color:#315071;color:rgba(52,58,64,.8)}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus,.dark-mode .navbar-primary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#375a7f;border-color:#315071!important;color:#343a40}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar,.dark-mode .navbar-primary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45719f;border-color:#4d7eb1;color:rgba(255,255,255,.8)}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-primary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4774a3;border-color:#4d7eb1!important;color:#fff}.dark-mode .navbar-secondary{background-color:#6c757d;color:#fff}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar,.dark-mode .navbar-secondary.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus,.dark-mode .navbar-secondary.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar,.dark-mode .navbar-secondary.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-secondary.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.dark-mode .navbar-success{background-color:#00bc8c;color:#fff}.dark-mode .navbar-success.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar,.dark-mode .navbar-success.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00a87d;border-color:#008e6a;color:rgba(52,58,64,.8)}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-success.navbar-light .form-control-navbar:focus,.dark-mode .navbar-success.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00a379;border-color:#008e6a!important;color:#343a40}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar,.dark-mode .navbar-success.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00d09b;border-color:#00eaae;color:rgba(255,255,255,.8)}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-success.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00d69f;border-color:#00eaae!important;color:#fff}.dark-mode .navbar-info{background-color:#3498db;color:#fff}.dark-mode .navbar-info.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar,.dark-mode .navbar-info.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#268fd5;border-color:#2280bf;color:rgba(52,58,64,.8)}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-info.navbar-light .form-control-navbar:focus,.dark-mode .navbar-info.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#258cd1;border-color:#2280bf!important;color:#343a40}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar,.dark-mode .navbar-info.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45a1de;border-color:#5bace2;color:rgba(255,255,255,.8)}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-info.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4aa3df;border-color:#5bace2!important;color:#fff}.dark-mode .navbar-warning{background-color:#f39c12;color:#1f2d3d}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar,.dark-mode .navbar-warning.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e5910c;border-color:#cd820a;color:rgba(52,58,64,.8)}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus,.dark-mode .navbar-warning.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e08e0b;border-color:#cd820a!important;color:#343a40}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar,.dark-mode .navbar-warning.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f4a425;border-color:#f5ae3e;color:rgba(255,255,255,.8)}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-warning.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f4a62a;border-color:#f5ae3e!important;color:#fff}.dark-mode .navbar-danger{background-color:#e74c3c;color:#fff}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar,.dark-mode .navbar-danger.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e53b2a;border-color:#da2d1b;color:rgba(52,58,64,.8)}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus,.dark-mode .navbar-danger.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e43725;border-color:#da2d1b!important;color:#343a40}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar,.dark-mode .navbar-danger.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e95d4e;border-color:#ec7265;color:rgba(255,255,255,.8)}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-danger.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea6153;border-color:#ec7265!important;color:#fff}.dark-mode .navbar-lightblue{background-color:#86bad8;color:#1f2d3d}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar,.dark-mode .navbar-lightblue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#76b1d3;border-color:#63a6cd;color:rgba(52,58,64,.8)}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus,.dark-mode .navbar-lightblue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#72afd2;border-color:#63a6cd!important;color:#343a40}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar,.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#95c3dd;border-color:#a9cee3;color:rgba(255,255,255,.8)}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-lightblue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#99c5de;border-color:#a9cee3!important;color:#fff}.dark-mode .navbar-navy{background-color:#002c59;color:#fff}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar,.dark-mode .navbar-navy.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#024;border-color:#00152b;color:rgba(52,58,64,.8)}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus,.dark-mode .navbar-navy.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#001f3f;border-color:#00152b!important;color:#343a40}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar,.dark-mode .navbar-navy.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00366d;border-color:#004286;color:rgba(255,255,255,.8)}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-navy.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#003872;border-color:#004286!important;color:#fff}.dark-mode .navbar-olive{background-color:#74c8a3;color:#1f2d3d}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar,.dark-mode .navbar-olive.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#66c299;border-color:#53bb8d;color:rgba(52,58,64,.8)}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus,.dark-mode .navbar-olive.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#62c096;border-color:#53bb8d!important;color:#343a40}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar,.dark-mode .navbar-olive.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#83ceac;border-color:#95d5b8;color:rgba(255,255,255,.8)}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-olive.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#87cfaf;border-color:#95d5b8!important;color:#fff}.dark-mode .navbar-lime{background-color:#67ffa9;color:#1f2d3d}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar,.dark-mode .navbar-lime.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#53ff9e;border-color:#39ff90;color:rgba(52,58,64,.8)}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus,.dark-mode .navbar-lime.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4eff9b;border-color:#39ff90!important;color:#343a40}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar,.dark-mode .navbar-lime.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7bffb5;border-color:#95ffc3;color:rgba(255,255,255,.8)}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-lime.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#81ffb8;border-color:#95ffc3!important;color:#fff}.dark-mode .navbar-fuchsia{background-color:#f672d8;color:#1f2d3d}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar,.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f55fd3;border-color:#f347cc;color:rgba(52,58,64,.8)}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus,.dark-mode .navbar-fuchsia.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f55ad2;border-color:#f347cc!important;color:#343a40}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar,.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f785de;border-color:#f99de4;color:rgba(255,255,255,.8)}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-fuchsia.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f88adf;border-color:#f99de4!important;color:#fff}.dark-mode .navbar-maroon{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar,.dark-mode .navbar-maroon.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5a8f;border-color:#e8447f;color:rgba(52,58,64,.8)}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus,.dark-mode .navbar-maroon.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea568c;border-color:#e8447f!important;color:#343a40}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar,.dark-mode .navbar-maroon.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ef7ea8;border-color:#f295b7;color:rgba(255,255,255,.8)}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-maroon.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f083ab;border-color:#f295b7!important;color:#fff}.dark-mode .navbar-blue{background-color:#3f6791;color:#fff}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar,.dark-mode .navbar-blue.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#395d83;border-color:#315071;color:rgba(52,58,64,.8)}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus,.dark-mode .navbar-blue.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#375a7f;border-color:#315071!important;color:#343a40}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar,.dark-mode .navbar-blue.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45719f;border-color:#4d7eb1;color:rgba(255,255,255,.8)}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-blue.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4774a3;border-color:#4d7eb1!important;color:#fff}.dark-mode .navbar-indigo{background-color:#6610f2;color:#fff}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar,.dark-mode .navbar-indigo.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#5d0ce1;border-color:#530bc9;color:rgba(52,58,64,.8)}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus,.dark-mode .navbar-indigo.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#5b0cdd;border-color:#530bc9!important;color:#343a40}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar,.dark-mode .navbar-indigo.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7223f3;border-color:#823cf4;color:rgba(255,255,255,.8)}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-indigo.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7528f3;border-color:#823cf4!important;color:#fff}.dark-mode .navbar-purple{background-color:#6f42c1;color:#fff}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar,.dark-mode .navbar-purple.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#663bb4;border-color:#5b35a0;color:rgba(52,58,64,.8)}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus,.dark-mode .navbar-purple.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#643ab0;border-color:#5b35a0!important;color:#343a40}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar,.dark-mode .navbar-purple.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#7b51c6;border-color:#8965cc;color:rgba(255,255,255,.8)}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-purple.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#7e55c7;border-color:#8965cc!important;color:#fff}.dark-mode .navbar-pink{background-color:#e83e8c;color:#fff}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar,.dark-mode .navbar-pink.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e62c81;border-color:#de1a74;color:rgba(52,58,64,.8)}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus,.dark-mode .navbar-pink.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e5277e;border-color:#de1a74!important;color:#343a40}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar,.dark-mode .navbar-pink.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#ea5097;border-color:#ed67a4;color:rgba(255,255,255,.8)}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-pink.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#eb559a;border-color:#ed67a4!important;color:#fff}.dark-mode .navbar-red{background-color:#e74c3c;color:#fff}.dark-mode .navbar-red.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar,.dark-mode .navbar-red.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e53b2a;border-color:#da2d1b;color:rgba(52,58,64,.8)}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-red.navbar-light .form-control-navbar:focus,.dark-mode .navbar-red.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e43725;border-color:#da2d1b!important;color:#343a40}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar,.dark-mode .navbar-red.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e95d4e;border-color:#ec7265;color:rgba(255,255,255,.8)}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-red.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#ea6153;border-color:#ec7265!important;color:#fff}.dark-mode .navbar-orange{background-color:#fd7e14;color:#1f2d3d}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar,.dark-mode .navbar-orange.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fa7302;border-color:#e16702;color:rgba(52,58,64,.8)}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus,.dark-mode .navbar-orange.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f57102;border-color:#e16702!important;color:#343a40}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar,.dark-mode .navbar-orange.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fd8928;border-color:#fd9742;color:rgba(255,255,255,.8)}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-orange.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fd8c2d;border-color:#fd9742!important;color:#fff}.dark-mode .navbar-yellow{background-color:#f39c12;color:#1f2d3d}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar,.dark-mode .navbar-yellow.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#e5910c;border-color:#cd820a;color:rgba(52,58,64,.8)}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus,.dark-mode .navbar-yellow.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#e08e0b;border-color:#cd820a!important;color:#343a40}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar,.dark-mode .navbar-yellow.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f4a425;border-color:#f5ae3e;color:rgba(255,255,255,.8)}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-yellow.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f4a62a;border-color:#f5ae3e!important;color:#fff}.dark-mode .navbar-green{background-color:#00bc8c;color:#fff}.dark-mode .navbar-green.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar,.dark-mode .navbar-green.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00a87d;border-color:#008e6a;color:rgba(52,58,64,.8)}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-green.navbar-light .form-control-navbar:focus,.dark-mode .navbar-green.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00a379;border-color:#008e6a!important;color:#343a40}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar,.dark-mode .navbar-green.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#00d09b;border-color:#00eaae;color:rgba(255,255,255,.8)}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-green.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#00d69f;border-color:#00eaae!important;color:#fff}.dark-mode .navbar-teal{background-color:#20c997;color:#fff}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar,.dark-mode .navbar-teal.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#1db78a;border-color:#1aa179;color:rgba(52,58,64,.8)}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus,.dark-mode .navbar-teal.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#1cb386;border-color:#1aa179!important;color:#343a40}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar,.dark-mode .navbar-teal.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#23dba4;border-color:#38dfae;color:rgba(255,255,255,.8)}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-teal.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#26dca6;border-color:#38dfae!important;color:#fff}.dark-mode .navbar-cyan{background-color:#3498db;color:#fff}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar,.dark-mode .navbar-cyan.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#268fd5;border-color:#2280bf;color:rgba(52,58,64,.8)}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus,.dark-mode .navbar-cyan.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#258cd1;border-color:#2280bf!important;color:#343a40}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar,.dark-mode .navbar-cyan.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#45a1de;border-color:#5bace2;color:rgba(255,255,255,.8)}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-cyan.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#4aa3df;border-color:#5bace2!important;color:#fff}.dark-mode .navbar-white{background-color:#fff;color:#1f2d3d}.dark-mode .navbar-white.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar,.dark-mode .navbar-white.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#f5f5f5;border-color:#e8e8e8;color:rgba(52,58,64,.8)}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-white.navbar-light .form-control-navbar:focus,.dark-mode .navbar-white.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#f2f2f2;border-color:#e8e8e8!important;color:#343a40}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar,.dark-mode .navbar-white.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#fff;border-color:#fff;color:rgba(255,255,255,.8)}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-white.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#fff;border-color:#fff!important;color:#fff}.dark-mode .navbar-gray{background-color:#6c757d;color:#fff}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar,.dark-mode .navbar-gray.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#636b72;border-color:#575e64;color:rgba(52,58,64,.8)}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus,.dark-mode .navbar-gray.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#60686f;border-color:#575e64!important;color:#343a40}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar,.dark-mode .navbar-gray.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#757f88;border-color:#838c94;color:rgba(255,255,255,.8)}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-gray.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#78828a;border-color:#838c94!important;color:#fff}.dark-mode .navbar-gray-dark{background-color:#343a40;color:#fff}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-webkit-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-moz-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::-ms-input-placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar::placeholder{color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar,.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar+.input-group-append>.btn-navbar{background-color:#2b3035;border-color:#1f2327;color:rgba(52,58,64,.8)}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-webkit-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-moz-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus:-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::-ms-input-placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus::placeholder{color:#343a40}.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus,.dark-mode .navbar-gray-dark.navbar-light .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#292d32;border-color:#1f2327!important;color:#343a40}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-webkit-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-moz-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::-ms-input-placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar::placeholder{color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar,.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar{background-color:#3d444b;border-color:#495159;color:rgba(255,255,255,.8)}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-webkit-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-moz-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus:-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::-ms-input-placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus::placeholder{color:#fff}.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus,.dark-mode .navbar-gray-dark.navbar-dark .form-control-navbar:focus+.input-group-append .btn-navbar{background-color:#3f474e;border-color:#495159!important;color:#fff}.pagination-month .page-item{justify-self:stretch}.pagination-month .page-item .page-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-direction:column;flex-direction:column;box-shadow:none}.pagination-month .page-item:first-child .page-link,.pagination-month .page-item:last-child .page-link{height:100%;font-size:1.25rem}.pagination-month .page-item .page-month{margin-bottom:0;font-size:1.25rem;font-weight:700}.pagination-month .page-item .page-year{margin-bottom:0}.pagination-month.pagination-lg .page-month{font-size:1.5625rem}.pagination-month.pagination-sm .page-month{font-size:1rem}.dark-mode .page-item.disabled .page-link,.dark-mode .page-item.disabled a{background-color:#3a4047!important;border-color:#6c757d!important;color:#6c757d}.dark-mode .page-item .page-link{color:#3f6791}.dark-mode .page-item.active .page-link{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .page-item.active .page-link:focus,.dark-mode .page-item.active .page-link:hover{color:#ced4da!important}.dark-mode .page-item:not(.active) .page-link{background-color:#343a40;border-color:#6c757d}.dark-mode .page-item:not(.active) .page-link:focus,.dark-mode .page-item:not(.active) .page-link:hover{color:#4774a3;background-color:#3f474e}.border-transparent{border-color:transparent!important}.description-block{display:block;margin:10px 0;text-align:center}.description-block.margin-bottom{margin-bottom:25px}.description-block>.description-header{font-size:16px;font-weight:600;margin:0;padding:0}.description-block>.description-text{text-transform:uppercase}.description-block .description-icon{font-size:16px}.list-group-unbordered>.list-group-item{border-left:0;border-radius:0;border-right:0;padding-left:0;padding-right:0}.list-header{color:#6c757d;font-size:15px;font-weight:700;padding:10px 4px}.list-seperator{background-color:rgba(0,0,0,.125);height:1px;margin:15px 0 9px}.list-link>a{color:#6c757d;padding:4px}.list-link>a:hover{color:#212529}.user-block{float:left}.user-block img{float:left;height:40px;width:40px}.user-block .comment,.user-block .description,.user-block .username{display:block;margin-left:50px}.user-block .username{font-size:16px;font-weight:600;margin-top:-1px}.user-block .description{color:#6c757d;font-size:13px;margin-top:-3px}.user-block.user-block-sm img{width:1.875rem;height:1.875rem}.user-block.user-block-sm .comment,.user-block.user-block-sm .description,.user-block.user-block-sm .username{margin-left:40px}.user-block.user-block-sm .username{font-size:14px}.img-lg,.img-md,.img-sm{float:left}.img-sm{height:1.875rem;width:1.875rem}.img-sm+.img-push{margin-left:2.5rem}.img-md{width:3.75rem;height:3.75rem}.img-md+.img-push{margin-left:4.375rem}.img-lg{width:6.25rem;height:6.25rem}.img-lg+.img-push{margin-left:6.875rem}.img-bordered{border:3px solid #adb5bd;padding:3px}.img-bordered-sm{border:2px solid #adb5bd;padding:2px}.img-rounded{border-radius:.25rem}.img-circle{border-radius:50%}.img-size-32,.img-size-50,.img-size-64{height:auto}.img-size-64{width:64px}.img-size-50{width:50px}.img-size-32{width:32px}.size-32,.size-40,.size-50{display:block;text-align:center}.size-32{height:32px;line-height:32px;width:32px}.size-40{height:40px;line-height:40px;width:40px}.size-50{height:50px;line-height:50px;width:50px}.attachment-block{background-color:#f8f9fa;border:1px solid rgba(0,0,0,.125);margin-bottom:10px;padding:5px}.attachment-block .attachment-img{float:left;height:auto;max-height:100px;max-width:100px}.attachment-block .attachment-pushed{margin-left:110px}.attachment-block .attachment-heading{margin:0}.attachment-block .attachment-text{color:#495057}.card>.loading-img,.card>.overlay,.info-box>.loading-img,.info-box>.overlay,.overlay-wrapper>.loading-img,.overlay-wrapper>.overlay,.small-box>.loading-img,.small-box>.overlay{height:100%;left:0;position:absolute;top:0;width:100%}.card .overlay,.info-box .overlay,.overlay-wrapper .overlay,.small-box .overlay{border-radius:.25rem;-ms-flex-align:center;align-items:center;background-color:rgba(255,255,255,.7);display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;z-index:50}.card .overlay>.fa,.card .overlay>.fab,.card .overlay>.fad,.card .overlay>.fal,.card .overlay>.far,.card .overlay>.fas,.card .overlay>.ion,.card .overlay>.svg-inline--fa,.info-box .overlay>.fa,.info-box .overlay>.fab,.info-box .overlay>.fad,.info-box .overlay>.fal,.info-box .overlay>.far,.info-box .overlay>.fas,.info-box .overlay>.ion,.info-box .overlay>.svg-inline--fa,.overlay-wrapper .overlay>.fa,.overlay-wrapper .overlay>.fab,.overlay-wrapper .overlay>.fad,.overlay-wrapper .overlay>.fal,.overlay-wrapper .overlay>.far,.overlay-wrapper .overlay>.fas,.overlay-wrapper .overlay>.ion,.overlay-wrapper .overlay>.svg-inline--fa,.small-box .overlay>.fa,.small-box .overlay>.fab,.small-box .overlay>.fad,.small-box .overlay>.fal,.small-box .overlay>.far,.small-box .overlay>.fas,.small-box .overlay>.ion,.small-box .overlay>.svg-inline--fa{color:#343a40}.card .overlay.dark,.info-box .overlay.dark,.overlay-wrapper .overlay.dark,.small-box .overlay.dark{background-color:rgba(0,0,0,.5)}.card .overlay.dark>.fa,.card .overlay.dark>.fab,.card .overlay.dark>.fad,.card .overlay.dark>.fal,.card .overlay.dark>.far,.card .overlay.dark>.fas,.card .overlay.dark>.ion,.card .overlay.dark>.svg-inline--fa,.info-box .overlay.dark>.fa,.info-box .overlay.dark>.fab,.info-box .overlay.dark>.fad,.info-box .overlay.dark>.fal,.info-box .overlay.dark>.far,.info-box .overlay.dark>.fas,.info-box .overlay.dark>.ion,.info-box .overlay.dark>.svg-inline--fa,.overlay-wrapper .overlay.dark>.fa,.overlay-wrapper .overlay.dark>.fab,.overlay-wrapper .overlay.dark>.fad,.overlay-wrapper .overlay.dark>.fal,.overlay-wrapper .overlay.dark>.far,.overlay-wrapper .overlay.dark>.fas,.overlay-wrapper .overlay.dark>.ion,.overlay-wrapper .overlay.dark>.svg-inline--fa,.small-box .overlay.dark>.fa,.small-box .overlay.dark>.fab,.small-box .overlay.dark>.fad,.small-box .overlay.dark>.fal,.small-box .overlay.dark>.far,.small-box .overlay.dark>.fas,.small-box .overlay.dark>.ion,.small-box .overlay.dark>.svg-inline--fa{color:#ced4da}.tab-pane>.overlay-wrapper{position:relative}.tab-pane>.overlay-wrapper>.overlay{border-top-left-radius:0;border-top-right-radius:0;-ms-flex-direction:column;flex-direction:column;margin-top:-1.25rem;margin-left:-1.25rem;height:calc(100% + 2 * 1.25rem);width:calc(100% + 2 * 1.25rem)}.tab-pane>.overlay-wrapper>.overlay.dark{color:#fff}.ribbon-wrapper{height:70px;overflow:hidden;position:absolute;right:-2px;top:-2px;width:70px;z-index:10}.ribbon-wrapper.ribbon-lg{height:120px;width:120px}.ribbon-wrapper.ribbon-lg .ribbon{right:0;top:26px;width:160px}.ribbon-wrapper.ribbon-xl{height:180px;width:180px}.ribbon-wrapper.ribbon-xl .ribbon{right:4px;top:47px;width:240px}.ribbon-wrapper .ribbon{box-shadow:0 0 3px rgba(0,0,0,.3);font-size:.8rem;line-height:100%;padding:.375rem 0;position:relative;right:-2px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,.4);text-transform:uppercase;top:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:90px}.ribbon-wrapper .ribbon::after,.ribbon-wrapper .ribbon::before{border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #9e9e9e;bottom:-3px;content:"";position:absolute}.ribbon-wrapper .ribbon::before{left:0}.ribbon-wrapper .ribbon::after{right:0}.back-to-top{bottom:1.25rem;position:fixed;right:1.25rem;z-index:1032}.back-to-top:focus{box-shadow:none}pre{padding:.75rem}blockquote{background-color:#fff;border-left:.7rem solid #007bff;margin:1.5em .7rem;padding:.5em .7rem}.box blockquote{background-color:#e9ecef}blockquote p:last-child{margin-bottom:0}blockquote h1,blockquote h2,blockquote h3,blockquote h4,blockquote h5,blockquote h6{color:#007bff;font-size:1.25rem;font-weight:600}blockquote.quote-primary{border-color:#007bff}blockquote.quote-primary h1,blockquote.quote-primary h2,blockquote.quote-primary h3,blockquote.quote-primary h4,blockquote.quote-primary h5,blockquote.quote-primary h6{color:#007bff}blockquote.quote-secondary{border-color:#6c757d}blockquote.quote-secondary h1,blockquote.quote-secondary h2,blockquote.quote-secondary h3,blockquote.quote-secondary h4,blockquote.quote-secondary h5,blockquote.quote-secondary h6{color:#6c757d}blockquote.quote-success{border-color:#28a745}blockquote.quote-success h1,blockquote.quote-success h2,blockquote.quote-success h3,blockquote.quote-success h4,blockquote.quote-success h5,blockquote.quote-success h6{color:#28a745}blockquote.quote-info{border-color:#17a2b8}blockquote.quote-info h1,blockquote.quote-info h2,blockquote.quote-info h3,blockquote.quote-info h4,blockquote.quote-info h5,blockquote.quote-info h6{color:#17a2b8}blockquote.quote-warning{border-color:#ffc107}blockquote.quote-warning h1,blockquote.quote-warning h2,blockquote.quote-warning h3,blockquote.quote-warning h4,blockquote.quote-warning h5,blockquote.quote-warning h6{color:#ffc107}blockquote.quote-danger{border-color:#dc3545}blockquote.quote-danger h1,blockquote.quote-danger h2,blockquote.quote-danger h3,blockquote.quote-danger h4,blockquote.quote-danger h5,blockquote.quote-danger h6{color:#dc3545}blockquote.quote-light{border-color:#f8f9fa}blockquote.quote-light h1,blockquote.quote-light h2,blockquote.quote-light h3,blockquote.quote-light h4,blockquote.quote-light h5,blockquote.quote-light h6{color:#f8f9fa}blockquote.quote-dark{border-color:#343a40}blockquote.quote-dark h1,blockquote.quote-dark h2,blockquote.quote-dark h3,blockquote.quote-dark h4,blockquote.quote-dark h5,blockquote.quote-dark h6{color:#343a40}blockquote.quote-lightblue{border-color:#3c8dbc}blockquote.quote-lightblue h1,blockquote.quote-lightblue h2,blockquote.quote-lightblue h3,blockquote.quote-lightblue h4,blockquote.quote-lightblue h5,blockquote.quote-lightblue h6{color:#3c8dbc}blockquote.quote-navy{border-color:#001f3f}blockquote.quote-navy h1,blockquote.quote-navy h2,blockquote.quote-navy h3,blockquote.quote-navy h4,blockquote.quote-navy h5,blockquote.quote-navy h6{color:#001f3f}blockquote.quote-olive{border-color:#3d9970}blockquote.quote-olive h1,blockquote.quote-olive h2,blockquote.quote-olive h3,blockquote.quote-olive h4,blockquote.quote-olive h5,blockquote.quote-olive h6{color:#3d9970}blockquote.quote-lime{border-color:#01ff70}blockquote.quote-lime h1,blockquote.quote-lime h2,blockquote.quote-lime h3,blockquote.quote-lime h4,blockquote.quote-lime h5,blockquote.quote-lime h6{color:#01ff70}blockquote.quote-fuchsia{border-color:#f012be}blockquote.quote-fuchsia h1,blockquote.quote-fuchsia h2,blockquote.quote-fuchsia h3,blockquote.quote-fuchsia h4,blockquote.quote-fuchsia h5,blockquote.quote-fuchsia h6{color:#f012be}blockquote.quote-maroon{border-color:#d81b60}blockquote.quote-maroon h1,blockquote.quote-maroon h2,blockquote.quote-maroon h3,blockquote.quote-maroon h4,blockquote.quote-maroon h5,blockquote.quote-maroon h6{color:#d81b60}blockquote.quote-blue{border-color:#007bff}blockquote.quote-blue h1,blockquote.quote-blue h2,blockquote.quote-blue h3,blockquote.quote-blue h4,blockquote.quote-blue h5,blockquote.quote-blue h6{color:#007bff}blockquote.quote-indigo{border-color:#6610f2}blockquote.quote-indigo h1,blockquote.quote-indigo h2,blockquote.quote-indigo h3,blockquote.quote-indigo h4,blockquote.quote-indigo h5,blockquote.quote-indigo h6{color:#6610f2}blockquote.quote-purple{border-color:#6f42c1}blockquote.quote-purple h1,blockquote.quote-purple h2,blockquote.quote-purple h3,blockquote.quote-purple h4,blockquote.quote-purple h5,blockquote.quote-purple h6{color:#6f42c1}blockquote.quote-pink{border-color:#e83e8c}blockquote.quote-pink h1,blockquote.quote-pink h2,blockquote.quote-pink h3,blockquote.quote-pink h4,blockquote.quote-pink h5,blockquote.quote-pink h6{color:#e83e8c}blockquote.quote-red{border-color:#dc3545}blockquote.quote-red h1,blockquote.quote-red h2,blockquote.quote-red h3,blockquote.quote-red h4,blockquote.quote-red h5,blockquote.quote-red h6{color:#dc3545}blockquote.quote-orange{border-color:#fd7e14}blockquote.quote-orange h1,blockquote.quote-orange h2,blockquote.quote-orange h3,blockquote.quote-orange h4,blockquote.quote-orange h5,blockquote.quote-orange h6{color:#fd7e14}blockquote.quote-yellow{border-color:#ffc107}blockquote.quote-yellow h1,blockquote.quote-yellow h2,blockquote.quote-yellow h3,blockquote.quote-yellow h4,blockquote.quote-yellow h5,blockquote.quote-yellow h6{color:#ffc107}blockquote.quote-green{border-color:#28a745}blockquote.quote-green h1,blockquote.quote-green h2,blockquote.quote-green h3,blockquote.quote-green h4,blockquote.quote-green h5,blockquote.quote-green h6{color:#28a745}blockquote.quote-teal{border-color:#20c997}blockquote.quote-teal h1,blockquote.quote-teal h2,blockquote.quote-teal h3,blockquote.quote-teal h4,blockquote.quote-teal h5,blockquote.quote-teal h6{color:#20c997}blockquote.quote-cyan{border-color:#17a2b8}blockquote.quote-cyan h1,blockquote.quote-cyan h2,blockquote.quote-cyan h3,blockquote.quote-cyan h4,blockquote.quote-cyan h5,blockquote.quote-cyan h6{color:#17a2b8}blockquote.quote-white{border-color:#fff}blockquote.quote-white h1,blockquote.quote-white h2,blockquote.quote-white h3,blockquote.quote-white h4,blockquote.quote-white h5,blockquote.quote-white h6{color:#fff}blockquote.quote-gray{border-color:#6c757d}blockquote.quote-gray h1,blockquote.quote-gray h2,blockquote.quote-gray h3,blockquote.quote-gray h4,blockquote.quote-gray h5,blockquote.quote-gray h6{color:#6c757d}blockquote.quote-gray-dark{border-color:#343a40}blockquote.quote-gray-dark h1,blockquote.quote-gray-dark h2,blockquote.quote-gray-dark h3,blockquote.quote-gray-dark h4,blockquote.quote-gray-dark h5,blockquote.quote-gray-dark h6{color:#343a40}.tab-custom-content{border-top:1px solid #dee2e6;margin-top:.5rem;padding-top:.5rem}.nav+.tab-custom-content{border-top:none;border-bottom:1px solid #dee2e6;margin-top:0;margin-bottom:.5rem;padding-bottom:.5rem}.badge-btn{border-radius:.15rem;font-size:.75rem;font-weight:400;padding:.25rem .5rem}.badge-btn.badge-pill{padding:.375rem .6rem}.dark-mode a:not(.btn):hover{color:#3395ff}.dark-mode .attachment-block{background-color:#3d444b}.dark-mode .attachment-block .attachment-text{color:#ced4da}.dark-mode blockquote{background-color:#3f474e}.dark-mode blockquote.quote-primary{border-color:#007bff}.dark-mode blockquote.quote-primary h1,.dark-mode blockquote.quote-primary h2,.dark-mode blockquote.quote-primary h3,.dark-mode blockquote.quote-primary h4,.dark-mode blockquote.quote-primary h5,.dark-mode blockquote.quote-primary h6{color:#007bff}.dark-mode blockquote.quote-secondary{border-color:#6c757d}.dark-mode blockquote.quote-secondary h1,.dark-mode blockquote.quote-secondary h2,.dark-mode blockquote.quote-secondary h3,.dark-mode blockquote.quote-secondary h4,.dark-mode blockquote.quote-secondary h5,.dark-mode blockquote.quote-secondary h6{color:#6c757d}.dark-mode blockquote.quote-success{border-color:#28a745}.dark-mode blockquote.quote-success h1,.dark-mode blockquote.quote-success h2,.dark-mode blockquote.quote-success h3,.dark-mode blockquote.quote-success h4,.dark-mode blockquote.quote-success h5,.dark-mode blockquote.quote-success h6{color:#28a745}.dark-mode blockquote.quote-info{border-color:#17a2b8}.dark-mode blockquote.quote-info h1,.dark-mode blockquote.quote-info h2,.dark-mode blockquote.quote-info h3,.dark-mode blockquote.quote-info h4,.dark-mode blockquote.quote-info h5,.dark-mode blockquote.quote-info h6{color:#17a2b8}.dark-mode blockquote.quote-warning{border-color:#ffc107}.dark-mode blockquote.quote-warning h1,.dark-mode blockquote.quote-warning h2,.dark-mode blockquote.quote-warning h3,.dark-mode blockquote.quote-warning h4,.dark-mode blockquote.quote-warning h5,.dark-mode blockquote.quote-warning h6{color:#ffc107}.dark-mode blockquote.quote-danger{border-color:#dc3545}.dark-mode blockquote.quote-danger h1,.dark-mode blockquote.quote-danger h2,.dark-mode blockquote.quote-danger h3,.dark-mode blockquote.quote-danger h4,.dark-mode blockquote.quote-danger h5,.dark-mode blockquote.quote-danger h6{color:#dc3545}.dark-mode blockquote.quote-light{border-color:#f8f9fa}.dark-mode blockquote.quote-light h1,.dark-mode blockquote.quote-light h2,.dark-mode blockquote.quote-light h3,.dark-mode blockquote.quote-light h4,.dark-mode blockquote.quote-light h5,.dark-mode blockquote.quote-light h6{color:#f8f9fa}.dark-mode blockquote.quote-dark{border-color:#343a40}.dark-mode blockquote.quote-dark h1,.dark-mode blockquote.quote-dark h2,.dark-mode blockquote.quote-dark h3,.dark-mode blockquote.quote-dark h4,.dark-mode blockquote.quote-dark h5,.dark-mode blockquote.quote-dark h6{color:#343a40}.dark-mode blockquote.quote-lightblue{border-color:#3c8dbc}.dark-mode blockquote.quote-lightblue h1,.dark-mode blockquote.quote-lightblue h2,.dark-mode blockquote.quote-lightblue h3,.dark-mode blockquote.quote-lightblue h4,.dark-mode blockquote.quote-lightblue h5,.dark-mode blockquote.quote-lightblue h6{color:#3c8dbc}.dark-mode blockquote.quote-navy{border-color:#001f3f}.dark-mode blockquote.quote-navy h1,.dark-mode blockquote.quote-navy h2,.dark-mode blockquote.quote-navy h3,.dark-mode blockquote.quote-navy h4,.dark-mode blockquote.quote-navy h5,.dark-mode blockquote.quote-navy h6{color:#001f3f}.dark-mode blockquote.quote-olive{border-color:#3d9970}.dark-mode blockquote.quote-olive h1,.dark-mode blockquote.quote-olive h2,.dark-mode blockquote.quote-olive h3,.dark-mode blockquote.quote-olive h4,.dark-mode blockquote.quote-olive h5,.dark-mode blockquote.quote-olive h6{color:#3d9970}.dark-mode blockquote.quote-lime{border-color:#01ff70}.dark-mode blockquote.quote-lime h1,.dark-mode blockquote.quote-lime h2,.dark-mode blockquote.quote-lime h3,.dark-mode blockquote.quote-lime h4,.dark-mode blockquote.quote-lime h5,.dark-mode blockquote.quote-lime h6{color:#01ff70}.dark-mode blockquote.quote-fuchsia{border-color:#f012be}.dark-mode blockquote.quote-fuchsia h1,.dark-mode blockquote.quote-fuchsia h2,.dark-mode blockquote.quote-fuchsia h3,.dark-mode blockquote.quote-fuchsia h4,.dark-mode blockquote.quote-fuchsia h5,.dark-mode blockquote.quote-fuchsia h6{color:#f012be}.dark-mode blockquote.quote-maroon{border-color:#d81b60}.dark-mode blockquote.quote-maroon h1,.dark-mode blockquote.quote-maroon h2,.dark-mode blockquote.quote-maroon h3,.dark-mode blockquote.quote-maroon h4,.dark-mode blockquote.quote-maroon h5,.dark-mode blockquote.quote-maroon h6{color:#d81b60}.dark-mode blockquote.quote-blue{border-color:#007bff}.dark-mode blockquote.quote-blue h1,.dark-mode blockquote.quote-blue h2,.dark-mode blockquote.quote-blue h3,.dark-mode blockquote.quote-blue h4,.dark-mode blockquote.quote-blue h5,.dark-mode blockquote.quote-blue h6{color:#007bff}.dark-mode blockquote.quote-indigo{border-color:#6610f2}.dark-mode blockquote.quote-indigo h1,.dark-mode blockquote.quote-indigo h2,.dark-mode blockquote.quote-indigo h3,.dark-mode blockquote.quote-indigo h4,.dark-mode blockquote.quote-indigo h5,.dark-mode blockquote.quote-indigo h6{color:#6610f2}.dark-mode blockquote.quote-purple{border-color:#6f42c1}.dark-mode blockquote.quote-purple h1,.dark-mode blockquote.quote-purple h2,.dark-mode blockquote.quote-purple h3,.dark-mode blockquote.quote-purple h4,.dark-mode blockquote.quote-purple h5,.dark-mode blockquote.quote-purple h6{color:#6f42c1}.dark-mode blockquote.quote-pink{border-color:#e83e8c}.dark-mode blockquote.quote-pink h1,.dark-mode blockquote.quote-pink h2,.dark-mode blockquote.quote-pink h3,.dark-mode blockquote.quote-pink h4,.dark-mode blockquote.quote-pink h5,.dark-mode blockquote.quote-pink h6{color:#e83e8c}.dark-mode blockquote.quote-red{border-color:#dc3545}.dark-mode blockquote.quote-red h1,.dark-mode blockquote.quote-red h2,.dark-mode blockquote.quote-red h3,.dark-mode blockquote.quote-red h4,.dark-mode blockquote.quote-red h5,.dark-mode blockquote.quote-red h6{color:#dc3545}.dark-mode blockquote.quote-orange{border-color:#fd7e14}.dark-mode blockquote.quote-orange h1,.dark-mode blockquote.quote-orange h2,.dark-mode blockquote.quote-orange h3,.dark-mode blockquote.quote-orange h4,.dark-mode blockquote.quote-orange h5,.dark-mode blockquote.quote-orange h6{color:#fd7e14}.dark-mode blockquote.quote-yellow{border-color:#ffc107}.dark-mode blockquote.quote-yellow h1,.dark-mode blockquote.quote-yellow h2,.dark-mode blockquote.quote-yellow h3,.dark-mode blockquote.quote-yellow h4,.dark-mode blockquote.quote-yellow h5,.dark-mode blockquote.quote-yellow h6{color:#ffc107}.dark-mode blockquote.quote-green{border-color:#28a745}.dark-mode blockquote.quote-green h1,.dark-mode blockquote.quote-green h2,.dark-mode blockquote.quote-green h3,.dark-mode blockquote.quote-green h4,.dark-mode blockquote.quote-green h5,.dark-mode blockquote.quote-green h6{color:#28a745}.dark-mode blockquote.quote-teal{border-color:#20c997}.dark-mode blockquote.quote-teal h1,.dark-mode blockquote.quote-teal h2,.dark-mode blockquote.quote-teal h3,.dark-mode blockquote.quote-teal h4,.dark-mode blockquote.quote-teal h5,.dark-mode blockquote.quote-teal h6{color:#20c997}.dark-mode blockquote.quote-cyan{border-color:#17a2b8}.dark-mode blockquote.quote-cyan h1,.dark-mode blockquote.quote-cyan h2,.dark-mode blockquote.quote-cyan h3,.dark-mode blockquote.quote-cyan h4,.dark-mode blockquote.quote-cyan h5,.dark-mode blockquote.quote-cyan h6{color:#17a2b8}.dark-mode blockquote.quote-white{border-color:#fff}.dark-mode blockquote.quote-white h1,.dark-mode blockquote.quote-white h2,.dark-mode blockquote.quote-white h3,.dark-mode blockquote.quote-white h4,.dark-mode blockquote.quote-white h5,.dark-mode blockquote.quote-white h6{color:#fff}.dark-mode blockquote.quote-gray{border-color:#6c757d}.dark-mode blockquote.quote-gray h1,.dark-mode blockquote.quote-gray h2,.dark-mode blockquote.quote-gray h3,.dark-mode blockquote.quote-gray h4,.dark-mode blockquote.quote-gray h5,.dark-mode blockquote.quote-gray h6{color:#6c757d}.dark-mode blockquote.quote-gray-dark{border-color:#343a40}.dark-mode blockquote.quote-gray-dark h1,.dark-mode blockquote.quote-gray-dark h2,.dark-mode blockquote.quote-gray-dark h3,.dark-mode blockquote.quote-gray-dark h4,.dark-mode blockquote.quote-gray-dark h5,.dark-mode blockquote.quote-gray-dark h6{color:#343a40}.dark-mode .close,.dark-mode .mailbox-attachment-close{color:#adb5bd;text-shadow:0 1px 0 #495057}.dark-mode .tab-custom-content{border-color:#6c757d}.dark-mode .list-group-item{background-color:#343a40;border-color:#6c757d}@media print{.content-header,.main-header,.main-sidebar,.no-print{display:none!important}.content-wrapper,.main-footer{-webkit-transform:translate(0,0);transform:translate(0,0);margin-left:0!important;min-height:0!important}.layout-fixed .content-wrapper{padding-top:0!important}.invoice{border:0;margin:0;padding:0;width:100%}.invoice-col{float:left;width:33.3333333%}.table-responsive{overflow:auto}.table-responsive>.table tr td,.table-responsive>.table tr th{white-space:normal!important}}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-md{font-size:1rem!important}.text-lg{font-size:1.25rem!important}.text-xl{font-size:2rem!important}.text-lightblue{color:#3c8dbc!important}.text-navy{color:#001f3f!important}.text-olive{color:#3d9970!important}.text-lime{color:#01ff70!important}.text-fuchsia{color:#f012be!important}.text-maroon{color:#d81b60!important}.text-blue{color:#007bff!important}.text-indigo{color:#6610f2!important}.text-purple{color:#6f42c1!important}.text-pink{color:#e83e8c!important}.text-red{color:#dc3545!important}.text-orange{color:#fd7e14!important}.text-yellow{color:#ffc107!important}.text-green{color:#28a745!important}.text-teal{color:#20c997!important}.text-cyan{color:#17a2b8!important}.text-white{color:#fff!important}.text-gray{color:#6c757d!important}.text-gray-dark{color:#343a40!important}.dark-mode .text-muted{color:#adb5bd!important}.dark-mode .text-lightblue{color:#86bad8!important}.dark-mode .text-navy{color:#002c59!important}.dark-mode .text-olive{color:#74c8a3!important}.dark-mode .text-lime{color:#67ffa9!important}.dark-mode .text-fuchsia{color:#f672d8!important}.dark-mode .text-maroon{color:#ed6c9b!important}.dark-mode .text-blue{color:#3f6791!important}.dark-mode .text-indigo{color:#6610f2!important}.dark-mode .text-purple{color:#6f42c1!important}.dark-mode .text-pink{color:#e83e8c!important}.dark-mode .text-red{color:#e74c3c!important}.dark-mode .text-orange{color:#fd7e14!important}.dark-mode .text-yellow{color:#f39c12!important}.dark-mode .text-green{color:#00bc8c!important}.dark-mode .text-teal{color:#20c997!important}.dark-mode .text-cyan{color:#3498db!important}.dark-mode .text-white{color:#fff!important}.dark-mode .text-gray{color:#6c757d!important}.dark-mode .text-gray-dark{color:#343a40!important}.elevation-0{box-shadow:none!important}.elevation-1{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.elevation-2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)!important}.elevation-3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)!important}.elevation-4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)!important}.elevation-5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)!important}.bg-primary{background-color:#007bff!important}.bg-primary,.bg-primary>a{color:#fff!important}.bg-primary.btn:hover{border-color:#0062cc;color:#ececec}.bg-primary.btn.active,.bg-primary.btn:active,.bg-primary.btn:not(:disabled):not(.disabled).active,.bg-primary.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.bg-secondary{background-color:#6c757d!important}.bg-secondary,.bg-secondary>a{color:#fff!important}.bg-secondary.btn:hover{border-color:#545b62;color:#ececec}.bg-secondary.btn.active,.bg-secondary.btn:active,.bg-secondary.btn:not(:disabled):not(.disabled).active,.bg-secondary.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.bg-success{background-color:#28a745!important}.bg-success,.bg-success>a{color:#fff!important}.bg-success.btn:hover{border-color:#1e7e34;color:#ececec}.bg-success.btn.active,.bg-success.btn:active,.bg-success.btn:not(:disabled):not(.disabled).active,.bg-success.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.bg-info{background-color:#17a2b8!important}.bg-info,.bg-info>a{color:#fff!important}.bg-info.btn:hover{border-color:#117a8b;color:#ececec}.bg-info.btn.active,.bg-info.btn:active,.bg-info.btn:not(:disabled):not(.disabled).active,.bg-info.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.bg-warning{background-color:#ffc107!important}.bg-warning,.bg-warning>a{color:#1f2d3d!important}.bg-warning.btn:hover{border-color:#d39e00;color:#121a24}.bg-warning.btn.active,.bg-warning.btn:active,.bg-warning.btn:not(:disabled):not(.disabled).active,.bg-warning.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.bg-danger{background-color:#dc3545!important}.bg-danger,.bg-danger>a{color:#fff!important}.bg-danger.btn:hover{border-color:#bd2130;color:#ececec}.bg-danger.btn.active,.bg-danger.btn:active,.bg-danger.btn:not(:disabled):not(.disabled).active,.bg-danger.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.bg-light{background-color:#f8f9fa!important}.bg-light,.bg-light>a{color:#1f2d3d!important}.bg-light.btn:hover{border-color:#dae0e5;color:#121a24}.bg-light.btn.active,.bg-light.btn:active,.bg-light.btn:not(:disabled):not(.disabled).active,.bg-light.btn:not(:disabled):not(.disabled):active{background-color:#dae0e5!important;border-color:#d3d9df;color:#1f2d3d}.bg-dark{background-color:#343a40!important}.bg-dark,.bg-dark>a{color:#fff!important}.bg-dark.btn:hover{border-color:#1d2124;color:#ececec}.bg-dark.btn.active,.bg-dark.btn:active,.bg-dark.btn:not(:disabled):not(.disabled).active,.bg-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.bg-lightblue{background-color:#3c8dbc!important}.bg-lightblue,.bg-lightblue>a{color:#fff!important}.bg-lightblue.btn:hover{border-color:#307095;color:#ececec}.bg-lightblue.btn.active,.bg-lightblue.btn:active,.bg-lightblue.btn:not(:disabled):not(.disabled).active,.bg-lightblue.btn:not(:disabled):not(.disabled):active{background-color:#307095!important;border-color:#2d698c;color:#fff}.bg-navy{background-color:#001f3f!important}.bg-navy,.bg-navy>a{color:#fff!important}.bg-navy.btn:hover{border-color:#00060c;color:#ececec}.bg-navy.btn.active,.bg-navy.btn:active,.bg-navy.btn:not(:disabled):not(.disabled).active,.bg-navy.btn:not(:disabled):not(.disabled):active{background-color:#00060c!important;border-color:#000;color:#fff}.bg-olive{background-color:#3d9970!important}.bg-olive,.bg-olive>a{color:#fff!important}.bg-olive.btn:hover{border-color:#2e7555;color:#ececec}.bg-olive.btn.active,.bg-olive.btn:active,.bg-olive.btn:not(:disabled):not(.disabled).active,.bg-olive.btn:not(:disabled):not(.disabled):active{background-color:#2e7555!important;border-color:#2b6b4f;color:#fff}.bg-lime{background-color:#01ff70!important}.bg-lime,.bg-lime>a{color:#1f2d3d!important}.bg-lime.btn:hover{border-color:#00cd5a;color:#121a24}.bg-lime.btn.active,.bg-lime.btn:active,.bg-lime.btn:not(:disabled):not(.disabled).active,.bg-lime.btn:not(:disabled):not(.disabled):active{background-color:#00cd5a!important;border-color:#00c054;color:#fff}.bg-fuchsia{background-color:#f012be!important}.bg-fuchsia,.bg-fuchsia>a{color:#fff!important}.bg-fuchsia.btn:hover{border-color:#c30c9a;color:#ececec}.bg-fuchsia.btn.active,.bg-fuchsia.btn:active,.bg-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-fuchsia.btn:not(:disabled):not(.disabled):active{background-color:#c30c9a!important;border-color:#b70c90;color:#fff}.bg-maroon{background-color:#d81b60!important}.bg-maroon,.bg-maroon>a{color:#fff!important}.bg-maroon.btn:hover{border-color:#ab154c;color:#ececec}.bg-maroon.btn.active,.bg-maroon.btn:active,.bg-maroon.btn:not(:disabled):not(.disabled).active,.bg-maroon.btn:not(:disabled):not(.disabled):active{background-color:#ab154c!important;border-color:#9f1447;color:#fff}.bg-blue{background-color:#007bff!important}.bg-blue,.bg-blue>a{color:#fff!important}.bg-blue.btn:hover{border-color:#0062cc;color:#ececec}.bg-blue.btn.active,.bg-blue.btn:active,.bg-blue.btn:not(:disabled):not(.disabled).active,.bg-blue.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.bg-indigo{background-color:#6610f2!important}.bg-indigo,.bg-indigo>a{color:#fff!important}.bg-indigo.btn:hover{border-color:#510bc4;color:#ececec}.bg-indigo.btn.active,.bg-indigo.btn:active,.bg-indigo.btn:not(:disabled):not(.disabled).active,.bg-indigo.btn:not(:disabled):not(.disabled):active{background-color:#510bc4!important;border-color:#4c0ab8;color:#fff}.bg-purple{background-color:#6f42c1!important}.bg-purple,.bg-purple>a{color:#fff!important}.bg-purple.btn:hover{border-color:#59339d;color:#ececec}.bg-purple.btn.active,.bg-purple.btn:active,.bg-purple.btn:not(:disabled):not(.disabled).active,.bg-purple.btn:not(:disabled):not(.disabled):active{background-color:#59339d!important;border-color:#533093;color:#fff}.bg-pink{background-color:#e83e8c!important}.bg-pink,.bg-pink>a{color:#fff!important}.bg-pink.btn:hover{border-color:#d91a72;color:#ececec}.bg-pink.btn.active,.bg-pink.btn:active,.bg-pink.btn:not(:disabled):not(.disabled).active,.bg-pink.btn:not(:disabled):not(.disabled):active{background-color:#d91a72!important;border-color:#ce196c;color:#fff}.bg-red{background-color:#dc3545!important}.bg-red,.bg-red>a{color:#fff!important}.bg-red.btn:hover{border-color:#bd2130;color:#ececec}.bg-red.btn.active,.bg-red.btn:active,.bg-red.btn:not(:disabled):not(.disabled).active,.bg-red.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.bg-orange{background-color:#fd7e14!important}.bg-orange,.bg-orange>a{color:#1f2d3d!important}.bg-orange.btn:hover{border-color:#dc6502;color:#121a24}.bg-orange.btn.active,.bg-orange.btn:active,.bg-orange.btn:not(:disabled):not(.disabled).active,.bg-orange.btn:not(:disabled):not(.disabled):active{background-color:#dc6502!important;border-color:#cf5f02;color:#fff}.bg-yellow{background-color:#ffc107!important}.bg-yellow,.bg-yellow>a{color:#1f2d3d!important}.bg-yellow.btn:hover{border-color:#d39e00;color:#121a24}.bg-yellow.btn.active,.bg-yellow.btn:active,.bg-yellow.btn:not(:disabled):not(.disabled).active,.bg-yellow.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.bg-green{background-color:#28a745!important}.bg-green,.bg-green>a{color:#fff!important}.bg-green.btn:hover{border-color:#1e7e34;color:#ececec}.bg-green.btn.active,.bg-green.btn:active,.bg-green.btn:not(:disabled):not(.disabled).active,.bg-green.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.bg-teal{background-color:#20c997!important}.bg-teal,.bg-teal>a{color:#fff!important}.bg-teal.btn:hover{border-color:#199d76;color:#ececec}.bg-teal.btn.active,.bg-teal.btn:active,.bg-teal.btn:not(:disabled):not(.disabled).active,.bg-teal.btn:not(:disabled):not(.disabled):active{background-color:#199d76!important;border-color:#17926e;color:#fff}.bg-cyan{background-color:#17a2b8!important}.bg-cyan,.bg-cyan>a{color:#fff!important}.bg-cyan.btn:hover{border-color:#117a8b;color:#ececec}.bg-cyan.btn.active,.bg-cyan.btn:active,.bg-cyan.btn:not(:disabled):not(.disabled).active,.bg-cyan.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.bg-white{background-color:#fff!important}.bg-white,.bg-white>a{color:#1f2d3d!important}.bg-white.btn:hover{border-color:#e6e6e6;color:#121a24}.bg-white.btn.active,.bg-white.btn:active,.bg-white.btn:not(:disabled):not(.disabled).active,.bg-white.btn:not(:disabled):not(.disabled):active{background-color:#e6e6e6!important;border-color:#dfdfdf;color:#1f2d3d}.bg-gray{background-color:#6c757d!important}.bg-gray,.bg-gray>a{color:#fff!important}.bg-gray.btn:hover{border-color:#545b62;color:#ececec}.bg-gray.btn.active,.bg-gray.btn:active,.bg-gray.btn:not(:disabled):not(.disabled).active,.bg-gray.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.bg-gray-dark{background-color:#343a40!important}.bg-gray-dark,.bg-gray-dark>a{color:#fff!important}.bg-gray-dark.btn:hover{border-color:#1d2124;color:#ececec}.bg-gray-dark.btn.active,.bg-gray-dark.btn:active,.bg-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gray-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}@media print{.table td.bg-primary,.table th.bg-primary{background-color:#007bff!important}.table td.bg-primary,.table td.bg-primary>a,.table th.bg-primary,.table th.bg-primary>a{color:#fff!important}.table td.bg-primary.btn:hover,.table th.bg-primary.btn:hover{border-color:#0062cc;color:#ececec}.table td.bg-primary.btn.active,.table td.bg-primary.btn:active,.table td.bg-primary.btn:not(:disabled):not(.disabled).active,.table td.bg-primary.btn:not(:disabled):not(.disabled):active,.table th.bg-primary.btn.active,.table th.bg-primary.btn:active,.table th.bg-primary.btn:not(:disabled):not(.disabled).active,.table th.bg-primary.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.table td.bg-secondary,.table th.bg-secondary{background-color:#6c757d!important}.table td.bg-secondary,.table td.bg-secondary>a,.table th.bg-secondary,.table th.bg-secondary>a{color:#fff!important}.table td.bg-secondary.btn:hover,.table th.bg-secondary.btn:hover{border-color:#545b62;color:#ececec}.table td.bg-secondary.btn.active,.table td.bg-secondary.btn:active,.table td.bg-secondary.btn:not(:disabled):not(.disabled).active,.table td.bg-secondary.btn:not(:disabled):not(.disabled):active,.table th.bg-secondary.btn.active,.table th.bg-secondary.btn:active,.table th.bg-secondary.btn:not(:disabled):not(.disabled).active,.table th.bg-secondary.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.table td.bg-success,.table th.bg-success{background-color:#28a745!important}.table td.bg-success,.table td.bg-success>a,.table th.bg-success,.table th.bg-success>a{color:#fff!important}.table td.bg-success.btn:hover,.table th.bg-success.btn:hover{border-color:#1e7e34;color:#ececec}.table td.bg-success.btn.active,.table td.bg-success.btn:active,.table td.bg-success.btn:not(:disabled):not(.disabled).active,.table td.bg-success.btn:not(:disabled):not(.disabled):active,.table th.bg-success.btn.active,.table th.bg-success.btn:active,.table th.bg-success.btn:not(:disabled):not(.disabled).active,.table th.bg-success.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.table td.bg-info,.table th.bg-info{background-color:#17a2b8!important}.table td.bg-info,.table td.bg-info>a,.table th.bg-info,.table th.bg-info>a{color:#fff!important}.table td.bg-info.btn:hover,.table th.bg-info.btn:hover{border-color:#117a8b;color:#ececec}.table td.bg-info.btn.active,.table td.bg-info.btn:active,.table td.bg-info.btn:not(:disabled):not(.disabled).active,.table td.bg-info.btn:not(:disabled):not(.disabled):active,.table th.bg-info.btn.active,.table th.bg-info.btn:active,.table th.bg-info.btn:not(:disabled):not(.disabled).active,.table th.bg-info.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.table td.bg-warning,.table th.bg-warning{background-color:#ffc107!important}.table td.bg-warning,.table td.bg-warning>a,.table th.bg-warning,.table th.bg-warning>a{color:#1f2d3d!important}.table td.bg-warning.btn:hover,.table th.bg-warning.btn:hover{border-color:#d39e00;color:#121a24}.table td.bg-warning.btn.active,.table td.bg-warning.btn:active,.table td.bg-warning.btn:not(:disabled):not(.disabled).active,.table td.bg-warning.btn:not(:disabled):not(.disabled):active,.table th.bg-warning.btn.active,.table th.bg-warning.btn:active,.table th.bg-warning.btn:not(:disabled):not(.disabled).active,.table th.bg-warning.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.table td.bg-danger,.table th.bg-danger{background-color:#dc3545!important}.table td.bg-danger,.table td.bg-danger>a,.table th.bg-danger,.table th.bg-danger>a{color:#fff!important}.table td.bg-danger.btn:hover,.table th.bg-danger.btn:hover{border-color:#bd2130;color:#ececec}.table td.bg-danger.btn.active,.table td.bg-danger.btn:active,.table td.bg-danger.btn:not(:disabled):not(.disabled).active,.table td.bg-danger.btn:not(:disabled):not(.disabled):active,.table th.bg-danger.btn.active,.table th.bg-danger.btn:active,.table th.bg-danger.btn:not(:disabled):not(.disabled).active,.table th.bg-danger.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.table td.bg-light,.table th.bg-light{background-color:#f8f9fa!important}.table td.bg-light,.table td.bg-light>a,.table th.bg-light,.table th.bg-light>a{color:#1f2d3d!important}.table td.bg-light.btn:hover,.table th.bg-light.btn:hover{border-color:#dae0e5;color:#121a24}.table td.bg-light.btn.active,.table td.bg-light.btn:active,.table td.bg-light.btn:not(:disabled):not(.disabled).active,.table td.bg-light.btn:not(:disabled):not(.disabled):active,.table th.bg-light.btn.active,.table th.bg-light.btn:active,.table th.bg-light.btn:not(:disabled):not(.disabled).active,.table th.bg-light.btn:not(:disabled):not(.disabled):active{background-color:#dae0e5!important;border-color:#d3d9df;color:#1f2d3d}.table td.bg-dark,.table th.bg-dark{background-color:#343a40!important}.table td.bg-dark,.table td.bg-dark>a,.table th.bg-dark,.table th.bg-dark>a{color:#fff!important}.table td.bg-dark.btn:hover,.table th.bg-dark.btn:hover{border-color:#1d2124;color:#ececec}.table td.bg-dark.btn.active,.table td.bg-dark.btn:active,.table td.bg-dark.btn:not(:disabled):not(.disabled).active,.table td.bg-dark.btn:not(:disabled):not(.disabled):active,.table th.bg-dark.btn.active,.table th.bg-dark.btn:active,.table th.bg-dark.btn:not(:disabled):not(.disabled).active,.table th.bg-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.table td.bg-lightblue,.table th.bg-lightblue{background-color:#3c8dbc!important}.table td.bg-lightblue,.table td.bg-lightblue>a,.table th.bg-lightblue,.table th.bg-lightblue>a{color:#fff!important}.table td.bg-lightblue.btn:hover,.table th.bg-lightblue.btn:hover{border-color:#307095;color:#ececec}.table td.bg-lightblue.btn.active,.table td.bg-lightblue.btn:active,.table td.bg-lightblue.btn:not(:disabled):not(.disabled).active,.table td.bg-lightblue.btn:not(:disabled):not(.disabled):active,.table th.bg-lightblue.btn.active,.table th.bg-lightblue.btn:active,.table th.bg-lightblue.btn:not(:disabled):not(.disabled).active,.table th.bg-lightblue.btn:not(:disabled):not(.disabled):active{background-color:#307095!important;border-color:#2d698c;color:#fff}.table td.bg-navy,.table th.bg-navy{background-color:#001f3f!important}.table td.bg-navy,.table td.bg-navy>a,.table th.bg-navy,.table th.bg-navy>a{color:#fff!important}.table td.bg-navy.btn:hover,.table th.bg-navy.btn:hover{border-color:#00060c;color:#ececec}.table td.bg-navy.btn.active,.table td.bg-navy.btn:active,.table td.bg-navy.btn:not(:disabled):not(.disabled).active,.table td.bg-navy.btn:not(:disabled):not(.disabled):active,.table th.bg-navy.btn.active,.table th.bg-navy.btn:active,.table th.bg-navy.btn:not(:disabled):not(.disabled).active,.table th.bg-navy.btn:not(:disabled):not(.disabled):active{background-color:#00060c!important;border-color:#000;color:#fff}.table td.bg-olive,.table th.bg-olive{background-color:#3d9970!important}.table td.bg-olive,.table td.bg-olive>a,.table th.bg-olive,.table th.bg-olive>a{color:#fff!important}.table td.bg-olive.btn:hover,.table th.bg-olive.btn:hover{border-color:#2e7555;color:#ececec}.table td.bg-olive.btn.active,.table td.bg-olive.btn:active,.table td.bg-olive.btn:not(:disabled):not(.disabled).active,.table td.bg-olive.btn:not(:disabled):not(.disabled):active,.table th.bg-olive.btn.active,.table th.bg-olive.btn:active,.table th.bg-olive.btn:not(:disabled):not(.disabled).active,.table th.bg-olive.btn:not(:disabled):not(.disabled):active{background-color:#2e7555!important;border-color:#2b6b4f;color:#fff}.table td.bg-lime,.table th.bg-lime{background-color:#01ff70!important}.table td.bg-lime,.table td.bg-lime>a,.table th.bg-lime,.table th.bg-lime>a{color:#1f2d3d!important}.table td.bg-lime.btn:hover,.table th.bg-lime.btn:hover{border-color:#00cd5a;color:#121a24}.table td.bg-lime.btn.active,.table td.bg-lime.btn:active,.table td.bg-lime.btn:not(:disabled):not(.disabled).active,.table td.bg-lime.btn:not(:disabled):not(.disabled):active,.table th.bg-lime.btn.active,.table th.bg-lime.btn:active,.table th.bg-lime.btn:not(:disabled):not(.disabled).active,.table th.bg-lime.btn:not(:disabled):not(.disabled):active{background-color:#00cd5a!important;border-color:#00c054;color:#fff}.table td.bg-fuchsia,.table th.bg-fuchsia{background-color:#f012be!important}.table td.bg-fuchsia,.table td.bg-fuchsia>a,.table th.bg-fuchsia,.table th.bg-fuchsia>a{color:#fff!important}.table td.bg-fuchsia.btn:hover,.table th.bg-fuchsia.btn:hover{border-color:#c30c9a;color:#ececec}.table td.bg-fuchsia.btn.active,.table td.bg-fuchsia.btn:active,.table td.bg-fuchsia.btn:not(:disabled):not(.disabled).active,.table td.bg-fuchsia.btn:not(:disabled):not(.disabled):active,.table th.bg-fuchsia.btn.active,.table th.bg-fuchsia.btn:active,.table th.bg-fuchsia.btn:not(:disabled):not(.disabled).active,.table th.bg-fuchsia.btn:not(:disabled):not(.disabled):active{background-color:#c30c9a!important;border-color:#b70c90;color:#fff}.table td.bg-maroon,.table th.bg-maroon{background-color:#d81b60!important}.table td.bg-maroon,.table td.bg-maroon>a,.table th.bg-maroon,.table th.bg-maroon>a{color:#fff!important}.table td.bg-maroon.btn:hover,.table th.bg-maroon.btn:hover{border-color:#ab154c;color:#ececec}.table td.bg-maroon.btn.active,.table td.bg-maroon.btn:active,.table td.bg-maroon.btn:not(:disabled):not(.disabled).active,.table td.bg-maroon.btn:not(:disabled):not(.disabled):active,.table th.bg-maroon.btn.active,.table th.bg-maroon.btn:active,.table th.bg-maroon.btn:not(:disabled):not(.disabled).active,.table th.bg-maroon.btn:not(:disabled):not(.disabled):active{background-color:#ab154c!important;border-color:#9f1447;color:#fff}.table td.bg-blue,.table th.bg-blue{background-color:#007bff!important}.table td.bg-blue,.table td.bg-blue>a,.table th.bg-blue,.table th.bg-blue>a{color:#fff!important}.table td.bg-blue.btn:hover,.table th.bg-blue.btn:hover{border-color:#0062cc;color:#ececec}.table td.bg-blue.btn.active,.table td.bg-blue.btn:active,.table td.bg-blue.btn:not(:disabled):not(.disabled).active,.table td.bg-blue.btn:not(:disabled):not(.disabled):active,.table th.bg-blue.btn.active,.table th.bg-blue.btn:active,.table th.bg-blue.btn:not(:disabled):not(.disabled).active,.table th.bg-blue.btn:not(:disabled):not(.disabled):active{background-color:#0062cc!important;border-color:#005cbf;color:#fff}.table td.bg-indigo,.table th.bg-indigo{background-color:#6610f2!important}.table td.bg-indigo,.table td.bg-indigo>a,.table th.bg-indigo,.table th.bg-indigo>a{color:#fff!important}.table td.bg-indigo.btn:hover,.table th.bg-indigo.btn:hover{border-color:#510bc4;color:#ececec}.table td.bg-indigo.btn.active,.table td.bg-indigo.btn:active,.table td.bg-indigo.btn:not(:disabled):not(.disabled).active,.table td.bg-indigo.btn:not(:disabled):not(.disabled):active,.table th.bg-indigo.btn.active,.table th.bg-indigo.btn:active,.table th.bg-indigo.btn:not(:disabled):not(.disabled).active,.table th.bg-indigo.btn:not(:disabled):not(.disabled):active{background-color:#510bc4!important;border-color:#4c0ab8;color:#fff}.table td.bg-purple,.table th.bg-purple{background-color:#6f42c1!important}.table td.bg-purple,.table td.bg-purple>a,.table th.bg-purple,.table th.bg-purple>a{color:#fff!important}.table td.bg-purple.btn:hover,.table th.bg-purple.btn:hover{border-color:#59339d;color:#ececec}.table td.bg-purple.btn.active,.table td.bg-purple.btn:active,.table td.bg-purple.btn:not(:disabled):not(.disabled).active,.table td.bg-purple.btn:not(:disabled):not(.disabled):active,.table th.bg-purple.btn.active,.table th.bg-purple.btn:active,.table th.bg-purple.btn:not(:disabled):not(.disabled).active,.table th.bg-purple.btn:not(:disabled):not(.disabled):active{background-color:#59339d!important;border-color:#533093;color:#fff}.table td.bg-pink,.table th.bg-pink{background-color:#e83e8c!important}.table td.bg-pink,.table td.bg-pink>a,.table th.bg-pink,.table th.bg-pink>a{color:#fff!important}.table td.bg-pink.btn:hover,.table th.bg-pink.btn:hover{border-color:#d91a72;color:#ececec}.table td.bg-pink.btn.active,.table td.bg-pink.btn:active,.table td.bg-pink.btn:not(:disabled):not(.disabled).active,.table td.bg-pink.btn:not(:disabled):not(.disabled):active,.table th.bg-pink.btn.active,.table th.bg-pink.btn:active,.table th.bg-pink.btn:not(:disabled):not(.disabled).active,.table th.bg-pink.btn:not(:disabled):not(.disabled):active{background-color:#d91a72!important;border-color:#ce196c;color:#fff}.table td.bg-red,.table th.bg-red{background-color:#dc3545!important}.table td.bg-red,.table td.bg-red>a,.table th.bg-red,.table th.bg-red>a{color:#fff!important}.table td.bg-red.btn:hover,.table th.bg-red.btn:hover{border-color:#bd2130;color:#ececec}.table td.bg-red.btn.active,.table td.bg-red.btn:active,.table td.bg-red.btn:not(:disabled):not(.disabled).active,.table td.bg-red.btn:not(:disabled):not(.disabled):active,.table th.bg-red.btn.active,.table th.bg-red.btn:active,.table th.bg-red.btn:not(:disabled):not(.disabled).active,.table th.bg-red.btn:not(:disabled):not(.disabled):active{background-color:#bd2130!important;border-color:#b21f2d;color:#fff}.table td.bg-orange,.table th.bg-orange{background-color:#fd7e14!important}.table td.bg-orange,.table td.bg-orange>a,.table th.bg-orange,.table th.bg-orange>a{color:#1f2d3d!important}.table td.bg-orange.btn:hover,.table th.bg-orange.btn:hover{border-color:#dc6502;color:#121a24}.table td.bg-orange.btn.active,.table td.bg-orange.btn:active,.table td.bg-orange.btn:not(:disabled):not(.disabled).active,.table td.bg-orange.btn:not(:disabled):not(.disabled):active,.table th.bg-orange.btn.active,.table th.bg-orange.btn:active,.table th.bg-orange.btn:not(:disabled):not(.disabled).active,.table th.bg-orange.btn:not(:disabled):not(.disabled):active{background-color:#dc6502!important;border-color:#cf5f02;color:#fff}.table td.bg-yellow,.table th.bg-yellow{background-color:#ffc107!important}.table td.bg-yellow,.table td.bg-yellow>a,.table th.bg-yellow,.table th.bg-yellow>a{color:#1f2d3d!important}.table td.bg-yellow.btn:hover,.table th.bg-yellow.btn:hover{border-color:#d39e00;color:#121a24}.table td.bg-yellow.btn.active,.table td.bg-yellow.btn:active,.table td.bg-yellow.btn:not(:disabled):not(.disabled).active,.table td.bg-yellow.btn:not(:disabled):not(.disabled):active,.table th.bg-yellow.btn.active,.table th.bg-yellow.btn:active,.table th.bg-yellow.btn:not(:disabled):not(.disabled).active,.table th.bg-yellow.btn:not(:disabled):not(.disabled):active{background-color:#d39e00!important;border-color:#c69500;color:#1f2d3d}.table td.bg-green,.table th.bg-green{background-color:#28a745!important}.table td.bg-green,.table td.bg-green>a,.table th.bg-green,.table th.bg-green>a{color:#fff!important}.table td.bg-green.btn:hover,.table th.bg-green.btn:hover{border-color:#1e7e34;color:#ececec}.table td.bg-green.btn.active,.table td.bg-green.btn:active,.table td.bg-green.btn:not(:disabled):not(.disabled).active,.table td.bg-green.btn:not(:disabled):not(.disabled):active,.table th.bg-green.btn.active,.table th.bg-green.btn:active,.table th.bg-green.btn:not(:disabled):not(.disabled).active,.table th.bg-green.btn:not(:disabled):not(.disabled):active{background-color:#1e7e34!important;border-color:#1c7430;color:#fff}.table td.bg-teal,.table th.bg-teal{background-color:#20c997!important}.table td.bg-teal,.table td.bg-teal>a,.table th.bg-teal,.table th.bg-teal>a{color:#fff!important}.table td.bg-teal.btn:hover,.table th.bg-teal.btn:hover{border-color:#199d76;color:#ececec}.table td.bg-teal.btn.active,.table td.bg-teal.btn:active,.table td.bg-teal.btn:not(:disabled):not(.disabled).active,.table td.bg-teal.btn:not(:disabled):not(.disabled):active,.table th.bg-teal.btn.active,.table th.bg-teal.btn:active,.table th.bg-teal.btn:not(:disabled):not(.disabled).active,.table th.bg-teal.btn:not(:disabled):not(.disabled):active{background-color:#199d76!important;border-color:#17926e;color:#fff}.table td.bg-cyan,.table th.bg-cyan{background-color:#17a2b8!important}.table td.bg-cyan,.table td.bg-cyan>a,.table th.bg-cyan,.table th.bg-cyan>a{color:#fff!important}.table td.bg-cyan.btn:hover,.table th.bg-cyan.btn:hover{border-color:#117a8b;color:#ececec}.table td.bg-cyan.btn.active,.table td.bg-cyan.btn:active,.table td.bg-cyan.btn:not(:disabled):not(.disabled).active,.table td.bg-cyan.btn:not(:disabled):not(.disabled):active,.table th.bg-cyan.btn.active,.table th.bg-cyan.btn:active,.table th.bg-cyan.btn:not(:disabled):not(.disabled).active,.table th.bg-cyan.btn:not(:disabled):not(.disabled):active{background-color:#117a8b!important;border-color:#10707f;color:#fff}.table td.bg-white,.table th.bg-white{background-color:#fff!important}.table td.bg-white,.table td.bg-white>a,.table th.bg-white,.table th.bg-white>a{color:#1f2d3d!important}.table td.bg-white.btn:hover,.table th.bg-white.btn:hover{border-color:#e6e6e6;color:#121a24}.table td.bg-white.btn.active,.table td.bg-white.btn:active,.table td.bg-white.btn:not(:disabled):not(.disabled).active,.table td.bg-white.btn:not(:disabled):not(.disabled):active,.table th.bg-white.btn.active,.table th.bg-white.btn:active,.table th.bg-white.btn:not(:disabled):not(.disabled).active,.table th.bg-white.btn:not(:disabled):not(.disabled):active{background-color:#e6e6e6!important;border-color:#dfdfdf;color:#1f2d3d}.table td.bg-gray,.table th.bg-gray{background-color:#6c757d!important}.table td.bg-gray,.table td.bg-gray>a,.table th.bg-gray,.table th.bg-gray>a{color:#fff!important}.table td.bg-gray.btn:hover,.table th.bg-gray.btn:hover{border-color:#545b62;color:#ececec}.table td.bg-gray.btn.active,.table td.bg-gray.btn:active,.table td.bg-gray.btn:not(:disabled):not(.disabled).active,.table td.bg-gray.btn:not(:disabled):not(.disabled):active,.table th.bg-gray.btn.active,.table th.bg-gray.btn:active,.table th.bg-gray.btn:not(:disabled):not(.disabled).active,.table th.bg-gray.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.table td.bg-gray-dark,.table th.bg-gray-dark{background-color:#343a40!important}.table td.bg-gray-dark,.table td.bg-gray-dark>a,.table th.bg-gray-dark,.table th.bg-gray-dark>a{color:#fff!important}.table td.bg-gray-dark.btn:hover,.table th.bg-gray-dark.btn:hover{border-color:#1d2124;color:#ececec}.table td.bg-gray-dark.btn.active,.table td.bg-gray-dark.btn:active,.table td.bg-gray-dark.btn:not(:disabled):not(.disabled).active,.table td.bg-gray-dark.btn:not(:disabled):not(.disabled):active,.table th.bg-gray-dark.btn.active,.table th.bg-gray-dark.btn:active,.table th.bg-gray-dark.btn:not(:disabled):not(.disabled).active,.table th.bg-gray-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}}.bg-gray{background-color:#adb5bd;color:#1f2d3d}.bg-gray-light{background-color:#f2f4f5;color:#1f2d3d!important}.bg-black{background-color:#000;color:#fff!important}.bg-white{background-color:#fff;color:#1f2d3d!important}.bg-gradient-primary{background:#007bff linear-gradient(180deg,#268fff,#007bff) repeat-x!important;color:#fff}.bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.bg-gradient-primary.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-primary.btn.dropdown-toggle{background-image:none!important}.bg-gradient-primary.btn:hover{background:#007bff linear-gradient(180deg,#267fde,#0069d9) repeat-x!important;border-color:#0062cc;color:#ececec}.bg-gradient-primary.btn.active,.bg-gradient-primary.btn:active,.bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.bg-gradient-primary.btn:not(:disabled):not(.disabled):active{background:#007bff linear-gradient(180deg,#267ad4,#0062cc) repeat-x!important;border-color:#005cbf;color:#fff}.bg-gradient-primary.btn.disabled,.bg-gradient-primary.btn:disabled{background-image:none!important;border-color:#007bff;color:#fff}.bg-gradient-secondary{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-secondary.btn.dropdown-toggle{background-image:none!important}.bg-gradient-secondary.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.bg-gradient-secondary.btn.active,.bg-gradient-secondary.btn:active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.bg-gradient-secondary.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.bg-gradient-secondary.btn.disabled,.bg-gradient-secondary.btn:disabled{background-image:none!important;border-color:#6c757d;color:#fff}.bg-gradient-success{background:#28a745 linear-gradient(180deg,#48b461,#28a745) repeat-x!important;color:#fff}.bg-gradient-success.btn:not(:disabled):not(.disabled).active,.bg-gradient-success.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-success.btn.dropdown-toggle{background-image:none!important}.bg-gradient-success.btn:hover{background:#28a745 linear-gradient(180deg,#429a56,#218838) repeat-x!important;border-color:#1e7e34;color:#ececec}.bg-gradient-success.btn.active,.bg-gradient-success.btn:active,.bg-gradient-success.btn:not(:disabled):not(.disabled).active,.bg-gradient-success.btn:not(:disabled):not(.disabled):active{background:#28a745 linear-gradient(180deg,#409152,#1e7e34) repeat-x!important;border-color:#1c7430;color:#fff}.bg-gradient-success.btn.disabled,.bg-gradient-success.btn:disabled{background-image:none!important;border-color:#28a745;color:#fff}.bg-gradient-info{background:#17a2b8 linear-gradient(180deg,#3ab0c3,#17a2b8) repeat-x!important;color:#fff}.bg-gradient-info.btn:not(:disabled):not(.disabled).active,.bg-gradient-info.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-info.btn.dropdown-toggle{background-image:none!important}.bg-gradient-info.btn:hover{background:#17a2b8 linear-gradient(180deg,#3697a6,#138496) repeat-x!important;border-color:#117a8b;color:#ececec}.bg-gradient-info.btn.active,.bg-gradient-info.btn:active,.bg-gradient-info.btn:not(:disabled):not(.disabled).active,.bg-gradient-info.btn:not(:disabled):not(.disabled):active{background:#17a2b8 linear-gradient(180deg,#358e9c,#117a8b) repeat-x!important;border-color:#10707f;color:#fff}.bg-gradient-info.btn.disabled,.bg-gradient-info.btn:disabled{background-image:none!important;border-color:#17a2b8;color:#fff}.bg-gradient-warning{background:#ffc107 linear-gradient(180deg,#ffca2c,#ffc107) repeat-x!important;color:#1f2d3d}.bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.bg-gradient-warning.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-warning.btn.dropdown-toggle{background-image:none!important}.bg-gradient-warning.btn:hover{background:#ffc107 linear-gradient(180deg,#e4b526,#e0a800) repeat-x!important;border-color:#d39e00;color:#121a24}.bg-gradient-warning.btn.active,.bg-gradient-warning.btn:active,.bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.bg-gradient-warning.btn:not(:disabled):not(.disabled):active{background:#ffc107 linear-gradient(180deg,#daad26,#d39e00) repeat-x!important;border-color:#c69500;color:#1f2d3d}.bg-gradient-warning.btn.disabled,.bg-gradient-warning.btn:disabled{background-image:none!important;border-color:#ffc107;color:#1f2d3d}.bg-gradient-danger{background:#dc3545 linear-gradient(180deg,#e15361,#dc3545) repeat-x!important;color:#fff}.bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.bg-gradient-danger.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-danger.btn.dropdown-toggle{background-image:none!important}.bg-gradient-danger.btn:hover{background:#dc3545 linear-gradient(180deg,#d04451,#c82333) repeat-x!important;border-color:#bd2130;color:#ececec}.bg-gradient-danger.btn.active,.bg-gradient-danger.btn:active,.bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.bg-gradient-danger.btn:not(:disabled):not(.disabled):active{background:#dc3545 linear-gradient(180deg,#c7424f,#bd2130) repeat-x!important;border-color:#b21f2d;color:#fff}.bg-gradient-danger.btn.disabled,.bg-gradient-danger.btn:disabled{background-image:none!important;border-color:#dc3545;color:#fff}.bg-gradient-light{background:#f8f9fa linear-gradient(180deg,#f9fafb,#f8f9fa) repeat-x!important;color:#1f2d3d}.bg-gradient-light.btn:not(:disabled):not(.disabled).active,.bg-gradient-light.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-light.btn.dropdown-toggle{background-image:none!important}.bg-gradient-light.btn:hover{background:#f8f9fa linear-gradient(180deg,#e6eaed,#e2e6ea) repeat-x!important;border-color:#dae0e5;color:#121a24}.bg-gradient-light.btn.active,.bg-gradient-light.btn:active,.bg-gradient-light.btn:not(:disabled):not(.disabled).active,.bg-gradient-light.btn:not(:disabled):not(.disabled):active{background:#f8f9fa linear-gradient(180deg,#e0e4e9,#dae0e5) repeat-x!important;border-color:#d3d9df;color:#1f2d3d}.bg-gradient-light.btn.disabled,.bg-gradient-light.btn:disabled{background-image:none!important;border-color:#f8f9fa;color:#1f2d3d}.bg-gradient-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-dark.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-dark.btn.dropdown-toggle{background-image:none!important}.bg-gradient-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.bg-gradient-dark.btn.active,.bg-gradient-dark.btn:active,.bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.bg-gradient-dark.btn.disabled,.bg-gradient-dark.btn:disabled{background-image:none!important;border-color:#343a40;color:#fff}.bg-gradient-lightblue{background:#3c8dbc linear-gradient(180deg,#599ec6,#3c8dbc) repeat-x!important;color:#fff}.bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-lightblue.btn.dropdown-toggle{background-image:none!important}.bg-gradient-lightblue.btn:hover{background:#3c8dbc linear-gradient(180deg,#518cad,#33779f) repeat-x!important;border-color:#307095;color:#ececec}.bg-gradient-lightblue.btn.active,.bg-gradient-lightblue.btn:active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active{background:#3c8dbc linear-gradient(180deg,#4f85a5,#307095) repeat-x!important;border-color:#2d698c;color:#fff}.bg-gradient-lightblue.btn.disabled,.bg-gradient-lightblue.btn:disabled{background-image:none!important;border-color:#3c8dbc;color:#fff}.bg-gradient-navy{background:#001f3f linear-gradient(180deg,#26415c,#001f3f) repeat-x!important;color:#fff}.bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.bg-gradient-navy.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-navy.btn.dropdown-toggle{background-image:none!important}.bg-gradient-navy.btn:hover{background:#001f3f linear-gradient(180deg,#26313b,#000c19) repeat-x!important;border-color:#00060c;color:#ececec}.bg-gradient-navy.btn.active,.bg-gradient-navy.btn:active,.bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.bg-gradient-navy.btn:not(:disabled):not(.disabled):active{background:#001f3f linear-gradient(180deg,#262b30,#00060c) repeat-x!important;border-color:#000;color:#fff}.bg-gradient-navy.btn.disabled,.bg-gradient-navy.btn:disabled{background-image:none!important;border-color:#001f3f;color:#fff}.bg-gradient-olive{background:#3d9970 linear-gradient(180deg,#5aa885,#3d9970) repeat-x!important;color:#fff}.bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.bg-gradient-olive.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-olive.btn.dropdown-toggle{background-image:none!important}.bg-gradient-olive.btn:hover{background:#3d9970 linear-gradient(180deg,#519174,#327e5c) repeat-x!important;border-color:#2e7555;color:#ececec}.bg-gradient-olive.btn.active,.bg-gradient-olive.btn:active,.bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.bg-gradient-olive.btn:not(:disabled):not(.disabled):active{background:#3d9970 linear-gradient(180deg,#4e896f,#2e7555) repeat-x!important;border-color:#2b6b4f;color:#fff}.bg-gradient-olive.btn.disabled,.bg-gradient-olive.btn:disabled{background-image:none!important;border-color:#3d9970;color:#fff}.bg-gradient-lime{background:#01ff70 linear-gradient(180deg,#27ff85,#01ff70) repeat-x!important;color:#1f2d3d}.bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.bg-gradient-lime.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-lime.btn.dropdown-toggle{background-image:none!important}.bg-gradient-lime.btn:hover{background:#01ff70 linear-gradient(180deg,#26df77,#00da5f) repeat-x!important;border-color:#00cd5a;color:#121a24}.bg-gradient-lime.btn.active,.bg-gradient-lime.btn:active,.bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.bg-gradient-lime.btn:not(:disabled):not(.disabled):active{background:#01ff70 linear-gradient(180deg,#26d572,#00cd5a) repeat-x!important;border-color:#00c054;color:#fff}.bg-gradient-lime.btn.disabled,.bg-gradient-lime.btn:disabled{background-image:none!important;border-color:#01ff70;color:#1f2d3d}.bg-gradient-fuchsia{background:#f012be linear-gradient(180deg,#f236c8,#f012be) repeat-x!important;color:#fff}.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-fuchsia.btn.dropdown-toggle{background-image:none!important}.bg-gradient-fuchsia.btn:hover{background:#f012be linear-gradient(180deg,#d631b1,#cf0da3) repeat-x!important;border-color:#c30c9a;color:#ececec}.bg-gradient-fuchsia.btn.active,.bg-gradient-fuchsia.btn:active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active{background:#f012be linear-gradient(180deg,#cc31a9,#c30c9a) repeat-x!important;border-color:#b70c90;color:#fff}.bg-gradient-fuchsia.btn.disabled,.bg-gradient-fuchsia.btn:disabled{background-image:none!important;border-color:#f012be;color:#fff}.bg-gradient-maroon{background:#d81b60 linear-gradient(180deg,#de3d78,#d81b60) repeat-x!important;color:#fff}.bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-maroon.btn.dropdown-toggle{background-image:none!important}.bg-gradient-maroon.btn:hover{background:#d81b60 linear-gradient(180deg,#c13a6b,#b61751) repeat-x!important;border-color:#ab154c;color:#ececec}.bg-gradient-maroon.btn.active,.bg-gradient-maroon.btn:active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.bg-gradient-maroon.btn:not(:disabled):not(.disabled):active{background:#d81b60 linear-gradient(180deg,#b73867,#ab154c) repeat-x!important;border-color:#9f1447;color:#fff}.bg-gradient-maroon.btn.disabled,.bg-gradient-maroon.btn:disabled{background-image:none!important;border-color:#d81b60;color:#fff}.bg-gradient-blue{background:#007bff linear-gradient(180deg,#268fff,#007bff) repeat-x!important;color:#fff}.bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.bg-gradient-blue.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-blue.btn.dropdown-toggle{background-image:none!important}.bg-gradient-blue.btn:hover{background:#007bff linear-gradient(180deg,#267fde,#0069d9) repeat-x!important;border-color:#0062cc;color:#ececec}.bg-gradient-blue.btn.active,.bg-gradient-blue.btn:active,.bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.bg-gradient-blue.btn:not(:disabled):not(.disabled):active{background:#007bff linear-gradient(180deg,#267ad4,#0062cc) repeat-x!important;border-color:#005cbf;color:#fff}.bg-gradient-blue.btn.disabled,.bg-gradient-blue.btn:disabled{background-image:none!important;border-color:#007bff;color:#fff}.bg-gradient-indigo{background:#6610f2 linear-gradient(180deg,#7d34f4,#6610f2) repeat-x!important;color:#fff}.bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-indigo.btn.dropdown-toggle{background-image:none!important}.bg-gradient-indigo.btn:hover{background:#6610f2 linear-gradient(180deg,#7030d7,#560bd0) repeat-x!important;border-color:#510bc4;color:#ececec}.bg-gradient-indigo.btn.active,.bg-gradient-indigo.btn:active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.bg-gradient-indigo.btn:not(:disabled):not(.disabled):active{background:#6610f2 linear-gradient(180deg,#6b2fcd,#510bc4) repeat-x!important;border-color:#4c0ab8;color:#fff}.bg-gradient-indigo.btn.disabled,.bg-gradient-indigo.btn:disabled{background-image:none!important;border-color:#6610f2;color:#fff}.bg-gradient-purple{background:#6f42c1 linear-gradient(180deg,#855eca,#6f42c1) repeat-x!important;color:#fff}.bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.bg-gradient-purple.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-purple.btn.dropdown-toggle{background-image:none!important}.bg-gradient-purple.btn:hover{background:#6f42c1 linear-gradient(180deg,#7655b4,#5e37a6) repeat-x!important;border-color:#59339d;color:#ececec}.bg-gradient-purple.btn.active,.bg-gradient-purple.btn:active,.bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.bg-gradient-purple.btn:not(:disabled):not(.disabled):active{background:#6f42c1 linear-gradient(180deg,#7252ab,#59339d) repeat-x!important;border-color:#533093;color:#fff}.bg-gradient-purple.btn.disabled,.bg-gradient-purple.btn:disabled{background-image:none!important;border-color:#6f42c1;color:#fff}.bg-gradient-pink{background:#e83e8c linear-gradient(180deg,#eb5b9d,#e83e8c) repeat-x!important;color:#fff}.bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.bg-gradient-pink.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-pink.btn.dropdown-toggle{background-image:none!important}.bg-gradient-pink.btn:hover{background:#e83e8c linear-gradient(180deg,#e83e8c,#e41c78) repeat-x!important;border-color:#d91a72;color:#ececec}.bg-gradient-pink.btn.active,.bg-gradient-pink.btn:active,.bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.bg-gradient-pink.btn:not(:disabled):not(.disabled):active{background:#e83e8c linear-gradient(180deg,#df3c87,#d91a72) repeat-x!important;border-color:#ce196c;color:#fff}.bg-gradient-pink.btn.disabled,.bg-gradient-pink.btn:disabled{background-image:none!important;border-color:#e83e8c;color:#fff}.bg-gradient-red{background:#dc3545 linear-gradient(180deg,#e15361,#dc3545) repeat-x!important;color:#fff}.bg-gradient-red.btn:not(:disabled):not(.disabled).active,.bg-gradient-red.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-red.btn.dropdown-toggle{background-image:none!important}.bg-gradient-red.btn:hover{background:#dc3545 linear-gradient(180deg,#d04451,#c82333) repeat-x!important;border-color:#bd2130;color:#ececec}.bg-gradient-red.btn.active,.bg-gradient-red.btn:active,.bg-gradient-red.btn:not(:disabled):not(.disabled).active,.bg-gradient-red.btn:not(:disabled):not(.disabled):active{background:#dc3545 linear-gradient(180deg,#c7424f,#bd2130) repeat-x!important;border-color:#b21f2d;color:#fff}.bg-gradient-red.btn.disabled,.bg-gradient-red.btn:disabled{background-image:none!important;border-color:#dc3545;color:#fff}.bg-gradient-orange{background:#fd7e14 linear-gradient(180deg,#fd9137,#fd7e14) repeat-x!important;color:#1f2d3d}.bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.bg-gradient-orange.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-orange.btn.dropdown-toggle{background-image:none!important}.bg-gradient-orange.btn:hover{background:#fd7e14 linear-gradient(180deg,#ec8128,#e96b02) repeat-x!important;border-color:#dc6502;color:#121a24}.bg-gradient-orange.btn.active,.bg-gradient-orange.btn:active,.bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.bg-gradient-orange.btn:not(:disabled):not(.disabled):active{background:#fd7e14 linear-gradient(180deg,#e17c28,#dc6502) repeat-x!important;border-color:#cf5f02;color:#fff}.bg-gradient-orange.btn.disabled,.bg-gradient-orange.btn:disabled{background-image:none!important;border-color:#fd7e14;color:#1f2d3d}.bg-gradient-yellow{background:#ffc107 linear-gradient(180deg,#ffca2c,#ffc107) repeat-x!important;color:#1f2d3d}.bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-yellow.btn.dropdown-toggle{background-image:none!important}.bg-gradient-yellow.btn:hover{background:#ffc107 linear-gradient(180deg,#e4b526,#e0a800) repeat-x!important;border-color:#d39e00;color:#121a24}.bg-gradient-yellow.btn.active,.bg-gradient-yellow.btn:active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.bg-gradient-yellow.btn:not(:disabled):not(.disabled):active{background:#ffc107 linear-gradient(180deg,#daad26,#d39e00) repeat-x!important;border-color:#c69500;color:#1f2d3d}.bg-gradient-yellow.btn.disabled,.bg-gradient-yellow.btn:disabled{background-image:none!important;border-color:#ffc107;color:#1f2d3d}.bg-gradient-green{background:#28a745 linear-gradient(180deg,#48b461,#28a745) repeat-x!important;color:#fff}.bg-gradient-green.btn:not(:disabled):not(.disabled).active,.bg-gradient-green.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-green.btn.dropdown-toggle{background-image:none!important}.bg-gradient-green.btn:hover{background:#28a745 linear-gradient(180deg,#429a56,#218838) repeat-x!important;border-color:#1e7e34;color:#ececec}.bg-gradient-green.btn.active,.bg-gradient-green.btn:active,.bg-gradient-green.btn:not(:disabled):not(.disabled).active,.bg-gradient-green.btn:not(:disabled):not(.disabled):active{background:#28a745 linear-gradient(180deg,#409152,#1e7e34) repeat-x!important;border-color:#1c7430;color:#fff}.bg-gradient-green.btn.disabled,.bg-gradient-green.btn:disabled{background-image:none!important;border-color:#28a745;color:#fff}.bg-gradient-teal{background:#20c997 linear-gradient(180deg,#41d1a7,#20c997) repeat-x!important;color:#fff}.bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.bg-gradient-teal.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-teal.btn.dropdown-toggle{background-image:none!important}.bg-gradient-teal.btn:hover{background:#20c997 linear-gradient(180deg,#3db592,#1ba87e) repeat-x!important;border-color:#199d76;color:#ececec}.bg-gradient-teal.btn.active,.bg-gradient-teal.btn:active,.bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.bg-gradient-teal.btn:not(:disabled):not(.disabled):active{background:#20c997 linear-gradient(180deg,#3bac8b,#199d76) repeat-x!important;border-color:#17926e;color:#fff}.bg-gradient-teal.btn.disabled,.bg-gradient-teal.btn:disabled{background-image:none!important;border-color:#20c997;color:#fff}.bg-gradient-cyan{background:#17a2b8 linear-gradient(180deg,#3ab0c3,#17a2b8) repeat-x!important;color:#fff}.bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-cyan.btn.dropdown-toggle{background-image:none!important}.bg-gradient-cyan.btn:hover{background:#17a2b8 linear-gradient(180deg,#3697a6,#138496) repeat-x!important;border-color:#117a8b;color:#ececec}.bg-gradient-cyan.btn.active,.bg-gradient-cyan.btn:active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.bg-gradient-cyan.btn:not(:disabled):not(.disabled):active{background:#17a2b8 linear-gradient(180deg,#358e9c,#117a8b) repeat-x!important;border-color:#10707f;color:#fff}.bg-gradient-cyan.btn.disabled,.bg-gradient-cyan.btn:disabled{background-image:none!important;border-color:#17a2b8;color:#fff}.bg-gradient-white{background:#fff linear-gradient(180deg,#fff,#fff) repeat-x!important;color:#1f2d3d}.bg-gradient-white.btn:not(:disabled):not(.disabled).active,.bg-gradient-white.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-white.btn.dropdown-toggle{background-image:none!important}.bg-gradient-white.btn:hover{background:#fff linear-gradient(180deg,#efefef,#ececec) repeat-x!important;border-color:#e6e6e6;color:#121a24}.bg-gradient-white.btn.active,.bg-gradient-white.btn:active,.bg-gradient-white.btn:not(:disabled):not(.disabled).active,.bg-gradient-white.btn:not(:disabled):not(.disabled):active{background:#fff linear-gradient(180deg,#e9e9e9,#e6e6e6) repeat-x!important;border-color:#dfdfdf;color:#1f2d3d}.bg-gradient-white.btn.disabled,.bg-gradient-white.btn:disabled{background-image:none!important;border-color:#fff;color:#1f2d3d}.bg-gradient-gray{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-gray.btn.dropdown-toggle{background-image:none!important}.bg-gradient-gray.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.bg-gradient-gray.btn.active,.bg-gradient-gray.btn:active,.bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.bg-gradient-gray.btn.disabled,.bg-gradient-gray.btn:disabled{background-image:none!important;border-color:#6c757d;color:#fff}.bg-gradient-gray-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active,.show>.bg-gradient-gray-dark.btn.dropdown-toggle{background-image:none!important}.bg-gradient-gray-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.bg-gradient-gray-dark.btn.active,.bg-gradient-gray-dark.btn:active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.bg-gradient-gray-dark.btn.disabled,.bg-gradient-gray-dark.btn:disabled{background-image:none!important;border-color:#343a40;color:#fff}[class^=bg-].disabled{opacity:.65}a.text-muted:hover{color:#007bff!important}.link-muted{color:#5d6974}.link-muted:focus,.link-muted:hover{color:#464f58}.link-black{color:#6c757d}.link-black:focus,.link-black:hover{color:#e6e8ea}.accent-primary .btn-link,.accent-primary .nav-tabs .nav-link,.accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#007bff}.accent-primary .btn-link:hover,.accent-primary .nav-tabs .nav-link:hover,.accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#0056b3}.accent-primary .dropdown-item.active,.accent-primary .dropdown-item:active{background-color:#007bff;color:#fff}.accent-primary .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.accent-primary .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-primary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-primary .custom-file-input:focus~.custom-file-label,.accent-primary .custom-select:focus,.accent-primary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#80bdff}.accent-primary .page-item .page-link{color:#007bff}.accent-primary .page-item.active .page-link,.accent-primary .page-item.active a{background-color:#007bff;border-color:#007bff;color:#fff}.accent-primary .page-item.disabled .page-link,.accent-primary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-primary .page-item .page-link:focus,.dark-mode.accent-primary .page-item .page-link:hover{color:#1a88ff}.accent-secondary .btn-link,.accent-secondary .nav-tabs .nav-link,.accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6c757d}.accent-secondary .btn-link:hover,.accent-secondary .nav-tabs .nav-link:hover,.accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#494f54}.accent-secondary .dropdown-item.active,.accent-secondary .dropdown-item:active{background-color:#6c757d;color:#fff}.accent-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.accent-secondary .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-secondary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-secondary .custom-file-input:focus~.custom-file-label,.accent-secondary .custom-select:focus,.accent-secondary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.accent-secondary .page-item .page-link{color:#6c757d}.accent-secondary .page-item.active .page-link,.accent-secondary .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.accent-secondary .page-item.disabled .page-link,.accent-secondary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-secondary .page-item .page-link:focus,.dark-mode.accent-secondary .page-item .page-link:hover{color:#78828a}.accent-success .btn-link,.accent-success .nav-tabs .nav-link,.accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#28a745}.accent-success .btn-link:hover,.accent-success .nav-tabs .nav-link:hover,.accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#19692c}.accent-success .dropdown-item.active,.accent-success .dropdown-item:active{background-color:#28a745;color:#fff}.accent-success .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.accent-success .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-success .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-success .custom-file-input:focus~.custom-file-label,.accent-success .custom-select:focus,.accent-success .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#71dd8a}.accent-success .page-item .page-link{color:#28a745}.accent-success .page-item.active .page-link,.accent-success .page-item.active a{background-color:#28a745;border-color:#28a745;color:#fff}.accent-success .page-item.disabled .page-link,.accent-success .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-success .page-item .page-link:focus,.dark-mode.accent-success .page-item .page-link:hover{color:#2dbc4e}.accent-info .btn-link,.accent-info .nav-tabs .nav-link,.accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#17a2b8}.accent-info .btn-link:hover,.accent-info .nav-tabs .nav-link:hover,.accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#0f6674}.accent-info .dropdown-item.active,.accent-info .dropdown-item:active{background-color:#17a2b8;color:#fff}.accent-info .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.accent-info .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-info .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-info .custom-file-input:focus~.custom-file-label,.accent-info .custom-select:focus,.accent-info .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#63d9ec}.accent-info .page-item .page-link{color:#17a2b8}.accent-info .page-item.active .page-link,.accent-info .page-item.active a{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.accent-info .page-item.disabled .page-link,.accent-info .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-info .page-item .page-link:focus,.dark-mode.accent-info .page-item .page-link:hover{color:#1ab6cf}.accent-warning .btn-link,.accent-warning .nav-tabs .nav-link,.accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#ffc107}.accent-warning .btn-link:hover,.accent-warning .nav-tabs .nav-link:hover,.accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#ba8b00}.accent-warning .dropdown-item.active,.accent-warning .dropdown-item:active{background-color:#ffc107;color:#1f2d3d}.accent-warning .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.accent-warning .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-warning .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-warning .custom-file-input:focus~.custom-file-label,.accent-warning .custom-select:focus,.accent-warning .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#ffe187}.accent-warning .page-item .page-link{color:#ffc107}.accent-warning .page-item.active .page-link,.accent-warning .page-item.active a{background-color:#ffc107;border-color:#ffc107;color:#fff}.accent-warning .page-item.disabled .page-link,.accent-warning .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-warning .page-item .page-link:focus,.dark-mode.accent-warning .page-item .page-link:hover{color:#ffc721}.accent-danger .btn-link,.accent-danger .nav-tabs .nav-link,.accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#dc3545}.accent-danger .btn-link:hover,.accent-danger .nav-tabs .nav-link:hover,.accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#a71d2a}.accent-danger .dropdown-item.active,.accent-danger .dropdown-item:active{background-color:#dc3545;color:#fff}.accent-danger .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.accent-danger .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-danger .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-danger .custom-file-input:focus~.custom-file-label,.accent-danger .custom-select:focus,.accent-danger .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#efa2a9}.accent-danger .page-item .page-link{color:#dc3545}.accent-danger .page-item.active .page-link,.accent-danger .page-item.active a{background-color:#dc3545;border-color:#dc3545;color:#fff}.accent-danger .page-item.disabled .page-link,.accent-danger .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-danger .page-item .page-link:focus,.dark-mode.accent-danger .page-item .page-link:hover{color:#e04b59}.accent-light .btn-link,.accent-light .nav-tabs .nav-link,.accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f8f9fa}.accent-light .btn-link:hover,.accent-light .nav-tabs .nav-link:hover,.accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#cbd3da}.accent-light .dropdown-item.active,.accent-light .dropdown-item:active{background-color:#f8f9fa;color:#1f2d3d}.accent-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.accent-light .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-light .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-light .custom-file-input:focus~.custom-file-label,.accent-light .custom-select:focus,.accent-light .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.accent-light .page-item .page-link{color:#f8f9fa}.accent-light .page-item.active .page-link,.accent-light .page-item.active a{background-color:#f8f9fa;border-color:#f8f9fa;color:#fff}.accent-light .page-item.disabled .page-link,.accent-light .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-light .page-item .page-link:focus,.dark-mode.accent-light .page-item .page-link:hover{color:#fff}.accent-dark .btn-link,.accent-dark .nav-tabs .nav-link,.accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#343a40}.accent-dark .btn-link:hover,.accent-dark .nav-tabs .nav-link:hover,.accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#121416}.accent-dark .dropdown-item.active,.accent-dark .dropdown-item:active{background-color:#343a40;color:#fff}.accent-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.accent-dark .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-dark .custom-file-input:focus~.custom-file-label,.accent-dark .custom-select:focus,.accent-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.accent-dark .page-item .page-link{color:#343a40}.accent-dark .page-item.active .page-link,.accent-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.accent-dark .page-item.disabled .page-link,.accent-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-dark .page-item .page-link:focus,.dark-mode.accent-dark .page-item .page-link:hover{color:#3f474e}.accent-lightblue .btn-link,.accent-lightblue .nav-tabs .nav-link,.accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3c8dbc}.accent-lightblue .btn-link:hover,.accent-lightblue .nav-tabs .nav-link:hover,.accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#296282}.accent-lightblue .dropdown-item.active,.accent-lightblue .dropdown-item:active{background-color:#3c8dbc;color:#fff}.accent-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.accent-lightblue .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-lightblue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-lightblue .custom-file-input:focus~.custom-file-label,.accent-lightblue .custom-select:focus,.accent-lightblue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#99c5de}.accent-lightblue .page-item .page-link{color:#3c8dbc}.accent-lightblue .page-item.active .page-link,.accent-lightblue .page-item.active a{background-color:#3c8dbc;border-color:#3c8dbc;color:#fff}.accent-lightblue .page-item.disabled .page-link,.accent-lightblue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-lightblue .page-item .page-link:focus,.dark-mode.accent-lightblue .page-item .page-link:hover{color:#4c99c6}.accent-navy .btn-link,.accent-navy .nav-tabs .nav-link,.accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#001f3f}.accent-navy .btn-link:hover,.accent-navy .nav-tabs .nav-link:hover,.accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#000}.accent-navy .dropdown-item.active,.accent-navy .dropdown-item:active{background-color:#001f3f;color:#fff}.accent-navy .custom-control-input:checked~.custom-control-label::before{background-color:#001f3f;border-color:#000}.accent-navy .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-navy .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-navy .custom-file-input:focus~.custom-file-label,.accent-navy .custom-select:focus,.accent-navy .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#005ebf}.accent-navy .page-item .page-link{color:#001f3f}.accent-navy .page-item.active .page-link,.accent-navy .page-item.active a{background-color:#001f3f;border-color:#001f3f;color:#fff}.accent-navy .page-item.disabled .page-link,.accent-navy .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-navy .page-item .page-link:focus,.dark-mode.accent-navy .page-item .page-link:hover{color:#002c59}.accent-olive .btn-link,.accent-olive .nav-tabs .nav-link,.accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3d9970}.accent-olive .btn-link:hover,.accent-olive .nav-tabs .nav-link:hover,.accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#276248}.accent-olive .dropdown-item.active,.accent-olive .dropdown-item:active{background-color:#3d9970;color:#fff}.accent-olive .custom-control-input:checked~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.accent-olive .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-olive .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-olive .custom-file-input:focus~.custom-file-label,.accent-olive .custom-select:focus,.accent-olive .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#87cfaf}.accent-olive .page-item .page-link{color:#3d9970}.accent-olive .page-item.active .page-link,.accent-olive .page-item.active a{background-color:#3d9970;border-color:#3d9970;color:#fff}.accent-olive .page-item.disabled .page-link,.accent-olive .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-olive .page-item .page-link:focus,.dark-mode.accent-olive .page-item .page-link:hover{color:#44ab7d}.accent-lime .btn-link,.accent-lime .nav-tabs .nav-link,.accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#01ff70}.accent-lime .btn-link:hover,.accent-lime .nav-tabs .nav-link:hover,.accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#00b44e}.accent-lime .dropdown-item.active,.accent-lime .dropdown-item:active{background-color:#01ff70;color:#1f2d3d}.accent-lime .custom-control-input:checked~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.accent-lime .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-lime .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-lime .custom-file-input:focus~.custom-file-label,.accent-lime .custom-select:focus,.accent-lime .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#81ffb8}.accent-lime .page-item .page-link{color:#01ff70}.accent-lime .page-item.active .page-link,.accent-lime .page-item.active a{background-color:#01ff70;border-color:#01ff70;color:#fff}.accent-lime .page-item.disabled .page-link,.accent-lime .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-lime .page-item .page-link:focus,.dark-mode.accent-lime .page-item .page-link:hover{color:#1bff7e}.accent-fuchsia .btn-link,.accent-fuchsia .nav-tabs .nav-link,.accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f012be}.accent-fuchsia .btn-link:hover,.accent-fuchsia .nav-tabs .nav-link:hover,.accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#ab0b87}.accent-fuchsia .dropdown-item.active,.accent-fuchsia .dropdown-item:active{background-color:#f012be;color:#fff}.accent-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f012be;border-color:#930974}.accent-fuchsia .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-fuchsia .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-fuchsia .custom-file-input:focus~.custom-file-label,.accent-fuchsia .custom-select:focus,.accent-fuchsia .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f88adf}.accent-fuchsia .page-item .page-link{color:#f012be}.accent-fuchsia .page-item.active .page-link,.accent-fuchsia .page-item.active a{background-color:#f012be;border-color:#f012be;color:#fff}.accent-fuchsia .page-item.disabled .page-link,.accent-fuchsia .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-fuchsia .page-item .page-link:focus,.dark-mode.accent-fuchsia .page-item .page-link:hover{color:#f22ac5}.accent-maroon .btn-link,.accent-maroon .nav-tabs .nav-link,.accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#d81b60}.accent-maroon .btn-link:hover,.accent-maroon .nav-tabs .nav-link:hover,.accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#941342}.accent-maroon .dropdown-item.active,.accent-maroon .dropdown-item:active{background-color:#d81b60;color:#fff}.accent-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.accent-maroon .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-maroon .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-maroon .custom-file-input:focus~.custom-file-label,.accent-maroon .custom-select:focus,.accent-maroon .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f083ab}.accent-maroon .page-item .page-link{color:#d81b60}.accent-maroon .page-item.active .page-link,.accent-maroon .page-item.active a{background-color:#d81b60;border-color:#d81b60;color:#fff}.accent-maroon .page-item.disabled .page-link,.accent-maroon .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-maroon .page-item .page-link:focus,.dark-mode.accent-maroon .page-item .page-link:hover{color:#e4286d}.accent-blue .btn-link,.accent-blue .nav-tabs .nav-link,.accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#007bff}.accent-blue .btn-link:hover,.accent-blue .nav-tabs .nav-link:hover,.accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#0056b3}.accent-blue .dropdown-item.active,.accent-blue .dropdown-item:active{background-color:#007bff;color:#fff}.accent-blue .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.accent-blue .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-blue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-blue .custom-file-input:focus~.custom-file-label,.accent-blue .custom-select:focus,.accent-blue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#80bdff}.accent-blue .page-item .page-link{color:#007bff}.accent-blue .page-item.active .page-link,.accent-blue .page-item.active a{background-color:#007bff;border-color:#007bff;color:#fff}.accent-blue .page-item.disabled .page-link,.accent-blue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-blue .page-item .page-link:focus,.dark-mode.accent-blue .page-item .page-link:hover{color:#1a88ff}.accent-indigo .btn-link,.accent-indigo .nav-tabs .nav-link,.accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6610f2}.accent-indigo .btn-link:hover,.accent-indigo .nav-tabs .nav-link:hover,.accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#4709ac}.accent-indigo .dropdown-item.active,.accent-indigo .dropdown-item:active{background-color:#6610f2;color:#fff}.accent-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.accent-indigo .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-indigo .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-indigo .custom-file-input:focus~.custom-file-label,.accent-indigo .custom-select:focus,.accent-indigo .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b389f9}.accent-indigo .page-item .page-link{color:#6610f2}.accent-indigo .page-item.active .page-link,.accent-indigo .page-item.active a{background-color:#6610f2;border-color:#6610f2;color:#fff}.accent-indigo .page-item.disabled .page-link,.accent-indigo .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-indigo .page-item .page-link:focus,.dark-mode.accent-indigo .page-item .page-link:hover{color:#7528f3}.accent-purple .btn-link,.accent-purple .nav-tabs .nav-link,.accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6f42c1}.accent-purple .btn-link:hover,.accent-purple .nav-tabs .nav-link:hover,.accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#4e2d89}.accent-purple .dropdown-item.active,.accent-purple .dropdown-item:active{background-color:#6f42c1;color:#fff}.accent-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.accent-purple .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-purple .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-purple .custom-file-input:focus~.custom-file-label,.accent-purple .custom-select:focus,.accent-purple .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b8a2e0}.accent-purple .page-item .page-link{color:#6f42c1}.accent-purple .page-item.active .page-link,.accent-purple .page-item.active a{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.accent-purple .page-item.disabled .page-link,.accent-purple .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-purple .page-item .page-link:focus,.dark-mode.accent-purple .page-item .page-link:hover{color:#7e55c7}.accent-pink .btn-link,.accent-pink .nav-tabs .nav-link,.accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#e83e8c}.accent-pink .btn-link:hover,.accent-pink .nav-tabs .nav-link:hover,.accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#c21766}.accent-pink .dropdown-item.active,.accent-pink .dropdown-item:active{background-color:#e83e8c;color:#fff}.accent-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.accent-pink .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-pink .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-pink .custom-file-input:focus~.custom-file-label,.accent-pink .custom-select:focus,.accent-pink .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f6b0d0}.accent-pink .page-item .page-link{color:#e83e8c}.accent-pink .page-item.active .page-link,.accent-pink .page-item.active a{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.accent-pink .page-item.disabled .page-link,.accent-pink .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-pink .page-item .page-link:focus,.dark-mode.accent-pink .page-item .page-link:hover{color:#eb559a}.accent-red .btn-link,.accent-red .nav-tabs .nav-link,.accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#dc3545}.accent-red .btn-link:hover,.accent-red .nav-tabs .nav-link:hover,.accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#a71d2a}.accent-red .dropdown-item.active,.accent-red .dropdown-item:active{background-color:#dc3545;color:#fff}.accent-red .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.accent-red .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-red .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-red .custom-file-input:focus~.custom-file-label,.accent-red .custom-select:focus,.accent-red .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#efa2a9}.accent-red .page-item .page-link{color:#dc3545}.accent-red .page-item.active .page-link,.accent-red .page-item.active a{background-color:#dc3545;border-color:#dc3545;color:#fff}.accent-red .page-item.disabled .page-link,.accent-red .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-red .page-item .page-link:focus,.dark-mode.accent-red .page-item .page-link:hover{color:#e04b59}.accent-orange .btn-link,.accent-orange .nav-tabs .nav-link,.accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#fd7e14}.accent-orange .btn-link:hover,.accent-orange .nav-tabs .nav-link:hover,.accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#c35a02}.accent-orange .dropdown-item.active,.accent-orange .dropdown-item:active{background-color:#fd7e14;color:#1f2d3d}.accent-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.accent-orange .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-orange .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-orange .custom-file-input:focus~.custom-file-label,.accent-orange .custom-select:focus,.accent-orange .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fec392}.accent-orange .page-item .page-link{color:#fd7e14}.accent-orange .page-item.active .page-link,.accent-orange .page-item.active a{background-color:#fd7e14;border-color:#fd7e14;color:#fff}.accent-orange .page-item.disabled .page-link,.accent-orange .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-orange .page-item .page-link:focus,.dark-mode.accent-orange .page-item .page-link:hover{color:#fd8c2d}.accent-yellow .btn-link,.accent-yellow .nav-tabs .nav-link,.accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#ffc107}.accent-yellow .btn-link:hover,.accent-yellow .nav-tabs .nav-link:hover,.accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#ba8b00}.accent-yellow .dropdown-item.active,.accent-yellow .dropdown-item:active{background-color:#ffc107;color:#1f2d3d}.accent-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.accent-yellow .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-yellow .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-yellow .custom-file-input:focus~.custom-file-label,.accent-yellow .custom-select:focus,.accent-yellow .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#ffe187}.accent-yellow .page-item .page-link{color:#ffc107}.accent-yellow .page-item.active .page-link,.accent-yellow .page-item.active a{background-color:#ffc107;border-color:#ffc107;color:#fff}.accent-yellow .page-item.disabled .page-link,.accent-yellow .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-yellow .page-item .page-link:focus,.dark-mode.accent-yellow .page-item .page-link:hover{color:#ffc721}.accent-green .btn-link,.accent-green .nav-tabs .nav-link,.accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#28a745}.accent-green .btn-link:hover,.accent-green .nav-tabs .nav-link:hover,.accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#19692c}.accent-green .dropdown-item.active,.accent-green .dropdown-item:active{background-color:#28a745;color:#fff}.accent-green .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.accent-green .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-green .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-green .custom-file-input:focus~.custom-file-label,.accent-green .custom-select:focus,.accent-green .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#71dd8a}.accent-green .page-item .page-link{color:#28a745}.accent-green .page-item.active .page-link,.accent-green .page-item.active a{background-color:#28a745;border-color:#28a745;color:#fff}.accent-green .page-item.disabled .page-link,.accent-green .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-green .page-item .page-link:focus,.dark-mode.accent-green .page-item .page-link:hover{color:#2dbc4e}.accent-teal .btn-link,.accent-teal .nav-tabs .nav-link,.accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#20c997}.accent-teal .btn-link:hover,.accent-teal .nav-tabs .nav-link:hover,.accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#158765}.accent-teal .dropdown-item.active,.accent-teal .dropdown-item:active{background-color:#20c997;color:#fff}.accent-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.accent-teal .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-teal .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-teal .custom-file-input:focus~.custom-file-label,.accent-teal .custom-select:focus,.accent-teal .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#7eeaca}.accent-teal .page-item .page-link{color:#20c997}.accent-teal .page-item.active .page-link,.accent-teal .page-item.active a{background-color:#20c997;border-color:#20c997;color:#fff}.accent-teal .page-item.disabled .page-link,.accent-teal .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-teal .page-item .page-link:focus,.dark-mode.accent-teal .page-item .page-link:hover{color:#26dca6}.accent-cyan .btn-link,.accent-cyan .nav-tabs .nav-link,.accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#17a2b8}.accent-cyan .btn-link:hover,.accent-cyan .nav-tabs .nav-link:hover,.accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#0f6674}.accent-cyan .dropdown-item.active,.accent-cyan .dropdown-item:active{background-color:#17a2b8;color:#fff}.accent-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.accent-cyan .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-cyan .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-cyan .custom-file-input:focus~.custom-file-label,.accent-cyan .custom-select:focus,.accent-cyan .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#63d9ec}.accent-cyan .page-item .page-link{color:#17a2b8}.accent-cyan .page-item.active .page-link,.accent-cyan .page-item.active a{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.accent-cyan .page-item.disabled .page-link,.accent-cyan .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-cyan .page-item .page-link:focus,.dark-mode.accent-cyan .page-item .page-link:hover{color:#1ab6cf}.accent-white .btn-link,.accent-white .nav-tabs .nav-link,.accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#fff}.accent-white .btn-link:hover,.accent-white .nav-tabs .nav-link:hover,.accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#d9d9d9}.accent-white .dropdown-item.active,.accent-white .dropdown-item:active{background-color:#fff;color:#1f2d3d}.accent-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.accent-white .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-white .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-white .custom-file-input:focus~.custom-file-label,.accent-white .custom-select:focus,.accent-white .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.accent-white .page-item .page-link{color:#fff}.accent-white .page-item.active .page-link,.accent-white .page-item.active a{background-color:#fff;border-color:#fff;color:#fff}.accent-white .page-item.disabled .page-link,.accent-white .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-white .page-item .page-link:focus,.dark-mode.accent-white .page-item .page-link:hover{color:#fff}.accent-gray .btn-link,.accent-gray .nav-tabs .nav-link,.accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6c757d}.accent-gray .btn-link:hover,.accent-gray .nav-tabs .nav-link:hover,.accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#494f54}.accent-gray .dropdown-item.active,.accent-gray .dropdown-item:active{background-color:#6c757d;color:#fff}.accent-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.accent-gray .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-gray .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-gray .custom-file-input:focus~.custom-file-label,.accent-gray .custom-select:focus,.accent-gray .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.accent-gray .page-item .page-link{color:#6c757d}.accent-gray .page-item.active .page-link,.accent-gray .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.accent-gray .page-item.disabled .page-link,.accent-gray .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-gray .page-item .page-link:focus,.dark-mode.accent-gray .page-item .page-link:hover{color:#78828a}.accent-gray-dark .btn-link,.accent-gray-dark .nav-tabs .nav-link,.accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#343a40}.accent-gray-dark .btn-link:hover,.accent-gray-dark .nav-tabs .nav-link:hover,.accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#121416}.accent-gray-dark .dropdown-item.active,.accent-gray-dark .dropdown-item:active{background-color:#343a40;color:#fff}.accent-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.accent-gray-dark .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.accent-gray-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.accent-gray-dark .custom-file-input:focus~.custom-file-label,.accent-gray-dark .custom-select:focus,.accent-gray-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.accent-gray-dark .page-item .page-link{color:#343a40}.accent-gray-dark .page-item.active .page-link,.accent-gray-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.accent-gray-dark .page-item.disabled .page-link,.accent-gray-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode.accent-gray-dark .page-item .page-link:focus,.dark-mode.accent-gray-dark .page-item .page-link:hover{color:#3f474e}[class*=accent-] a.btn-primary{color:#fff}[class*=accent-] a.btn-secondary{color:#fff}[class*=accent-] a.btn-success{color:#fff}[class*=accent-] a.btn-info{color:#fff}[class*=accent-] a.btn-warning{color:#1f2d3d}[class*=accent-] a.btn-danger{color:#fff}[class*=accent-] a.btn-light{color:#1f2d3d}[class*=accent-] a.btn-dark{color:#fff}.dark-mode .bg-light{background-color:#454d55!important;color:#fff!important}.dark-mode .link-black,.dark-mode .link-dark,.dark-mode .text-black,.dark-mode .text-dark{color:#ced4da!important}.dark-mode.bg-primary{background-color:#3f6791!important}.dark-mode.bg-primary,.dark-mode.bg-primary>a{color:#fff!important}.dark-mode.bg-primary.btn:hover{border-color:#304e6d;color:#ececec}.dark-mode.bg-primary.btn.active,.dark-mode.bg-primary.btn:active,.dark-mode.bg-primary.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-primary.btn:not(:disabled):not(.disabled):active{background-color:#304e6d!important;border-color:#2c4765;color:#fff}.dark-mode.bg-secondary{background-color:#6c757d!important}.dark-mode.bg-secondary,.dark-mode.bg-secondary>a{color:#fff!important}.dark-mode.bg-secondary.btn:hover{border-color:#545b62;color:#ececec}.dark-mode.bg-secondary.btn.active,.dark-mode.bg-secondary.btn:active,.dark-mode.bg-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-secondary.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.dark-mode.bg-success{background-color:#00bc8c!important}.dark-mode.bg-success,.dark-mode.bg-success>a{color:#fff!important}.dark-mode.bg-success.btn:hover{border-color:#008966;color:#ececec}.dark-mode.bg-success.btn.active,.dark-mode.bg-success.btn:active,.dark-mode.bg-success.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-success.btn:not(:disabled):not(.disabled):active{background-color:#008966!important;border-color:#007c5d;color:#fff}.dark-mode.bg-info{background-color:#3498db!important}.dark-mode.bg-info,.dark-mode.bg-info>a{color:#fff!important}.dark-mode.bg-info.btn:hover{border-color:#217dbb;color:#ececec}.dark-mode.bg-info.btn.active,.dark-mode.bg-info.btn:active,.dark-mode.bg-info.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-info.btn:not(:disabled):not(.disabled):active{background-color:#217dbb!important;border-color:#1f76b0;color:#fff}.dark-mode.bg-warning{background-color:#f39c12!important}.dark-mode.bg-warning,.dark-mode.bg-warning>a{color:#1f2d3d!important}.dark-mode.bg-warning.btn:hover{border-color:#c87f0a;color:#121a24}.dark-mode.bg-warning.btn.active,.dark-mode.bg-warning.btn:active,.dark-mode.bg-warning.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-warning.btn:not(:disabled):not(.disabled):active{background-color:#c87f0a!important;border-color:#bc770a;color:#fff}.dark-mode.bg-danger{background-color:#e74c3c!important}.dark-mode.bg-danger,.dark-mode.bg-danger>a{color:#fff!important}.dark-mode.bg-danger.btn:hover{border-color:#d62c1a;color:#ececec}.dark-mode.bg-danger.btn.active,.dark-mode.bg-danger.btn:active,.dark-mode.bg-danger.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-danger.btn:not(:disabled):not(.disabled):active{background-color:#d62c1a!important;border-color:#ca2a19;color:#fff}.dark-mode.bg-light{background-color:#f8f9fa!important}.dark-mode.bg-light,.dark-mode.bg-light>a{color:#1f2d3d!important}.dark-mode.bg-light.btn:hover{border-color:#dae0e5;color:#121a24}.dark-mode.bg-light.btn.active,.dark-mode.bg-light.btn:active,.dark-mode.bg-light.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-light.btn:not(:disabled):not(.disabled):active{background-color:#dae0e5!important;border-color:#d3d9df;color:#1f2d3d}.dark-mode.bg-dark{background-color:#343a40!important}.dark-mode.bg-dark,.dark-mode.bg-dark>a{color:#fff!important}.dark-mode.bg-dark.btn:hover{border-color:#1d2124;color:#ececec}.dark-mode.bg-dark.btn.active,.dark-mode.bg-dark.btn:active,.dark-mode.bg-dark.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.dark-mode.bg-lightblue{background-color:#86bad8!important}.dark-mode.bg-lightblue,.dark-mode.bg-lightblue>a{color:#1f2d3d!important}.dark-mode.bg-lightblue.btn:hover{border-color:#5fa4cc;color:#121a24}.dark-mode.bg-lightblue.btn.active,.dark-mode.bg-lightblue.btn:active,.dark-mode.bg-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-lightblue.btn:not(:disabled):not(.disabled):active{background-color:#5fa4cc!important;border-color:#559ec9;color:#fff}.dark-mode.bg-navy{background-color:#002c59!important}.dark-mode.bg-navy,.dark-mode.bg-navy>a{color:#fff!important}.dark-mode.bg-navy.btn:hover{border-color:#001226;color:#ececec}.dark-mode.bg-navy.btn.active,.dark-mode.bg-navy.btn:active,.dark-mode.bg-navy.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-navy.btn:not(:disabled):not(.disabled):active{background-color:#001226!important;border-color:#000c19;color:#fff}.dark-mode.bg-olive{background-color:#74c8a3!important}.dark-mode.bg-olive,.dark-mode.bg-olive>a{color:#1f2d3d!important}.dark-mode.bg-olive.btn:hover{border-color:#50b98a;color:#121a24}.dark-mode.bg-olive.btn.active,.dark-mode.bg-olive.btn:active,.dark-mode.bg-olive.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-olive.btn:not(:disabled):not(.disabled):active{background-color:#50b98a!important;border-color:#48b484;color:#fff}.dark-mode.bg-lime{background-color:#67ffa9!important}.dark-mode.bg-lime,.dark-mode.bg-lime>a{color:#1f2d3d!important}.dark-mode.bg-lime.btn:hover{border-color:#34ff8d;color:#121a24}.dark-mode.bg-lime.btn.active,.dark-mode.bg-lime.btn:active,.dark-mode.bg-lime.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-lime.btn:not(:disabled):not(.disabled):active{background-color:#34ff8d!important;border-color:#27ff86;color:#1f2d3d}.dark-mode.bg-fuchsia{background-color:#f672d8!important}.dark-mode.bg-fuchsia,.dark-mode.bg-fuchsia>a{color:#1f2d3d!important}.dark-mode.bg-fuchsia.btn:hover{border-color:#f342cb;color:#121a24}.dark-mode.bg-fuchsia.btn.active,.dark-mode.bg-fuchsia.btn:active,.dark-mode.bg-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-fuchsia.btn:not(:disabled):not(.disabled):active{background-color:#f342cb!important;border-color:#f236c8;color:#fff}.dark-mode.bg-maroon{background-color:#ed6c9b!important}.dark-mode.bg-maroon,.dark-mode.bg-maroon>a{color:#1f2d3d!important}.dark-mode.bg-maroon.btn:hover{border-color:#e73f7c;color:#121a24}.dark-mode.bg-maroon.btn.active,.dark-mode.bg-maroon.btn:active,.dark-mode.bg-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-maroon.btn:not(:disabled):not(.disabled):active{background-color:#e73f7c!important;border-color:#e63475;color:#fff}.dark-mode.bg-blue{background-color:#3f6791!important}.dark-mode.bg-blue,.dark-mode.bg-blue>a{color:#fff!important}.dark-mode.bg-blue.btn:hover{border-color:#304e6d;color:#ececec}.dark-mode.bg-blue.btn.active,.dark-mode.bg-blue.btn:active,.dark-mode.bg-blue.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-blue.btn:not(:disabled):not(.disabled):active{background-color:#304e6d!important;border-color:#2c4765;color:#fff}.dark-mode.bg-indigo{background-color:#6610f2!important}.dark-mode.bg-indigo,.dark-mode.bg-indigo>a{color:#fff!important}.dark-mode.bg-indigo.btn:hover{border-color:#510bc4;color:#ececec}.dark-mode.bg-indigo.btn.active,.dark-mode.bg-indigo.btn:active,.dark-mode.bg-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-indigo.btn:not(:disabled):not(.disabled):active{background-color:#510bc4!important;border-color:#4c0ab8;color:#fff}.dark-mode.bg-purple{background-color:#6f42c1!important}.dark-mode.bg-purple,.dark-mode.bg-purple>a{color:#fff!important}.dark-mode.bg-purple.btn:hover{border-color:#59339d;color:#ececec}.dark-mode.bg-purple.btn.active,.dark-mode.bg-purple.btn:active,.dark-mode.bg-purple.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-purple.btn:not(:disabled):not(.disabled):active{background-color:#59339d!important;border-color:#533093;color:#fff}.dark-mode.bg-pink{background-color:#e83e8c!important}.dark-mode.bg-pink,.dark-mode.bg-pink>a{color:#fff!important}.dark-mode.bg-pink.btn:hover{border-color:#d91a72;color:#ececec}.dark-mode.bg-pink.btn.active,.dark-mode.bg-pink.btn:active,.dark-mode.bg-pink.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-pink.btn:not(:disabled):not(.disabled):active{background-color:#d91a72!important;border-color:#ce196c;color:#fff}.dark-mode.bg-red{background-color:#e74c3c!important}.dark-mode.bg-red,.dark-mode.bg-red>a{color:#fff!important}.dark-mode.bg-red.btn:hover{border-color:#d62c1a;color:#ececec}.dark-mode.bg-red.btn.active,.dark-mode.bg-red.btn:active,.dark-mode.bg-red.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-red.btn:not(:disabled):not(.disabled):active{background-color:#d62c1a!important;border-color:#ca2a19;color:#fff}.dark-mode.bg-orange{background-color:#fd7e14!important}.dark-mode.bg-orange,.dark-mode.bg-orange>a{color:#1f2d3d!important}.dark-mode.bg-orange.btn:hover{border-color:#dc6502;color:#121a24}.dark-mode.bg-orange.btn.active,.dark-mode.bg-orange.btn:active,.dark-mode.bg-orange.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-orange.btn:not(:disabled):not(.disabled):active{background-color:#dc6502!important;border-color:#cf5f02;color:#fff}.dark-mode.bg-yellow{background-color:#f39c12!important}.dark-mode.bg-yellow,.dark-mode.bg-yellow>a{color:#1f2d3d!important}.dark-mode.bg-yellow.btn:hover{border-color:#c87f0a;color:#121a24}.dark-mode.bg-yellow.btn.active,.dark-mode.bg-yellow.btn:active,.dark-mode.bg-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-yellow.btn:not(:disabled):not(.disabled):active{background-color:#c87f0a!important;border-color:#bc770a;color:#fff}.dark-mode.bg-green{background-color:#00bc8c!important}.dark-mode.bg-green,.dark-mode.bg-green>a{color:#fff!important}.dark-mode.bg-green.btn:hover{border-color:#008966;color:#ececec}.dark-mode.bg-green.btn.active,.dark-mode.bg-green.btn:active,.dark-mode.bg-green.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-green.btn:not(:disabled):not(.disabled):active{background-color:#008966!important;border-color:#007c5d;color:#fff}.dark-mode.bg-teal{background-color:#20c997!important}.dark-mode.bg-teal,.dark-mode.bg-teal>a{color:#fff!important}.dark-mode.bg-teal.btn:hover{border-color:#199d76;color:#ececec}.dark-mode.bg-teal.btn.active,.dark-mode.bg-teal.btn:active,.dark-mode.bg-teal.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-teal.btn:not(:disabled):not(.disabled):active{background-color:#199d76!important;border-color:#17926e;color:#fff}.dark-mode.bg-cyan{background-color:#3498db!important}.dark-mode.bg-cyan,.dark-mode.bg-cyan>a{color:#fff!important}.dark-mode.bg-cyan.btn:hover{border-color:#217dbb;color:#ececec}.dark-mode.bg-cyan.btn.active,.dark-mode.bg-cyan.btn:active,.dark-mode.bg-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-cyan.btn:not(:disabled):not(.disabled):active{background-color:#217dbb!important;border-color:#1f76b0;color:#fff}.dark-mode.bg-white{background-color:#fff!important}.dark-mode.bg-white,.dark-mode.bg-white>a{color:#1f2d3d!important}.dark-mode.bg-white.btn:hover{border-color:#e6e6e6;color:#121a24}.dark-mode.bg-white.btn.active,.dark-mode.bg-white.btn:active,.dark-mode.bg-white.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-white.btn:not(:disabled):not(.disabled):active{background-color:#e6e6e6!important;border-color:#dfdfdf;color:#1f2d3d}.dark-mode.bg-gray{background-color:#6c757d!important}.dark-mode.bg-gray,.dark-mode.bg-gray>a{color:#fff!important}.dark-mode.bg-gray.btn:hover{border-color:#545b62;color:#ececec}.dark-mode.bg-gray.btn.active,.dark-mode.bg-gray.btn:active,.dark-mode.bg-gray.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-gray.btn:not(:disabled):not(.disabled):active{background-color:#545b62!important;border-color:#4e555b;color:#fff}.dark-mode.bg-gray-dark{background-color:#343a40!important}.dark-mode.bg-gray-dark,.dark-mode.bg-gray-dark>a{color:#fff!important}.dark-mode.bg-gray-dark.btn:hover{border-color:#1d2124;color:#ececec}.dark-mode.bg-gray-dark.btn.active,.dark-mode.bg-gray-dark.btn:active,.dark-mode.bg-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode.bg-gray-dark.btn:not(:disabled):not(.disabled):active{background-color:#1d2124!important;border-color:#171a1d;color:#fff}.dark-mode .bg-gradient-primary{background:#3f6791 linear-gradient(180deg,#5c7ea2,#3f6791) repeat-x!important;color:#fff}.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-primary.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-primary.btn:hover{background:#3f6791 linear-gradient(180deg,#526e8b,#335476) repeat-x!important;border-color:#304e6d;color:#ececec}.dark-mode .bg-gradient-primary.btn.active,.dark-mode .bg-gradient-primary.btn:active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-primary.btn:not(:disabled):not(.disabled):active{background:#3f6791 linear-gradient(180deg,#4f6883,#304e6d) repeat-x!important;border-color:#2c4765;color:#fff}.dark-mode .bg-gradient-primary.btn.disabled,.dark-mode .bg-gradient-primary.btn:disabled{background-image:none!important;border-color:#3f6791;color:#fff}.dark-mode .bg-gradient-secondary{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-secondary.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-secondary.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.dark-mode .bg-gradient-secondary.btn.active,.dark-mode .bg-gradient-secondary.btn:active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-secondary.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.dark-mode .bg-gradient-secondary.btn.disabled,.dark-mode .bg-gradient-secondary.btn:disabled{background-image:none!important;border-color:#6c757d;color:#fff}.dark-mode .bg-gradient-success{background:#00bc8c linear-gradient(180deg,#26c69d,#00bc8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-success.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-success.btn:hover{background:#00bc8c linear-gradient(180deg,#26a685,#009670) repeat-x!important;border-color:#008966;color:#ececec}.dark-mode .bg-gradient-success.btn.active,.dark-mode .bg-gradient-success.btn:active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-success.btn:not(:disabled):not(.disabled):active{background:#00bc8c linear-gradient(180deg,#269b7d,#008966) repeat-x!important;border-color:#007c5d;color:#fff}.dark-mode .bg-gradient-success.btn.disabled,.dark-mode .bg-gradient-success.btn:disabled{background-image:none!important;border-color:#00bc8c;color:#fff}.dark-mode .bg-gradient-info{background:#3498db linear-gradient(180deg,#52a7e0,#3498db) repeat-x!important;color:#fff}.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-info.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-info.btn:hover{background:#3498db linear-gradient(180deg,#4497ce,#2384c6) repeat-x!important;border-color:#217dbb;color:#ececec}.dark-mode .bg-gradient-info.btn.active,.dark-mode .bg-gradient-info.btn:active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-info.btn:not(:disabled):not(.disabled):active{background:#3498db linear-gradient(180deg,#4291c5,#217dbb) repeat-x!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-gradient-info.btn.disabled,.dark-mode .bg-gradient-info.btn:disabled{background-image:none!important;border-color:#3498db;color:#fff}.dark-mode .bg-gradient-warning{background:#f39c12 linear-gradient(180deg,#f5ab36,#f39c12) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-warning.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-warning.btn:hover{background:#f39c12 linear-gradient(180deg,#da982f,#d4860b) repeat-x!important;border-color:#c87f0a;color:#121a24}.dark-mode .bg-gradient-warning.btn.active,.dark-mode .bg-gradient-warning.btn:active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-warning.btn:not(:disabled):not(.disabled):active{background:#f39c12 linear-gradient(180deg,#d0922f,#c87f0a) repeat-x!important;border-color:#bc770a;color:#fff}.dark-mode .bg-gradient-warning.btn.disabled,.dark-mode .bg-gradient-warning.btn:disabled{background-image:none!important;border-color:#f39c12;color:#1f2d3d}.dark-mode .bg-gradient-danger{background:#e74c3c linear-gradient(180deg,#eb6759,#e74c3c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-danger.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-danger.btn:hover{background:#e74c3c linear-gradient(180deg,#e64d3e,#e12e1c) repeat-x!important;border-color:#d62c1a;color:#ececec}.dark-mode .bg-gradient-danger.btn.active,.dark-mode .bg-gradient-danger.btn:active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-danger.btn:not(:disabled):not(.disabled):active{background:#e74c3c linear-gradient(180deg,#dc4c3d,#d62c1a) repeat-x!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-gradient-danger.btn.disabled,.dark-mode .bg-gradient-danger.btn:disabled{background-image:none!important;border-color:#e74c3c;color:#fff}.dark-mode .bg-gradient-light{background:#f8f9fa linear-gradient(180deg,#f9fafb,#f8f9fa) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-light.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-light.btn:hover{background:#f8f9fa linear-gradient(180deg,#e6eaed,#e2e6ea) repeat-x!important;border-color:#dae0e5;color:#121a24}.dark-mode .bg-gradient-light.btn.active,.dark-mode .bg-gradient-light.btn:active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-light.btn:not(:disabled):not(.disabled):active{background:#f8f9fa linear-gradient(180deg,#e0e4e9,#dae0e5) repeat-x!important;border-color:#d3d9df;color:#1f2d3d}.dark-mode .bg-gradient-light.btn.disabled,.dark-mode .bg-gradient-light.btn:disabled{background-image:none!important;border-color:#f8f9fa;color:#1f2d3d}.dark-mode .bg-gradient-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-dark.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.dark-mode .bg-gradient-dark.btn.active,.dark-mode .bg-gradient-dark.btn:active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.dark-mode .bg-gradient-dark.btn.disabled,.dark-mode .bg-gradient-dark.btn:disabled{background-image:none!important;border-color:#343a40;color:#fff}.dark-mode .bg-gradient-lightblue{background:#86bad8 linear-gradient(180deg,#98c4de,#86bad8) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-lightblue.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-lightblue.btn:hover{background:#86bad8 linear-gradient(180deg,#7fb6d6,#69a9cf) repeat-x!important;border-color:#5fa4cc;color:#121a24}.dark-mode .bg-gradient-lightblue.btn.active,.dark-mode .bg-gradient-lightblue.btn:active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lightblue.btn:not(:disabled):not(.disabled):active{background:#86bad8 linear-gradient(180deg,#77b2d4,#5fa4cc) repeat-x!important;border-color:#559ec9;color:#fff}.dark-mode .bg-gradient-lightblue.btn.disabled,.dark-mode .bg-gradient-lightblue.btn:disabled{background-image:none!important;border-color:#86bad8;color:#1f2d3d}.dark-mode .bg-gradient-navy{background:#002c59 linear-gradient(180deg,#264b71,#002c59) repeat-x!important;color:#fff}.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-navy.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-navy.btn:hover{background:#002c59 linear-gradient(180deg,#263b51,#001932) repeat-x!important;border-color:#001226;color:#ececec}.dark-mode .bg-gradient-navy.btn.active,.dark-mode .bg-gradient-navy.btn:active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-navy.btn:not(:disabled):not(.disabled):active{background:#002c59 linear-gradient(180deg,#263646,#001226) repeat-x!important;border-color:#000c19;color:#fff}.dark-mode .bg-gradient-navy.btn.disabled,.dark-mode .bg-gradient-navy.btn:disabled{background-image:none!important;border-color:#002c59;color:#fff}.dark-mode .bg-gradient-olive{background:#74c8a3 linear-gradient(180deg,#89d0b0,#74c8a3) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-olive.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-olive.btn:hover{background:#74c8a3 linear-gradient(180deg,#72c7a1,#59bd90) repeat-x!important;border-color:#50b98a;color:#121a24}.dark-mode .bg-gradient-olive.btn.active,.dark-mode .bg-gradient-olive.btn:active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-olive.btn:not(:disabled):not(.disabled):active{background:#74c8a3 linear-gradient(180deg,#6ac49c,#50b98a) repeat-x!important;border-color:#48b484;color:#fff}.dark-mode .bg-gradient-olive.btn.disabled,.dark-mode .bg-gradient-olive.btn:disabled{background-image:none!important;border-color:#74c8a3;color:#1f2d3d}.dark-mode .bg-gradient-lime{background:#67ffa9 linear-gradient(180deg,#7effb6,#67ffa9) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-lime.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-lime.btn:hover{background:#67ffa9 linear-gradient(180deg,#5dffa4,#41ff94) repeat-x!important;border-color:#34ff8d;color:#121a24}.dark-mode .bg-gradient-lime.btn.active,.dark-mode .bg-gradient-lime.btn:active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-lime.btn:not(:disabled):not(.disabled):active{background:#67ffa9 linear-gradient(180deg,#52ff9e,#34ff8d) repeat-x!important;border-color:#27ff86;color:#1f2d3d}.dark-mode .bg-gradient-lime.btn.disabled,.dark-mode .bg-gradient-lime.btn:disabled{background-image:none!important;border-color:#67ffa9;color:#1f2d3d}.dark-mode .bg-gradient-fuchsia{background:#f672d8 linear-gradient(180deg,#f787de,#f672d8) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-fuchsia.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-fuchsia.btn:hover{background:#f672d8 linear-gradient(180deg,#f569d6,#f44ece) repeat-x!important;border-color:#f342cb;color:#121a24}.dark-mode .bg-gradient-fuchsia.btn.active,.dark-mode .bg-gradient-fuchsia.btn:active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-fuchsia.btn:not(:disabled):not(.disabled):active{background:#f672d8 linear-gradient(180deg,#f55ed3,#f342cb) repeat-x!important;border-color:#f236c8;color:#fff}.dark-mode .bg-gradient-fuchsia.btn.disabled,.dark-mode .bg-gradient-fuchsia.btn:disabled{background-image:none!important;border-color:#f672d8;color:#1f2d3d}.dark-mode .bg-gradient-maroon{background:#ed6c9b linear-gradient(180deg,#ef82aa,#ed6c9b) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-maroon.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-maroon.btn:hover{background:#ed6c9b linear-gradient(180deg,#ec6596,#e84a84) repeat-x!important;border-color:#e73f7c;color:#121a24}.dark-mode .bg-gradient-maroon.btn.active,.dark-mode .bg-gradient-maroon.btn:active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-maroon.btn:not(:disabled):not(.disabled):active{background:#ed6c9b linear-gradient(180deg,#eb5c90,#e73f7c) repeat-x!important;border-color:#e63475;color:#fff}.dark-mode .bg-gradient-maroon.btn.disabled,.dark-mode .bg-gradient-maroon.btn:disabled{background-image:none!important;border-color:#ed6c9b;color:#1f2d3d}.dark-mode .bg-gradient-blue{background:#3f6791 linear-gradient(180deg,#5c7ea2,#3f6791) repeat-x!important;color:#fff}.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-blue.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-blue.btn:hover{background:#3f6791 linear-gradient(180deg,#526e8b,#335476) repeat-x!important;border-color:#304e6d;color:#ececec}.dark-mode .bg-gradient-blue.btn.active,.dark-mode .bg-gradient-blue.btn:active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-blue.btn:not(:disabled):not(.disabled):active{background:#3f6791 linear-gradient(180deg,#4f6883,#304e6d) repeat-x!important;border-color:#2c4765;color:#fff}.dark-mode .bg-gradient-blue.btn.disabled,.dark-mode .bg-gradient-blue.btn:disabled{background-image:none!important;border-color:#3f6791;color:#fff}.dark-mode .bg-gradient-indigo{background:#6610f2 linear-gradient(180deg,#7d34f4,#6610f2) repeat-x!important;color:#fff}.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-indigo.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-indigo.btn:hover{background:#6610f2 linear-gradient(180deg,#7030d7,#560bd0) repeat-x!important;border-color:#510bc4;color:#ececec}.dark-mode .bg-gradient-indigo.btn.active,.dark-mode .bg-gradient-indigo.btn:active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-indigo.btn:not(:disabled):not(.disabled):active{background:#6610f2 linear-gradient(180deg,#6b2fcd,#510bc4) repeat-x!important;border-color:#4c0ab8;color:#fff}.dark-mode .bg-gradient-indigo.btn.disabled,.dark-mode .bg-gradient-indigo.btn:disabled{background-image:none!important;border-color:#6610f2;color:#fff}.dark-mode .bg-gradient-purple{background:#6f42c1 linear-gradient(180deg,#855eca,#6f42c1) repeat-x!important;color:#fff}.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-purple.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-purple.btn:hover{background:#6f42c1 linear-gradient(180deg,#7655b4,#5e37a6) repeat-x!important;border-color:#59339d;color:#ececec}.dark-mode .bg-gradient-purple.btn.active,.dark-mode .bg-gradient-purple.btn:active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-purple.btn:not(:disabled):not(.disabled):active{background:#6f42c1 linear-gradient(180deg,#7252ab,#59339d) repeat-x!important;border-color:#533093;color:#fff}.dark-mode .bg-gradient-purple.btn.disabled,.dark-mode .bg-gradient-purple.btn:disabled{background-image:none!important;border-color:#6f42c1;color:#fff}.dark-mode .bg-gradient-pink{background:#e83e8c linear-gradient(180deg,#eb5b9d,#e83e8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-pink.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-pink.btn:hover{background:#e83e8c linear-gradient(180deg,#e83e8c,#e41c78) repeat-x!important;border-color:#d91a72;color:#ececec}.dark-mode .bg-gradient-pink.btn.active,.dark-mode .bg-gradient-pink.btn:active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-pink.btn:not(:disabled):not(.disabled):active{background:#e83e8c linear-gradient(180deg,#df3c87,#d91a72) repeat-x!important;border-color:#ce196c;color:#fff}.dark-mode .bg-gradient-pink.btn.disabled,.dark-mode .bg-gradient-pink.btn:disabled{background-image:none!important;border-color:#e83e8c;color:#fff}.dark-mode .bg-gradient-red{background:#e74c3c linear-gradient(180deg,#eb6759,#e74c3c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-red.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-red.btn:hover{background:#e74c3c linear-gradient(180deg,#e64d3e,#e12e1c) repeat-x!important;border-color:#d62c1a;color:#ececec}.dark-mode .bg-gradient-red.btn.active,.dark-mode .bg-gradient-red.btn:active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-red.btn:not(:disabled):not(.disabled):active{background:#e74c3c linear-gradient(180deg,#dc4c3d,#d62c1a) repeat-x!important;border-color:#ca2a19;color:#fff}.dark-mode .bg-gradient-red.btn.disabled,.dark-mode .bg-gradient-red.btn:disabled{background-image:none!important;border-color:#e74c3c;color:#fff}.dark-mode .bg-gradient-orange{background:#fd7e14 linear-gradient(180deg,#fd9137,#fd7e14) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-orange.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-orange.btn:hover{background:#fd7e14 linear-gradient(180deg,#ec8128,#e96b02) repeat-x!important;border-color:#dc6502;color:#121a24}.dark-mode .bg-gradient-orange.btn.active,.dark-mode .bg-gradient-orange.btn:active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-orange.btn:not(:disabled):not(.disabled):active{background:#fd7e14 linear-gradient(180deg,#e17c28,#dc6502) repeat-x!important;border-color:#cf5f02;color:#fff}.dark-mode .bg-gradient-orange.btn.disabled,.dark-mode .bg-gradient-orange.btn:disabled{background-image:none!important;border-color:#fd7e14;color:#1f2d3d}.dark-mode .bg-gradient-yellow{background:#f39c12 linear-gradient(180deg,#f5ab36,#f39c12) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-yellow.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-yellow.btn:hover{background:#f39c12 linear-gradient(180deg,#da982f,#d4860b) repeat-x!important;border-color:#c87f0a;color:#121a24}.dark-mode .bg-gradient-yellow.btn.active,.dark-mode .bg-gradient-yellow.btn:active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-yellow.btn:not(:disabled):not(.disabled):active{background:#f39c12 linear-gradient(180deg,#d0922f,#c87f0a) repeat-x!important;border-color:#bc770a;color:#fff}.dark-mode .bg-gradient-yellow.btn.disabled,.dark-mode .bg-gradient-yellow.btn:disabled{background-image:none!important;border-color:#f39c12;color:#1f2d3d}.dark-mode .bg-gradient-green{background:#00bc8c linear-gradient(180deg,#26c69d,#00bc8c) repeat-x!important;color:#fff}.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-green.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-green.btn:hover{background:#00bc8c linear-gradient(180deg,#26a685,#009670) repeat-x!important;border-color:#008966;color:#ececec}.dark-mode .bg-gradient-green.btn.active,.dark-mode .bg-gradient-green.btn:active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-green.btn:not(:disabled):not(.disabled):active{background:#00bc8c linear-gradient(180deg,#269b7d,#008966) repeat-x!important;border-color:#007c5d;color:#fff}.dark-mode .bg-gradient-green.btn.disabled,.dark-mode .bg-gradient-green.btn:disabled{background-image:none!important;border-color:#00bc8c;color:#fff}.dark-mode .bg-gradient-teal{background:#20c997 linear-gradient(180deg,#41d1a7,#20c997) repeat-x!important;color:#fff}.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-teal.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-teal.btn:hover{background:#20c997 linear-gradient(180deg,#3db592,#1ba87e) repeat-x!important;border-color:#199d76;color:#ececec}.dark-mode .bg-gradient-teal.btn.active,.dark-mode .bg-gradient-teal.btn:active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-teal.btn:not(:disabled):not(.disabled):active{background:#20c997 linear-gradient(180deg,#3bac8b,#199d76) repeat-x!important;border-color:#17926e;color:#fff}.dark-mode .bg-gradient-teal.btn.disabled,.dark-mode .bg-gradient-teal.btn:disabled{background-image:none!important;border-color:#20c997;color:#fff}.dark-mode .bg-gradient-cyan{background:#3498db linear-gradient(180deg,#52a7e0,#3498db) repeat-x!important;color:#fff}.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-cyan.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-cyan.btn:hover{background:#3498db linear-gradient(180deg,#4497ce,#2384c6) repeat-x!important;border-color:#217dbb;color:#ececec}.dark-mode .bg-gradient-cyan.btn.active,.dark-mode .bg-gradient-cyan.btn:active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-cyan.btn:not(:disabled):not(.disabled):active{background:#3498db linear-gradient(180deg,#4291c5,#217dbb) repeat-x!important;border-color:#1f76b0;color:#fff}.dark-mode .bg-gradient-cyan.btn.disabled,.dark-mode .bg-gradient-cyan.btn:disabled{background-image:none!important;border-color:#3498db;color:#fff}.dark-mode .bg-gradient-white{background:#fff linear-gradient(180deg,#fff,#fff) repeat-x!important;color:#1f2d3d}.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-white.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-white.btn:hover{background:#fff linear-gradient(180deg,#efefef,#ececec) repeat-x!important;border-color:#e6e6e6;color:#121a24}.dark-mode .bg-gradient-white.btn.active,.dark-mode .bg-gradient-white.btn:active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-white.btn:not(:disabled):not(.disabled):active{background:#fff linear-gradient(180deg,#e9e9e9,#e6e6e6) repeat-x!important;border-color:#dfdfdf;color:#1f2d3d}.dark-mode .bg-gradient-white.btn.disabled,.dark-mode .bg-gradient-white.btn:disabled{background-image:none!important;border-color:#fff;color:#1f2d3d}.dark-mode .bg-gradient-gray{background:#6c757d linear-gradient(180deg,#828a91,#6c757d) repeat-x!important;color:#fff}.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-gray.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-gray.btn:hover{background:#6c757d linear-gradient(180deg,#73797f,#5a6268) repeat-x!important;border-color:#545b62;color:#ececec}.dark-mode .bg-gradient-gray.btn.active,.dark-mode .bg-gradient-gray.btn:active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray.btn:not(:disabled):not(.disabled):active{background:#6c757d linear-gradient(180deg,#6e7479,#545b62) repeat-x!important;border-color:#4e555b;color:#fff}.dark-mode .bg-gradient-gray.btn.disabled,.dark-mode .bg-gradient-gray.btn:disabled{background-image:none!important;border-color:#6c757d;color:#fff}.dark-mode .bg-gradient-gray-dark{background:#343a40 linear-gradient(180deg,#52585d,#343a40) repeat-x!important;color:#fff}.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active,.show>.dark-mode .bg-gradient-gray-dark.btn.dropdown-toggle{background-image:none!important}.dark-mode .bg-gradient-gray-dark.btn:hover{background:#343a40 linear-gradient(180deg,#44474b,#23272b) repeat-x!important;border-color:#1d2124;color:#ececec}.dark-mode .bg-gradient-gray-dark.btn.active,.dark-mode .bg-gradient-gray-dark.btn:active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled).active,.dark-mode .bg-gradient-gray-dark.btn:not(:disabled):not(.disabled):active{background:#343a40 linear-gradient(180deg,#3f4245,#1d2124) repeat-x!important;border-color:#171a1d;color:#fff}.dark-mode .bg-gradient-gray-dark.btn.disabled,.dark-mode .bg-gradient-gray-dark.btn:disabled{background-image:none!important;border-color:#343a40;color:#fff}.dark-mode .accent-primary .btn-link,.dark-mode .accent-primary .nav-tabs .nav-link,.dark-mode .accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3f6791}.dark-mode .accent-primary .btn-link:hover,.dark-mode .accent-primary .nav-tabs .nav-link:hover,.dark-mode .accent-primary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#28415c}.dark-mode .accent-primary .dropdown-item.active,.dark-mode .accent-primary .dropdown-item:active{background-color:#3f6791;color:#fff}.dark-mode .accent-primary .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .accent-primary .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-primary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-primary .custom-file-input:focus~.custom-file-label,.dark-mode .accent-primary .custom-select:focus,.dark-mode .accent-primary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#85a7ca}.dark-mode .accent-primary .page-item .page-link{color:#3f6791}.dark-mode .accent-primary .page-item.active .page-link,.dark-mode .accent-primary .page-item.active a{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .accent-primary .page-item.disabled .page-link,.dark-mode .accent-primary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-primary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-primary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-primary .page-item .page-link:focus,.dark-mode .dark-mode.accent-primary .page-item .page-link:hover{color:#4774a3}.dark-mode .accent-secondary .btn-link,.dark-mode .accent-secondary .nav-tabs .nav-link,.dark-mode .accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6c757d}.dark-mode .accent-secondary .btn-link:hover,.dark-mode .accent-secondary .nav-tabs .nav-link:hover,.dark-mode .accent-secondary a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#494f54}.dark-mode .accent-secondary .dropdown-item.active,.dark-mode .accent-secondary .dropdown-item:active{background-color:#6c757d;color:#fff}.dark-mode .accent-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .accent-secondary .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-secondary .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-secondary .custom-file-input:focus~.custom-file-label,.dark-mode .accent-secondary .custom-select:focus,.dark-mode .accent-secondary .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.dark-mode .accent-secondary .page-item .page-link{color:#6c757d}.dark-mode .accent-secondary .page-item.active .page-link,.dark-mode .accent-secondary .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .accent-secondary .page-item.disabled .page-link,.dark-mode .accent-secondary .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-secondary [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-secondary [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-secondary .page-item .page-link:focus,.dark-mode .dark-mode.accent-secondary .page-item .page-link:hover{color:#78828a}.dark-mode .accent-success .btn-link,.dark-mode .accent-success .nav-tabs .nav-link,.dark-mode .accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#00bc8c}.dark-mode .accent-success .btn-link:hover,.dark-mode .accent-success .nav-tabs .nav-link:hover,.dark-mode .accent-success a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#007053}.dark-mode .accent-success .dropdown-item.active,.dark-mode .accent-success .dropdown-item:active{background-color:#00bc8c;color:#fff}.dark-mode .accent-success .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .accent-success .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-success .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-success .custom-file-input:focus~.custom-file-label,.dark-mode .accent-success .custom-select:focus,.dark-mode .accent-success .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#3dffcd}.dark-mode .accent-success .page-item .page-link{color:#00bc8c}.dark-mode .accent-success .page-item.active .page-link,.dark-mode .accent-success .page-item.active a{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .accent-success .page-item.disabled .page-link,.dark-mode .accent-success .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-success [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-success [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-success .page-item .page-link:focus,.dark-mode .dark-mode.accent-success .page-item .page-link:hover{color:#00d69f}.dark-mode .accent-info .btn-link,.dark-mode .accent-info .nav-tabs .nav-link,.dark-mode .accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3498db}.dark-mode .accent-info .btn-link:hover,.dark-mode .accent-info .nav-tabs .nav-link:hover,.dark-mode .accent-info a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#1d6fa5}.dark-mode .accent-info .dropdown-item.active,.dark-mode .accent-info .dropdown-item:active{background-color:#3498db;color:#fff}.dark-mode .accent-info .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .accent-info .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-info .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-info .custom-file-input:focus~.custom-file-label,.dark-mode .accent-info .custom-select:focus,.dark-mode .accent-info .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#a0cfee}.dark-mode .accent-info .page-item .page-link{color:#3498db}.dark-mode .accent-info .page-item.active .page-link,.dark-mode .accent-info .page-item.active a{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .accent-info .page-item.disabled .page-link,.dark-mode .accent-info .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-info [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-info [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-info .page-item .page-link:focus,.dark-mode .dark-mode.accent-info .page-item .page-link:hover{color:#4aa3df}.dark-mode .accent-warning .btn-link,.dark-mode .accent-warning .nav-tabs .nav-link,.dark-mode .accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f39c12}.dark-mode .accent-warning .btn-link:hover,.dark-mode .accent-warning .nav-tabs .nav-link:hover,.dark-mode .accent-warning a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#b06f09}.dark-mode .accent-warning .dropdown-item.active,.dark-mode .accent-warning .dropdown-item:active{background-color:#f39c12;color:#1f2d3d}.dark-mode .accent-warning .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .accent-warning .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-warning .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-warning .custom-file-input:focus~.custom-file-label,.dark-mode .accent-warning .custom-select:focus,.dark-mode .accent-warning .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f9cf8b}.dark-mode .accent-warning .page-item .page-link{color:#f39c12}.dark-mode .accent-warning .page-item.active .page-link,.dark-mode .accent-warning .page-item.active a{background-color:#f39c12;border-color:#f39c12;color:#fff}.dark-mode .accent-warning .page-item.disabled .page-link,.dark-mode .accent-warning .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-warning [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-warning [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-warning .page-item .page-link:focus,.dark-mode .dark-mode.accent-warning .page-item .page-link:hover{color:#f4a62a}.dark-mode .accent-danger .btn-link,.dark-mode .accent-danger .nav-tabs .nav-link,.dark-mode .accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#e74c3c}.dark-mode .accent-danger .btn-link:hover,.dark-mode .accent-danger .nav-tabs .nav-link:hover,.dark-mode .accent-danger a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#bf2718}.dark-mode .accent-danger .dropdown-item.active,.dark-mode .accent-danger .dropdown-item:active{background-color:#e74c3c;color:#fff}.dark-mode .accent-danger .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .accent-danger .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-danger .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-danger .custom-file-input:focus~.custom-file-label,.dark-mode .accent-danger .custom-select:focus,.dark-mode .accent-danger .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f5b4ae}.dark-mode .accent-danger .page-item .page-link{color:#e74c3c}.dark-mode .accent-danger .page-item.active .page-link,.dark-mode .accent-danger .page-item.active a{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .accent-danger .page-item.disabled .page-link,.dark-mode .accent-danger .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-danger [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-danger [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-danger .page-item .page-link:focus,.dark-mode .dark-mode.accent-danger .page-item .page-link:hover{color:#ea6153}.dark-mode .accent-light .btn-link,.dark-mode .accent-light .nav-tabs .nav-link,.dark-mode .accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f8f9fa}.dark-mode .accent-light .btn-link:hover,.dark-mode .accent-light .nav-tabs .nav-link:hover,.dark-mode .accent-light a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#cbd3da}.dark-mode .accent-light .dropdown-item.active,.dark-mode .accent-light .dropdown-item:active{background-color:#f8f9fa;color:#1f2d3d}.dark-mode .accent-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .accent-light .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-light .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-light .custom-file-input:focus~.custom-file-label,.dark-mode .accent-light .custom-select:focus,.dark-mode .accent-light .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.dark-mode .accent-light .page-item .page-link{color:#f8f9fa}.dark-mode .accent-light .page-item.active .page-link,.dark-mode .accent-light .page-item.active a{background-color:#f8f9fa;border-color:#f8f9fa;color:#fff}.dark-mode .accent-light .page-item.disabled .page-link,.dark-mode .accent-light .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-light [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-light [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-light .page-item .page-link:focus,.dark-mode .dark-mode.accent-light .page-item .page-link:hover{color:#fff}.dark-mode .accent-dark .btn-link,.dark-mode .accent-dark .nav-tabs .nav-link,.dark-mode .accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#343a40}.dark-mode .accent-dark .btn-link:hover,.dark-mode .accent-dark .nav-tabs .nav-link:hover,.dark-mode .accent-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#121416}.dark-mode .accent-dark .dropdown-item.active,.dark-mode .accent-dark .dropdown-item:active{background-color:#343a40;color:#fff}.dark-mode .accent-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .accent-dark .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-dark .custom-file-input:focus~.custom-file-label,.dark-mode .accent-dark .custom-select:focus,.dark-mode .accent-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.dark-mode .accent-dark .page-item .page-link{color:#343a40}.dark-mode .accent-dark .page-item.active .page-link,.dark-mode .accent-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .accent-dark .page-item.disabled .page-link,.dark-mode .accent-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-dark .page-item .page-link:focus,.dark-mode .dark-mode.accent-dark .page-item .page-link:hover{color:#3f474e}.dark-mode [class*=accent-] a.btn-primary{color:#fff}.dark-mode [class*=accent-] a.btn-secondary{color:#fff}.dark-mode [class*=accent-] a.btn-success{color:#fff}.dark-mode [class*=accent-] a.btn-info{color:#fff}.dark-mode [class*=accent-] a.btn-warning{color:#1f2d3d}.dark-mode [class*=accent-] a.btn-danger{color:#fff}.dark-mode [class*=accent-] a.btn-light{color:#1f2d3d}.dark-mode [class*=accent-] a.btn-dark{color:#fff}.dark-mode .accent-lightblue .btn-link,.dark-mode .accent-lightblue .nav-tabs .nav-link,.dark-mode .accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#86bad8}.dark-mode .accent-lightblue .btn-link:hover,.dark-mode .accent-lightblue .nav-tabs .nav-link:hover,.dark-mode .accent-lightblue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#4c99c6}.dark-mode .accent-lightblue .dropdown-item.active,.dark-mode .accent-lightblue .dropdown-item:active{background-color:#86bad8;color:#1f2d3d}.dark-mode .accent-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .accent-lightblue .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-lightblue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-lightblue .custom-file-input:focus~.custom-file-label,.dark-mode .accent-lightblue .custom-select:focus,.dark-mode .accent-lightblue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#e6f1f7}.dark-mode .accent-lightblue .page-item .page-link{color:#86bad8}.dark-mode .accent-lightblue .page-item.active .page-link,.dark-mode .accent-lightblue .page-item.active a{background-color:#86bad8;border-color:#86bad8;color:#fff}.dark-mode .accent-lightblue .page-item.disabled .page-link,.dark-mode .accent-lightblue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-lightblue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-lightblue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-lightblue .page-item .page-link:focus,.dark-mode .dark-mode.accent-lightblue .page-item .page-link:hover{color:#99c5de}.dark-mode .accent-navy .btn-link,.dark-mode .accent-navy .nav-tabs .nav-link,.dark-mode .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#002c59}.dark-mode .accent-navy .btn-link:hover,.dark-mode .accent-navy .nav-tabs .nav-link:hover,.dark-mode .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#00060c}.dark-mode .accent-navy .dropdown-item.active,.dark-mode .accent-navy .dropdown-item:active{background-color:#002c59;color:#fff}.dark-mode .accent-navy .custom-control-input:checked~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .accent-navy .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-navy .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-navy .custom-file-input:focus~.custom-file-label,.dark-mode .accent-navy .custom-select:focus,.dark-mode .accent-navy .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#006ad8}.dark-mode .accent-navy .page-item .page-link{color:#002c59}.dark-mode .accent-navy .page-item.active .page-link,.dark-mode .accent-navy .page-item.active a{background-color:#002c59;border-color:#002c59;color:#fff}.dark-mode .accent-navy .page-item.disabled .page-link,.dark-mode .accent-navy .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-navy [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-navy [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-navy .page-item .page-link:focus,.dark-mode .dark-mode.accent-navy .page-item .page-link:hover{color:#003872}.dark-mode .accent-olive .btn-link,.dark-mode .accent-olive .nav-tabs .nav-link,.dark-mode .accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#74c8a3}.dark-mode .accent-olive .btn-link:hover,.dark-mode .accent-olive .nav-tabs .nav-link:hover,.dark-mode .accent-olive a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#44ab7d}.dark-mode .accent-olive .dropdown-item.active,.dark-mode .accent-olive .dropdown-item:active{background-color:#74c8a3;color:#1f2d3d}.dark-mode .accent-olive .custom-control-input:checked~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .accent-olive .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-olive .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-olive .custom-file-input:focus~.custom-file-label,.dark-mode .accent-olive .custom-select:focus,.dark-mode .accent-olive .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#cfecdf}.dark-mode .accent-olive .page-item .page-link{color:#74c8a3}.dark-mode .accent-olive .page-item.active .page-link,.dark-mode .accent-olive .page-item.active a{background-color:#74c8a3;border-color:#74c8a3;color:#fff}.dark-mode .accent-olive .page-item.disabled .page-link,.dark-mode .accent-olive .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-olive [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-olive [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-olive .page-item .page-link:focus,.dark-mode .dark-mode.accent-olive .page-item .page-link:hover{color:#87cfaf}.dark-mode .accent-lime .btn-link,.dark-mode .accent-lime .nav-tabs .nav-link,.dark-mode .accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#67ffa9}.dark-mode .accent-lime .btn-link:hover,.dark-mode .accent-lime .nav-tabs .nav-link:hover,.dark-mode .accent-lime a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#1bff7e}.dark-mode .accent-lime .dropdown-item.active,.dark-mode .accent-lime .dropdown-item:active{background-color:#67ffa9;color:#1f2d3d}.dark-mode .accent-lime .custom-control-input:checked~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .accent-lime .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-lime .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-lime .custom-file-input:focus~.custom-file-label,.dark-mode .accent-lime .custom-select:focus,.dark-mode .accent-lime .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#e7fff1}.dark-mode .accent-lime .page-item .page-link{color:#67ffa9}.dark-mode .accent-lime .page-item.active .page-link,.dark-mode .accent-lime .page-item.active a{background-color:#67ffa9;border-color:#67ffa9;color:#fff}.dark-mode .accent-lime .page-item.disabled .page-link,.dark-mode .accent-lime .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-lime [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-lime [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-lime .page-item .page-link:focus,.dark-mode .dark-mode.accent-lime .page-item .page-link:hover{color:#81ffb8}.dark-mode .accent-fuchsia .btn-link,.dark-mode .accent-fuchsia .nav-tabs .nav-link,.dark-mode .accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f672d8}.dark-mode .accent-fuchsia .btn-link:hover,.dark-mode .accent-fuchsia .nav-tabs .nav-link:hover,.dark-mode .accent-fuchsia a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#f22ac5}.dark-mode .accent-fuchsia .dropdown-item.active,.dark-mode .accent-fuchsia .dropdown-item:active{background-color:#f672d8;color:#1f2d3d}.dark-mode .accent-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .accent-fuchsia .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-fuchsia .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-fuchsia .custom-file-input:focus~.custom-file-label,.dark-mode .accent-fuchsia .custom-select:focus,.dark-mode .accent-fuchsia .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#feeaf9}.dark-mode .accent-fuchsia .page-item .page-link{color:#f672d8}.dark-mode .accent-fuchsia .page-item.active .page-link,.dark-mode .accent-fuchsia .page-item.active a{background-color:#f672d8;border-color:#f672d8;color:#fff}.dark-mode .accent-fuchsia .page-item.disabled .page-link,.dark-mode .accent-fuchsia .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-fuchsia [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-fuchsia [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-fuchsia .page-item .page-link:focus,.dark-mode .dark-mode.accent-fuchsia .page-item .page-link:hover{color:#f88adf}.dark-mode .accent-maroon .btn-link,.dark-mode .accent-maroon .nav-tabs .nav-link,.dark-mode .accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#ed6c9b}.dark-mode .accent-maroon .btn-link:hover,.dark-mode .accent-maroon .nav-tabs .nav-link:hover,.dark-mode .accent-maroon a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#e4286d}.dark-mode .accent-maroon .dropdown-item.active,.dark-mode .accent-maroon .dropdown-item:active{background-color:#ed6c9b;color:#1f2d3d}.dark-mode .accent-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .accent-maroon .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-maroon .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-maroon .custom-file-input:focus~.custom-file-label,.dark-mode .accent-maroon .custom-select:focus,.dark-mode .accent-maroon .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fbdee8}.dark-mode .accent-maroon .page-item .page-link{color:#ed6c9b}.dark-mode .accent-maroon .page-item.active .page-link,.dark-mode .accent-maroon .page-item.active a{background-color:#ed6c9b;border-color:#ed6c9b;color:#fff}.dark-mode .accent-maroon .page-item.disabled .page-link,.dark-mode .accent-maroon .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-maroon [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-maroon [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-maroon .page-item .page-link:focus,.dark-mode .dark-mode.accent-maroon .page-item .page-link:hover{color:#f083ab}.dark-mode .accent-blue .btn-link,.dark-mode .accent-blue .nav-tabs .nav-link,.dark-mode .accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3f6791}.dark-mode .accent-blue .btn-link:hover,.dark-mode .accent-blue .nav-tabs .nav-link:hover,.dark-mode .accent-blue a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#28415c}.dark-mode .accent-blue .dropdown-item.active,.dark-mode .accent-blue .dropdown-item:active{background-color:#3f6791;color:#fff}.dark-mode .accent-blue .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .accent-blue .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-blue .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-blue .custom-file-input:focus~.custom-file-label,.dark-mode .accent-blue .custom-select:focus,.dark-mode .accent-blue .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#85a7ca}.dark-mode .accent-blue .page-item .page-link{color:#3f6791}.dark-mode .accent-blue .page-item.active .page-link,.dark-mode .accent-blue .page-item.active a{background-color:#3f6791;border-color:#3f6791;color:#fff}.dark-mode .accent-blue .page-item.disabled .page-link,.dark-mode .accent-blue .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-blue [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-blue [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-blue .page-item .page-link:focus,.dark-mode .dark-mode.accent-blue .page-item .page-link:hover{color:#4774a3}.dark-mode .accent-indigo .btn-link,.dark-mode .accent-indigo .nav-tabs .nav-link,.dark-mode .accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6610f2}.dark-mode .accent-indigo .btn-link:hover,.dark-mode .accent-indigo .nav-tabs .nav-link:hover,.dark-mode .accent-indigo a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#4709ac}.dark-mode .accent-indigo .dropdown-item.active,.dark-mode .accent-indigo .dropdown-item:active{background-color:#6610f2;color:#fff}.dark-mode .accent-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .accent-indigo .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-indigo .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-indigo .custom-file-input:focus~.custom-file-label,.dark-mode .accent-indigo .custom-select:focus,.dark-mode .accent-indigo .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b389f9}.dark-mode .accent-indigo .page-item .page-link{color:#6610f2}.dark-mode .accent-indigo .page-item.active .page-link,.dark-mode .accent-indigo .page-item.active a{background-color:#6610f2;border-color:#6610f2;color:#fff}.dark-mode .accent-indigo .page-item.disabled .page-link,.dark-mode .accent-indigo .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-indigo [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-indigo [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-indigo .page-item .page-link:focus,.dark-mode .dark-mode.accent-indigo .page-item .page-link:hover{color:#7528f3}.dark-mode .accent-purple .btn-link,.dark-mode .accent-purple .nav-tabs .nav-link,.dark-mode .accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6f42c1}.dark-mode .accent-purple .btn-link:hover,.dark-mode .accent-purple .nav-tabs .nav-link:hover,.dark-mode .accent-purple a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#4e2d89}.dark-mode .accent-purple .dropdown-item.active,.dark-mode .accent-purple .dropdown-item:active{background-color:#6f42c1;color:#fff}.dark-mode .accent-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .accent-purple .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-purple .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-purple .custom-file-input:focus~.custom-file-label,.dark-mode .accent-purple .custom-select:focus,.dark-mode .accent-purple .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#b8a2e0}.dark-mode .accent-purple .page-item .page-link{color:#6f42c1}.dark-mode .accent-purple .page-item.active .page-link,.dark-mode .accent-purple .page-item.active a{background-color:#6f42c1;border-color:#6f42c1;color:#fff}.dark-mode .accent-purple .page-item.disabled .page-link,.dark-mode .accent-purple .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-purple [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-purple [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-purple .page-item .page-link:focus,.dark-mode .dark-mode.accent-purple .page-item .page-link:hover{color:#7e55c7}.dark-mode .accent-pink .btn-link,.dark-mode .accent-pink .nav-tabs .nav-link,.dark-mode .accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#e83e8c}.dark-mode .accent-pink .btn-link:hover,.dark-mode .accent-pink .nav-tabs .nav-link:hover,.dark-mode .accent-pink a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#c21766}.dark-mode .accent-pink .dropdown-item.active,.dark-mode .accent-pink .dropdown-item:active{background-color:#e83e8c;color:#fff}.dark-mode .accent-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .accent-pink .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-pink .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-pink .custom-file-input:focus~.custom-file-label,.dark-mode .accent-pink .custom-select:focus,.dark-mode .accent-pink .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f6b0d0}.dark-mode .accent-pink .page-item .page-link{color:#e83e8c}.dark-mode .accent-pink .page-item.active .page-link,.dark-mode .accent-pink .page-item.active a{background-color:#e83e8c;border-color:#e83e8c;color:#fff}.dark-mode .accent-pink .page-item.disabled .page-link,.dark-mode .accent-pink .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-pink [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-pink [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-pink .page-item .page-link:focus,.dark-mode .dark-mode.accent-pink .page-item .page-link:hover{color:#eb559a}.dark-mode .accent-red .btn-link,.dark-mode .accent-red .nav-tabs .nav-link,.dark-mode .accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#e74c3c}.dark-mode .accent-red .btn-link:hover,.dark-mode .accent-red .nav-tabs .nav-link:hover,.dark-mode .accent-red a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#bf2718}.dark-mode .accent-red .dropdown-item.active,.dark-mode .accent-red .dropdown-item:active{background-color:#e74c3c;color:#fff}.dark-mode .accent-red .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .accent-red .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-red .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-red .custom-file-input:focus~.custom-file-label,.dark-mode .accent-red .custom-select:focus,.dark-mode .accent-red .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f5b4ae}.dark-mode .accent-red .page-item .page-link{color:#e74c3c}.dark-mode .accent-red .page-item.active .page-link,.dark-mode .accent-red .page-item.active a{background-color:#e74c3c;border-color:#e74c3c;color:#fff}.dark-mode .accent-red .page-item.disabled .page-link,.dark-mode .accent-red .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-red [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-red [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-red .page-item .page-link:focus,.dark-mode .dark-mode.accent-red .page-item .page-link:hover{color:#ea6153}.dark-mode .accent-orange .btn-link,.dark-mode .accent-orange .nav-tabs .nav-link,.dark-mode .accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#fd7e14}.dark-mode .accent-orange .btn-link:hover,.dark-mode .accent-orange .nav-tabs .nav-link:hover,.dark-mode .accent-orange a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#c35a02}.dark-mode .accent-orange .dropdown-item.active,.dark-mode .accent-orange .dropdown-item:active{background-color:#fd7e14;color:#1f2d3d}.dark-mode .accent-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .accent-orange .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-orange .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-orange .custom-file-input:focus~.custom-file-label,.dark-mode .accent-orange .custom-select:focus,.dark-mode .accent-orange .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fec392}.dark-mode .accent-orange .page-item .page-link{color:#fd7e14}.dark-mode .accent-orange .page-item.active .page-link,.dark-mode .accent-orange .page-item.active a{background-color:#fd7e14;border-color:#fd7e14;color:#fff}.dark-mode .accent-orange .page-item.disabled .page-link,.dark-mode .accent-orange .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-orange [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-orange [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-orange .page-item .page-link:focus,.dark-mode .dark-mode.accent-orange .page-item .page-link:hover{color:#fd8c2d}.dark-mode .accent-yellow .btn-link,.dark-mode .accent-yellow .nav-tabs .nav-link,.dark-mode .accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#f39c12}.dark-mode .accent-yellow .btn-link:hover,.dark-mode .accent-yellow .nav-tabs .nav-link:hover,.dark-mode .accent-yellow a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#b06f09}.dark-mode .accent-yellow .dropdown-item.active,.dark-mode .accent-yellow .dropdown-item:active{background-color:#f39c12;color:#1f2d3d}.dark-mode .accent-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .accent-yellow .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-yellow .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-yellow .custom-file-input:focus~.custom-file-label,.dark-mode .accent-yellow .custom-select:focus,.dark-mode .accent-yellow .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#f9cf8b}.dark-mode .accent-yellow .page-item .page-link{color:#f39c12}.dark-mode .accent-yellow .page-item.active .page-link,.dark-mode .accent-yellow .page-item.active a{background-color:#f39c12;border-color:#f39c12;color:#fff}.dark-mode .accent-yellow .page-item.disabled .page-link,.dark-mode .accent-yellow .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-yellow [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-yellow [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-yellow .page-item .page-link:focus,.dark-mode .dark-mode.accent-yellow .page-item .page-link:hover{color:#f4a62a}.dark-mode .accent-green .btn-link,.dark-mode .accent-green .nav-tabs .nav-link,.dark-mode .accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#00bc8c}.dark-mode .accent-green .btn-link:hover,.dark-mode .accent-green .nav-tabs .nav-link:hover,.dark-mode .accent-green a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#007053}.dark-mode .accent-green .dropdown-item.active,.dark-mode .accent-green .dropdown-item:active{background-color:#00bc8c;color:#fff}.dark-mode .accent-green .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .accent-green .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-green .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-green .custom-file-input:focus~.custom-file-label,.dark-mode .accent-green .custom-select:focus,.dark-mode .accent-green .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#3dffcd}.dark-mode .accent-green .page-item .page-link{color:#00bc8c}.dark-mode .accent-green .page-item.active .page-link,.dark-mode .accent-green .page-item.active a{background-color:#00bc8c;border-color:#00bc8c;color:#fff}.dark-mode .accent-green .page-item.disabled .page-link,.dark-mode .accent-green .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-green [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-green [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-green .page-item .page-link:focus,.dark-mode .dark-mode.accent-green .page-item .page-link:hover{color:#00d69f}.dark-mode .accent-teal .btn-link,.dark-mode .accent-teal .nav-tabs .nav-link,.dark-mode .accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#20c997}.dark-mode .accent-teal .btn-link:hover,.dark-mode .accent-teal .nav-tabs .nav-link:hover,.dark-mode .accent-teal a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#158765}.dark-mode .accent-teal .dropdown-item.active,.dark-mode .accent-teal .dropdown-item:active{background-color:#20c997;color:#fff}.dark-mode .accent-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .accent-teal .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-teal .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-teal .custom-file-input:focus~.custom-file-label,.dark-mode .accent-teal .custom-select:focus,.dark-mode .accent-teal .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#7eeaca}.dark-mode .accent-teal .page-item .page-link{color:#20c997}.dark-mode .accent-teal .page-item.active .page-link,.dark-mode .accent-teal .page-item.active a{background-color:#20c997;border-color:#20c997;color:#fff}.dark-mode .accent-teal .page-item.disabled .page-link,.dark-mode .accent-teal .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-teal [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-teal [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-teal .page-item .page-link:focus,.dark-mode .dark-mode.accent-teal .page-item .page-link:hover{color:#26dca6}.dark-mode .accent-cyan .btn-link,.dark-mode .accent-cyan .nav-tabs .nav-link,.dark-mode .accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#3498db}.dark-mode .accent-cyan .btn-link:hover,.dark-mode .accent-cyan .nav-tabs .nav-link:hover,.dark-mode .accent-cyan a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#1d6fa5}.dark-mode .accent-cyan .dropdown-item.active,.dark-mode .accent-cyan .dropdown-item:active{background-color:#3498db;color:#fff}.dark-mode .accent-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .accent-cyan .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-cyan .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-cyan .custom-file-input:focus~.custom-file-label,.dark-mode .accent-cyan .custom-select:focus,.dark-mode .accent-cyan .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#a0cfee}.dark-mode .accent-cyan .page-item .page-link{color:#3498db}.dark-mode .accent-cyan .page-item.active .page-link,.dark-mode .accent-cyan .page-item.active a{background-color:#3498db;border-color:#3498db;color:#fff}.dark-mode .accent-cyan .page-item.disabled .page-link,.dark-mode .accent-cyan .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-cyan [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-cyan [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-cyan .page-item .page-link:focus,.dark-mode .dark-mode.accent-cyan .page-item .page-link:hover{color:#4aa3df}.dark-mode .accent-white .btn-link,.dark-mode .accent-white .nav-tabs .nav-link,.dark-mode .accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#fff}.dark-mode .accent-white .btn-link:hover,.dark-mode .accent-white .nav-tabs .nav-link:hover,.dark-mode .accent-white a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#d9d9d9}.dark-mode .accent-white .dropdown-item.active,.dark-mode .accent-white .dropdown-item:active{background-color:#fff;color:#1f2d3d}.dark-mode .accent-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .accent-white .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%231f2d3d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-white .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-white .custom-file-input:focus~.custom-file-label,.dark-mode .accent-white .custom-select:focus,.dark-mode .accent-white .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#fff}.dark-mode .accent-white .page-item .page-link{color:#fff}.dark-mode .accent-white .page-item.active .page-link,.dark-mode .accent-white .page-item.active a{background-color:#fff;border-color:#fff;color:#fff}.dark-mode .accent-white .page-item.disabled .page-link,.dark-mode .accent-white .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-white [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-white [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-white .page-item .page-link:focus,.dark-mode .dark-mode.accent-white .page-item .page-link:hover{color:#fff}.dark-mode .accent-gray .btn-link,.dark-mode .accent-gray .nav-tabs .nav-link,.dark-mode .accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#6c757d}.dark-mode .accent-gray .btn-link:hover,.dark-mode .accent-gray .nav-tabs .nav-link:hover,.dark-mode .accent-gray a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#494f54}.dark-mode .accent-gray .dropdown-item.active,.dark-mode .accent-gray .dropdown-item:active{background-color:#6c757d;color:#fff}.dark-mode .accent-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .accent-gray .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-gray .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-gray .custom-file-input:focus~.custom-file-label,.dark-mode .accent-gray .custom-select:focus,.dark-mode .accent-gray .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#afb5ba}.dark-mode .accent-gray .page-item .page-link{color:#6c757d}.dark-mode .accent-gray .page-item.active .page-link,.dark-mode .accent-gray .page-item.active a{background-color:#6c757d;border-color:#6c757d;color:#fff}.dark-mode .accent-gray .page-item.disabled .page-link,.dark-mode .accent-gray .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-gray [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-gray [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-gray .page-item .page-link:focus,.dark-mode .dark-mode.accent-gray .page-item .page-link:hover{color:#78828a}.dark-mode .accent-gray-dark .btn-link,.dark-mode .accent-gray-dark .nav-tabs .nav-link,.dark-mode .accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn){color:#343a40}.dark-mode .accent-gray-dark .btn-link:hover,.dark-mode .accent-gray-dark .nav-tabs .nav-link:hover,.dark-mode .accent-gray-dark a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.badge):not(.btn):hover{color:#121416}.dark-mode .accent-gray-dark .dropdown-item.active,.dark-mode .accent-gray-dark .dropdown-item:active{background-color:#343a40;color:#fff}.dark-mode .accent-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .accent-gray-dark .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.dark-mode .accent-gray-dark .custom-control-input:focus:not(:checked)~.custom-control-label::before,.dark-mode .accent-gray-dark .custom-file-input:focus~.custom-file-label,.dark-mode .accent-gray-dark .custom-select:focus,.dark-mode .accent-gray-dark .form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid){border-color:#6d7a86}.dark-mode .accent-gray-dark .page-item .page-link{color:#343a40}.dark-mode .accent-gray-dark .page-item.active .page-link,.dark-mode .accent-gray-dark .page-item.active a{background-color:#343a40;border-color:#343a40;color:#fff}.dark-mode .accent-gray-dark .page-item.disabled .page-link,.dark-mode .accent-gray-dark .page-item.disabled a{background-color:#fff;border-color:#dee2e6;color:#6c757d}.dark-mode .accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#c2c7d0}.dark-mode .accent-gray-dark [class*=sidebar-dark-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#fff}.dark-mode .accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link){color:#343a40}.dark-mode .accent-gray-dark [class*=sidebar-light-] .sidebar a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):hover{color:#212529}.dark-mode .dark-mode.accent-gray-dark .page-item .page-link:focus,.dark-mode .dark-mode.accent-gray-dark .page-item .page-link:hover{color:#3f474e}.dark-mode .border-dark{border-color:#4b545c!important}
+/* pages */
+.close,.mailbox-attachment-close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover,.mailbox-attachment-close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover,.mailbox-attachment-close:not(:disabled):not(.disabled):focus,.mailbox-attachment-close:not(:disabled):not(.disabled):hover{opacity:.75}button.close,button.mailbox-attachment-close{padding:0;background-color:transparent;border:0}a.close.disabled,a.disabled.mailbox-attachment-close{pointer-events:none}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.mailbox-messages>.table{margin:0}.mailbox-controls{padding:5px}.mailbox-controls.with-border{border-bottom:1px solid rgba(0,0,0,.125)}.mailbox-read-info{border-bottom:1px solid rgba(0,0,0,.125);padding:10px}.mailbox-read-info h3{font-size:20px;margin:0}.mailbox-read-info h5{margin:0;padding:5px 0 0}.mailbox-read-time{color:#999;font-size:13px}.mailbox-read-message{padding:10px}.mailbox-attachments{padding-left:0;list-style:none}.mailbox-attachments li{border:1px solid #eee;float:left;margin-bottom:10px;margin-right:10px;width:200px}.mailbox-attachment-name{color:#666;font-weight:700}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block}.mailbox-attachment-info{background-color:#f8f9fa;padding:10px}.mailbox-attachment-size{color:#999;font-size:12px}.mailbox-attachment-size>span{display:inline-block;padding-top:.75rem}.mailbox-attachment-icon{color:#666;font-size:65px;max-height:132.5px;padding:20px 10px;text-align:center}.mailbox-attachment-icon.has-img{padding:0}.mailbox-attachment-icon.has-img>img{height:auto;max-width:100%}.lockscreen{background-color:#e9ecef}.lockscreen .lockscreen-name{font-weight:600;text-align:center}.lockscreen-logo{font-size:35px;font-weight:300;margin-bottom:25px;text-align:center}.lockscreen-logo a{color:#495057}.lockscreen-wrapper{margin:0 auto;margin-top:10%;max-width:400px}.lockscreen-item{border-radius:4px;background-color:#fff;margin:10px auto 30px;padding:0;position:relative;width:290px}.lockscreen-image{border-radius:50%;background-color:#fff;left:-10px;padding:5px;position:absolute;top:-25px;z-index:10}.lockscreen-image>img{border-radius:50%;height:70px;width:70px}.lockscreen-credentials{margin-left:70px}.lockscreen-credentials .form-control{border:0}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px}.lockscreen-footer{margin-top:10px}.dark-mode .lockscreen-item{background-color:#343a40}.dark-mode .lockscreen-logo a{color:#fff}.dark-mode .lockscreen-credentials .btn{background-color:#343a40}.dark-mode .lockscreen-image{background-color:#6c757d}.login-logo,.register-logo{font-size:2.1rem;font-weight:300;margin-bottom:.9rem;text-align:center}.login-logo a,.register-logo a{color:#495057}.login-page,.register-page{-ms-flex-align:center;align-items:center;background-color:#e9ecef;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100vh;-ms-flex-pack:center;justify-content:center}.login-box,.register-box{width:360px}@media (max-width:576px){.login-box,.register-box{margin-top:.5rem;width:90%}}.login-box .card,.register-box .card{margin-bottom:0}.login-card-body,.register-card-body{background-color:#fff;border-top:0;color:#666;padding:20px}.login-card-body .input-group .form-control,.register-card-body .input-group .form-control{border-right:0}.login-card-body .input-group .form-control:focus,.register-card-body .input-group .form-control:focus{box-shadow:none}.login-card-body .input-group .form-control:focus~.input-group-append .input-group-text,.login-card-body .input-group .form-control:focus~.input-group-prepend .input-group-text,.register-card-body .input-group .form-control:focus~.input-group-append .input-group-text,.register-card-body .input-group .form-control:focus~.input-group-prepend .input-group-text{border-color:#80bdff}.login-card-body .input-group .form-control.is-valid:focus,.register-card-body .input-group .form-control.is-valid:focus{box-shadow:none}.login-card-body .input-group .form-control.is-valid~.input-group-append .input-group-text,.login-card-body .input-group .form-control.is-valid~.input-group-prepend .input-group-text,.register-card-body .input-group .form-control.is-valid~.input-group-append .input-group-text,.register-card-body .input-group .form-control.is-valid~.input-group-prepend .input-group-text{border-color:#28a745}.login-card-body .input-group .form-control.is-invalid:focus,.register-card-body .input-group .form-control.is-invalid:focus{box-shadow:none}.login-card-body .input-group .form-control.is-invalid~.input-group-append .input-group-text,.register-card-body .input-group .form-control.is-invalid~.input-group-append .input-group-text{border-color:#dc3545}.login-card-body .input-group .input-group-text,.register-card-body .input-group .input-group-text{background-color:transparent;border-bottom-right-radius:.25rem;border-left:0;border-top-right-radius:.25rem;color:#777;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.login-box-msg,.register-box-msg{margin:0;padding:0 20px 20px;text-align:center}.social-auth-links{margin:10px 0}.dark-mode .login-card-body,.dark-mode .register-card-body{background-color:#343a40;border-color:#6c757d;color:#fff}.dark-mode .login-logo a,.dark-mode .register-logo a{color:#fff}.error-page{margin:20px auto 0;width:600px}@media (max-width:767.98px){.error-page{width:100%}}.error-page>.headline{float:left;font-size:100px;font-weight:300}@media (max-width:767.98px){.error-page>.headline{float:none;text-align:center}}.error-page>.error-content{display:block;margin-left:190px}@media (max-width:767.98px){.error-page>.error-content{margin-left:0}}.error-page>.error-content>h3{font-size:25px;font-weight:300}@media (max-width:767.98px){.error-page>.error-content>h3{text-align:center}}.invoice{background-color:#fff;border:1px solid rgba(0,0,0,.125);position:relative}.invoice-title{margin-top:0}.dark-mode .invoice{background-color:#343a40}.profile-user-img{border:3px solid #adb5bd;margin:0 auto;padding:3px;width:100px}.profile-username{font-size:21px;margin-top:5px}.post{border-bottom:1px solid #adb5bd;color:#666;margin-bottom:15px;padding-bottom:15px}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.post .user-block{margin-bottom:15px;width:100%}.post .row{width:100%}.dark-mode .post{color:#fff;border-color:#6c757d}.product-image{max-width:100%;height:auto;width:100%}.product-image-thumbs{-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;margin-top:2rem}.product-image-thumb{box-shadow:0 1px 2px rgba(0,0,0,.075);border-radius:.25rem;background-color:#fff;border:1px solid #dee2e6;display:-ms-flexbox;display:flex;margin-right:1rem;max-width:7rem;padding:.5rem}.product-image-thumb img{max-width:100%;height:auto;-ms-flex-item-align:center;align-self:center}.product-image-thumb:hover{opacity:.5}.product-share a{margin-right:.5rem}.projects td{vertical-align:middle}.projects .list-inline{margin-bottom:0}.projects .table-avatar img,.projects img.table-avatar{border-radius:50%;display:inline;width:2.5rem}.projects .project-state{text-align:center}body.iframe-mode .main-sidebar{display:none}body.iframe-mode .content-wrapper{margin-left:0!important;margin-top:0!important;padding-bottom:0!important}body.iframe-mode .main-footer,body.iframe-mode .main-header{display:none}body.iframe-mode-fullscreen{overflow:hidden}body.iframe-mode-fullscreen.layout-navbar-fixed .wrapper .content-wrapper{margin-top:0!important}.content-wrapper{height:100%}.content-wrapper.iframe-mode .btn-iframe-close{color:#dc3545;position:absolute;line-height:1;right:.125rem;top:.125rem;z-index:10;visibility:hidden}.content-wrapper.iframe-mode .btn-iframe-close:focus,.content-wrapper.iframe-mode .btn-iframe-close:hover{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}@media (hover:none) and (pointer:coarse){.content-wrapper.iframe-mode .btn-iframe-close{visibility:visible}}.content-wrapper.iframe-mode .navbar-nav{overflow-y:auto;width:100%}.content-wrapper.iframe-mode .navbar-nav .nav-link{white-space:nowrap}.content-wrapper.iframe-mode .navbar-nav .nav-item{position:relative}.content-wrapper.iframe-mode .navbar-nav .nav-item:focus .btn-iframe-close,.content-wrapper.iframe-mode .navbar-nav .nav-item:hover .btn-iframe-close{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;visibility:visible}@media (hover:none) and (pointer:coarse){.content-wrapper.iframe-mode .navbar-nav .nav-item:focus .btn-iframe-close,.content-wrapper.iframe-mode .navbar-nav .nav-item:hover .btn-iframe-close{visibility:visible}}.content-wrapper.iframe-mode .tab-content{position:relative}.content-wrapper.iframe-mode .tab-pane+.tab-empty{display:none}.content-wrapper.iframe-mode .tab-empty{width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.content-wrapper.iframe-mode .tab-loading{position:absolute;top:0;left:0;width:100%;display:none;background-color:#f4f6f9}.content-wrapper.iframe-mode .tab-loading>div{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.content-wrapper.iframe-mode iframe{border:0;width:100%;height:100%;margin-bottom:-8px}.content-wrapper.iframe-mode iframe .content-wrapper{padding-bottom:0!important}body.iframe-mode-fullscreen .content-wrapper.iframe-mode{position:absolute;left:0;top:0;right:0;bottom:0;margin-left:0!important;height:100%;min-height:100%;z-index:1048}.permanent-btn-iframe-close .btn-iframe-close{-webkit-animation:none!important;animation:none!important;visibility:visible!important;opacity:1}.dark-mode .content-wrapper.iframe-mode .tab-loading{background-color:#343a40}.content-wrapper.kanban{height:1px}.content-wrapper.kanban .content{height:100%;overflow-x:auto;overflow-y:hidden}.content-wrapper.kanban .content .container,.content-wrapper.kanban .content .container-fluid{width:-webkit-max-content;width:-moz-max-content;width:max-content;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch}.content-wrapper.kanban .content-header+.content{height:calc(100% - ((2 * 15px) + (1.8rem * 1.2)))}.content-wrapper.kanban .card .card-body{padding:.5rem}.content-wrapper.kanban .card.card-row{width:340px;display:inline-block;margin:0 .5rem}.content-wrapper.kanban .card.card-row:first-child{margin-left:0}.content-wrapper.kanban .card.card-row .card-body{height:calc(100% - (12px + (1.8rem * 1.2) + .5rem));overflow-y:auto}.content-wrapper.kanban .card.card-row .card:last-child{margin-bottom:0;border-bottom-width:1px}.content-wrapper.kanban .card.card-row .card .card-header{padding:.5rem .75rem}.content-wrapper.kanban .card.card-row .card .card-body{padding:.75rem}.content-wrapper.kanban .btn-tool.btn-link{text-decoration:underline;padding-left:0;padding-right:0}
+/* components */
+@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@keyframes shake{0%{-webkit-transform:translate(2px,1px) rotate(0);transform:translate(2px,1px) rotate(0)}10%{-webkit-transform:translate(-1px,-2px) rotate(-2deg);transform:translate(-1px,-2px) rotate(-2deg)}20%{-webkit-transform:translate(-3px,0) rotate(3deg);transform:translate(-3px,0) rotate(3deg)}30%{-webkit-transform:translate(0,2px) rotate(0);transform:translate(0,2px) rotate(0)}40%{-webkit-transform:translate(1px,-1px) rotate(1deg);transform:translate(1px,-1px) rotate(1deg)}50%{-webkit-transform:translate(-1px,2px) rotate(-1deg);transform:translate(-1px,2px) rotate(-1deg)}60%{-webkit-transform:translate(-3px,1px) rotate(0);transform:translate(-3px,1px) rotate(0)}70%{-webkit-transform:translate(2px,1px) rotate(-2deg);transform:translate(2px,1px) rotate(-2deg)}80%{-webkit-transform:translate(-1px,-1px) rotate(4deg);transform:translate(-1px,-1px) rotate(4deg)}90%{-webkit-transform:translate(2px,2px) rotate(0);transform:translate(2px,2px) rotate(0)}100%{-webkit-transform:translate(1px,-2px) rotate(-1deg);transform:translate(1px,-2px) rotate(-1deg)}}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.form-group.has-icon{position:relative}.form-group.has-icon .form-control{padding-right:35px}.form-group.has-icon .form-icon{background-color:transparent;border:0;cursor:pointer;font-size:1rem;padding:.375rem .75rem;position:absolute;right:3px;top:0}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0}.form-control-feedback.fa,.form-control-feedback.fab,.form-control-feedback.fad,.form-control-feedback.fal,.form-control-feedback.far,.form-control-feedback.fas,.form-control-feedback.ion,.form-control-feedback.svg-inline--fa{line-height:calc(2.25rem + 2px)}.input-group-lg+.form-control-feedback.fa,.input-group-lg+.form-control-feedback.fab,.input-group-lg+.form-control-feedback.fad,.input-group-lg+.form-control-feedback.fal,.input-group-lg+.form-control-feedback.far,.input-group-lg+.form-control-feedback.fas,.input-group-lg+.form-control-feedback.ion,.input-group-lg+.form-control-feedback.svg-inline--fa,.input-lg+.form-control-feedback.fa,.input-lg+.form-control-feedback.fab,.input-lg+.form-control-feedback.fad,.input-lg+.form-control-feedback.fal,.input-lg+.form-control-feedback.far,.input-lg+.form-control-feedback.fas,.input-lg+.form-control-feedback.ion,.input-lg+.form-control-feedback.svg-inline--fa{line-height:calc(2.875rem + 2px)}.form-group-lg .form-control+.form-control-feedback.fa,.form-group-lg .form-control+.form-control-feedback.fab,.form-group-lg .form-control+.form-control-feedback.fad,.form-group-lg .form-control+.form-control-feedback.fal,.form-group-lg .form-control+.form-control-feedback.far,.form-group-lg .form-control+.form-control-feedback.fas,.form-group-lg .form-control+.form-control-feedback.ion,.form-group-lg .form-control+.form-control-feedback.svg-inline--fa{line-height:calc(2.875rem + 2px)}.input-group-sm+.form-control-feedback.fa,.input-group-sm+.form-control-feedback.fab,.input-group-sm+.form-control-feedback.fad,.input-group-sm+.form-control-feedback.fal,.input-group-sm+.form-control-feedback.far,.input-group-sm+.form-control-feedback.fas,.input-group-sm+.form-control-feedback.ion,.input-group-sm+.form-control-feedback.svg-inline--fa,.input-sm+.form-control-feedback.fa,.input-sm+.form-control-feedback.fab,.input-sm+.form-control-feedback.fad,.input-sm+.form-control-feedback.fal,.input-sm+.form-control-feedback.far,.input-sm+.form-control-feedback.fas,.input-sm+.form-control-feedback.ion,.input-sm+.form-control-feedback.svg-inline--fa{line-height:calc(1.8125rem + 2px)}.form-group-sm .form-control+.form-control-feedback.fa,.form-group-sm .form-control+.form-control-feedback.fab,.form-group-sm .form-control+.form-control-feedback.fad,.form-group-sm .form-control+.form-control-feedback.fal,.form-group-sm .form-control+.form-control-feedback.far,.form-group-sm .form-control+.form-control-feedback.fas,.form-group-sm .form-control+.form-control-feedback.ion,.form-group-sm .form-control+.form-control-feedback.svg-inline--fa{line-height:calc(1.8125rem + 2px)}label:not(.form-check-label):not(.custom-file-label){font-weight:700}.warning-feedback{font-size:80%;color:#ffc107;display:none;margin-top:.25rem;width:100%}.warning-tooltip{border-radius:.25rem;font-size:.875rem;background-color:rgba(255,193,7,.9);color:#1f2d3d;display:none;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-control.is-warning{border-color:#ffc107}.form-control.is-warning:focus{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}.form-control.is-warning~.warning-feedback,.form-control.is-warning~.warning-tooltip{display:block}textarea.form-control.is-warning{padding-right:2.25rem;background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-warning{border-color:#ffc107}.custom-select.is-warning:focus{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}.custom-select.is-warning~.warning-feedback,.custom-select.is-warning~.warning-tooltip{display:block}.form-control-file.is-warning~.warning-feedback,.form-control-file.is-warning~.warning-tooltip{display:block}.form-check-input.is-warning~.form-check-label{color:#ffc107}.form-check-input.is-warning~.warning-feedback,.form-check-input.is-warning~.warning-tooltip{display:block}.custom-control-input.is-warning~.custom-control-label{color:#ffc107}.custom-control-input.is-warning~.custom-control-label::before{border-color:#ffc107}.custom-control-input.is-warning~.warning-feedback,.custom-control-input.is-warning~.warning-tooltip{display:block}.custom-control-input.is-warning:checked~.custom-control-label::before{background-color:#ffce3a;border-color:#ffce3a}.custom-control-input.is-warning:focus~.custom-control-label::before{box-shadow:0 0 0 0 rgba(255,193,7,.25)}.custom-control-input.is-warning:focus:not(:checked)~.custom-control-label::before{border-color:#ffc107}.custom-file-input.is-warning~.custom-file-label{border-color:#ffc107}.custom-file-input.is-warning~.warning-feedback,.custom-file-input.is-warning~.warning-tooltip{display:block}.custom-file-input.is-warning:focus~.custom-file-label{border-color:#ffc107;box-shadow:0 0 0 0 rgba(255,193,7,.25)}body.text-sm .input-group-text{font-size:.875rem}.custom-select.form-control-border,.form-control.form-control-border{border-top:0;border-left:0;border-right:0;border-radius:0;box-shadow:inherit}.custom-select.form-control-border.border-width-2,.form-control.form-control-border.border-width-2{border-bottom-width:2px}.custom-select.form-control-border.border-width-3,.form-control.form-control-border.border-width-3{border-bottom-width:3px}.custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-off-primary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::after{background-color:#003e80}.custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-on-primary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::after{background-color:#99caff}.custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-off-secondary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::after{background-color:#313539}.custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-on-secondary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-off-success .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::after{background-color:#0f401b}.custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-on-success .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::after{background-color:#86e29b}.custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-off-info .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::after{background-color:#093e47}.custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-on-info .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::after{background-color:#7adeee}.custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-off-warning .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::after{background-color:#876500}.custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-on-warning .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::after{background-color:#ffe7a0}.custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-off-danger .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::after{background-color:#7c151f}.custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-on-danger .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::after{background-color:#f3b7bd}.custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.custom-switch.custom-switch-off-light .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::after{background-color:#aeb9c5}.custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.custom-switch.custom-switch-on-light .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-off-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-on-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.custom-switch.custom-switch-off-lightblue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::after{background-color:#1d455b}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#3c8dbc;border-color:#23536f}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::after{background-color:#acd0e5}.custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::before{background-color:#001f3f;border-color:#000}.custom-switch.custom-switch-off-navy .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::before{background-color:#001f3f;border-color:#000}.custom-switch.custom-switch-on-navy .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::after{background-color:#006ad8}.custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.custom-switch.custom-switch-off-olive .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::after{background-color:#193e2d}.custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::before{background-color:#3d9970;border-color:#20503b}.custom-switch.custom-switch-on-olive .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::after{background-color:#99d6bb}.custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.custom-switch.custom-switch-off-lime .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::after{background-color:#008138}.custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::before{background-color:#01ff70;border-color:#009a43}.custom-switch.custom-switch-on-lime .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::after{background-color:#9affc6}.custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::before{background-color:#f012be;border-color:#930974}.custom-switch.custom-switch-off-fuchsia .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::after{background-color:#7b0861}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f012be;border-color:#930974}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::after{background-color:#f9a2e5}.custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.custom-switch.custom-switch-off-maroon .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::after{background-color:#670d2e}.custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#d81b60;border-color:#7d1038}.custom-switch.custom-switch-on-maroon .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::after{background-color:#f29aba}.custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-off-blue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::after{background-color:#003e80}.custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#004a99}.custom-switch.custom-switch-on-blue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::after{background-color:#99caff}.custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.custom-switch.custom-switch-off-indigo .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::after{background-color:#33077c}.custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.custom-switch.custom-switch-on-indigo .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::after{background-color:#c3a1fa}.custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.custom-switch.custom-switch-off-purple .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::after{background-color:#382063}.custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.custom-switch.custom-switch-on-purple .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::after{background-color:#c7b5e7}.custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.custom-switch.custom-switch-off-pink .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::after{background-color:#95124e}.custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.custom-switch.custom-switch-on-pink .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::after{background-color:#f8c7dd}.custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-off-red .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::after{background-color:#7c151f}.custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::before{background-color:#dc3545;border-color:#921925}.custom-switch.custom-switch-on-red .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::after{background-color:#f3b7bd}.custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.custom-switch.custom-switch-off-orange .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::after{background-color:#904201}.custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.custom-switch.custom-switch-on-orange .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::after{background-color:#fed1ac}.custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-off-yellow .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::after{background-color:#876500}.custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#ffc107;border-color:#a07800}.custom-switch.custom-switch-on-yellow .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::after{background-color:#ffe7a0}.custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-off-green .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::after{background-color:#0f401b}.custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::before{background-color:#28a745;border-color:#145523}.custom-switch.custom-switch-on-green .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::after{background-color:#86e29b}.custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::before{background-color:#20c997;border-color:#127155}.custom-switch.custom-switch-off-teal .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::after{background-color:#0e5b44}.custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.custom-switch.custom-switch-on-teal .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::after{background-color:#94eed3}.custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-off-cyan .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::after{background-color:#093e47}.custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#0c525d}.custom-switch.custom-switch-on-cyan .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::after{background-color:#7adeee}.custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::before{background-color:#fff;border-color:#ccc}.custom-switch.custom-switch-off-white .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::after{background-color:#bfbfbf}.custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.custom-switch.custom-switch-on-white .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-off-gray .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::after{background-color:#313539}.custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.custom-switch.custom-switch-on-gray .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-off-gray-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::after{background-color:#000}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.custom-range.custom-range-primary:focus{outline:0}.custom-range.custom-range-primary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-primary::-webkit-slider-thumb{background-color:#007bff}.custom-range.custom-range-primary::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-primary::-moz-range-thumb{background-color:#007bff}.custom-range.custom-range-primary::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-primary::-ms-thumb{background-color:#007bff}.custom-range.custom-range-primary::-ms-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-secondary:focus{outline:0}.custom-range.custom-range-secondary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-secondary::-webkit-slider-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-webkit-slider-thumb:active{background-color:#caced1}.custom-range.custom-range-secondary::-moz-range-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-moz-range-thumb:active{background-color:#caced1}.custom-range.custom-range-secondary::-ms-thumb{background-color:#6c757d}.custom-range.custom-range-secondary::-ms-thumb:active{background-color:#caced1}.custom-range.custom-range-success:focus{outline:0}.custom-range.custom-range-success:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-success::-webkit-slider-thumb{background-color:#28a745}.custom-range.custom-range-success::-webkit-slider-thumb:active{background-color:#9be7ac}.custom-range.custom-range-success::-moz-range-thumb{background-color:#28a745}.custom-range.custom-range-success::-moz-range-thumb:active{background-color:#9be7ac}.custom-range.custom-range-success::-ms-thumb{background-color:#28a745}.custom-range.custom-range-success::-ms-thumb:active{background-color:#9be7ac}.custom-range.custom-range-info:focus{outline:0}.custom-range.custom-range-info:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-info::-webkit-slider-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-webkit-slider-thumb:active{background-color:#90e4f1}.custom-range.custom-range-info::-moz-range-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-moz-range-thumb:active{background-color:#90e4f1}.custom-range.custom-range-info::-ms-thumb{background-color:#17a2b8}.custom-range.custom-range-info::-ms-thumb:active{background-color:#90e4f1}.custom-range.custom-range-warning:focus{outline:0}.custom-range.custom-range-warning:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-warning::-webkit-slider-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-webkit-slider-thumb:active{background-color:#ffeeba}.custom-range.custom-range-warning::-moz-range-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-moz-range-thumb:active{background-color:#ffeeba}.custom-range.custom-range-warning::-ms-thumb{background-color:#ffc107}.custom-range.custom-range-warning::-ms-thumb:active{background-color:#ffeeba}.custom-range.custom-range-danger:focus{outline:0}.custom-range.custom-range-danger:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-danger::-webkit-slider-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-webkit-slider-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-danger::-moz-range-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-moz-range-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-danger::-ms-thumb{background-color:#dc3545}.custom-range.custom-range-danger::-ms-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-light:focus{outline:0}.custom-range.custom-range-light:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.custom-range.custom-range-light::-webkit-slider-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-webkit-slider-thumb:active{background-color:#fff}.custom-range.custom-range-light::-moz-range-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-moz-range-thumb:active{background-color:#fff}.custom-range.custom-range-light::-ms-thumb{background-color:#f8f9fa}.custom-range.custom-range-light::-ms-thumb:active{background-color:#fff}.custom-range.custom-range-dark:focus{outline:0}.custom-range.custom-range-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-dark::-webkit-slider-thumb{background-color:#343a40}.custom-range.custom-range-dark::-webkit-slider-thumb:active{background-color:#88939e}.custom-range.custom-range-dark::-moz-range-thumb{background-color:#343a40}.custom-range.custom-range-dark::-moz-range-thumb:active{background-color:#88939e}.custom-range.custom-range-dark::-ms-thumb{background-color:#343a40}.custom-range.custom-range-dark::-ms-thumb:active{background-color:#88939e}.custom-range.custom-range-lightblue:focus{outline:0}.custom-range.custom-range-lightblue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(60,141,188,.25)}.custom-range.custom-range-lightblue::-webkit-slider-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-webkit-slider-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-lightblue::-moz-range-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-moz-range-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-lightblue::-ms-thumb{background-color:#3c8dbc}.custom-range.custom-range-lightblue::-ms-thumb:active{background-color:#c0dbeb}.custom-range.custom-range-navy:focus{outline:0}.custom-range.custom-range-navy:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,31,63,.25)}.custom-range.custom-range-navy::-webkit-slider-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-webkit-slider-thumb:active{background-color:#0077f2}.custom-range.custom-range-navy::-moz-range-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-moz-range-thumb:active{background-color:#0077f2}.custom-range.custom-range-navy::-ms-thumb{background-color:#001f3f}.custom-range.custom-range-navy::-ms-thumb:active{background-color:#0077f2}.custom-range.custom-range-olive:focus{outline:0}.custom-range.custom-range-olive:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(61,153,112,.25)}.custom-range.custom-range-olive::-webkit-slider-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-webkit-slider-thumb:active{background-color:#abdec7}.custom-range.custom-range-olive::-moz-range-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-moz-range-thumb:active{background-color:#abdec7}.custom-range.custom-range-olive::-ms-thumb{background-color:#3d9970}.custom-range.custom-range-olive::-ms-thumb:active{background-color:#abdec7}.custom-range.custom-range-lime:focus{outline:0}.custom-range.custom-range-lime:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(1,255,112,.25)}.custom-range.custom-range-lime::-webkit-slider-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-webkit-slider-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-lime::-moz-range-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-moz-range-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-lime::-ms-thumb{background-color:#01ff70}.custom-range.custom-range-lime::-ms-thumb:active{background-color:#b4ffd4}.custom-range.custom-range-fuchsia:focus{outline:0}.custom-range.custom-range-fuchsia:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(240,18,190,.25)}.custom-range.custom-range-fuchsia::-webkit-slider-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-webkit-slider-thumb:active{background-color:#fbbaec}.custom-range.custom-range-fuchsia::-moz-range-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-moz-range-thumb:active{background-color:#fbbaec}.custom-range.custom-range-fuchsia::-ms-thumb{background-color:#f012be}.custom-range.custom-range-fuchsia::-ms-thumb:active{background-color:#fbbaec}.custom-range.custom-range-maroon:focus{outline:0}.custom-range.custom-range-maroon:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(216,27,96,.25)}.custom-range.custom-range-maroon::-webkit-slider-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-webkit-slider-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-maroon::-moz-range-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-moz-range-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-maroon::-ms-thumb{background-color:#d81b60}.custom-range.custom-range-maroon::-ms-thumb:active{background-color:#f5b0c9}.custom-range.custom-range-blue:focus{outline:0}.custom-range.custom-range-blue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,123,255,.25)}.custom-range.custom-range-blue::-webkit-slider-thumb{background-color:#007bff}.custom-range.custom-range-blue::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-blue::-moz-range-thumb{background-color:#007bff}.custom-range.custom-range-blue::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-blue::-ms-thumb{background-color:#007bff}.custom-range.custom-range-blue::-ms-thumb:active{background-color:#b3d7ff}.custom-range.custom-range-indigo:focus{outline:0}.custom-range.custom-range-indigo:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.custom-range.custom-range-indigo::-webkit-slider-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-webkit-slider-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-indigo::-moz-range-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-moz-range-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-indigo::-ms-thumb{background-color:#6610f2}.custom-range.custom-range-indigo::-ms-thumb:active{background-color:#d2b9fb}.custom-range.custom-range-purple:focus{outline:0}.custom-range.custom-range-purple:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.custom-range.custom-range-purple::-webkit-slider-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-webkit-slider-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-purple::-moz-range-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-moz-range-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-purple::-ms-thumb{background-color:#6f42c1}.custom-range.custom-range-purple::-ms-thumb:active{background-color:#d5c8ed}.custom-range.custom-range-pink:focus{outline:0}.custom-range.custom-range-pink:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.custom-range.custom-range-pink::-webkit-slider-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-webkit-slider-thumb:active{background-color:#fbddeb}.custom-range.custom-range-pink::-moz-range-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-moz-range-thumb:active{background-color:#fbddeb}.custom-range.custom-range-pink::-ms-thumb{background-color:#e83e8c}.custom-range.custom-range-pink::-ms-thumb:active{background-color:#fbddeb}.custom-range.custom-range-red:focus{outline:0}.custom-range.custom-range-red:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(220,53,69,.25)}.custom-range.custom-range-red::-webkit-slider-thumb{background-color:#dc3545}.custom-range.custom-range-red::-webkit-slider-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-red::-moz-range-thumb{background-color:#dc3545}.custom-range.custom-range-red::-moz-range-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-red::-ms-thumb{background-color:#dc3545}.custom-range.custom-range-red::-ms-thumb:active{background-color:#f6cdd1}.custom-range.custom-range-orange:focus{outline:0}.custom-range.custom-range-orange:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.custom-range.custom-range-orange::-webkit-slider-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-webkit-slider-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-orange::-moz-range-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-moz-range-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-orange::-ms-thumb{background-color:#fd7e14}.custom-range.custom-range-orange::-ms-thumb:active{background-color:#ffdfc5}.custom-range.custom-range-yellow:focus{outline:0}.custom-range.custom-range-yellow:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,193,7,.25)}.custom-range.custom-range-yellow::-webkit-slider-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-webkit-slider-thumb:active{background-color:#ffeeba}.custom-range.custom-range-yellow::-moz-range-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-moz-range-thumb:active{background-color:#ffeeba}.custom-range.custom-range-yellow::-ms-thumb{background-color:#ffc107}.custom-range.custom-range-yellow::-ms-thumb:active{background-color:#ffeeba}.custom-range.custom-range-green:focus{outline:0}.custom-range.custom-range-green:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(40,167,69,.25)}.custom-range.custom-range-green::-webkit-slider-thumb{background-color:#28a745}.custom-range.custom-range-green::-webkit-slider-thumb:active{background-color:#9be7ac}.custom-range.custom-range-green::-moz-range-thumb{background-color:#28a745}.custom-range.custom-range-green::-moz-range-thumb:active{background-color:#9be7ac}.custom-range.custom-range-green::-ms-thumb{background-color:#28a745}.custom-range.custom-range-green::-ms-thumb:active{background-color:#9be7ac}.custom-range.custom-range-teal:focus{outline:0}.custom-range.custom-range-teal:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.custom-range.custom-range-teal::-webkit-slider-thumb{background-color:#20c997}.custom-range.custom-range-teal::-webkit-slider-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-teal::-moz-range-thumb{background-color:#20c997}.custom-range.custom-range-teal::-moz-range-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-teal::-ms-thumb{background-color:#20c997}.custom-range.custom-range-teal::-ms-thumb:active{background-color:#aaf1dc}.custom-range.custom-range-cyan:focus{outline:0}.custom-range.custom-range-cyan:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(23,162,184,.25)}.custom-range.custom-range-cyan::-webkit-slider-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-webkit-slider-thumb:active{background-color:#90e4f1}.custom-range.custom-range-cyan::-moz-range-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-moz-range-thumb:active{background-color:#90e4f1}.custom-range.custom-range-cyan::-ms-thumb{background-color:#17a2b8}.custom-range.custom-range-cyan::-ms-thumb:active{background-color:#90e4f1}.custom-range.custom-range-white:focus{outline:0}.custom-range.custom-range-white:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.custom-range.custom-range-white::-webkit-slider-thumb{background-color:#fff}.custom-range.custom-range-white::-webkit-slider-thumb:active{background-color:#fff}.custom-range.custom-range-white::-moz-range-thumb{background-color:#fff}.custom-range.custom-range-white::-moz-range-thumb:active{background-color:#fff}.custom-range.custom-range-white::-ms-thumb{background-color:#fff}.custom-range.custom-range-white::-ms-thumb:active{background-color:#fff}.custom-range.custom-range-gray:focus{outline:0}.custom-range.custom-range-gray:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.custom-range.custom-range-gray::-webkit-slider-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-webkit-slider-thumb:active{background-color:#caced1}.custom-range.custom-range-gray::-moz-range-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-moz-range-thumb:active{background-color:#caced1}.custom-range.custom-range-gray::-ms-thumb{background-color:#6c757d}.custom-range.custom-range-gray::-ms-thumb:active{background-color:#caced1}.custom-range.custom-range-gray-dark:focus{outline:0}.custom-range.custom-range-gray-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.custom-range.custom-range-gray-dark::-webkit-slider-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-webkit-slider-thumb:active{background-color:#88939e}.custom-range.custom-range-gray-dark::-moz-range-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-moz-range-thumb:active{background-color:#88939e}.custom-range.custom-range-gray-dark::-ms-thumb{background-color:#343a40}.custom-range.custom-range-gray-dark::-ms-thumb:active{background-color:#88939e}.custom-control-input-primary:checked~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-control-input-primary.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23007bff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-primary.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23007bff'/%3E%3C/svg%3E")!important}.custom-control-input-primary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input-primary:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input-primary:not(:disabled):active~.custom-control-label::before{background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input-secondary:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.custom-control-input-secondary.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236c757d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-secondary.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236c757d'/%3E%3C/svg%3E")!important}.custom-control-input-secondary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.custom-control-input-secondary:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.custom-control-input-secondary:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.custom-control-input-success:checked~.custom-control-label::before{border-color:#28a745;background-color:#28a745}.custom-control-input-success.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-success.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2328a745'/%3E%3C/svg%3E")!important}.custom-control-input-success:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input-success:focus:not(:checked)~.custom-control-label::before{border-color:#71dd8a}.custom-control-input-success:not(:disabled):active~.custom-control-label::before{background-color:#9be7ac;border-color:#9be7ac}.custom-control-input-info:checked~.custom-control-label::before{border-color:#17a2b8;background-color:#17a2b8}.custom-control-input-info.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2317a2b8' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-info.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2317a2b8'/%3E%3C/svg%3E")!important}.custom-control-input-info:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(23,162,184,.25)}.custom-control-input-info:focus:not(:checked)~.custom-control-label::before{border-color:#63d9ec}.custom-control-input-info:not(:disabled):active~.custom-control-label::before{background-color:#90e4f1;border-color:#90e4f1}.custom-control-input-warning:checked~.custom-control-label::before{border-color:#ffc107;background-color:#ffc107}.custom-control-input-warning.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffc107' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-warning.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffc107'/%3E%3C/svg%3E")!important}.custom-control-input-warning:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,193,7,.25)}.custom-control-input-warning:focus:not(:checked)~.custom-control-label::before{border-color:#ffe187}.custom-control-input-warning:not(:disabled):active~.custom-control-label::before{background-color:#ffeeba;border-color:#ffeeba}.custom-control-input-danger:checked~.custom-control-label::before{border-color:#dc3545;background-color:#dc3545}.custom-control-input-danger.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23dc3545' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-danger.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23dc3545'/%3E%3C/svg%3E")!important}.custom-control-input-danger:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input-danger:focus:not(:checked)~.custom-control-label::before{border-color:#efa2a9}.custom-control-input-danger:not(:disabled):active~.custom-control-label::before{background-color:#f6cdd1;border-color:#f6cdd1}.custom-control-input-light:checked~.custom-control-label::before{border-color:#f8f9fa;background-color:#f8f9fa}.custom-control-input-light.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f8f9fa' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-light.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f8f9fa'/%3E%3C/svg%3E")!important}.custom-control-input-light:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(248,249,250,.25)}.custom-control-input-light:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.custom-control-input-light:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.custom-control-input-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.custom-control-input-dark.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23343a40' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-dark.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23343a40'/%3E%3C/svg%3E")!important}.custom-control-input-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.custom-control-input-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.custom-control-input-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.custom-control-input-lightblue:checked~.custom-control-label::before{border-color:#3c8dbc;background-color:#3c8dbc}.custom-control-input-lightblue.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233c8dbc' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-lightblue.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233c8dbc'/%3E%3C/svg%3E")!important}.custom-control-input-lightblue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(60,141,188,.25)}.custom-control-input-lightblue:focus:not(:checked)~.custom-control-label::before{border-color:#99c5de}.custom-control-input-lightblue:not(:disabled):active~.custom-control-label::before{background-color:#c0dbeb;border-color:#c0dbeb}.custom-control-input-navy:checked~.custom-control-label::before{border-color:#001f3f;background-color:#001f3f}.custom-control-input-navy.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23001f3f' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-navy.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23001f3f'/%3E%3C/svg%3E")!important}.custom-control-input-navy:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,31,63,.25)}.custom-control-input-navy:focus:not(:checked)~.custom-control-label::before{border-color:#005ebf}.custom-control-input-navy:not(:disabled):active~.custom-control-label::before{background-color:#0077f2;border-color:#0077f2}.custom-control-input-olive:checked~.custom-control-label::before{border-color:#3d9970;background-color:#3d9970}.custom-control-input-olive.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233d9970' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-olive.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233d9970'/%3E%3C/svg%3E")!important}.custom-control-input-olive:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(61,153,112,.25)}.custom-control-input-olive:focus:not(:checked)~.custom-control-label::before{border-color:#87cfaf}.custom-control-input-olive:not(:disabled):active~.custom-control-label::before{background-color:#abdec7;border-color:#abdec7}.custom-control-input-lime:checked~.custom-control-label::before{border-color:#01ff70;background-color:#01ff70}.custom-control-input-lime.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2301ff70' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-lime.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2301ff70'/%3E%3C/svg%3E")!important}.custom-control-input-lime:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(1,255,112,.25)}.custom-control-input-lime:focus:not(:checked)~.custom-control-label::before{border-color:#81ffb8}.custom-control-input-lime:not(:disabled):active~.custom-control-label::before{background-color:#b4ffd4;border-color:#b4ffd4}.custom-control-input-fuchsia:checked~.custom-control-label::before{border-color:#f012be;background-color:#f012be}.custom-control-input-fuchsia.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f012be' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-fuchsia.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f012be'/%3E%3C/svg%3E")!important}.custom-control-input-fuchsia:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(240,18,190,.25)}.custom-control-input-fuchsia:focus:not(:checked)~.custom-control-label::before{border-color:#f88adf}.custom-control-input-fuchsia:not(:disabled):active~.custom-control-label::before{background-color:#fbbaec;border-color:#fbbaec}.custom-control-input-maroon:checked~.custom-control-label::before{border-color:#d81b60;background-color:#d81b60}.custom-control-input-maroon.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23d81b60' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-maroon.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23d81b60'/%3E%3C/svg%3E")!important}.custom-control-input-maroon:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(216,27,96,.25)}.custom-control-input-maroon:focus:not(:checked)~.custom-control-label::before{border-color:#f083ab}.custom-control-input-maroon:not(:disabled):active~.custom-control-label::before{background-color:#f5b0c9;border-color:#f5b0c9}.custom-control-input-blue:checked~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-control-input-blue.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23007bff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-blue.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23007bff'/%3E%3C/svg%3E")!important}.custom-control-input-blue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input-blue:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input-blue:not(:disabled):active~.custom-control-label::before{background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input-indigo:checked~.custom-control-label::before{border-color:#6610f2;background-color:#6610f2}.custom-control-input-indigo.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236610f2' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-indigo.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236610f2'/%3E%3C/svg%3E")!important}.custom-control-input-indigo:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(102,16,242,.25)}.custom-control-input-indigo:focus:not(:checked)~.custom-control-label::before{border-color:#b389f9}.custom-control-input-indigo:not(:disabled):active~.custom-control-label::before{background-color:#d2b9fb;border-color:#d2b9fb}.custom-control-input-purple:checked~.custom-control-label::before{border-color:#6f42c1;background-color:#6f42c1}.custom-control-input-purple.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236f42c1' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-purple.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236f42c1'/%3E%3C/svg%3E")!important}.custom-control-input-purple:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(111,66,193,.25)}.custom-control-input-purple:focus:not(:checked)~.custom-control-label::before{border-color:#b8a2e0}.custom-control-input-purple:not(:disabled):active~.custom-control-label::before{background-color:#d5c8ed;border-color:#d5c8ed}.custom-control-input-pink:checked~.custom-control-label::before{border-color:#e83e8c;background-color:#e83e8c}.custom-control-input-pink.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23e83e8c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-pink.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23e83e8c'/%3E%3C/svg%3E")!important}.custom-control-input-pink:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(232,62,140,.25)}.custom-control-input-pink:focus:not(:checked)~.custom-control-label::before{border-color:#f6b0d0}.custom-control-input-pink:not(:disabled):active~.custom-control-label::before{background-color:#fbddeb;border-color:#fbddeb}.custom-control-input-red:checked~.custom-control-label::before{border-color:#dc3545;background-color:#dc3545}.custom-control-input-red.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23dc3545' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-red.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23dc3545'/%3E%3C/svg%3E")!important}.custom-control-input-red:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input-red:focus:not(:checked)~.custom-control-label::before{border-color:#efa2a9}.custom-control-input-red:not(:disabled):active~.custom-control-label::before{background-color:#f6cdd1;border-color:#f6cdd1}.custom-control-input-orange:checked~.custom-control-label::before{border-color:#fd7e14;background-color:#fd7e14}.custom-control-input-orange.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fd7e14' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-orange.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fd7e14'/%3E%3C/svg%3E")!important}.custom-control-input-orange:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(253,126,20,.25)}.custom-control-input-orange:focus:not(:checked)~.custom-control-label::before{border-color:#fec392}.custom-control-input-orange:not(:disabled):active~.custom-control-label::before{background-color:#ffdfc5;border-color:#ffdfc5}.custom-control-input-yellow:checked~.custom-control-label::before{border-color:#ffc107;background-color:#ffc107}.custom-control-input-yellow.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23ffc107' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-yellow.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ffc107'/%3E%3C/svg%3E")!important}.custom-control-input-yellow:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,193,7,.25)}.custom-control-input-yellow:focus:not(:checked)~.custom-control-label::before{border-color:#ffe187}.custom-control-input-yellow:not(:disabled):active~.custom-control-label::before{background-color:#ffeeba;border-color:#ffeeba}.custom-control-input-green:checked~.custom-control-label::before{border-color:#28a745;background-color:#28a745}.custom-control-input-green.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-green.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2328a745'/%3E%3C/svg%3E")!important}.custom-control-input-green:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input-green:focus:not(:checked)~.custom-control-label::before{border-color:#71dd8a}.custom-control-input-green:not(:disabled):active~.custom-control-label::before{background-color:#9be7ac;border-color:#9be7ac}.custom-control-input-teal:checked~.custom-control-label::before{border-color:#20c997;background-color:#20c997}.custom-control-input-teal.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2320c997' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-teal.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2320c997'/%3E%3C/svg%3E")!important}.custom-control-input-teal:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(32,201,151,.25)}.custom-control-input-teal:focus:not(:checked)~.custom-control-label::before{border-color:#7eeaca}.custom-control-input-teal:not(:disabled):active~.custom-control-label::before{background-color:#aaf1dc;border-color:#aaf1dc}.custom-control-input-cyan:checked~.custom-control-label::before{border-color:#17a2b8;background-color:#17a2b8}.custom-control-input-cyan.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2317a2b8' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-cyan.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2317a2b8'/%3E%3C/svg%3E")!important}.custom-control-input-cyan:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(23,162,184,.25)}.custom-control-input-cyan:focus:not(:checked)~.custom-control-label::before{border-color:#63d9ec}.custom-control-input-cyan:not(:disabled):active~.custom-control-label::before{background-color:#90e4f1;border-color:#90e4f1}.custom-control-input-white:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.custom-control-input-white.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-white.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")!important}.custom-control-input-white:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,255,255,.25)}.custom-control-input-white:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.custom-control-input-white:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.custom-control-input-gray:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.custom-control-input-gray.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236c757d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-gray.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236c757d'/%3E%3C/svg%3E")!important}.custom-control-input-gray:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.custom-control-input-gray:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.custom-control-input-gray:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.custom-control-input-gray-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.custom-control-input-gray-dark.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23343a40' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.custom-control-input-gray-dark.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23343a40'/%3E%3C/svg%3E")!important}.custom-control-input-gray-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.custom-control-input-gray-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.custom-control-input-gray-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.custom-control-input-outline~.custom-control-label::before{background-color:transparent!important;box-shadow:none}.custom-control-input-outline:checked~.custom-control-label::before{background-color:transparent}.navbar-dark .btn-navbar,.navbar-dark .form-control-navbar{background-color:#3f474e;border:1px solid #56606a;color:#fff}.navbar-dark .btn-navbar:hover{background-color:#454d55}.navbar-dark .btn-navbar:focus{background-color:#4b545c}.navbar-dark .form-control-navbar+.input-group-append>.btn-navbar,.navbar-dark .form-control-navbar+.input-group-prepend>.btn-navbar{background-color:#3f474e;color:#fff;border:1px solid #56606a;border-left:none}.dark-mode .custom-control-label::before,.dark-mode .custom-file-label,.dark-mode .custom-file-label::after,.dark-mode .custom-select,.dark-mode .form-control:not(.form-control-navbar):not(.form-control-sidebar),.dark-mode .input-group-text{background-color:#343a40;color:#fff}.dark-mode .custom-file-label,.dark-mode .custom-file-label::after,.dark-mode .form-control:not(.form-control-navbar):not(.form-control-sidebar):not(.is-invalid):not(:focus){border-color:#6c757d}.dark-mode select{background-color:#343a40;color:#fff;border-color:#6c757d}.dark-mode .custom-select{background:#343a40 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23fff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat}.dark-mode .custom-select[multiple]{background:#343a40}.dark-mode .input-group-text{border-color:#6c757d}.dark-mode .custom-control-input:disabled~.custom-control-label::before,.dark-mode .custom-control-input[disabled]~.custom-control-label::before{background-color:#3f474e;border-color:#6c757d;color:#fff}.dark-mode input:-webkit-autofill,.dark-mode input:-webkit-autofill:focus,.dark-mode input:-webkit-autofill:hover,.dark-mode select:-webkit-autofill,.dark-mode select:-webkit-autofill:focus,.dark-mode select:-webkit-autofill:hover,.dark-mode textarea:-webkit-autofill,.dark-mode textarea:-webkit-autofill:focus,.dark-mode textarea:-webkit-autofill:hover{-webkit-text-fill-color:#fff}.dark-mode .custom-range::-webkit-slider-runnable-track{background-color:#454d55}.dark-mode .custom-range::-moz-range-track{background-color:#454d55}.dark-mode .custom-range::-ms-track{background-color:#454d55}.dark-mode .custom-range.custom-range-primary:focus{outline:0}.dark-mode .custom-range.custom-range-primary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-primary::-webkit-slider-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-webkit-slider-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-primary::-moz-range-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-moz-range-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-primary::-ms-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-primary::-ms-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-secondary:focus{outline:0}.dark-mode .custom-range.custom-range-secondary:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-secondary::-webkit-slider-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-webkit-slider-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-secondary::-moz-range-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-moz-range-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-secondary::-ms-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-secondary::-ms-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-success:focus{outline:0}.dark-mode .custom-range.custom-range-success:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-success::-webkit-slider-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-webkit-slider-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-success::-moz-range-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-moz-range-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-success::-ms-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-success::-ms-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-info:focus{outline:0}.dark-mode .custom-range.custom-range-info:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-info::-webkit-slider-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-webkit-slider-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-info::-moz-range-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-moz-range-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-info::-ms-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-info::-ms-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-warning:focus{outline:0}.dark-mode .custom-range.custom-range-warning:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-warning::-webkit-slider-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-webkit-slider-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-warning::-moz-range-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-moz-range-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-warning::-ms-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-warning::-ms-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-danger:focus{outline:0}.dark-mode .custom-range.custom-range-danger:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-danger::-webkit-slider-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-webkit-slider-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-danger::-moz-range-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-moz-range-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-danger::-ms-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-danger::-ms-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-light:focus{outline:0}.dark-mode .custom-range.custom-range-light:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-range.custom-range-light::-webkit-slider-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-light::-moz-range-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-light::-ms-thumb{background-color:#f8f9fa}.dark-mode .custom-range.custom-range-light::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-dark:focus{outline:0}.dark-mode .custom-range.custom-range-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-dark::-webkit-slider-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-webkit-slider-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-dark::-moz-range-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-moz-range-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-dark::-ms-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-dark::-ms-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-lightblue:focus{outline:0}.dark-mode .custom-range.custom-range-lightblue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-range.custom-range-lightblue::-webkit-slider-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lightblue::-moz-range-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lightblue::-ms-thumb{background-color:#86bad8}.dark-mode .custom-range.custom-range-lightblue::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-navy:focus{outline:0}.dark-mode .custom-range.custom-range-navy:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-range.custom-range-navy::-webkit-slider-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-webkit-slider-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-navy::-moz-range-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-moz-range-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-navy::-ms-thumb{background-color:#002c59}.dark-mode .custom-range.custom-range-navy::-ms-thumb:active{background-color:#0c84ff}.dark-mode .custom-range.custom-range-olive:focus{outline:0}.dark-mode .custom-range.custom-range-olive:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-range.custom-range-olive::-webkit-slider-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-webkit-slider-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-olive::-moz-range-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-moz-range-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-olive::-ms-thumb{background-color:#74c8a3}.dark-mode .custom-range.custom-range-olive::-ms-thumb:active{background-color:#f4fbf8}.dark-mode .custom-range.custom-range-lime:focus{outline:0}.dark-mode .custom-range.custom-range-lime:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-range.custom-range-lime::-webkit-slider-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lime::-moz-range-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-lime::-ms-thumb{background-color:#67ffa9}.dark-mode .custom-range.custom-range-lime::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia:focus{outline:0}.dark-mode .custom-range.custom-range-fuchsia:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-range.custom-range-fuchsia::-webkit-slider-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia::-moz-range-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-fuchsia::-ms-thumb{background-color:#f672d8}.dark-mode .custom-range.custom-range-fuchsia::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon:focus{outline:0}.dark-mode .custom-range.custom-range-maroon:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-range.custom-range-maroon::-webkit-slider-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon::-moz-range-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-maroon::-ms-thumb{background-color:#ed6c9b}.dark-mode .custom-range.custom-range-maroon::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-blue:focus{outline:0}.dark-mode .custom-range.custom-range-blue:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-range.custom-range-blue::-webkit-slider-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-webkit-slider-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-blue::-moz-range-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-moz-range-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-blue::-ms-thumb{background-color:#3f6791}.dark-mode .custom-range.custom-range-blue::-ms-thumb:active{background-color:#a9c1da}.dark-mode .custom-range.custom-range-indigo:focus{outline:0}.dark-mode .custom-range.custom-range-indigo:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-range.custom-range-indigo::-webkit-slider-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-webkit-slider-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-indigo::-moz-range-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-moz-range-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-indigo::-ms-thumb{background-color:#6610f2}.dark-mode .custom-range.custom-range-indigo::-ms-thumb:active{background-color:#d2b9fb}.dark-mode .custom-range.custom-range-purple:focus{outline:0}.dark-mode .custom-range.custom-range-purple:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-range.custom-range-purple::-webkit-slider-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-webkit-slider-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-purple::-moz-range-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-moz-range-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-purple::-ms-thumb{background-color:#6f42c1}.dark-mode .custom-range.custom-range-purple::-ms-thumb:active{background-color:#d5c8ed}.dark-mode .custom-range.custom-range-pink:focus{outline:0}.dark-mode .custom-range.custom-range-pink:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-range.custom-range-pink::-webkit-slider-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-webkit-slider-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-pink::-moz-range-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-moz-range-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-pink::-ms-thumb{background-color:#e83e8c}.dark-mode .custom-range.custom-range-pink::-ms-thumb:active{background-color:#fbddeb}.dark-mode .custom-range.custom-range-red:focus{outline:0}.dark-mode .custom-range.custom-range-red:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-range.custom-range-red::-webkit-slider-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-webkit-slider-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-red::-moz-range-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-moz-range-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-red::-ms-thumb{background-color:#e74c3c}.dark-mode .custom-range.custom-range-red::-ms-thumb:active{background-color:#fbdedb}.dark-mode .custom-range.custom-range-orange:focus{outline:0}.dark-mode .custom-range.custom-range-orange:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-range.custom-range-orange::-webkit-slider-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-webkit-slider-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-orange::-moz-range-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-moz-range-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-orange::-ms-thumb{background-color:#fd7e14}.dark-mode .custom-range.custom-range-orange::-ms-thumb:active{background-color:#ffdfc5}.dark-mode .custom-range.custom-range-yellow:focus{outline:0}.dark-mode .custom-range.custom-range-yellow:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-range.custom-range-yellow::-webkit-slider-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-webkit-slider-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-yellow::-moz-range-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-moz-range-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-yellow::-ms-thumb{background-color:#f39c12}.dark-mode .custom-range.custom-range-yellow::-ms-thumb:active{background-color:#fce3bc}.dark-mode .custom-range.custom-range-green:focus{outline:0}.dark-mode .custom-range.custom-range-green:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-range.custom-range-green::-webkit-slider-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-webkit-slider-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-green::-moz-range-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-moz-range-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-green::-ms-thumb{background-color:#00bc8c}.dark-mode .custom-range.custom-range-green::-ms-thumb:active{background-color:#70ffda}.dark-mode .custom-range.custom-range-teal:focus{outline:0}.dark-mode .custom-range.custom-range-teal:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-range.custom-range-teal::-webkit-slider-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-webkit-slider-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-teal::-moz-range-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-moz-range-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-teal::-ms-thumb{background-color:#20c997}.dark-mode .custom-range.custom-range-teal::-ms-thumb:active{background-color:#aaf1dc}.dark-mode .custom-range.custom-range-cyan:focus{outline:0}.dark-mode .custom-range.custom-range-cyan:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-range.custom-range-cyan::-webkit-slider-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-webkit-slider-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-cyan::-moz-range-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-moz-range-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-cyan::-ms-thumb{background-color:#3498db}.dark-mode .custom-range.custom-range-cyan::-ms-thumb:active{background-color:#cce5f6}.dark-mode .custom-range.custom-range-white:focus{outline:0}.dark-mode .custom-range.custom-range-white:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-range.custom-range-white::-webkit-slider-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-webkit-slider-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-white::-moz-range-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-moz-range-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-white::-ms-thumb{background-color:#fff}.dark-mode .custom-range.custom-range-white::-ms-thumb:active{background-color:#fff}.dark-mode .custom-range.custom-range-gray:focus{outline:0}.dark-mode .custom-range.custom-range-gray:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-range.custom-range-gray::-webkit-slider-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-webkit-slider-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray::-moz-range-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-moz-range-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray::-ms-thumb{background-color:#6c757d}.dark-mode .custom-range.custom-range-gray::-ms-thumb:active{background-color:#caced1}.dark-mode .custom-range.custom-range-gray-dark:focus{outline:0}.dark-mode .custom-range.custom-range-gray-dark:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-range.custom-range-gray-dark::-webkit-slider-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-webkit-slider-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-gray-dark::-moz-range-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-moz-range-thumb:active{background-color:#88939e}.dark-mode .custom-range.custom-range-gray-dark::-ms-thumb{background-color:#343a40}.dark-mode .custom-range.custom-range-gray-dark::-ms-thumb:active{background-color:#88939e}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-off-primary .custom-control-input~.custom-control-label::after{background-color:#182838}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-on-primary .custom-control-input:checked~.custom-control-label::after{background-color:#97b4d2}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-off-secondary .custom-control-input~.custom-control-label::after{background-color:#313539}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-on-secondary .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-off-success .custom-control-input~.custom-control-label::after{background-color:#003d2d}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-on-success .custom-control-input:checked~.custom-control-label::after{background-color:#56ffd4}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-off-info .custom-control-input~.custom-control-label::after{background-color:#16527a}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-on-info .custom-control-input:checked~.custom-control-label::after{background-color:#b6daf2}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-off-warning .custom-control-input~.custom-control-label::after{background-color:#7f5006}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-on-warning .custom-control-input:checked~.custom-control-label::after{background-color:#fad9a4}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-off-danger .custom-control-input~.custom-control-label::after{background-color:#921e12}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-on-danger .custom-control-input:checked~.custom-control-label::after{background-color:#f8c9c4}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-switch.custom-switch-off-light .custom-control-input~.custom-control-label::after{background-color:#aeb9c5}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#bdc6d0}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(248,249,250,.25)}.dark-mode .custom-switch.custom-switch-on-light .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-off-dark .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-on-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-switch.custom-switch-off-lightblue .custom-control-input~.custom-control-label::after{background-color:#367fa9}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::before{background-color:#86bad8;border-color:#3c8dbc}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(134,186,216,.25)}.dark-mode .custom-switch.custom-switch-on-lightblue .custom-control-input:checked~.custom-control-label::after{background-color:#fafcfd}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-switch.custom-switch-off-navy .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::before{background-color:#002c59;border-color:#000}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,44,89,.25)}.dark-mode .custom-switch.custom-switch-on-navy .custom-control-input:checked~.custom-control-label::after{background-color:#0077f2}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-switch.custom-switch-off-olive .custom-control-input~.custom-control-label::after{background-color:#368763}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::before{background-color:#74c8a3;border-color:#3d9970}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(116,200,163,.25)}.dark-mode .custom-switch.custom-switch-on-olive .custom-control-input:checked~.custom-control-label::after{background-color:#e2f3eb}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-switch.custom-switch-off-lime .custom-control-input~.custom-control-label::after{background-color:#00e765}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::before{background-color:#67ffa9;border-color:#01ff70}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(103,255,169,.25)}.dark-mode .custom-switch.custom-switch-on-lime .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-switch.custom-switch-off-fuchsia .custom-control-input~.custom-control-label::after{background-color:#db0ead}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::before{background-color:#f672d8;border-color:#f012be}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(246,114,216,.25)}.dark-mode .custom-switch.custom-switch-on-fuchsia .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-switch.custom-switch-off-maroon .custom-control-input~.custom-control-label::after{background-color:#c11856}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::before{background-color:#ed6c9b;border-color:#d81b60}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(237,108,155,.25)}.dark-mode .custom-switch.custom-switch-on-maroon .custom-control-input:checked~.custom-control-label::after{background-color:#fef4f8}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-off-blue .custom-control-input~.custom-control-label::after{background-color:#182838}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::before{background-color:#3f6791;border-color:#20344a}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(63,103,145,.25)}.dark-mode .custom-switch.custom-switch-on-blue .custom-control-input:checked~.custom-control-label::after{background-color:#97b4d2}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-switch.custom-switch-off-indigo .custom-control-input~.custom-control-label::after{background-color:#33077c}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::before{background-color:#6610f2;border-color:#3d0894}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(102,16,242,.25)}.dark-mode .custom-switch.custom-switch-on-indigo .custom-control-input:checked~.custom-control-label::after{background-color:#c3a1fa}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-switch.custom-switch-off-purple .custom-control-input~.custom-control-label::after{background-color:#382063}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::before{background-color:#6f42c1;border-color:#432776}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(111,66,193,.25)}.dark-mode .custom-switch.custom-switch-on-purple .custom-control-input:checked~.custom-control-label::after{background-color:#c7b5e7}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-switch.custom-switch-off-pink .custom-control-input~.custom-control-label::after{background-color:#95124e}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::before{background-color:#e83e8c;border-color:#ac145a}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(232,62,140,.25)}.dark-mode .custom-switch.custom-switch-on-pink .custom-control-input:checked~.custom-control-label::after{background-color:#f8c7dd}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-off-red .custom-control-input~.custom-control-label::after{background-color:#921e12}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::before{background-color:#e74c3c;border-color:#a82315}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(231,76,60,.25)}.dark-mode .custom-switch.custom-switch-on-red .custom-control-input:checked~.custom-control-label::after{background-color:#f8c9c4}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-switch.custom-switch-off-orange .custom-control-input~.custom-control-label::after{background-color:#904201}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::before{background-color:#fd7e14;border-color:#aa4e01}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(253,126,20,.25)}.dark-mode .custom-switch.custom-switch-on-orange .custom-control-input:checked~.custom-control-label::after{background-color:#fed1ac}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-off-yellow .custom-control-input~.custom-control-label::after{background-color:#7f5006}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::before{background-color:#f39c12;border-color:#976008}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(243,156,18,.25)}.dark-mode .custom-switch.custom-switch-on-yellow .custom-control-input:checked~.custom-control-label::after{background-color:#fad9a4}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-off-green .custom-control-input~.custom-control-label::after{background-color:#003d2d}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::before{background-color:#00bc8c;border-color:#005640}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,188,140,.25)}.dark-mode .custom-switch.custom-switch-on-green .custom-control-input:checked~.custom-control-label::after{background-color:#56ffd4}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-switch.custom-switch-off-teal .custom-control-input~.custom-control-label::after{background-color:#0e5b44}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::before{background-color:#20c997;border-color:#127155}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(32,201,151,.25)}.dark-mode .custom-switch.custom-switch-on-teal .custom-control-input:checked~.custom-control-label::after{background-color:#94eed3}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-off-cyan .custom-control-input~.custom-control-label::after{background-color:#16527a}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::before{background-color:#3498db;border-color:#196090}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,152,219,.25)}.dark-mode .custom-switch.custom-switch-on-cyan .custom-control-input:checked~.custom-control-label::after{background-color:#b6daf2}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-switch.custom-switch-off-white .custom-control-input~.custom-control-label::after{background-color:#bfbfbf}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::before{background-color:#fff;border-color:#ccc}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(255,255,255,.25)}.dark-mode .custom-switch.custom-switch-on-white .custom-control-input:checked~.custom-control-label::after{background-color:#fff}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-off-gray .custom-control-input~.custom-control-label::after{background-color:#313539}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::before{background-color:#6c757d;border-color:#3d4246}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(108,117,125,.25)}.dark-mode .custom-switch.custom-switch-on-gray .custom-control-input:checked~.custom-control-label::after{background-color:#bcc1c6}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-off-gray-dark .custom-control-input~.custom-control-label::after{background-color:#000}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::before{background-color:#343a40;border-color:#060708}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(52,58,64,.25)}.dark-mode .custom-switch.custom-switch-on-gray-dark .custom-control-input:checked~.custom-control-label::after{background-color:#7a8793}.dark-mode .custom-control-input-primary:checked~.custom-control-label::before{border-color:#3f6791;background-color:#3f6791}.dark-mode .custom-control-input-primary.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233f6791' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-primary.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233f6791'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-primary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(63,103,145,.25)}.dark-mode .custom-control-input-primary:focus:not(:checked)~.custom-control-label::before{border-color:#85a7ca}.dark-mode .custom-control-input-primary:not(:disabled):active~.custom-control-label::before{background-color:#a9c1da;border-color:#a9c1da}.dark-mode .custom-control-input-secondary:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.dark-mode .custom-control-input-secondary.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236c757d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-secondary.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236c757d'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-secondary:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.dark-mode .custom-control-input-secondary:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.dark-mode .custom-control-input-secondary:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.dark-mode .custom-control-input-success:checked~.custom-control-label::before{border-color:#00bc8c;background-color:#00bc8c}.dark-mode .custom-control-input-success.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2300bc8c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-success.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2300bc8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-success:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,188,140,.25)}.dark-mode .custom-control-input-success:focus:not(:checked)~.custom-control-label::before{border-color:#3dffcd}.dark-mode .custom-control-input-success:not(:disabled):active~.custom-control-label::before{background-color:#70ffda;border-color:#70ffda}.dark-mode .custom-control-input-info:checked~.custom-control-label::before{border-color:#3498db;background-color:#3498db}.dark-mode .custom-control-input-info.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233498db' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-info.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233498db'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-info:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,152,219,.25)}.dark-mode .custom-control-input-info:focus:not(:checked)~.custom-control-label::before{border-color:#a0cfee}.dark-mode .custom-control-input-info:not(:disabled):active~.custom-control-label::before{background-color:#cce5f6;border-color:#cce5f6}.dark-mode .custom-control-input-warning:checked~.custom-control-label::before{border-color:#f39c12;background-color:#f39c12}.dark-mode .custom-control-input-warning.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f39c12' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-warning.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f39c12'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-warning:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(243,156,18,.25)}.dark-mode .custom-control-input-warning:focus:not(:checked)~.custom-control-label::before{border-color:#f9cf8b}.dark-mode .custom-control-input-warning:not(:disabled):active~.custom-control-label::before{background-color:#fce3bc;border-color:#fce3bc}.dark-mode .custom-control-input-danger:checked~.custom-control-label::before{border-color:#e74c3c;background-color:#e74c3c}.dark-mode .custom-control-input-danger.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23e74c3c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-danger.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23e74c3c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-danger:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(231,76,60,.25)}.dark-mode .custom-control-input-danger:focus:not(:checked)~.custom-control-label::before{border-color:#f5b4ae}.dark-mode .custom-control-input-danger:not(:disabled):active~.custom-control-label::before{background-color:#fbdedb;border-color:#fbdedb}.dark-mode .custom-control-input-light:checked~.custom-control-label::before{border-color:#f8f9fa;background-color:#f8f9fa}.dark-mode .custom-control-input-light.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f8f9fa' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-light.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f8f9fa'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-light:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(248,249,250,.25)}.dark-mode .custom-control-input-light:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.dark-mode .custom-control-input-light:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.dark-mode .custom-control-input-dark.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23343a40' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-dark.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23343a40'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.dark-mode .custom-control-input-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.dark-mode .custom-control-input-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.dark-mode .custom-control-input-lightblue:checked~.custom-control-label::before{border-color:#86bad8;background-color:#86bad8}.dark-mode .custom-control-input-lightblue.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2386bad8' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lightblue.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2386bad8'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lightblue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(134,186,216,.25)}.dark-mode .custom-control-input-lightblue:focus:not(:checked)~.custom-control-label::before{border-color:#e6f1f7}.dark-mode .custom-control-input-lightblue:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-navy:checked~.custom-control-label::before{border-color:#002c59;background-color:#002c59}.dark-mode .custom-control-input-navy.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23002c59' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-navy.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23002c59'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-navy:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,44,89,.25)}.dark-mode .custom-control-input-navy:focus:not(:checked)~.custom-control-label::before{border-color:#006ad8}.dark-mode .custom-control-input-navy:not(:disabled):active~.custom-control-label::before{background-color:#0c84ff;border-color:#0c84ff}.dark-mode .custom-control-input-olive:checked~.custom-control-label::before{border-color:#74c8a3;background-color:#74c8a3}.dark-mode .custom-control-input-olive.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2374c8a3' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-olive.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2374c8a3'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-olive:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(116,200,163,.25)}.dark-mode .custom-control-input-olive:focus:not(:checked)~.custom-control-label::before{border-color:#cfecdf}.dark-mode .custom-control-input-olive:not(:disabled):active~.custom-control-label::before{background-color:#f4fbf8;border-color:#f4fbf8}.dark-mode .custom-control-input-lime:checked~.custom-control-label::before{border-color:#67ffa9;background-color:#67ffa9}.dark-mode .custom-control-input-lime.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2367ffa9' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lime.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2367ffa9'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-lime:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(103,255,169,.25)}.dark-mode .custom-control-input-lime:focus:not(:checked)~.custom-control-label::before{border-color:#e7fff1}.dark-mode .custom-control-input-lime:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-fuchsia:checked~.custom-control-label::before{border-color:#f672d8;background-color:#f672d8}.dark-mode .custom-control-input-fuchsia.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f672d8' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-fuchsia.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f672d8'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-fuchsia:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(246,114,216,.25)}.dark-mode .custom-control-input-fuchsia:focus:not(:checked)~.custom-control-label::before{border-color:#feeaf9}.dark-mode .custom-control-input-fuchsia:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-maroon:checked~.custom-control-label::before{border-color:#ed6c9b;background-color:#ed6c9b}.dark-mode .custom-control-input-maroon.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23ed6c9b' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-maroon.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23ed6c9b'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-maroon:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(237,108,155,.25)}.dark-mode .custom-control-input-maroon:focus:not(:checked)~.custom-control-label::before{border-color:#fbdee8}.dark-mode .custom-control-input-maroon:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-blue:checked~.custom-control-label::before{border-color:#3f6791;background-color:#3f6791}.dark-mode .custom-control-input-blue.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233f6791' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-blue.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233f6791'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-blue:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(63,103,145,.25)}.dark-mode .custom-control-input-blue:focus:not(:checked)~.custom-control-label::before{border-color:#85a7ca}.dark-mode .custom-control-input-blue:not(:disabled):active~.custom-control-label::before{background-color:#a9c1da;border-color:#a9c1da}.dark-mode .custom-control-input-indigo:checked~.custom-control-label::before{border-color:#6610f2;background-color:#6610f2}.dark-mode .custom-control-input-indigo.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236610f2' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-indigo.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236610f2'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-indigo:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(102,16,242,.25)}.dark-mode .custom-control-input-indigo:focus:not(:checked)~.custom-control-label::before{border-color:#b389f9}.dark-mode .custom-control-input-indigo:not(:disabled):active~.custom-control-label::before{background-color:#d2b9fb;border-color:#d2b9fb}.dark-mode .custom-control-input-purple:checked~.custom-control-label::before{border-color:#6f42c1;background-color:#6f42c1}.dark-mode .custom-control-input-purple.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236f42c1' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-purple.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236f42c1'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-purple:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(111,66,193,.25)}.dark-mode .custom-control-input-purple:focus:not(:checked)~.custom-control-label::before{border-color:#b8a2e0}.dark-mode .custom-control-input-purple:not(:disabled):active~.custom-control-label::before{background-color:#d5c8ed;border-color:#d5c8ed}.dark-mode .custom-control-input-pink:checked~.custom-control-label::before{border-color:#e83e8c;background-color:#e83e8c}.dark-mode .custom-control-input-pink.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23e83e8c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-pink.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23e83e8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-pink:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(232,62,140,.25)}.dark-mode .custom-control-input-pink:focus:not(:checked)~.custom-control-label::before{border-color:#f6b0d0}.dark-mode .custom-control-input-pink:not(:disabled):active~.custom-control-label::before{background-color:#fbddeb;border-color:#fbddeb}.dark-mode .custom-control-input-red:checked~.custom-control-label::before{border-color:#e74c3c;background-color:#e74c3c}.dark-mode .custom-control-input-red.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23e74c3c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-red.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23e74c3c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-red:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(231,76,60,.25)}.dark-mode .custom-control-input-red:focus:not(:checked)~.custom-control-label::before{border-color:#f5b4ae}.dark-mode .custom-control-input-red:not(:disabled):active~.custom-control-label::before{background-color:#fbdedb;border-color:#fbdedb}.dark-mode .custom-control-input-orange:checked~.custom-control-label::before{border-color:#fd7e14;background-color:#fd7e14}.dark-mode .custom-control-input-orange.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fd7e14' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-orange.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fd7e14'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-orange:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(253,126,20,.25)}.dark-mode .custom-control-input-orange:focus:not(:checked)~.custom-control-label::before{border-color:#fec392}.dark-mode .custom-control-input-orange:not(:disabled):active~.custom-control-label::before{background-color:#ffdfc5;border-color:#ffdfc5}.dark-mode .custom-control-input-yellow:checked~.custom-control-label::before{border-color:#f39c12;background-color:#f39c12}.dark-mode .custom-control-input-yellow.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f39c12' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-yellow.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23f39c12'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-yellow:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(243,156,18,.25)}.dark-mode .custom-control-input-yellow:focus:not(:checked)~.custom-control-label::before{border-color:#f9cf8b}.dark-mode .custom-control-input-yellow:not(:disabled):active~.custom-control-label::before{background-color:#fce3bc;border-color:#fce3bc}.dark-mode .custom-control-input-green:checked~.custom-control-label::before{border-color:#00bc8c;background-color:#00bc8c}.dark-mode .custom-control-input-green.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2300bc8c' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-green.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2300bc8c'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-green:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(0,188,140,.25)}.dark-mode .custom-control-input-green:focus:not(:checked)~.custom-control-label::before{border-color:#3dffcd}.dark-mode .custom-control-input-green:not(:disabled):active~.custom-control-label::before{background-color:#70ffda;border-color:#70ffda}.dark-mode .custom-control-input-teal:checked~.custom-control-label::before{border-color:#20c997;background-color:#20c997}.dark-mode .custom-control-input-teal.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2320c997' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-teal.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2320c997'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-teal:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(32,201,151,.25)}.dark-mode .custom-control-input-teal:focus:not(:checked)~.custom-control-label::before{border-color:#7eeaca}.dark-mode .custom-control-input-teal:not(:disabled):active~.custom-control-label::before{background-color:#aaf1dc;border-color:#aaf1dc}.dark-mode .custom-control-input-cyan:checked~.custom-control-label::before{border-color:#3498db;background-color:#3498db}.dark-mode .custom-control-input-cyan.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%233498db' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-cyan.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%233498db'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-cyan:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,152,219,.25)}.dark-mode .custom-control-input-cyan:focus:not(:checked)~.custom-control-label::before{border-color:#a0cfee}.dark-mode .custom-control-input-cyan:not(:disabled):active~.custom-control-label::before{background-color:#cce5f6;border-color:#cce5f6}.dark-mode .custom-control-input-white:checked~.custom-control-label::before{border-color:#fff;background-color:#fff}.dark-mode .custom-control-input-white.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-white.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-white:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(255,255,255,.25)}.dark-mode .custom-control-input-white:focus:not(:checked)~.custom-control-label::before{border-color:#fff}.dark-mode .custom-control-input-white:not(:disabled):active~.custom-control-label::before{background-color:#fff;border-color:#fff}.dark-mode .custom-control-input-gray:checked~.custom-control-label::before{border-color:#6c757d;background-color:#6c757d}.dark-mode .custom-control-input-gray.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%236c757d' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%236c757d'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(108,117,125,.25)}.dark-mode .custom-control-input-gray:focus:not(:checked)~.custom-control-label::before{border-color:#afb5ba}.dark-mode .custom-control-input-gray:not(:disabled):active~.custom-control-label::before{background-color:#caced1;border-color:#caced1}.dark-mode .custom-control-input-gray-dark:checked~.custom-control-label::before{border-color:#343a40;background-color:#343a40}.dark-mode .custom-control-input-gray-dark.custom-control-input-outline:checked[type=checkbox]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23343a40' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray-dark.custom-control-input-outline:checked[type=radio]~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23343a40'/%3E%3C/svg%3E")!important}.dark-mode .custom-control-input-gray-dark:focus~.custom-control-label::before{box-shadow:inset 0 0 0 transparent,0 0 0 .2rem rgba(52,58,64,.25)}.dark-mode .custom-control-input-gray-dark:focus:not(:checked)~.custom-control-label::before{border-color:#6d7a86}.dark-mode .custom-control-input-gray-dark:not(:disabled):active~.custom-control-label::before{background-color:#88939e;border-color:#88939e}.progress{box-shadow:none;border-radius:1px}.progress.vertical{display:inline-block;height:200px;margin-right:10px;position:relative;width:30px}.progress.vertical>.progress-bar{bottom:0;position:absolute;width:100%}.progress.vertical.progress-sm,.progress.vertical.sm{width:20px}.progress.vertical.progress-xs,.progress.vertical.xs{width:10px}.progress.vertical.progress-xxs,.progress.vertical.xxs{width:3px}.progress-group{margin-bottom:.5rem}.progress-sm{height:10px}.progress-xs{height:7px}.progress-xxs{height:3px}.table tr>td .progress{margin:0}.dark-mode .progress{background:#454d55}.card-primary:not(.card-outline)>.card-header{background-color:#007bff}.card-primary:not(.card-outline)>.card-header,.card-primary:not(.card-outline)>.card-header a{color:#fff}.card-primary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-primary.card-outline{border-top:3px solid #007bff}.card-primary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-primary.card-outline-tabs>.card-header a.active,.card-primary.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #007bff}.bg-gradient-primary>.card-header .btn-tool,.bg-primary>.card-header .btn-tool,.card-primary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-primary>.card-header .btn-tool:hover,.bg-primary>.card-header .btn-tool:hover,.card-primary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-primary .bootstrap-datetimepicker-widget .table th,.card.bg-primary .bootstrap-datetimepicker-widget .table td,.card.bg-primary .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#0067d6;color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.today::before,.card.bg-primary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-primary .bootstrap-datetimepicker-widget table td.active,.card.bg-primary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3395ff;color:#fff}.card-secondary:not(.card-outline)>.card-header{background-color:#6c757d}.card-secondary:not(.card-outline)>.card-header,.card-secondary:not(.card-outline)>.card-header a{color:#fff}.card-secondary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-secondary.card-outline{border-top:3px solid #6c757d}.card-secondary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-secondary.card-outline-tabs>.card-header a.active,.card-secondary.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6c757d}.bg-gradient-secondary>.card-header .btn-tool,.bg-secondary>.card-header .btn-tool,.card-secondary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-secondary>.card-header .btn-tool:hover,.bg-secondary>.card-header .btn-tool:hover,.card-secondary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table th,.card.bg-secondary .bootstrap-datetimepicker-widget .table td,.card.bg-secondary .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.today::before,.card.bg-secondary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-secondary .bootstrap-datetimepicker-widget table td.active,.card.bg-secondary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.card-success:not(.card-outline)>.card-header{background-color:#28a745}.card-success:not(.card-outline)>.card-header,.card-success:not(.card-outline)>.card-header a{color:#fff}.card-success:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-success.card-outline{border-top:3px solid #28a745}.card-success.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-success.card-outline-tabs>.card-header a.active,.card-success.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #28a745}.bg-gradient-success>.card-header .btn-tool,.bg-success>.card-header .btn-tool,.card-success:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-success>.card-header .btn-tool:hover,.bg-success>.card-header .btn-tool:hover,.card-success:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-success .bootstrap-datetimepicker-widget .table th,.card.bg-success .bootstrap-datetimepicker-widget .table td,.card.bg-success .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#208637;color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.today::before,.card.bg-success .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-success .bootstrap-datetimepicker-widget table td.active,.card.bg-success .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ce57;color:#fff}.card-info:not(.card-outline)>.card-header{background-color:#17a2b8}.card-info:not(.card-outline)>.card-header,.card-info:not(.card-outline)>.card-header a{color:#fff}.card-info:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-info.card-outline{border-top:3px solid #17a2b8}.card-info.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-info.card-outline-tabs>.card-header a.active,.card-info.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #17a2b8}.bg-gradient-info>.card-header .btn-tool,.bg-info>.card-header .btn-tool,.card-info:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-info>.card-header .btn-tool:hover,.bg-info>.card-header .btn-tool:hover,.card-info:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-info .bootstrap-datetimepicker-widget .table th,.card.bg-info .bootstrap-datetimepicker-widget .table td,.card.bg-info .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#128294;color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.today::before,.card.bg-info .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-info .bootstrap-datetimepicker-widget table td.active,.card.bg-info .bootstrap-datetimepicker-widget table td.active:hover{background-color:#1fc8e3;color:#fff}.card-warning:not(.card-outline)>.card-header{background-color:#ffc107}.card-warning:not(.card-outline)>.card-header,.card-warning:not(.card-outline)>.card-header a{color:#1f2d3d}.card-warning:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-warning.card-outline{border-top:3px solid #ffc107}.card-warning.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-warning.card-outline-tabs>.card-header a.active,.card-warning.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #ffc107}.bg-gradient-warning>.card-header .btn-tool,.bg-warning>.card-header .btn-tool,.card-warning:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-warning>.card-header .btn-tool:hover,.bg-warning>.card-header .btn-tool:hover,.card-warning:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-warning .bootstrap-datetimepicker-widget .table th,.card.bg-warning .bootstrap-datetimepicker-widget .table td,.card.bg-warning .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#dda600;color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.today::before,.card.bg-warning .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-warning .bootstrap-datetimepicker-widget table td.active,.card.bg-warning .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ffce3a;color:#1f2d3d}.card-danger:not(.card-outline)>.card-header{background-color:#dc3545}.card-danger:not(.card-outline)>.card-header,.card-danger:not(.card-outline)>.card-header a{color:#fff}.card-danger:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-danger.card-outline{border-top:3px solid #dc3545}.card-danger.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-danger.card-outline-tabs>.card-header a.active,.card-danger.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #dc3545}.bg-danger>.card-header .btn-tool,.bg-gradient-danger>.card-header .btn-tool,.card-danger:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-danger>.card-header .btn-tool:hover,.bg-gradient-danger>.card-header .btn-tool:hover,.card-danger:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget .table td,.card.bg-danger .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-danger .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-danger .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-danger .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-danger .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#c62232;color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-danger .bootstrap-datetimepicker-widget table td.active,.card.bg-danger .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e4606d;color:#fff}.card-light:not(.card-outline)>.card-header{background-color:#f8f9fa}.card-light:not(.card-outline)>.card-header,.card-light:not(.card-outline)>.card-header a{color:#1f2d3d}.card-light:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-light.card-outline{border-top:3px solid #f8f9fa}.card-light.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-light.card-outline-tabs>.card-header a.active,.card-light.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f8f9fa}.bg-gradient-light>.card-header .btn-tool,.bg-light>.card-header .btn-tool,.card-light:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-light>.card-header .btn-tool:hover,.bg-light>.card-header .btn-tool:hover,.card-light:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-light .bootstrap-datetimepicker-widget .table th,.card.bg-light .bootstrap-datetimepicker-widget .table td,.card.bg-light .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e0e5e9;color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.today::before,.card.bg-light .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-light .bootstrap-datetimepicker-widget table td.active,.card.bg-light .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.card-dark:not(.card-outline)>.card-header{background-color:#343a40}.card-dark:not(.card-outline)>.card-header,.card-dark:not(.card-outline)>.card-header a{color:#fff}.card-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-dark.card-outline{border-top:3px solid #343a40}.card-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-dark.card-outline-tabs>.card-header a.active,.card-dark.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #343a40}.bg-dark>.card-header .btn-tool,.bg-gradient-dark>.card-header .btn-tool,.card-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-dark>.card-header .btn-tool:hover,.bg-gradient-dark>.card-header .btn-tool:hover,.card-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget .table td,.card.bg-dark .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-dark .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-dark .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.card-lightblue:not(.card-outline)>.card-header{background-color:#3c8dbc}.card-lightblue:not(.card-outline)>.card-header,.card-lightblue:not(.card-outline)>.card-header a{color:#fff}.card-lightblue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-lightblue.card-outline{border-top:3px solid #3c8dbc}.card-lightblue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-lightblue.card-outline-tabs>.card-header a.active,.card-lightblue.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3c8dbc}.bg-gradient-lightblue>.card-header .btn-tool,.bg-lightblue>.card-header .btn-tool,.card-lightblue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-lightblue>.card-header .btn-tool:hover,.bg-lightblue>.card-header .btn-tool:hover,.card-lightblue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table th,.card.bg-lightblue .bootstrap-datetimepicker-widget .table td,.card.bg-lightblue .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#32769d;color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.today::before,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.active,.card.bg-lightblue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5fa4cc;color:#fff}.card-navy:not(.card-outline)>.card-header{background-color:#001f3f}.card-navy:not(.card-outline)>.card-header,.card-navy:not(.card-outline)>.card-header a{color:#fff}.card-navy:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-navy.card-outline{border-top:3px solid #001f3f}.card-navy.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-navy.card-outline-tabs>.card-header a.active,.card-navy.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #001f3f}.bg-gradient-navy>.card-header .btn-tool,.bg-navy>.card-header .btn-tool,.card-navy:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-navy>.card-header .btn-tool:hover,.bg-navy>.card-header .btn-tool:hover,.card-navy:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-navy .bootstrap-datetimepicker-widget .table th,.card.bg-navy .bootstrap-datetimepicker-widget .table td,.card.bg-navy .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#000b16;color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.today::before,.card.bg-navy .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-navy .bootstrap-datetimepicker-widget table td.active,.card.bg-navy .bootstrap-datetimepicker-widget table td.active:hover{background-color:#003872;color:#fff}.card-olive:not(.card-outline)>.card-header{background-color:#3d9970}.card-olive:not(.card-outline)>.card-header,.card-olive:not(.card-outline)>.card-header a{color:#fff}.card-olive:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-olive.card-outline{border-top:3px solid #3d9970}.card-olive.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-olive.card-outline-tabs>.card-header a.active,.card-olive.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3d9970}.bg-gradient-olive>.card-header .btn-tool,.bg-olive>.card-header .btn-tool,.card-olive:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-olive>.card-header .btn-tool:hover,.bg-olive>.card-header .btn-tool:hover,.card-olive:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-olive .bootstrap-datetimepicker-widget .table th,.card.bg-olive .bootstrap-datetimepicker-widget .table td,.card.bg-olive .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#317c5b;color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.today::before,.card.bg-olive .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-olive .bootstrap-datetimepicker-widget table td.active,.card.bg-olive .bootstrap-datetimepicker-widget table td.active:hover{background-color:#50b98a;color:#fff}.card-lime:not(.card-outline)>.card-header{background-color:#01ff70}.card-lime:not(.card-outline)>.card-header,.card-lime:not(.card-outline)>.card-header a{color:#1f2d3d}.card-lime:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-lime.card-outline{border-top:3px solid #01ff70}.card-lime.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-lime.card-outline-tabs>.card-header a.active,.card-lime.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #01ff70}.bg-gradient-lime>.card-header .btn-tool,.bg-lime>.card-header .btn-tool,.card-lime:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-lime>.card-header .btn-tool:hover,.bg-lime>.card-header .btn-tool:hover,.card-lime:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-lime .bootstrap-datetimepicker-widget .table th,.card.bg-lime .bootstrap-datetimepicker-widget .table td,.card.bg-lime .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00d75e;color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.today::before,.card.bg-lime .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-lime .bootstrap-datetimepicker-widget table td.active,.card.bg-lime .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ff8d;color:#1f2d3d}.card-fuchsia:not(.card-outline)>.card-header{background-color:#f012be}.card-fuchsia:not(.card-outline)>.card-header,.card-fuchsia:not(.card-outline)>.card-header a{color:#fff}.card-fuchsia:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-fuchsia.card-outline{border-top:3px solid #f012be}.card-fuchsia.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-fuchsia.card-outline-tabs>.card-header a.active,.card-fuchsia.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f012be}.bg-fuchsia>.card-header .btn-tool,.bg-gradient-fuchsia>.card-header .btn-tool,.card-fuchsia:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-fuchsia>.card-header .btn-tool:hover,.bg-gradient-fuchsia>.card-header .btn-tool:hover,.card-fuchsia:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget .table td,.card.bg-fuchsia .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#cc0da1;color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active,.card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f342cb;color:#fff}.card-maroon:not(.card-outline)>.card-header{background-color:#d81b60}.card-maroon:not(.card-outline)>.card-header,.card-maroon:not(.card-outline)>.card-header a{color:#fff}.card-maroon:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-maroon.card-outline{border-top:3px solid #d81b60}.card-maroon.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-maroon.card-outline-tabs>.card-header a.active,.card-maroon.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #d81b60}.bg-gradient-maroon>.card-header .btn-tool,.bg-maroon>.card-header .btn-tool,.card-maroon:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-maroon>.card-header .btn-tool:hover,.bg-maroon>.card-header .btn-tool:hover,.card-maroon:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table th,.card.bg-maroon .bootstrap-datetimepicker-widget .table td,.card.bg-maroon .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#b41650;color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.today::before,.card.bg-maroon .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-maroon .bootstrap-datetimepicker-widget table td.active,.card.bg-maroon .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e73f7c;color:#fff}.card-blue:not(.card-outline)>.card-header{background-color:#007bff}.card-blue:not(.card-outline)>.card-header,.card-blue:not(.card-outline)>.card-header a{color:#fff}.card-blue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-blue.card-outline{border-top:3px solid #007bff}.card-blue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-blue.card-outline-tabs>.card-header a.active,.card-blue.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #007bff}.bg-blue>.card-header .btn-tool,.bg-gradient-blue>.card-header .btn-tool,.card-blue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-blue>.card-header .btn-tool:hover,.bg-gradient-blue>.card-header .btn-tool:hover,.card-blue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget .table td,.card.bg-blue .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-blue .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-blue .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-blue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-blue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#0067d6;color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-blue .bootstrap-datetimepicker-widget table td.active,.card.bg-blue .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3395ff;color:#fff}.card-indigo:not(.card-outline)>.card-header{background-color:#6610f2}.card-indigo:not(.card-outline)>.card-header,.card-indigo:not(.card-outline)>.card-header a{color:#fff}.card-indigo:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-indigo.card-outline{border-top:3px solid #6610f2}.card-indigo.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-indigo.card-outline-tabs>.card-header a.active,.card-indigo.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6610f2}.bg-gradient-indigo>.card-header .btn-tool,.bg-indigo>.card-header .btn-tool,.card-indigo:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-indigo>.card-header .btn-tool:hover,.bg-indigo>.card-header .btn-tool:hover,.card-indigo:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table th,.card.bg-indigo .bootstrap-datetimepicker-widget .table td,.card.bg-indigo .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#550bce;color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.today::before,.card.bg-indigo .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-indigo .bootstrap-datetimepicker-widget table td.active,.card.bg-indigo .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8540f5;color:#fff}.card-purple:not(.card-outline)>.card-header{background-color:#6f42c1}.card-purple:not(.card-outline)>.card-header,.card-purple:not(.card-outline)>.card-header a{color:#fff}.card-purple:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-purple.card-outline{border-top:3px solid #6f42c1}.card-purple.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-purple.card-outline-tabs>.card-header a.active,.card-purple.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6f42c1}.bg-gradient-purple>.card-header .btn-tool,.bg-purple>.card-header .btn-tool,.card-purple:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-purple>.card-header .btn-tool:hover,.bg-purple>.card-header .btn-tool:hover,.card-purple:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-purple .bootstrap-datetimepicker-widget .table th,.card.bg-purple .bootstrap-datetimepicker-widget .table td,.card.bg-purple .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#5d36a4;color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.today::before,.card.bg-purple .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-purple .bootstrap-datetimepicker-widget table td.active,.card.bg-purple .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8c68ce;color:#fff}.card-pink:not(.card-outline)>.card-header{background-color:#e83e8c}.card-pink:not(.card-outline)>.card-header,.card-pink:not(.card-outline)>.card-header a{color:#fff}.card-pink:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-pink.card-outline{border-top:3px solid #e83e8c}.card-pink.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-pink.card-outline-tabs>.card-header a.active,.card-pink.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #e83e8c}.bg-gradient-pink>.card-header .btn-tool,.bg-pink>.card-header .btn-tool,.card-pink:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-pink>.card-header .btn-tool:hover,.bg-pink>.card-header .btn-tool:hover,.card-pink:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-pink .bootstrap-datetimepicker-widget .table th,.card.bg-pink .bootstrap-datetimepicker-widget .table td,.card.bg-pink .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e21b76;color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.today::before,.card.bg-pink .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-pink .bootstrap-datetimepicker-widget table td.active,.card.bg-pink .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed6ca7;color:#fff}.card-red:not(.card-outline)>.card-header{background-color:#dc3545}.card-red:not(.card-outline)>.card-header,.card-red:not(.card-outline)>.card-header a{color:#fff}.card-red:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-red.card-outline{border-top:3px solid #dc3545}.card-red.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-red.card-outline-tabs>.card-header a.active,.card-red.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #dc3545}.bg-gradient-red>.card-header .btn-tool,.bg-red>.card-header .btn-tool,.card-red:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-red>.card-header .btn-tool:hover,.bg-red>.card-header .btn-tool:hover,.card-red:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-red .bootstrap-datetimepicker-widget .table th,.card.bg-red .bootstrap-datetimepicker-widget .table td,.card.bg-red .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#c62232;color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.today::before,.card.bg-red .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-red .bootstrap-datetimepicker-widget table td.active,.card.bg-red .bootstrap-datetimepicker-widget table td.active:hover{background-color:#e4606d;color:#fff}.card-orange:not(.card-outline)>.card-header{background-color:#fd7e14}.card-orange:not(.card-outline)>.card-header,.card-orange:not(.card-outline)>.card-header a{color:#1f2d3d}.card-orange:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-orange.card-outline{border-top:3px solid #fd7e14}.card-orange.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-orange.card-outline-tabs>.card-header a.active,.card-orange.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #fd7e14}.bg-gradient-orange>.card-header .btn-tool,.bg-orange>.card-header .btn-tool,.card-orange:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-orange>.card-header .btn-tool:hover,.bg-orange>.card-header .btn-tool:hover,.card-orange:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-orange .bootstrap-datetimepicker-widget .table th,.card.bg-orange .bootstrap-datetimepicker-widget .table td,.card.bg-orange .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e66a02;color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.today::before,.card.bg-orange .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-orange .bootstrap-datetimepicker-widget table td.active,.card.bg-orange .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fd9a47;color:#1f2d3d}.card-yellow:not(.card-outline)>.card-header{background-color:#ffc107}.card-yellow:not(.card-outline)>.card-header,.card-yellow:not(.card-outline)>.card-header a{color:#1f2d3d}.card-yellow:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-yellow.card-outline{border-top:3px solid #ffc107}.card-yellow.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-yellow.card-outline-tabs>.card-header a.active,.card-yellow.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #ffc107}.bg-gradient-yellow>.card-header .btn-tool,.bg-yellow>.card-header .btn-tool,.card-yellow:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-yellow>.card-header .btn-tool:hover,.bg-yellow>.card-header .btn-tool:hover,.card-yellow:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table th,.card.bg-yellow .bootstrap-datetimepicker-widget .table td,.card.bg-yellow .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#dda600;color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.today::before,.card.bg-yellow .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-yellow .bootstrap-datetimepicker-widget table td.active,.card.bg-yellow .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ffce3a;color:#1f2d3d}.card-green:not(.card-outline)>.card-header{background-color:#28a745}.card-green:not(.card-outline)>.card-header,.card-green:not(.card-outline)>.card-header a{color:#fff}.card-green:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-green.card-outline{border-top:3px solid #28a745}.card-green.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-green.card-outline-tabs>.card-header a.active,.card-green.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #28a745}.bg-gradient-green>.card-header .btn-tool,.bg-green>.card-header .btn-tool,.card-green:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-green>.card-header .btn-tool:hover,.bg-green>.card-header .btn-tool:hover,.card-green:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-green .bootstrap-datetimepicker-widget .table th,.card.bg-green .bootstrap-datetimepicker-widget .table td,.card.bg-green .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#208637;color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.today::before,.card.bg-green .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-green .bootstrap-datetimepicker-widget table td.active,.card.bg-green .bootstrap-datetimepicker-widget table td.active:hover{background-color:#34ce57;color:#fff}.card-teal:not(.card-outline)>.card-header{background-color:#20c997}.card-teal:not(.card-outline)>.card-header,.card-teal:not(.card-outline)>.card-header a{color:#fff}.card-teal:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-teal.card-outline{border-top:3px solid #20c997}.card-teal.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-teal.card-outline-tabs>.card-header a.active,.card-teal.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #20c997}.bg-gradient-teal>.card-header .btn-tool,.bg-teal>.card-header .btn-tool,.card-teal:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-teal>.card-header .btn-tool:hover,.bg-teal>.card-header .btn-tool:hover,.card-teal:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table th,.card.bg-teal .bootstrap-datetimepicker-widget .table td,.card.bg-teal .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#1aa67d;color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.today::before,.card.bg-teal .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-teal .bootstrap-datetimepicker-widget table td.active,.card.bg-teal .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3ce0af;color:#fff}.card-cyan:not(.card-outline)>.card-header{background-color:#17a2b8}.card-cyan:not(.card-outline)>.card-header,.card-cyan:not(.card-outline)>.card-header a{color:#fff}.card-cyan:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-cyan.card-outline{border-top:3px solid #17a2b8}.card-cyan.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-cyan.card-outline-tabs>.card-header a.active,.card-cyan.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #17a2b8}.bg-cyan>.card-header .btn-tool,.bg-gradient-cyan>.card-header .btn-tool,.card-cyan:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-cyan>.card-header .btn-tool:hover,.bg-gradient-cyan>.card-header .btn-tool:hover,.card-cyan:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget .table td,.card.bg-cyan .bootstrap-datetimepicker-widget .table th,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-cyan .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#128294;color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-cyan .bootstrap-datetimepicker-widget table td.active,.card.bg-cyan .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active:hover{background-color:#1fc8e3;color:#fff}.card-white:not(.card-outline)>.card-header{background-color:#fff}.card-white:not(.card-outline)>.card-header,.card-white:not(.card-outline)>.card-header a{color:#1f2d3d}.card-white:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-white.card-outline{border-top:3px solid #fff}.card-white.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-white.card-outline-tabs>.card-header a.active,.card-white.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #fff}.bg-gradient-white>.card-header .btn-tool,.bg-white>.card-header .btn-tool,.card-white:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.bg-gradient-white>.card-header .btn-tool:hover,.bg-white>.card-header .btn-tool:hover,.card-white:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-white .bootstrap-datetimepicker-widget .table th,.card.bg-white .bootstrap-datetimepicker-widget .table td,.card.bg-white .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#ebebeb;color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.today::before,.card.bg-white .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-white .bootstrap-datetimepicker-widget table td.active,.card.bg-white .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.card-gray:not(.card-outline)>.card-header{background-color:#6c757d}.card-gray:not(.card-outline)>.card-header,.card-gray:not(.card-outline)>.card-header a{color:#fff}.card-gray:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-gray.card-outline{border-top:3px solid #6c757d}.card-gray.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-gray.card-outline-tabs>.card-header a.active,.card-gray.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6c757d}.bg-gradient-gray>.card-header .btn-tool,.bg-gray>.card-header .btn-tool,.card-gray:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-gray>.card-header .btn-tool:hover,.bg-gray>.card-header .btn-tool:hover,.card-gray:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-gray .bootstrap-datetimepicker-widget .table th,.card.bg-gray .bootstrap-datetimepicker-widget .table td,.card.bg-gray .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gray .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gray .bootstrap-datetimepicker-widget table td.active,.card.bg-gray .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.card-gray-dark:not(.card-outline)>.card-header{background-color:#343a40}.card-gray-dark:not(.card-outline)>.card-header,.card-gray-dark:not(.card-outline)>.card-header a{color:#fff}.card-gray-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.card-gray-dark.card-outline{border-top:3px solid #343a40}.card-gray-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.card-gray-dark.card-outline-tabs>.card-header a.active,.card-gray-dark.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #343a40}.bg-gradient-gray-dark>.card-header .btn-tool,.bg-gray-dark>.card-header .btn-tool,.card-gray-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.bg-gradient-gray-dark>.card-header .btn-tool:hover,.bg-gray-dark>.card-header .btn-tool:hover,.card-gray-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table th,.card.bg-gray-dark .bootstrap-datetimepicker-widget .table td,.card.bg-gray-dark .bootstrap-datetimepicker-widget .table th{border:none}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.today::before,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active:hover,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active,.card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.card{box-shadow:0 0 1px rgba(0,0,0,.125),0 1px 3px rgba(0,0,0,.2);margin-bottom:1rem}.card.bg-dark .card-header{border-color:#383f45}.card.bg-dark,.card.bg-dark .card-body{color:#fff}.card.maximized-card{height:100%!important;left:0;max-height:100%!important;max-width:100%!important;position:fixed;top:0;width:100%!important;z-index:1040}.card.maximized-card.was-collapsed .card-body{display:block!important}.card.maximized-card .card-body{overflow:auto}.card.maximized-card [data-card-widgett=collapse]{display:none}.card.maximized-card .card-footer,.card.maximized-card .card-header{border-radius:0!important}.card.collapsed-card .card-body,.card.collapsed-card .card-footer{display:none}.card .nav.flex-column:not(.nav-sidebar)>li{border-bottom:1px solid rgba(0,0,0,.125);margin:0}.card .nav.flex-column:not(.nav-sidebar)>li:last-of-type{border-bottom:0}.card.height-control .card-body{max-height:300px;overflow:auto}.card .border-right{border-right:1px solid rgba(0,0,0,.125)}.card .border-left{border-left:1px solid rgba(0,0,0,.125)}.card.card-tabs:not(.card-outline)>.card-header{border-bottom:0}.card.card-tabs:not(.card-outline)>.card-header .nav-item:first-child .nav-link{border-left-color:transparent}.card.card-tabs.card-outline .nav-item{border-bottom:0}.card.card-tabs.card-outline .nav-item:first-child .nav-link{border-left:0;margin-left:0}.card.card-tabs .card-tools{margin:.3rem .5rem}.card.card-tabs:not(.expanding-card).collapsed-card .card-header{border-bottom:0}.card.card-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs{border-bottom:0}.card.card-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs .nav-item{margin-bottom:0}.card.card-tabs.expanding-card .card-header .nav-tabs .nav-item{margin-bottom:-1px}.card.card-outline-tabs{border-top:0}.card.card-outline-tabs .card-header .nav-item:first-child .nav-link{border-left:0;margin-left:0}.card.card-outline-tabs .card-header a{border-top:3px solid transparent}.card.card-outline-tabs .card-header a:hover{border-top:3px solid #dee2e6}.card.card-outline-tabs .card-header a.active:hover{margin-top:0}.card.card-outline-tabs .card-tools{margin:.5rem .5rem .3rem}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header{border-bottom:0}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs{border-bottom:0}.card.card-outline-tabs:not(.expanding-card).collapsed-card .card-header .nav-tabs .nav-item{margin-bottom:0}.card.card-outline-tabs.expanding-card .card-header .nav-tabs .nav-item{margin-bottom:-1px}html.maximized-card{overflow:hidden}.card-body::after,.card-footer::after,.card-header::after{display:block;clear:both;content:""}.card-header{background-color:transparent;border-bottom:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem;position:relative;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.collapsed-card .card-header{border-bottom:0}.card-header>.card-tools{float:right;margin-right:-.625rem}.card-header>.card-tools .input-group,.card-header>.card-tools .nav,.card-header>.card-tools .pagination{margin-bottom:-.3rem;margin-top:-.3rem}.card-header>.card-tools [data-toggle=tooltip]{position:relative}.card-title{float:left;font-size:1.1rem;font-weight:400;margin:0}.card-text{clear:both}.btn-tool{background-color:transparent;color:#adb5bd;font-size:.875rem;margin:-.75rem 0;padding:.25rem .5rem}.btn-group.show .btn-tool,.btn-tool:hover{color:#495057}.btn-tool:focus,.show .btn-tool{box-shadow:none!important}.text-sm .card-title{font-size:1rem}.text-sm .nav-link{padding:.4rem .8rem}.card-body>.table{margin-bottom:0}.card-body>.table>thead>tr>td,.card-body>.table>thead>tr>th{border-top-width:0}.card-body .fc{margin-top:5px}.card-body .full-width-chart{margin:-19px}.card-body.p-0 .full-width-chart{margin:-9px}.chart-legend{padding-left:0;list-style:none;margin:10px 0}@media (max-width:576px){.chart-legend>li{float:left;margin-right:10px}}.card-comments{background-color:#f8f9fa}.card-comments .card-comment{border-bottom:1px solid #e9ecef;padding:8px 0}.card-comments .card-comment::after{display:block;clear:both;content:""}.card-comments .card-comment:last-of-type{border-bottom:0}.card-comments .card-comment:first-of-type{padding-top:0}.card-comments .card-comment img{height:1.875rem;width:1.875rem;float:left}.card-comments .comment-text{color:#78838e;margin-left:40px}.card-comments .username{color:#495057;display:block;font-weight:600}.card-comments .text-muted{font-size:12px;font-weight:400}.todo-list{list-style:none;margin:0;overflow:auto;padding:0}.todo-list>li{border-radius:2px;background-color:#f8f9fa;border-left:2px solid #e9ecef;color:#495057;margin-bottom:2px;padding:10px}.todo-list>li:last-of-type{margin-bottom:0}.todo-list>li>input[type=checkbox]{margin:0 10px 0 5px}.todo-list>li .text{display:inline-block;font-weight:600;margin-left:5px}.todo-list>li .badge{font-size:.7rem;margin-left:10px}.todo-list>li .tools{color:#dc3545;display:none;float:right}.todo-list>li .tools>.fa,.todo-list>li .tools>.fab,.todo-list>li .tools>.fad,.todo-list>li .tools>.fal,.todo-list>li .tools>.far,.todo-list>li .tools>.fas,.todo-list>li .tools>.ion,.todo-list>li .tools>.svg-inline--fa{cursor:pointer;margin-right:5px}.todo-list>li:hover .tools{display:inline-block}.todo-list>li.done{color:#697582}.todo-list>li.done .text{font-weight:500;text-decoration:line-through}.todo-list>li.done .badge{background-color:#adb5bd!important}.todo-list .primary{border-left-color:#007bff}.todo-list .secondary{border-left-color:#6c757d}.todo-list .success{border-left-color:#28a745}.todo-list .info{border-left-color:#17a2b8}.todo-list .warning{border-left-color:#ffc107}.todo-list .danger{border-left-color:#dc3545}.todo-list .light{border-left-color:#f8f9fa}.todo-list .dark{border-left-color:#343a40}.todo-list .lightblue{border-left-color:#3c8dbc}.todo-list .navy{border-left-color:#001f3f}.todo-list .olive{border-left-color:#3d9970}.todo-list .lime{border-left-color:#01ff70}.todo-list .fuchsia{border-left-color:#f012be}.todo-list .maroon{border-left-color:#d81b60}.todo-list .blue{border-left-color:#007bff}.todo-list .indigo{border-left-color:#6610f2}.todo-list .purple{border-left-color:#6f42c1}.todo-list .pink{border-left-color:#e83e8c}.todo-list .red{border-left-color:#dc3545}.todo-list .orange{border-left-color:#fd7e14}.todo-list .yellow{border-left-color:#ffc107}.todo-list .green{border-left-color:#28a745}.todo-list .teal{border-left-color:#20c997}.todo-list .cyan{border-left-color:#17a2b8}.todo-list .white{border-left-color:#fff}.todo-list .gray{border-left-color:#6c757d}.todo-list .gray-dark{border-left-color:#343a40}.todo-list .handle{cursor:move;display:inline-block;margin:0 5px}.card-input{max-width:200px}.card-default .nav-item:first-child .nav-link{border-left:0}.dark-mode .card-primary:not(.card-outline)>.card-header{background-color:#3f6791}.dark-mode .card-primary:not(.card-outline)>.card-header,.dark-mode .card-primary:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-primary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-primary.card-outline{border-top:3px solid #3f6791}.dark-mode .card-primary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-primary.card-outline-tabs>.card-header a.active,.dark-mode .card-primary.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3f6791}.dark-mode .bg-gradient-primary>.card-header .btn-tool,.dark-mode .bg-primary>.card-header .btn-tool,.dark-mode .card-primary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-primary>.card-header .btn-tool:hover,.dark-mode .bg-primary>.card-header .btn-tool:hover,.dark-mode .card-primary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#335375;color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-primary .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-primary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5080b3;color:#fff}.dark-mode .card-secondary:not(.card-outline)>.card-header{background-color:#6c757d}.dark-mode .card-secondary:not(.card-outline)>.card-header,.dark-mode .card-secondary:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-secondary:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-secondary.card-outline{border-top:3px solid #6c757d}.dark-mode .card-secondary.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-secondary.card-outline-tabs>.card-header a.active,.dark-mode .card-secondary.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6c757d}.dark-mode .bg-gradient-secondary>.card-header .btn-tool,.dark-mode .bg-secondary>.card-header .btn-tool,.dark-mode .card-secondary:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-secondary>.card-header .btn-tool:hover,.dark-mode .bg-secondary>.card-header .btn-tool:hover,.dark-mode .card-secondary:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-secondary .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-secondary .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.dark-mode .card-success:not(.card-outline)>.card-header{background-color:#00bc8c}.dark-mode .card-success:not(.card-outline)>.card-header,.dark-mode .card-success:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-success:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-success.card-outline{border-top:3px solid #00bc8c}.dark-mode .card-success.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-success.card-outline-tabs>.card-header a.active,.dark-mode .card-success.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #00bc8c}.dark-mode .bg-gradient-success>.card-header .btn-tool,.dark-mode .bg-success>.card-header .btn-tool,.dark-mode .card-success:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-success>.card-header .btn-tool:hover,.dark-mode .bg-success>.card-header .btn-tool:hover,.dark-mode .card-success:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00936e;color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-success .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-success .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00efb2;color:#fff}.dark-mode .card-info:not(.card-outline)>.card-header{background-color:#3498db}.dark-mode .card-info:not(.card-outline)>.card-header,.dark-mode .card-info:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-info:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-info.card-outline{border-top:3px solid #3498db}.dark-mode .card-info.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-info.card-outline-tabs>.card-header a.active,.dark-mode .card-info.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3498db}.dark-mode .bg-gradient-info>.card-header .btn-tool,.dark-mode .bg-info>.card-header .btn-tool,.dark-mode .card-info:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-info>.card-header .btn-tool:hover,.dark-mode .bg-info>.card-header .btn-tool:hover,.dark-mode .card-info:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#2383c4;color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-info .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-info .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5faee3;color:#fff}.dark-mode .card-warning:not(.card-outline)>.card-header{background-color:#f39c12}.dark-mode .card-warning:not(.card-outline)>.card-header,.dark-mode .card-warning:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-warning:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-warning.card-outline{border-top:3px solid #f39c12}.dark-mode .card-warning.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-warning.card-outline-tabs>.card-header a.active,.dark-mode .card-warning.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f39c12}.dark-mode .bg-gradient-warning>.card-header .btn-tool,.dark-mode .bg-warning>.card-header .btn-tool,.dark-mode .card-warning:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-warning>.card-header .btn-tool:hover,.dark-mode .bg-warning>.card-header .btn-tool:hover,.dark-mode .card-warning:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#d2850b;color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-warning .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-warning .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f5b043;color:#1f2d3d}.dark-mode .card-danger:not(.card-outline)>.card-header{background-color:#e74c3c}.dark-mode .card-danger:not(.card-outline)>.card-header,.dark-mode .card-danger:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-danger:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-danger.card-outline{border-top:3px solid #e74c3c}.dark-mode .card-danger.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-danger.card-outline-tabs>.card-header a.active,.dark-mode .card-danger.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #e74c3c}.dark-mode .bg-danger>.card-header .btn-tool,.dark-mode .bg-gradient-danger>.card-header .btn-tool,.dark-mode .card-danger:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-danger>.card-header .btn-tool:hover,.dark-mode .bg-gradient-danger>.card-header .btn-tool:hover,.dark-mode .card-danger:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#df2e1b;color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-danger .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-danger .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed7669;color:#fff}.dark-mode .card-light:not(.card-outline)>.card-header{background-color:#f8f9fa}.dark-mode .card-light:not(.card-outline)>.card-header,.dark-mode .card-light:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-light:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-light.card-outline{border-top:3px solid #f8f9fa}.dark-mode .card-light.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-light.card-outline-tabs>.card-header a.active,.dark-mode .card-light.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f8f9fa}.dark-mode .bg-gradient-light>.card-header .btn-tool,.dark-mode .bg-light>.card-header .btn-tool,.dark-mode .card-light:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-light>.card-header .btn-tool:hover,.dark-mode .bg-light>.card-header .btn-tool:hover,.dark-mode .card-light:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e0e5e9;color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-light .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-light .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.dark-mode .card-dark:not(.card-outline)>.card-header{background-color:#343a40}.dark-mode .card-dark:not(.card-outline)>.card-header,.dark-mode .card-dark:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-dark.card-outline{border-top:3px solid #343a40}.dark-mode .card-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-dark.card-outline-tabs>.card-header a.active,.dark-mode .card-dark.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #343a40}.dark-mode .bg-dark>.card-header .btn-tool,.dark-mode .bg-gradient-dark>.card-header .btn-tool,.dark-mode .card-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-dark>.card-header .btn-tool:hover,.dark-mode .bg-gradient-dark>.card-header .btn-tool:hover,.dark-mode .card-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-dark .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.dark-mode .card-lightblue:not(.card-outline)>.card-header{background-color:#86bad8}.dark-mode .card-lightblue:not(.card-outline)>.card-header,.dark-mode .card-lightblue:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-lightblue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-lightblue.card-outline{border-top:3px solid #86bad8}.dark-mode .card-lightblue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-lightblue.card-outline-tabs>.card-header a.active,.dark-mode .card-lightblue.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #86bad8}.dark-mode .bg-gradient-lightblue>.card-header .btn-tool,.dark-mode .bg-lightblue>.card-header .btn-tool,.dark-mode .card-lightblue:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-lightblue>.card-header .btn-tool:hover,.dark-mode .bg-lightblue>.card-header .btn-tool:hover,.dark-mode .card-lightblue:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#67a8ce;color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-lightblue .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-lightblue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#acd0e5;color:#1f2d3d}.dark-mode .card-navy:not(.card-outline)>.card-header{background-color:#002c59}.dark-mode .card-navy:not(.card-outline)>.card-header,.dark-mode .card-navy:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-navy:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-navy.card-outline{border-top:3px solid #002c59}.dark-mode .card-navy.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-navy.card-outline-tabs>.card-header a.active,.dark-mode .card-navy.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #002c59}.dark-mode .bg-gradient-navy>.card-header .btn-tool,.dark-mode .bg-navy>.card-header .btn-tool,.dark-mode .card-navy:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-navy>.card-header .btn-tool:hover,.dark-mode .bg-navy>.card-header .btn-tool:hover,.dark-mode .card-navy:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#001730;color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-navy .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-navy .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00458c;color:#fff}.dark-mode .card-olive:not(.card-outline)>.card-header{background-color:#74c8a3}.dark-mode .card-olive:not(.card-outline)>.card-header,.dark-mode .card-olive:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-olive:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-olive.card-outline{border-top:3px solid #74c8a3}.dark-mode .card-olive.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-olive.card-outline-tabs>.card-header a.active,.dark-mode .card-olive.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #74c8a3}.dark-mode .bg-gradient-olive>.card-header .btn-tool,.dark-mode .bg-olive>.card-header .btn-tool,.dark-mode .card-olive:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-olive>.card-header .btn-tool:hover,.dark-mode .bg-olive>.card-header .btn-tool:hover,.dark-mode .card-olive:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#57bc8f;color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-olive .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-olive .bootstrap-datetimepicker-widget table td.active:hover{background-color:#99d6bb;color:#1f2d3d}.dark-mode .card-lime:not(.card-outline)>.card-header{background-color:#67ffa9}.dark-mode .card-lime:not(.card-outline)>.card-header,.dark-mode .card-lime:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-lime:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-lime.card-outline{border-top:3px solid #67ffa9}.dark-mode .card-lime.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-lime.card-outline-tabs>.card-header a.active,.dark-mode .card-lime.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #67ffa9}.dark-mode .bg-gradient-lime>.card-header .btn-tool,.dark-mode .bg-lime>.card-header .btn-tool,.dark-mode .card-lime:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-lime>.card-header .btn-tool:hover,.dark-mode .bg-lime>.card-header .btn-tool:hover,.dark-mode .card-lime:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#3eff92;color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-lime .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-lime .bootstrap-datetimepicker-widget table td.active:hover{background-color:#9affc6;color:#1f2d3d}.dark-mode .card-fuchsia:not(.card-outline)>.card-header{background-color:#f672d8}.dark-mode .card-fuchsia:not(.card-outline)>.card-header,.dark-mode .card-fuchsia:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-fuchsia:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-fuchsia.card-outline{border-top:3px solid #f672d8}.dark-mode .card-fuchsia.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-fuchsia.card-outline-tabs>.card-header a.active,.dark-mode .card-fuchsia.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f672d8}.dark-mode .bg-fuchsia>.card-header .btn-tool,.dark-mode .bg-gradient-fuchsia>.card-header .btn-tool,.dark-mode .card-fuchsia:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-fuchsia>.card-header .btn-tool:hover,.dark-mode .bg-gradient-fuchsia>.card-header .btn-tool:hover,.dark-mode .card-fuchsia:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#f44cce;color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-fuchsia .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-fuchsia .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f9a2e5;color:#1f2d3d}.dark-mode .card-maroon:not(.card-outline)>.card-header{background-color:#ed6c9b}.dark-mode .card-maroon:not(.card-outline)>.card-header,.dark-mode .card-maroon:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-maroon:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-maroon.card-outline{border-top:3px solid #ed6c9b}.dark-mode .card-maroon.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-maroon.card-outline-tabs>.card-header a.active,.dark-mode .card-maroon.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #ed6c9b}.dark-mode .bg-gradient-maroon>.card-header .btn-tool,.dark-mode .bg-maroon>.card-header .btn-tool,.dark-mode .card-maroon:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-maroon>.card-header .btn-tool:hover,.dark-mode .bg-maroon>.card-header .btn-tool:hover,.dark-mode .card-maroon:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e84883;color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-maroon .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-maroon .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f29aba;color:#1f2d3d}.dark-mode .card-blue:not(.card-outline)>.card-header{background-color:#3f6791}.dark-mode .card-blue:not(.card-outline)>.card-header,.dark-mode .card-blue:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-blue:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-blue.card-outline{border-top:3px solid #3f6791}.dark-mode .card-blue.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-blue.card-outline-tabs>.card-header a.active,.dark-mode .card-blue.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3f6791}.dark-mode .bg-blue>.card-header .btn-tool,.dark-mode .bg-gradient-blue>.card-header .btn-tool,.dark-mode .card-blue:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-blue>.card-header .btn-tool:hover,.dark-mode .bg-gradient-blue>.card-header .btn-tool:hover,.dark-mode .card-blue:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#335375;color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-blue .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-blue .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5080b3;color:#fff}.dark-mode .card-indigo:not(.card-outline)>.card-header{background-color:#6610f2}.dark-mode .card-indigo:not(.card-outline)>.card-header,.dark-mode .card-indigo:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-indigo:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-indigo.card-outline{border-top:3px solid #6610f2}.dark-mode .card-indigo.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-indigo.card-outline-tabs>.card-header a.active,.dark-mode .card-indigo.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6610f2}.dark-mode .bg-gradient-indigo>.card-header .btn-tool,.dark-mode .bg-indigo>.card-header .btn-tool,.dark-mode .card-indigo:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-indigo>.card-header .btn-tool:hover,.dark-mode .bg-indigo>.card-header .btn-tool:hover,.dark-mode .card-indigo:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#550bce;color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-indigo .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-indigo .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8540f5;color:#fff}.dark-mode .card-purple:not(.card-outline)>.card-header{background-color:#6f42c1}.dark-mode .card-purple:not(.card-outline)>.card-header,.dark-mode .card-purple:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-purple:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-purple.card-outline{border-top:3px solid #6f42c1}.dark-mode .card-purple.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-purple.card-outline-tabs>.card-header a.active,.dark-mode .card-purple.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6f42c1}.dark-mode .bg-gradient-purple>.card-header .btn-tool,.dark-mode .bg-purple>.card-header .btn-tool,.dark-mode .card-purple:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-purple>.card-header .btn-tool:hover,.dark-mode .bg-purple>.card-header .btn-tool:hover,.dark-mode .card-purple:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#5d36a4;color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-purple .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-purple .bootstrap-datetimepicker-widget table td.active:hover{background-color:#8c68ce;color:#fff}.dark-mode .card-pink:not(.card-outline)>.card-header{background-color:#e83e8c}.dark-mode .card-pink:not(.card-outline)>.card-header,.dark-mode .card-pink:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-pink:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-pink.card-outline{border-top:3px solid #e83e8c}.dark-mode .card-pink.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-pink.card-outline-tabs>.card-header a.active,.dark-mode .card-pink.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #e83e8c}.dark-mode .bg-gradient-pink>.card-header .btn-tool,.dark-mode .bg-pink>.card-header .btn-tool,.dark-mode .card-pink:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-pink>.card-header .btn-tool:hover,.dark-mode .bg-pink>.card-header .btn-tool:hover,.dark-mode .card-pink:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e21b76;color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-pink .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-pink .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed6ca7;color:#fff}.dark-mode .card-red:not(.card-outline)>.card-header{background-color:#e74c3c}.dark-mode .card-red:not(.card-outline)>.card-header,.dark-mode .card-red:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-red:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-red.card-outline{border-top:3px solid #e74c3c}.dark-mode .card-red.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-red.card-outline-tabs>.card-header a.active,.dark-mode .card-red.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #e74c3c}.dark-mode .bg-gradient-red>.card-header .btn-tool,.dark-mode .bg-red>.card-header .btn-tool,.dark-mode .card-red:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-red>.card-header .btn-tool:hover,.dark-mode .bg-red>.card-header .btn-tool:hover,.dark-mode .card-red:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#df2e1b;color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-red .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-red .bootstrap-datetimepicker-widget table td.active:hover{background-color:#ed7669;color:#fff}.dark-mode .card-orange:not(.card-outline)>.card-header{background-color:#fd7e14}.dark-mode .card-orange:not(.card-outline)>.card-header,.dark-mode .card-orange:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-orange:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-orange.card-outline{border-top:3px solid #fd7e14}.dark-mode .card-orange.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-orange.card-outline-tabs>.card-header a.active,.dark-mode .card-orange.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #fd7e14}.dark-mode .bg-gradient-orange>.card-header .btn-tool,.dark-mode .bg-orange>.card-header .btn-tool,.dark-mode .card-orange:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-orange>.card-header .btn-tool:hover,.dark-mode .bg-orange>.card-header .btn-tool:hover,.dark-mode .card-orange:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#e66a02;color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-orange .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-orange .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fd9a47;color:#1f2d3d}.dark-mode .card-yellow:not(.card-outline)>.card-header{background-color:#f39c12}.dark-mode .card-yellow:not(.card-outline)>.card-header,.dark-mode .card-yellow:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-yellow:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-yellow.card-outline{border-top:3px solid #f39c12}.dark-mode .card-yellow.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-yellow.card-outline-tabs>.card-header a.active,.dark-mode .card-yellow.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #f39c12}.dark-mode .bg-gradient-yellow>.card-header .btn-tool,.dark-mode .bg-yellow>.card-header .btn-tool,.dark-mode .card-yellow:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-yellow>.card-header .btn-tool:hover,.dark-mode .bg-yellow>.card-header .btn-tool:hover,.dark-mode .card-yellow:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#d2850b;color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-yellow .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-yellow .bootstrap-datetimepicker-widget table td.active:hover{background-color:#f5b043;color:#1f2d3d}.dark-mode .card-green:not(.card-outline)>.card-header{background-color:#00bc8c}.dark-mode .card-green:not(.card-outline)>.card-header,.dark-mode .card-green:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-green:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-green.card-outline{border-top:3px solid #00bc8c}.dark-mode .card-green.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-green.card-outline-tabs>.card-header a.active,.dark-mode .card-green.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #00bc8c}.dark-mode .bg-gradient-green>.card-header .btn-tool,.dark-mode .bg-green>.card-header .btn-tool,.dark-mode .card-green:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-green>.card-header .btn-tool:hover,.dark-mode .bg-green>.card-header .btn-tool:hover,.dark-mode .card-green:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#00936e;color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-green .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-green .bootstrap-datetimepicker-widget table td.active:hover{background-color:#00efb2;color:#fff}.dark-mode .card-teal:not(.card-outline)>.card-header{background-color:#20c997}.dark-mode .card-teal:not(.card-outline)>.card-header,.dark-mode .card-teal:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-teal:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-teal.card-outline{border-top:3px solid #20c997}.dark-mode .card-teal.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-teal.card-outline-tabs>.card-header a.active,.dark-mode .card-teal.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #20c997}.dark-mode .bg-gradient-teal>.card-header .btn-tool,.dark-mode .bg-teal>.card-header .btn-tool,.dark-mode .card-teal:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-teal>.card-header .btn-tool:hover,.dark-mode .bg-teal>.card-header .btn-tool:hover,.dark-mode .card-teal:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#1aa67d;color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-teal .bootstrap-datetimepicker-widget table td.active:hover{background-color:#3ce0af;color:#fff}.dark-mode .card-cyan:not(.card-outline)>.card-header{background-color:#3498db}.dark-mode .card-cyan:not(.card-outline)>.card-header,.dark-mode .card-cyan:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-cyan:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-cyan.card-outline{border-top:3px solid #3498db}.dark-mode .card-cyan.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-cyan.card-outline-tabs>.card-header a.active,.dark-mode .card-cyan.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #3498db}.dark-mode .bg-cyan>.card-header .btn-tool,.dark-mode .bg-gradient-cyan>.card-header .btn-tool,.dark-mode .card-cyan:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-cyan>.card-header .btn-tool:hover,.dark-mode .bg-gradient-cyan>.card-header .btn-tool:hover,.dark-mode .card-cyan:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#2383c4;color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-cyan .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-cyan .bootstrap-datetimepicker-widget table td.active:hover{background-color:#5faee3;color:#fff}.dark-mode .card-white:not(.card-outline)>.card-header{background-color:#fff}.dark-mode .card-white:not(.card-outline)>.card-header,.dark-mode .card-white:not(.card-outline)>.card-header a{color:#1f2d3d}.dark-mode .card-white:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-white.card-outline{border-top:3px solid #fff}.dark-mode .card-white.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-white.card-outline-tabs>.card-header a.active,.dark-mode .card-white.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #fff}.dark-mode .bg-gradient-white>.card-header .btn-tool,.dark-mode .bg-white>.card-header .btn-tool,.dark-mode .card-white:not(.card-outline)>.card-header .btn-tool{color:rgba(31,45,61,.8)}.dark-mode .bg-gradient-white>.card-header .btn-tool:hover,.dark-mode .bg-white>.card-header .btn-tool:hover,.dark-mode .card-white:not(.card-outline)>.card-header .btn-tool:hover{color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#ebebeb;color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#1f2d3d}.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-white .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-white .bootstrap-datetimepicker-widget table td.active:hover{background-color:#fff;color:#1f2d3d}.dark-mode .card-gray:not(.card-outline)>.card-header{background-color:#6c757d}.dark-mode .card-gray:not(.card-outline)>.card-header,.dark-mode .card-gray:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-gray:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-gray.card-outline{border-top:3px solid #6c757d}.dark-mode .card-gray.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-gray.card-outline-tabs>.card-header a.active,.dark-mode .card-gray.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #6c757d}.dark-mode .bg-gradient-gray>.card-header .btn-tool,.dark-mode .bg-gray>.card-header .btn-tool,.dark-mode .card-gray:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-gray>.card-header .btn-tool:hover,.dark-mode .bg-gray>.card-header .btn-tool:hover,.dark-mode .card-gray:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#596167;color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-gray .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gray .bootstrap-datetimepicker-widget table td.active:hover{background-color:#868e96;color:#fff}.dark-mode .card-gray-dark:not(.card-outline)>.card-header{background-color:#343a40}.dark-mode .card-gray-dark:not(.card-outline)>.card-header,.dark-mode .card-gray-dark:not(.card-outline)>.card-header a{color:#fff}.dark-mode .card-gray-dark:not(.card-outline)>.card-header a.active{color:#1f2d3d}.dark-mode .card-gray-dark.card-outline{border-top:3px solid #343a40}.dark-mode .card-gray-dark.card-outline-tabs>.card-header a:hover{border-top:3px solid #dee2e6}.dark-mode .card-gray-dark.card-outline-tabs>.card-header a.active,.dark-mode .card-gray-dark.card-outline-tabs>.card-header a.active:hover{border-top:3px solid #343a40}.dark-mode .bg-gradient-gray-dark>.card-header .btn-tool,.dark-mode .bg-gray-dark>.card-header .btn-tool,.dark-mode .card-gray-dark:not(.card-outline)>.card-header .btn-tool{color:rgba(255,255,255,.8)}.dark-mode .bg-gradient-gray-dark>.card-header .btn-tool:hover,.dark-mode .bg-gray-dark>.card-header .btn-tool:hover,.dark-mode .card-gray-dark:not(.card-outline)>.card-header .btn-tool:hover{color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget .table th,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget .table td,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget .table th{border:none}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.day:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.hour:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.minute:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.second:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background-color:#222629;color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.today::before,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.today::before{border-bottom-color:#fff}.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gradient-gray-dark .bootstrap-datetimepicker-widget table td.active:hover,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active,.dark-mode .card.bg-gray-dark .bootstrap-datetimepicker-widget table td.active:hover{background-color:#4b545c;color:#fff}.dark-mode .card{background-color:#343a40;color:#fff}.dark-mode .card .card{background-color:#3f474e;color:#fff}.dark-mode .card .nav.flex-column>li{border-bottom-color:#6c757d}.dark-mode .card .card-footer{background-color:rgba(0,0,0,.1)}.dark-mode .card.card-outline-tabs{border-top:0}.dark-mode .card.card-outline-tabs .card-header a:hover{border-top-color:#6c757d;border-bottom-color:transparent}.dark-mode .card:not(.card-outline)>.card-header a.active{color:#fff}.dark-mode .card-comments{background-color:#373d44}.dark-mode .card-comments .username{color:#ced4da}.dark-mode .card-comments .card-comment{border-bottom-color:#454d55}.dark-mode .todo-list>li{background-color:#3f474e;border-color:#454d55;color:#fff}.dark-mode .todo-list .primary{border-left-color:#3f6791}.dark-mode .todo-list .secondary{border-left-color:#6c757d}.dark-mode .todo-list .success{border-left-color:#00bc8c}.dark-mode .todo-list .info{border-left-color:#3498db}.dark-mode .todo-list .warning{border-left-color:#f39c12}.dark-mode .todo-list .danger{border-left-color:#e74c3c}.dark-mode .todo-list .light{border-left-color:#f8f9fa}.dark-mode .todo-list .dark{border-left-color:#343a40}.dark-mode .todo-list .lightblue{border-left-color:#86bad8}.dark-mode .todo-list .navy{border-left-color:#002c59}.dark-mode .todo-list .olive{border-left-color:#74c8a3}.dark-mode .todo-list .lime{border-left-color:#67ffa9}.dark-mode .todo-list .fuchsia{border-left-color:#f672d8}.dark-mode .todo-list .maroon{border-left-color:#ed6c9b}.dark-mode .todo-list .blue{border-left-color:#3f6791}.dark-mode .todo-list .indigo{border-left-color:#6610f2}.dark-mode .todo-list .purple{border-left-color:#6f42c1}.dark-mode .todo-list .pink{border-left-color:#e83e8c}.dark-mode .todo-list .red{border-left-color:#e74c3c}.dark-mode .todo-list .orange{border-left-color:#fd7e14}.dark-mode .todo-list .yellow{border-left-color:#f39c12}.dark-mode .todo-list .green{border-left-color:#00bc8c}.dark-mode .todo-list .teal{border-left-color:#20c997}.dark-mode .todo-list .cyan{border-left-color:#3498db}.dark-mode .todo-list .white{border-left-color:#fff}.dark-mode .todo-list .gray{border-left-color:#6c757d}.dark-mode .todo-list .gray-dark{border-left-color:#343a40}.modal-dialog .overlay{display:-ms-flexbox;display:flex;position:absolute;left:0;top:0;bottom:0;right:0;margin:-1px;z-index:1052;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;background-color:rgba(0,0,0,.7);color:#666f76;border-radius:.3rem}.modal-content.bg-warning .modal-footer,.modal-content.bg-warning .modal-header{border-color:#343a40}.modal-content.bg-danger .close,.modal-content.bg-info .close,.modal-content.bg-primary .close,.modal-content.bg-secondary .close,.modal-content.bg-success .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .modal-footer,.dark-mode .modal-header{border-color:#6c757d}.dark-mode .modal-content{background-color:#343a40}.dark-mode .modal-content.bg-warning .modal-footer,.dark-mode .modal-content.bg-warning .modal-header{border-color:#6c757d}.dark-mode .modal-content.bg-warning .close{color:#343a40!important;text-shadow:0 1px 0 #495057!important}.dark-mode .modal-content.bg-danger .modal-footer,.dark-mode .modal-content.bg-danger .modal-header,.dark-mode .modal-content.bg-info .modal-footer,.dark-mode .modal-content.bg-info .modal-header,.dark-mode .modal-content.bg-primary .modal-footer,.dark-mode .modal-content.bg-primary .modal-header,.dark-mode .modal-content.bg-secondary .modal-footer,.dark-mode .modal-content.bg-secondary .modal-header,.dark-mode .modal-content.bg-success .modal-footer,.dark-mode .modal-content.bg-success .modal-header{border-color:#fff}.toasts-top-right{position:absolute;right:0;top:0;z-index:1040}.toasts-top-right.fixed{position:fixed}.toasts-top-left{left:0;position:absolute;top:0;z-index:1040}.toasts-top-left.fixed{position:fixed}.toasts-bottom-right{bottom:0;position:absolute;right:0;z-index:1040}.toasts-bottom-right.fixed{position:fixed}.toasts-bottom-left{bottom:0;left:0;position:absolute;z-index:1040}.toasts-bottom-left.fixed{position:fixed}.dark-mode .toast{background-color:rgba(52,58,64,.85);color:#fff}.dark-mode .toast .toast-header{background-color:rgba(52,58,64,.7);color:#f8f9fa}.dark-mode .toast.bg-primary{background-color:rgba(63,103,145,.9)!important}.dark-mode .toast.bg-primary .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-primary .toast-header{background-color:rgba(63,103,145,.85);color:#fff}.dark-mode .toast.bg-secondary{background-color:rgba(108,117,125,.9)!important}.dark-mode .toast.bg-secondary .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-secondary .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.dark-mode .toast.bg-success{background-color:rgba(0,188,140,.9)!important}.dark-mode .toast.bg-success .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-success .toast-header{background-color:rgba(0,188,140,.85);color:#fff}.dark-mode .toast.bg-info{background-color:rgba(52,152,219,.9)!important}.dark-mode .toast.bg-info .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-info .toast-header{background-color:rgba(52,152,219,.85);color:#fff}.dark-mode .toast.bg-warning{background-color:rgba(243,156,18,.9)!important}.dark-mode .toast.bg-warning .toast-header{background-color:rgba(243,156,18,.85);color:#1f2d3d}.dark-mode .toast.bg-danger{background-color:rgba(231,76,60,.9)!important}.dark-mode .toast.bg-danger .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-danger .toast-header{background-color:rgba(231,76,60,.85);color:#fff}.dark-mode .toast.bg-light{background-color:rgba(248,249,250,.9)!important}.dark-mode .toast.bg-light .toast-header{background-color:rgba(248,249,250,.85);color:#1f2d3d}.dark-mode .toast.bg-dark{background-color:rgba(52,58,64,.9)!important}.dark-mode .toast.bg-dark .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.dark-mode .toast.bg-lightblue{background-color:rgba(134,186,216,.9)!important}.dark-mode .toast.bg-lightblue .toast-header{background-color:rgba(134,186,216,.85);color:#1f2d3d}.dark-mode .toast.bg-navy{background-color:rgba(0,44,89,.9)!important}.dark-mode .toast.bg-navy .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-navy .toast-header{background-color:rgba(0,44,89,.85);color:#fff}.dark-mode .toast.bg-olive{background-color:rgba(116,200,163,.9)!important}.dark-mode .toast.bg-olive .toast-header{background-color:rgba(116,200,163,.85);color:#1f2d3d}.dark-mode .toast.bg-lime{background-color:rgba(103,255,169,.9)!important}.dark-mode .toast.bg-lime .toast-header{background-color:rgba(103,255,169,.85);color:#1f2d3d}.dark-mode .toast.bg-fuchsia{background-color:rgba(246,114,216,.9)!important}.dark-mode .toast.bg-fuchsia .toast-header{background-color:rgba(246,114,216,.85);color:#1f2d3d}.dark-mode .toast.bg-maroon{background-color:rgba(237,108,155,.9)!important}.dark-mode .toast.bg-maroon .toast-header{background-color:rgba(237,108,155,.85);color:#1f2d3d}.dark-mode .toast.bg-blue{background-color:rgba(63,103,145,.9)!important}.dark-mode .toast.bg-blue .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-blue .toast-header{background-color:rgba(63,103,145,.85);color:#fff}.dark-mode .toast.bg-indigo{background-color:rgba(102,16,242,.9)!important}.dark-mode .toast.bg-indigo .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-indigo .toast-header{background-color:rgba(102,16,242,.85);color:#fff}.dark-mode .toast.bg-purple{background-color:rgba(111,66,193,.9)!important}.dark-mode .toast.bg-purple .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-purple .toast-header{background-color:rgba(111,66,193,.85);color:#fff}.dark-mode .toast.bg-pink{background-color:rgba(232,62,140,.9)!important}.dark-mode .toast.bg-pink .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-pink .toast-header{background-color:rgba(232,62,140,.85);color:#fff}.dark-mode .toast.bg-red{background-color:rgba(231,76,60,.9)!important}.dark-mode .toast.bg-red .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-red .toast-header{background-color:rgba(231,76,60,.85);color:#fff}.dark-mode .toast.bg-orange{background-color:rgba(253,126,20,.9)!important}.dark-mode .toast.bg-orange .toast-header{background-color:rgba(253,126,20,.85);color:#1f2d3d}.dark-mode .toast.bg-yellow{background-color:rgba(243,156,18,.9)!important}.dark-mode .toast.bg-yellow .toast-header{background-color:rgba(243,156,18,.85);color:#1f2d3d}.dark-mode .toast.bg-green{background-color:rgba(0,188,140,.9)!important}.dark-mode .toast.bg-green .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-green .toast-header{background-color:rgba(0,188,140,.85);color:#fff}.dark-mode .toast.bg-teal{background-color:rgba(32,201,151,.9)!important}.dark-mode .toast.bg-teal .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-teal .toast-header{background-color:rgba(32,201,151,.85);color:#fff}.dark-mode .toast.bg-cyan{background-color:rgba(52,152,219,.9)!important}.dark-mode .toast.bg-cyan .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-cyan .toast-header{background-color:rgba(52,152,219,.85);color:#fff}.dark-mode .toast.bg-white{background-color:rgba(255,255,255,.9)!important}.dark-mode .toast.bg-white .toast-header{background-color:rgba(255,255,255,.85);color:#1f2d3d}.dark-mode .toast.bg-gray{background-color:rgba(108,117,125,.9)!important}.dark-mode .toast.bg-gray .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-gray .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.dark-mode .toast.bg-gray-dark{background-color:rgba(52,58,64,.9)!important}.dark-mode .toast.bg-gray-dark .close{color:#fff;text-shadow:0 1px 0 #000}.dark-mode .toast.bg-gray-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.toast.bg-primary{background-color:rgba(0,123,255,.9)!important}.toast.bg-primary .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-primary .toast-header{background-color:rgba(0,123,255,.85);color:#fff}.toast.bg-secondary{background-color:rgba(108,117,125,.9)!important}.toast.bg-secondary .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-secondary .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.toast.bg-success{background-color:rgba(40,167,69,.9)!important}.toast.bg-success .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-success .toast-header{background-color:rgba(40,167,69,.85);color:#fff}.toast.bg-info{background-color:rgba(23,162,184,.9)!important}.toast.bg-info .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-info .toast-header{background-color:rgba(23,162,184,.85);color:#fff}.toast.bg-warning{background-color:rgba(255,193,7,.9)!important}.toast.bg-warning .toast-header{background-color:rgba(255,193,7,.85);color:#1f2d3d}.toast.bg-danger{background-color:rgba(220,53,69,.9)!important}.toast.bg-danger .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-danger .toast-header{background-color:rgba(220,53,69,.85);color:#fff}.toast.bg-light{background-color:rgba(248,249,250,.9)!important}.toast.bg-light .toast-header{background-color:rgba(248,249,250,.85);color:#1f2d3d}.toast.bg-dark{background-color:rgba(52,58,64,.9)!important}.toast.bg-dark .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.toast.bg-lightblue{background-color:rgba(60,141,188,.9)!important}.toast.bg-lightblue .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-lightblue .toast-header{background-color:rgba(60,141,188,.85);color:#fff}.toast.bg-navy{background-color:rgba(0,31,63,.9)!important}.toast.bg-navy .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-navy .toast-header{background-color:rgba(0,31,63,.85);color:#fff}.toast.bg-olive{background-color:rgba(61,153,112,.9)!important}.toast.bg-olive .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-olive .toast-header{background-color:rgba(61,153,112,.85);color:#fff}.toast.bg-lime{background-color:rgba(1,255,112,.9)!important}.toast.bg-lime .toast-header{background-color:rgba(1,255,112,.85);color:#1f2d3d}.toast.bg-fuchsia{background-color:rgba(240,18,190,.9)!important}.toast.bg-fuchsia .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-fuchsia .toast-header{background-color:rgba(240,18,190,.85);color:#fff}.toast.bg-maroon{background-color:rgba(216,27,96,.9)!important}.toast.bg-maroon .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-maroon .toast-header{background-color:rgba(216,27,96,.85);color:#fff}.toast.bg-blue{background-color:rgba(0,123,255,.9)!important}.toast.bg-blue .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-blue .toast-header{background-color:rgba(0,123,255,.85);color:#fff}.toast.bg-indigo{background-color:rgba(102,16,242,.9)!important}.toast.bg-indigo .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-indigo .toast-header{background-color:rgba(102,16,242,.85);color:#fff}.toast.bg-purple{background-color:rgba(111,66,193,.9)!important}.toast.bg-purple .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-purple .toast-header{background-color:rgba(111,66,193,.85);color:#fff}.toast.bg-pink{background-color:rgba(232,62,140,.9)!important}.toast.bg-pink .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-pink .toast-header{background-color:rgba(232,62,140,.85);color:#fff}.toast.bg-red{background-color:rgba(220,53,69,.9)!important}.toast.bg-red .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-red .toast-header{background-color:rgba(220,53,69,.85);color:#fff}.toast.bg-orange{background-color:rgba(253,126,20,.9)!important}.toast.bg-orange .toast-header{background-color:rgba(253,126,20,.85);color:#1f2d3d}.toast.bg-yellow{background-color:rgba(255,193,7,.9)!important}.toast.bg-yellow .toast-header{background-color:rgba(255,193,7,.85);color:#1f2d3d}.toast.bg-green{background-color:rgba(40,167,69,.9)!important}.toast.bg-green .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-green .toast-header{background-color:rgba(40,167,69,.85);color:#fff}.toast.bg-teal{background-color:rgba(32,201,151,.9)!important}.toast.bg-teal .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-teal .toast-header{background-color:rgba(32,201,151,.85);color:#fff}.toast.bg-cyan{background-color:rgba(23,162,184,.9)!important}.toast.bg-cyan .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-cyan .toast-header{background-color:rgba(23,162,184,.85);color:#fff}.toast.bg-white{background-color:rgba(255,255,255,.9)!important}.toast.bg-white .toast-header{background-color:rgba(255,255,255,.85);color:#1f2d3d}.toast.bg-gray{background-color:rgba(108,117,125,.9)!important}.toast.bg-gray .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-gray .toast-header{background-color:rgba(108,117,125,.85);color:#fff}.toast.bg-gray-dark{background-color:rgba(52,58,64,.9)!important}.toast.bg-gray-dark .close{color:#fff;text-shadow:0 1px 0 #000}.toast.bg-gray-dark .toast-header{background-color:rgba(52,58,64,.85);color:#fff}.btn.disabled,.btn:disabled{cursor:not-allowed}.btn.btn-flat{border-radius:0;border-width:1px;box-shadow:none}.btn.btn-file{overflow:hidden;position:relative}.btn.btn-file>input[type=file]{background-color:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.text-sm .btn{font-size:.875rem!important}.btn-default{background-color:#f8f9fa;border-color:#ddd;color:#444}.btn-default.hover,.btn-default:active,.btn-default:hover{background-color:#e9ecef;color:#2b2b2b}.btn-default.disabled,.btn-default:disabled{color:#444;background-color:#f8f9fa}.btn-outline-light{color:#bdc6d0;border-color:#bdc6d0}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#bdc6d0;border-color:#bdc6d0}.btn-app{border-radius:3px;background-color:#f8f9fa;border:1px solid #ddd;color:#6c757d;font-size:12px;height:60px;margin:0 0 10px 10px;min-width:80px;padding:15px 5px;position:relative;text-align:center}.btn-app>.fa,.btn-app>.fab,.btn-app>.fad,.btn-app>.fal,.btn-app>.far,.btn-app>.fas,.btn-app>.ion,.btn-app>.svg-inline--fa{display:block;font-size:20px}.btn-app>.svg-inline--fa{margin:0 auto}.btn-app:hover{background-color:#f8f9fa;border-color:#aaa;color:#444}.btn-app:active,.btn-app:focus{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-app>.badge{font-size:10px;font-weight:400;position:absolute;right:-10px;top:-3px}.btn-xs{padding:.125rem .25rem;font-size:.75rem;line-height:1.5;border-radius:.15rem}.dark-mode .btn-app,.dark-mode .btn-default{background-color:#3a4047;color:#fff;border-color:#6c757d}.dark-mode .btn-app:focus,.dark-mode .btn-app:hover,.dark-mode .btn-default:focus,.dark-mode .btn-default:hover{background-color:#3f474e;color:#dee2e6;border-color:#727b84}.dark-mode .btn-light{background-color:#454d55;color:#fff;border-color:#6c757d}.dark-mode .btn-light:focus,.dark-mode .btn-light:hover{background-color:#4b545c;color:#dee2e6;border-color:#78828a}.dark-mode .btn-primary{color:#fff;background-color:#3f6791;border-color:#3f6791;box-shadow:none}.dark-mode .btn-primary:hover{color:#fff;background-color:#335476;border-color:#304e6d}.dark-mode .btn-primary.focus,.dark-mode .btn-primary:focus{color:#fff;background-color:#335476;border-color:#304e6d;box-shadow:0 0 0 0 rgba(92,126,162,.5)}.dark-mode .btn-primary.disabled,.dark-mode .btn-primary:disabled{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-primary:not(:disabled):not(.disabled).active,.dark-mode .btn-primary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-primary.dropdown-toggle{color:#fff;background-color:#304e6d;border-color:#2c4765}.dark-mode .btn-primary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-primary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(92,126,162,.5)}.dark-mode .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d;box-shadow:none}.dark-mode .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.dark-mode .btn-secondary.focus,.dark-mode .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 0 rgba(130,138,145,.5)}.dark-mode .btn-secondary.disabled,.dark-mode .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-secondary:not(:disabled):not(.disabled).active,.dark-mode .btn-secondary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.dark-mode .btn-secondary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(130,138,145,.5)}.dark-mode .btn-success{color:#fff;background-color:#00bc8c;border-color:#00bc8c;box-shadow:none}.dark-mode .btn-success:hover{color:#fff;background-color:#009670;border-color:#008966}.dark-mode .btn-success.focus,.dark-mode .btn-success:focus{color:#fff;background-color:#009670;border-color:#008966;box-shadow:0 0 0 0 rgba(38,198,157,.5)}.dark-mode .btn-success.disabled,.dark-mode .btn-success:disabled{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-success:not(:disabled):not(.disabled).active,.dark-mode .btn-success:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-success.dropdown-toggle{color:#fff;background-color:#008966;border-color:#007c5d}.dark-mode .btn-success:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-success:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(38,198,157,.5)}.dark-mode .btn-info{color:#fff;background-color:#3498db;border-color:#3498db;box-shadow:none}.dark-mode .btn-info:hover{color:#fff;background-color:#2384c6;border-color:#217dbb}.dark-mode .btn-info.focus,.dark-mode .btn-info:focus{color:#fff;background-color:#2384c6;border-color:#217dbb;box-shadow:0 0 0 0 rgba(82,167,224,.5)}.dark-mode .btn-info.disabled,.dark-mode .btn-info:disabled{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-info:not(:disabled):not(.disabled).active,.dark-mode .btn-info:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-info.dropdown-toggle{color:#fff;background-color:#217dbb;border-color:#1f76b0}.dark-mode .btn-info:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-info:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(82,167,224,.5)}.dark-mode .btn-warning{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12;box-shadow:none}.dark-mode .btn-warning:hover{color:#fff;background-color:#d4860b;border-color:#c87f0a}.dark-mode .btn-warning.focus,.dark-mode .btn-warning:focus{color:#fff;background-color:#d4860b;border-color:#c87f0a;box-shadow:0 0 0 0 rgba(211,139,24,.5)}.dark-mode .btn-warning.disabled,.dark-mode .btn-warning:disabled{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-warning:not(:disabled):not(.disabled).active,.dark-mode .btn-warning:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-warning.dropdown-toggle{color:#fff;background-color:#c87f0a;border-color:#bc770a}.dark-mode .btn-warning:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-warning:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(211,139,24,.5)}.dark-mode .btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c;box-shadow:none}.dark-mode .btn-danger:hover{color:#fff;background-color:#e12e1c;border-color:#d62c1a}.dark-mode .btn-danger.focus,.dark-mode .btn-danger:focus{color:#fff;background-color:#e12e1c;border-color:#d62c1a;box-shadow:0 0 0 0 rgba(235,103,89,.5)}.dark-mode .btn-danger.disabled,.dark-mode .btn-danger:disabled{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-danger:not(:disabled):not(.disabled).active,.dark-mode .btn-danger:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-danger.dropdown-toggle{color:#fff;background-color:#d62c1a;border-color:#ca2a19}.dark-mode .btn-danger:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-danger:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(235,103,89,.5)}.dark-mode .btn-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa;box-shadow:none}.dark-mode .btn-light:hover{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5}.dark-mode .btn-light.focus,.dark-mode .btn-light:focus{color:#1f2d3d;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 0 rgba(215,218,222,.5)}.dark-mode .btn-light.disabled,.dark-mode .btn-light:disabled{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-light:not(:disabled):not(.disabled).active,.dark-mode .btn-light:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-light.dropdown-toggle{color:#1f2d3d;background-color:#dae0e5;border-color:#d3d9df}.dark-mode .btn-light:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-light:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(215,218,222,.5)}.dark-mode .btn-dark{color:#fff;background-color:#292d32;border-color:#4b545c;box-shadow:none}.dark-mode .btn-dark:hover{color:#fff;background-color:#171a1d;border-color:#343a40}.dark-mode .btn-dark.focus,.dark-mode .btn-dark:focus{color:#fff;background-color:#171a1d;border-color:#343a40;box-shadow:0 0 0 0 rgba(102,109,117,.5)}.dark-mode .btn-dark.disabled,.dark-mode .btn-dark:disabled{color:#fff;background-color:#292d32;border-color:#4b545c}.dark-mode .btn-dark:not(:disabled):not(.disabled).active,.dark-mode .btn-dark:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-dark.dropdown-toggle{color:#fff;background-color:#121416;border-color:#2e3439}.dark-mode .btn-dark:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-dark:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(102,109,117,.5)}.dark-mode .btn-outline-primary{color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary:hover{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary.focus,.dark-mode .btn-outline-primary:focus{box-shadow:0 0 0 0 rgba(63,103,145,.5)}.dark-mode .btn-outline-primary.disabled,.dark-mode .btn-outline-primary:disabled{color:#3f6791;background-color:transparent}.dark-mode .btn-outline-primary:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-primary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#3f6791;border-color:#3f6791}.dark-mode .btn-outline-primary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(63,103,145,.5)}.dark-mode .btn-outline-secondary{color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary.focus,.dark-mode .btn-outline-secondary:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.dark-mode .btn-outline-secondary.disabled,.dark-mode .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(108,117,125,.5)}.dark-mode .btn-outline-success{color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success:hover{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success.focus,.dark-mode .btn-outline-success:focus{box-shadow:0 0 0 0 rgba(0,188,140,.5)}.dark-mode .btn-outline-success.disabled,.dark-mode .btn-outline-success:disabled{color:#00bc8c;background-color:transparent}.dark-mode .btn-outline-success:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-success:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-success.dropdown-toggle{color:#fff;background-color:#00bc8c;border-color:#00bc8c}.dark-mode .btn-outline-success:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(0,188,140,.5)}.dark-mode .btn-outline-info{color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info:hover{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info.focus,.dark-mode .btn-outline-info:focus{box-shadow:0 0 0 0 rgba(52,152,219,.5)}.dark-mode .btn-outline-info.disabled,.dark-mode .btn-outline-info:disabled{color:#3498db;background-color:transparent}.dark-mode .btn-outline-info:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-info:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-info.dropdown-toggle{color:#fff;background-color:#3498db;border-color:#3498db}.dark-mode .btn-outline-info:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(52,152,219,.5)}.dark-mode .btn-outline-warning{color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning:hover{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning.focus,.dark-mode .btn-outline-warning:focus{box-shadow:0 0 0 0 rgba(243,156,18,.5)}.dark-mode .btn-outline-warning.disabled,.dark-mode .btn-outline-warning:disabled{color:#f39c12;background-color:transparent}.dark-mode .btn-outline-warning:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-warning:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-warning.dropdown-toggle{color:#1f2d3d;background-color:#f39c12;border-color:#f39c12}.dark-mode .btn-outline-warning:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(243,156,18,.5)}.dark-mode .btn-outline-danger{color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger.focus,.dark-mode .btn-outline-danger:focus{box-shadow:0 0 0 0 rgba(231,76,60,.5)}.dark-mode .btn-outline-danger.disabled,.dark-mode .btn-outline-danger:disabled{color:#e74c3c;background-color:transparent}.dark-mode .btn-outline-danger:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-danger:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.dark-mode .btn-outline-danger:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(231,76,60,.5)}.dark-mode .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light:hover{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light.focus,.dark-mode .btn-outline-light:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.dark-mode .btn-outline-light.disabled,.dark-mode .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.dark-mode .btn-outline-light:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-light:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-light.dropdown-toggle{color:#1f2d3d;background-color:#f8f9fa;border-color:#f8f9fa}.dark-mode .btn-outline-light:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(248,249,250,.5)}.dark-mode .btn-outline-dark{color:#060708;border-color:#060708}.dark-mode .btn-outline-dark:hover{color:#fff;background-color:#060708;border-color:#060708}.dark-mode .btn-outline-dark.focus,.dark-mode .btn-outline-dark:focus{box-shadow:0 0 0 0 rgba(6,7,8,.5)}.dark-mode .btn-outline-dark.disabled,.dark-mode .btn-outline-dark:disabled{color:#060708;background-color:transparent}.dark-mode .btn-outline-dark:not(:disabled):not(.disabled).active,.dark-mode .btn-outline-dark:not(:disabled):not(.disabled):active,.show>.dark-mode .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#060708;border-color:#060708}.dark-mode .btn-outline-dark:not(:disabled):not(.disabled).active:focus,.dark-mode .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.dark-mode .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 0 rgba(6,7,8,.5)}.callout{border-radius:.25rem;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;border-left:5px solid #e9ecef;margin-bottom:1rem;padding:1rem}.callout a{color:#495057;text-decoration:underline}.callout a:hover{color:#e9ecef}.callout p:last-child{margin-bottom:0}.callout.callout-danger{border-left-color:#bd2130}.callout.callout-warning{border-left-color:#d39e00}.callout.callout-info{border-left-color:#117a8b}.callout.callout-success{border-left-color:#1e7e34}.dark-mode .callout{background-color:#3f474e}.dark-mode .callout.callout-danger{border-left-color:#ed7669}.dark-mode .callout.callout-warning{border-left-color:#f5b043}.dark-mode .callout.callout-info{border-left-color:#5faee3}.dark-mode .callout.callout-success{border-left-color:#00efb2}.alert .icon{margin-right:10px}.alert .close{color:#000;opacity:.2}.alert .close:hover{opacity:.5}.alert a{color:#fff;text-decoration:underline}.alert-primary{color:#fff;background-color:#007bff;border-color:#006fe6}.alert-default-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-default-primary hr{border-top-color:#9fcdff}.alert-default-primary .alert-link{color:#002752}.alert-secondary{color:#fff;background-color:#6c757d;border-color:#60686f}.alert-default-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-default-secondary hr{border-top-color:#c8cbcf}.alert-default-secondary .alert-link{color:#202326}.alert-success{color:#fff;background-color:#28a745;border-color:#23923d}.alert-default-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-default-success hr{border-top-color:#b1dfbb}.alert-default-success .alert-link{color:#0b2e13}.alert-info{color:#fff;background-color:#17a2b8;border-color:#148ea1}.alert-default-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-default-info hr{border-top-color:#abdde5}.alert-default-info .alert-link{color:#062c33}.alert-warning{color:#1f2d3d;background-color:#ffc107;border-color:#edb100}.alert-default-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-default-warning hr{border-top-color:#ffe8a1}.alert-default-warning .alert-link{color:#533f03}.alert-danger{color:#fff;background-color:#dc3545;border-color:#d32535}.alert-default-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-default-danger hr{border-top-color:#f1b0b7}.alert-default-danger .alert-link{color:#491217}.alert-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#e9ecef}.alert-default-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-default-light hr{border-top-color:#ececf6}.alert-default-light .alert-link{color:#686868}.alert-dark{color:#fff;background-color:#343a40;border-color:#292d32}.alert-default-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-default-dark hr{border-top-color:#b9bbbe}.alert-default-dark .alert-link{color:#040505}.dark-mode .alert-primary{color:#fff;background-color:#3f6791;border-color:#375a7f}.dark-mode .alert-default-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.dark-mode .alert-default-primary hr{border-top-color:#9fcdff}.dark-mode .alert-default-primary .alert-link{color:#002752}.dark-mode .alert-secondary{color:#fff;background-color:#6c757d;border-color:#60686f}.dark-mode .alert-default-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.dark-mode .alert-default-secondary hr{border-top-color:#c8cbcf}.dark-mode .alert-default-secondary .alert-link{color:#202326}.dark-mode .alert-success{color:#fff;background-color:#00bc8c;border-color:#00a379}.dark-mode .alert-default-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.dark-mode .alert-default-success hr{border-top-color:#b1dfbb}.dark-mode .alert-default-success .alert-link{color:#0b2e13}.dark-mode .alert-info{color:#fff;background-color:#3498db;border-color:#258cd1}.dark-mode .alert-default-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.dark-mode .alert-default-info hr{border-top-color:#abdde5}.dark-mode .alert-default-info .alert-link{color:#062c33}.dark-mode .alert-warning{color:#1f2d3d;background-color:#f39c12;border-color:#e08e0b}.dark-mode .alert-default-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.dark-mode .alert-default-warning hr{border-top-color:#ffe8a1}.dark-mode .alert-default-warning .alert-link{color:#533f03}.dark-mode .alert-danger{color:#fff;background-color:#e74c3c;border-color:#e43725}.dark-mode .alert-default-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.dark-mode .alert-default-danger hr{border-top-color:#f1b0b7}.dark-mode .alert-default-danger .alert-link{color:#491217}.dark-mode .alert-light{color:#1f2d3d;background-color:#f8f9fa;border-color:#e9ecef}.dark-mode .alert-default-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.dark-mode .alert-default-light hr{border-top-color:#ececf6}.dark-mode .alert-default-light .alert-link{color:#686868}.dark-mode .alert-dark{color:#fff;background-color:#343a40;border-color:#292d32}.dark-mode .alert-default-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.dark-mode .alert-default-dark hr{border-top-color:#b9bbbe}.dark-mode .alert-default-dark .alert-link{color:#040505}.table:not(.table-dark){color:inherit}.table.table-head-fixed thead tr:nth-child(1) th{background-color:#fff;border-bottom:0;box-shadow:inset 0 1px 0 #dee2e6,inset 0 -1px 0 #dee2e6;position:-webkit-sticky;position:sticky;top:0;z-index:10}.table.table-head-fixed.table-dark thead tr:nth-child(1) th{background-color:#212529;box-shadow:inset 0 1px 0 #383f45,inset 0 -1px 0 #383f45}.table.no-border,.table.no-border td,.table.no-border th{border:0}.table.text-center,.table.text-center td,.table.text-center th{text-align:center}.table.table-valign-middle tbody>tr>td,.table.table-valign-middle tbody>tr>th,.table.table-valign-middle thead>tr>td,.table.table-valign-middle thead>tr>th{vertical-align:middle}.card-body.p-0 .table tbody>tr>td:first-of-type,.card-body.p-0 .table tbody>tr>th:first-of-type,.card-body.p-0 .table tfoot>tr>td:first-of-type,.card-body.p-0 .table tfoot>tr>th:first-of-type,.card-body.p-0 .table thead>tr>td:first-of-type,.card-body.p-0 .table thead>tr>th:first-of-type{padding-left:1.5rem}.card-body.p-0 .table tbody>tr>td:last-of-type,.card-body.p-0 .table tbody>tr>th:last-of-type,.card-body.p-0 .table tfoot>tr>td:last-of-type,.card-body.p-0 .table tfoot>tr>th:last-of-type,.card-body.p-0 .table thead>tr>td:last-of-type,.card-body.p-0 .table thead>tr>th:last-of-type{padding-right:1.5rem}.table-hover tbody tr.expandable-body:hover{background-color:inherit!important}[data-widget=expandable-table]{cursor:pointer}[data-widget=expandable-table] i.expandable-table-caret{transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}[data-widget=expandable-table][aria-expanded=true] i.expandable-table-caret[class*=right]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[data-widget=expandable-table][aria-expanded=true] i.expandable-table-caret[class*=left]{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}[aria-expanded=true]{cursor:pointer}[aria-expanded=true] i.expandable-table-caret{transition:-webkit-transform .3s linear;transition:transform .3s linear;transition:transform .3s linear,-webkit-transform .3s linear}[aria-expanded=true] [data-widget=expandable-table] i.expandable-table-caret[class*=right]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[aria-expanded=true] [data-widget=expandable-table] i.expandable-table-caret[class*=left]{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.expandable-body>td{padding:0!important;width:100%}.expandable-body>td>div,.expandable-body>td>p{padding:.75rem}.expandable-body .table{width:calc(100% - .75rem);margin:0 0 0 .75rem}.expandable-body .table tr:first-child td,.expandable-body .table tr:first-child th{border-top:none}.dark-mode .table-bordered,.dark-mode .table-bordered td,.dark-mode .table-bordered th{border-color:#6c757d}.dark-mode .table-hover tbody tr:hover{color:#dee2e6;background-color:#3a4047;border-color:#6c757d}.dark-mode .table thead th{border-bottom-color:#6c757d}.dark-mode .table td,.dark-mode .table th{border-top-color:#6c757d}.dark-mode .table.table-head-fixed thead tr:nth-child(1) th{background-color:#3f474e}.carousel-control-prev .carousel-control-custom-icon{margin-left:-20px}.carousel-control-next .carousel-control-custom-icon{margin-right:20px}.carousel-control-custom-icon>.fa,.carousel-control-custom-icon>.fab,.carousel-control-custom-icon>.fad,.carousel-control-custom-icon>.fal,.carousel-control-custom-icon>.far,.carousel-control-custom-icon>.fas,.carousel-control-custom-icon>.ion,.carousel-control-custom-icon>.svg-inline--fa{display:inline-block;font-size:40px;margin-top:-20px;position:absolute;top:50%;z-index:5}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}.close:focus{outline:0}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}
\ No newline at end of file
diff --git a/system/resources/css/fontawesome.min.css b/system/resources/css/fontawesome.min.css
new file mode 100755
index 0000000..e949285
--- /dev/null
+++ b/system/resources/css/fontawesome.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ * Copyright 2024 Fonticons, Inc.
+ */
+.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp-solid,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}
+
+.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-thumb-tack-slash:before,.fa-thumbtack-slash:before{content:"\e68f"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-table-cells-row-unlock:before{content:"\e691"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}
+.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
\ No newline at end of file
diff --git a/system/resources/css/jquery-ui.css b/system/resources/css/jquery-ui.css
new file mode 100755
index 0000000..0d56356
--- /dev/null
+++ b/system/resources/css/jquery-ui.css
@@ -0,0 +1,582 @@
+/*! jQuery UI - v1.12.1 - 2021-03-23
+* http://jqueryui.com
+* Includes: core.css, autocomplete.css, menu.css, theme.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+ border-collapse: collapse;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0); /* support: IE8 */
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+ pointer-events: none;
+}
+
+
+/* Icons
+----------------------------------*/
+.ui-icon {
+ display: inline-block;
+ vertical-align: middle;
+ margin-top: -.25em;
+ position: relative;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+.ui-widget-icon-block {
+ left: 50%;
+ margin-left: -8px;
+ display: block;
+}
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-autocomplete {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
+}
+.ui-menu {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: block;
+ outline: 0;
+}
+.ui-menu .ui-menu {
+ position: absolute;
+}
+.ui-menu .ui-menu-item {
+ margin: 0;
+ cursor: pointer;
+ /* support: IE10, see #8844 */
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
+}
+.ui-menu .ui-menu-item-wrapper {
+ position: relative;
+ padding: 3px 1em 3px .4em;
+}
+.ui-menu .ui-menu-divider {
+ margin: 5px 0;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+ border-width: 1px 0 0 0;
+}
+.ui-menu .ui-state-focus,
+.ui-menu .ui-state-active {
+ margin: -1px;
+}
+
+/* icon support */
+.ui-menu-icons {
+ position: relative;
+}
+.ui-menu-icons .ui-menu-item-wrapper {
+ padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: .2em;
+ margin: auto 0;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+ left: auto;
+ right: 0;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 1em;
+}
+.ui-widget.ui-widget-content {
+ border: 1px solid #c5c5c5;
+}
+.ui-widget-content {
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ color: #333333;
+}
+.ui-widget-content a {
+ color: #333333;
+}
+.ui-widget-header {
+ border: 1px solid #dddddd;
+ background: #e9e9e9;
+ color: #333333;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #333333;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default,
+.ui-button,
+
+/* We use html here because we need a greater specificity to make sure disabled
+works properly when clicked or hovered */
+html .ui-button.ui-state-disabled:hover,
+html .ui-button.ui-state-disabled:active {
+ border: 1px solid #c5c5c5;
+ background: #f6f6f6;
+ font-weight: normal;
+ color: #454545;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited,
+a.ui-button,
+a:link.ui-button,
+a:visited.ui-button,
+.ui-button {
+ color: #454545;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus,
+.ui-button:hover,
+.ui-button:focus {
+ border: 1px solid #cccccc;
+ background: #ededed;
+ font-weight: normal;
+ color: #2b2b2b;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited,
+.ui-state-focus a,
+.ui-state-focus a:hover,
+.ui-state-focus a:link,
+.ui-state-focus a:visited,
+a.ui-button:hover,
+a.ui-button:focus {
+ color: #2b2b2b;
+ text-decoration: none;
+}
+
+.ui-visual-focus {
+ box-shadow: 0 0 3px 1px rgb(94, 158, 214);
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active,
+a.ui-button:active,
+.ui-button:active,
+.ui-button.ui-state-active:hover {
+ border: 1px solid #003eff;
+ background: #007fff;
+ font-weight: normal;
+ color: #ffffff;
+}
+.ui-icon-background,
+.ui-state-active .ui-icon-background {
+ border: #003eff;
+ background-color: #ffffff;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #ffffff;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #dad55e;
+ background: #fffa90;
+ color: #777620;
+}
+.ui-state-checked {
+ border: 1px solid #dad55e;
+ background: #fffa90;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #777620;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #f1a899;
+ background: #fddfdf;
+ color: #5f3f3f;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #5f3f3f;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #5f3f3f;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70); /* support: IE8 */
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35); /* support: IE8 */
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url("images/ui-icons_444444_256x240.png");
+}
+.ui-widget-header .ui-icon {
+ background-image: url("images/ui-icons_444444_256x240.png");
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon,
+.ui-button:hover .ui-icon,
+.ui-button:focus .ui-icon {
+ background-image: url("images/ui-icons_555555_256x240.png");
+}
+.ui-state-active .ui-icon,
+.ui-button:active .ui-icon {
+ background-image: url("images/ui-icons_ffffff_256x240.png");
+}
+.ui-state-highlight .ui-icon,
+.ui-button .ui-state-highlight.ui-icon {
+ background-image: url("images/ui-icons_777620_256x240.png");
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url("images/ui-icons_cc0000_256x240.png");
+}
+.ui-button .ui-icon {
+ background-image: url("images/ui-icons_777777_256x240.png");
+}
+
+/* positioning */
+.ui-icon-blank { background-position: 16px 16px; }
+.ui-icon-caret-1-n { background-position: 0 0; }
+.ui-icon-caret-1-ne { background-position: -16px 0; }
+.ui-icon-caret-1-e { background-position: -32px 0; }
+.ui-icon-caret-1-se { background-position: -48px 0; }
+.ui-icon-caret-1-s { background-position: -65px 0; }
+.ui-icon-caret-1-sw { background-position: -80px 0; }
+.ui-icon-caret-1-w { background-position: -96px 0; }
+.ui-icon-caret-1-nw { background-position: -112px 0; }
+.ui-icon-caret-2-n-s { background-position: -128px 0; }
+.ui-icon-caret-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -65px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -65px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+ border-top-left-radius: 3px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+ border-top-right-radius: 3px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+ border-bottom-left-radius: 3px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+ border-bottom-right-radius: 3px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #aaaaaa;
+ opacity: .3;
+ filter: Alpha(Opacity=30); /* support: IE8 */
+}
+.ui-widget-shadow {
+ -webkit-box-shadow: 0px 0px 5px #666666;
+ box-shadow: 0px 0px 5px #666666;
+}
diff --git a/system/resources/css/social-logos.css b/system/resources/css/social-logos.css
new file mode 100755
index 0000000..40cd4d3
--- /dev/null
+++ b/system/resources/css/social-logos.css
@@ -0,0 +1,286 @@
+/* Generated by grunt-webfont */
+/* Based on https://github.com/endtwist/fontcustom/blob/master/lib/fontcustom/templates/fontcustom.css */
+
+/*
+Name: Social Logos by Automattic
+License: GPL v2 or later
+*/
+
+@font-face {
+ font-family:"social-logos";
+ src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAACF0AAsAAAAAM7gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAQAAAAGBAtVMZY21hcAAAAYQAAAHZAAAE8oV8QGNnbHlmAAADYAAAGk4AACa8G860O2hlYWQAAB2wAAAAKgAAADYkZrJ9aGhlYQAAHdwAAAAZAAAAJAP4AjpobXR4AAAd+AAAAA8AAADkcAAAAGxvY2EAAB4IAAAAdAAAAHQXdR+abWF4cAAAHnwAAAAfAAAAIAFXAKNuYW1lAAAenAAAATQAAAJGA4c4LHBvc3QAAB/QAAABowAAAnuy2p9LeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGH8zjiBgZWBgdGFMY2BgcEdSn9lkGRoYWBgYmBlZsAKAtJcUxgOfGT8pswE4uox6YGFGVEUMQEAFFMJW3ic3dRLUxNBFMXx/2TyIBDIQEhAQY0B4vv9YuHCcuHCj+CScoNLP5lfrW9NeounOSlc6trp+mUyU13pmdxzG+gBtTyVLnQ+U+kb1Ufdra7v12xe3+9Wja5PmWteN42jjkEM4zDmsWybdtJO28vVLNd5mJt8nE+uriBVQfQ0q9Gsxc2saSb3/sz661Fp1U984avGN42Lm/GdH/y8HnpEdtnnLXe4zRM994xbbHHMY97rLRsGvNSbvGPCAfe4yzavOec5U/rcZ48zTniot9tgh0NGWnPBkhdavdYbD3nAI57xhg+8YsyRHqv/D8/+vx+j8tH5tb46LzU31YO0psqQalONSF1TtUg9U91IfVMFSQNTLUkbVlKahqb6kjZNlSZtGeU8MlWftG3KAWnHlAjS2EoHBKaUEJUpL0THlByittIN0TOlieibckUMTAkjhqasEY0pdcSuKX/EnimJxMTKfxj7pnQSU6OcZ0ZZ88CUXeLQKL83N+WZWJiSTawp48SpUeaemXJPLE0dQNuYeoF2YqXa7dTUH7SXpk5hNTX1DKuZqXvIWNlN8lrZcXLHyq6Ta1OXaWcw9Ru5b+o88sDUg+QNUzeSh6a+JDemDiUfm3qVfGIc/Qb+5q10AAAAeJx1enmMHcd5Z1dVd1Xf9/Xuo997PTNv5s28m3MfJIcUKR6iJIoSY5mkfIiivZJt2Y6ilcSYiSPbUbJwVjKiZLNZHwpiGgg2DmAnQLIU7Dh/BPY6wJJrOMEiuxso2MTAYm9gg4z3q35zUfbOvFdVXV3dVfWdv++rJ4gC/KG/RfeEDeGccFX4OFzVGZ38B34U9nujcRTy/3F3NB4N5lErba2iQdri/0k2NqygNTReQ/1eGUVhwEyU1FvDwXjUD3xGIxgB12lrFJVhyHgURrQFL2sx6B3DO8sIRqA61ep2yS07bj43VW3nRFlkOmO5kBBRJZRQ1y5EuV59RkVUXBYpIgVXc1WMdBYajlcMpzD+jcagu7D58TlRErsfX338EcpkIiLfGCCCiOHbJSYyGT2ERCIqei7fmMvFXo5pkqxINHSJIkqGbDjXEzvv2DL14i6liCEqOZ5s6dT8nG7FfmJpdqjaLxcsc26aUFyqJESdJoR0HSZhRcQiK1suJyvNaPvv0S8JjlAUUmFLeFA4Lwher4x9ysoo8E3cRk7UGw0HHWgFUW8NDwctaI0zuvc5ITt4sIYjeIYlfjgGips46LfS/jB5y6uEuuvEkZWvO688b/lUN9l4TbF0Fnnr/0sPrYh0tE41SvKmmW8GcSNW8WfYlurrtiY+ip+8cQN9mlq5VkFmSc4vuQqiz1iOolOy9iyRDTVwTiLdVupls9icaRZs5NbSSPOf1GTDYN6jedgeyfb4b9DbsMOW0IN20gVedwcd1EZ1E5WQX0bLqLeGQGZg1b2QQj+IAvB+MIIboU/RW4Fqovpibb22WIfq01BZ/3vbhL9t0zB+4zXFNBVeoDlDhftw+9VJdUm1OlEcR980PAM+sJSJPL+N7gi6EAtTINVC08+mnMwGKxhxCtcpENPxaVIDSXUGo36tF7LsBl98NgCWHsIjoyFakuljVM6K97eZLLM2VZT/lnN37rm5nItm3NwphRpUQXOVtDo3V71QnbsL43VZ3pQNGT4vHIzMvQnPUj7qEV5ky82Ke0DDNahbu9rXmmgYb/u7CghNKEFj1tFuz2g4gkFZH7RBKdG3dSOo1Jp1y643k4qvGyCRRMJavdzacOPxdCX2VAOJumLHpZkmyodpWq6rVAKVQH8kIjHIz85UqtNzuYhgKhlKNNdVE9uU1Ki6Oi3TZjiLzBm3SqRmsxg7JiWGXVcXpm1d4eQX5N293BNcIRTyQkmoCU1hWpiF3uE8btUtElRQ2FvHacTmUcBSFrEoHUdj+LJhVqN7BP+ZqIvfJqLI6+9I3/pnG+cb5zesTudfQsvd3Nycz67QUUTJLxLyKcI+p/wCIbeUv73SHl68OGzXK5VPQbPabrf/1eRSENj+2nQhEKpCRxiDfJwBCal30GANgfXyTTTmRA+jNQQcSDgjQBXTjOatlFsyGqZgw2AUDA0jTvgOirJx0Qh4MmghYena4uK153nxc3aYNvNqZfqDWhFtzkZad735NTO/sMKYvHgsKaDYi6rLo0ojHb7cKk+XQdku/rLiVtsKS+dybtDefQ8U35SIJG2vBOvv3zoZzcVhuprL9zxsWw4lydYvEskc972j1/pH7NjUy8FJw8q7rsv5Wl0SBGl3738GGssETbCECK5ZOmZA8QoCqgMjLJQG0XjIkPDKxZdeeunSK69ceunixaxuvfxyC7109viFv7rwwNmzD1w4fhzqJx/IFU+fLubg1Xhf7yxhBVrNOg0cP+w3J4rPXULK+j0utFyi24iNR9AJ9OTOIW2to0yEK5wJ6Od3dvLNZh7hQqPRJ4pxTd00qIwRFhVJOa0+FWHEmKg+VDADgnCCMdWodV03Mfqa38zzh33UyP8w33hcoWgOY1mSTYx7CIEZh7cgm2lvqZJKMELUPNC/eyCpAjdaAdisaJgM+0MwDL0KCribK6E+SwJuoDsoY/H8hd5wONu0HKvoKmxF6fYuzC9eQ3cXry0NLq/Ir6/Np7MYDzXFaq29Lq9cHsAzgp/N9SP0I7BUimAKHlipEsw7LwyFZWFTOAHy+IhwWXif8GHhE8IrwqvgLyjwCJQEJBAaLQuFEWfWXoumCQheH+jqs6g15KOgm8sqCGeatSM6jyrwMJB3Hvngk7P3wdhxGq6hDjLhRXsN1ttt7N/ab7zEjGcLpcIRZp5bF09qH3hdJa8NTwZnrA80LLV2XjPEAL5TCEmfQUj8yLqlrVtXmHmNGX/0okpe1LbgrlaK8pouxX8qbZtTxldg3AtuAccN+H590kDRxb2ef+vmcZxAw8164AJtGew5s2QumuzXq+WmmjyoWSd/8FrwOn7rBNHWH6PoVYqmJElVAhGKf/4i1l7Ef2iyq/DYmmataeBt0LbU+ApUv7nFh2gFVshLoqpcRdmcjcIXUTZnI//daNLR2Ov4a8QXAb17fo/LjCbkhDpwKQDJDfoTXBRkgr57RbivybwOCMCJtLm5debKw+cXFk4sHbn61HpYqcxWKujECRCbM1ubzfRXTiwsnH/4yvNPXT2ytHOH35yt7OnXf0Q3wHaBvnkgpSCkwCuQxv7hi8+VuqVSd6lbLHa/W+LlEr9GN0qTxn3Fvt7+NuwjEpa49wZJB8XlrmUdg/fjdm/E1feQRwwtNLm2EOW+k3cx9Mm/CTTZlJgqfZiQbVeVyDR15pEiPs5UlZ2mMlJB3VcVWTqNZOkbEujzXUMzd97wKNfDV7DOzD8vFJ4VmSJrTFVoVwS09gRCKM99r7Bnw+6AjdmzYZ4gjJPhMkqC/rAW1FKox/D94ZtvvvPmmzs30c0333nnzTNnNs6ceefBd86cOXNY1x/e03Xg1GgVUc6qDNxCMRj3obeCMhfLHQKA2dawNc4M2KjHrf4y4goXcoDLQk4YwL/7puGhTcYCy1AYWF8GYFSWJHD6EjEC0yTabFgJRSxTWbO8/DjnWRq0sRhWorbJ5M3zu0Zk+9kAM6khEiJLjMEYQgCOIklkUoAR9VQJnq7FiuZ6IgWkrFPRczUlqo/znqQXlySGg+eOc6Ozz+eJ75ua7HxfZMjE/cHmGMBLLqywabB+sDl62JktJ8v1+nLSazT9EmCXTc8i2z9LjvHF7jmpndv15e3leq3hdTY6nuXPm/p4+2D+v0dvCAVAwoLHXw6Y76dN3EyGSQBcBJ72b7+GG5sPH5+aOj69NDMdJ+lodDZ2ySNoo92emWkDUja09lZz6tiFY1NpGo3PjmM37MO9dvuwjupgYbs/sWuAhD9tyyBBSWb8YQWHt/9U0u0ej3OmF1QqbUMlCw/hzq/nq4VCNX8fCe72t/thbIDaGqpRU+Xm/DaMKRR2Ze97sJ4a1EE/w3nJPg0ybM/X1+9xUUqR8Amim1GxmSwn8Fmoryw/vHRtCT4r7+lLKD3vu5FhJysnVpLK8jibe/jeFT8+pCdVYVHYhrjuElz3ojKJQp+ZhNF62iEpSPkagW3XTdEvi701cdAR2WEKsYxCANDHdRpmuBkJw1xQ8FRQSqR6hSD3zP2Xw9EgLdkY26V08KFJ0yqng1FhrlCYG/GiUGg2R83macMwTI7o/8VPf9HeZZI9f+hVk+Z7dt8GxZf460bNP4kj0zMPeH4DWgWhD9gOODkGFgP44GoKyCOLR0YclUjBBOHDfR7Sgk5nUQtFN+7dCwAIW89w1P6MNZsPkl5v59Ve8u7Ov5+5GPk5F3C9H/UaM43eRfge9BzEI29n1qoCiFNAtV1sVIPYwhm0CKww3ZMCoHaUcCCfIY6EyyAYG253AvTlnW/qtq2jk1DuLC6WZFtRbNn0vL9ZFGkq08URoobtTcGQO7Z+MHjnD7+RUyzXUryi9/3HIXY1tfCJb+R0Wc177UO24Tas0f/J9QEqHNbQ7Z2vOrmcgy7y8vZtdBHdzrk/FrKwBsrLTz+9cKDnb6PvCQPhIY5dLJSJOZA+2A1ZxhyW0El0M+zyrjWUhS9d7i67rZQB5OJ7DjkBBkn9cDX68eVpVVV1WcFONO52SjkdzFw+atp5ETU75UFrRZQwKlnmzOXVmq1pdq2YtIuVmUqxnYDueZKs2X6u7CTeufaSZRAki6QuSQgxrcyoAoZVmgpLs6EzbrjUQ9s5182ltQ9dr00tLk7Vrn+olu7K2F+jm5kvrmcRPdq3ZtH9F8BQrka/lSzV60vHefEjp+Q4pTovPqYYhmsY6GZmNbOC1cZb41pWGOtPrMNnl6YTvwe223NqDlAVKMqR6XAMosySNKC7V+lwMI+G/Wjc30A3NwJC/A+EeEk+hsTCgwUJifHppf5JdId7x8s+Jp8n2BfFAIvP/9qvXWNSTRRrEvuoJBbFl1/e5+f/Qf8DZGMV5jYxo2W8hjsobUV7GlXnypTBg92LjLWtUT/qcab3e+toDf3j6vWjEh1fv/X8aX18fdMQZxYJnpVy0zleSQ1DQwR3JAD5GiHImEP/HS29b3UrGw3PUPSZYesGxuJTbqnkPgWNKxKSQ6eJCRJdpkvIj/Zj6dvoB4CqhclCJuH0JIbuTSJl+F9D6HYc1aevpe3ARSKzg0bB02xDMXyjONVF15JyQTdEL5ifGk8nw0qKIrNR1l2VMm1lb54/AFu+lWXMOJDgMwBaSjtgvTOl5d5kN8c14G4mAI7xED7yd6P4PVsPsIEuzU61LSfHsIyIoleKpbS/1WsFeYnIuusEZVGqUYIhSmeGTx3WDKa3Wp1z6G4UnmpXylVNZBWRaHWnPLKc1YXR8ZKvRVOVsFWwTO3TYStwIPJRwlq4YbhzD3ZmT0wdwkInD7AQRGIc7vDV+1lur8/TU1miL4NKIHkHG8wknef2JmFy5jUyl3katDBHSGgbpiph0bNLrV7aLuYUBgoG2CWulWtzjZWk2K/YRcmUgko1c7QZ8Dn6oXgqfEbW9LDs5CqeYkfjdqtbyreMgkxITsJKN5csO271yIlViDz6YV3JvN9hnPM2WP8OtDooqXHJjMpoAuf6Iy6M67AD2El9Hgas4ZDbG9gv+neib+x8yY6w2G6Q1txsG802SKMt4ve8T47l90uSqFkWPX9eiRz0O5oZ2Tfz7dMFXFRkRc3jwul2/ia7eUWWr1DL0iRROnOGudGuD5jgkGmI6t54FxJhPGsadTJAPQk++70x7ZA1HHWwCUKyxmEpD5ZhFyC4KVc+kLioCyNpdjUqw5OwFVSGBzp4DbYKL+1m3Em5gWV1zjQwtOD/uf7yp3iIAngAHQY5zdZ2rMjxsVNbsei4yUrDdcrHllIlHpz4MGqvHXHyo6GXz9lVHyGXhWroaZKtQoEJcTVNlVVECtOxnLZjZWpQl4rDYUMsjdZzfg6XB+XQKxZqM+8dPj6Yf7grt0/MkPrRc+dGjqHMFBcbqZl7z2Eo1UBJWdPLtUpB9DoxiItokGT1xPFB8RvVgVpbGvtxvwc8ydmRwygWp1yYHqJ7R1ZNwMmW7BVxfSbSpudKYnPU9q35pV5Jcq25fKVfUZisjn9z8Piwd3EkYtZ74LHTQ6OweL5Z6mhqOnWkUl1YPsibvA22d5LJGkLM0Q8ApQaTvOJq5paW0XASCJW4Ew+a/WES8WgE2DtRrN7ozs2bKNjIOfecHJRh1gid3M6de/xvQ7EcS3YL3u12sMF97MZtN8fzhe5Mzm3P3Ln554qpwMfwvMN5tq/vZ7EuCu8Vnhb+Kbd6HZ67GkeTqJNjHzCCXLRYq54pMQ0msgc4A6RpFNIEnNVI4kofUdaK3pUOm1gyaR8NTjwaxHzcQiTdetoCRxf2u2Bce+huMTV727ljUS2ObcOTThOKSo3NvJEWdQ0PHnv6sQHSjGOGZQE6Nnb+wDNUuahp354/Pz9//klefFYtyprh7fyD7rqx43zeyTnwyWEcLCwEBCuiPT1tw1tFv4jMGjln2xFMZmgOIuQy8my96BshZWwSrfCc6W0Ux8jwzN8yPBoWlS+Ue6u9cla8VoyoZ9gdPlHsliczPkIYDkOiYuI4eN+nvA36W+e5QpYCyh1ntOXkjDhVeQDByZr1ops59wsYv+ENODKd1APvDcyR6m33kqIrl9zWsNksUOUxBzqdS4wBLB629s8M7qG7YMkkQQWvuyG8AH53HLEgkgbdIaCjYBmNfRODZvdT4Fe9gyE8jdIAzPYa5sFUP+2O+qMyBu1Oo2GYDnYjWx7vZCAss+mdSbDvZ4EuCHN9AskmIhLyg5ofYPxFhD6HvowQ+T23NhtXikTCjjt9alwhCFm8q5zHIva8qVNHqiJ0/RPDbsy7shGmpqxQEZylVZoLpwsVzUrW47htyioTqWdGYa7eLeTRdxD6bYxPwgRfQh+MZuuuDU1UHZ+adlx4caHC+0zeVzlyatr1YP4CSIMva6LIYlsWNYZFXbXytuO3IsuXbeobniIZCpEM1Swqapil3A7b4IIwy7HMfTbYM7lNpR2ehuRW1uRWdvea29JJKr7FcQMn4P2B8RTRxAefk1RMpRcfkUgkGrT9yT7VYftLv9ClIu4+uD3UbElrfaA7bKnBfeHidyVCOjkkaQouDog2gjC/YNqYGTp27bJojEqU2sSKiE5ULaSxtr+Xrwqx0BZWskxGqw7uDMRvPfMBoO28ORqwrL/OuQp8zrrSg6FcHHieOxvTGqxP3lLGfBj64/hYfIvqDr0lB4FNqXxTr+tPxUepS29Bizo6jY/lbtFeVuqTXjmmQ+rwZqxPxqOFo/AatBRDCY/ckmE3QSD/vK6/Lz7mUXrLMPjD/Lb7mazUeZ8MYRDc1OO6ng09uoD4C/b9+1cA381xHmaoM7PCmfbxMI4b4WgMoIXtdnFTDSMYEqbGpmuePHKOV+WZsXPk7JGTUTSDvjyeehWwuLK6PjUeT32WHzgVDcCB46+tpuNxurIC8aqxatyfR2m9W4YoONN5AOMUtG2edFCWPIPA7ZCoyCDKCh0lOPvzRqKEJIL/UpLvk4nvYHCnZLoK4TCh6x4mMsHoUUyk3fn/CqqTwqOc79yRcxMf8YwUiGYGDDigyFBuGTEwFFz1x5nu81xW2uV4mAdeUbeXgeGJ5EMrs/8UvQCTL/VQecFqeC1Us3WxVF84gpHnlNJeIaCxJ4rzi9M/MzczM/fN+Uhrm6WVj3xkuY9Qf/kjvQdKwDnL/WKUYNOq2nEoghvxEB6toFyULyHPiAEt9Ft+VfMJTgozJvjjToAWR98ZLS4WZ7R+4xRCp7Y+9rGtU6hYqnda9faj2G/oJhbnXPP+s4Y+z4XeF64mrD8xclGQcpMW+RNEtIyCVsYs8Hs39k/j3M/OIiRR3QxVXYNwuTjXravedKzroWlGkYnuHD7m21A0BcJmNItESXkinvaUZKFTmCXMjz3GfH3PV3wd5KMB9f5KkiwrvB8WTtYCOAwNkfQAwrLqxw3b9/J+Y+2B9UZjrel5rQhFLSjumq4VGjbYSCpbrzfX4O6ptcYpalSnqrpe9ffm/DnwGWXwTzSh/IAeAMgwqQec1UF/Epv0Af6h95teqLILF1aIaAYzM7qZK8+EbfoaQ6bq3Fy7LtZyTWv46VxcsF1kyYdjek7vmZ+Sv8jmS4aZKMHOABwF4Rj8IZjt1w8dfL7a8O1cbMgYoWRhAYW6rJH8/fTd+T4KvfhsRQksD682TsdIrEvKgf2+g/44y/06PAfOs74845sypw9Iqz8eWihhsO0aupIk8Hkrf2UwPHs9Wb0yOIeq6OGnn376L7Z3/stgcP1//ufVweAfD85e/xL9HlhSAVE2GlPGDzsAjqdgJKN6mgGmFDSKn1NlbpFH3CP0wzhfVPMlf3kYs+GTdT1wAzet+L4yV1xYVdXVBx5cGVZKOfQpjTgVi4ZKcVQiC9PBXKprqLpAqZivoyZK02T5yIrmvYvOR36SzswHM8Zzd+FoXOeHvh20isI+KC4srsUhP188fO+j+kmItB5J/JZl5yRNc0DMbUX1hiXRLNc0x5Rs01TvZ8KviqS26Qch0XTPgoCz4CCqteyogOyKJelE4b8TsPZp95/Qt4RqRjsgEBi+hAMkTqRdoDEeQQ9coP9ALj2xnhYSP5LKQa06G/Z1Q7Jc8wgW67ZT+5nj6IObz33i5K2TQaFUbGHp9AX/2CWwZzcI3svr3c3OlaeExwQBnFWWMOMox+Q/OgDAyzFoFk7jJAPdEG03WzzEy36lwhvZQSN8eDtJeXLKz8LCLLAis+XS4rXFmbPL1cWri6N5ic4sLJxfKHQ3E16JLjIQJSVNIqIuMRLWDUJlDGE1sTFEITJFbogMq1wxKx44Qtz+cPejVxery2dnlq4u5lskN//QQrLRK8DL+m26+VFMsEVEaokAasuhRBUiYlFKKUArirweWEq7bFIFY8sx78/hu8L6RD4mJzIR/1VDdszK0a7PMijHnRHjP7tJedjHEzHZL3Si7MwaKp+LSbHRKD56M3gG6jWLqgRCdaXi5xTFZRKTHA9JAKbMAZEBgqiaCtGiQtHdRvHvio2Njay6UhksljVRUSpH+5YbYCZ3X6aUSe7mkSuM+t3So1OayLi47MdS90CbVWFt4sGaLBzPwy6ilEp7OJWnHyIOT3nWdh2CKprwY2rwXHWeVAoP+kZjQK4WN+kDcjhqQWRxeRnvLHcvO2hTIgwcqOSapHC0sXAxrxu+C6G8FG7PlFWVH6u7fm6vyzNTbC3P9e8c+Oz/+jtuQH5//GT8D82KbaoGMZmmGgHK5TvTYLtl/P2XLyAkc8PGr7630byhaNXGV/OP97s7//fArR/w8Fug4xpYMQGNE5YmgNjHUX8e970Ezfxy7YWrz33+87WbH3z2T61P9P+uj0pfeu21u7dff/13g9/d+df/v3MwD8wu/1GQBF9nt4aIE/6QwMsfQ4k2so4dXhySpy+AtVnOsERr9xAMQMxe4tbCk0wjhxSgKpUJqMnSV5jLXMqGEfoLjCVZMZhGmiuDwUqTaMxQZEnEWBQlR5d1Gmys3NePf/wx9KisQMAucrLxxD+vRVV2nSAfVpO67boiV669WxIIpc1vhflP/izAd+H/ARlZPhsAAHicY2BkYGAA4i6hRVvi+W2+MnAzMYDAwxU7DiDTjN/B4hwMYAoAObsKpwAAeJxjYGRgYGIAAQjJ+J2BkQEVWAIAE24BOAAAAHicY2BgYGAa5hgAMsQAcQAAAAAAAK4BIAFoAcICKAJ2AvQDJAOCA7gEnATUBQAFVgV4BfQGNAZuBrYG6gdoB7AIAggoCJoI0gkQCWgJnAn+CmgKsguQC9wMkgzIDXQN2g5YDpgO2A9aD6gP4hASEFQQgBDGER4RVBHWEjYSuBLaEv4TXnicY2BkYGCwZJjOIMIAAkxAzAWEDAz/wXwGAB7YAfsAeJx1kT9OwzAYxV/atIgWISQkxIYnFtT0z8DQkaHdO3RgS1MnTeXGUexW6sYxOAHHYOQInIJD8BK+oUKqIzs///LetwTADb4QoF4BrpqzXi1c8PbHbdKtcEh+EO6gjyfhLv2zcI/2RbjP5o4TgvCS5h5vwi1c4124Tf8hHJI/hTu4w7dwl/5HuIdlEAr38Ri8OpvksRkYm1m30NnexNWpOuWlrlxuCzWORqd6rgtdxV6v1eqo3CGbeJ+qtLI7NbOF18ZYVVZ2qxMfbbwvp8NhKj5K7A4OFglyxDAYcFtk3A4LaNKeJkZ1NnXOL9muWzlvBRTGiDA6m54zXTSNGJ7vNRsrHHk6HJiZ0HqkvKfMWP4VhVkzuU6bZpJC2Xzb0iT0ETZNq8QUQz7pv3zEFCf9AkQtapF4nG2R15acMAyG598MZSCbTe+9t01vm7cxWIAPYDm2mJKnDwxzcnIRXVifZB3rl7w4WswWLf5vZzjCOSwRIUaCFCtkyHEex7iAE1zEJVzGFVzFNVzHDdzELdzGHdzFPdzHAzzEIzzGEzzFMzzHC7zEK7zGG7zFKd7hPT7gIz7hM77gK77hO37gDD8XserVb7ZJQY2yJeVFx3VN/lR1khx49AOFdpeUrMmRTbU3RVF0lGjPruBtRmuyUngjlFaqpIK5XVWkzZp8oGVFpOOqM2Xrs4oHH34NylNUNxwkro00Q5HVzHVHU9eTA7puCFOc/xPHM6+MDaJqr/plZ2ybTsfYzS57Zbq0V0FYs836MTf00xvxjKmlrWhmnzglntgeO2OFPAWZqlZ/o9hx2dKY4K7TSutd5Px4F3vS2kgUmkn/uBFHSXAsptrl81DBjePnQYZ+XM/g2KZCHU1KE2k8KR0yMa1wu1c1Y7av9nNmj7FsjJRNPjk5/MWBo7XpidNNoyQo5/INc8l9T76k1Ya9dqOGgG20VbZWyY4HGQpaLP4APN+66AA=") format("woff"),
+ url("social-logos.ttf?d7118d6fafb7af6608dc3cb7115ffd49") format("truetype");
+ font-weight:normal;
+ font-style:normal;
+}
+
+
+/* Bootstrap Overrides */
+[class^="social-logo-"]:before,
+[class*=" social-logo-"]:before,
+.social-logo a:before {
+ font-family:"social-logos";
+ display:inline-block;
+ line-height:1;
+ font-weight:normal;
+ font-style:normal;
+ speak:none;
+ text-decoration:inherit;
+ text-transform:none;
+ text-rendering:auto;
+ -webkit-font-smoothing:antialiased;
+ -moz-osx-font-smoothing:grayscale;
+}
+
+
+/* Icons */
+
+.social-logo-amazon:before {
+ content:"\f600";
+}
+
+.social-logo-behance:before {
+ content:"\f101";
+}
+
+.social-logo-blogger-alt:before {
+ content:"\f601";
+}
+
+.social-logo-blogger:before {
+ content:"\f602";
+}
+
+.social-logo-bluesky:before {
+ content:"\f10f";
+}
+
+.social-logo-codepen:before {
+ content:"\f216";
+}
+
+.social-logo-dribbble:before {
+ content:"\f201";
+}
+
+.social-logo-dropbox:before {
+ content:"\f225";
+}
+
+.social-logo-eventbrite:before {
+ content:"\f603";
+}
+
+.social-logo-facebook:before {
+ content:"\f203";
+}
+
+.social-logo-fediverse:before {
+ content:"\f10b";
+}
+
+.social-logo-feed:before {
+ content:"\f413";
+}
+
+.social-logo-flickr:before {
+ content:"\f211";
+}
+
+.social-logo-foursquare:before {
+ content:"\f226";
+}
+
+.social-logo-ghost:before {
+ content:"\f61c";
+}
+
+.social-logo-github:before {
+ content:"\f200";
+}
+
+.social-logo-google-alt:before {
+ content:"\f102";
+}
+
+.social-logo-google-plus-alt:before {
+ content:"\f218";
+}
+
+.social-logo-google-plus:before {
+ content:"\f206";
+}
+
+.social-logo-google:before {
+ content:"\f103";
+}
+
+.social-logo-instagram:before {
+ content:"\f215";
+}
+
+.social-logo-link:before {
+ content:"\f109";
+}
+
+.social-logo-linkedin:before {
+ content:"\f207";
+}
+
+.social-logo-mail:before {
+ content:"\f410";
+}
+
+.social-logo-mastodon:before {
+ content:"\f10a";
+}
+
+.social-logo-medium-alt:before {
+ content:"\f106";
+}
+
+.social-logo-medium:before {
+ content:"\f623";
+}
+
+.social-logo-nextdoor:before {
+ content:"\f10c";
+}
+
+.social-logo-patreon:before {
+ content:"\f105";
+}
+
+.social-logo-pinterest-alt:before {
+ content:"\f210";
+}
+
+.social-logo-pinterest:before {
+ content:"\f209";
+}
+
+.social-logo-pocket:before {
+ content:"\f224";
+}
+
+.social-logo-polldaddy:before {
+ content:"\f217";
+}
+
+.social-logo-print:before {
+ content:"\f469";
+}
+
+.social-logo-reddit:before {
+ content:"\f222";
+}
+
+.social-logo-share:before {
+ content:"\f415";
+}
+
+.social-logo-skype:before {
+ content:"\f220";
+}
+
+.social-logo-spotify:before {
+ content:"\f515";
+}
+
+.social-logo-squarespace:before {
+ content:"\f605";
+}
+
+.social-logo-stumbleupon:before {
+ content:"\f223";
+}
+
+.social-logo-telegram:before {
+ content:"\f606";
+}
+
+.social-logo-threads:before {
+ content:"\f10d";
+}
+
+.social-logo-tiktok-alt:before {
+ content:"\f107";
+}
+
+.social-logo-tiktok:before {
+ content:"\f108";
+}
+
+.social-logo-tumblr-alt:before {
+ content:"\f607";
+}
+
+.social-logo-tumblr:before {
+ content:"\f214";
+}
+
+.social-logo-twitch:before {
+ content:"\f516";
+}
+
+.social-logo-twitter-alt:before {
+ content:"\f202";
+}
+
+.social-logo-twitter:before {
+ content:"\f610";
+}
+
+.social-logo-vimeo:before {
+ content:"\f212";
+}
+
+.social-logo-whatsapp:before {
+ content:"\f608";
+}
+
+.social-logo-woocommerce:before {
+ content:"\f104";
+}
+
+.social-logo-wordpress:before {
+ content:"\f205";
+}
+
+.social-logo-x:before {
+ content:"\f10e";
+}
+
+.social-logo-xanga:before {
+ content:"\f609";
+}
+
+.social-logo-youtube:before {
+ content:"\f213";
+}
+
+/* Starting the custom style */
+
+.social-logo a {
+ display: inline-block;
+ position: relative;
+ font-size: 24px;
+ margin-right: 5px;
+ text-decoration: none;
+}
+
+.social-logo a:hover {
+ text-decoration: none;
+}
+
+.social-logo a:last-child {
+ margin-right:0;
+}
+
+.screen-reader-text {
+ clip: rect(1px, 1px, 1px, 1px);
+ height: 1px;
+ overflow: hidden;
+ position: absolute !important;
+ width: 1px;
+}
\ No newline at end of file
diff --git a/system/resources/css/social-logos.ttf b/system/resources/css/social-logos.ttf
new file mode 100755
index 0000000..fc1956a
Binary files /dev/null and b/system/resources/css/social-logos.ttf differ
diff --git a/system/resources/css/social-logos.woff2 b/system/resources/css/social-logos.woff2
new file mode 100755
index 0000000..3c62274
Binary files /dev/null and b/system/resources/css/social-logos.woff2 differ
diff --git a/system/resources/css/solid.min.css b/system/resources/css/solid.min.css
new file mode 100755
index 0000000..eab276e
--- /dev/null
+++ b/system/resources/css/solid.min.css
@@ -0,0 +1,6 @@
+/*!
+ * Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ * Copyright 2024 Fonticons, Inc.
+ */
+:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
\ No newline at end of file
diff --git a/system/resources/css/toc.css b/system/resources/css/toc.css
new file mode 100755
index 0000000..2e9f723
--- /dev/null
+++ b/system/resources/css/toc.css
@@ -0,0 +1,52 @@
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+.toc-wrapper {
+ background: #f9f9f9;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
+ box-shadow: 0 1px 1px rgba(0,0,0,.05);
+ margin-bottom: 1.5em;
+ padding: 10px;
+ position: relative;
+ width: auto;
+ font-size: 90%;
+}
+
+.toc-wrapper .inner {
+ margin-top:5px;
+}
+
+.toc-wrapper .inner a {
+ border: none;
+ box-shadow:none;
+}
+
+.toc {
+ padding: 5px;
+}
+
+.toc .h3-toc {
+ margin-left: .20in;
+}
+
+.toc .h4-toc {
+ margin-left: .35in;
+}
+
+.toc .h5-toc {
+ margin-left: .50in;
+}
+
+.toc .h6-toc {
+ margin-left: .65in;
+}
+
+.toc-link a.anchor {
+ border:none;
+ margin-left: 5px;
+ box-shadow:none;
+}
\ No newline at end of file
diff --git a/system/resources/css/toolbar.css b/system/resources/css/toolbar.css
new file mode 100755
index 0000000..7a85f5f
--- /dev/null
+++ b/system/resources/css/toolbar.css
@@ -0,0 +1,83 @@
+body {
+ padding-top: 30px
+}
+
+.admin-front .tb-admin,
+.all-posts .tb-posts,
+.admin-popular .tb-popular,
+.admin-mine .tb-mine,
+.admin-draft .tb-draft,
+.admin-content .tb-addcontent,
+.admin-categories .tb-categories,
+.edit-profile .tb-editprofile,
+.admin-import .tb-import,
+.admin-backup .tb-backup,
+.admin-config .tb-config,
+.admin-clear-cache .tb-clearcache,
+.admin-update .tb-update {
+ background:#400;
+}
+
+#toolbar {
+ background: #666;
+ box-shadow: 0 5px 15px #000;
+ color: #CCC;
+ font-family: Georgia, sans-serif;
+ left: 0;
+ margin: 0 -20px;
+ padding: 0 25px;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 6000;
+ border: 0;
+ font-size: 15px;
+ text-align: left;
+ vertical-align: baseline;
+ min-height: 30px
+}
+
+#toolbar ul {
+ margin: 0;
+ padding: 0;
+ padding-left: 30px;
+}
+
+#toolbar ul li, #toolbar ul li a {
+ display:inline-block;
+ list-style: none;
+ margin: 0;
+ height: 30px;
+ line-height: 30px;
+}
+
+#toolbar a {
+ color: #FFF;
+ font-size: .846em;
+ text-decoration: none;
+ border-radius: 10px;
+ padding: 0 10px;
+}
+
+@media all and (max-width: 550px) {
+ body {
+ padding-top: 60px
+ }
+}
+
+table#config td:first-child {
+ width: 30%
+}
+
+table#config td:last-child {
+ width: 70%
+}
+
+table#config input {
+ width: 100%;
+ box-sizing: border-box
+}
+
+table#config tr:last-child td {
+ border-bottom: none
+}
\ No newline at end of file
diff --git a/system/resources/fonts/glyphicons-halflings-regular.eot b/system/resources/fonts/glyphicons-halflings-regular.eot
new file mode 100755
index 0000000..4a4ca86
Binary files /dev/null and b/system/resources/fonts/glyphicons-halflings-regular.eot differ
diff --git a/system/resources/fonts/glyphicons-halflings-regular.svg b/system/resources/fonts/glyphicons-halflings-regular.svg
new file mode 100755
index 0000000..25691af
--- /dev/null
+++ b/system/resources/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,229 @@
+
+
+
\ No newline at end of file
diff --git a/system/resources/fonts/glyphicons-halflings-regular.ttf b/system/resources/fonts/glyphicons-halflings-regular.ttf
new file mode 100755
index 0000000..67fa00b
Binary files /dev/null and b/system/resources/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/system/resources/fonts/glyphicons-halflings-regular.woff b/system/resources/fonts/glyphicons-halflings-regular.woff
new file mode 100755
index 0000000..8c54182
Binary files /dev/null and b/system/resources/fonts/glyphicons-halflings-regular.woff differ
diff --git a/system/resources/images/htmly-gray-bg.png b/system/resources/images/htmly-gray-bg.png
new file mode 100755
index 0000000..32f06bb
Binary files /dev/null and b/system/resources/images/htmly-gray-bg.png differ
diff --git a/system/resources/images/htmly-small.png b/system/resources/images/htmly-small.png
new file mode 100755
index 0000000..5b61e75
Binary files /dev/null and b/system/resources/images/htmly-small.png differ
diff --git a/system/resources/images/logo-big.png b/system/resources/images/logo-big.png
new file mode 100755
index 0000000..5c7dac6
Binary files /dev/null and b/system/resources/images/logo-big.png differ
diff --git a/system/resources/images/logo-small.png b/system/resources/images/logo-small.png
new file mode 100755
index 0000000..00603ab
Binary files /dev/null and b/system/resources/images/logo-small.png differ
diff --git a/system/resources/images/logo.png b/system/resources/images/logo.png
new file mode 100755
index 0000000..e522787
Binary files /dev/null and b/system/resources/images/logo.png differ
diff --git a/system/resources/images/share-facebook.png b/system/resources/images/share-facebook.png
new file mode 100755
index 0000000..5541821
Binary files /dev/null and b/system/resources/images/share-facebook.png differ
diff --git a/system/resources/images/share-twitter.png b/system/resources/images/share-twitter.png
new file mode 100755
index 0000000..26f102b
Binary files /dev/null and b/system/resources/images/share-twitter.png differ
diff --git a/system/resources/js/adminlte.min.js b/system/resources/js/adminlte.min.js
new file mode 100755
index 0000000..3f62fc4
--- /dev/null
+++ b/system/resources/js/adminlte.min.js
@@ -0,0 +1,6 @@
+/*!
+ * AdminLTE v3.0.5 (https://adminlte.io)
+ * Copyright 2014-2020 Colorlib
+ * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).adminlte={})}(this,(function(t){"use strict";var e=function(t){var e="ControlSidebar",i="lte.controlsidebar",n=t.fn[e],s={COLLAPSED:"collapsed.lte.controlsidebar",EXPANDED:"expanded.lte.controlsidebar"},o=".control-sidebar",a=".control-sidebar-content",r='[data-widget="control-sidebar"]',l=".main-header",c=".main-footer",d="control-sidebar-animate",h="control-sidebar-open",f="control-sidebar-slide-open",u="layout-fixed",g="layout-navbar-fixed",p="layout-sm-navbar-fixed",_="layout-md-navbar-fixed",m="layout-lg-navbar-fixed",v="layout-xl-navbar-fixed",C="layout-footer-fixed",y="layout-sm-footer-fixed",b="layout-md-footer-fixed",w="layout-lg-footer-fixed",x="layout-xl-footer-fixed",E={controlsidebarSlide:!0,scrollbarTheme:"os-theme-light",scrollbarAutoHide:"l"},A=function(){function e(t,e){this._element=t,this._config=e,this._init()}var n=e.prototype;return n.collapse=function(){this._config.controlsidebarSlide?(t("html").addClass(d),t("body").removeClass(f).delay(300).queue((function(){t(o).hide(),t("html").removeClass(d),t(this).dequeue()}))):t("body").removeClass(h);var e=t.Event(s.COLLAPSED);t(this._element).trigger(e)},n.show=function(){this._config.controlsidebarSlide?(t("html").addClass(d),t(o).show().delay(10).queue((function(){t("body").addClass(f).delay(300).queue((function(){t("html").removeClass(d),t(this).dequeue()})),t(this).dequeue()}))):t("body").addClass(h);var e=t.Event(s.EXPANDED);t(this._element).trigger(e)},n.toggle=function(){t("body").hasClass(h)||t("body").hasClass(f)?this.collapse():this.show()},n._init=function(){var e=this;this._fixHeight(),this._fixScrollHeight(),t(window).resize((function(){e._fixHeight(),e._fixScrollHeight()})),t(window).scroll((function(){(t("body").hasClass(h)||t("body").hasClass(f))&&e._fixScrollHeight()}))},n._fixScrollHeight=function(){var e={scroll:t(document).height(),window:t(window).height(),header:t(l).outerHeight(),footer:t(c).outerHeight()},i=Math.abs(e.window+t(window).scrollTop()-e.scroll),n=t(window).scrollTop(),s=!1,r=!1;t("body").hasClass(u)&&((t("body").hasClass(g)||t("body").hasClass(p)||t("body").hasClass(_)||t("body").hasClass(m)||t("body").hasClass(v))&&"fixed"===t(l).css("position")&&(s=!0),(t("body").hasClass(C)||t("body").hasClass(y)||t("body").hasClass(b)||t("body").hasClass(w)||t("body").hasClass(x))&&"fixed"===t(c).css("position")&&(r=!0),0===n&&0===i?(t(o).css("bottom",e.footer),t(o).css("top",e.header),t(o+", "+o+" "+a).css("height",e.window-(e.header+e.footer))):i<=e.footer?!1===r?(t(o).css("bottom",e.footer-i),t(o+", "+o+" "+a).css("height",e.window-(e.footer-i))):t(o).css("bottom",e.footer):n<=e.header?!1===s?(t(o).css("top",e.header-n),t(o+", "+o+" "+a).css("height",e.window-(e.header-n))):t(o).css("top",e.header):!1===s?(t(o).css("top",0),t(o+", "+o+" "+a).css("height",e.window)):t(o).css("top",e.header))},n._fixHeight=function(){var e=t(window).height(),i=t(l).outerHeight(),n=t(c).outerHeight();if(t("body").hasClass(u)){var s=e-i;(t("body").hasClass(C)||t("body").hasClass(y)||t("body").hasClass(b)||t("body").hasClass(w)||t("body").hasClass(x))&&"fixed"===t(c).css("position")&&(s=e-i-n),t(o+" "+a).css("height",s),"undefined"!=typeof t.fn.overlayScrollbars&&t(o+" "+a).overlayScrollbars({className:this._config.scrollbarTheme,sizeAutoCapable:!0,scrollbars:{autoHide:this._config.scrollbarAutoHide,clickScrolling:!0}})}},e._jQueryInterface=function(n){return this.each((function(){var s=t(this).data(i),o=t.extend({},E,t(this).data());if(s||(s=new e(this,o),t(this).data(i,s)),"undefined"===s[n])throw new Error(n+" is not a function");s[n]()}))},e}();return t(document).on("click",r,(function(e){e.preventDefault(),A._jQueryInterface.call(t(this),"toggle")})),t.fn[e]=A._jQueryInterface,t.fn[e].Constructor=A,t.fn[e].noConflict=function(){return t.fn[e]=n,A._jQueryInterface},A}(jQuery),i=function(t){var e="Layout",i=t.fn[e],n=".main-header",s=".main-sidebar",o=".main-sidebar .sidebar",a=".content-wrapper",r=".control-sidebar-content",l='[data-widget="control-sidebar"]',c=".main-footer",d='[data-widget="pushmenu"]',h=".login-box",f=".register-box",u="sidebar-focused",g="layout-fixed",p="control-sidebar-slide-open",_="control-sidebar-open",m={scrollbarTheme:"os-theme-light",scrollbarAutoHide:"l",panelAutoHeight:!0,loginRegisterAutoHeight:!0},v=function(){function e(t,e){this._config=e,this._element=t,this._init()}var i=e.prototype;return i.fixLayoutHeight=function(e){void 0===e&&(e=null);var i=0;(t("body").hasClass(p)||t("body").hasClass(_)||"control_sidebar"==e)&&(i=t(r).height());var s={window:t(window).height(),header:0!==t(n).length?t(n).outerHeight():0,footer:0!==t(c).length?t(c).outerHeight():0,sidebar:0!==t(o).length?t(o).height():0,control_sidebar:i},l=this._max(s),d=this._config.panelAutoHeight;!0===d&&(d=0),!1!==d&&(l==s.control_sidebar?t(a).css("min-height",l+d):l==s.window?t(a).css("min-height",l+d-s.header-s.footer):t(a).css("min-height",l+d-s.header),this._isFooterFixed()&&t(a).css("min-height",parseFloat(t(a).css("min-height"))+s.footer)),t("body").hasClass(g)&&(!1!==d&&t(a).css("min-height",l+d-s.header-s.footer),"undefined"!=typeof t.fn.overlayScrollbars&&t(o).overlayScrollbars({className:this._config.scrollbarTheme,sizeAutoCapable:!0,scrollbars:{autoHide:this._config.scrollbarAutoHide,clickScrolling:!0}}))},i.fixLoginRegisterHeight=function(){if(0===t(h+", "+f).length)t("body, html").css("height","auto");else if(0!==t(h+", "+f).length){var e=t(h+", "+f).height();t("body").css("min-height")!==e&&t("body").css("min-height",e)}},i._init=function(){var e=this;this.fixLayoutHeight(),!0===this._config.loginRegisterAutoHeight?this.fixLoginRegisterHeight():Number.isInteger(this._config.loginRegisterAutoHeight)&&setInterval(this.fixLoginRegisterHeight,this._config.loginRegisterAutoHeight),t(o).on("collapsed.lte.treeview expanded.lte.treeview",(function(){e.fixLayoutHeight()})),t(d).on("collapsed.lte.pushmenu shown.lte.pushmenu",(function(){e.fixLayoutHeight()})),t(l).on("collapsed.lte.controlsidebar",(function(){e.fixLayoutHeight()})).on("expanded.lte.controlsidebar",(function(){e.fixLayoutHeight("control_sidebar")})),t(window).resize((function(){e.fixLayoutHeight()})),setTimeout((function(){t("body.hold-transition").removeClass("hold-transition")}),50)},i._max=function(t){var e=0;return Object.keys(t).forEach((function(i){t[i]>e&&(e=t[i])})),e},i._isFooterFixed=function(){return"fixed"===t(".main-footer").css("position")},e._jQueryInterface=function(i){return void 0===i&&(i=""),this.each((function(){var n=t(this).data("lte.layout"),s=t.extend({},m,t(this).data());n||(n=new e(t(this),s),t(this).data("lte.layout",n)),"init"===i||""===i?n._init():"fixLayoutHeight"!==i&&"fixLoginRegisterHeight"!==i||n[i]()}))},e}();return t(window).on("load",(function(){v._jQueryInterface.call(t("body"))})),t(o+" a").on("focusin",(function(){t(s).addClass(u)})),t(o+" a").on("focusout",(function(){t(s).removeClass(u)})),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=i,v._jQueryInterface},v}(jQuery),n=function(t){var e="PushMenu",i=".lte.pushmenu",n=t.fn[e],s={COLLAPSED:"collapsed"+i,SHOWN:"shown"+i},o={autoCollapseSize:992,enableRemember:!1,noTransitionAfterReload:!0},a='[data-widget="pushmenu"]',r="body",l="#sidebar-overlay",c=".wrapper",d="sidebar-collapse",h="sidebar-open",f="sidebar-closed",u=function(){function e(e,i){this._element=e,this._options=t.extend({},o,i),t(l).length||this._addOverlay(),this._init()}var n=e.prototype;return n.expand=function(){this._options.autoCollapseSize&&t(window).width()<=this._options.autoCollapseSize&&t(r).addClass(h),t(r).removeClass(d).removeClass(f),this._options.enableRemember&&localStorage.setItem("remember"+i,h);var e=t.Event(s.SHOWN);t(this._element).trigger(e)},n.collapse=function(){this._options.autoCollapseSize&&t(window).width()<=this._options.autoCollapseSize&&t(r).removeClass(h).addClass(f),t(r).addClass(d),this._options.enableRemember&&localStorage.setItem("remember"+i,d);var e=t.Event(s.COLLAPSED);t(this._element).trigger(e)},n.toggle=function(){t(r).hasClass(d)?this.expand():this.collapse()},n.autoCollapse=function(e){void 0===e&&(e=!1),this._options.autoCollapseSize&&(t(window).width()<=this._options.autoCollapseSize?t(r).hasClass(h)||this.collapse():1==e&&(t(r).hasClass(h)?t(r).removeClass(h):t(r).hasClass(f)&&this.expand()))},n.remember=function(){this._options.enableRemember&&(localStorage.getItem("remember"+i)==d?this._options.noTransitionAfterReload?t("body").addClass("hold-transition").addClass(d).delay(50).queue((function(){t(this).removeClass("hold-transition"),t(this).dequeue()})):t("body").addClass(d):this._options.noTransitionAfterReload?t("body").addClass("hold-transition").removeClass(d).delay(50).queue((function(){t(this).removeClass("hold-transition"),t(this).dequeue()})):t("body").removeClass(d))},n._init=function(){var e=this;this.remember(),this.autoCollapse(),t(window).resize((function(){e.autoCollapse(!0)}))},n._addOverlay=function(){var e=this,i=t("",{id:"sidebar-overlay"});i.on("click",(function(){e.collapse()})),t(c).append(i)},e._jQueryInterface=function(i){return this.each((function(){var n=t(this).data("lte.pushmenu"),s=t.extend({},o,t(this).data());n||(n=new e(this,s),t(this).data("lte.pushmenu",n)),"string"==typeof i&&i.match(/collapse|expand|toggle/)&&n[i]()}))},e}();return t(document).on("click",a,(function(e){e.preventDefault();var i=e.currentTarget;"pushmenu"!==t(i).data("widget")&&(i=t(i).closest(a)),u._jQueryInterface.call(t(i),"toggle")})),t(window).on("load",(function(){u._jQueryInterface.call(t(a))})),t.fn[e]=u._jQueryInterface,t.fn[e].Constructor=u,t.fn[e].noConflict=function(){return t.fn[e]=n,u._jQueryInterface},u}(jQuery),s=function(t){var e="Treeview",i=t.fn[e],n={SELECTED:"selected.lte.treeview",EXPANDED:"expanded.lte.treeview",COLLAPSED:"collapsed.lte.treeview",LOAD_DATA_API:"load.lte.treeview"},s=".nav-item",o=".nav-treeview",a=".menu-open",r='[data-widget="treeview"]',l="menu-open",c="sidebar-collapse",d={trigger:r+" "+".nav-link",animationSpeed:300,accordion:!0,expandSidebar:!1,sidebarButtonSelector:'[data-widget="pushmenu"]'},h=function(){function e(t,e){this._config=e,this._element=t}var i=e.prototype;return i.init=function(){this._setupListeners()},i.expand=function(e,i){var s=this,r=t.Event(n.EXPANDED);if(this._config.accordion){var c=i.siblings(a).first(),d=c.find(o).first();this.collapse(d,c)}e.stop().slideDown(this._config.animationSpeed,(function(){i.addClass(l),t(s._element).trigger(r)})),this._config.expandSidebar&&this._expandSidebar()},i.collapse=function(e,i){var s=this,r=t.Event(n.COLLAPSED);e.stop().slideUp(this._config.animationSpeed,(function(){i.removeClass(l),t(s._element).trigger(r),e.find(a+" > "+o).slideUp(),e.find(a).removeClass(l)}))},i.toggle=function(e){var i=t(e.currentTarget),n=i.parent(),a=n.find("> "+o);if(a.is(o)||(n.is(s)||(a=n.parent().find("> "+o)),a.is(o))){e.preventDefault();var r=i.parents(s).first();r.hasClass(l)?this.collapse(t(a),r):this.expand(t(a),r)}},i._setupListeners=function(){var e=this;t(document).on("click",this._config.trigger,(function(t){e.toggle(t)}))},i._expandSidebar=function(){t("body").hasClass(c)&&t(this._config.sidebarButtonSelector).PushMenu("expand")},e._jQueryInterface=function(i){return this.each((function(){var n=t(this).data("lte.treeview"),s=t.extend({},d,t(this).data());n||(n=new e(t(this),s),t(this).data("lte.treeview",n)),"init"===i&&n[i]()}))},e}();return t(window).on(n.LOAD_DATA_API,(function(){t(r).each((function(){h._jQueryInterface.call(t(this),"init")}))})),t.fn[e]=h._jQueryInterface,t.fn[e].Constructor=h,t.fn[e].noConflict=function(){return t.fn[e]=i,h._jQueryInterface},h}(jQuery),o=function(t){var e="DirectChat",i=t.fn[e],n="toggled{EVENT_KEY}",s='[data-widget="chat-pane-toggle"]',o=".direct-chat",a="direct-chat-contacts-open",r=function(){function e(t,e){this._element=t}return e.prototype.toggle=function(){t(this._element).parents(o).first().toggleClass(a);var e=t.Event(n);t(this._element).trigger(e)},e._jQueryInterface=function(i){return this.each((function(){var n=t(this).data("lte.directchat");n||(n=new e(t(this)),t(this).data("lte.directchat",n)),n[i]()}))},e}();return t(document).on("click",s,(function(e){e&&e.preventDefault(),r._jQueryInterface.call(t(this),"toggle")})),t.fn[e]=r._jQueryInterface,t.fn[e].Constructor=r,t.fn[e].noConflict=function(){return t.fn[e]=i,r._jQueryInterface},r}(jQuery),a=function(t){var e="TodoList",i=t.fn[e],n='[data-widget="todo-list"]',s="done",o={onCheck:function(t){return t},onUnCheck:function(t){return t}},a=function(){function e(t,e){this._config=e,this._element=t,this._init()}var i=e.prototype;return i.toggle=function(e){e.parents("li").toggleClass(s),t(e).prop("checked")?this.check(e):this.unCheck(t(e))},i.check=function(t){this._config.onCheck.call(t)},i.unCheck=function(t){this._config.onUnCheck.call(t)},i._init=function(){var e=this;t(n).find("input:checkbox:checked").parents("li").toggleClass(s),t(n).on("change","input:checkbox",(function(i){e.toggle(t(i.target))}))},e._jQueryInterface=function(i){return this.each((function(){var n=t(this).data("lte.todolist"),s=t.extend({},o,t(this).data());n||(n=new e(t(this),s),t(this).data("lte.todolist",n)),"init"===i&&n[i]()}))},e}();return t(window).on("load",(function(){a._jQueryInterface.call(t(n))})),t.fn[e]=a._jQueryInterface,t.fn[e].Constructor=a,t.fn[e].noConflict=function(){return t.fn[e]=i,a._jQueryInterface},a}(jQuery),r=function(t){var e="CardWidget",i=".lte.cardwidget",n=t.fn[e],s={EXPANDED:"expanded"+i,COLLAPSED:"collapsed"+i,MAXIMIZED:"maximized"+i,MINIMIZED:"minimized"+i,REMOVED:"removed"+i},o="card",a="collapsed-card",r="collapsing-card",l="expanding-card",c="was-collapsed",d="maximized-card",h={DATA_REMOVE:'[data-card-widget="remove"]',DATA_COLLAPSE:'[data-card-widget="collapse"]',DATA_MAXIMIZE:'[data-card-widget="maximize"]',CARD:"."+o,CARD_HEADER:".card-header",CARD_BODY:".card-body",CARD_FOOTER:".card-footer",COLLAPSED:"."+a},f={animationSpeed:"normal",collapseTrigger:h.DATA_COLLAPSE,removeTrigger:h.DATA_REMOVE,maximizeTrigger:h.DATA_MAXIMIZE,collapseIcon:"fa-minus",expandIcon:"fa-plus",maximizeIcon:"fa-expand",minimizeIcon:"fa-compress"},u=function(){function e(e,i){this._element=e,this._parent=e.parents(h.CARD).first(),e.hasClass(o)&&(this._parent=e),this._settings=t.extend({},f,i)}var i=e.prototype;return i.collapse=function(){var e=this;this._parent.addClass(r).children(h.CARD_BODY+", "+h.CARD_FOOTER).slideUp(this._settings.animationSpeed,(function(){e._parent.addClass(a).removeClass(r)})),this._parent.find("> "+h.CARD_HEADER+" "+this._settings.collapseTrigger+" ."+this._settings.collapseIcon).addClass(this._settings.expandIcon).removeClass(this._settings.collapseIcon);var i=t.Event(s.COLLAPSED);this._element.trigger(i,this._parent)},i.expand=function(){var e=this;this._parent.addClass(l).children(h.CARD_BODY+", "+h.CARD_FOOTER).slideDown(this._settings.animationSpeed,(function(){e._parent.removeClass(a).removeClass(l)})),this._parent.find("> "+h.CARD_HEADER+" "+this._settings.collapseTrigger+" ."+this._settings.expandIcon).addClass(this._settings.collapseIcon).removeClass(this._settings.expandIcon);var i=t.Event(s.EXPANDED);this._element.trigger(i,this._parent)},i.remove=function(){this._parent.slideUp();var e=t.Event(s.REMOVED);this._element.trigger(e,this._parent)},i.toggle=function(){this._parent.hasClass(a)?this.expand():this.collapse()},i.maximize=function(){this._parent.find(this._settings.maximizeTrigger+" ."+this._settings.maximizeIcon).addClass(this._settings.minimizeIcon).removeClass(this._settings.maximizeIcon),this._parent.css({height:this._parent.height(),width:this._parent.width(),transition:"all .15s"}).delay(150).queue((function(){t(this).addClass(d),t("html").addClass(d),t(this).hasClass(a)&&t(this).addClass(c),t(this).dequeue()}));var e=t.Event(s.MAXIMIZED);this._element.trigger(e,this._parent)},i.minimize=function(){this._parent.find(this._settings.maximizeTrigger+" ."+this._settings.minimizeIcon).addClass(this._settings.maximizeIcon).removeClass(this._settings.minimizeIcon),this._parent.css("cssText","height:"+this._parent[0].style.height+" !important;width:"+this._parent[0].style.width+" !important; transition: all .15s;").delay(10).queue((function(){t(this).removeClass(d),t("html").removeClass(d),t(this).css({height:"inherit",width:"inherit"}),t(this).hasClass(c)&&t(this).removeClass(c),t(this).dequeue()}));var e=t.Event(s.MINIMIZED);this._element.trigger(e,this._parent)},i.toggleMaximize=function(){this._parent.hasClass(d)?this.minimize():this.maximize()},i._init=function(e){var i=this;this._parent=e,t(this).find(this._settings.collapseTrigger).click((function(){i.toggle()})),t(this).find(this._settings.maximizeTrigger).click((function(){i.toggleMaximize()})),t(this).find(this._settings.removeTrigger).click((function(){i.remove()}))},e._jQueryInterface=function(i){var n=t(this).data("lte.cardwidget"),s=t.extend({},f,t(this).data());n||(n=new e(t(this),s),t(this).data("lte.cardwidget","string"==typeof i?n:i)),"string"==typeof i&&i.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)?n[i]():"object"==typeof i&&n._init(t(this))},e}();return t(document).on("click",h.DATA_COLLAPSE,(function(e){e&&e.preventDefault(),u._jQueryInterface.call(t(this),"toggle")})),t(document).on("click",h.DATA_REMOVE,(function(e){e&&e.preventDefault(),u._jQueryInterface.call(t(this),"remove")})),t(document).on("click",h.DATA_MAXIMIZE,(function(e){e&&e.preventDefault(),u._jQueryInterface.call(t(this),"toggleMaximize")})),t.fn[e]=u._jQueryInterface,t.fn[e].Constructor=u,t.fn[e].noConflict=function(){return t.fn[e]=n,u._jQueryInterface},u}(jQuery),l=function(t){var e="CardRefresh",i=t.fn[e],n={LOADED:"loaded.lte.cardrefresh",OVERLAY_ADDED:"overlay.added.lte.cardrefresh",OVERLAY_REMOVED:"overlay.removed.lte.cardrefresh"},s="card",o={CARD:"."+s,DATA_REFRESH:'[data-card-widget="card-refresh"]'},a={source:"",sourceSelector:"",params:{},trigger:o.DATA_REFRESH,content:".card-body",loadInContent:!0,loadOnInit:!0,responseType:"",overlayTemplate:' ');e.data("autohide",this._config.autohide),e.data("animation",this._config.fade),this._config.class&&e.addClass(this._config.class),this._config.delay&&500!=this._config.delay&&e.data("delay",this._config.delay);var i=t('');if(null!=this._config.image){var s=t("
").addClass("rounded mr-2").attr("src",this._config.image).attr("alt",this._config.imageAlt);null!=this._config.imageHeight&&s.height(this._config.imageHeight).width("auto"),i.append(s)}if(null!=this._config.icon&&i.append(t("").addClass("mr-2").addClass(this._config.icon)),null!=this._config.title&&i.append(t("").addClass("mr-auto").html(this._config.title)),null!=this._config.subtitle&&i.append(t("").html(this._config.subtitle)),1==this._config.close){var o=t('').attr("type","button").addClass("ml-2 mb-1 close").attr("aria-label","Close").append(' ');null==this._config.title&&o.toggleClass("ml-2 ml-auto"),i.append(o)}e.append(i),null!=this._config.body&&e.append(t('').html(this._config.body)),t(this._getContainerId()).prepend(e);var a=t.Event(n.CREATED);t("body").trigger(a),e.toast("show"),this._config.autoremove&&e.on("hidden.bs.toast",(function(){t(this).delay(200).remove();var e=t.Event(n.REMOVED);t("body").trigger(e)}))},i._getContainerId=function(){return this._config.position==f?s:this._config.position==u?o:this._config.position==g?a:this._config.position==p?r:void 0},i._prepareContainer=function(){if(0===t(this._getContainerId()).length){var e=t("").attr("id",this._getContainerId().replace("#",""));this._config.position==f?e.addClass(l):this._config.position==u?e.addClass(c):this._config.position==g?e.addClass(d):this._config.position==p&&e.addClass(h),t("body").append(e)}this._config.fixed?t(this._getContainerId()).addClass("fixed"):t(this._getContainerId()).removeClass("fixed")},e._jQueryInterface=function(i,n){return this.each((function(){var s=t.extend({},_,n),o=new e(t(this),s);"create"===i&&o[i]()}))},e}();return t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=i,m._jQueryInterface},m}(jQuery);t.CardRefresh=l,t.CardWidget=r,t.ControlSidebar=e,t.DirectChat=o,t.Dropdown=c,t.Layout=i,t.PushMenu=n,t.Toasts=d,t.TodoList=a,t.Treeview=s,Object.defineProperty(t,"__esModule",{value:!0})}));
diff --git a/system/resources/js/bootstrap.min.js b/system/resources/js/bootstrap.min.js
new file mode 100755
index 0000000..6cb87ac
--- /dev/null
+++ b/system/resources/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v4.4.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?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()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active",Qn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Bn=".dropdown-toggle",Vn="> .dropdown-menu .active",Yn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Rn)||g(this._element).hasClass(xn))){var t,i,e=g(this._element).closest(qn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Kn:Mn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(jn.HIDE,{relatedTarget:this._element}),a=g.Event(jn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(jn.HIDDEN,{relatedTarget:n._element}),e=g.Event(jn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,kn),this._element=null},t._activate=function(t,e,n){function i(){return o._transitionComplete(t,r,n)}var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Mn):g(e).find(Kn))[0],s=n&&r&&g(r).hasClass(Fn);if(r&&s){var a=_.getTransitionDurationFromElement(r);g(r).removeClass(Un).one(_.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Rn);var i=g(e.parentNode).find(Vn)[0];i&&g(i).removeClass(Rn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Rn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(Fn)&&t.classList.add(Un),t.parentNode&&g(t.parentNode).hasClass(Hn)){var o=g(t).closest(Wn)[0];if(o){var r=[].slice.call(o.querySelectorAll(Bn));g(r).addClass(Rn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(kn);if(e||(e=new i(this),t.data(kn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();g(document).on(jn.CLICK_DATA_API,Qn,function(t){t.preventDefault(),Yn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Yn._jQueryInterface,g.fn.tab.Constructor=Yn,g.fn.tab.noConflict=function(){return g.fn.tab=Ln,Yn._jQueryInterface};var zn="toast",Xn="bs.toast",$n="."+Xn,Gn=g.fn[zn],Jn={CLICK_DISMISS:"click.dismiss"+$n,HIDE:"hide"+$n,HIDDEN:"hidden"+$n,SHOW:"show"+$n,SHOWN:"shown"+$n},Zn="fade",ti="hide",ei="show",ni="showing",ii={animation:"boolean",autohide:"boolean",delay:"number"},oi={animation:!0,autohide:!0,delay:500},ri='[data-dismiss="toast"]',si=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this,e=g.Event(Jn.SHOW);if(g(this._element).trigger(e),!e.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Zn);var n=function(){t._element.classList.remove(ni),t._element.classList.add(ei),g(t._element).trigger(Jn.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(ti),_.reflow(this._element),this._element.classList.add(ni),this._config.animation){var i=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},t.hide=function(){if(this._element.classList.contains(ei)){var t=g.Event(Jn.HIDE);g(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ei)&&this._element.classList.remove(ei),g(this._element).off(Jn.CLICK_DISMISS),g.removeData(this._element,Xn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},oi,{},g(this._element).data(),{},"object"==typeof t&&t?t:{}),_.typeCheckConfig(zn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Jn.CLICK_DISMISS,ri,function(){return t.hide()})},t._close=function(){function t(){e._element.classList.add(ti),g(e._element).trigger(Jn.HIDDEN)}var e=this;if(this._element.classList.remove(ei),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,t).emulateTransitionEnd(n)}else t()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Xn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Xn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return ii}},{key:"Default",get:function(){return oi}}]),i}();g.fn[zn]=si._jQueryInterface,g.fn[zn].Constructor=si,g.fn[zn].noConflict=function(){return g.fn[zn]=Gn,si._jQueryInterface},t.Alert=v,t.Button=H,t.Carousel=ut,t.Collapse=wt,t.Dropdown=ee,t.Modal=Te,t.Popover=hn,t.Scrollspy=On,t.Tab=Yn,t.Toast=si,t.Tooltip=Xe,t.Util=_,Object.defineProperty(t,"__esModule",{value:!0})});
diff --git a/system/resources/js/jquery-ui.min.js b/system/resources/js/jquery-ui.min.js
new file mode 100755
index 0000000..117cb35
--- /dev/null
+++ b/system/resources/js/jquery-ui.min.js
@@ -0,0 +1,13 @@
+/*! jQuery UI - v1.12.1 - 2016-09-14
+* http://jqueryui.com
+* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
+* Copyright jQuery Foundation and other contributors; Licensed MIT */
+
+(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t(""))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)
+}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;
+this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width ',onLoadStart:function(){},onLoadDone:function(t){return t}},r=function(){function e(e,i){if(this._element=e,this._parent=e.parents(o.CARD).first(),this._settings=t.extend({},a,i),this._overlay=t(this._settings.overlayTemplate),e.hasClass(s)&&(this._parent=e),""===this._settings.source)throw new Error("Source url was not defined. Please specify a url in your CardRefresh source option.")}var i=e.prototype;return i.load=function(){this._addOverlay(),this._settings.onLoadStart.call(t(this)),t.get(this._settings.source,this._settings.params,function(e){this._settings.loadInContent&&(""!=this._settings.sourceSelector&&(e=t(e).find(this._settings.sourceSelector).html()),this._parent.find(this._settings.content).html(e)),this._settings.onLoadDone.call(t(this),e),this._removeOverlay()}.bind(this),""!==this._settings.responseType&&this._settings.responseType);var e=t.Event(n.LOADED);t(this._element).trigger(e)},i._addOverlay=function(){this._parent.append(this._overlay);var e=t.Event(n.OVERLAY_ADDED);t(this._element).trigger(e)},i._removeOverlay=function(){this._parent.find(this._overlay).remove();var e=t.Event(n.OVERLAY_REMOVED);t(this._element).trigger(e)},i._init=function(e){var i=this;t(this).find(this._settings.trigger).on("click",(function(){i.load()})),this._settings.loadOnInit&&this.load()},e._jQueryInterface=function(i){var n=t(this).data("lte.cardrefresh"),s=t.extend({},a,t(this).data());n||(n=new e(t(this),s),t(this).data("lte.cardrefresh","string"==typeof i?n:i)),"string"==typeof i&&i.match(/load/)?n[i]():n._init(t(this))},e}();return t(document).on("click",o.DATA_REFRESH,(function(e){e&&e.preventDefault(),r._jQueryInterface.call(t(this),"load")})),t(document).ready((function(){t(o.DATA_REFRESH).each((function(){r._jQueryInterface.call(t(this))}))})),t.fn[e]=r._jQueryInterface,t.fn[e].Constructor=r,t.fn[e].noConflict=function(){return t.fn[e]=i,r._jQueryInterface},r}(jQuery),c=function(t){var e="Dropdown",i=t.fn[e],n=".navbar",s=".dropdown-menu",o=".dropdown-menu.show",a='[data-toggle="dropdown"]',r="dropdown-menu-right",l={},c=function(){function e(t,e){this._config=e,this._element=t}var i=e.prototype;return i.toggleSubmenu=function(){this._element.siblings().show().toggleClass("show"),this._element.next().hasClass("show")||this._element.parents(".dropdown-menu").first().find(".show").removeClass("show").hide(),this._element.parents("li.nav-item.dropdown.show").on("hidden.bs.dropdown",(function(e){t(".dropdown-submenu .show").removeClass("show").hide()}))},i.fixPosition=function(){var e=t(o);if(0!==e.length){e.hasClass(r)?(e.css("left","inherit"),e.css("right",0)):(e.css("left",0),e.css("right","inherit"));var i=e.offset(),n=e.width(),s=t(window).width()-i.left;i.left<0?(e.css("left","inherit"),e.css("right",i.left-5)):s