From 27b50615d52409069bba1744a17032331cd65aa7 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Fri, 2 Sep 2022 10:03:20 -0700 Subject: [PATCH 01/39] Add new "Baby Buddy on the Web" entry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a18beec1..c24eaf4e 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ adding it here or reach out via GitHub Issues or Discussions or on Gitter! - [Sandstorm app](https://github.com/babybuddy/babybuddy-sandstorm) - [iOS shortcuts](https://github.com/babybuddy/babybuddy/discussions/300) - Newborn parenting software - [part 1](https://lutzky.net/2021/10/03/software-parenting-1/), [part 2](https://lutzky.net/2021/10/05/software-parenting-2/), [part 3](https://lutzky.net/2021/10/10/software-parenting-3/) (API, buttons, LCD information screen!) +- [Quick Entry Keypad for BabyBuddy and Home Assistant with ESPHome](https://github.com/sfgabe/OITProjects/tree/master/Baby_Buddy_Keypad) ## Reporting Vulnerabilities From 872abcdd0d517c4b81166913e36108914770691c Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Sun, 28 Aug 2022 20:20:53 -0700 Subject: [PATCH 02/39] Specify Python buildpack --- .buildpacks | 1 + 1 file changed, 1 insertion(+) create mode 100644 .buildpacks diff --git a/.buildpacks b/.buildpacks new file mode 100644 index 00000000..3de691dd --- /dev/null +++ b/.buildpacks @@ -0,0 +1 @@ +https://github.com/heroku/heroku-buildpack-python.git \ No newline at end of file From 2690ab487614a4bf1a8f945ba87f47bb9a9c605c Mon Sep 17 00:00:00 2001 From: matthieu-kr Date: Tue, 6 Sep 2022 23:19:17 -0400 Subject: [PATCH 03/39] Data mismatch - Issue #520 Updates cards.py to use feeding end time to calculate total food for a given day. Ensures consitency between the dashboard and reporting. --- dashboard/templatetags/cards.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dashboard/templatetags/cards.py b/dashboard/templatetags/cards.py index d5e9400c..110686a3 100644 --- a/dashboard/templatetags/cards.py +++ b/dashboard/templatetags/cards.py @@ -135,7 +135,7 @@ def card_feeding_day(context, child, end_date=None): # do one pass over the data and add it to the appropriate day for instance in instances: # convert to local tz and push feed_date to end so we're comparing apples to apples for the date - feed_date = timezone.localtime(instance.start).replace( + feed_date = timezone.localtime(instance.end).replace( hour=23, minute=59, second=59, microsecond=9999 ) idx = (end_date - feed_date).days From 46159850c404cfefe2c583fec45af622758893cd Mon Sep 17 00:00:00 2001 From: EnsuingRequiem Date: Sun, 18 Sep 2022 16:00:41 -0500 Subject: [PATCH 04/39] Add forward auth by way of remote user * Add forward auth related settings * Document forward auth settings * Rearrange code to match preference * Adjust forward auth configuration * Add tests for reverse proxy auth Closes #517 Co-authored-by: Christopher C. Wells --- babybuddy/middleware.py | 18 +++++++++--- babybuddy/settings/base.py | 8 ++++++ babybuddy/tests/tests_reverse_proxy_auth.py | 31 +++++++++++++++++++++ docs/configuration/security.md | 28 +++++++++++++++++++ 4 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 babybuddy/tests/tests_reverse_proxy_auth.py diff --git a/babybuddy/middleware.py b/babybuddy/middleware.py index 362f8c0f..9af7cb70 100644 --- a/babybuddy/middleware.py +++ b/babybuddy/middleware.py @@ -1,4 +1,5 @@ -import time +from os import getenv +from time import time import pytz @@ -6,6 +7,7 @@ from django.conf import settings from django.utils import timezone, translation from django.conf.locale.en import formats as formats_en_us from django.conf.locale.en_GB import formats as formats_en_gb +from django.contrib.auth.middleware import RemoteUserMiddleware def update_en_us_date_formats(): @@ -134,12 +136,20 @@ class RollingSessionMiddleware: session_refresh = request.session.get("session_refresh") if session_refresh: try: - delta = int(time.time()) - session_refresh + delta = int(time()) - session_refresh except (ValueError, TypeError): delta = settings.ROLLING_SESSION_REFRESH + 1 if delta > settings.ROLLING_SESSION_REFRESH: - request.session["session_refresh"] = int(time.time()) + request.session["session_refresh"] = int(time()) request.session.set_expiry(settings.SESSION_COOKIE_AGE) else: - request.session["session_refresh"] = int(time.time()) + request.session["session_refresh"] = int(time()) return self.get_response(request) + + +class CustomRemoteUser(RemoteUserMiddleware): + """ + Middleware used for remote authentication when `REVERSE_PROXY_AUTH` is True. + """ + + header = getenv("PROXY_HEADER", "HTTP_REMOTE_USER") diff --git a/babybuddy/settings/base.py b/babybuddy/settings/base.py index c51fb1ce..d15609ae 100644 --- a/babybuddy/settings/base.py +++ b/babybuddy/settings/base.py @@ -143,6 +143,14 @@ LOGIN_URL = "babybuddy:login" LOGOUT_REDIRECT_URL = "babybuddy:login" +REVERSE_PROXY_AUTH = bool(strtobool(os.environ.get("REVERSE_PROXY_AUTH") or "False")) + +# Use remote user middleware when reverse proxy auth is enabled. +if REVERSE_PROXY_AUTH: + # Must appear AFTER AuthenticationMiddleware. + MIDDLEWARE.append("babybuddy.middleware.CustomRemoteUser") + AUTHENTICATION_BACKENDS.append("django.contrib.auth.backends.RemoteUserBackend") + # Timezone # https://docs.djangoproject.com/en/4.0/topics/i18n/timezones/ diff --git a/babybuddy/tests/tests_reverse_proxy_auth.py b/babybuddy/tests/tests_reverse_proxy_auth.py new file mode 100644 index 00000000..22b6bac2 --- /dev/null +++ b/babybuddy/tests/tests_reverse_proxy_auth.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +from django.core.management import call_command +from django.test import Client as HttpClient, TestCase, modify_settings + + +class ReverseProxyAuthTestCase(TestCase): + """ + Notes: + - A class method cannot be used to establish the HTTP client because of the + settings overrides required for these tests. + - Overriding the `REVERSE_PROXY_AUTH` environment variable directly is not + possible because environments variables are only evaluated once for the run. + """ + + def test_remote_user_authentication_disabled(self): + call_command("migrate", verbosity=0) + c = HttpClient() + response = c.get("/welcome/", HTTP_REMOTE_USER="admin", follow=True) + self.assertRedirects(response, "/login/?next=/welcome/") + + @modify_settings( + MIDDLEWARE={"append": "babybuddy.middleware.CustomRemoteUser"}, + AUTHENTICATION_BACKENDS={ + "append": "django.contrib.auth.backends.RemoteUserBackend" + }, + ) + def test_remote_user_authentication_enabled(self): + call_command("migrate", verbosity=0) + c = HttpClient() + response = c.get("/welcome/", HTTP_REMOTE_USER="admin") + self.assertEqual(response.status_code, 200) diff --git a/docs/configuration/security.md b/docs/configuration/security.md index 30d8fca5..4dcc7819 100644 --- a/docs/configuration/security.md +++ b/docs/configuration/security.md @@ -38,6 +38,34 @@ Each entry must contain both the scheme (http, https) and fully-qualified domain - [`ALLOWED_HOSTS`](#allowed_hosts) - [`SECURE_PROXY_SSL_HEADER`](#secure_proxy_ssl_header) +## `PROXY_HEADER` + +*Default:* `HTTP_REMOTE_USER` + +Sets the header to read the authenticated username from when +`REVERSE_PROXY_AUTH` has been enabled. + +**Example value** + + HTTP_X_AUTH_USER + +**See also** + +- [Django's documentation on the `REMOTE_USER` authentication method](https://docs.djangoproject.com/en/4.1/howto/auth-remote-user/) +- [`REVERSE_PROXY_AUTH`](#reverse_proxy_auth) + +## `REVERSE_PROXY_AUTH` + +*Default:* `False` + +Enable use of `PROXY_HEADER` to pass the username of an authenticated user. +This setting should *only* be used with a properly configured reverse proxy to +ensure the headers are not forwarded from sources other than your proxy. + +**See also** + +- [`PROXY_HEADER`](#proxy_header) + ## `SECRET_KEY` *Default:* `None` From 1cb7ba91532b240a7327a7756a2de9cec24df574 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 07:06:33 -0700 Subject: [PATCH 05/39] Add name to PyPi source See https://github.com/pypa/pipenv/discussions/5370 --- Pipfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Pipfile b/Pipfile index 0afc37d2..2fd61531 100644 --- a/Pipfile +++ b/Pipfile @@ -1,6 +1,7 @@ [[source]] verify_ssl = true url = "https://pypi.python.org/simple" +name = "pypi" [packages] boto3 = "*" From e44d6a4c4c2b0b49e75504a972d3655391b1929b Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:37 -0700 Subject: [PATCH 06/39] Update django.mo (POEditor.com) --- locale/zh/LC_MESSAGES/django.mo | Bin 25888 -> 27375 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/zh/LC_MESSAGES/django.mo b/locale/zh/LC_MESSAGES/django.mo index 8cfb20d123796fbaefaf03b8becdfce15369a829..f575da3ce605ca7a5c6836eef8d717e1b15b2c36 100644 GIT binary patch delta 8882 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 RJ2xfXeKTdOdvsjZzX2k1A4LEF delta 9783 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 Razf$im0V1V(rj|_{{ayHX`}!E From 23aaba9bcc4cd64290a46df15c19f8002553643a Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:38 -0700 Subject: [PATCH 07/39] Update django.po (POEditor.com) --- locale/zh/LC_MESSAGES/django.po | 2444 ++++++++++++++++--------------- 1 file changed, 1225 insertions(+), 1219 deletions(-) diff --git a/locale/zh/LC_MESSAGES/django.po b/locale/zh/LC_MESSAGES/django.po index e9467672..dc8dd059 100644 --- a/locale/zh/LC_MESSAGES/django.po +++ b/locale/zh/LC_MESSAGES/django.po @@ -1,25 +1,23 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-08-09 07:47+0000\n" -"Language: zh-Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: zh-Hans\n" "Plural-Forms: nplurals=1; plural=0;\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "设置" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 -#: dashboard/templates/dashboard/child.html:11 +#: dashboard/templates/dashboard/child.html:9 #: dashboard/templates/dashboard/child_button_group.html:6 #: dashboard/templates/dashboard/dashboard.html:4 #: dashboard/templates/dashboard/dashboard.html:7 @@ -31,10 +29,8 @@ msgid "Refresh rate" msgstr "刷新频率" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "如果浏览器支持,数据看板只会在可见及接收焦点时也会刷新。" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "此设置仅在浏览器不支持焦点刷新时使用。" #: babybuddy/models.py:28 msgid "disabled" @@ -72,116 +68,31 @@ msgstr "15分钟" msgid "30 min." msgstr "30分钟" -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "隐藏空的数据看板卡片" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "隐藏数据早于" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "此设置控制哪些数据显示在数据看板中。" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "展示所有数据" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1天" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2天" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3天" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1周" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 周" - #: babybuddy/models.py:63 msgid "Language" msgstr "语言" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "时区" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "{user}的设置" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "加泰罗尼亚语" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "中文(简体)" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "荷兰语" - -#: babybuddy/settings/base.py:169 -msgid "English (US)" -msgstr "英语(美国)" - -#: babybuddy/settings/base.py:170 -msgid "English (UK)" -msgstr "英语(英国)" +#: babybuddy/settings/base.py:171 +msgid "English" +msgstr "英语" #: babybuddy/settings/base.py:171 msgid "French" msgstr "法语" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "芬兰语" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "无权限" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "德语" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "意大利语" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "波兰语" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "葡萄牙语" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "西班牙语" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "瑞典语" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "土耳其语" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "数据库管理员" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "您没有访问此资源的权限。\n" +"请与站点管理员联系以获取帮助。" #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -206,34 +117,32 @@ msgstr "提交" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "错误: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "错误: 有些字段有错误。详情见下文。 " +msgid "Error: Some fields have errors. See below for details. " +msgstr "错误: 字段填写错误。参见具体原因。 " -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "更换尿布" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "喂食" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "记录" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -243,8 +152,8 @@ msgstr "记录" msgid "Sleep" msgstr "睡眠" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -256,15 +165,24 @@ msgstr "睡眠" msgid "Tummy Time" msgstr "趴玩时间" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "时间线" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "体重" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -274,7 +192,7 @@ msgstr "时间线" msgid "Children" msgstr "我的宝宝" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -293,7 +211,7 @@ msgstr "我的宝宝" msgid "Child" msgstr "宝宝" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -302,112 +220,24 @@ msgstr "宝宝" msgid "Notes" msgstr "成长记录" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "测量" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:9 -msgid "BMI" -msgstr "身体质量指数(BMI)" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -msgid "BMI entry" -msgstr "BMI记录" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:9 -#: reports/templates/reports/report_list.html:25 -msgid "Head Circumference" -msgstr "头围" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "头围记录" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:9 -#: reports/templates/reports/report_list.html:26 -msgid "Height" -msgstr "身高" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -msgid "Height entry" -msgstr "身高记录" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "体温" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "体温读数" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:31 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:9 -msgid "Weight" -msgstr "体重" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "体重记录" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "活动" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "换尿布" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "换尿布" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -417,31 +247,15 @@ msgstr "换尿布" msgid "Feedings" msgstr "喂食" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:9 -msgid "Pumping" -msgstr "吸奶" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -msgid "Pumping entry" -msgstr "吸奶记录" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "睡眠记录" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "趴玩时间记录" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -449,23 +263,23 @@ msgstr "趴玩时间记录" msgid "User" msgstr "用户" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "密码" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "登出" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "站点" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API浏览" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -473,15 +287,19 @@ msgstr "API浏览" msgid "Users" msgstr "用户" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "后台管理员" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "支持" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "源代码" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "聊天 / 支持" @@ -492,7 +310,6 @@ msgstr "聊天 / 支持" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "上一页" @@ -504,7 +321,6 @@ msgstr "上一页" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "下一页" @@ -560,10 +376,7 @@ msgstr "删除" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" msgstr "

确定要删除%(object)s吗?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 @@ -620,7 +433,6 @@ msgstr "更新" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

更新 %(object)s

" @@ -650,7 +462,7 @@ msgstr "活动" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -688,10 +500,16 @@ msgstr "更改密码" msgid "User Settings" msgstr "用户设置" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "错误: 有些字段有错误。详情见下文。 " + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "用户档案" +#. This general word doesn't need translation. #: babybuddy/templates/babybuddy/user_settings_form.html:79 msgid "API" msgstr "API" @@ -714,12 +532,9 @@ msgid "Welcome to Baby Buddy!" msgstr "欢迎使用Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"通过使用 Baby Buddy 来跟踪了解和预测宝宝的需求,而无需 (过多地) 进行" -"猜测工作 —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "通过使用 Baby Buddy 来跟踪了解和预测宝宝的需求,而无需(过多地)进行猜测工作 —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -731,18 +546,15 @@ msgstr "" msgid "Diaper Changes" msgstr "更换尿布" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"随着条目数量的增加,Baby Buddy将帮助家长和护理人员使用数据看板和图表识别宝宝" -"的习惯。Baby Buddy是一款手机友好型产品,使用黑色主题帮助疲惫的爸爸妈妈在凌晨2" -"点喂食和换尿布。想要开始使用,只需单击下面的按钮添加您的第一个(或第二个、第三" -"个等)宝宝!" +#: babybuddy/templates/babybuddy/welcome.html:54 +#, fuzzy +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "随着条目数量的增加,Baby Buddy 将帮助家长和护理人员使用数据看板和图表识别宝宝的习惯。Baby Buddy 是一款手机友好型产品,使用黑色主题帮助疲惫的爸爸妈妈在凌晨两点喂食和换尿布。想要开始使用,只需单击下面的按钮添加您的第一个(或第二个、第三个等)宝宝!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -750,50 +562,6 @@ msgstr "" msgid "Add a Child" msgstr "添加一个宝宝" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "请求无效" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "无权限" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "您没有访问此资源的权限。请联系网站管理员以获得帮助。" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "如何修复" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" -"添加 %(origin)s 到环境变量 CSRF_TRUSTED_ORIGINS。用" -"英文逗号分隔多个来源。" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "页面未找到" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "路径 %(request_path)s 不存在。" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "服务器错误" - -#: babybuddy/templates/error/base.html:14 -msgid "Return to Baby Buddy" -msgstr "返回 Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "登录" @@ -818,10 +586,10 @@ msgstr "登录" msgid "Password Reset" msgstr "密码重置" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "糟糕! 两次密码输入的不一致,请重试。" +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

提示两次密码输入的不一致,请重试。

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -836,72 +604,35 @@ msgstr "重置密码" msgid "Reset Email Sent" msgstr "重置邮件发送" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"我们已通过电子邮件向您发送了设置密码的说明。如果您输入的电子邮件正确,您将很" -"快收到邮件。" - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"如果您没有收到电子邮件,请确保您已输入正确的邮箱地址,并检查您的垃圾邮件文件" -"夹。" - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "你收到这封邮件是因为你在网站 %(site_name)s 请求为你的账户重置密码。" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "请转到下面的网页来重置密码:" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "以防你已忘记,你的用户名是:" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "感谢使用 Baby Buddy!" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

我们已通过电子邮件向您发送了设置密码的说明。如果您输入的电子邮件正确,您将很快收到邮件。

\n" +"

如果您没有收到电子邮件,请确保您已输入正确的邮箱地址,并检查您的垃圾邮件文件夹。

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "忘记密码" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"在下面的表格中输入您的电子邮箱地址。如果地址有效,您将收到重置密码的说明。" - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "禁止访问" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "跨站请求伪造 (CSRF) 验证失败,请求中断。" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

在下面的表格中输入您的帐户电子邮件地址。如果地址有效,您将收到重置密码的说明。

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "用户 %(username)s 已添加!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "用户 %(username)s 已更新。" #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "User {user} 删除成功。" @@ -917,20 +648,10 @@ msgstr "用于API秘钥已重新生成。" msgid "Settings saved!" msgstr "设置已保存!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "标签" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "名称与宝宝名称不匹配。" -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "点击标签来添加 (+) 或删除 (-) ,也可编辑以新建标签。" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "不能选择未来的时间。" @@ -951,43 +672,6 @@ msgstr "另一个条目与指定的时间段相交。" msgid "Date/time can not be in the future." msgstr "不能选择未来的日期/时间。" -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "颜色" - -#: core/models.py:90 -msgid "Last used" -msgstr "上次使用" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "标签" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "日期" - #: core/models.py:163 msgid "First name" msgstr "名" @@ -1042,11 +726,14 @@ msgstr "绿色" msgid "Yellow" msgstr "黄色" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "数量" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "颜色" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "大便或小便是必填的。" #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1072,14 +759,6 @@ msgstr "母乳" msgid "Formula" msgstr "配方奶" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "强化母乳" - -#: core/models.py:286 -msgid "Solid food" -msgstr "固体食物" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "类型" @@ -1096,25 +775,19 @@ msgstr "左乳房" msgid "Right breast" msgstr "右乳房" -#: core/models.py:296 -msgid "Both breasts" -msgstr "两侧乳房" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "父母喂养" - -#: core/models.py:298 -msgid "Self fed" -msgstr "自己吃" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "方式" -#: core/models.py:452 -msgid "Napping" -msgstr "小睡" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "数量" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "只有“奶瓶”方式才允许使用“配方奶”类型。" #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1134,7 +807,6 @@ msgid "Timers" msgstr "计时器" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "计时器 #{id}" @@ -1142,22 +814,21 @@ msgstr "计时器 #{id}" msgid "Milestone" msgstr "里程碑" -#: core/templates/core/bmi_confirm_delete.html:4 -msgid "Delete a BMI Entry" -msgstr "删除一条BMI记录" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -msgid "Add a BMI Entry" -msgstr "新增一条BMI记录" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "新增BMI记录" - -#: core/templates/core/bmi_list.html:70 -msgid "No BMI entries found." -msgstr "未找到BMI记录。" +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "日期" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1167,36 +838,28 @@ msgstr "删除宝宝信息" msgid "To confirm this action. Type the full name of the child below." msgstr "确认这一行为,请在下面键入孩子的全名。" -#: core/templates/core/child_detail.html:25 +#: core/templates/core/child_detail.html:23 #: dashboard/templates/dashboard/dashboard.html:32 msgid "Born" msgstr "生日" -#: core/templates/core/child_detail.html:26 +#: core/templates/core/child_detail.html:24 #: dashboard/templates/dashboard/dashboard.html:33 msgid "Age" msgstr "年龄" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "新增宝宝" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s 之前 (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "出生日期" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "未找到宝宝。" -#: core/templates/core/child_quick_switch.html:6 -msgid "Switch child" -msgstr "切换宝宝" - -#: core/templates/core/child_quick_switch.html:13 -msgid "Switch to…" -msgstr "切换到…" - #: core/templates/core/diaperchange_confirm_delete.html:4 msgid "Delete a Diaper Change" msgstr "删除一条换尿布记录" @@ -1218,18 +881,14 @@ msgstr "添加一条换尿布记录" msgid "Add" msgstr "添加" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "新增换尿布记录" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "内容" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "未找到换尿布记录。" +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "添加一条尿布记录" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "删除一条喂食记录" @@ -1243,10 +902,6 @@ msgstr "更新一条喂食记录" msgid "Add a Feeding" msgstr "新增一条喂食记录" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "新增喂食记录" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "数量" @@ -1255,6 +910,934 @@ msgstr "数量" msgid "No feedings found." msgstr "未找到喂食记录。" +#: core/templates/core/note_confirm_delete.html:4 +msgid "Delete a Note" +msgstr "删除一条记录" + +#: core/templates/core/note_form.html:6 +msgid "Update a Note" +msgstr "更新一条记录" + +#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 +msgid "Add a Note" +msgstr "新增一条记录" + +#: core/templates/core/note_list.html:64 +msgid "No notes found." +msgstr "未找到记录。" + +#: core/templates/core/sleep_confirm_delete.html:4 +msgid "Delete a Sleep Entry" +msgstr "删除一条睡眠记录" + +#: core/templates/core/sleep_form.html:6 +msgid "Update a Sleep Entry" +msgstr "更新一条睡眠记录" + +#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 +msgid "Add a Sleep Entry" +msgstr "新增一条睡眠记录" + +#: core/templates/core/sleep_list.html:25 +#: core/templates/core/timer_form.html:12 +#: core/templates/core/timer_list.html:24 +#: core/templates/core/tummytime_list.html:24 +msgid "Start" +msgstr "开始" + +#: core/templates/core/sleep_list.html:26 +#: core/templates/core/timer_list.html:30 +#: core/templates/core/tummytime_list.html:25 +msgid "End" +msgstr "结束" + +#: core/templates/core/sleep_list.html:31 +msgid "Nap" +msgstr "小睡" + +#: core/templates/core/sleep_list.html:74 +msgid "No sleep entries found." +msgstr "未找到睡眠记录。" + +#: core/templates/core/timer_confirm_delete.html:5 +msgid "Delete %(object)s" +msgstr "删除 %(object)s" + +#: core/templates/core/timer_detail.html:28 +msgid "Started" +msgstr "已经开始" + +#: core/templates/core/timer_detail.html:30 +msgid "Stopped" +msgstr "已经结束" + +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s 由 %(object.user)s 创建" + +#: core/templates/core/timer_detail.html:63 +msgid "Timer actions" +msgstr "计时器操作" + +#: core/templates/core/timer_form.html:22 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 +msgid "Start Timer" +msgstr "开始计时" + +#: core/templates/core/timer_list.html:58 +msgid "No timer entries found." +msgstr "未找到计时器。" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "快速开始计时" + +#: core/templates/core/timer_nav.html:28 +msgid "View Timers" +msgstr "查看计时器" + +#: core/templates/core/timer_nav.html:32 +#: dashboard/templates/cards/timer_list.html:6 +msgid "Active Timers" +msgstr "激活的计时器" + +#: core/templates/core/timer_nav.html:38 +#: dashboard/templates/cards/diaperchange_last.html:17 +#: dashboard/templates/cards/diaperchange_types.html:12 +#: dashboard/templates/cards/feeding_day.html:20 +#: dashboard/templates/cards/feeding_day.html:52 +#: dashboard/templates/cards/feeding_last.html:17 +#: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 +#: dashboard/templates/cards/sleep_last.html:17 +#: dashboard/templates/cards/sleep_naps_day.html:18 +#: dashboard/templates/cards/tummytime_day.html:14 +msgid "None" +msgstr "无" + +#: core/templates/core/tummytime_confirm_delete.html:4 +msgid "Delete a Tummy Time Entry" +msgstr "删除一条趴玩记录" + +#: core/templates/core/tummytime_form.html:6 +msgid "Update a Tummy Time Entry" +msgstr "更新一条趴玩记录" + +#: core/templates/core/tummytime_form.html:8 +#: core/templates/core/tummytime_form.html:27 +msgid "Add a Tummy Time Entry" +msgstr "新增一条趴玩记录" + +#: core/templates/core/tummytime_list.html:67 +msgid "No tummy time entries found." +msgstr "未找到趴玩记录。" + +#: core/templates/core/weight_confirm_delete.html:4 +msgid "Delete a Weight Entry" +msgstr "删除一条体重记录" + +#: core/templates/core/weight_form.html:8 +#: core/templates/core/weight_form.html:17 +#: core/templates/core/weight_form.html:27 +msgid "Add a Weight Entry" +msgstr "新增一条体重记录" + +#: core/templates/core/weight_list.html:70 +msgid "No weight entries found." +msgstr "未找到体重记录。" + +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s 换了一条尿布。" + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s 开始喂食。" + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s 喂食完成。" + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s 睡着了。" + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s 醒了。" + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s 开始了趴玩时光!" + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s 结束了趴玩。" + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "为%(child)s 增加了一条 %(model)s 记录!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "增加了一条 %(model)s 记录!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "为%(child)s 更新了一条 %(model)s 记录!" + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "更新了一条 %(model)s 记录!" + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "%(first_name)s %(last_name)s 已新增!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s 停止。" + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "上一次换尿布" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s 之前" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "从不" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "过去一周" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "小便" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "大便" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "今天" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "昨天" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "%(key)s 天之前" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "上一次喂食" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "上一次喂食的方式" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "今天的睡觉" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "今天还没有" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s 条睡眠记录" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "上一次入睡" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "今天的小睡" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s 小睡%(plural)s" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "统计数据" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "没有足够的数据" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s 个激活的计时器%(plural)s" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "在 %(start)s 由 %(instance.user)s 开始" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "今天的趴玩时间" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s 直到 %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "上一次趴玩时间" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "宝宝行动" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "换尿布类型" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "换尿布时间间隔" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "喂食时间(平均)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "睡眠类型" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "睡眠统计" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "换尿布频率" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "喂食频率" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "平均小睡时间" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "每天的平均小睡次数" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "平均睡眠时间" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "平均清醒时间" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "每周体重变化" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "换尿布时间间隔" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "换尿布间隔时间(小时)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "总计" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "换尿布类型" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "换尿布次数" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "平均持续时间" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "总喂食量" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "平均喂食持续时间" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "平均持续时间(分钟)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "喂食次数" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "睡眠类型" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "当日时间" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "睡眠统计" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "睡眠总计" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "睡眠时间" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "体重" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "平均喂食持续时间" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "报告" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "没有足够的数据来生成报告。" + +#: core/models.py:296 +msgid "Both breasts" +msgstr "两侧乳房" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "德语" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "西班牙语" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "瑞典语" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "土耳其语" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "您没有访问此资源的权限。请联系网站管理员以获得帮助。" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "体温" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "体温读数" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "通过使用 Baby Buddy 来跟踪了解和预测宝宝的需求,而无需 (过多地) 进行猜测工作 —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "随着条目数量的增加,Baby Buddy将帮助家长和护理人员使用数据看板和图表识别宝宝的习惯。Baby Buddy是一款手机友好型产品,使用黑色主题帮助疲惫的爸爸妈妈在凌晨2点喂食和换尿布。想要开始使用,只需单击下面的按钮添加您的第一个(或第二个、第三个等)宝宝!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "糟糕! 两次密码输入的不一致,请重试。" + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "我们已通过电子邮件向您发送了设置密码的说明。如果您输入的电子邮件正确,您将很快收到邮件。" + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "如果您没有收到电子邮件,请确保您已输入正确的邮箱地址,并检查您的垃圾邮件文件夹。" + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "在下面的表格中输入您的电子邮箱地址。如果地址有效,您将收到重置密码的说明。" + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "强化母乳" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "删除一个体温读数" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "新增一个体温读数" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "新增一个体温条目" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "未找到体温条目。" + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s 由 %(user)s 创建" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s 小时" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s 分钟" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s 秒" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s 条目已删除。" + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s 读数已增加!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(child)s 的 %(model)s 读数已更新。" + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "在 %(start)s 由 %(user)s 开始" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "喂食量" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "合计喂食量" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "合计喂食量" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "喂食量" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "没有足够的数据来生成这个报告。" + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "时区" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "数据库管理员" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "新增宝宝" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "新增换尿布记录" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "新增喂食记录" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "新增笔记" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "新增睡眠记录" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "新增体温记录" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "删除所有处于非活动状态的计时器" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "删除非活动" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "确定要删除%(number)s个非活动的计时器%(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "删除处于非活动状态下的计时器" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "新增趴玩时间" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "新增体重记录" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "所有处于非活动状态下的计时器已删除。" + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "不存在非活动的计时器。" + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "最近" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "前 %(n)s 次喂食%(plural)s" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "上一次睡眠" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "换尿布数量" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "换尿布数量" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "换尿布数量" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "换尿布数量" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "换尿布数量" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "如果浏览器支持,数据看板只会在可见及接收焦点时也会刷新。" + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "隐藏空的数据看板卡片" + +#. 应该为:隐藏早于......的数据 +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "隐藏数据早于" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "此设置控制哪些数据显示在数据看板中。" + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "展示所有数据" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1天" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2天" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3天" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1周" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 周" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "荷兰语" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "芬兰语" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "意大利语" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "波兰语" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "葡萄牙语" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "时间线" + +#: core/models.py:286 +msgid "Solid food" +msgstr "固体食物" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "父母喂养" + +#: core/models.py:298 +msgid "Self fed" +msgstr "自己吃" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "内容" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "重启计时器" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "删除计时器" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "今天" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0天" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "数量: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "内容: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s 之前
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "今天的喂食" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s 喂食条目" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "还没有数据" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "趴玩时光持续时间(合计)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "编辑" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "喂食频率(过去三天)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "喂食频率(过去两周)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "总持续时间" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "趴玩次数" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "趴玩时光持续时间合计" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "总持续时间(分钟)" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "趴玩时光持续时间合计" + +#: babybuddy/settings/base.py:169 +msgid "English (US)" +msgstr "英语(美国)" + +#: babybuddy/settings/base.py:170 +msgid "English (UK)" +msgstr "英语(英国)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "测量" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "身高" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "身高记录" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "头围" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "头围记录" + +#. BMI is an international standard +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "身体质量指数(BMI)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "BMI记录" + +#: core/models.py:452 +msgid "Napping" +msgstr "小睡" + +#: core/templates/core/bmi_confirm_delete.html:4 +msgid "Delete a BMI Entry" +msgstr "删除一条BMI记录" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +msgid "Add a BMI Entry" +msgstr "新增一条BMI记录" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "新增BMI记录" + +#: core/templates/core/bmi_list.html:70 +msgid "No bmi entries found." +msgstr "未找到BMI记录。" + #: core/templates/core/head_circumference_confirm_delete.html:4 msgid "Delete a Head Circumference Entry" msgstr "删除一条头围记录" @@ -1291,25 +1874,134 @@ msgstr "新增身高记录" msgid "No height entries found." msgstr "未找到身高记录。" -#: core/templates/core/note_confirm_delete.html:4 -msgid "Delete a Note" -msgstr "删除一条记录" +#: core/templates/timeline/_timeline.html:44 +msgid "Duration: %(duration)s" +msgstr "持续时间:%(duration)s" -#: core/templates/core/note_form.html:6 -msgid "Update a Note" -msgstr "更新一条记录" +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "距离上一次 %(since)s" -#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 -msgid "Add a Note" -msgstr "新增一条记录" +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "没有事件" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "新增笔记" +#: core/timeline.py:185 +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s 有一条 %(type)s 换尿裤记录." -#: core/templates/core/note_list.html:64 -msgid "No notes found." -msgstr "未找到记录。" +#: dashboard/templatetags/cards.py:372 +msgid "Height change per week" +msgstr "每周身高变化" + +#: dashboard/templatetags/cards.py:382 +msgid "Head circumference change per week" +msgstr "每周头围变化" + +#: dashboard/templatetags/cards.py:392 +msgid "BMI change per week" +msgstr "每周BMI变化" + +#: reports/graphs/bmi_change.py:27 +msgid "BMI" +msgstr "身体质量指数(BMI)" + +#: reports/graphs/feeding_amounts.py:69 +msgid "Total Feeding Amount by Type" +msgstr "按类型划分的总喂食量统计" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "头围" + +#: reports/graphs/height_change.py:27 +msgid "Height" +msgstr "身高" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "中文(简体)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "请求无效" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "如何修复" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "添加 %(origin)s 到环境变量 CSRF_TRUSTED_ORIGINS。用英文逗号分隔多个来源。" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "页面未找到" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "路径 %(request_path)s 不存在。" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "服务器错误" + +#: babybuddy/templates/error/base.html:14 +msgid "Return to Baby Buddy" +msgstr "返回 Baby Buddy!" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "禁止访问" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "跨站请求伪造 (CSRF) 验证失败,请求中断。" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "加泰罗尼亚语" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "吸奶" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "吸奶记录" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "标签" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "点击标签来添加 (+) 或删除 (-),也可编辑以新建标签。" + +#: core/models.py:90 +msgid "Last used" +msgstr "上次使用" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "标签" #: core/templates/core/pumping_confirm_delete.html:4 msgid "Delete a Pumping Entry" @@ -1329,195 +2021,6 @@ msgstr "新增吸奶记录" msgid "No pumping entries found." msgstr "未找到吸奶记录。" -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "快速开始计时" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -msgid "Quick Start Timer For…" -msgstr "为…快速开始计时" - -#: core/templates/core/sleep_confirm_delete.html:4 -msgid "Delete a Sleep Entry" -msgstr "删除一条睡眠记录" - -#: core/templates/core/sleep_form.html:6 -msgid "Update a Sleep Entry" -msgstr "更新一条睡眠记录" - -#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 -msgid "Add a Sleep Entry" -msgstr "新增一条睡眠记录" - -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "新增睡眠记录" - -#: core/templates/core/sleep_list.html:25 -#: core/templates/core/timer_form.html:12 -#: core/templates/core/timer_list.html:24 -#: core/templates/core/tummytime_list.html:24 -msgid "Start" -msgstr "开始" - -#: core/templates/core/sleep_list.html:26 -#: core/templates/core/timer_list.html:30 -#: core/templates/core/tummytime_list.html:25 -msgid "End" -msgstr "结束" - -#: core/templates/core/sleep_list.html:31 -msgid "Nap" -msgstr "小睡" - -#: core/templates/core/sleep_list.html:74 -msgid "No sleep entries found." -msgstr "未找到睡眠记录。" - -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "删除一个体温读数" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "新增一个体温读数" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "新增一个体温条目" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "新增体温记录" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "未找到体温条目。" - -#: core/templates/core/timer_confirm_delete.html:5 -#, python-format -msgid "Delete %(object)s" -msgstr "删除 %(object)s" - -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "删除所有处于非活动状态的计时器" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "删除非活动" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, python-format -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "确定要删除%(number)s个非活动的计时器?" - -#: core/templates/core/timer_detail.html:28 -msgid "Started" -msgstr "已经开始" - -#: core/templates/core/timer_detail.html:30 -msgid "Stopped" -msgstr "已经结束" - -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s 由 %(user)s 创建" - -#: core/templates/core/timer_detail.html:63 -msgid "Timer actions" -msgstr "计时器操作" - -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "重启计时器" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "删除计时器" - -#: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 -msgid "Start Timer" -msgstr "开始计时" - -#: core/templates/core/timer_list.html:58 -msgid "No timer entries found." -msgstr "未找到计时器。" - -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "删除处于非活动状态下的计时器" - -#: core/templates/core/timer_nav.html:20 -msgid "View Timers" -msgstr "查看计时器" - -#: core/templates/core/timer_nav.html:44 -#: dashboard/templates/cards/timer_list.html:6 -msgid "Active Timers" -msgstr "激活的计时器" - -#: core/templates/core/timer_nav.html:50 -#: dashboard/templates/cards/diaperchange_last.html:17 -#: dashboard/templates/cards/diaperchange_types.html:12 -#: dashboard/templates/cards/feeding_day.html:20 -#: dashboard/templates/cards/feeding_day.html:52 -#: dashboard/templates/cards/feeding_last.html:17 -#: dashboard/templates/cards/feeding_last_method.html:43 -#: dashboard/templates/cards/sleep_last.html:17 -#: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 -#: dashboard/templates/cards/tummytime_day.html:14 -msgid "None" -msgstr "无" - -#: core/templates/core/tummytime_confirm_delete.html:4 -msgid "Delete a Tummy Time Entry" -msgstr "删除一条趴玩记录" - -#: core/templates/core/tummytime_form.html:6 -msgid "Update a Tummy Time Entry" -msgstr "更新一条趴玩记录" - -#: core/templates/core/tummytime_form.html:8 -#: core/templates/core/tummytime_form.html:27 -msgid "Add a Tummy Time Entry" -msgstr "新增一条趴玩记录" - -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "新增趴玩时间" - -#: core/templates/core/tummytime_list.html:67 -msgid "No tummy time entries found." -msgstr "未找到趴玩记录。" - -#: core/templates/core/weight_confirm_delete.html:4 -msgid "Delete a Weight Entry" -msgstr "删除一条体重记录" - -#: core/templates/core/weight_form.html:8 -#: core/templates/core/weight_form.html:17 -#: core/templates/core/weight_form.html:27 -msgid "Add a Weight Entry" -msgstr "新增一条体重记录" - -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "新增体重记录" - -#: core/templates/core/weight_list.html:70 -msgid "No weight entries found." -msgstr "未找到体重记录。" - #: core/templates/core/widget_tag_editor.html:22 msgid "Tag name" msgstr "标签名" @@ -1556,553 +2059,56 @@ msgctxt "Error modal" msgid "Close" msgstr "关闭" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s 之前 (%(time)s)" +#: dashboard/templates/cards/feeding_day.html:32 +msgid "
%(since)s
" +msgstr "
%(since)s
" -#: core/templates/timeline/_timeline.html:44 -#, python-format -msgid "Duration: %(duration)s" -msgstr "持续时间:%(duration)s" +#: dashboard/templatetags/cards.py:410 +msgid "Diaper change frequency (past 3 days)" +msgstr "换尿布频率(过去三天)" -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "距离上一次 %(since)s" +#: dashboard/templatetags/cards.py:414 +msgid "Diaper change frequency (past 2 weeks)" +msgstr "换尿布频率(过去两周)" -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "编辑" +#: reports/graphs/pumping_amounts.py:57 +msgid "Total Pumping Amount" +msgstr "合计吸奶量" -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "没有事件" +#: reports/graphs/pumping_amounts.py:60 +msgid "Pumping Amount" +msgstr "吸奶量" -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "今天" +#: reports/templates/reports/report_list.html:10 +msgid "Body Mass Index (BMI)" +msgstr "身体质量指数 (BMI)" -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" +#: reports/templates/reports/report_list.html:18 +msgid "Pumping Amounts" +msgstr "吸奶量" -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0天" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "今天" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "昨天" - -#: core/templatetags/duration.py:116 -msgid " days ago" -msgstr "天之前" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s 开始了趴玩时光!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s 结束了趴玩。" - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s 睡着了。" - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s 醒了。" - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "数量: %(amount).0f" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s 开始喂食。" - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s 喂食完成。" - -#: core/timeline.py:185 -#, python-format -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s 有一条 %(type)s 换尿裤记录." - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s 小时" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s 分钟" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s 秒" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "为%(child)s 增加了一条 %(model)s 记录!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "增加了一条 %(model)s 记录!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "为%(child)s 更新了一条 %(model)s 记录!" - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "更新了一条 %(model)s 记录!" - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s 条目已删除。" - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "%(first_name)s %(last_name)s 已新增!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s 读数已增加!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(child)s 的 %(model)s 读数已更新。" - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s 停止。" - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "所有处于非活动状态下的计时器已删除。" - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "不存在非活动的计时器。" - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "上一次换尿布" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
%(since)s 之前
%(time)s" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "过去一周" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "小便" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "大便" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "%(key)s 天之前" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "今天的喂食" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "确定要删除%(number)s个非活动的计时器?" #: dashboard/templates/cards/feeding_day.html:25 -#, python-format msgid "%(counter)s feeding" msgid_plural "%(counter)s feedings" msgstr[0] "%(counter)s 次喂食" -#: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format -msgid "
%(since)s
" -msgstr "" - -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "上一次喂食" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "上一次喂食的方式" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "最近" - #: dashboard/templates/cards/feeding_last_method.html:21 -#, python-format msgid "%(n)s feeding ago" msgid_plural "%(n)s feedings ago" msgstr[0] "前 %(n)s 次喂食" -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "上一次睡眠" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "今天的小睡" - #: dashboard/templates/cards/sleep_naps_day.html:12 -#, python-format msgid "%(count)s nap" msgid_plural "%(count)s naps" msgstr[0] "%(count)s 小睡" -#: dashboard/templates/cards/sleep_recent.html:6 -msgid "Recent Sleep" -msgstr "最近的睡眠" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, python-format -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(counter)s 次睡眠" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "统计数据" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "没有足够的数据" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "还没有数据" - #: dashboard/templates/cards/timer_list.html:12 -#, python-format msgid "%(count)s active timer" msgid_plural "%(count)s active timers" msgstr[0] "%(count)s 个激活的计时器" -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "在 %(start)s 由 %(user)s 开始" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "今天的趴玩时间" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s 直到 %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "上一次趴玩时间" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "从不" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "宝宝行动" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/breadcrumb_common_chunk.html:6 -#: reports/templates/reports/report_list.html:4 -#: reports/templates/reports/report_list.html:11 -msgid "Reports" -msgstr "报告" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "平均小睡时间" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "每天的平均小睡次数" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "平均睡眠时间" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "平均清醒时间" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "每周体重变化" - -#: dashboard/templatetags/cards.py:401 -msgid "Height change per week" -msgstr "每周身高变化" - -#: dashboard/templatetags/cards.py:411 -msgid "Head circumference change per week" -msgstr "每周头围变化" - -#: dashboard/templatetags/cards.py:421 -msgid "BMI change per week" -msgstr "每周BMI变化" - -#: dashboard/templatetags/cards.py:439 -msgid "Diaper change frequency (past 3 days)" -msgstr "换尿布频率(过去三天)" - -#: dashboard/templatetags/cards.py:443 -msgid "Diaper change frequency (past 2 weeks)" -msgstr "换尿布频率(过去两周)" - -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "换尿布频率" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "喂食频率(过去三天)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "喂食频率(过去两周)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "喂食频率" - -#: reports/graphs/bmi_change.py:27 -msgid "BMI" -msgstr "身体质量指数(BMI)" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "换尿布数量" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "换尿布数量" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "换尿布数量" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "换尿布时间间隔" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "换尿布间隔时间(小时)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "总计" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "换尿布类型" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "换尿布次数" - -#: reports/graphs/feeding_amounts.py:69 -msgid "Total Feeding Amount by Type" -msgstr "按类型划分的总喂食量统计" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "喂食量" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "平均持续时间" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "总喂食量" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "平均喂食持续时间" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "平均持续时间(分钟)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "喂食次数" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "头围" - -#: reports/graphs/height_change.py:27 -msgid "Height" -msgstr "身高" - -#: reports/graphs/pumping_amounts.py:59 -msgid "Total Pumping Amount" -msgstr "合计吸奶量" - -#: reports/graphs/pumping_amounts.py:62 -msgid "Pumping Amount" -msgstr "吸奶量" - -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "睡眠类型" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "当日时间" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "睡眠统计" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "睡眠总计" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "睡眠时间" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "总持续时间" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "趴玩次数" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "趴玩时光持续时间合计" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "总持续时间(分钟)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "体重" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:9 -msgid "Diaper Amounts" -msgstr "换尿布数量" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:9 -#: reports/templates/reports/report_list.html:22 -msgid "Diaper Lifetimes" -msgstr "换尿布时间间隔" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:9 -#: reports/templates/reports/report_list.html:21 -msgid "Diaper Change Types" -msgstr "换尿布类型" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:9 -#: reports/templates/reports/report_list.html:23 -msgid "Feeding Amounts" -msgstr "喂食量" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:9 -msgid "Average Feeding Durations" -msgstr "平均喂食持续时间" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "没有足够的数据来生成这个报告。" - -#: reports/templates/reports/report_list.html:19 -msgid "Body Mass Index (BMI)" -msgstr "身体质量指数 (BMI)" - -#: reports/templates/reports/report_list.html:20 -msgid "Diaper Change Amounts" -msgstr "换尿布数量" - -#: reports/templates/reports/report_list.html:24 -msgid "Feeding Durations (Average)" -msgstr "喂食时间(平均)" - -#: reports/templates/reports/report_list.html:27 -msgid "Pumping Amounts" -msgstr "吸奶量" - -#: reports/templates/reports/report_list.html:28 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:9 -msgid "Sleep Pattern" -msgstr "睡眠类型" - -#: reports/templates/reports/report_list.html:29 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:9 -msgid "Sleep Totals" -msgstr "睡眠统计" - -#: reports/templates/reports/report_list.html:30 -msgid "Tummy Time Durations (Sum)" -msgstr "趴玩时光持续时间(合计)" - -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:9 -msgid "Total Tummy Time Durations" -msgstr "趴玩时光持续时间合计" - -#~ msgid "Today's Sleep" -#~ msgstr "今天的睡觉" - -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s 条睡眠记录" From be51824374eaaf9840f8bd7fb004614c4c607f1a Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:39 -0700 Subject: [PATCH 08/39] Update django.mo (POEditor.com) --- locale/nl/LC_MESSAGES/django.mo | Bin 20961 -> 28856 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/nl/LC_MESSAGES/django.mo b/locale/nl/LC_MESSAGES/django.mo index 8384fd93f57faf8c42749c0cd61759e7cf375516..4a3a7240812275741ccd31b710f43483cb3ec7ce 100644 GIT binary patch literal 28856 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 aZb}%suzb%OWlQG#Xr-;a_?O5X4gN0=^7bYG delta 8921 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 UE}>6ny=U%?7N=F4kD`nI59e7}3;+NC From 4808ce692a0d8de1f269712c0822426819a8a571 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:40 -0700 Subject: [PATCH 09/39] Update django.po (POEditor.com) --- locale/nl/LC_MESSAGES/django.po | 2250 +++++++++++++++---------------- 1 file changed, 1100 insertions(+), 1150 deletions(-) diff --git a/locale/nl/LC_MESSAGES/django.po b/locale/nl/LC_MESSAGES/django.po index 86036169..b5ef5731 100644 --- a/locale/nl/LC_MESSAGES/django.po +++ b/locale/nl/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Instellingen" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,12 +29,8 @@ msgid "Refresh rate" msgstr "Vernieuwingsfrequentie" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Indien ondersteund door de browser, zal het dashboard alleen worden " -"vernieuwd indien zichbaar, of als het focus krijgt." +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Deze instelling zal enkel gebruikt worden als de browser geen vernieuwing bij focus ondersteund." #: babybuddy/models.py:28 msgid "disabled" @@ -74,120 +68,31 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Verberg Lege Dashboard Kaarten" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Verberg data ouder dan" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "Deze instelling bepaald welke data zichtbaar is op het dashboard." - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "laat alle data zien" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 dag" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 dagen" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 dagen" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 weken" - #: babybuddy/models.py:63 msgid "Language" -msgstr "Talen" - -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Tijdzone" +msgstr "Taal" #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "{user}'s instellingen" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Nederlands" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "Engels" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "Engels" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Frans" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Fins" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Toegang geweigerd" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Duits" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "Italiaans" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "Pools" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "Portugees" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Spaans" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Zweeds" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Turks" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Database admin" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Je hebt niet de juiste rechten voor toegang tot deze module.\n" +"Neem voor hulp contact op met de site beheerder." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -212,36 +117,32 @@ msgstr "Verzenden" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Fout: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Fout: Sommige velden zijn fout. Kijk hieronder voor meer " -"info." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Fout: Enkele velden zijn foutief. Zie hieronder voor details." -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Luierverschoning" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Voeding" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Notitie" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -251,8 +152,8 @@ msgstr "Notitie" msgid "Sleep" msgstr "Slaap" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -264,15 +165,24 @@ msgstr "Slaap" msgid "Tummy Time" msgstr "Buikliggen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Gewicht" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -282,7 +192,7 @@ msgstr "" msgid "Children" msgstr "Kinderen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -301,7 +211,7 @@ msgstr "Kinderen" msgid "Child" msgstr "Kind" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -310,112 +220,24 @@ msgstr "Kind" msgid "Notes" msgstr "Notities" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "Metingen" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -msgid "BMI entry" -msgstr "MBI ingave" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "Hoofd omtrek" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "Hoofd omtrek ingave" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -msgid "Height" -msgstr "Lengte" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -msgid "Height entry" -msgstr "Lengte ingave" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatuur" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Temperatuur meting" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Gewicht" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Gewicht ingave" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Activiteiten" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Verschoningen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Verschoning" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -425,33 +247,15 @@ msgstr "Verschoning" msgid "Feedings" msgstr "Voedingen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Gewicht ingave" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" -msgstr "Slaap ingave" +msgstr "Slaap invoer" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" -msgstr "Buikliggen ingave" +msgstr "Buikliggen invoer" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -459,23 +263,23 @@ msgstr "Buikliggen ingave" msgid "User" msgstr "Gebruiker" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Wachtwoord" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Uitloggen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Site" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API browser" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -483,15 +287,19 @@ msgstr "API browser" msgid "Users" msgstr "Gebruikers" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Technisch beheer" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Ondersteuning" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Broncode" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / Hulp" @@ -502,7 +310,6 @@ msgstr "Chat / Hulp" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Vorige" @@ -514,7 +321,6 @@ msgstr "Vorige" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Volgende" @@ -570,13 +376,8 @@ msgstr "Verwijder" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Ben je zeker dat je %(object)s wil " -"verwijderen?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Ben je zeker dat je %(object)s wil verwijderen?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -601,7 +402,7 @@ msgstr "Annuleer" #: babybuddy/templates/babybuddy/user_form.html:28 #: babybuddy/templates/babybuddy/user_list.html:65 msgid "Create User" -msgstr "Maak gebruiker" +msgstr "Gebruiken Aanmaken" #: babybuddy/templates/babybuddy/user_form.html:16 #: core/templates/core/bmi_form.html:15 core/templates/core/child_form.html:16 @@ -617,7 +418,7 @@ msgstr "Maak gebruiker" #: core/templates/core/tummytime_form.html:15 #: core/templates/core/weight_form.html:15 msgid "Update" -msgstr "Update" +msgstr "Bijwerken" #: babybuddy/templates/babybuddy/user_form.html:24 #: core/templates/core/bmi_form.html:23 core/templates/core/child_form.html:24 @@ -632,7 +433,6 @@ msgstr "Update" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Update %(object)s

" @@ -648,7 +448,7 @@ msgstr "Achternaam" #: babybuddy/templates/babybuddy/user_list.html:20 msgid "Email" -msgstr "E-mail" +msgstr "Email" #: babybuddy/templates/babybuddy/user_list.html:21 msgid "Staff" @@ -662,7 +462,7 @@ msgstr "Actief" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -700,6 +500,11 @@ msgstr "Verander wachtwoord" msgid "User Settings" msgstr "Gebruikers instellingen" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Fout: Sommige velden bevatten fouten. Kijk hieronder voor details." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Gebruikersprofiel" @@ -726,12 +531,9 @@ msgid "Welcome to Baby Buddy!" msgstr "Welkom op Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Leer over en voorspel de behoeftes van de baby (zo goed als mogelijk) gokwerk door het gebruiken van Baby Buddy om alles te loggen —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Leer over en voorspel de baby's behoeftes zonder (al te veel) te gokken door Baby Buddy te gebruiken en alles bij te houden —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -743,22 +545,19 @@ msgstr "" msgid "Diaper Changes" msgstr "Luierverschoningen" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Als de ingevulde gegevens begint toe te nemen, zal Baby Buddy helpen om " -"ouders en verzorgers kleine patronen te vinden in de baby's hun omgeving " -"door het gebruik van het dashboard en grafieken. Baby Buddy is " -"gebruiksvriendelijk op mobiele toestellen en gebruikt een donker thema, om " -"de ogen van mama en papa niet te overbelasten bij het ingeven van de " -"gegevens midden in de nacht.\n" -"Om te beginnen, klik op onderstaande knop om je eerste (of tweede, " -"derde, ...) kind!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Hoe meer gegevens er zijn ingevoerd, hoe meer Baby Buddy subtiele patronen kan oppikken in de gewoonten van de baby.\n" +"Dit ten bate van de ouders en verzorgers die dit kunnen waarnemen via het \n" +"dashboard en de grafieken. Baby Buddy is geschikt voor gebruik op mobiele toestellen en\n" +"gebruikt een donkere kleurstelling om de nachtelijke ogen van mama en papa niet te overbelasten.\n" +"Om te beginnen, klik op onderstaande knop om je\n" +"eerste (of tweede, derde, ...) kind toe te voegen!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -766,52 +565,6 @@ msgstr "" msgid "Add a Child" msgstr "Voeg een kind toe" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Toegang geweigerd" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Je hebt niet de juiste machtigingen voor deze module. Contacteer de site " -"beheerder voor hulp." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Welkom op Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Login" @@ -822,7 +575,7 @@ msgstr "Wachtwoord vergeten?" #: babybuddy/templates/registration/password_reset_complete.html:4 msgid "Password Reset Successfully!" -msgstr "Wachtwoord is opnieuw ingesteld!" +msgstr "Het wachtwoord is opnieuw ingesteld!" #: babybuddy/templates/registration/password_reset_complete.html:8 msgid "Your password has been set. You may go ahead and log in now." @@ -836,12 +589,10 @@ msgstr "Inloggen" msgid "Password Reset" msgstr "Wachtwoord opnieuw instellen" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Helaas! De twee wachtwoorden kwamen niet overeen. Probeer " -"het opnieuw." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Oeps! De wachtwoorden zijn niet gelijk. Probeer het opnieuw.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -856,75 +607,35 @@ msgstr "Wachtwoord opnieuw instellen" msgid "Reset Email Sent" msgstr "Email voor een nieuw wachtwoord is verzonden" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"We hebben je de instructies gemaild voor het instellen van een wachtwoord, " -"als een account bestaat met het ingevoerde email adres. Je zou deze " -"kortelings ontvangen." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Als je geen email ontvangen hebt, controleer je spam folder, en het email " -"adres dat je ingegeven hebt." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

We hebben je de instructies gemaild voor het instellen van een wachtwoord, als een account bestaat met het ingevoerde email adres. Je zou deze kortelings ontvangen.

\n" +"

Als je geen email ontvangen hebt, controleer je spam folder, en het email adres dat je ingegeven hebt.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Wachtwoord vergeten" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Geef het email adres in van je account hieronder. Als het email adres " -"correct is, ontvang je daar de instructies voor het opnieuw instellen van je " -"wachtwoord." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Geef je email adres in het formulier hieronder. Als het adres juist is, ontvang je de instructies voor het opnieuw instellen van je wachtwoord.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Gebruiker %(username)s toegevoegd!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Gebruiker %(username)s is geupdate." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Gebruiker {user} verwijderd." @@ -940,79 +651,30 @@ msgstr "Gebruiker API key opnieuw gegenereerd." msgid "Settings saved!" msgstr "Instellingen opgeslagen!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Naam komt niet overeen met de naam van het kind." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Datum kan niet in de toekomst zijn." #: core/models.py:42 msgid "Start time must come before end time." -msgstr "Stat tijd moet voor de eind tijd zijn." +msgstr "Start tijd moet voor de eind tijd zijn." #: core/models.py:45 msgid "Duration too long." -msgstr "Duur is te lang." +msgstr "Tijdsduur is te lang." #: core/models.py:61 msgid "Another entry intersects the specified time period." -msgstr "Een andere ingave valt gelijk met deze tijdsperiode." +msgstr "Een andere invoer overlapt met deze tijdsperiode." #: core/models.py:75 msgid "Date/time can not be in the future." msgstr "Datum/tijd kan niet in de toekomst zijn." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Kleur" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Achternaam" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Datum" - #: core/models.py:163 msgid "First name" msgstr "Voornaam" @@ -1067,19 +729,22 @@ msgstr "Groen" msgid "Yellow" msgstr "Geel" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Hoeveelheid" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Kleur" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Nat en/of vast is vereist." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" -msgstr "Start tijd" +msgstr "Starttijd" #: core/models.py:277 core/models.py:454 core/models.py:546 core/models.py:633 msgid "End time" -msgstr "Eind tijd" +msgstr "Eindtijd" #: core/models.py:279 core/models.py:456 core/models.py:549 core/models.py:635 #: core/templates/core/feeding_list.html:34 @@ -1087,7 +752,7 @@ msgstr "Eind tijd" #: core/templates/core/timer_list.html:29 #: core/templates/core/tummytime_list.html:29 msgid "Duration" -msgstr "Duur" +msgstr "Tijdsduur" #: core/models.py:283 msgid "Breast milk" @@ -1097,14 +762,6 @@ msgstr "Borstvoeding" msgid "Formula" msgstr "Formule" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Versterkte moedermelk" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Vast voedsel" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Type" @@ -1115,31 +772,25 @@ msgstr "Fles" #: core/models.py:294 msgid "Left breast" -msgstr "Linkse borst" +msgstr "Linkerborst" #: core/models.py:295 msgid "Right breast" -msgstr "Rechtse borst" - -#: core/models.py:296 -msgid "Both breasts" -msgstr "Beide borsten" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Ouder voeding" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Zelf voeding" +msgstr "Rechterborst" #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Methode" -#: core/models.py:452 -msgid "Napping" -msgstr "Dutten" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Hoeveelheid" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Alleen \"Fles\" methode is toegestaan met type \"melkpoeder\"." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1159,7 +810,6 @@ msgid "Timers" msgstr "Timers" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Timer #{id}" @@ -1167,28 +817,21 @@ msgstr "Timer #{id}" msgid "Milestone" msgstr "Mijlpaal" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Verwijder een slaap ingave" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Voeg een slaap ingave toe" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Geen timer gegevens gevonden." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Datum" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1196,7 +839,7 @@ msgstr "Verwijder een kind" #: core/templates/core/child_confirm_delete.html:20 msgid "To confirm this action. Type the full name of the child below." -msgstr "Om te bevestigen, geef de volledige naam van het kind in." +msgstr "Voer ter bevestiging de de volledige naam van het kind in." #: core/templates/core/child_detail.html:23 #: dashboard/templates/dashboard/dashboard.html:32 @@ -1206,17 +849,17 @@ msgstr "Geboren" #: core/templates/core/child_detail.html:24 #: dashboard/templates/dashboard/dashboard.html:33 msgid "Age" -msgstr "Leedtijd" +msgstr "Leeftijd" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Voeg kind toe" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s geleden (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" -msgstr "Geboorte datum" +msgstr "Geboortedatum" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Geen kinderen gevonden" @@ -1241,18 +884,14 @@ msgstr "Voeg een luierverschoning toe" msgid "Add" msgstr "Toevoegen" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Voeg luierverschoning toe" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "Inhoud" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Geen luierverschoning gevonden." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Voeg een verversing toe" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Verwijder een maaltijd" @@ -1266,10 +905,6 @@ msgstr "Update een maaltijd" msgid "Add a Feeding" msgstr "Voeg een maaltijd toe" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Voeg eten toe" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Stuks" @@ -1278,58 +913,6 @@ msgstr "Stuks" msgid "No feedings found." msgstr "Geen maaltijden gevonden." -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Head Circumference entry" -msgid "Delete a Head Circumference Entry" -msgstr "Hoofd omtrek ingave" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Head Circumference entry" -msgid "Add a Head Circumference Entry" -msgstr "Hoofd omtrek ingave" - -#: core/templates/core/head_circumference_list.html:15 -#, fuzzy -#| msgid "Head Circumference" -msgid "Add Head Circumference" -msgstr "Hoofd omtrek" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Geen timer gegevens gevonden." - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Verwijder een gewicht" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Voeg een gewicht toe" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add Weight" -msgid "Add Height" -msgstr "Voeg gewicht toe" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Geen gewicht gegevens gevonden." - #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" msgstr "Verwijder een notitie" @@ -1342,68 +925,21 @@ msgstr "Pas een notitie aan" msgid "Add a Note" msgstr "Voeg een notitie toe" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Voeg notitie toe" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Geen notities gevonden." -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Verwijder een gewicht" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Voeg een gewicht toe" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Voeg een gewicht toe" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Geen timer gegevens gevonden." - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Snel start timer" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Snel start timer" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" -msgstr "Verwijder een slaap ingave" +msgstr "Verwijder een slaap invoer" #: core/templates/core/sleep_form.html:6 msgid "Update a Sleep Entry" -msgstr "Update een slaap ingave" +msgstr "Werk een slaap invoer bij" #: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 msgid "Add a Sleep Entry" -msgstr "Voeg een slaap ingave toe" - -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Voeg slaap toe" +msgstr "Voeg een slaap invoer toe" #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 @@ -1426,50 +962,10 @@ msgstr "Dutje" msgid "No sleep entries found." msgstr "Geen slaap gegevens gevonden" -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Verwijder een temperatuur meting" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Voeg een temperatuurmeting toe" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Voeg een temperatuur toe" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Voeg temperatuurmeting toe" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Geen temperaturen gevonden." - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Verwijder %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Verwijder alle inactieve timers" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Verwijder inactief" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "" -"Ben je zeker dat je %(number)s inactieve timer%(plural)s wil verwijderen?" -msgstr[1] "" -"Ben je zeker dat je %(number)s inactieve timer%(plural)s wil verwijderen?" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Gestart" @@ -1478,25 +974,16 @@ msgstr "Gestart" msgid "Stopped" msgstr "Gestopt" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s gemaakt door %(user)s" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s is aangemaakt door %(object.user)s" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Timer acties" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Verwijder timer" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Start timer" @@ -1504,30 +991,30 @@ msgstr "Start timer" msgid "No timer entries found." msgstr "Geen timer gegevens gevonden." -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Verwijder inactieve timers" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Snel start timer" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Bekijk timers" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Actieve timers" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Geen" @@ -1545,251 +1032,90 @@ msgstr "Pas een buikligging ingave aan" msgid "Add a Tummy Time Entry" msgstr "Voeg een buikligging toe" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Voeg buikligging toe" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Geen buikligging gegevens gevonden." #: core/templates/core/weight_confirm_delete.html:4 msgid "Delete a Weight Entry" -msgstr "Verwijder een gewicht" +msgstr "Verwijder een gewichtsinvoer" #: core/templates/core/weight_form.html:8 #: core/templates/core/weight_form.html:17 #: core/templates/core/weight_form.html:27 msgid "Add a Weight Entry" -msgstr "Voeg een gewicht toe" - -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Voeg gewicht toe" +msgstr "Voeg een gewichtsinvoer toe" #: core/templates/core/weight_list.html:70 msgid "No weight entries found." -msgstr "Geen gewicht gegevens gevonden." +msgstr "Geen gewicht invoeren gevonden." -#: core/templates/core/widget_tag_editor.html:22 -#, fuzzy -#| msgid "Last name" -msgid "Tag name" -msgstr "Achternaam" - -#: core/templates/core/widget_tag_editor.html:27 -msgid "Recently used:" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:45 -msgctxt "Error modal" -msgid "Error" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:50 -msgctxt "Error modal" -msgid "An error ocurred." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:51 -msgctxt "Error modal" -msgid "Invalid tag name." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:52 -msgctxt "Error modal" -msgid "Failed to create tag." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:53 -msgctxt "Error modal" -msgid "Failed to obtain tag data." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:58 -msgctxt "Error modal" -msgid "Close" -msgstr "" - -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s geleden (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Duur is te lang." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "%(since)s sinds vorige" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Aanpassen" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "Geen gebeurtenissen" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "vandaag" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 dagen" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "vandaag" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "gisteren" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s dagen geleden" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s is begonnen met buikligging!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s is gestopt met buikligging." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s is in slaap gevallen." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s is wakker geworden." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "Hoeveelheid: %(amount).0f" +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s luier is verschoond." #: core/timeline.py:145 -#, python-format msgid "%(child)s started feeding." msgstr "%(child)s is begonnen met eten." #: core/timeline.py:158 -#, python-format msgid "%(child)s finished feeding." msgstr "%(child)s is gestopt met eten." -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s had een luierverschoning" +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s is in slaap gevallen." -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s uur" -msgstr[1] "%(hours)s uren" +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s is wakker geworden." -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuut" -msgstr[1] "%(minutes)s minuten" +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s is begonnen met buikligging!" -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s seconde" -msgstr[1] "%(seconds)s seconden" +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s is gestopt met buikligging." #: core/views.py:33 -#, python-format msgid "%(model)s entry for %(child)s added!" msgstr "%(model)s ingave voor %(child)s toegevoegd!" #: core/views.py:35 core/views.py:308 -#, python-format msgid "%(model)s entry added!" msgstr "%(model)s is toegevoegd!" #: core/views.py:61 core/views.py:316 -#, python-format msgid "%(model)s entry for %(child)s updated." msgstr "%(model)s voor %(child)s is bijgewerkt." #: core/views.py:63 -#, python-format msgid "%(model)s entry updated." msgstr "%(model)s is bijgewerkt" -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s verwijderd." - #: core/views.py:115 -#, python-format msgid "%(first_name)s %(last_name)s added!" msgstr "%(first_name)s %(last_name)s is toegevoegd!" -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s meting toegevoegd!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s meting voor %(child)s bijgewerkt." - -#: core/views.py:483 -#, python-format +#: core/views.py:478 msgid "%(timer)s stopped." msgstr "%(timer)s is gestopt." -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Alle inactieve timers verwijderd." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Geen inactieve timers gevonden." - #: dashboard/templates/cards/diaperchange_last.html:6 msgid "Last Diaper Change" msgstr "Laatste luierverschoning" -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
%(since)s geleden
%(time)s" +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s geleden" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Nooit" #: dashboard/templates/cards/diaperchange_types.html:14 msgid "Past Week" @@ -1803,29 +1129,18 @@ msgstr "nat" msgid "solid" msgstr "vast" +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "vandaag" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "gisteren" + #: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format msgid "%(key)s days ago" msgstr "%(key)s dagen geleden" -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Voeding vandaag" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s slaap gegevens" -msgstr[1] "%(count)s slaap gegevens" - -#: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format -msgid "
%(since)s
" -msgstr "" - #: dashboard/templates/cards/feeding_last.html:6 msgid "Last Feeding" msgstr "Laatste maaltijd" @@ -1834,20 +1149,22 @@ msgstr "Laatste maaltijd" msgid "Last Feeding Method" msgstr "Laatste maaltijd methode" -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "Meest recente" +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Slaap vandaag" -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n)s maaltijd%(plural)s geleden" -msgstr[1] "%(n)s maaltijd%(plural)s geleden" +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Nog geen vandaag" -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s slaap gegevens" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" msgstr "Laatste slaap" #: dashboard/templates/cards/sleep_naps_day.html:6 @@ -1855,26 +1172,8 @@ msgid "Today's Naps" msgstr "Dutjes vandaag" #: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s dutje%(plural)s" -msgstr[1] "%(count)s dutje%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 -#, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Laatste slaap" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s slaap gegevens" -msgstr[1] "%(count)s slaap gegevens" +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s dutje%(plural)s" #: dashboard/templates/cards/statistics.html:7 msgid "Statistics" @@ -1884,29 +1183,19 @@ msgstr "Statistieken" msgid "Not enough data" msgstr "Niet genoeg gegevens" -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "Nog geen data" - #: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s actieve timer%(plural)s" -msgstr[1] "%(count)s actieve timer%(plural)s" +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s actieve timer%(plural)s" -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Gestart door %(user)s op %(start)s" +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Gestart door %(instance.user)s op %(start)s" #: dashboard/templates/cards/tummytime_day.html:6 msgid "Today's Tummy Time" msgstr "Buikligging tijd vandaag" #: dashboard/templates/cards/tummytime_day.html:22 -#, python-format msgid "%(duration)s at %(end)s" msgstr "%(duration)s om %(end)s" @@ -1914,111 +1203,73 @@ msgstr "%(duration)s om %(end)s" msgid "Last Tummy Time" msgstr "Laatste buikligging moment" -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Nooit" - #: dashboard/templates/dashboard/child_button_group.html:3 msgid "Child actions" msgstr "Kind acties" -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Rapporten" +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Luierverschoningstype" -#: dashboard/templatetags/cards.py:357 +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Luier levensduur" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Etensduur (gemiddelde)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Slaappatroon" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Totaal Slaap" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Luierverschoningsfrequentie" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Eetfrequentie" + +#: dashboard/templatetags/cards.py:328 msgid "Average nap duration" msgstr "Gemiddelde duur dutjes" -#: dashboard/templatetags/cards.py:364 +#: dashboard/templatetags/cards.py:335 msgid "Average naps per day" msgstr "Gemiddelde dutjes per dag" -#: dashboard/templatetags/cards.py:374 +#: dashboard/templatetags/cards.py:345 msgid "Average sleep duration" -msgstr "Gemiddelde slaap duur" +msgstr "Gemiddelde slaapduur" -#: dashboard/templatetags/cards.py:381 +#: dashboard/templatetags/cards.py:352 msgid "Average awake duration" msgstr "Gemiddeld wakker duur" -#: dashboard/templatetags/cards.py:391 +#: dashboard/templatetags/cards.py:362 msgid "Weight change per week" msgstr "Gewichtsverandering per week" -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Gewichtsverandering per week" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Head Circumference entry" -msgid "Head circumference change per week" -msgstr "Hoofd omtrek ingave" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Gewichtsverandering per week" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Feeding frequency (past 3 days)" -msgid "Diaper change frequency (past 3 days)" -msgstr "Voeding frequenties (afgelopen 3 dagen)" - -#: dashboard/templatetags/cards.py:443 -#, fuzzy -#| msgid "Feeding frequency (past 2 weeks)" -msgid "Diaper change frequency (past 2 weeks)" -msgstr "Voeding frequenties (afgelopen 2 weken)" - -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Luierverschoning frequentie" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Voeding frequenties (afgelopen 3 dagen)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Voeding frequenties (afgelopen 2 weken)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Eten geven frequentie" - -#: reports/graphs/bmi_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Gewichts" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Aantal luiers verschoond" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Aantal luierverschoningen" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Aantal luiers" - #: reports/graphs/diaperchange_lifetimes.py:35 msgid "Diaper Lifetimes" msgstr "Luier levensduur" #: reports/graphs/diaperchange_lifetimes.py:36 msgid "Time between changes (hours)" -msgstr "Tijd tussen verschoningen (uur)" +msgstr "Tijd tussen verschoningen (uren)" #: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 msgid "Total" @@ -2026,71 +1277,37 @@ msgstr "Totaal" #: reports/graphs/diaperchange_types.py:48 msgid "Diaper Change Types" -msgstr "Luierverschoning types" +msgstr "Luierverschoningstypes" #: reports/graphs/diaperchange_types.py:51 msgid "Number of changes" msgstr "Aantal verschoningen" -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Totaal hoeveelheid voeding" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Voeding hoeveelheid" - #: reports/graphs/feeding_duration.py:38 msgid "Average duration" msgstr "Gemiddelde duur" #: reports/graphs/feeding_duration.py:46 msgid "Total feedings" -msgstr "Totaal aantal maaltijden" +msgstr "Totaal aantal voedingen" #: reports/graphs/feeding_duration.py:55 msgid "Average Feeding Durations" -msgstr "Gemiddelde duur eten" +msgstr "Gemiddelde voedingsduur" #: reports/graphs/feeding_duration.py:58 msgid "Average duration (minutes)" -msgstr "Gemiddelde duur (minuten)" +msgstr "Gemiddelde tijdsduur (minuten)" #: reports/graphs/feeding_duration.py:60 msgid "Number of feedings" -msgstr "Aantal maaltijden" +msgstr "Aantal voedingen" -#: reports/graphs/head_circumference_change.py:27 -#, fuzzy -#| msgid "Head Circumference" -msgid "Head Circumference" -msgstr "Hoofd omtrek" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Gewichts" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Pumping Amount" -msgstr "Totaal hoeveelheid voeding" - -#: reports/graphs/pumping_amounts.py:62 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amount" -msgstr "Hoeveelheid voedingen" - -#: reports/graphs/sleep_pattern.py:150 +#: reports/graphs/sleep_pattern.py:148 msgid "Sleep Pattern" msgstr "Slaappatroon" -#: reports/graphs/sleep_pattern.py:167 +#: reports/graphs/sleep_pattern.py:165 msgid "Time of day" msgstr "Tijd van de dag" @@ -2106,9 +1323,420 @@ msgstr "Totale slaap" msgid "Hours of sleep" msgstr "Uren slaap" +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Gewicht" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Gemiddelde voedingsduur" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Rapportages" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Er zijn niet voldoende gegevens om deze rapportage te maken." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Beide borsten" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Duits" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Spaans" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Zweeds" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turks" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Je hebt niet de juiste machtigingen voor deze module. Neem contact op met een site beheerder voor hulp." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatuur" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Temperatuurmeting" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Leer over en voorspel de behoeftes van de baby zonder (zo goed als mogelijk) gokwerk door het gebruiken van Baby Buddy om alles te loggen —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Hoe meer gegevens er zijn ingevoerd, hoe meer Baby Buddy subtiele patronen kan oppikken in de gewoonten van de baby. Dit ten bate van de ouders en verzorgers die dit kunnen waarnemen via het dashboard en de grafieken. Baby Buddy is geschikt voor gebruik op mobiele toestellen en gebruikt een donkere kleurstelling om de nachtelijke ogen van mama en papa niet te overbelasten.\n" +"Om te beginnen, klik op onderstaande knop om je eerste (of tweede, derde, ...) kind toe te voegen!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Helaas! De twee wachtwoorden kwamen niet overeen. Probeer het opnieuw." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "We hebben je instructies gemaild voor het instellen van je wachtwoord, mits er een account bestaat met het ingevoerde email adres. Je zou deze spoedig moeten ontvangen." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Als je geen email ontvangen hebt, controleer dan je spam folder, en het email adres dat je ingevoerd hebt." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Voer het email adres in van je account hieronder in. Als het email adres correct is, ontvang je daar de instructies voor het opnieuw instellen van je wachtwoord." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Verrijkte moedermelk" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Verwijder een temperatuurmeting" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Voeg een temperatuurmeting toe" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Voeg een temperatuur toe" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Geen temperaturen gevonden." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s gemaakt door %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s uur" +msgstr[1] "%(hours)s uren" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuut" +msgstr[1] "%(minutes)s minuten" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s seconde" +msgstr[1] "%(seconds)s seconden" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s verwijderd." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s meting toegevoegd!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s meting voor %(child)s bijgewerkt." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Gestart door %(user)s op %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Hoeveelheid voedingen" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Totale hoeveelheid voeding" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Totale hoeveelheid voeding" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Voedingshoeveelheid" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Er zijn niet voldoende gegevens om deze rapportage te maken." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Tijdzone" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Database beheerder" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Voeg kind toe" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Voeg luierverschoning toe" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Voeg voedingsmoment toe" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Voeg notitie toe" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Voeg slaap toe" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Voeg temperatuurmeting toe" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Verwijder alle inactieve timers" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Verwijder inactieve" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Ben je zeker dat je %(number)s inactieve timer%(plural)s wil verwijderen?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Verwijder inactieve timers" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Voeg buikligging toe" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Voeg gewicht toe" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Alle inactieve timers verwijderd." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Geen inactieve timers gevonden." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "meest recente" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s maaltijd%(plural)s geleden" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Laatste slaap" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Aantal luiers verschoond" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Aantal luiers verschoond" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Aantal luierverschoningen" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Aantal luiers" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Aantal luiers" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Indien ondersteund door de browser, zal het dashboard alleen worden vernieuwd indien zichtbaar en als het de focus krijgt." + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Verberg Lege Dashboard Kaarten" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Verberg data ouder dan" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Deze instelling bepaald welke data zichtbaar is op het dashboard." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "laat alle data zien" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 dag" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 dagen" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 dagen" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 week" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 weken" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Nederlands" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Fins" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italiaans" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Pools" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portugees" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Tijdslijn" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Vast voedsel" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Ouder voeding" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Zelf voeding" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Inhoud" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Herstart timer" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Verwijder timer" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "Vandaag" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 dagen" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Hoeveelheid: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Inhoud: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s geleden
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Voeding vandaag" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s voedingen" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Nog geen gegevens" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "Duur Buikliggen (Som)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Aanpassen" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Voedingsfrequenties (afgelopen 3 dagen)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Voedingsfrequenties (afgelopen 2 weken)" + #: reports/graphs/tummytime_duration.py:34 msgid "Total duration" -msgstr "Totaal duur" +msgstr "Totale tijdsduur" #: reports/graphs/tummytime_duration.py:41 #: reports/graphs/tummytime_duration.py:55 @@ -2117,90 +1745,412 @@ msgstr "Aantal sessies" #: reports/graphs/tummytime_duration.py:50 msgid "Total Tummy Time Durations" -msgstr "Totaal Buikligggen Duur" +msgstr "Buikliggingen Totale Tijdsduur" #: reports/graphs/tummytime_duration.py:53 msgid "Total duration (minutes)" -msgstr "Totaal duur (minuten)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Gewichts" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Aantal luiers" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Luier levensduur" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Luierverschoning type" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Hoeveelheid voedingen" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Gemiddelde duur eten" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Er is niet voldoende data om dit rapport te maken." - -#: reports/templates/reports/report_list.html:10 -msgid "Body Mass Index (BMI)" -msgstr "" - -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Aantal luiers verschoond" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Eten geven duur (gemiddelde)" - -#: reports/templates/reports/report_list.html:18 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amounts" -msgstr "Hoeveelheid voedingen" - -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "slaappatroon" - -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Totaal slaapjes" - -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "Duur Buikliggen (Som)" +msgstr "Totale tijdsduur (minuten)" #: reports/templates/reports/tummytime_duration.html:4 #: reports/templates/reports/tummytime_duration.html:8 msgid "Total Tummy Time Durations" -msgstr "Totaal Buikligggen Duur" +msgstr "Buikliggingen Totale Tijdsduur" -#~ msgid "Today's Sleep" -#~ msgstr "Slaap vandaag" +#: babybuddy/settings/base.py:169 +#, fuzzy +msgid "English (US)" +msgstr "Engels (VS)" + +#: babybuddy/settings/base.py:170 +#, fuzzy +msgid "English (UK)" +msgstr "Engels (VK)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "Metingen" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "Lengte" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "Lengte invoer" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "Hoofd omtrek" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "Hoofd omtrek invoer" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "BMI" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "BMI invoer" + +#: core/models.py:452 +msgid "Napping" +msgstr "Dutten" + +#: core/templates/core/bmi_confirm_delete.html:4 +#, fuzzy +msgid "Delete a BMI Entry" +msgstr "Verwijder een slaapinvoer" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +#, fuzzy +msgid "Add a BMI Entry" +msgstr "Voeg een slaapinvoer toe" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "Voeg BMI toe" + +#: core/templates/core/bmi_list.html:70 +#, fuzzy +msgid "No bmi entries found." +msgstr "Geen bmi gegevens gevonden." + +#: core/templates/core/head_circumference_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Head Circumference Entry" +msgstr "Hoofdomtrek invoer" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +#, fuzzy +msgid "Add a Head Circumference Entry" +msgstr "Hoofdomtrek invoer" + +#: core/templates/core/head_circumference_list.html:15 +#, fuzzy +msgid "Add Head Circumference" +msgstr "Hoofdomtrek" + +#: core/templates/core/head_circumference_list.html:70 +#, fuzzy +msgid "No head circumference entries found." +msgstr "Geen hoofdomtrek gegevens gevonden." + +#: core/templates/core/height_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Height Entry" +msgstr "Verwijder lengteinvoer" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +#, fuzzy +msgid "Add a Height Entry" +msgstr "Voeg een lengteinvoer toe" + +#: core/templates/core/height_list.html:15 +#, fuzzy +msgid "Add Height" +msgstr "Voeg lengte toe" + +#: core/templates/core/height_list.html:70 +#, fuzzy +msgid "No height entries found." +msgstr "Geen lengte gegevens gevonden." + +#: core/templates/timeline/_timeline.html:44 +#, fuzzy +msgid "Duration: %(duration)s" +msgstr "Tijdsduur: %(duration)s" + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "%(since)s sinds vorige" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "Geen gebeurtenissen" + +#: core/timeline.py:185 +#, fuzzy +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s onderging een %(type)s luierverschoning." + +#: dashboard/templatetags/cards.py:372 +#, fuzzy +msgid "Height change per week" +msgstr "Lengte verandering per week" + +#: dashboard/templatetags/cards.py:382 +#, fuzzy +msgid "Head circumference change per week" +msgstr "Hoofdomtrek verandering per week" + +#: dashboard/templatetags/cards.py:392 +#, fuzzy +msgid "BMI change per week" +msgstr "BMI verandering per week" + +#: reports/graphs/bmi_change.py:27 +#, fuzzy +msgid "BMI" +msgstr "BMI" + +#: reports/graphs/feeding_amounts.py:69 +#, fuzzy +msgid "Total Feeding Amount by Type" +msgstr "Totaal hoeveelheid voeding per type" + +#: reports/graphs/head_circumference_change.py:27 +#, fuzzy +msgid "Head Circumference" +msgstr "Hoofdomtrek" + +#: reports/graphs/height_change.py:27 +#, fuzzy +msgid "Height" +msgstr "Lengte" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "Chinees (vereenvoudigd)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "Foutief Verzoek" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "Hoe op te lossen" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "Voeg %(origin)s toe aan de CSRF_TRUSTED_ORIGINS omgevingsvariable. Indien meerdere 'origins' nodig zijn, gebruik dan een komma als scheidingsteken." + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "Pagina niet gevonden" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "Het pad %(request_path)s bestaat niet." + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "Serverfout" + +#: babybuddy/templates/error/base.html:14 +#, fuzzy +msgid "Return to Baby Buddy" +msgstr "Welkom bij Baby Buddy" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "Verboden" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF verificatie gefaald. Aanvraag afgebroken." + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "Catalaans" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "Afkolven" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "Afkolf invoer" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "Label" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "Klik op het label om deze toe te voegen (+) of te verwijderen (-) of gebruik de tekstverwerker om nieuwe labels te maken." + +#: core/models.py:90 +#, fuzzy +msgid "Last used" +msgstr "Laatste gebruik" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "Labels" + +#: core/templates/core/pumping_confirm_delete.html:4 +msgid "Delete a Pumping Entry" +msgstr "Verwijder een afkolf invoer" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +msgid "Add a Pumping Entry" +msgstr "Voeg een afkolf invoer toe" + +#: core/templates/core/pumping_list.html:15 +msgid "Add Pumping Entry" +msgstr "Voeg afkolf invoer toe" + +#: core/templates/core/pumping_list.html:66 +msgid "No pumping entries found." +msgstr "Geen afkolf invoeren gevonden." + +#: core/templates/core/widget_tag_editor.html:22 +#, fuzzy +msgid "Tag name" +msgstr "Labelnaam" + +#: core/templates/core/widget_tag_editor.html:27 +msgid "Recently used:" +msgstr "Recent gebruikt:" + +#: core/templates/core/widget_tag_editor.html:45 +msgctxt "Error modal" +msgid "Error" +msgstr "Fout" + +#: core/templates/core/widget_tag_editor.html:50 +msgctxt "Error modal" +msgid "An error ocurred." +msgstr "Er is een fout opgetreden." + +#: core/templates/core/widget_tag_editor.html:51 +msgctxt "Error modal" +msgid "Invalid tag name." +msgstr "Ongeldige labelnaam." + +#: core/templates/core/widget_tag_editor.html:52 +msgctxt "Error modal" +msgid "Failed to create tag." +msgstr "Fout bij aanmaken label." + +#: core/templates/core/widget_tag_editor.html:53 +msgctxt "Error modal" +msgid "Failed to obtain tag data." +msgstr "Fout bij ophalen van label gegevens." + +#: core/templates/core/widget_tag_editor.html:58 +msgctxt "Error modal" +msgid "Close" +msgstr "Sluiten" + +#: dashboard/templates/cards/feeding_day.html:32 +msgid "
%(since)s
" +msgstr "
%(since)s
" + +#: dashboard/templatetags/cards.py:410 +#, fuzzy +msgid "Diaper change frequency (past 3 days)" +msgstr "Luierverschoningsfrequentie (afgelopen 3 dagen)" + +#: dashboard/templatetags/cards.py:414 +#, fuzzy +msgid "Diaper change frequency (past 2 weeks)" +msgstr "Luierverschoningsfrequentie (afgelopen 2 weken)" + +#: reports/graphs/pumping_amounts.py:57 +msgid "Total Pumping Amount" +msgstr "Totale Afkolf Hoeveelheid" + +#: reports/graphs/pumping_amounts.py:60 +msgid "Pumping Amount" +msgstr "Afkolf hoeveelheid" + +#: reports/templates/reports/report_list.html:10 +msgid "Body Mass Index (BMI)" +msgstr "Body Mass Index (BMI)" + +#: reports/templates/reports/report_list.html:18 +msgid "Pumping Amounts" +msgstr "Afkolf hoeveelheden" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Weet je zeker dat je %(number)s inactieve timer wilt verwijderen?" +msgstr[1] "Weet je zeker dat je %(number)s inactieve timers wilt verwijderen?" + +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(counter)s voeding" +msgstr[1] "%(counter)s voedingen" + +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n)s maaltijd geleden" +msgstr[1] "%(n)s maaltijden geleden" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s dutje" +msgstr[1] "%(count)s dutjes" + +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s actieve timer" +msgstr[1] "%(count)s actieve timers" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s slaap gegevens" From b3485aaaa69a824e9d1b0e7c0155aad14db8b76d Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:41 -0700 Subject: [PATCH 10/39] Update django.mo (POEditor.com) --- locale/fi/LC_MESSAGES/django.mo | Bin 18257 -> 21696 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 99173f45824ba990d99e08bde266d0ed3fb11eb6..c95c3d3b78839cdc47fc3718ee91955a232f41df 100644 GIT binary patch delta 7958 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 EAHz)J9smFU delta 6533 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 Date: Sat, 1 Oct 2022 08:16:43 -0700 Subject: [PATCH 11/39] Update django.po (POEditor.com) --- locale/fi/LC_MESSAGES/django.po | 2469 +++++++++++++++---------------- 1 file changed, 1234 insertions(+), 1235 deletions(-) diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index e7979c7b..bc0931f4 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Asetukset" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,10 +29,8 @@ msgid "Refresh rate" msgstr "Päivitystaajuus" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Tätä asetusta käytetään vain, jos selain ei \"refresh on focus\" -toimintoa." #: babybuddy/models.py:28 msgid "disabled" @@ -72,116 +68,30 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "" - #: babybuddy/models.py:63 msgid "Language" msgstr "Kieli" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Aikavyöhyke" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "Käyttäjän {user} asetukset" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "" - -#: babybuddy/settings/base.py:169 -msgid "English (US)" -msgstr "englanti (Yhdysvallat)" - -#: babybuddy/settings/base.py:170 -msgid "English (UK)" -msgstr "englanti (Yhdistynyt kuningaskunta)" +#: babybuddy/settings/base.py:171 +msgid "English" +msgstr "englanti" #: babybuddy/settings/base.py:171 msgid "French" msgstr "ranska" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Pääsy kielletty" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "saksa" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "englanti" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "espanja" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "ruotsi" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "turkki" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Tietokantahallinta" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Sinulla ei ole oikeutta tähän resurssiin." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -206,35 +116,32 @@ msgstr "Lähetä" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Virhe: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Virhe: Joissakin kentissä on virheitä. Tarkista ne alta." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Virhe: Joissakin kentissä on virheitä. Tarkista ne alta." -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Vaipanvaihto" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Syöttö" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Muistiinpano" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -244,8 +151,8 @@ msgstr "Muistiinpano" msgid "Sleep" msgstr "Uni" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -257,15 +164,24 @@ msgstr "Uni" msgid "Tummy Time" msgstr "Ihokontakti" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Paino" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -275,7 +191,7 @@ msgstr "" msgid "Children" msgstr "Lapset" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -294,7 +210,7 @@ msgstr "Lapset" msgid "Child" msgstr "Lapsi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -303,112 +219,24 @@ msgstr "Lapsi" msgid "Notes" msgstr "Muistiinpanot" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -msgid "BMI entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -msgid "Height" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -msgid "Height entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Lämpötila" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Lämpötilalukema" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Paino" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Painomerkintä" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Aktiviteetit" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Muutokset" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Muutos" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -418,31 +246,15 @@ msgstr "Muutos" msgid "Feedings" msgstr "Syötöt" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -msgid "Pumping entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Unimerkintä" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Ihokontakti" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -450,23 +262,23 @@ msgstr "Ihokontakti" msgid "User" msgstr "Käyttäjä" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Salasana" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Kirjaudu ulos" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Sivusto" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API-selain" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -474,15 +286,19 @@ msgstr "API-selain" msgid "Users" msgstr "Käyttäjät" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Backend Admin" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Tuki" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Lähdekoodi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / tuki" @@ -493,7 +309,6 @@ msgstr "Chat / tuki" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Edellinen" @@ -505,7 +320,6 @@ msgstr "Edellinen" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Seuraava" @@ -561,13 +375,8 @@ msgstr "Poista" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Haluatko varmasti poistaa %(object)s?" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Haluatko varmasti poistaa %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -623,7 +432,6 @@ msgstr "Päivitä" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Päivitä %(object)sError: Some fields have errors. See below for details." +msgstr "Virhe: Joissakin kentissä on virheitä. Tarkista ne alta." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Profiili" @@ -717,12 +530,9 @@ msgid "Welcome to Baby Buddy!" msgstr "Tervetuloa Baby Buddyyn!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Opi ennustamaan lapsen tarpeita ilman (niin suurta) arvailua " -"käyttämällä BabyBuddy-sovellusta —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Opi ennakoimaan lapsesi tarpeita ilman (niin suurta) arvailua käyttämällä BabyBuddy-sovellusta —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -734,20 +544,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Vaipanvaihdot" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Sitä mukaan, kun datamäärä kasvaa, BabyBuddy tulee auttamaan vanhempia ja " -"huoltajia huomaamaan mallit vauvan tavoista käyttämällä työpöytää ja " -"kuvaajia. BabyBuddy on mobiiliystävällinen ja käyttää tummaa teemaa " -"auttaakseen väsyneitä vanhempia aamuyön vaipanvaihdoissa ja syötöissä. " -"Aloittaaksesi paina alla olevaa painiketta ja lisää ensimmäinen (tai toinen, " -"kolmas, jne.) lapsi!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Sitä mukaan, kun datamäärä kasvaa, BabyBuddy tulee auttamaan vanhempia ja huoltajia huomaamaan mallit vauvan tavoista käyttämällä työpöytää ja kuvaajia. BabyBuddy on mobiiliystävällinen ja käyttää tummaa teemaa auttaakseen väsyneitä vanhempia aamuyön vaipanvaihdoissa ja syötöissä. Aloittaaksesi paina alla olevaa painiketta ja lisää ensimmäinen (tai toinen, kolmas, jne.) lapsi!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -755,48 +559,6 @@ msgstr "" msgid "Add a Child" msgstr "Lisää lapsi" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Pääsy kielletty" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "Sinulla ei ole oikeutta tähän resurssiin." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -msgid "Return to Baby Buddy" -msgstr "" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Kirjaudu" @@ -821,12 +583,10 @@ msgstr "Kirjaudu" msgid "Password Reset" msgstr "Salasanan nollaus" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Oh snap! Salasanat eivät täsmänneet. Ole hyvä ja yritä " -"uudelleen." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Oh snap! Salasanat eivät täsmänneet. Yritä uudelleen.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -841,71 +601,37 @@ msgstr "Nollaa salasana" msgid "Reset Email Sent" msgstr "Salasanan vaihtosähköposti lähetetty" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Olemme lähettäneet sähköpostiisi ohjeet salasanan palautukselle, jos " -"sähköpostiosoitteella oleva tili on olemassa." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "Jos viestiä ei tule, tarkista roskapostikansiosi." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

\n" +"Lähetimme sähköpostitse ohjeita salasanan palauttamiseksi, jos syöttämäsi sähköpostiosoite löytyy järjestelmästä. Sähköpostin pitäisi saapua piakkoin.\n" +"

\n" +"

Mikäli sähköpostia ei saavu, ole hyvä ja tarkista roskapostikansiosi.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Unohditko salasanan?" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Syötä sähköpostiosoitteesi alla olevaan kenttään. Sähköpostiin lähetetään " -"ohjeet salasanan palautukselle." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Syötä sähköpostiosoite alla olevaan kenttään. Saat sähköpostiisi ohjeita salasanan palauttamiseksi.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Käyttäjä %(username)s lisätty!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Käyttäjä %(username)s päivitetty." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Käyttäjä {user} poistettu." @@ -921,20 +647,10 @@ msgstr "Käyttäjän API-avain luotu uudelleen." msgid "Settings saved!" msgstr "Asetukset tallennettu!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Nimi ei täsmää lapseen." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Päivämäärä ei voi olla tulevaisuudessa." @@ -955,43 +671,6 @@ msgstr "Toinen merkintä on päällekkäin annetun aikavälin kanssa." msgid "Date/time can not be in the future." msgstr "Aika ei voi olla tulevaisuudessa." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Väri" - -#: core/models.py:90 -msgid "Last used" -msgstr "" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Päivämäärä" - #: core/models.py:163 msgid "First name" msgstr "Etunimi" @@ -1046,11 +725,14 @@ msgstr "Vihreä" msgid "Yellow" msgstr "Keltainen" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Määrä" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Väri" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Märkä/kiinteä on valittava." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1076,14 +758,6 @@ msgstr "Rintamaito" msgid "Formula" msgstr "Korvike" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Rikastettu rintamaito" - -#: core/models.py:286 -msgid "Solid food" -msgstr "" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Tyyppi" @@ -1100,25 +774,19 @@ msgstr "Vasen" msgid "Right breast" msgstr "Oikea" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Molemmat tissit" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "" - -#: core/models.py:298 -msgid "Self fed" -msgstr "" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Tapa" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Määrä" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Vain \"pullo\"-metodi on sallittu käytettäessä äidinmaidonkorviketta." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1138,7 +806,6 @@ msgid "Timers" msgstr "Ajastimet" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Ajastin {id}" @@ -1146,24 +813,21 @@ msgstr "Ajastin {id}" msgid "Milestone" msgstr "Virstanpylväs" -#: core/templates/core/bmi_confirm_delete.html:4 -msgid "Delete a BMI Entry" -msgstr "" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -msgid "Add a BMI Entry" -msgstr "" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No sleep entries found." -msgid "No BMI entries found." -msgstr "Unia ei löytynyt." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Päivämäärä" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1183,15 +847,15 @@ msgstr "Syntyi" msgid "Age" msgstr "Ikä" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Lisää lapsi" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s sitten (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Syntymäpäivä" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Lapsia ei löytynyt." @@ -1216,18 +880,14 @@ msgstr "Lisää vaipanvaihto" msgid "Add" msgstr "Lisää" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Lisää vaipanvaihto" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Vaipanvaihtoja ei löytynyt." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Lisää vaipanvaihto" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Poista syöttö" @@ -1241,10 +901,6 @@ msgstr "Päivitä syöttö" msgid "Add a Feeding" msgstr "Lisää syöttö" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Lisää syöttö" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "määrä" @@ -1253,6 +909,937 @@ msgstr "määrä" msgid "No feedings found." msgstr "Syöttöjä ei löytynyt." +#: core/templates/core/note_confirm_delete.html:4 +msgid "Delete a Note" +msgstr "Poista muistiinpano" + +#: core/templates/core/note_form.html:6 +msgid "Update a Note" +msgstr "Päivitä muistiinpano" + +#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 +msgid "Add a Note" +msgstr "Lisää muistiinpano" + +#: core/templates/core/note_list.html:64 +msgid "No notes found." +msgstr "Muistiinpanoja ei löytynyt." + +#: core/templates/core/sleep_confirm_delete.html:4 +msgid "Delete a Sleep Entry" +msgstr "Poista uni" + +#: core/templates/core/sleep_form.html:6 +msgid "Update a Sleep Entry" +msgstr "Päivitä uni" + +#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 +msgid "Add a Sleep Entry" +msgstr "Lisää uni" + +#: core/templates/core/sleep_list.html:25 +#: core/templates/core/timer_form.html:12 +#: core/templates/core/timer_list.html:24 +#: core/templates/core/tummytime_list.html:24 +msgid "Start" +msgstr "Aloitus" + +#: core/templates/core/sleep_list.html:26 +#: core/templates/core/timer_list.html:30 +#: core/templates/core/tummytime_list.html:25 +msgid "End" +msgstr "Lopetus" + +#: core/templates/core/sleep_list.html:31 +msgid "Nap" +msgstr "Päiväuni" + +#: core/templates/core/sleep_list.html:74 +msgid "No sleep entries found." +msgstr "Unia ei löytynyt." + +#: core/templates/core/timer_confirm_delete.html:5 +msgid "Delete %(object)s" +msgstr "Poista %(object)s" + +#: core/templates/core/timer_detail.html:28 +msgid "Started" +msgstr "Alkoi" + +#: core/templates/core/timer_detail.html:30 +msgid "Stopped" +msgstr "Pysäytetty" + +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s loi %(object.user)s" + +#: core/templates/core/timer_detail.html:63 +msgid "Timer actions" +msgstr "Ajastintoiminnot" + +#: core/templates/core/timer_form.html:22 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 +msgid "Start Timer" +msgstr "Aloita ajastin" + +#: core/templates/core/timer_list.html:58 +msgid "No timer entries found." +msgstr "Akastimia ei löytynyt." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Pika-ajastin" + +#: core/templates/core/timer_nav.html:28 +msgid "View Timers" +msgstr "Näytä ajastimet" + +#: core/templates/core/timer_nav.html:32 +#: dashboard/templates/cards/timer_list.html:6 +msgid "Active Timers" +msgstr "Aktiiviset ajastimet" + +#: core/templates/core/timer_nav.html:38 +#: dashboard/templates/cards/diaperchange_last.html:17 +#: dashboard/templates/cards/diaperchange_types.html:12 +#: dashboard/templates/cards/feeding_day.html:20 +#: dashboard/templates/cards/feeding_day.html:52 +#: dashboard/templates/cards/feeding_last.html:17 +#: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 +#: dashboard/templates/cards/sleep_last.html:17 +#: dashboard/templates/cards/sleep_naps_day.html:18 +#: dashboard/templates/cards/tummytime_day.html:14 +msgid "None" +msgstr "Ei mitään" + +#: core/templates/core/tummytime_confirm_delete.html:4 +msgid "Delete a Tummy Time Entry" +msgstr "Poista ihokontakti" + +#: core/templates/core/tummytime_form.html:6 +msgid "Update a Tummy Time Entry" +msgstr "Päivitä ihokontakti" + +#: core/templates/core/tummytime_form.html:8 +#: core/templates/core/tummytime_form.html:27 +msgid "Add a Tummy Time Entry" +msgstr "Lisää ihokontakti" + +#: core/templates/core/tummytime_list.html:67 +msgid "No tummy time entries found." +msgstr "Ei ihokontakteja." + +#: core/templates/core/weight_confirm_delete.html:4 +msgid "Delete a Weight Entry" +msgstr "Poista paino" + +#: core/templates/core/weight_form.html:8 +#: core/templates/core/weight_form.html:17 +#: core/templates/core/weight_form.html:27 +msgid "Add a Weight Entry" +msgstr "Lisää paino" + +#: core/templates/core/weight_list.html:70 +msgid "No weight entries found." +msgstr "Painomerkintöjä ei löytynyt." + +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s sai\n" +" tuoreen vaipan." + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s aloitti syömisen." + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s lopetti syömisen." + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s nukahti." + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s heräsi." + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s aloitti ihokontaktin." + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s lopetti ihokontaktin." + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "%(model)s -merkintä lapselle %(child)s lisätty!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "%(model)s -merkintä lisätty!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "%(model)s -merkintä lapselle %(child)s päivitetty." + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "%(model)s -merkintä päivitetty." + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "%(first_name)s %(last_name)s lisätty!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s pysäytetty." + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "Viimeisin vaipanvaihto" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s sitten" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Ei koskaan" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "Viime viikko" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "märkä" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "kiinteä" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "tänään" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "eilen" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "%(key)s päivää sitten" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Edellinen syöttö" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Viimeisin syöttötapa" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Uni tänään" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Ei mitään tänään" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s unimerkintä" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Edellinen uni" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Päiväunet tänään" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s päiväunta" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "Tilastot" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "Ei riittävästi dataa" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s aktiivista ajastinta" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "%(instance.user)s aloitti %(start)s" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Ihokontakti tänään" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "Viimeisin ihokontakti" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Lapsen toiminnot" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Vaipanvaihtotyypit" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Vaippojen eliniät" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Syötön kesto keskimäärin" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Unikuvio" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Uni yhteensä" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Vaipanvaihtotaajuus" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Syöttötaajuus" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Päiväunen kesto keskimäärin" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Päiväunia päivässä" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Unen kesto keskimäärin" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Hereilläoloaika keskimäärin" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Painonmuutos viikossa" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Vaippojen eliniät" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Vaihtoväli" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Yhteensä" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Vaipanvaihtotyypit" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Vaihtojen määrä" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Kesto keskimäärin" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Syötöt yhteenså" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Imetyksen kesto keskimäärin" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Kesto keskimäärin minuuteissa" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Syöttöjen määrä" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "Unimallit" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Ajankohta" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Uni yhteensä" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Unet yhteensä" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Unitunnit" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Paino" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Syöttöjen kesto keskimäärin" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Raportit" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Ei riittävästi dataa tämän raportin luomiseen." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Molemmat tissit" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "saksa" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "espanja" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "ruotsi" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "turkki" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Sinulla ei ole oikeutta tähän resurssiin." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Lämpötila" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Lämpötilalukema" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Opi ennustamaan lapsen tarpeita ilman (niin suurta) arvailua käyttämällä BabyBuddy-sovellusta —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Sitä mukaan, kun datamäärä kasvaa, BabyBuddy tulee auttamaan vanhempia ja huoltajia huomaamaan mallit vauvan tavoista käyttämällä työpöytää ja kuvaajia. BabyBuddy on mobiiliystävällinen ja käyttää tummaa teemaa auttaakseen väsyneitä vanhempia aamuyön vaipanvaihdoissa ja syötöissä. Aloittaaksesi paina alla olevaa painiketta ja lisää ensimmäinen (tai toinen, kolmas, jne.) lapsi!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Oh snap! Salasanat eivät täsmänneet. Ole hyvä ja yritä uudelleen." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Olemme lähettäneet sähköpostiisi ohjeet salasanan palautukselle, jos sähköpostiosoitteella oleva tili on olemassa." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Jos viestiä ei tule, tarkista roskapostikansiosi." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Syötä sähköpostiosoitteesi alla olevaan kenttään. Sähköpostiin lähetetään ohjeet salasanan palautukselle." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Rikastettu rintamaito" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Poista lämpötila" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Lisää lämpötila" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Lisää lämpötila" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Lämpötiloja ei löytynyt." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s, jonka loi %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s tunti" +msgstr[1] "%(hours)s tuntia" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuutti" +msgstr[1] "%(minutes)s minuuttia" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s sekunti" +msgstr[1] "%(seconds)s sekuntia" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s -merkintä poistettu." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s -lukema lisätty!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s -lukema lapselle %(child)s päivitetty." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "%(user)s aloitti %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Syöttöjen määrä" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Syöttöjen määrä yhteensä" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Syöttöjen määrä yhteensä" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Syötön määrä" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Ei riittävästi dataa tämän raportin luomiseen." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Aikavyöhyke" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Tietokantahallinta" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Lisää lapsi" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Lisää vaipanvaihto" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Lisää syöttö" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Lisää muistiinpano" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Lisää uni" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Lisää lämpötila" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Poista kaikki inaktiiviset ajastimet" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Poista inaktiivinen" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Haluatko varmasti poistaa %(number)s inaktiivista timer%(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Poista inaktiiviset ajastimet" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Lisää ihokontakti" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Lisää paino" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Kaikki inaktiiviset ajastimet poistettu." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Ei inaktiivisia ajastimia." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "viimeisin" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s syöttöä%(plural)s sitten" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Edellinen uni" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Vaipanvaihtomäärät" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Vaipanvaihtomäärä" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Vaipanvaihtomäärät" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Vaihtojen määrä" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Vaippojen määrä" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "" + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "" + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "englanti" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "" + +#: core/models.py:286 +msgid "Solid food" +msgstr "" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "" + +#: core/models.py:298 +msgid "Self fed" +msgstr "" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "tänään" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +#, fuzzy +msgid "Total Tummy Time Durations" +msgstr "Ihokontakti tänään" + +#: babybuddy/settings/base.py:169 +msgid "English (US)" +msgstr "englanti (Yhdysvallat)" + +#: babybuddy/settings/base.py:170 +msgid "English (UK)" +msgstr "englanti (Yhdistynyt kuningaskunta)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "" + +#: core/models.py:452 +msgid "Napping" +msgstr "" + +#: core/templates/core/bmi_confirm_delete.html:4 +msgid "Delete a BMI Entry" +msgstr "" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +msgid "Add a BMI Entry" +msgstr "" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "" + +#: core/templates/core/bmi_list.html:70 +msgid "No bmi entries found." +msgstr "" + #: core/templates/core/head_circumference_confirm_delete.html:4 msgid "Delete a Head Circumference Entry" msgstr "" @@ -1289,25 +1876,134 @@ msgstr "" msgid "No height entries found." msgstr "" -#: core/templates/core/note_confirm_delete.html:4 -msgid "Delete a Note" -msgstr "Poista muistiinpano" +#: core/templates/timeline/_timeline.html:44 +msgid "Duration: %(duration)s" +msgstr "" -#: core/templates/core/note_form.html:6 -msgid "Update a Note" -msgstr "Päivitä muistiinpano" +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "" -#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 -msgid "Add a Note" -msgstr "Lisää muistiinpano" +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Lisää muistiinpano" +#: core/timeline.py:185 +msgid "%(child)s had a %(type)s diaper change." +msgstr "" -#: core/templates/core/note_list.html:64 -msgid "No notes found." -msgstr "Muistiinpanoja ei löytynyt." +#: dashboard/templatetags/cards.py:372 +msgid "Height change per week" +msgstr "" + +#: dashboard/templatetags/cards.py:382 +msgid "Head circumference change per week" +msgstr "" + +#: dashboard/templatetags/cards.py:392 +msgid "BMI change per week" +msgstr "" + +#: reports/graphs/bmi_change.py:27 +msgid "BMI" +msgstr "" + +#: reports/graphs/feeding_amounts.py:69 +msgid "Total Feeding Amount by Type" +msgstr "" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "" + +#: reports/graphs/height_change.py:27 +msgid "Height" +msgstr "" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "" + +#: babybuddy/templates/error/base.html:14 +msgid "Return to Baby Buddy" +msgstr "" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "" + +#: core/models.py:90 +msgid "Last used" +msgstr "" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "" #: core/templates/core/pumping_confirm_delete.html:4 msgid "Delete a Pumping Entry" @@ -1327,199 +2023,6 @@ msgstr "" msgid "No pumping entries found." msgstr "" -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Pika-ajastin" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Pika-ajastin" - -#: core/templates/core/sleep_confirm_delete.html:4 -msgid "Delete a Sleep Entry" -msgstr "Poista uni" - -#: core/templates/core/sleep_form.html:6 -msgid "Update a Sleep Entry" -msgstr "Päivitä uni" - -#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 -msgid "Add a Sleep Entry" -msgstr "Lisää uni" - -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Lisää uni" - -#: core/templates/core/sleep_list.html:25 -#: core/templates/core/timer_form.html:12 -#: core/templates/core/timer_list.html:24 -#: core/templates/core/tummytime_list.html:24 -msgid "Start" -msgstr "Aloitus" - -#: core/templates/core/sleep_list.html:26 -#: core/templates/core/timer_list.html:30 -#: core/templates/core/tummytime_list.html:25 -msgid "End" -msgstr "Lopetus" - -#: core/templates/core/sleep_list.html:31 -msgid "Nap" -msgstr "Päiväuni" - -#: core/templates/core/sleep_list.html:74 -msgid "No sleep entries found." -msgstr "Unia ei löytynyt." - -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Poista lämpötila" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Lisää lämpötila" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Lisää lämpötila" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Lisää lämpötila" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Lämpötiloja ei löytynyt." - -#: core/templates/core/timer_confirm_delete.html:5 -#, python-format -msgid "Delete %(object)s" -msgstr "Poista %(object)s" - -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Poista kaikki inaktiiviset ajastimet" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Poista inaktiivinen" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "Haluatko varmasti poistaa %(number)s inaktiivista timer%(plural)s?" -msgstr[1] "Haluatko varmasti poistaa %(number)s inaktiivista timer%(plural)s?" - -#: core/templates/core/timer_detail.html:28 -msgid "Started" -msgstr "Alkoi" - -#: core/templates/core/timer_detail.html:30 -msgid "Stopped" -msgstr "Pysäytetty" - -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s, jonka loi %(user)s" - -#: core/templates/core/timer_detail.html:63 -msgid "Timer actions" -msgstr "Ajastintoiminnot" - -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "" - -#: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 -msgid "Start Timer" -msgstr "Aloita ajastin" - -#: core/templates/core/timer_list.html:58 -msgid "No timer entries found." -msgstr "Akastimia ei löytynyt." - -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Poista inaktiiviset ajastimet" - -#: core/templates/core/timer_nav.html:20 -msgid "View Timers" -msgstr "Näytä ajastimet" - -#: core/templates/core/timer_nav.html:44 -#: dashboard/templates/cards/timer_list.html:6 -msgid "Active Timers" -msgstr "Aktiiviset ajastimet" - -#: core/templates/core/timer_nav.html:50 -#: dashboard/templates/cards/diaperchange_last.html:17 -#: dashboard/templates/cards/diaperchange_types.html:12 -#: dashboard/templates/cards/feeding_day.html:20 -#: dashboard/templates/cards/feeding_day.html:52 -#: dashboard/templates/cards/feeding_last.html:17 -#: dashboard/templates/cards/feeding_last_method.html:43 -#: dashboard/templates/cards/sleep_last.html:17 -#: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 -#: dashboard/templates/cards/tummytime_day.html:14 -msgid "None" -msgstr "Ei mitään" - -#: core/templates/core/tummytime_confirm_delete.html:4 -msgid "Delete a Tummy Time Entry" -msgstr "Poista ihokontakti" - -#: core/templates/core/tummytime_form.html:6 -msgid "Update a Tummy Time Entry" -msgstr "Päivitä ihokontakti" - -#: core/templates/core/tummytime_form.html:8 -#: core/templates/core/tummytime_form.html:27 -msgid "Add a Tummy Time Entry" -msgstr "Lisää ihokontakti" - -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Lisää ihokontakti" - -#: core/templates/core/tummytime_list.html:67 -msgid "No tummy time entries found." -msgstr "Ei ihokontakteja." - -#: core/templates/core/weight_confirm_delete.html:4 -msgid "Delete a Weight Entry" -msgstr "Poista paino" - -#: core/templates/core/weight_form.html:8 -#: core/templates/core/weight_form.html:17 -#: core/templates/core/weight_form.html:27 -msgid "Add a Weight Entry" -msgstr "Lisää paino" - -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Lisää paino" - -#: core/templates/core/weight_list.html:70 -msgid "No weight entries found." -msgstr "Painomerkintöjä ei löytynyt." - #: core/templates/core/widget_tag_editor.html:22 msgid "Tag name" msgstr "" @@ -1558,570 +2061,66 @@ msgctxt "Error modal" msgid "Close" msgstr "" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s sitten (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, python-format -msgid "Duration: %(duration)s" -msgstr "" - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "tänään" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "tänään" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "eilen" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s päivää sitten" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s aloitti ihokontaktin." - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s lopetti ihokontaktin." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s nukahti." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s heräsi." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s aloitti syömisen." - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s lopetti syömisen." - -#: core/timeline.py:185 -#, python-format -msgid "%(child)s had a %(type)s diaper change." -msgstr "" - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s tunti" -msgstr[1] "%(hours)s tuntia" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuutti" -msgstr[1] "%(minutes)s minuuttia" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s sekunti" -msgstr[1] "%(seconds)s sekuntia" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "%(model)s -merkintä lapselle %(child)s lisätty!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "%(model)s -merkintä lisätty!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "%(model)s -merkintä lapselle %(child)s päivitetty." - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "%(model)s -merkintä päivitetty." - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s -merkintä poistettu." - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "%(first_name)s %(last_name)s lisätty!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s -lukema lisätty!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s -lukema lapselle %(child)s päivitetty." - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s pysäytetty." - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Kaikki inaktiiviset ajastimet poistettu." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Ei inaktiivisia ajastimia." - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "Viimeisin vaipanvaihto" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "Viime viikko" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "märkä" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "kiinteä" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "%(key)s päivää sitten" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s unimerkintä" -msgstr[1] "%(count)s unimerkintä" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Edellinen syöttö" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Viimeisin syöttötapa" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "viimeisin" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n)s syöttöä%(plural)s sitten" -msgstr[1] "%(n)s syöttöä%(plural)s sitten" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Edellinen uni" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Päiväunet tänään" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s unimerkintä" -msgstr[1] "%(count)s unimerkintä" - -#: dashboard/templates/cards/sleep_recent.html:6 -#, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Edellinen uni" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s unimerkintä" -msgstr[1] "%(count)s unimerkintä" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "Tilastot" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "Ei riittävästi dataa" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s unimerkintä" -msgstr[1] "%(count)s unimerkintä" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "%(user)s aloitti %(start)s" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Ihokontakti tänään" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "Viimeisin ihokontakti" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Ei koskaan" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Lapsen toiminnot" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Raportit" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Päiväunen kesto keskimäärin" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Päiväunia päivässä" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Unen kesto keskimäärin" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Hereilläoloaika keskimäärin" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Painonmuutos viikossa" - -#: dashboard/templatetags/cards.py:401 -msgid "Height change per week" -msgstr "" - -#: dashboard/templatetags/cards.py:411 -msgid "Head circumference change per week" -msgstr "" - -#: dashboard/templatetags/cards.py:421 -msgid "BMI change per week" -msgstr "" - -#: dashboard/templatetags/cards.py:439 +#: dashboard/templatetags/cards.py:410 msgid "Diaper change frequency (past 3 days)" msgstr "Vaipanvaihtotaajuus (past 3 days)" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 msgid "Diaper change frequency (past 2 weeks)" msgstr "Vaipanvaihtotaajuus (past 2 weeks)" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Vaipanvaihtotaajuus" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Syöttötaajuus" - -#: reports/graphs/bmi_change.py:27 -msgid "BMI" -msgstr "" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Vaipanvaihtomäärä" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Vaipanvaihtomäärät" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Vaihtojen määrä" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Vaippojen eliniät" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Vaihtoväli" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Yhteensä" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Vaipanvaihtotyypit" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Vaihtojen määrä" - -#: reports/graphs/feeding_amounts.py:69 -msgid "Total Feeding Amount by Type" -msgstr "" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Syötön määrä" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Kesto keskimäärin" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Syötöt yhteenså" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Imetyksen kesto keskimäärin" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Kesto keskimäärin minuuteissa" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Syöttöjen määrä" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -msgid "Height" -msgstr "" - -#: reports/graphs/pumping_amounts.py:59 +#: reports/graphs/pumping_amounts.py:57 msgid "Total Pumping Amount" msgstr "" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 msgid "Pumping Amount" msgstr "" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "Unimallit" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Ajankohta" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Uni yhteensä" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Unet yhteensä" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Unitunnit" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Paino" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Vaippojen määrä" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Vaippojen eliniät" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Vaipanvaihtotyypit" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Syöttöjen määrä" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Syöttöjen kesto keskimäärin" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Ei riittävästi dataa tämän raportin luomiseen." - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Vaipanvaihtomäärät" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Syötön kesto keskimäärin" - #: reports/templates/reports/report_list.html:18 msgid "Pumping Amounts" msgstr "" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Unikuvio" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Haluatko varmasti poistaa %(number)s inaktiivista timer%(plural)s?" +msgstr[1] "Haluatko varmasti poistaa %(number)s inaktiivista timer%(plural)s?" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Uni yhteensä" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s unimerkintä" +msgstr[1] "%(count)s unimerkintä" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n)s syöttöä%(plural)s sitten" +msgstr[1] "%(n)s syöttöä%(plural)s sitten" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s unimerkintä" +msgstr[1] "%(count)s unimerkintä" -#~ msgid "Today's Sleep" -#~ msgstr "Uni tänään" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s unimerkintä" +msgstr[1] "%(count)s unimerkintä" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s unimerkintä" From 6019537340f5f4c7e2387c5b157c973d5ec59695 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:44 -0700 Subject: [PATCH 12/39] Update django.mo (POEditor.com) --- locale/fr/LC_MESSAGES/django.mo | Bin 32972 -> 30715 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 6a6f7e7e3b2f11ccf004dcec68a25a6508916e51..1eeb4ff2e86715f06e853088c21f357e7f6dfe2f 100644 GIT binary patch delta 7099 zcmZA630T)f9>?(?haxJ6pn?kcN4dQZ!W&Ie6G23`O}runK?Ovv)bf}1WNCS_Dp`*Q zn=5L%8Lew-7LTc!M{Bz6T5hRr**={{mzys8{xI|O?6do{zGmh(znSlRXXc00x#ix! zeB-sgz3cG5mpbcDV@KRiy$imDQFsmGvB}osc}US2gOQkvA?RXn+=w1*z)pArBk&G} zVJ9lGUxed22^8+P4U4cl_0_0}4`48!$2j~56<`Zy4aW$K!DQ6)9NWI!x)n8kJ*wYT zBnHQe!PP%9iuG%tG#ca#Y>Sns7oI@gaq3VjJcTXs3bw#&w*Hy*EA*rNd+QzB?%UP8 z*Tx!R?c`F>3m)5$VC#KsJq0~HAAzlL7Lo*K9%>7oLZz}6mFgoHfS0j7-oQ}&36!L$LWkW%ai{L8>riJ8+BG%_cY_iT8E&kh$d1{s`F7Rn1@Q$GSrHnMrC3%YNfT- z{n&!~VeEj%Q2}4Zws-}#pwCe6e}(FQ8;R9v>Pi09A*q+y+kU9}VANKO!~o1fKb(ny zn2#E$0t0Xi-S4#TMLAO%Q^5KN|JC4{9s#v(KkuF!ch|xQkJT(_Kp;j=~=>7SE$n z)rie2Km`=k&!jRAm7$)t-Vb$lQc&*=MQv3YD!>WWsrVH2d}RBbuaSP-|NbV0-BDkp z0jL#C#CA9nJ-870h&dZj6CFft$r03q4c0TLLweDA6}81TF$iy=GUUaT^3(kfqo9Va zr~#9$!%&B3G=|{)sGkwjk&m5If$Cp_%FuSyiVvaA#tBraKSE`!5w)4r--NvI)Q+H9-W1Vj^l~!%+i{wPvGMI>SCMvR0wyS&k)m7hRp! zqI=9r7Nb`DxUH{5O}NI^x1uK8iCWP<)Rw%A3ivOm1zbjra~0L^26n)ks7&5P%^RFT z{+oY}rVQ2`a8 zwxVbd`B#TW?Sp4gk#9g9zAdPL_E?W0yW+fy8o-wyiAsGaYOA79?eVBM-BWUYM{NS_Yb4?_9Uv`MO44{ zQGs2x&u=0baGgfm;TNkHfBVn?e%PE^jHMohN?95v;so?yC92;R`@9yF(Y>~Q(E1wc zkT#$ecoKbe|1VI`gqKj)>SN@9I*rK3&q*3ax^Nnf#5I_O7f>tgI^67a3~HQFs0lJq zD}TVYPe)~{02N>*w$lB7jKT<9iF)BAD%EFEDg6-j;^(Nt_#>*HKQDF0Ak>~FVK@#( zZE3b`pNk5t5|ybHsQ1>Ot3y#oL8*NWwW0=8gr~40o=5fjCn}I1P!ss1nrj)3dapk! zfE3gOS@!vS)Iy#_y}uFl{*F}gua*3X21R%jpTX0p049$#0py?tD7E!vs1$EP?ddj* z#9GvQZ(;$S#)q))D92&9oDHb=E}-W7+bGvW^a%|LN6-huv&?mkz&6x-p)xZV zwbiNE8mFME)Xk!>3+LJg0h7#W4@a#a3ANJk7=g1us88>5 zREE~0R=Nj0_!f4;Pf=UbgbK_j$83SerJxskpfZtWeZX3P3UCQ}Q2lk9cc3QTjoQLP zs6%-i)&Cq0#EbTM%W0-xAnLu2sPBOrOTj~7IO?>|#1O1NP4qM>z;&pJ>aab&j7#vO zZ67(^JRgVZpN0B6Um@zOxTvjNhYD~9CeZBcqM+1YKhGM<-G-?4KA|Dv%Yt$j`!WC2dQ1oDCv+REfg;*NaVI3m8w!&4Yd%F>J zcxq73UqEfe9$Pk+?m(@i0Tt+ns58=PjtQ_AYK6(D!`<4tfW_)(aSzBmVU z*a}gndMRq9>#!vrv!1ZNgG%K^jKmL6f&7d*lz|1N9*Y`xC@Rw#n1JrX6uMD(24nC5 zYJf}F9sgwwU|9*&`=PE~4)(xGR3>UM8ehj2_%SMgPf_FDK`k(3o_QXI1mrrA6qJfS zsQa0U_hPo`;A}!gyc>1;kD;#T8B}IIM+M$tzUemvb@(Qt0x7^&Sd9Kyg&Jo$Hvj&= zmV#2V8I|%nR3OJtD|#389k_*E(SLy%AQ3h2J*cyjippdrs$VH;VH;4H*om$2FslCv z$@z2MqtFJgV-kLaN>zA~IUA9v0Ao=DrC|EJA@URFJUx#XivwsxBxZaV)Vlms1>cY?VD_U8|wP)K?QOI_5LZ; zS-FJC_;oS+KbS&HiTRhyGm#(BP7M-^^CfD9ISb7mKZH6=Pof5X9yRc8)Rw)9O8sdJ zz?&F|Kj1j@Ej90DpfWhMl>BSYD{0Wct1%XLpe8wZ*VuecO+S{qOUe_;I%H9+e!^Pg1uqERWLDp2z0E z%8i{cp7wsI3{6FyoqSw}kD(Um22_}og`x%+fJ#j|YDER8!&Qm84UeH-+>Xm|7gk~n ze~icHQGtGj%FK7D@w}_dI9*ZC<4ir>=}$qa8H^opgn8gh!7%F6Y`x671hpm0aS+y_ zPV@Du`nBCl!|LmX`Uh7x4cSwFFg?jDWJ0cIc1gwTf;>-bLiyr_d5LA!!5N-vzl;Ob zZ)EiHDy!a>5nr8~*`Yov^P+cksL+5@b~gmUz;(?yUbJHW9F*1 zaibO#7UdO}=av_i6g!hDa*N9g%TMen^UR6Q{hue*3+6|J|N8X*9@baS&++YA?nxMy zS2Uuc*t0ON!n1HeMcJ@E)Du1Vxw8uw9U|fvqe>1Ax z+o*~C1^Lf%i*wpH#4|nJn2x?U4t2vc)C`|R&F~;L#8c>rXHEWs@iKZ*{;Bb%DgWAd z&-jz^p_7CcH+V2ib?l4E2bg>WI>@)e#@H9NltWNkFcY<;%TY_c9h=|@48-#ofLBo~ zdk=MgK!Uvz&h{i)QjmkXu@oP}C$T-Az~OiYyJ62n%PPaU_zHfFH(Hp%YiUb1EN zr@UE;Wo6@7%)wpgj`z?9?;{g+TK^%TnR{_^nqX7ZOe0Y@#Nm2OLaodx^u}}84Btm} z_yy{0e2=={qn%|nLO)cyP}F^is1-}araa%uA)y;`(GLqzXP^qz@lw_OklRB`hEd4Gl#7r9LL5EW92c1WM^4C#kY1DK;3^C)&4pr;;qiCzZx{{V()DbDj$V@ z7=s!>s;SSwrsM~rIvQ*0C!zMb1U17d9EWRA?Y=Vg-(fKMA5jDHO=JBv)6g`#<5s8{ zbU^KK7u0Jr5;d^-sJ&f+TG9=ufgVP6dIQ{SMgy(M9&w=U61B8Wr| zYNk_A9hISGvI2EBwxRa+4OIINQA>OW^?;vH_j~e=sy+ag+_I?rVX1P2*7mY;Wv|E65MTWc&d6 zvhx0u(2_>+)sgK`OOuWoSU&0#yc*T3)EkdBZ;TjGLhH0jLLtn|vJV zfo)L}>WVF}Cu+bG`mq06(mV>ZbVaC!vrtQ3fttx`)Pr9{E$IPN$EQ*C7cmBJpz1x+ z?YAWgHL*04?~gk5c^HNB)17v~W(p!Hcnx*KMN~)EPy_lAwG|Icy?2IP9)=otH0toh zpa#^%H~>@0k4N3V9<|~xp|QuK8o(J;M>kP3{F}-D3$;>B``Sw#jOr)~)lodE zz60t(-B1(BMtv8?p!zK|_480$b*nyhSKGX-}Fsj2hQ60UDI;2-o9sCtF zfQKgEu%Dd|Kn)-gwSvj0emkK0Nki^;TA3uYx5Ll_C!!kWqXt%ls;@u|aEYm3X{mJ0k5C~-81cWG3dqft#%}IdedA5{2|hqh3=FOLCtU&dSEVUK$B6g zRWWwKCCG1P>o|76udxq?XYp!dF6#b6sI5MNK0M!gkAxoZ8G7O^Rp1@eQvHYx(Y?Rj zt}*h4S^=o`!%#~-2DK&AQTJ7%4&zc(yG^L?%r?}P9!IB6`FRrB(;KGZ@2CN|XWL8V zhq^HwbtXEa7iOVmGz2xk;ixa$I8?jYsDV6<>VF-E;a=2zZ)LOo8o*f!^nmN8!9P$l zX+FU2parUf6x2*IPy@`yH8=t_fSafR+(zC1Z53+B}MLlpTYDQ(Kfh;yILv_3wy|Ehgx@|%Ae-JO=5!8gA%(1_O8=WL# zDL95ncopN(Yq0%AYmX`9M`8pnMgFsP@S_cWk1a892-|{PP%BxC(YOLT;>)Nn-xbs$ z{Q({5Z1uRkw0%(>jzJB;iE+3e`NNBK3AG}PILaxQi5hr0s{DE6*jOK9Ym9!v?k58^ z@R`^GSD+v6!(_ex$4RK8FHs|JJj`CQSkxg)MlE$J`e1icpJg13YBvJaZoJ7)G5Hy& zEhsbjx!9QeB3GXMUr9nsRc$H`qh@{rb(n6V1Aj)%By_la22xRbnSnY?xfp}Zroy;A!}GaJg^!)e%i z48KZoAL@qTG7OVY{b%N~|4NKD1x2V17h)nli(1;_ru^hZ@j7$Fu%w5Xkzq$1voLvIb%;Zo%jV z?B7KGvH)`?+bc0-iv2oG!=|)zqE@IH)$u-b;Azy1Z=ts4Ax5HGzP$y}P7=B?0kskt z#u3Is)Bxw90~euA^LEsO_oBA&C^o^9sP-2y72h}Y9#idhzNq^GQQre+YZ49;kD*Tc zcx;a4s0S@a4R9^$K`)~Y(W|%s&zSOF1$KQFs{IfQ!fB|pvIw=cYtaL@Bi|XPwVQ;N z{vv8`9-6J`fAA5w1W_T!-$s$<)7qUgY&GupiEvVNc*FHY9)1 z_#w6-{~7B4KP|VJ_Q<=VJ{TiV1DT9E%_XLMC2B^s*Z~iqmiQ{_@HHy79~6ulV3aY| zm}2aVnqbdj_Fo-lQJ_PUi#nYZs1BE+H?BwBuobl;dr9ug!R`9Pf(!K`61Tgm$(z>m)Z>@X4$88PpKk}zhBmV&P8hwU3oHtN! z!4IgJdd{{7+R@m}*ax+e{V@uiLrG{PrKnT9%;dLXGxA4JOMM38@l$MtZgcFVj6vN$ z09)fE<5E=neW=&;5+>nysFesUcm0lVTAfH}Pe-B#kc;YY4r+!gP5oNbfND@Hu@{@; zG0ea}n0lWId%#hs73_$5oqMC}44~@_U?AtudYyz0-#OGkK1VIlm#D+{J*uOhQA_Vp zX%EB~1IS0C2GS8*VkYXlF%4Uw6LtR%RKJH%XXhBU())jwgc{yP&CILHUWpKFOujAZ zhHl1e^dUbQ6EPpPQq`yd)}U5uD+c3X)GwX0s0n_7I>fipsfKq+s6%V6Jwjj9%!7EvTAkg*HKl2%s~<6&^d)SKuIGo7i6Zkc=3_N+fpk2+OdKPvC7wuH*BqiL z>2HxY&>BdZ^X0lGk>(G%R$qJ^Yq0)mPWnfa8E5OXz9$h(MJ}O(_Z9JHyVCjv7n%;- z@lWIrnYuXg!%dw7^}2R8`9NbA%7znN$#=!y5%rhO)K$&DxW2@=AIB1lxTzQJHRYlc zvCec}i`$5vL`zfFpZZNEt@iVYMoMs%6M3d?3YHKaPE(+LxS>{D`n2+E-1)(5t=w{OYCYF&tK)j$zu0EuD5xVr2==wX6WXgEutevC>;b6j9z>h>zNz%GV zoKnJEb8!vz_e{P5V~8wbH08TY`B>A(lX#A@ji?V>I`KU5HnE-9N9cNmXyeBE&!wRc zp{ojui6`u=>kpaw+O0D6D&C&n?b z_PJ@@&DFj>@rXZ|bSO72CN`M-XV`^&d!m%|FzjsVM4?IhQ~tk~pDA<09om0=HaFu; zoItcBW{@9)^;ZaqLdyE$0pc}N(G<5+e$?c5lU_!;0qRKwg$E53NOJYEMM&F-k zlUdJ=fBbKSD^A!|+)`S2B5B4~f4KQN($o{`!c-Y(lHv z(AD;l{a2$b3g-|=RJq~M>b42p566ruCxJHtG&rVw7N$(+ECtqaB)?!cMY0B%b zU=r=fzmHpqsitDJY12vX|4IsjWsR$$fK)Qw)Md-Rkj3>4cCkS2BiAdrM@ejh2 z`znd%r2FGY{E|o~tt*}=H|ZI!68?;!_rH=%3o4#7g)f*!dvT^okHW`HePhxo#IMLN z!5)}EOeU>sC^3k12D+=jTvI7KP1+Y<#xID&>8A223LPdbx)UD|al~C>39*RSNO;rs zbJTUxsyi4yJESHi<3L?RM{obScQX>*TE@obPcJH-no#b@a}-oM%JUqt@fGvS3Mj~* zRhd7%peDNC8#R%c{xxs+3whMKE}7RFc*n+<6<5y5D^93M&TdoJHhZRf-L^r4y?y?_ zyu5eK_z?r^Qbw-wt;wDHQfPW{ab8hHK}kVrh4o0fyyjY7q|YM-b^cSvc{DF~RF*ns lFs`X_1*L^~r4{9Ms|tg?yoVOdDW6qZT2Nefxa3vu{{teBAD{pL From 2c5161323b4dc03bd4d4238fe771390e3206d269 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:45 -0700 Subject: [PATCH 13/39] Update django.po (POEditor.com) --- locale/fr/LC_MESSAGES/django.po | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index ebd37103..9e9072c6 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -133,7 +133,7 @@ msgstr "Changement de couche" #: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" -msgstr "Allaitement" +msgstr "Alimentation" #: babybuddy/templates/babybuddy/nav-dropdown.html:63 #: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 @@ -377,7 +377,7 @@ msgstr "Supprimer" #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 msgid "

Are you sure you want to delete %(object)s?

" -msgstr "

Êtes-vous sûr de vouloir supprimer %(object)s ?

" +msgstr "

Êtes-vous sûr(e) de vouloir supprimer %(object)s ?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -452,7 +452,7 @@ msgstr "Email" #: babybuddy/templates/babybuddy/user_list.html:21 msgid "Staff" -msgstr "Personnel" +msgstr "Administrateur" #: babybuddy/templates/babybuddy/user_list.html:22 core/models.py:551 #: core/templates/core/timer_list.html:31 @@ -533,7 +533,7 @@ msgstr "Bienvenue sur Baby Buddy !" #: babybuddy/templates/babybuddy/welcome.html:14 msgid "Learn about and predict baby's needs without\n" " (as much) guess work by using Baby Buddy to track —" -msgstr "Apprendre et prédire les besoins de bébé deviens un jeu d'enfants avec Baby Buddy —" +msgstr "Apprendre et prédire les besoins de bébé devient (un peu plus) facile avec Baby Buddy —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -1180,7 +1180,7 @@ msgstr "Pas assez de données" #: dashboard/templates/cards/timer_list.html:12 msgid "%(count)s active timer%(plural)s" -msgstr "%(count)s chronomètre%(plural)s actif" +msgstr "%(count)s chronomètre%(plural)s actif%(plural)s" #: dashboard/templates/cards/timer_list.html:19 msgid "Started by %(instance.user)s at %(start)s" @@ -1464,7 +1464,7 @@ msgstr "Lancé par %(user)s à %(start)s" #: reports/templates/reports/feeding_amounts.html:8 #: reports/templates/reports/report_list.html:14 msgid "Feeding Amounts" -msgstr "Allaitements" +msgstr "Quantités d'alimentation" #: reports/graphs/feeding_amounts.py:27 msgid "Total feeding amount" @@ -1476,7 +1476,7 @@ msgstr "Durée moyenne d'alimentation" #: reports/graphs/feeding_amounts.py:72 msgid "Feeding amount" -msgstr "Allaitement" +msgstr "Quantité d'alimentation" #: reports/templates/reports/report_base.html:17 msgid "There is not enough data to generate this report." @@ -1887,7 +1887,7 @@ msgstr "Aucun événement" #: core/timeline.py:185 msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s a eu sa %(type)s couche changée." +msgstr "La couche %(type)s de %(child)s a été changée." #: dashboard/templatetags/cards.py:372 msgid "Height change per week" @@ -2089,8 +2089,8 @@ msgstr "Quantités pompées" #: core/templates/core/timer_confirm_delete_inactive.html:17 msgid "Are you sure you want to delete %(number)s inactive timer?" msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "Voulez-vous vraiment supprimer %(number)s chronomètre inactif%(plural)s?" -msgstr[1] "Voulez-vous vraiment supprimer %(number)s chronomètres inactif%(plural)s?" +msgstr[0] "Voulez-vous vraiment supprimer %(number)s chronomètre inactif ?" +msgstr[1] "Voulez-vous vraiment supprimer %(number)s chronomètres inactifs ?" #: dashboard/templates/cards/feeding_day.html:25 msgid "%(counter)s feeding" @@ -2101,8 +2101,8 @@ msgstr[1] "%(counter)s alimentations" #: dashboard/templates/cards/feeding_last_method.html:21 msgid "%(n)s feeding ago" msgid_plural "%(n)s feedings ago" -msgstr[0] "il y a %(n)s alimentation%(plural)s" -msgstr[1] "il y a %(n)s alimentation%(plural)s" +msgstr[0] "il y a %(n)s alimentation" +msgstr[1] "il y a %(n)s alimentations" #: dashboard/templates/cards/sleep_naps_day.html:12 msgid "%(count)s nap" @@ -2113,6 +2113,6 @@ msgstr[1] "%(count)s Sieste%(plural)s" #: dashboard/templates/cards/timer_list.html:12 msgid "%(count)s active timer" msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s chronomètre%(plural)s actif" -msgstr[1] "%(count)s chronomètre%(plural)s actif" +msgstr[0] "%(count)s chronomètre actif" +msgstr[1] "%(count)s chronomètre%(plural)s actifs" From 488107b1506f38447b36b516c6716f97a7360243 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:47 -0700 Subject: [PATCH 14/39] Update django.mo (POEditor.com) --- locale/de/LC_MESSAGES/django.mo | Bin 23780 -> 27394 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index c8cabb54c1c9eae0af1de448a5acedbc7ddc3eb0..0bb684d84448fc54b2e038fcd8111c3de04b3141 100644 GIT binary patch delta 9247 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 From 94113cb56d1e22d0cc821cbb16c8276658272b50 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:48 -0700 Subject: [PATCH 15/39] Update django.po (POEditor.com) --- locale/de/LC_MESSAGES/django.po | 2488 +++++++++++++++---------------- 1 file changed, 1236 insertions(+), 1252 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 754b606d..fec365c8 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Einstellungen" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,17 +29,16 @@ msgid "Refresh rate" msgstr "Aktualisierungs-Intervall" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Wenn dies vom Browser unterstützt wird, wird das Dashboard nur aktualisiert, " -"wenn es sichtbar ist und auch wenn es den Fokus erhält." +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Diese Einstellung wird nur verwendet, wenn ein Browser \"refresh on focus\" nicht unterstützt." #: babybuddy/models.py:28 msgid "disabled" msgstr "deaktiviert" +#. Minute is a SI unit. The symbol is "min" without a dot. This is the same for German and English. +#. https://en.wikipedia.org/wiki/Minute +#. https://de.wikipedia.org/wiki/Minute #: babybuddy/models.py:29 msgid "1 min." msgstr "1 min." @@ -74,117 +71,30 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Dashboard Karten ohne Inhalt verbergen" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Verstecke Daten älter als" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" -"Diese Einstellung kontrolliert welche Daten im Dashboard angezeigt werden." - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "alle Daten anzeigen" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 Tag" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 Tage" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 Tage" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1 Woche" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 Wochen" - #: babybuddy/models.py:63 msgid "Language" msgstr "Sprache" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Zeitzone" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "{user} Einstellungen" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "Chinesisch (vereinfacht)" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Niederländisch" - -#: babybuddy/settings/base.py:169 -msgid "English (US)" -msgstr "Englisch (US)" - -#: babybuddy/settings/base.py:170 -msgid "English (UK)" -msgstr "Englisch (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" +msgstr "Englisch" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Französisch" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Finnisch" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Zugriff verweigert" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Deutsch" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "Italienisch" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "Polnisch" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "Portugiesisch" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Spanisch" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Schwedisch" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Türkisch" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Datenbankadministration" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Du hast keine Berechtigung auf diese Ressource zuzugreifen. Bitte kontaktiere einen Administrator." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -209,36 +119,32 @@ msgstr "Senden" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Fehler: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Fehler: Gewisse Felder sind fehlerhaft. Details sind unten " -"ersichtlich." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Fehler: Manche Felder sind fehlerhaft. Details sind unten ersichtlich. " -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Windelwechsel" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Mahlzeit" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Notiz" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -248,8 +154,8 @@ msgstr "Notiz" msgid "Sleep" msgstr "Schlafen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -261,15 +167,24 @@ msgstr "Schlafen" msgid "Tummy Time" msgstr "Bauchzeit" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "Zeitverlauf" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Gewicht" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -279,7 +194,7 @@ msgstr "Zeitverlauf" msgid "Children" msgstr "Kinder" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -298,7 +213,7 @@ msgstr "Kinder" msgid "Child" msgstr "Kind" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -307,112 +222,24 @@ msgstr "Kind" msgid "Notes" msgstr "Notizen" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "Messungen" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "BMI" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -msgid "BMI entry" -msgstr "BMI Eintrag" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "Kopfumfang" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "Kopfumfang Eintrag" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -msgid "Height" -msgstr "Größe" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -msgid "Height entry" -msgstr "Größen Eintrag" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatur" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Temperatur Messung" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Gewicht" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Gewichtseintrag" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Aktivitäten" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Wechsel" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Wechsel" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -422,31 +249,15 @@ msgstr "Wechsel" msgid "Feedings" msgstr "Mahlzeiten" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -msgid "Pumping entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Schlaf-Eintrag" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Bauchzeit-Eintrag" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -454,23 +265,23 @@ msgstr "Bauchzeit-Eintrag" msgid "User" msgstr "Benutzer" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Passwort" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Logout" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Seite" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API Browser" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -478,15 +289,19 @@ msgstr "API Browser" msgid "Users" msgstr "Benutzer" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Backend Admin" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Support" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Quellcode" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / Support" @@ -497,7 +312,6 @@ msgstr "Chat / Support" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Zurück" @@ -509,7 +323,6 @@ msgstr "Zurück" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Weiter" @@ -565,13 +378,8 @@ msgstr "löschen" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Bist du sicher, dass du %(object)s " -"löschen möchtest?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Bist du sicher, dass du %(object)s löschen möchtest?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -627,7 +435,6 @@ msgstr "Aktualisieren" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

%(object)s ändern

" @@ -657,7 +464,7 @@ msgstr "Aktiv" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -695,6 +502,11 @@ msgstr "Passwort ändern" msgid "User Settings" msgstr "Benutzereinstellungen" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Fehler: Gewisse Felder sind fehlerhaft. Details sind unten ersichtlich." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Benutzerprofil" @@ -721,12 +533,10 @@ msgid "Welcome to Baby Buddy!" msgstr "Willkommen bei Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Lerne und sehe die Bedürfnisse deines Babys voraus, ohne (allzu viel)Spekulation indem du Baby Buddy verwendest —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Lerne und sehe die Bedürfnisse deines Babys voraus, ohne \n" +" (allzu viel) Spekulation indem du Baby Buddy verwendest —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -738,21 +548,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Windelwechsel" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Während die Anzahl Einträge wächst, hilft Baby Buddy Eltern und Pflegenden, " -"mit Hilfe des Dashboards und Diagrammen, kleine Muster im Verhalten ihres " -"Babys zu erkennen. Baby Buddy ist Mobiltelefon-Freundlich und benutzt ein " -"dunkles Design, um erschöpften Müttern und Vätern beim Füttern und Windel-" -"Wechseln um 2 Uhr Nachts zu unterstützen. Um loszulegen, klicke einfach auf " -"den untenstehenden Button, um das erste (oder zweite, dritte, etc.) Kind " -"hinzuzufügen!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Während die Anzahl der Einträge wächst, hilft Baby Buddy Eltern und Pflegenden, mit Hilfe des Dashboards und Diagrammen, kleine Muster im Verhalten ihres Babys zu erkennen. Baby Buddy ist mobiltelefonfreundlich und benutzt ein dunkles Design, um erschöpften Müttern und Vätern beim Füttern und Windelwechseln um 2 Uhr Nachts zu unterstützen. Um loszulegen, klicke einfach auf den untenstehenden Button, um das erste (oder zweite, dritte, etc.) Kind hinzuzufügen!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -760,52 +563,6 @@ msgstr "" msgid "Add a Child" msgstr "Kind hinzufügen" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "Falsche Anfrage" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Zugriff verweigert" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Du hast keine Berechtigung auf diese Ressource zuzugreifen. Für " -"Unterstützung kontaktiere bitte den Administrator." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "Wie reparieren" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" -"Füge %(origin)s zur CSRF_TRUSTED_ORIGINS " -"Umgebungsvariable hinzu. Teile mehrere Ursprünge mit Kommas." - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "Seite nicht gefunden" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "Der Pfad %(request_path)s existiert nicht." - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "Serverfehler" - -#: babybuddy/templates/error/base.html:14 -msgid "Return to Baby Buddy" -msgstr "Zurück zu Baby Buddy" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Login" @@ -820,8 +577,7 @@ msgstr "Passwort erfolgreich zurückgesetzt!" #: babybuddy/templates/registration/password_reset_complete.html:8 msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Dein Passwort wurde gesetzt. Du kannst nun weiter gehen und dich einloggen." +msgstr "Dein Passwort wurde gesetzt. Du kannst nun weiter gehen und dich einloggen." #: babybuddy/templates/registration/password_reset_complete.html:9 msgid "Log in" @@ -831,12 +587,10 @@ msgstr "Login" msgid "Password Reset" msgstr "Passwort zurücksetzen" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Oh nein! Die beiden Passwörter stimmen nicht überein. Bitte " -"versuche es erneut." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Oh nein! Die beiden Passwörter stimmen nicht überein. Bitte versuche es erneut.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -851,73 +605,35 @@ msgstr "Passwort zurücksetzen" msgid "Reset Email Sent" msgstr "Gesendete Email zurücksetzen" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Wenn ein Account mit dieser E-Mail-Adresse existiert, haben wir dir " -"Anweisungen zum Zurücksetzen des Passworts an dieselbe Adresse gesendet." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Falls du die E-Mail nicht erhältst, überprüfe, dass du die registrierte " -"Adresse eingegeben hast und überprüfe deinen Spam-Ordner." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Wenn ein Account mit dieser E-Mail-Adresse existiert, haben wir dir Anweisungen zum Zurücksetzen des Passworts an dieselbe Adresse gesendet.

\n" +"

Falls du keine E-Mail erhältst, überprüfe ob du die E-Mail-Adresse eingegeben hast, mit der du dich registriert hast, und überprüfe deinen Spam-Ordner.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Passwort vergessen" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Bitte gib deine Account E-Mail-Adresse ins folgende Formular ein. Wenn die " -"Adresse gültig ist, erhältst du Anweisungen um das Passwort zurückzusetzen." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "Verboten" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF Verifikation fehlgeschlagen. Anfrage abgebrochen." +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Bitte gib deine Account-E-Mail-Adresse ins folgende Formular ein. Wenn die Adresse gültig ist, erhältst du Anweisungen um das Passwort zurückzusetzen.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "User %(username)s hinzugefügt!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "User %(username)s geändert." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "User {user} gelöscht." @@ -933,20 +649,10 @@ msgstr "User API-Key neu generiert." msgid "Settings saved!" msgstr "Einstellungen gespeichert!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Name entspricht nicht dem Kindernamen." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Datum darf nicht in der Zukunft liegen." @@ -967,43 +673,6 @@ msgstr "Ein anderer Eintrag schneidet sich mit der angegebenen Zeitperiode." msgid "Date/time can not be in the future." msgstr "Datum/Zeit darf nicht in der Zukunft liegen." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Farbe" - -#: core/models.py:90 -msgid "Last used" -msgstr "" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Datum" - #: core/models.py:163 msgid "First name" msgstr "Vorname" @@ -1058,11 +727,14 @@ msgstr "Grün" msgid "Yellow" msgstr "Gelb" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Menge" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Farbe" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Nass und/oder fest wird benötigt." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1088,14 +760,6 @@ msgstr "Brustmilch" msgid "Formula" msgstr "Formula" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Angereicherte Brustmilch" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Feste Nahrung" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Typ" @@ -1112,25 +776,19 @@ msgstr "Linke Brust" msgid "Right breast" msgstr "Rechte Brust" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Beide Brüste" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Durch Eltern gefüttert" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Selber gefüttert" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Methode" -#: core/models.py:452 -msgid "Napping" -msgstr "Nickerchen" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Menge" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Nur die Methode \"Fläschchen\" ist mit Typ \"Säuglingsnahrung\" erlaubt." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1150,7 +808,6 @@ msgid "Timers" msgstr "Timer" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Timer #{id}" @@ -1158,24 +815,21 @@ msgstr "Timer #{id}" msgid "Milestone" msgstr "Meilenstein" -#: core/templates/core/bmi_confirm_delete.html:4 -msgid "Delete a BMI Entry" -msgstr "Lösche BMI Eintrag" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -msgid "Add a BMI Entry" -msgstr "Füge BMI Eintrag hinzu" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "Füge BMI hinzu" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No bmi entries found." -msgid "No BMI entries found." -msgstr "Keine BMI Einträge gefunden." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Datum" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1183,8 +837,7 @@ msgstr "Lösche ein Kind" #: core/templates/core/child_confirm_delete.html:20 msgid "To confirm this action. Type the full name of the child below." -msgstr "" -"Um diese Aktion zu bestätigen, gib unten den vollen Namen des Kindes ein." +msgstr "Um diese Aktion zu bestätigen, gib unten den vollen Namen des Kindes ein." #: core/templates/core/child_detail.html:23 #: dashboard/templates/dashboard/dashboard.html:32 @@ -1196,15 +849,15 @@ msgstr "Geboren" msgid "Age" msgstr "Alter" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Kind hinzufügen" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "Vor %(since)s : (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Geburtsdatum" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Keine Kinder gefunden." @@ -1229,18 +882,14 @@ msgstr "Windelwechsel hinzufügen" msgid "Add" msgstr "Hinzufügen" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Windelwechsel hinzufügen" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "Inhalte" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Keine Windelwechsel gefunden." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Änderung hinzufügen" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Mahlzeit löschen" @@ -1254,10 +903,6 @@ msgstr "Mahlzeit ändern" msgid "Add a Feeding" msgstr "Mahlzeit hinzufügen" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Mahlzeit hinzufügen" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Menge" @@ -1266,6 +911,935 @@ msgstr "Menge" msgid "No feedings found." msgstr "Keine Mahlzeit gefunden." +#: core/templates/core/note_confirm_delete.html:4 +msgid "Delete a Note" +msgstr "Eine Notiz löschen" + +#: core/templates/core/note_form.html:6 +msgid "Update a Note" +msgstr "Eine Notiz ändern" + +#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 +msgid "Add a Note" +msgstr "Notiz hinzufügen" + +#: core/templates/core/note_list.html:64 +msgid "No notes found." +msgstr "Keine Notizen gefunden." + +#: core/templates/core/sleep_confirm_delete.html:4 +msgid "Delete a Sleep Entry" +msgstr "Einen Schlaf-Eintrag löschen" + +#: core/templates/core/sleep_form.html:6 +msgid "Update a Sleep Entry" +msgstr "Einen Schlaf-Eintrag ändern" + +#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 +msgid "Add a Sleep Entry" +msgstr "Schlaf-Eintrag hinzufügen" + +#: core/templates/core/sleep_list.html:25 +#: core/templates/core/timer_form.html:12 +#: core/templates/core/timer_list.html:24 +#: core/templates/core/tummytime_list.html:24 +msgid "Start" +msgstr "Start" + +#: core/templates/core/sleep_list.html:26 +#: core/templates/core/timer_list.html:30 +#: core/templates/core/tummytime_list.html:25 +msgid "End" +msgstr "Ende" + +#: core/templates/core/sleep_list.html:31 +msgid "Nap" +msgstr "Nickerchen" + +#: core/templates/core/sleep_list.html:74 +msgid "No sleep entries found." +msgstr "Keine Schlaf-Einträge gefunden." + +#: core/templates/core/timer_confirm_delete.html:5 +msgid "Delete %(object)s" +msgstr "Lösche %(object)s" + +#: core/templates/core/timer_detail.html:28 +msgid "Started" +msgstr "Gestartet" + +#: core/templates/core/timer_detail.html:30 +msgid "Stopped" +msgstr "Gestoppt" + +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s von %(object.user)s erstellt" + +#: core/templates/core/timer_detail.html:63 +msgid "Timer actions" +msgstr "Timer Aktionen" + +#: core/templates/core/timer_form.html:22 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 +msgid "Start Timer" +msgstr "Starte Timer" + +#: core/templates/core/timer_list.html:58 +msgid "No timer entries found." +msgstr "Keine Timer-Einträge gefunden." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Quick-Start Timer" + +#: core/templates/core/timer_nav.html:28 +msgid "View Timers" +msgstr "Zeige Timer" + +#: core/templates/core/timer_nav.html:32 +#: dashboard/templates/cards/timer_list.html:6 +msgid "Active Timers" +msgstr "Aktive Timer" + +#: core/templates/core/timer_nav.html:38 +#: dashboard/templates/cards/diaperchange_last.html:17 +#: dashboard/templates/cards/diaperchange_types.html:12 +#: dashboard/templates/cards/feeding_day.html:20 +#: dashboard/templates/cards/feeding_day.html:52 +#: dashboard/templates/cards/feeding_last.html:17 +#: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 +#: dashboard/templates/cards/sleep_last.html:17 +#: dashboard/templates/cards/sleep_naps_day.html:18 +#: dashboard/templates/cards/tummytime_day.html:14 +msgid "None" +msgstr "Keine" + +#: core/templates/core/tummytime_confirm_delete.html:4 +msgid "Delete a Tummy Time Entry" +msgstr "Bauchzeit-Eintrag löschen" + +#: core/templates/core/tummytime_form.html:6 +msgid "Update a Tummy Time Entry" +msgstr "Bauchzeit-Eintrag ändern" + +#: core/templates/core/tummytime_form.html:8 +#: core/templates/core/tummytime_form.html:27 +msgid "Add a Tummy Time Entry" +msgstr "Bauchzeit-Eintrag hinzufügen" + +#: core/templates/core/tummytime_list.html:67 +msgid "No tummy time entries found." +msgstr "Keine Bauchzeit-Einträge gefunden." + +#: core/templates/core/weight_confirm_delete.html:4 +msgid "Delete a Weight Entry" +msgstr "Gewichts-Eintrag löschen" + +#: core/templates/core/weight_form.html:8 +#: core/templates/core/weight_form.html:17 +#: core/templates/core/weight_form.html:27 +msgid "Add a Weight Entry" +msgstr "Gewichts-Eintrag hinzufügen" + +#: core/templates/core/weight_list.html:70 +msgid "No weight entries found." +msgstr "Keine Gewichts-Einträge gefunden." + +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s bekam die Windel gewechselt." + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s hat begonnen zu essen." + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s hat fertig gegessen." + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s ist eingeschlafen." + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s ist aufgewacht." + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s liegt nun auf dem Bauch." + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s liegt nicht mehr auf dem Bauch." + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "%(model)s Eintrag für %(child)s hinzugefügt!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "%(model)s Eintrag hinzugefügt!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "%(model)s Eintrag für %(child)s geändert." + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "%(model)s Eintrag geändert." + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "%(first_name)s %(last_name)s added!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s gestoppt." + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "Letzer Windelwechsel" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "vor %(time)s" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Nie" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "Letzte Woche" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "nass" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "fest" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "heute" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "gestern" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "Vor %(key)s Tagen" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Letzte Mahlzeit" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Letzte Mahlzeitart" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Schlaf heute" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Noch keine heute" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s Schlaf-Einträge" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Zuletzt geschlafen" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Heutige Nickerchen" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s Nickerchen%(plural)s." + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "Statistiken" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "Nicht genügend Daten" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s Timer%(plural)s aktiv" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Gestartet von %(instance.user)s um %(start)s" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Heutige Bauchzeit" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s um %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "Letzte Bauchzeit" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Aktionen des Kindes" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Windewechsel Typen" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Windel-Lebensdauer" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Mahlzeit Dauer (Durschschnitt)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Schlafrhythmus" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Schlaf Total" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Frequenz Windelwechsel" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Frequenz Mahlzeiten" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Durschnittliche Nickerchen-Dauer" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Durschnittliche Anzahl Nickerchen" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Durchschnittliche Schlafdauer" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Durchschnittlich wach" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Gewichtsänderung pro Woche" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Windel-Lebensdauer" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Zeit zwischen Wechseln (Stunden)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Total" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Windelwechsel Typen" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Anzahl Wechsel" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Durchschnittliche Dauer" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Total Mahlzeiten" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Durchschnittliche Mahlzeiten-Dauer" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Durchschnittlicher Dauer (Minuten)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Anzahl Mahlzeiten" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "Schlaf-Rhythmus" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Tageszeit" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Total Schlaf" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Totale Schlafzeit" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Schlafstunden" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Gewicht" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Durchschnittliche Mahlzeitendauer" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Reports" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Es gibt nicht genügend Daten um diesen Bericht zu generieren." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Beide Brüste" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Deutsch" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Spanisch" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Schwedisch" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Türkisch" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Du hast keine Berechtigung auf diese Ressource zuzugreifen. Für Unterstützung kontaktiere bitte den Administrator." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatur" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Temperatur Messung" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Lerne und sehe die Bedürfnisse deines Babys voraus, ohne (allzu viel)Spekulation indem du Baby Buddy verwendest —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Während die Anzahl Einträge wächst, hilft Baby Buddy Eltern und Pflegenden, mit Hilfe des Dashboards und Diagrammen, kleine Muster im Verhalten ihres Babys zu erkennen. Baby Buddy ist Mobiltelefon-Freundlich und benutzt ein dunkles Design, um erschöpften Müttern und Vätern beim Füttern und Windel-Wechseln um 2 Uhr Nachts zu unterstützen. Um loszulegen, klicke einfach auf den untenstehenden Button, um das erste (oder zweite, dritte, etc.) Kind hinzuzufügen!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Oh nein! Die beiden Passwörter stimmen nicht überein. Bitte versuche es erneut." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Wenn ein Account mit dieser E-Mail-Adresse existiert, haben wir dir Anweisungen zum Zurücksetzen des Passworts an dieselbe Adresse gesendet." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Falls du die E-Mail nicht erhältst, überprüfe, dass du die registrierte Adresse eingegeben hast und überprüfe deinen Spam-Ordner." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Bitte gib deine Account E-Mail-Adresse ins folgende Formular ein. Wenn die Adresse gültig ist, erhältst du Anweisungen um das Passwort zurückzusetzen." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Angereicherte Brustmilch" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Temperaturmessung löschen" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Temperaturmessung hinzufügen" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Temperaturmessung hinzufügen" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Keine Temperaturmessungen gefunden." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s von %(user)s erstellt" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s Stunde" +msgstr[1] "%(hours)s Stunden" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s Minute" +msgstr[1] "%(minutes)s Minuten" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s Sekunde" +msgstr[1] "%(seconds)s Sekunden" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s Eintrag geändert! " + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s Eintrag hinzugefügt!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s Eintrag für %(child)s geändert! " + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Gestartet von %(user)s um %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Mahlzeiten" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Total Mahlzeiten" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Durchschnittliche Mahlzeiten-Dauer" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Mahlzeit" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Es gibt nicht genügend Daten um diesen Report zu generieren." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Zeitzone" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Datenbankadministration" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Kind hinzufügen" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Windelwechsel hinzufügen" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Mahlzeit hinzufügen" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Notiz hinzufügen" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Nickerchen hinzufügen" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Temperaturmessung hinzufügen" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Alle inaktiven Timer löschen" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Inaktive löschen" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Bist du dicher, dass du %(number)s inaktive timer%(plural)s löschen möchtest?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Inaktive Timer löschen" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Bauchzeit hinzufügen" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Gewicht hinzufügen" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Alle inaktiven Timer gelöscht." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Keine inaktiven Timer vorhanden." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "letzte" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "vor %(n)s Mahlzeit%(plural)sen" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Letzter Schlaf" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Windelwechsel Mengen" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Windelwechsel Mengen" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Windelwechsel Mengen" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Windel Menge" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Windel Mengen" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Wenn dies vom Browser unterstützt wird, wird das Dashboard nur aktualisiert, wenn es sichtbar ist und auch wenn es den Fokus erhält." + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Dashboard Karten ohne Inhalt verbergen" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Verstecke Daten älter als" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Diese Einstellung kontrolliert welche Daten im Dashboard angezeigt werden." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "alle Daten anzeigen" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 Tag" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 Tage" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 Tage" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 Woche" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 Wochen" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Niederländisch" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Finnisch" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italienisch" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Polnisch" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portugiesisch" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Zeitverlauf" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Feste Nahrung" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Durch Eltern gefüttert" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Selber gefüttert" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Inhalte" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Timer neustarten" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Timer löschen" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "heute" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 Tage" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Menge: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Inhalte: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
vor %(since)s
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Heute gefüttert" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s Fütterungseinträge" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Noch keine Daten" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "Bauchzeit Dauer (Summe)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Bearbeiten" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Mahlzeitenintervall (letzte 3 Tage)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Mahlzeitenintervall (letzte 2 Wochen)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Länge insgesamt" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Anzahl der Sessions" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Totalle Bauchzeit Dauer" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Länge insgesamt (Minuten)" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "Totalle Bauchzeit Dauer" + +#: babybuddy/settings/base.py:169 +msgid "English (US)" +msgstr "Englisch (US)" + +#: babybuddy/settings/base.py:170 +msgid "English (UK)" +msgstr "Englisch (UK)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "Messungen" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "Größe" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "Größen Eintrag" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "Kopfumfang" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "Kopfumfang Eintrag" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "BMI" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "BMI Eintrag" + +#: core/models.py:452 +msgid "Napping" +msgstr "Nickerchen" + +#: core/templates/core/bmi_confirm_delete.html:4 +msgid "Delete a BMI Entry" +msgstr "Lösche BMI Eintrag" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +msgid "Add a BMI Entry" +msgstr "Füge BMI Eintrag hinzu" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "Füge BMI hinzu" + +#: core/templates/core/bmi_list.html:70 +msgid "No bmi entries found." +msgstr "Keine BMI Einträge gefunden." + #: core/templates/core/head_circumference_confirm_delete.html:4 msgid "Delete a Head Circumference Entry" msgstr "Lösche Kopfumfang Eintrag" @@ -1302,25 +1876,134 @@ msgstr "Füge Größe hinzu" msgid "No height entries found." msgstr "Keine Größen Einträge gefunden." -#: core/templates/core/note_confirm_delete.html:4 -msgid "Delete a Note" -msgstr "Eine Notiz löschen" +#: core/templates/timeline/_timeline.html:44 +msgid "Duration: %(duration)s" +msgstr "Dauer: %(duration)s" -#: core/templates/core/note_form.html:6 -msgid "Update a Note" -msgstr "Eine Notiz ändern" +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "%(since)s seit vorherigem" -#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 -msgid "Add a Note" -msgstr "Notiz hinzufügen" +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "Keine Ereignisse" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Notiz hinzufügen" +#: core/timeline.py:185 +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s hatten einen %(type)s Windelwechsel." -#: core/templates/core/note_list.html:64 -msgid "No notes found." -msgstr "Keine Notizen gefunden." +#: dashboard/templatetags/cards.py:372 +msgid "Height change per week" +msgstr "Größenänderung pro Woche" + +#: dashboard/templatetags/cards.py:382 +msgid "Head circumference change per week" +msgstr "Kopfumfang Änderung pro woche" + +#: dashboard/templatetags/cards.py:392 +msgid "BMI change per week" +msgstr "BMI Änderung pro Woche" + +#: reports/graphs/bmi_change.py:27 +msgid "BMI" +msgstr "BMI" + +#: reports/graphs/feeding_amounts.py:69 +msgid "Total Feeding Amount by Type" +msgstr "Gesamt Fütterungsmenge pro Typ" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "Kopfumfang" + +#: reports/graphs/height_change.py:27 +msgid "Height" +msgstr "Größe" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "Chinesisch (vereinfacht)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "Falsche Anfrage" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "Wie reparieren" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "Füge %(origin)s zur CSRF_TRUSTED_ORIGINS Umgebungsvariable hinzu. Teile mehrere Ursprünge mit Kommas." + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "Seite nicht gefunden" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "Der Pfad %(request_path)s existiert nicht." + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "Serverfehler" + +#: babybuddy/templates/error/base.html:14 +msgid "Return to Baby Buddy" +msgstr "Zurück zu Baby Buddy" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "Verboten" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF Verifikation fehlgeschlagen. Anfrage abgebrochen." + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "" + +#: core/models.py:90 +msgid "Last used" +msgstr "" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "" #: core/templates/core/pumping_confirm_delete.html:4 msgid "Delete a Pumping Entry" @@ -1340,201 +2023,6 @@ msgstr "" msgid "No pumping entries found." msgstr "" -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Quick-Start Timer" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Quick-Start Timer" - -#: core/templates/core/sleep_confirm_delete.html:4 -msgid "Delete a Sleep Entry" -msgstr "Einen Schlaf-Eintrag löschen" - -#: core/templates/core/sleep_form.html:6 -msgid "Update a Sleep Entry" -msgstr "Einen Schlaf-Eintrag ändern" - -#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 -msgid "Add a Sleep Entry" -msgstr "Schlaf-Eintrag hinzufügen" - -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Nickerchen hinzufügen" - -#: core/templates/core/sleep_list.html:25 -#: core/templates/core/timer_form.html:12 -#: core/templates/core/timer_list.html:24 -#: core/templates/core/tummytime_list.html:24 -msgid "Start" -msgstr "Start" - -#: core/templates/core/sleep_list.html:26 -#: core/templates/core/timer_list.html:30 -#: core/templates/core/tummytime_list.html:25 -msgid "End" -msgstr "Ende" - -#: core/templates/core/sleep_list.html:31 -msgid "Nap" -msgstr "Nickerchen" - -#: core/templates/core/sleep_list.html:74 -msgid "No sleep entries found." -msgstr "Keine Schlaf-Einträge gefunden." - -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Temperaturmessung löschen" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Temperaturmessung hinzufügen" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Temperaturmessung hinzufügen" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Temperaturmessung hinzufügen" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Keine Temperaturmessungen gefunden." - -#: core/templates/core/timer_confirm_delete.html:5 -#, python-format -msgid "Delete %(object)s" -msgstr "Lösche %(object)s" - -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Alle inaktiven Timer löschen" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Inaktive löschen" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "" -"Bist du dicher, dass du %(number)s inaktive timer%(plural)s löschen möchtest?" -msgstr[1] "" -"Bist du dicher, dass du %(number)s inaktive timer%(plural)s löschen möchtest?" - -#: core/templates/core/timer_detail.html:28 -msgid "Started" -msgstr "Gestartet" - -#: core/templates/core/timer_detail.html:30 -msgid "Stopped" -msgstr "Gestoppt" - -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s von %(user)s erstellt" - -#: core/templates/core/timer_detail.html:63 -msgid "Timer actions" -msgstr "Timer Aktionen" - -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "Timer neustarten" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Timer löschen" - -#: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 -msgid "Start Timer" -msgstr "Starte Timer" - -#: core/templates/core/timer_list.html:58 -msgid "No timer entries found." -msgstr "Keine Timer-Einträge gefunden." - -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Inaktive Timer löschen" - -#: core/templates/core/timer_nav.html:20 -msgid "View Timers" -msgstr "Zeige Timer" - -#: core/templates/core/timer_nav.html:44 -#: dashboard/templates/cards/timer_list.html:6 -msgid "Active Timers" -msgstr "Aktive Timer" - -#: core/templates/core/timer_nav.html:50 -#: dashboard/templates/cards/diaperchange_last.html:17 -#: dashboard/templates/cards/diaperchange_types.html:12 -#: dashboard/templates/cards/feeding_day.html:20 -#: dashboard/templates/cards/feeding_day.html:52 -#: dashboard/templates/cards/feeding_last.html:17 -#: dashboard/templates/cards/feeding_last_method.html:43 -#: dashboard/templates/cards/sleep_last.html:17 -#: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 -#: dashboard/templates/cards/tummytime_day.html:14 -msgid "None" -msgstr "Keine" - -#: core/templates/core/tummytime_confirm_delete.html:4 -msgid "Delete a Tummy Time Entry" -msgstr "Bauchzeit-Eintrag löschen" - -#: core/templates/core/tummytime_form.html:6 -msgid "Update a Tummy Time Entry" -msgstr "Bauchzeit-Eintrag ändern" - -#: core/templates/core/tummytime_form.html:8 -#: core/templates/core/tummytime_form.html:27 -msgid "Add a Tummy Time Entry" -msgstr "Bauchzeit-Eintrag hinzufügen" - -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Bauchzeit hinzufügen" - -#: core/templates/core/tummytime_list.html:67 -msgid "No tummy time entries found." -msgstr "Keine Bauchzeit-Einträge gefunden." - -#: core/templates/core/weight_confirm_delete.html:4 -msgid "Delete a Weight Entry" -msgstr "Gewichts-Eintrag löschen" - -#: core/templates/core/weight_form.html:8 -#: core/templates/core/weight_form.html:17 -#: core/templates/core/weight_form.html:27 -msgid "Add a Weight Entry" -msgstr "Gewichts-Eintrag hinzufügen" - -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Gewicht hinzufügen" - -#: core/templates/core/weight_list.html:70 -msgid "No weight entries found." -msgstr "Keine Gewichts-Einträge gefunden." - #: core/templates/core/widget_tag_editor.html:22 msgid "Tag name" msgstr "" @@ -1573,570 +2061,66 @@ msgctxt "Error modal" msgid "Close" msgstr "" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "Vor %(since)s : (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, python-format -msgid "Duration: %(duration)s" -msgstr "Dauer: %(duration)s" - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "%(since)s seit vorherigem" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Bearbeiten" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "Keine Ereignisse" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "heute" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 Tage" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "heute" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "gestern" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "Vor %(key)s Tagen" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s liegt nun auf dem Bauch." - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s liegt nicht mehr auf dem Bauch." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s ist eingeschlafen." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s ist aufgewacht." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "Menge: %(amount).0f" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s hat begonnen zu essen." - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s hat fertig gegessen." - -#: core/timeline.py:185 -#, python-format -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s hatten einen %(type)s Windelwechsel." - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s Stunde" -msgstr[1] "%(hours)s Stunden" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s Minute" -msgstr[1] "%(minutes)s Minuten" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s Sekunde" -msgstr[1] "%(seconds)s Sekunden" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "%(model)s Eintrag für %(child)s hinzugefügt!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "%(model)s Eintrag hinzugefügt!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "%(model)s Eintrag für %(child)s geändert." - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "%(model)s Eintrag geändert." - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s Eintrag geändert! " - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "%(first_name)s %(last_name)s added!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s Eintrag hinzugefügt!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s Eintrag für %(child)s geändert! " - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s gestoppt." - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Alle inaktiven Timer gelöscht." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Keine inaktiven Timer vorhanden." - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "Letzer Windelwechsel" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
vor %(since)s
%(time)s" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "Letzte Woche" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "nass" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "fest" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "Vor %(key)s Tagen" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Heute gefüttert" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s Schlaf-Einträge" -msgstr[1] "%(count)s Schlaf-Einträge" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Letzte Mahlzeit" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Letzte Mahlzeitart" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "letzte" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "vor %(n)s Mahlzeit%(plural)sen" -msgstr[1] "vor %(n)s Mahlzeit%(plural)sen" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Letzter Schlaf" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Heutige Nickerchen" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s Nickerchen%(plural)s." -msgstr[1] "%(count)s Nickerchen%(plural)s." - -#: dashboard/templates/cards/sleep_recent.html:6 -#, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Letzter Schlaf" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s Schlaf-Einträge" -msgstr[1] "%(count)s Schlaf-Einträge" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "Statistiken" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "Nicht genügend Daten" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "Noch keine Daten" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s Timer%(plural)s aktiv" -msgstr[1] "%(count)s Timer%(plural)s aktiv" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Gestartet von %(user)s um %(start)s" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Heutige Bauchzeit" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s um %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "Letzte Bauchzeit" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Nie" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Aktionen des Kindes" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Reports" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Durschnittliche Nickerchen-Dauer" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Durschnittliche Anzahl Nickerchen" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Durchschnittliche Schlafdauer" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Durchschnittlich wach" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Gewichtsänderung pro Woche" - -#: dashboard/templatetags/cards.py:401 -msgid "Height change per week" -msgstr "Größenänderung pro Woche" - -#: dashboard/templatetags/cards.py:411 -msgid "Head circumference change per week" -msgstr "Kopfumfang Änderung pro woche" - -#: dashboard/templatetags/cards.py:421 -msgid "BMI change per week" -msgstr "BMI Änderung pro Woche" - -#: dashboard/templatetags/cards.py:439 +#: dashboard/templatetags/cards.py:410 msgid "Diaper change frequency (past 3 days)" msgstr "" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 msgid "Diaper change frequency (past 2 weeks)" msgstr "" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Frequenz Windelwechsel" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Mahlzeitenintervall (letzte 3 Tage)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Mahlzeitenintervall (letzte 2 Wochen)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Frequenz Mahlzeiten" - -#: reports/graphs/bmi_change.py:27 -msgid "BMI" -msgstr "BMI" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Windelwechsel Mengen" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Windelwechsel Mengen" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Windel Menge" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Windel-Lebensdauer" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Zeit zwischen Wechseln (Stunden)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Total" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Windelwechsel Typen" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Anzahl Wechsel" - -#: reports/graphs/feeding_amounts.py:69 -msgid "Total Feeding Amount by Type" -msgstr "Gesamt Fütterungsmenge pro Typ" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Mahlzeit" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Durchschnittliche Dauer" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Total Mahlzeiten" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Durchschnittliche Mahlzeiten-Dauer" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Durchschnittlicher Dauer (Minuten)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Anzahl Mahlzeiten" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "Kopfumfang" - -#: reports/graphs/height_change.py:27 -msgid "Height" -msgstr "Größe" - -#: reports/graphs/pumping_amounts.py:59 +#: reports/graphs/pumping_amounts.py:57 msgid "Total Pumping Amount" msgstr "" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 msgid "Pumping Amount" msgstr "" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "Schlaf-Rhythmus" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Tageszeit" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Total Schlaf" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Totale Schlafzeit" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Schlafstunden" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "Länge insgesamt" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "Anzahl der Sessions" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "Totalle Bauchzeit Dauer" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "Länge insgesamt (Minuten)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Gewicht" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Windel Mengen" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Windel-Lebensdauer" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Windewechsel Typen" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Mahlzeiten" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Durchschnittliche Mahlzeitendauer" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Es gibt nicht genügend Daten um diesen Report zu generieren." - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Windelwechsel Mengen" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Mahlzeit Dauer (Durschschnitt)" - #: reports/templates/reports/report_list.html:18 msgid "Pumping Amounts" msgstr "" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Schlafrhythmus" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Bist du dicher, dass du %(number)s inaktive timer%(plural)s löschen möchtest?" +msgstr[1] "Bist du dicher, dass du %(number)s inaktive timer%(plural)s löschen möchtest?" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Schlaf Total" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s Schlaf-Einträge" +msgstr[1] "%(count)s Schlaf-Einträge" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "Bauchzeit Dauer (Summe)" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "vor %(n)s Mahlzeit%(plural)sen" +msgstr[1] "vor %(n)s Mahlzeit%(plural)sen" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "Totalle Bauchzeit Dauer" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s Nickerchen%(plural)s." +msgstr[1] "%(count)s Nickerchen%(plural)s." -#~ msgid "Today's Sleep" -#~ msgstr "Schlaf heute" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s Timer%(plural)s aktiv" +msgstr[1] "%(count)s Timer%(plural)s aktiv" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s Schlaf-Einträge" From bae7ececce869cf0d39fb3ed41c57ee0138fca31 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:49 -0700 Subject: [PATCH 16/39] Update django.mo (POEditor.com) --- locale/it/LC_MESSAGES/django.mo | Bin 20384 -> 25859 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/it/LC_MESSAGES/django.mo b/locale/it/LC_MESSAGES/django.mo index 104b4fb86ce42e17634dc46a4d6cef3546f14690..f611dda9e07ef3c999bfd158e9de3816d01ad0cb 100644 GIT binary patch literal 25859 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

lz;k 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 Date: Sat, 1 Oct 2022 08:16:50 -0700 Subject: [PATCH 17/39] Update django.po (POEditor.com) --- locale/it/LC_MESSAGES/django.po | 2437 +++++++++++++++---------------- 1 file changed, 1197 insertions(+), 1240 deletions(-) diff --git a/locale/it/LC_MESSAGES/django.po b/locale/it/LC_MESSAGES/django.po index 7a265236..4943406f 100644 --- a/locale/it/LC_MESSAGES/django.po +++ b/locale/it/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Impostazioni" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,12 +29,8 @@ msgid "Refresh rate" msgstr "Frequenza d'aggiornamento" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Se supportato dal browser, la dashboard sarà aggiornata quando visualizzata " -"e anche quando torna in primo piano" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Questa impostazione verrà usata solo se il browser non supporta l'aggiornamento in primo piano." #: babybuddy/models.py:28 msgid "disabled" @@ -74,122 +68,31 @@ msgstr "15 min" msgid "30 min." msgstr "30 min" -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Nascondi le schede vuote nella dashboard" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Nascondi i dati più vecchi di" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" -"Questa impostazione controlla quali dati verranno visualizzati nella " -"dashboard" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "Visualizza tutti i dati" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 giorno" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 giorni" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 giorni" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1 settimana" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 settimane" - #: babybuddy/models.py:63 msgid "Language" msgstr "Lingua" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Fuso orario" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "Impostazioni {user}" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Olandese" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "Inglese" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "Inglese" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Francese" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Finlandese" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Permesso Negato" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Tedesco" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "Italiano" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "Polacco" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "Portoghese" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Spagnolo" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Svedese" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Turco" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Database Admin" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Non hai l'autorizzazione ad accedere a questa risorsa.\n" +"Contatta l'amministratore per assistenza." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -214,36 +117,32 @@ msgstr "Invia" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Errore: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Errore: Alcuni campi contengono errori. I dettagli sono " -"riportati di seguito." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Errore: Alcuni campi contengono degli errori. I dettagli sono riportati di seguito." -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Cambio Pannolino" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Pasto" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Note" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -253,8 +152,8 @@ msgstr "Note" msgid "Sleep" msgstr "Riposo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -266,15 +165,24 @@ msgstr "Riposo" msgid "Tummy Time" msgstr "Tummy Time" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "Andamento temporale" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Peso" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -284,7 +192,7 @@ msgstr "Andamento temporale" msgid "Children" msgstr "Bambino" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -303,7 +211,7 @@ msgstr "Bambino" msgid "Child" msgstr "Figlio" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -312,118 +220,24 @@ msgstr "Figlio" msgid "Notes" msgstr "Note" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -#, fuzzy -#| msgid "Sleep entry" -msgid "BMI entry" -msgstr "Aggiungi Riposo" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -#, fuzzy -#| msgid "Weight entry" -msgid "Height entry" -msgstr "Pesata" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Lettura temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Pesata" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Azioni" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Cambi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Cambio" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -433,33 +247,15 @@ msgstr "Cambio" msgid "Feedings" msgstr "Pasti" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Pesata" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Aggiungi Riposo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Aggiungi Tummy Time" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -467,23 +263,23 @@ msgstr "Aggiungi Tummy Time" msgid "User" msgstr "Utente" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Password" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Logout" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Sito" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API Browser" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -491,15 +287,19 @@ msgstr "API Browser" msgid "Users" msgstr "Utenti" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Backend Admin" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Supporto" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Codice Sorgente" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / Supporto" @@ -510,7 +310,6 @@ msgstr "Chat / Supporto" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Precedente" @@ -522,7 +321,6 @@ msgstr "Precedente" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Successivo" @@ -578,13 +376,8 @@ msgstr "Elimina" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Sei sicuro di voler eliminare %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Sei sicuro di voler eliminare %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -640,7 +433,6 @@ msgstr "Aggiorna" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Aggiorna %(object)s

" @@ -670,7 +462,7 @@ msgstr "Attivo" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -708,6 +500,11 @@ msgstr "Cambia Password" msgid "User Settings" msgstr "Impostazioni Utente" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Errore: Alcuni campi contengono errori. I dettagli sono riportati di seguito." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Profilo Utente" @@ -734,12 +531,10 @@ msgid "Welcome to Baby Buddy!" msgstr "Benvenuto in Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Conosci di più e predici le necessità del tuo bimbo senza (troppo) " -"indovinare usando Baby Buddy per tracciare —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Impara e predici le necessita del bambino senza\n" +" (troppo) indovinare usando Baby Buddy per tracciare —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -751,20 +546,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Cambio Pannolino" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Con l'incremento dei dati inseriti, Baby Buddy aiuterà i genitori a " -"identificare piccoli modelli nelle abitudini del bebè usando la dashboard e " -"i grafici. Baby Buddy è mobile-friendly e utilizza un tema scuro per non " -"affaticare gli occhi dei genitori alle 2 di notte durante il cambio " -"pannolino o l'allattamento. Per iniziare, clicca il tasto qui sotto per " -"aggiungere il primo figlio (poi il secondo, il terzo, etc..) !" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Con l'incremento dei dati inseriti, Baby Buddy aiuterà i genitori a identificare piccoli modelli nelle abitudini del bebè usando la dashboard e i grafici. Baby Buddy è mobile-friendly e utilizza un tema scuro per non affaticare gli occhi dei genitori alle 2 di notte durante il cambio pannolino o l'allattamento. Per iniziare, clicca il tasto qui sotto per aggiungere il primo figlio (poi il secondo, il terzo, etc..) !" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -772,52 +561,6 @@ msgstr "" msgid "Add a Child" msgstr "Aggiungi Figlio" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Permesso Negato" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Non hai il permesso di accedere a questa risorsa. Contatta l'amministratore " -"del sito per assistenza." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Benvenuto in Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Login" @@ -842,10 +585,11 @@ msgstr "Login" msgid "Password Reset" msgstr "Resetta password" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "Cavolo! Le password non corrispondono. Prova ancora." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Cavolo! \n" +"Le password non corrispondono. Prova ancora.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -860,73 +604,35 @@ msgstr "Reset Password" msgid "Reset Email Sent" msgstr "Mail di recupero password inviata" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Se l'account che hai inserito esiste, riceverai una mail a breve con le " -"istruzioni per impostare la tua password." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se non hai ricevuto la mail, controlla di aver inserito l'indirizzo " -"utilizzato durante la registrazione e controlla la cartella spam." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Se l'account che hai inserito esiste, riceverai una mail a breve con le istruzioni per impostare la tua password.

\n" +"

Se non hai ricevuto la mail, assicurati di aver inserito la mail con cui l'account è registrato e controlla la cartella SPAM.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Password dimenticata" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Inserisci il tuo indirizzo email nel form sottostante. Se l'indirizzo email " -"è corretto, riceverai le istruzioni per resettare la password." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Inserisci la mail con cui sei registrato. Se l'indirizzo è valido riceverai le istruzioni per resettare la password.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Utente %(username)s aggiunto!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Utente %(username)s modificato" #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Utente {user} eliminato." @@ -942,20 +648,10 @@ msgstr "API key utente rigenerata." msgid "Settings saved!" msgstr "Impostazioni salvate!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Il nome non corrisponde con il nome del figlio." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "La data non può essere nel futuro." @@ -976,45 +672,6 @@ msgstr "Un'altra voce interseca il periodo specificato." msgid "Date/time can not be in the future." msgstr "La data non può essere nel futuro." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Colore" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Cognome" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Data" - #: core/models.py:163 msgid "First name" msgstr "Nome" @@ -1069,11 +726,14 @@ msgstr "Verde" msgid "Yellow" msgstr "Giallo" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Quantità" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Colore" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "è richiesta la scelta liquida e/o solida" #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1099,14 +759,6 @@ msgstr "Latte Materno" msgid "Formula" msgstr "Latte Artificiale" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Latte Artificale 1" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Cibo solido" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Tipo" @@ -1123,25 +775,19 @@ msgstr "Seno Sinistro" msgid "Right breast" msgstr "Seno Destro" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Entrambi i seni" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Imboccato dai genitori" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Mangia da solo" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Metodo" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Quantità" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Quando è selezionato \"Ciuccia\" è disponibile solo il latte artificiale" #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1161,7 +807,6 @@ msgid "Timers" msgstr "Timers" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Timer #{id}" @@ -1169,28 +814,21 @@ msgstr "Timer #{id}" msgid "Milestone" msgstr "Traguardo" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Elimina un Riposo" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Aggiungi un Riposo" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Nessuna voce timer trovata." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Data" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1198,9 +836,7 @@ msgstr "Elimina Figlio" #: core/templates/core/child_confirm_delete.html:20 msgid "To confirm this action. Type the full name of the child below." -msgstr "" -"Per confermare questa azione è richiesto l'inserimento del nome completo del " -"figlio." +msgstr "Per confermare questa azione è richiesto l'inserimento del nome completo del figlio." #: core/templates/core/child_detail.html:23 #: dashboard/templates/dashboard/dashboard.html:32 @@ -1212,15 +848,15 @@ msgstr "Nato" msgid "Age" msgstr "Età" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Aggiungi Bimbo" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s fa (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Data di nascita" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Nessun figlio trovato." @@ -1245,18 +881,14 @@ msgstr "Aggiungi cambio pannolino" msgid "Add" msgstr "Aggiungi" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Aggiungi Cambio Pannolino" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "Contenuto" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Nessun cambio pannolino trovato." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Aggiungi un Cambio" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Elimina Pasto" @@ -1270,10 +902,6 @@ msgstr "Aggiorna Pasto" msgid "Add a Feeding" msgstr "Aggiungi Pasto" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Aggiungi Pasto" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Qtà" @@ -1282,56 +910,6 @@ msgstr "Qtà" msgid "No feedings found." msgstr "Nessun pasto trovato." -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Tummy Time Entry" -msgid "Delete a Head Circumference Entry" -msgstr "Elimina una voce Tummy Time" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Add a Temperature Entry" -msgid "Add a Head Circumference Entry" -msgstr "Aggiungi una Voce Temperatura" - -#: core/templates/core/head_circumference_list.html:15 -msgid "Add Head Circumference" -msgstr "" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Nessuna voce timer trovata." - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Elimina una Pesata" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Aggiungi una Pesata" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add Weight" -msgid "Add Height" -msgstr "Aggiungi Peso" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Nessuna pesata trovata." - #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" msgstr "Elimina una nota" @@ -1344,53 +922,10 @@ msgstr "Aggiorna una nota" msgid "Add a Note" msgstr "Aggiungi una nota" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Aggiungi Nota" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Nessuna nota trovata." -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Elimina una Pesata" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Aggiungi una Pesata" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Aggiungi una Pesata" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Nessuna voce timer trovata." - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Avvio Rapido Timer" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Avvio Rapido Timer" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" msgstr "Elimina un Riposo" @@ -1403,10 +938,6 @@ msgstr "Aggiorna un Riposo" msgid "Add a Sleep Entry" msgstr "Aggiungi un Riposo" -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Aggiungi Riposo" - #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 #: core/templates/core/timer_list.html:24 @@ -1428,48 +959,10 @@ msgstr "Pisolino" msgid "No sleep entries found." msgstr "Nessun riposo trovato" -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Elimina una Lettura Temperatura" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Aggiungi una Lettura Temperatura" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Aggiungi una Voce Temperatura" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Aggiungi Lettura Temperatura Corporea" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Nessuna voce temperatura trovata." - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Elimina %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Elimina Tutti i Timer Inattivi" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Elimina Inattivo" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "Sei sicuro di voler eliminare %(number)s inattivi timer?" -msgstr[1] "Sei sicuro di voler eliminare %(number)s inattivi timer?" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Partito" @@ -1478,25 +971,16 @@ msgstr "Partito" msgid "Stopped" msgstr "Fermato" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s creato da %(user)s" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s creato da %(object.user)" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Azioni timer" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "Riavvia timer" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Cancella timer" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Avvia Timer" @@ -1504,30 +988,30 @@ msgstr "Avvia Timer" msgid "No timer entries found." msgstr "Nessuna voce timer trovata." -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Elimina Timer Inattivo" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Avvio Rapido Timer" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Vedi Timer" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Timer Attivi" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Nessuno" @@ -1545,10 +1029,6 @@ msgstr "Aggiorna una voce Tummy Time" msgid "Add a Tummy Time Entry" msgstr "Aggiungi una voce Tummy Time" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Aggiungi Tummy Time" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Nessuna voce Tummy Time trovata." @@ -1563,17 +1043,1017 @@ msgstr "Elimina una Pesata" msgid "Add a Weight Entry" msgstr "Aggiungi una Pesata" -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Aggiungi Peso" - #: core/templates/core/weight_list.html:70 msgid "No weight entries found." msgstr "Nessuna pesata trovata." +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s ha il pannolino da cambiare." + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s ha iniziato il pasto." + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s ha terminato il pasto." + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s ha preso sonno." + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s sveglio." + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "Tummy Time iniziato per %(child)s!" + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "Tummy Time terminato per %(child)s!" + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "%(model)s voce aggiunta per %(child)s!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "%(model)s voce aggiunta!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "%(model)s voce per %(child)s aggiornata." + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "%(model)s voce aggiornata." + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "%(first_name)s %(last_name)s aggiunto!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s fermato." + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "Ultimo cambio pannolino" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s fa" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Mai" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "Scorsa Settimana" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "liquida" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "solida" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "oggi" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "ieri" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "%(key)s giorni fa" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Ultimo Pasto" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Metodo Ultimo Pasto" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Riposi di Oggi" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Ancora nessuno oggi" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s Riposi" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Ultimo riposo" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Riposini di oggi" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s pisolini" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "Statistiche" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "Dati non sufficienti" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s timer attivi" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Avviato da %(instance.user)s alle %(start)" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Tummy Time di Oggi" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s alle %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "Ultimo Tummy Time" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Azioni Bimbo" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Tipo Cambio Pannolino" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Lifetime Pannolino" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Durata Pasti (Media)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Modello Riposo" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Riposi totali" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Frequenza cambio pannolino" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Frequenza pasti" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Durata media riposini" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Media riposini al giorno" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Durata media riposi" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Durata media bimbo sveglio" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Cambiamento di peso settimanale" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Lifetime Pannolino" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Tempo tra i cambi (ore)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Totale" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Tipo di Cambio Pannolino" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Numero di cambi" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Durata media" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Totale pasti" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Durata Media Pasti" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Durata media (minuti)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Numero di pasti" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "Modello Riposo" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Ora del giorno" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Totale Riposo" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Riposo Totale" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Ore di riposo" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Peso" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Durata Media Pasti" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Report" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Non ci sono abbastanza dati per generare questo report." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Entrambi i seni" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Tedesco" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Spagnolo" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Svedese" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turco" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Non hai il permesso di accedere a questa risorsa. Contatta l'amministratore del sito per assistenza." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Lettura temperatura" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Conosci di più e predici le necessità del tuo bimbo senza (troppo) indovinare usando Baby Buddy per tracciare —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Con l'incremento dei dati inseriti, Baby Buddy aiuterà i genitori a identificare piccoli modelli nelle abitudini del bebè usando la dashboard e i grafici. Baby Buddy è mobile-friendly e utilizza un tema scuro per non affaticare gli occhi dei genitori alle 2 di notte durante il cambio pannolino o l'allattamento. Per iniziare, clicca il tasto qui sotto per aggiungere il primo figlio (poi il secondo, il terzo, etc..) !" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Cavolo! Le password non corrispondono. Prova ancora." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Se l'account che hai inserito esiste, riceverai una mail a breve con le istruzioni per impostare la tua password." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Se non hai ricevuto la mail, controlla di aver inserito l'indirizzo utilizzato durante la registrazione e controlla la cartella spam." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Inserisci il tuo indirizzo email nel form sottostante. Se l'indirizzo email è corretto, riceverai le istruzioni per resettare la password." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Latte Artificale 1" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Elimina una Lettura Temperatura" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Aggiungi una Lettura Temperatura" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Aggiungi una Voce Temperatura" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Nessuna voce temperatura trovata." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s creato da %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s ora" +msgstr[1] "%(hours)s ore" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuto" +msgstr[1] "%(minutes)s minuti" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s secondo" +msgstr[1] "%(seconds)s secondi" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s voce eliminata." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s lettura aggiunta!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s lettura per %(child)s aggiornata." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Avviato dall'utente %(user)s alle %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Quantità di Cibo" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Totale quantità di cibo" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Totale quantità di cibo" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Quantità di cibo" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Non ci sono abbastanza dati per generare questo report." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Fuso orario" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Database Admin" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Aggiungi Bimbo" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Aggiungi Cambio Pannolino" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Aggiungi Pasto" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Aggiungi Nota" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Aggiungi Riposo" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Aggiungi Lettura Temperatura Corporea" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Elimina Tutti i Timer Inattivi" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Elimina Inattivo" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Sei sicuro di voler eliminare %(number)s inattivi timer?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Elimina Timer Inattivo" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Aggiungi Tummy Time" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Aggiungi Peso" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Eliminati tutti i timer inattivi." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Non esistono timer attivi." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "più recente" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s pasti fa" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Ultimo Riposo" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Numero di Cambi Pannolino" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Numero di cambi pannolino" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Numero di Cambi Pannolino" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Numero di cambi" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Numero di pannolini" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Se supportato dal browser, la dashboard sarà aggiornata quando visualizzata e anche quando torna in primo piano" + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Nascondi le schede vuote nella dashboard" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Nascondi i dati più vecchi di" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Questa impostazione controlla quali dati verranno visualizzati nella dashboard" + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "Visualizza tutti i dati" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 giorno" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 giorni" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 giorni" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 settimana" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 settimane" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Olandese" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Finlandese" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italiano" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Polacco" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portoghese" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Andamento temporale" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Cibo solido" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Imboccato dai genitori" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Mangia da solo" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Contenuto" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Riavvia timer" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Cancella timer" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "oggi" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 giorni" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Quantità: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Contenuti: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s fa
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Pasti di oggi" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s pasti registrati" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Nessun dato" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "Durata totale Tummy Time" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Modifica" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Frequenza pasti (ultimi 3 giorni)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Frequenza pasti (ultime 2 settimane)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Durata totale" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Numero di sessioni" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Durata totale Tummy Time" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Durata totale (in minuti)" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "Durata totale Tummy Time" + +#: babybuddy/settings/base.py:169 +#, fuzzy +msgid "English (US)" +msgstr "Inglese" + +#: babybuddy/settings/base.py:170 +#, fuzzy +msgid "English (UK)" +msgstr "Inglese" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +#, fuzzy +msgid "Height" +msgstr "Peso" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +#, fuzzy +msgid "Height entry" +msgstr "Pesata" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +#, fuzzy +msgid "BMI entry" +msgstr "Aggiungi Riposo" + +#: core/models.py:452 +msgid "Napping" +msgstr "" + +#: core/templates/core/bmi_confirm_delete.html:4 +#, fuzzy +msgid "Delete a BMI Entry" +msgstr "Elimina un Riposo" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +#, fuzzy +msgid "Add a BMI Entry" +msgstr "Aggiungi un Riposo" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "" + +#: core/templates/core/bmi_list.html:70 +#, fuzzy +msgid "No bmi entries found." +msgstr "Nessuna voce timer trovata." + +#: core/templates/core/head_circumference_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Head Circumference Entry" +msgstr "Elimina una voce Tummy Time" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +#, fuzzy +msgid "Add a Head Circumference Entry" +msgstr "Aggiungi una Voce Temperatura" + +#: core/templates/core/head_circumference_list.html:15 +msgid "Add Head Circumference" +msgstr "" + +#: core/templates/core/head_circumference_list.html:70 +#, fuzzy +msgid "No head circumference entries found." +msgstr "Nessuna voce timer trovata." + +#: core/templates/core/height_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Height Entry" +msgstr "Elimina una Pesata" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +#, fuzzy +msgid "Add a Height Entry" +msgstr "Aggiungi una Pesata" + +#: core/templates/core/height_list.html:15 +#, fuzzy +msgid "Add Height" +msgstr "Aggiungi Peso" + +#: core/templates/core/height_list.html:70 +#, fuzzy +msgid "No height entries found." +msgstr "Nessuna pesata trovata." + +#: core/templates/timeline/_timeline.html:44 +#, fuzzy +msgid "Duration: %(duration)s" +msgstr "Durata troppo lunga." + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "" + +#: core/timeline.py:185 +#, fuzzy +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s ha il pannolino da cambiare." + +#: dashboard/templatetags/cards.py:372 +#, fuzzy +msgid "Height change per week" +msgstr "Cambiamento di peso settimanale" + +#: dashboard/templatetags/cards.py:382 +#, fuzzy +msgid "Head circumference change per week" +msgstr "Cambiamento di peso settimanale" + +#: dashboard/templatetags/cards.py:392 +#, fuzzy +msgid "BMI change per week" +msgstr "Cambiamento di peso settimanale" + +#: reports/graphs/bmi_change.py:27 +#, fuzzy +msgid "BMI" +msgstr "Peso" + +#: reports/graphs/feeding_amounts.py:69 +#, fuzzy +msgid "Total Feeding Amount by Type" +msgstr "Totale quantità di cibo" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "" + +#: reports/graphs/height_change.py:27 +#, fuzzy +msgid "Height" +msgstr "Peso" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "" + +#: babybuddy/templates/error/base.html:14 +#, fuzzy +msgid "Return to Baby Buddy" +msgstr "Benvenuto in Baby Buddy!" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +#, fuzzy +msgid "Pumping entry" +msgstr "Pesata" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "" + +#: core/models.py:90 +#, fuzzy +msgid "Last used" +msgstr "Cognome" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "" + +#: core/templates/core/pumping_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Pumping Entry" +msgstr "Elimina una Pesata" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +#, fuzzy +msgid "Add a Pumping Entry" +msgstr "Aggiungi una Pesata" + +#: core/templates/core/pumping_list.html:15 +#, fuzzy +msgid "Add Pumping Entry" +msgstr "Aggiungi una Pesata" + +#: core/templates/core/pumping_list.html:66 +#, fuzzy +msgid "No pumping entries found." +msgstr "Nessuna voce timer trovata." + #: core/templates/core/widget_tag_editor.html:22 #, fuzzy -#| msgid "Last name" msgid "Tag name" msgstr "Cognome" @@ -1611,594 +2091,71 @@ msgctxt "Error modal" msgid "Close" msgstr "" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s fa (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Durata troppo lunga." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Modifica" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "oggi" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 giorni" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "oggi" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "ieri" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s giorni fa" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "Tummy Time iniziato per %(child)s!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "Tummy Time terminato per %(child)s!" - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s ha preso sonno." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s sveglio." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "Quantità: %(amount).0f" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s ha iniziato il pasto." - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s ha terminato il pasto." - -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s ha il pannolino da cambiare." - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s ora" -msgstr[1] "%(hours)s ore" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuto" -msgstr[1] "%(minutes)s minuti" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s secondo" -msgstr[1] "%(seconds)s secondi" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "%(model)s voce aggiunta per %(child)s!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "%(model)s voce aggiunta!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "%(model)s voce per %(child)s aggiornata." - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "%(model)s voce aggiornata." - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s voce eliminata." - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "%(first_name)s %(last_name)s aggiunto!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s lettura aggiunta!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s lettura per %(child)s aggiornata." - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s fermato." - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Eliminati tutti i timer inattivi." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Non esistono timer attivi." - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "Ultimo cambio pannolino" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
%(since)s fa
%(time)s" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "Scorsa Settimana" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "liquida" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "solida" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "%(key)s giorni fa" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Pasti di oggi" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s Riposi" -msgstr[1] "%(count)s Riposi" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Ultimo Pasto" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Metodo Ultimo Pasto" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "più recente" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n)s pasti fa" -msgstr[1] "%(n)s pasti fa" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Ultimo Riposo" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Riposini di oggi" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s pisolini" -msgstr[1] "%(count)s pisolini" - -#: dashboard/templates/cards/sleep_recent.html:6 +#: dashboard/templatetags/cards.py:410 #, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Ultimo Riposo" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s Riposi" -msgstr[1] "%(count)s Riposi" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "Statistiche" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "Dati non sufficienti" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "Nessun dato" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s timer attivi" -msgstr[1] "%(count)s timer attivi" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Avviato dall'utente %(user)s alle %(start)s" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Tummy Time di Oggi" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s alle %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "Ultimo Tummy Time" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Mai" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Azioni Bimbo" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Report" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Durata media riposini" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Media riposini al giorno" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Durata media riposi" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Durata media bimbo sveglio" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Cambiamento di peso settimanale" - -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Cambiamento di peso settimanale" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Weight change per week" -msgid "Head circumference change per week" -msgstr "Cambiamento di peso settimanale" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Cambiamento di peso settimanale" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Feeding frequency (past 3 days)" msgid "Diaper change frequency (past 3 days)" msgstr "Frequenza pasti (ultimi 3 giorni)" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 #, fuzzy -#| msgid "Feeding frequency (past 2 weeks)" msgid "Diaper change frequency (past 2 weeks)" msgstr "Frequenza pasti (ultime 2 settimane)" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Frequenza cambio pannolino" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Frequenza pasti (ultimi 3 giorni)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Frequenza pasti (ultime 2 settimane)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Frequenza pasti" - -#: reports/graphs/bmi_change.py:27 +#: reports/graphs/pumping_amounts.py:57 #, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Peso" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Numero di cambi pannolino" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Numero di Cambi Pannolino" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Numero di cambi" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Lifetime Pannolino" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Tempo tra i cambi (ore)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Totale" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Tipo di Cambio Pannolino" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Numero di cambi" - -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Totale quantità di cibo" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Quantità di cibo" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Durata media" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Totale pasti" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Durata Media Pasti" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Durata media (minuti)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Numero di pasti" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Peso" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" msgid "Total Pumping Amount" msgstr "Totale quantità di cibo" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amount" msgstr "Quantità di Cibo" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "Modello Riposo" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Ora del giorno" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Totale Riposo" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Riposo Totale" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Ore di riposo" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "Durata totale" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "Numero di sessioni" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "Durata totale Tummy Time" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "Durata totale (in minuti)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Peso" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Numero di pannolini" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Lifetime Pannolino" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Tipo Cambio Pannolino" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Quantità di Cibo" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Durata Media Pasti" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Non ci sono abbastanza dati per generare questo report." - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Numero di Cambi Pannolino" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Durata Pasti (Media)" - #: reports/templates/reports/report_list.html:18 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amounts" msgstr "Quantità di Cibo" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Modello Riposo" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Sei sicuro di voler eliminare %(number)s inattivi timer?" +msgstr[1] "Sei sicuro di voler eliminare %(number)s inattivi timer?" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Riposi totali" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s Riposi" +msgstr[1] "%(count)s Riposi" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "Durata totale Tummy Time" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n)s pasti fa" +msgstr[1] "%(n)s pasti fa" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "Durata totale Tummy Time" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s pisolini" +msgstr[1] "%(count)s pisolini" -#~ msgid "Today's Sleep" -#~ msgstr "Riposi di Oggi" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s timer attivi" +msgstr[1] "%(count)s timer attivi" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s Riposi" From 28b015c339a72b210615f4c3511f8e6f8184b031 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:51 -0700 Subject: [PATCH 18/39] Update django.mo (POEditor.com) --- locale/pl/LC_MESSAGES/django.mo | Bin 18388 -> 23475 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/pl/LC_MESSAGES/django.mo b/locale/pl/LC_MESSAGES/django.mo index 8607e7c84d62a8b31e401a8c7a0870cf667d2d39..fe0b1db4327cfa2cb40eb66859b8b80e26537687 100644 GIT binary patch literal 23475 zcmc(m3zTJ5dFKz2XQLuC0iuAr8yc#iySf`tv|rE6hB{urJLk0Nj> zJPoQpE`Un67pfhzQ1S1Cqwo{(?eIC+gy#_HVfb-)fU&%s#LIBsN8_%7e*kyDW9a1F za4&p~!r_VVH=)}5FjV^=g(~kcsCGOF75_W%1o$jG8Gaus{g0vI{R=!EE_t&HUkVj} z1ysA&z}Lg8pyFQ(Pl6%TxV#H0zxP1(#|NS6aX%#M;NL^Z)i!8{(3)Q~~RD17&N5hZ7i{U5XcKFBe0s8Y~I&%_!VY$oqO$d+j zeG8Pl?uHCS@Nb~T^JdSxq2fINRnM0BERj+@6>i=WUbNz4zR6Q<+YX3H8WHR6YMER6hR)s()X1z8k;gP~&_VRQ&6q@=c)9y~q3C1=ar#`0y`5l{W{K-!o8h z^E{-8;58@_niO0B)juOp^}Zge9yNFjd_R;teE=R0?}o?0d!Xd`e$R*Dow$D=u7a1Z zbn)s?{nUb*=XXHW|F@y~^KWAP07wQ^rBL<%0MxkO168m4;4SbWsCJ)sp{w5oQ2lc;RJtpn`g;_f z0H@#*_%6>|q3V0555L#*x1sWX7$)$1I_pGuFI4>>gsS&L-u*exFGH2{HK_VN2~h>X zx1j3zH&E&R-iQAKRKNTaRJ~7G?be4CQ0~p}T=)*}e-o6PeHg0V|IWL=0wp)!fm%nN z_wEyhoqR5XioY3Z{n-muzbW{7Sc3|`#ruBhl?R3H&OQJp2g09{vnU zj~&0p#a{u{50`rP7ASccg-Uk=RJtlW31;wh@cmHbeH6YHJ_t2lpMy&ORj7JB0X1)) zg39O5pytnWQ0e{|s+<$oy8KUtYVWyF=~qIPw+1TyCaCef8YK^0~P)pRDb^+RR14+u`6#WRQuix-vBRw>W2+b_1gwj?hdH=y$>qhBvd(VsC@5$ zlJieNrTYSu+Z2?YZ=APM=%?&&7WXDxVHK2Yv{i4j+MMz(0bg!T$yo z{~zEL@XWWnexHC>SQ7f$zk97yJTz4(5#8{Y)C= zxAbyk7`_$mhM$H+34RDQ?n7H#|E_|Pi_K8&-VRTKyP?W`rw^ZolII50_}vN>?_*H$ z9)#-0N8m5RuR+Q2e}x+N??cJKKSISnWveUyY^Z$KdTxfwe>YVA74OcV^8FxGIltxI zk3h-E98|hzq00MPsPc~6=F+_xYTmvDo(I=MwKs$s_ZY5%O-L1kPs1mV3WC3ckHgO( zq{=_K%C{e?eIJ9W*Ka}1moGt$_cy%z2kahdh_b605D&Cz!rN0d--;YDZ|Ev$6^ZXOfA3){*Q>b>mc9$z>8I=DzsPsFa zfj4@-&+`GOetH6`AHMDRL#TEiz1#Kw5_lr+li>;QEYI^j*TK8--vF1vr@a63Q0@LH zRC|uuDrP%5N7`{`;ZEJA^8K+Oq-GFFBMP{uw;U-bNsKKv;t zx%@9sWHmLAxJa2&a;I6_P{v4{^%@H>aw?dWs0jTzU7^?hx;p^f3KK!##a{4HI4Sd%7 ze;2A<--nWi=b`#5c!%qU)1b!T5~%P!@MJgvrMGkVTKEyD@J~ba-{+yyecSs#2i3lR z_Tgt-Qhr0WXK2g=+8LLe=A^Q0v|=jk!H%$2vv_s_&V5x8sGPLeh{i3?t#kxe((PupycE+sPs=jrT>-> z|1MmK`+s=%$@`ssa27Q9?}4gU1FF1^ci#b(??*fjdOiRZ?_qcf{4!)I5556ef`enP zr7z(&sPX(=sCoSmRQ>)Ks@=~(^~+yC)%S-`?fbt_@*0f0aXksje*~Tkuk)ONl8;-V z@;wMup9ej^1eNboP~|-9`BzZ+{XLZY{|u@t;?=O(xdz89hrf^WjB;G1r6<642ruK^`zH$&z39`F7&@4gF4zCR9w6+@Nj zxK>@6naQYDGhtSXqULbFcif1x>8MJ0RE-;KO8b%&VR@@w@0dKUNBzOmVbz3Y#Zca9 zMifwu!)BD4%5>P6S|r|KgR?wL^TjJr1og^a)>plDG8>teYfaK>T#o$M@r$o7V%QLdQy#OjICtHl%)-N z6D6WEHB5s6lSyiNBYT+CgOOUzYPe`#iv*-mDCt>Pts>yCS*we^?Da;*_e>U5l15cM zvp~KE;Aa z3qrFzX*Si%>ojCwt>;@DFLJop!-rntoIcLRiOpMXiqdc@GFQ5(XSREx%Qmi=*c=dH z>zDz#un!aR@C#-Qg| zl83c2nRS&FcGXZ%s>~wYVsYkWFw&|wB`z+5BH?&nou=1q-jYV9leA3M@*nN6k()d* zPRPy1tQj^;g*ljQTAoKY=d0t!WU_p7F{&#mR8clxws8&F1snO z)oYh;-k9ZS(wN%3Z`x#Nlx39TJj~d1w8YH&FK;KNNhRA!T9ultnnseFdYD(Hhs{VW z3NtiT%9Nf85vGl6npAaOfmbvb7*T88>J~3l*9)n3G9bwuB<0JlBBPDin<=>biM6 zI-lgWMocV?+5D`Sz`YF0eAQ7!W~)p*X&BG4eK*Hho|$%>Puu#t_9}0*bd)mt%=JlY zAgc_GTdS7Mq1APRUz*oCwyI_1`Q1wwDdTF=I6p6wQx{w2D${ghR1aBi3Sp$dWp-+Y zuhc+SE6+5Vq8+NQZOST|SY?fjDzmOH5zzWTMw3ac8l}E#y;xn5rb)WKCuOWh@?98rp##3sbP+6Dg;|bcIuzm znkH>Dbg;$ArsYkMhZ&P%&zvjHwSI4@R`t(plkH=_1~jDg@k-ZzJ7s7;_a-?RleSP% zOue*YeXNqSUt>`nQzy)&n67avpYykNlImlfPM_J&(4fmrFRzfg$xiZty^4lrVO7II z;riG+DAH_;(@Lv8iDa?(4dm=vGvHOWDqN&pp>gWJzjpmCJe+@j%R@6(wtb*v*9V1{ z8jQk;8~uhFInK5>LDqcZo#$cdxBig*JPcD^K2ly7WU1QZFM!w zrYDjx#qLInOr>FSnkn5^pBNi5nTTuA>PZaQMzzMO(x}eMjh2MipXsdfL`_gHHNmu_ zkdCe=byxFhi0-iJ_o6L(3KPu+4diF-eJV&r#u76X<;Gj>tISL*%UL*Mbe+a*qLt@K z!)qT3W$m&$a3DKtV4ERyle6?zku*+Ot)jd#yb{gHj9&J#hKSyNrNd%g@lcS%EAD=` z#d<|u&eFg>=Eb}Da0Y5nn66=4i(;``D!mWuVanZ385aX;VFq|+n$_ATl`-8Wt;|~* z)$KNI%ytyb2J*8CBiI^NW|;wIOBEA6*czwU5!*5R{in7z!PXj)f~`qP1eA@LU~7QU zAxB;#*gCP=YeZu1H-c>;%C;7G-R*$c>})&lZJgrpu1w6$8Z+8zHZetTYE81gcDstL z@_gmtglt9EBHI@ImG?*cU^a9KZOKzIHJzU4!d<>D|91mY)5qVzK)50_QJ)Wyru9=v(JjI(oT( zUpMF~c6sxB?e=caugs?0<`v<7et41eg?Z1(G!C9*a_Mh|FwS#x5i3J9%ZBBH6|XvI86)UME8Cb*(e)jzwU^D$N9V5*=Q+P`aM zpJP;xm$WC6o%<^6g)rp%w=m_lWw^f{ji_A)Xf8%!W!hQcelr#nLR@V53o$6%MF(YO z$g9|uMVdmd6j94zDk5aTm2r(e@sLwWelLer{!`~x!Ieomg|;ZQmUpvRNz2M#rdah> zEfg_WWN10%=(ORLvO1@OtD>|XHiE0t2;F6;V`ac9^@1inZnd+wv%P`3c&Jz3JJ`Sk zJ9LsJ3(RW%;N@-8l%d^!$p*pZu>0kgx-~<3>~<{J6?KB$SnMqhZ1|vG2WPJJDn_^8 zVfIA%bW(L`>{!@Pt6!WapUvET_KaxfwgYD4V>gfo78*O`iKLZV3$V$yGOnQco$c7* z9Lbq%L>REDhBij^%^}8Nt1`WD4c{xxR7>XuoJq{;{KgqJeU>ElS)Q^wn)B+iIyW3q z+2&O#Z<2=D6*$rKvb~%n~M1k#F{jiV6#?p#t&sdzzXw;R%L}~_m zBg`6pZ_b0giJ7R!rGY=msT#Woe65{{kTd>;SGE6qTjwK1z@$6A>-U=04sCEQ$STn$ zqL*&k9(OHL_~6!r6JH&L*lN+Jfh?N-9BpCdcE&7{ciy*kU6@L?g4=NoR<(Bkzetvd zCbP8HuJ&Qtr7>clOou%}p2)CcB__Y5H8suJk%w|C4s8tf+I^blzEczZK1GKI`x0xvATUX4nI%%R4|%w(8zBq<%nV% z_ZPt^=doJWY2D8PzsVG2KJcNo=YT}9c&7; zbeQ%u$}B{o+LN@Nip*S-DA?KGsTStsGG4 zz+EkP(A9(Xfxmd@9p#lCR_T>4H@&W~ilFrD)xr1>Z4LMHgV;)h)lU**cLljHpjBMu z*&rRMatq0r7sAJ)XG2EPWReBdISM7>u{DKk!Gde&;pc()8YL5XYlhMXF^$FD@eo>#dJm|738j(Xo_tnx?XLPqFSHg6p|j zPujut_6oro9`?u`v$t3m$eVi&8C-srXI3W;mqyyQq>(cP5St8D%Rq8yfeu2;QzR;n zoBIs6RcbG%Ahhq170}xYa3q;A?U?^)7klY~UDYvDG|8GdI*P1W1C6G)hXXWYI8j3- z*ArGq-7T>c**3tyLr<^=DhRl=f+K!=yOQkYd3OleCw^&Uvbv1B+WX~T(ok- zlAw24-wm_Ip@Va`>8*fOg3R>RY%+Iy1x=cm*$^?4-O(4^4PAI=?lw~)y{ScWkK@M; zY8>{(tH&WRx_}Z)llvkz2%RH|kS5(`Qt2K#h=?y<69Vsek!rM&Y~MbtYWt95Ht)0> zoRhNvTP=44Z#kMzJUTOX-=RCXBnS`PNn?5^4W@01w;bD%MSAaro^pl zbBiCh0oF&IHR!XLhkx_Yh!Ng;ix^Dr{x=`Wcb=Crp69jDhohUK8UDG)vY_2WIho%3 zk5<-d#Eege!JJzG2wL0iqTLsQSr^HR^w^IF`;KP%CY zE&8s+k7X{?hdO24Zl+Ahj%lXdsB4OM2n%1Av=+qF;%aTvq)9rT<12h#GWRJ~Cq&LF zfMRZjYV4KhvW$u0WbQ__Gef^42FYU(CgBh2P*3*{**sx@=y4!RK2A)1JzVKdrH zpLleF(wnRgZ6Xy9H3na?j5pZ~gw?snFgMsERq{_3b-!=imbqGyjE&?Ug_bo40Of$*o%)w#~ zBokq!Pgu*$_PywAT4WB{$0#Fcv8ft;!tHrz?DG^!bg;#lE1oDZYqoH6Y5na8+r@Xr z{rWXG@va5-m)7Z-K6A>s+u_uqgFZ=v9cn&{vtQZRm7iF#kHjD&aNgk-SFMs5RC>DN zY=@ae?8Ak{*(Jng7Y^3hyPOSir0tQR(qEq!YRgM%@WN`^F6l4Bwe1KxWARFjBjxOi zon?jeX5CJf&oaB|aEvEx*Pamg)ioGNGDI}kmDHjcj09UXSqc^GN|Vf{(o3=)^vN?- zmey9V$dZJ8P(EUDrL{Ya4i`;M=$JOdD9q){g7Gx$nl37;yM1Z*n4+oo%uvUDb6x2fRqT$)VSYP4DFE6Tae@lCrkt2?m5 z#_VDyP)J4VRg}%fhV6sGYE1eWN+3FI*UUHl74z##w=)xV=^$C5trT;i+KuLJcQ0OS z(XnY^jI=|J-lKX$i&&kdrrqMz9WAEhCmyX}$)IVRmalU!s)jL_xB%hP8W`*x5-vR( z9O1K%q{r<1B)!`nQME1PR&0DQ5_loV3r}@#%gol|S?O=LL?RY42Chk+$G zvkSc<@tM252y)8aEAj){_G96(V9+_0_|P3wE$&Fz*XoeKn)W{C;9DAAm1zDUTQaij zyOcgB=~B*j_bVK27VKjrte|Icu$4V;Z8i+{)S_ADCMy_z>7hH=XR?MiTD8_p;A$mk zZd;=*DO`RZ;No;tMZK&Urm!4}`XuPG1TCPL;gM+InD+f>(H6ffe5vgE=6DZ|Q;@OH6!WzE?*Yox)g ziC#~pWd1A`ktKxDvA^Yhk$s@^7+6(i!@*U>MWG%(z^CbXltze)InZS1Wh>~1*!f6W zDzk~t%j&)Ub0HV0*h=b{nA$I5Ksf)NIpW;q625rw!rCmdO25<+y=<2!TJznD?|6gW zR<~659WRlE`nO`2ndNTRyS(Q;kY!);Z5)oF0rOhi?%QR*$`O#XJax*0Sy4I+D}8R* zjIpu|yD9CX4TiV}IJ?-^MHLs#o*yz78Z1dQR_aB+#9m z>=kCaJCU&L>iX8V7Vo~80>hS>LQ-<&sA?&uX+L9s)=ZTF)zpdUHIA1T5_I*%2w>y``&-n;e zD(gm5hXE1RWO3-?6fpO+QFq|fpt{;VF}Mr$Xh3M0pFC{dT3_f|mWu z_97yGiY?ysj3k_{$?o=*vPVX~MtwDL&v}Z{6JL0*OinGV**(8dtUXtz?1Zw=-4O=5 zEZ@2Nka}*8C{^bc{&~-M$9e_4?_ofgvd$3T5iSQxc2q()iF&7BI#DvQy#y(bvx&(| zpLnXOG+BP=U=v$pYf29m8y~k_VxSQSx}g?zxo^T;boRnLUn@#IT|Y0hkf(6*5(bL3 z^UC@(iml?n=FMec*GjgS14$24GsRl7N$I~iwJG}b+aT34qu6}8!0ReSAOhJF2GEke71*$$tleX*3rIyG62 zZn7@tFA8K&F6T&&gU4#pZDZwW;@hV_b+f!~4NaB-HfP=0*7D(Cht3ug|5nE9Ugy`h zsOapf-a&R5q6N1UHc=9c>#sSH7*5^1&D?U$Y}#sA(|F$mdp6c3O)rdU*POmpXZ|Xr z_0%igZf61mULB@CsL&u}_2CqaeFz>ae)N zc|N;UbTB(^9j-Dr4*1Z*-u>j@4qCN(aqG+M=^eiEXvo^t zdh)|9+;|tm+b$fVjh4~5A}9MSj&`uU4LbKJp8R5XaChgP4zZZ+Vr7_njMG+kq8#kN z;%J6*w`=J;5M`Vs&fP{2>+&FHzKqW6FiauahdN0qzj+3k#m*kLBf}9em#J*@kxkBA zuIXKA_I=xpyuH<#|GG#QWVR3t_ad!sJl)d_E{6IeP{Eve&{6gMB`sQq?_B4k)w#!l zayv8H<(W}eOMI~ujg^OYVX)6$mJOVrz0fR^ifni6dk<@tgrwwrgg+tTy-{m;kr}E3 z8Qr^ZIPE6t!Yq7h-a&CTRGDGoNvarDx4{aTm(`A(sA2u>A2HP7y%SW0wKFXSp$S`g z!j_PGAgeeAWm}`?hLD-bVo_yN=9YJ!Zw~pZ*p&zZ8QJaYsGT#&gS|g?FOuB8u$WCQ zs3S3rCOI;q1bT*f&0l!PW^@B$_qZlxN69K_4a{aVcN=#@Y_7X)Hb=!eS=@p9 zg1N6sbL+V;D!^V4R?!`pY5Fs4r<*h(C)g``LwM9)NFuJzTx5|ScqOG>K$%xdw_PX~ zPA8O`j18NcJz0LyjPzHJDQD{5SSZ#?E(xuT$sUUfLG;)R>e?zr7hSKQyl#ytuFtZi pUd1WR-f)H;DoP>9>{FXUTd0o^4i2WdEaPCMSXu|9&r4kJ{{UA4iQfPK delta 6640 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 Lo&7ra Date: Sat, 1 Oct 2022 08:16:52 -0700 Subject: [PATCH 19/39] Update django.po (POEditor.com) --- locale/pl/LC_MESSAGES/django.po | 2461 +++++++++++++++---------------- 1 file changed, 1217 insertions(+), 1244 deletions(-) diff --git a/locale/pl/LC_MESSAGES/django.po b/locale/pl/LC_MESSAGES/django.po index 6fa83c20..0eadbbfb 100644 --- a/locale/pl/LC_MESSAGES/django.po +++ b/locale/pl/LC_MESSAGES/django.po @@ -1,23 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: test\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" +"Project-Id-Version: Baby Buddy\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Ustawienia" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -32,10 +29,8 @@ msgid "Refresh rate" msgstr "Częstotliwość odświeżania" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Ta opcja zostanie użyta jedynie gdy twoja przeglądarka nie wspiera automatycznego odświeżania" #: babybuddy/models.py:28 msgid "disabled" @@ -73,120 +68,31 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "" - #: babybuddy/models.py:63 msgid "Language" msgstr "Język" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Strefa czasowa" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "Ustawienia użytkownika {user}" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "Angielski" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "Angielski" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Francuski" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Brak pozwolenia" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Niemiecki" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Hiszpański" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Szwedzki" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Turecki" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Administrator bazy danych" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Nie masz dostępu do tego zasobu. \n" +" Skontaktuj się z administratorem." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -211,36 +117,32 @@ msgstr "Zatwierdź" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Błąd: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Błąd: Niektóre pola zawierają błędy. Spójrz poniżej po " -"więcej szczegółów." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Błąd: Niektóre pola posiadają błędy. Zobacz poniżej." -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Zmiana pieluchy" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Karmienie" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Notatka" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -250,8 +152,8 @@ msgstr "Notatka" msgid "Sleep" msgstr "Spać" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -263,15 +165,24 @@ msgstr "Spać" msgid "Tummy Time" msgstr "Czas drzemki" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Waga" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -281,7 +192,7 @@ msgstr "" msgid "Children" msgstr "Dzieci" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -300,7 +211,7 @@ msgstr "Dzieci" msgid "Child" msgstr "Dziecko" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -309,118 +220,24 @@ msgstr "Dziecko" msgid "Notes" msgstr "Notatki" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -#, fuzzy -#| msgid "Sleep entry" -msgid "BMI entry" -msgstr "Czas spania" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Waga" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -#, fuzzy -#| msgid "Weight entry" -msgid "Height entry" -msgstr "Wpis wagi" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Odczyt temperatury" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Waga" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Wpis wagi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Aktywności" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Zmiany" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Zmiana" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -430,33 +247,15 @@ msgstr "Zmiana" msgid "Feedings" msgstr "Karmienia" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Wpis wagi" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Czas spania" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Czas drzemki" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -464,23 +263,23 @@ msgstr "Czas drzemki" msgid "User" msgstr "Użytkownik" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Hasło" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Wyloguj" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Strona" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "Przeglądarka API" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -488,15 +287,19 @@ msgstr "Przeglądarka API" msgid "Users" msgstr "Użytkownicy" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Backend Admin" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Wsparcie" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Kod źródłowy" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Czat / Wsparcie" @@ -507,7 +310,6 @@ msgstr "Czat / Wsparcie" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Poprzedni" @@ -519,7 +321,6 @@ msgstr "Poprzedni" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Następny" @@ -575,10 +376,7 @@ msgstr "Usuń" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" msgstr "

Czy chcesz usunąć%(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 @@ -635,7 +433,6 @@ msgstr "Zaktualizuj" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Zaktualizuj %(object)s

" @@ -665,7 +462,7 @@ msgstr "Aktywny" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -703,6 +500,11 @@ msgstr "Zmień hasło" msgid "User Settings" msgstr "Ustawienia użytkownika" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Błąd: Niektóre pola zawierają błędy. Spójrz poniżej po więcej szczegółów." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Profil użytkownika" @@ -729,12 +531,10 @@ msgid "Welcome to Baby Buddy!" msgstr "Witamy w Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Poznaj i przewiduj potrzeby dziecka bez (tak dużo) zgadywania, " -"używając Baby Buddy do śledzenia —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Naucz się przewidywać potrzeby swojego dziecka bez\n" +" (tak dużej) potrzeby zgadywania używając Baby Buddy aby śledzić —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -746,21 +546,15 @@ msgstr "" msgid "Diaper Changes" msgstr "Zmiana pieluchy" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Wraz ze wzrostem liczby wpisów Baby Buddy pomoże rodzicom i opiekunom " -"zidentyfikować małe wzorce w nawykach dziecka za pomocą pulpitu " -"nawigacyjnego i wykresów. Baby Buddy jest przystosowany do urządzeń " -"mobilnych i wykorzystuje ciemny motyw, aby pomóc zmęczonym mamom i tatusiom " -"karmić i przebierać o drugiej w nocy. Aby rozpocząć, po prostu kliknij " -"poniższy przycisk, aby dodać swoje pierwsze (lub drugie, trzecie itd.) " -"dziecko!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Wraz ze wzrostem liczby wpisów Baby Buddy pomoże\n" +" rodzicom i opiekunom w zidentyfikowaniu drobnych wzorców w nawykach dziecka za pomocą deski rozdzielczej i wykresów. Baby Buddy jest przyjazny dla urządzeń mobilnych i używa ciemnego motywu, aby pomóc zmęczonym mamom i tatusiom karmić o 2 nad ranem zmiany pieluch. Aby rozpocząć, po prostu kliknij poniższy przycisk, aby dodać swoje pierwsze (lub drugie, trzecie itd.) dziecko!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -768,51 +562,6 @@ msgstr "" msgid "Add a Child" msgstr "Dodaj dziecko" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Brak pozwolenia" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Nie masz uprawnień do tych zasobów. Skontaktuj się z administratorem witryny" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Witamy w Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Login" @@ -837,10 +586,10 @@ msgstr "Zaloguj się" msgid "Password Reset" msgstr "Reset hasła" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "O nie! Hasła nie pasują. Spróbuj ponownie" +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

O nie! Hasła nie pasują do siebie. Spróbuj ponownie.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -855,73 +604,40 @@ msgstr "Zresetuj hasło" msgid "Reset Email Sent" msgstr "Email resetujący został wysłany" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Wysłaliśmy Ci instrukcje dotyczące ustawienia hasła, jeśli istnieje konto z " -"wprowadzonym adresem e-mail. Powinieneś je wkrótce otrzymać." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Jeśli nie otrzymasz wiadomości e-mail, upewnij się, że wpisałeś adres, pod " -"którym się zarejestrowałeś, i sprawdź folder ze spamem." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Wysłaliśmy Ci e-mailem instrukcje dotyczące ustawienia\n" +" hasła, jeśli istnieje konto z wprowadzonym adresem e-mail. Powinieneś je wkrótce otrzymać.

\n" +"

Jeśli nie otrzymasz wiadomości e-mail, upewnij się, że\n" +" wpiszałeś adres pod którym się zarejestrowałeś, i sprawdź swój spam\n" +" folder.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Zapomniano hasła" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Wpisz adres e-mail swojego konta w poniższym formularzu. Jeśli adres jest " -"prawidłowy, otrzymasz instrukcje dotyczące zresetowania hasła." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Wprowadź adres e-mail swojego konta w\n" +" formularz poniżej. Jeśli adres jest prawidłowy, otrzymasz instrukcje dotyczące\n" +" resetowanie hasła.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Dodano użytkownika %(username)s!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Zaktualizowano użytkownika %(username)s" #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Użytkownik {user} został usunięty" @@ -937,20 +653,10 @@ msgstr "Wygenerowano klucz API użytkownika" msgid "Settings saved!" msgstr "Zapisano ustawienia!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Imię nie pasuje do imienia dziecka" -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Data nie może być z przyszłości" @@ -971,45 +677,6 @@ msgstr "Kolejny wpis przecina określony okres czasu" msgid "Date/time can not be in the future." msgstr "Data/czas nie mogą być z przyszłości" -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Kolor" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Nazwisko" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Data" - #: core/models.py:163 msgid "First name" msgstr "Imię" @@ -1064,11 +731,14 @@ msgstr "Zielone" msgid "Yellow" msgstr "Żółte" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Ilość" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Kolor" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Wymagana jest mokra i/lub stała." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1094,14 +764,6 @@ msgstr "Mleko matki" msgid "Formula" msgstr "Przepis" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Mleko wzbogacone" - -#: core/models.py:286 -msgid "Solid food" -msgstr "" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Typ" @@ -1118,25 +780,19 @@ msgstr "Lewa pierś" msgid "Right breast" msgstr "Prawa pierś" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Obie piersi" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "" - -#: core/models.py:298 -msgid "Self fed" -msgstr "" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Metoda" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Ilość" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Tylko metoda \"butelka\" jest dozwolona z typem \"mleko w proszku\"." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1156,7 +812,6 @@ msgid "Timers" msgstr "Stopery" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Stoper #{id}" @@ -1164,28 +819,21 @@ msgstr "Stoper #{id}" msgid "Milestone" msgstr "Kamień milowy" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Usuń czas spania" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Dodaj czas spania" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Brak wpisów stopera" +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Data" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1205,15 +853,15 @@ msgstr "Urodzony" msgid "Age" msgstr "Wiek" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Dodaj dziecko" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s temu (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Data urodzenia" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Nie znaleziono dzieci" @@ -1238,18 +886,14 @@ msgstr "Dodaj zmianę pieluchy" msgid "Add" msgstr "Dodaj" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Dodaj zmianę pieluchy" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Nie znaleziono zmian pieluchy" +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Dodaj zmianę" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Usuń karmienie" @@ -1263,10 +907,6 @@ msgstr "Zaktualizuj karmienie" msgid "Add a Feeding" msgstr "Dodaj karmienie" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Dodaj karmienie" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Posada" @@ -1275,56 +915,6 @@ msgstr "Posada" msgid "No feedings found." msgstr "Nie znaleziono karmienia" -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Tummy Time Entry" -msgid "Delete a Head Circumference Entry" -msgstr "Usuń czas leżakowania" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Add a Temperature Entry" -msgid "Add a Head Circumference Entry" -msgstr "Dodaj wpis temperatury" - -#: core/templates/core/head_circumference_list.html:15 -msgid "Add Head Circumference" -msgstr "" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Brak wpisów stopera" - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Usuń wpis wagi" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Zaktualizuj wpis wagi" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add Weight" -msgid "Add Height" -msgstr "Dodaj wagę" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Brak wpisów wagi" - #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" msgstr "Usuń notatkę" @@ -1337,53 +927,10 @@ msgstr "Zaktualizuj notatkę" msgid "Add a Note" msgstr "Dodaj notatkę" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Dodaj notatkę" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Brak notatek" -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Usuń wpis wagi" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Zaktualizuj wpis wagi" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Zaktualizuj wpis wagi" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Brak wpisów stopera" - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Szybki start stopera" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Szybki start stopera" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" msgstr "Usuń czas spania" @@ -1396,10 +943,6 @@ msgstr "Zaktualizuj czas spania" msgid "Add a Sleep Entry" msgstr "Dodaj czas spania" -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Dodaj spanie" - #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 #: core/templates/core/timer_list.html:24 @@ -1421,49 +964,10 @@ msgstr "Nap" msgid "No sleep entries found." msgstr "Nie znaleziono wpisów spania" -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Usuń odczyt temperatury" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Dodaj odczyt temperatury" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Dodaj wpis temperatury" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Dodaj odczyt temperatury" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Brak wpisów temperatury" - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Usuń %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Usuń wszystkie niekatywne stopery" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Usuń niekatywne" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" -msgstr[1] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" -msgstr[2] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Rozpoczęto" @@ -1472,25 +976,16 @@ msgstr "Rozpoczęto" msgid "Stopped" msgstr "Zakończono" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s utworzony przez %(user)s" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s stworzony przez %(object.user)s" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Akcje stopera" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Start stopera" @@ -1498,30 +993,30 @@ msgstr "Start stopera" msgid "No timer entries found." msgstr "Brak wpisów stopera" -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Usuń niekatywne stopery" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Szybki start stopera" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Zobacz stopery" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Aktywne stopery" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Brak" @@ -1539,10 +1034,6 @@ msgstr "Zaktualizuj czas leżakowania" msgid "Add a Tummy Time Entry" msgstr "Dodaj czas leżakowania" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Dodaj czas leżakowania" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Brak czasów leżakowania" @@ -1557,17 +1048,1023 @@ msgstr "Usuń wpis wagi" msgid "Add a Weight Entry" msgstr "Zaktualizuj wpis wagi" -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Dodaj wagę" - #: core/templates/core/weight_list.html:70 msgid "No weight entries found." msgstr "Brak wpisów wagi" +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s miał zmianę pieluchy" + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s rozpoczęto karmienie" + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s ukończono karmienie" + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s zasnęło" + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s wstało" + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s zaczął czas leżakowania" + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s zakończył czas leżakowania" + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "Dodano %(model)s dla dziecka %(child)s!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "Dodano %(model)s!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "Zaktualizowano %(model)s dla dziecka %(child)s!" + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "Zaktualizowano %(model)s" + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "Dodano %(first_name)s %(last_name)s!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "Stop %(timer)s" + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "Ostatna zmiana pieluchy" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s temu" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Nigdy" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "W minionym tygodniu" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "mokry" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "suchy" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "Dzisiaj" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "Wczoraj" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "%(key)s dni temu" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Ostatnie karmienie" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Ostatnia metoda karmienia" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Dzisiejsze spanie" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Jeszcze żadnego dziś" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s pójść spać" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Ostatni sen" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Dzisiejsze spanie" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s nap%(plural)s" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "Statystyki" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "Brak wystarczających danych" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s aktywny stoper %(plural)s" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Rozpoczęty przez %(instance.user)s o %(start)s" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Dzisiejszy czas leżakowania" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s w %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "Ostatni czas leżakowania" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Akcje dzieci" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Typy zmiany pieluchy" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Czas \"życia\" pieluchy" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Czas karmienia (średni)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Wzór snu" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Snu łącznie" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Częstotliwość zmiany pieluchy" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Częstotliwość karmienia" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Średni czas drzemi" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Średnie drzemki na dzień" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Średni czas spania" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Średni czas wstawania" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Zmiana wagi w ciągu tygodnia" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Czas życia pieluch " + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Czas pomiędzy zmianami (godziny)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Łącznie" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Typy zmian pieluch " + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Czas zmian" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Średni czas" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Łącznie karmień" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Średni czas karmienia" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Średni czas (minuty)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Ilość karmień" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "Wzorzec snu" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Pora dnia" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Łącznie snu" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Podsumowania dotyczące snu" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Godzin snu" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Waga" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Średni czas karmienia" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Zgłoszeń" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Brak wystarczających danych do wygenerowania tego raportu." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Obie piersi" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Niemiecki" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Hiszpański" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Szwedzki" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turecki" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Nie masz uprawnień do tych zasobów. Skontaktuj się z administratorem witryny" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Odczyt temperatury" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Poznaj i przewiduj potrzeby dziecka bez (tak dużo) zgadywania, używając Baby Buddy do śledzenia —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Wraz ze wzrostem liczby wpisów Baby Buddy pomoże rodzicom i opiekunom zidentyfikować małe wzorce w nawykach dziecka za pomocą pulpitu nawigacyjnego i wykresów. Baby Buddy jest przystosowany do urządzeń mobilnych i wykorzystuje ciemny motyw, aby pomóc zmęczonym mamom i tatusiom karmić i przebierać o drugiej w nocy. Aby rozpocząć, po prostu kliknij poniższy przycisk, aby dodać swoje pierwsze (lub drugie, trzecie itd.) dziecko!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "O nie! Hasła nie pasują. Spróbuj ponownie" + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Wysłaliśmy Ci instrukcje dotyczące ustawienia hasła, jeśli istnieje konto z wprowadzonym adresem e-mail. Powinieneś je wkrótce otrzymać." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Jeśli nie otrzymasz wiadomości e-mail, upewnij się, że wpisałeś adres, pod którym się zarejestrowałeś, i sprawdź folder ze spamem." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Wpisz adres e-mail swojego konta w poniższym formularzu. Jeśli adres jest prawidłowy, otrzymasz instrukcje dotyczące zresetowania hasła." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Mleko wzbogacone" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Usuń odczyt temperatury" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Dodaj odczyt temperatury" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Dodaj wpis temperatury" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Brak wpisów temperatury" + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s utworzony przez %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s godzina" +msgstr[1] "%(hours)s godziny" +msgstr[2] "%(hours)s godzin" +msgstr[3] "%(hours)s godzin" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuta" +msgstr[1] "%(minutes)s minuty" +msgstr[2] "%(minutes)s minut" +msgstr[3] "%(minutes)s minuty" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds) sekunda" +msgstr[1] "%(seconds) sekundy" +msgstr[2] "%(seconds) sekund" +msgstr[3] "%(seconds) sekund" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "wpis %(model)s usunięty." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "Odczytywanie %(model)s dodano!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "Zaktualizowano odczytywanie %(model)s dla %(child)s" + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Rozpoczął %(user)s o %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Ilośc karmień" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Łącznie karmień" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Łączna ilość karmień" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Ilość karmienia" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Brak wystarczającej ilości danych do wygenerowania raportu" + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Strefa czasowa" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Administrator bazy danych" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Dodaj dziecko" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Dodaj zmianę pieluchy" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Dodaj karmienie" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Dodaj notatkę" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Dodaj spanie" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Dodaj odczyt temperatury" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Usuń wszystkie niekatywne stopery" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Usuń niekatywne" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Usuń niekatywne stopery" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Dodaj czas leżakowania" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Dodaj wagę" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Usunięto wszystkie nieaktywne stopery" + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Brak nieaktywnych stoperów" + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "Najnowsze" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s karmień%(plural)s temu" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Ostatni sen" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Ilość zmian pieluchy" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Ilość zmiany pieluchy" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Ilość zmian pieluchy" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Zmień ilość" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Zmiana pieluchy" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "" + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "" + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "" + +#: core/models.py:286 +msgid "Solid food" +msgstr "" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "" + +#: core/models.py:298 +msgid "Self fed" +msgstr "" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "Dzisiaj" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "" + +#: babybuddy/settings/base.py:169 +#, fuzzy +msgid "English (US)" +msgstr "Angielski" + +#: babybuddy/settings/base.py:170 +#, fuzzy +msgid "English (UK)" +msgstr "Angielski" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +#, fuzzy +msgid "Height" +msgstr "Waga" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +#, fuzzy +msgid "Height entry" +msgstr "Wpis wagi" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +#, fuzzy +msgid "BMI entry" +msgstr "Czas spania" + +#: core/models.py:452 +msgid "Napping" +msgstr "" + +#: core/templates/core/bmi_confirm_delete.html:4 +#, fuzzy +msgid "Delete a BMI Entry" +msgstr "Usuń czas spania" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +#, fuzzy +msgid "Add a BMI Entry" +msgstr "Dodaj czas spania" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "" + +#: core/templates/core/bmi_list.html:70 +#, fuzzy +msgid "No bmi entries found." +msgstr "Brak wpisów stopera" + +#: core/templates/core/head_circumference_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Head Circumference Entry" +msgstr "Usuń czas leżakowania" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +#, fuzzy +msgid "Add a Head Circumference Entry" +msgstr "Dodaj wpis temperatury" + +#: core/templates/core/head_circumference_list.html:15 +msgid "Add Head Circumference" +msgstr "" + +#: core/templates/core/head_circumference_list.html:70 +#, fuzzy +msgid "No head circumference entries found." +msgstr "Brak wpisów stopera" + +#: core/templates/core/height_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Height Entry" +msgstr "Usuń wpis wagi" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +#, fuzzy +msgid "Add a Height Entry" +msgstr "Zaktualizuj wpis wagi" + +#: core/templates/core/height_list.html:15 +#, fuzzy +msgid "Add Height" +msgstr "Dodaj wagę" + +#: core/templates/core/height_list.html:70 +#, fuzzy +msgid "No height entries found." +msgstr "Brak wpisów wagi" + +#: core/templates/timeline/_timeline.html:44 +#, fuzzy +msgid "Duration: %(duration)s" +msgstr "Czas trwania zbyt długi." + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "" + +#: core/timeline.py:185 +#, fuzzy +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s miał zmianę pieluchy" + +#: dashboard/templatetags/cards.py:372 +#, fuzzy +msgid "Height change per week" +msgstr "Zmiana wagi w ciągu tygodnia" + +#: dashboard/templatetags/cards.py:382 +#, fuzzy +msgid "Head circumference change per week" +msgstr "Zmiana wagi w ciągu tygodnia" + +#: dashboard/templatetags/cards.py:392 +#, fuzzy +msgid "BMI change per week" +msgstr "Zmiana wagi w ciągu tygodnia" + +#: reports/graphs/bmi_change.py:27 +#, fuzzy +msgid "BMI" +msgstr "Waga" + +#: reports/graphs/feeding_amounts.py:69 +#, fuzzy +msgid "Total Feeding Amount by Type" +msgstr "Łączna ilość karmień" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "" + +#: reports/graphs/height_change.py:27 +#, fuzzy +msgid "Height" +msgstr "Waga" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "" + +#: babybuddy/templates/error/base.html:14 +#, fuzzy +msgid "Return to Baby Buddy" +msgstr "Witamy w Baby Buddy!" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +#, fuzzy +msgid "Pumping entry" +msgstr "Wpis wagi" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "" + +#: core/models.py:90 +#, fuzzy +msgid "Last used" +msgstr "Nazwisko" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "" + +#: core/templates/core/pumping_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Pumping Entry" +msgstr "Usuń wpis wagi" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +#, fuzzy +msgid "Add a Pumping Entry" +msgstr "Zaktualizuj wpis wagi" + +#: core/templates/core/pumping_list.html:15 +#, fuzzy +msgid "Add Pumping Entry" +msgstr "Zaktualizuj wpis wagi" + +#: core/templates/core/pumping_list.html:66 +#, fuzzy +msgid "No pumping entries found." +msgstr "Brak wpisów stopera" + #: core/templates/core/widget_tag_editor.html:22 #, fuzzy -#| msgid "Last name" msgid "Tag name" msgstr "Nazwisko" @@ -1605,605 +2102,81 @@ msgctxt "Error modal" msgid "Close" msgstr "" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s temu (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Czas trwania zbyt długi." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "Dzisiaj" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "Dzisiaj" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "Wczoraj" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s dni temu" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s zaczął czas leżakowania" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s zakończył czas leżakowania" - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s zasnęło" - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s wstało" - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s rozpoczęto karmienie" - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s ukończono karmienie" - -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s miał zmianę pieluchy" - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s godzina" -msgstr[1] "%(hours)s godziny" -msgstr[2] "%(hours)s godzin" -msgstr[3] "%(hours)s godzin" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuta" -msgstr[1] "%(minutes)s minuty" -msgstr[2] "%(minutes)s minut" -msgstr[3] "%(minutes)s minuty" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds) sekunda" -msgstr[1] "%(seconds) sekundy" -msgstr[2] "%(seconds) sekund" -msgstr[3] "%(seconds) sekund" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "Dodano %(model)s dla dziecka %(child)s!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "Dodano %(model)s!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "Zaktualizowano %(model)s dla dziecka %(child)s!" - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "Zaktualizowano %(model)s" - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "wpis %(model)s usunięty." - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "Dodano %(first_name)s %(last_name)s!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "Odczytywanie %(model)s dodano!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "Zaktualizowano odczytywanie %(model)s dla %(child)s" - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "Stop %(timer)s" - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Usunięto wszystkie nieaktywne stopery" - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Brak nieaktywnych stoperów" - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "Ostatna zmiana pieluchy" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "W minionym tygodniu" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "mokry" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "suchy" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "%(key)s dni temu" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s pójść spać" -msgstr[1] "%(count)s pójść spać" -msgstr[2] "%(count)s pójść spać" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Ostatnie karmienie" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Ostatnia metoda karmienia" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "Najnowsze" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n)s karmień%(plural)s temu" -msgstr[1] "%(n)s karmień%(plural)s temu" -msgstr[2] "%(n)s karmień%(plural)s temu" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Ostatni sen" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Dzisiejsze spanie" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s nap%(plural)s" -msgstr[1] "%(count)s nap%(plural)s" -msgstr[2] "%(count)s nap%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 +#: dashboard/templatetags/cards.py:410 #, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Ostatni sen" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s pójść spać" -msgstr[1] "%(count)s pójść spać" -msgstr[2] "%(count)s pójść spać" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "Statystyki" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "Brak wystarczających danych" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s aktywny stoper %(plural)s" -msgstr[1] "%(count)s aktywny stoper %(plural)s" -msgstr[2] "%(count)s aktywny stoper %(plural)s" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Rozpoczął %(user)s o %(start)s" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Dzisiejszy czas leżakowania" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s w %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "Ostatni czas leżakowania" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Nigdy" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Akcje dzieci" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Zgłoszeń" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Średni czas drzemi" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Średnie drzemki na dzień" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Średni czas spania" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Średni czas wstawania" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Zmiana wagi w ciągu tygodnia" - -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Zmiana wagi w ciągu tygodnia" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Weight change per week" -msgid "Head circumference change per week" -msgstr "Zmiana wagi w ciągu tygodnia" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Zmiana wagi w ciągu tygodnia" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Diaper change frequency" msgid "Diaper change frequency (past 3 days)" msgstr "Częstotliwość zmiany pieluchy" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 #, fuzzy -#| msgid "Diaper change frequency" msgid "Diaper change frequency (past 2 weeks)" msgstr "Częstotliwość zmiany pieluchy" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Częstotliwość zmiany pieluchy" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Częstotliwość karmienia" - -#: reports/graphs/bmi_change.py:27 +#: reports/graphs/pumping_amounts.py:57 #, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Waga" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Ilość zmiany pieluchy" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Ilość zmian pieluchy" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Zmień ilość" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Czas życia pieluch " - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Czas pomiędzy zmianami (godziny)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Łącznie" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Typy zmian pieluch " - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Czas zmian" - -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Łączna ilość karmień" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Ilość karmienia" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Średni czas" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Łącznie karmień" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Średni czas karmienia" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Średni czas (minuty)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Ilość karmień" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Waga" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" msgid "Total Pumping Amount" msgstr "Łączna ilość karmień" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amount" msgstr "Ilośc karmień" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "Wzorzec snu" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Pora dnia" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Łącznie snu" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Podsumowania dotyczące snu" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Godzin snu" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Waga" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Zmiana pieluchy" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Czas \"życia\" pieluchy" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Typy zmiany pieluchy" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Ilośc karmień" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Średni czas karmienia" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Brak wystarczającej ilości danych do wygenerowania raportu" - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Ilość zmian pieluchy" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Czas karmienia (średni)" - #: reports/templates/reports/report_list.html:18 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amounts" msgstr "Ilośc karmień" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Wzór snu" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" +msgstr[1] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" +msgstr[2] "Czy chcesz usunąć %(number)s nieaktwynych stoperów %(plural)s?" +msgstr[3] "" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Snu łącznie" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s pójść spać" +msgstr[1] "%(count)s pójść spać" +msgstr[2] "%(count)s pójść spać" +msgstr[3] "" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n)s karmień%(plural)s temu" +msgstr[1] "%(n)s karmień%(plural)s temu" +msgstr[2] "%(n)s karmień%(plural)s temu" +msgstr[3] "" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s nap%(plural)s" +msgstr[1] "%(count)s nap%(plural)s" +msgstr[2] "%(count)s nap%(plural)s" +msgstr[3] "" -#~ msgid "Today's Sleep" -#~ msgstr "Dzisiejsze spanie" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s aktywny stoper %(plural)s" +msgstr[1] "%(count)s aktywny stoper %(plural)s" +msgstr[2] "%(count)s aktywny stoper %(plural)s" +msgstr[3] "" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s pójść spać" From e7f6c0e4923e0b26f852033bf728db8e4a4a652a Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:54 -0700 Subject: [PATCH 20/39] Update django.mo (POEditor.com) --- locale/pt/LC_MESSAGES/django.mo | Bin 20992 -> 27493 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/pt/LC_MESSAGES/django.mo b/locale/pt/LC_MESSAGES/django.mo index 88ec0ecc8ef76f9a3bf7bb9cf633e8a3e28f8baf..c2b0a74cce702ee7eff63f5f0bff8fe8e6e48c31 100644 GIT binary patch literal 27493 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 VMJ&$Unr9b_ie|65w^2^V{{tGn>8}6) delta 7683 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 CDC8Fa From 09a70284b248540afda2bd8aeb9323c4801ebdd2 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:55 -0700 Subject: [PATCH 21/39] Update django.po (POEditor.com) --- locale/pt/LC_MESSAGES/django.po | 2165 +++++++++++++++---------------- 1 file changed, 1060 insertions(+), 1105 deletions(-) diff --git a/locale/pt/LC_MESSAGES/django.po b/locale/pt/LC_MESSAGES/django.po index cb140e89..a5294dc6 100644 --- a/locale/pt/LC_MESSAGES/django.po +++ b/locale/pt/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Preferências" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -28,15 +26,11 @@ msgstr "Painel" #: babybuddy/models.py:19 msgid "Refresh rate" -msgstr "Taxa de refrescamento" +msgstr "Taxa de atualização" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Se suportado pelo browser, o painel apenas refrescará quando visível, " -"etambém quando estiver em foco" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Esta configuração só será usada quando o browser não suportar atualização no foco." #: babybuddy/models.py:28 msgid "disabled" @@ -74,120 +68,31 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Esconder Cartões Vazios do Painel" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Esconder dados anteriores a" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "Esta definição controla que dados são mostrados no painel" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "mostrar todos os dados" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 dia" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 dias" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 dias" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1 semana" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 semanas" - #: babybuddy/models.py:63 msgid "Language" msgstr "Língua" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Fuso Horário" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "Preferências de {user}" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Holandês" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "Inglês" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "Inglês" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Francês" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Finlandês" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Permissão Negada" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Alemão" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "Italiano" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Espanhol" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Sueco" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Turco" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Administrador da Base de Dados" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Não tem permissóes para aceder ao recurso.\n" +"Contacto o administrador." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -212,35 +117,32 @@ msgstr "Submeter" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Erro: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Erro: Alguns campos têm erros. Veja abaixo, para detalhes" +msgid "Error: Some fields have errors. See below for details. " +msgstr "Erro: Alguns campos tem erros. Veja os detalhes abaixo. " -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Mudança de Fralda" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Alimentação" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Nota" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -250,8 +152,8 @@ msgstr "Nota" msgid "Sleep" msgstr "Sono" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -263,15 +165,24 @@ msgstr "Sono" msgid "Tummy Time" msgstr "Tempo de Barriga para Baixo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "Linha temporal" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Peso" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -281,7 +192,7 @@ msgstr "Linha temporal" msgid "Children" msgstr "Crianças" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -300,7 +211,7 @@ msgstr "Crianças" msgid "Child" msgstr "Criança" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -309,118 +220,24 @@ msgstr "Criança" msgid "Notes" msgstr "Notas" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -#, fuzzy -#| msgid "Sleep entry" -msgid "BMI entry" -msgstr "Novo sono" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -#, fuzzy -#| msgid "Weight entry" -msgid "Height entry" -msgstr "Novo peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Leitura de temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Novo peso" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Actividades" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Mudanças de fralda" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Mudança de fralda" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -428,35 +245,17 @@ msgstr "Mudança de fralda" #: core/templates/core/feeding_list.html:7 #: core/templates/core/feeding_list.html:12 msgid "Feedings" -msgstr "Alimentações" +msgstr "Alimentação" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Novo peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Novo sono" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Entrada de Tempo de Barriga para Baixo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -464,23 +263,23 @@ msgstr "Entrada de Tempo de Barriga para Baixo" msgid "User" msgstr "Utilizador" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Password" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Logout" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Site" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "Navegador de API" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -488,15 +287,19 @@ msgstr "Navegador de API" msgid "Users" msgstr "Utilizadores" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Administração do sistema" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Suporte" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Código Fonte" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / Suporte" @@ -507,7 +310,6 @@ msgstr "Chat / Suporte" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Anterior" @@ -519,7 +321,6 @@ msgstr "Anterior" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Seguinte" @@ -575,13 +376,8 @@ msgstr "Apagar" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Tem a certeza que quer eliminar %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Tem a certeza que quer eliminar %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -637,7 +433,6 @@ msgstr "Actualizar" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Actualizar %(object)s

" @@ -667,7 +462,7 @@ msgstr "Activo" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -703,7 +498,12 @@ msgstr "Mudar Password" #: babybuddy/templates/babybuddy/user_settings_form.html:4 #: babybuddy/templates/babybuddy/user_settings_form.html:12 msgid "User Settings" -msgstr "Preferências de Utilizadoe" +msgstr "Preferências do Utilizador" + +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Erro: Alguns campos têm erros. Veja abaixo, para detalhes" #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" @@ -731,12 +531,10 @@ msgid "Welcome to Baby Buddy!" msgstr "Bem-vindo ao Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Aprenda e preveja as necessidades do(s) bebé(s) sem (muita) " -"adivinhação utilizando o Baby Buddy para contorlar —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Aprenda e preveja as necessidades do bebé sem \n" +"(muita) advinhação usando o Baby Buddy para monitorizar —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -748,20 +546,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Mudanças de Fralda" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" msgstr "" -"À medida que o número de entradas aumenta, o Baby Buddy vai ajudar parentes " -"e cuidadores a identificar pequenos padrões nos hábitos dos bebés, usando o " -"painel e os gráficos.Baby Buddy é mobile-friendly e usa um tema escuro para " -"ajudar mães e pais cansados com alimentações e mudanças de fralda às 2 da " -"manhã. Para começar, simplesmente clique no botão abaixo para adicionar a " -"sua primeira (ou segunda, ou terceira, etc.) criança!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -769,52 +561,6 @@ msgstr "" msgid "Add a Child" msgstr "Adicionar uma Criança" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Permissão Negada" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Não tem permissão para aceder a este recurso. Contacte o administrador do " -"site para assitência" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Bem-vindo ao Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Entrada" @@ -839,12 +585,11 @@ msgstr "Entrada" msgid "Password Reset" msgstr "Reset da Password" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Que chatice! As duas passwords não coincidem. Por favor " -"tente novamente." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Oh snap! \n" +"As duas passwords não coincidem. Por favor tente nomvamente.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -859,73 +604,34 @@ msgstr "Fazer reset à password" msgid "Reset Email Sent" msgstr "Password de reset enviada por e-mail" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Se alguma conta existir com o seu e-mail, foram enviadas instruções para " -"definir a sua password. Deverá recebê-lo em breve." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se não receber um e-mail, por favor verifique o endereço com o qual se " -"registou e a sua caixa de spam." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" msgstr "" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Password Esquecida" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Insira o seu e-mail no formulário abaixo. Se o endereço for válido, receberá " -"instruções para o reset da sua password." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" msgstr "" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Utilizador %(username)s adicionado!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Utilizador %(username)s actualizado." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Utilizador {user} eliminado." @@ -941,20 +647,10 @@ msgstr "Chave API do utilizador regenerada." msgid "Settings saved!" msgstr "Preferências salvas!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Nome não coincide com o nome da criança." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Data não pode ser no futuro." @@ -975,45 +671,6 @@ msgstr "Outra entrada intercepta o período de tempo definido." msgid "Date/time can not be in the future." msgstr "Data/hora não podem ser no futuro." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Cor" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Último Nome" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Data" - #: core/models.py:163 msgid "First name" msgstr "Primeiro nome" @@ -1068,11 +725,14 @@ msgstr "Verde" msgid "Yellow" msgstr "Amarelo" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Quantidade" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Cor" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Molhado e/ou sólido é um campo obrigatório" #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1098,14 +758,6 @@ msgstr "Leite materno" msgid "Formula" msgstr "Fórmula" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Leite materno fortificado" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Comida sólida" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Tipo" @@ -1122,25 +774,19 @@ msgstr "Mama esquerda" msgid "Right breast" msgstr "Mama direita" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Ambas as mamas" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Alimentado pelos pais" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Alimentado(a) por si próprio(a)" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Método" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Quantidade" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Apenas um \"método\" é permitido por tipo de \"fórmula\"." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1160,7 +806,6 @@ msgid "Timers" msgstr "Temporizadores" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Temporizador #{id}" @@ -1168,28 +813,21 @@ msgstr "Temporizador #{id}" msgid "Milestone" msgstr "Meta" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Apagar uma entrada de Sono" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Adicionar uma entrada de Sono" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Não foram encontradas entradas de temporizador." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Data" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1209,15 +847,15 @@ msgstr "Nascimento" msgid "Age" msgstr "Idade" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Adicionar Criança" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "há %(since)s (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Data de Nascimento" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Nenhuma criança encontrada." @@ -1242,18 +880,14 @@ msgstr "Adicionar uma mudança de fralda" msgid "Add" msgstr "Adicionar" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Adicionar Mudança de Fralda" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "Conteúdo" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Não foram encontradas mudanças de fralda" +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Adicionar uma mudança" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Apagar uma Alimentação" @@ -1267,67 +901,13 @@ msgstr "Actualizar uma Alimentação" msgid "Add a Feeding" msgstr "Adicionar uma Alimentação" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Adicionar Alimentação" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Quantidade" #: core/templates/core/feeding_list.html:82 msgid "No feedings found." -msgstr "Não foram encontradas alimentações." - -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Tummy Time Entry" -msgid "Delete a Head Circumference Entry" -msgstr "Apagar uma entrada de Tempo de Barriga para Baixo" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Add a Temperature Entry" -msgid "Add a Head Circumference Entry" -msgstr "Adicionar uma leitura de Temperatura" - -#: core/templates/core/head_circumference_list.html:15 -msgid "Add Head Circumference" -msgstr "" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Não foram encontradas entradas de temporizador." - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Apagar uma entrada de Peso" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Adicionar uma entrada de Peso" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add Weight" -msgid "Add Height" -msgstr "Adicionar Peso" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Não foram encontradas entradas de peso." +msgstr "Não foram encontrados registos de alimentação." #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" @@ -1341,53 +921,10 @@ msgstr "Actualizar uma Nota" msgid "Add a Note" msgstr "Adicionar uma Nota" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Adicionar Nota" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Não foram encontradas notas" -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Apagar uma entrada de Peso" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Adicionar uma entrada de Peso" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Adicionar uma entrada de Peso" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Não foram encontradas entradas de temporizador." - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Temporizador Rápido" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Temporizador Rápido" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" msgstr "Apagar uma entrada de Sono" @@ -1400,10 +937,6 @@ msgstr "Adicionar uma entrada de Sono" msgid "Add a Sleep Entry" msgstr "Adicionar uma entrada de Sono" -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Adicionar Sono" - #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 #: core/templates/core/timer_list.html:24 @@ -1425,52 +958,10 @@ msgstr "Sesta" msgid "No sleep entries found." msgstr "Não foram encontradas entradas de sono." -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Apagar uma leitura de Temperatura" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Adicionar uma leitura de Temperatura" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Adicionar uma leitura de Temperatura" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Adicionar Temperatura" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Não foram encontradas entradas de temperatura" - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Apagar %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Apagar todos os temporizadores inactivos" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Apagar inactivo" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "" -"Tem a certeza que deseja eliminar %(number)s temporizadore%(plural)s inactivo" -"%(plural)s?" -msgstr[1] "" -"Tem a certeza que deseja eliminar %(number)s temporizadore%(plural)s inactivo" -"%(plural)s?" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Iniciado" @@ -1479,25 +970,16 @@ msgstr "Iniciado" msgid "Stopped" msgstr "Parado" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s iniciado por %(user)s" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s criado por %(object.user)s" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Acções do temporizador" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "Reiniciar temporizador" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Apagar temporizador" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Iniciar Temporizador" @@ -1505,30 +987,30 @@ msgstr "Iniciar Temporizador" msgid "No timer entries found." msgstr "Não foram encontradas entradas de temporizador." -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Apagar Temporizadores Inactivos" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Temporizador Rápido" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Ver Temporizadores" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Temporizadores Activos" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Nenhum" @@ -1546,10 +1028,6 @@ msgstr "Actualizar uma entrada de Tempo de Barriga para Baixo" msgid "Add a Tummy Time Entry" msgstr "Adicionar uma entrada de Tempo de Barriga para Baixo" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Adicionar Tempo de Barriga para Baixo" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Não foram encontradas entradas de Tempo de Barriga para Baixo" @@ -1564,233 +1042,76 @@ msgstr "Apagar uma entrada de Peso" msgid "Add a Weight Entry" msgstr "Adicionar uma entrada de Peso" -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Adicionar Peso" - #: core/templates/core/weight_list.html:70 msgid "No weight entries found." msgstr "Não foram encontradas entradas de peso." -#: core/templates/core/widget_tag_editor.html:22 -#, fuzzy -#| msgid "Last name" -msgid "Tag name" -msgstr "Último nome" - -#: core/templates/core/widget_tag_editor.html:27 -msgid "Recently used:" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:45 -msgctxt "Error modal" -msgid "Error" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:50 -msgctxt "Error modal" -msgid "An error ocurred." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:51 -msgctxt "Error modal" -msgid "Invalid tag name." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:52 -msgctxt "Error modal" -msgid "Failed to create tag." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:53 -msgctxt "Error modal" -msgid "Failed to obtain tag data." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:58 -msgctxt "Error modal" -msgid "Close" -msgstr "" - -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "há %(since)s (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Duração demasiado longa." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Editar" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "Hoje" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 dias" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "hoje" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "ontem" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s dias atrás" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s começou tempo de barriga para baixo!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s terminou tempo de barriga para baixo!" - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s adormeceu." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s acordou." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "Quantidade: %(amount).0f" +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s mudou a fralda." #: core/timeline.py:145 -#, python-format msgid "%(child)s started feeding." msgstr "%(child)s começou a alimentar-se." #: core/timeline.py:158 -#, python-format msgid "%(child)s finished feeding." msgstr "%(child)s terminou de se alimentar." -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s mudou a fralda." +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s adormeceu." -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s hora" -msgstr[1] "%(hours)s horas" +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s acordou." -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuto" -msgstr[1] "%(minutes)s minutos" +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s começou tempo de barriga para baixo!" -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s segundo" -msgstr[1] "%(seconds)s segundos" +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s terminou tempo de barriga para baixo!" #: core/views.py:33 -#, python-format msgid "%(model)s entry for %(child)s added!" msgstr "%(model)s entrada para %(child)s adicionada!" #: core/views.py:35 core/views.py:308 -#, python-format msgid "%(model)s entry added!" msgstr "%(model)s entrada adicionada!" #: core/views.py:61 core/views.py:316 -#, python-format msgid "%(model)s entry for %(child)s updated." msgstr "%(model)s entrada para %(child)s actualizada." #: core/views.py:63 -#, python-format msgid "%(model)s entry updated." msgstr "%(model)s entrada actualizada." -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s entrada eliminada." - #: core/views.py:115 -#, python-format msgid "%(first_name)s %(last_name)s added!" msgstr "%(first_name)s %(last_name)s adicionado!" -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s leitura adicionada!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s leitura para %(child)s actualizada." - -#: core/views.py:483 -#, python-format +#: core/views.py:478 msgid "%(timer)s stopped." msgstr "%(timer)s parado." -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Todos os temporizadores inactivos foram apagados." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Não foram encontrados temporizadores activos." - #: dashboard/templates/cards/diaperchange_last.html:6 msgid "Last Diaper Change" msgstr "Última Mudança de Fralda" -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
%(since)s atrás
%(time)s" +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s atrás" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Nunca" #: dashboard/templates/cards/diaperchange_types.html:14 msgid "Past Week" @@ -1804,29 +1125,18 @@ msgstr "molhado" msgid "solid" msgstr "sólido" +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "hoje" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "ontem" + #: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format msgid "%(key)s days ago" msgstr "%(key)s dias atrás" -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Alimentações de Hoje" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s entradas de sono" -msgstr[1] "%(count)s entradas de sono" - -#: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format -msgid "
%(since)s
" -msgstr "" - #: dashboard/templates/cards/feeding_last.html:6 msgid "Last Feeding" msgstr "Última Alimentação" @@ -1835,47 +1145,31 @@ msgstr "Última Alimentação" msgid "Last Feeding Method" msgstr "Último Método de Alimentação" -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "mais recente" +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Sono de Hoje" -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n)s alimentaçõe%(plural)s atrás" -msgstr[1] "%(n)s alimentaçõe%(plural)s atrás" +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Nenhum ainda hoje" -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Último Sono" +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s entradas de sono" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Último sono" #: dashboard/templates/cards/sleep_naps_day.html:6 msgid "Today's Naps" msgstr "Sestas de Hoje" #: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s sesta%(plural)s" -msgstr[1] "%(count)s sesta%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 -#, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Último Sono" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s entradas de sono" -msgstr[1] "%(count)s entradas de sono" +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s sesta%(plural)s" #: dashboard/templates/cards/statistics.html:7 msgid "Statistics" @@ -1885,29 +1179,19 @@ msgstr "Estatísticas" msgid "Not enough data" msgstr "Não há dados suficientes" -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "Não há dados ainda" - #: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s entradas de sono" -msgstr[1] "%(count)s entradas de sono" +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s temporizadores ativos %(plural)s" -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Iniciado por %(user)s às %(start)s" +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Iniciado por %(instance.user)s às %(start)s" #: dashboard/templates/cards/tummytime_day.html:6 msgid "Today's Tummy Time" msgstr "Tempo de Barriga para Baixo de Hoje" #: dashboard/templates/cards/tummytime_day.html:22 -#, python-format msgid "%(duration)s at %(end)s" msgstr "%(duration)s até %(end)s" @@ -1915,103 +1199,65 @@ msgstr "%(duration)s até %(end)s" msgid "Last Tummy Time" msgstr "Último tempo de Barriga para Baixo" -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Nunca" - #: dashboard/templates/dashboard/child_button_group.html:3 msgid "Child actions" msgstr "Acções da criança" -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Relatórios" +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Tipos de Mudança de Fralda" -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Média de duração das sestas" +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Tempos de vida das Fraldas" -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Média de sestas por dua" +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Durações das Alimentações (Média)" -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Média de duração dos sonos" +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Padrões de Sono" -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Média de tempo acordado" +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Totais de Sono" -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Alterações de peso por semana" - -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Alterações de peso por semana" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Weight change per week" -msgid "Head circumference change per week" -msgstr "Alterações de peso por semana" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Alterações de peso por semana" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Feeding frequency (past 3 days)" -msgid "Diaper change frequency (past 3 days)" -msgstr "Frequência de alimentação (últimos 3 dias)" - -#: dashboard/templatetags/cards.py:443 -#, fuzzy -#| msgid "Feeding frequency (past 2 weeks)" -msgid "Diaper change frequency (past 2 weeks)" -msgstr "Frequência de alimentação (últimas 2 semanas)" - -#: dashboard/templatetags/cards.py:449 +#: dashboard/templatetags/cards.py:420 msgid "Diaper change frequency" msgstr "Frequência da mudança de fralda" -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Frequência de alimentação (últimos 3 dias)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Frequência de alimentação (últimas 2 semanas)" - -#: dashboard/templatetags/cards.py:495 +#: dashboard/templatetags/cards.py:466 msgid "Feeding frequency" msgstr "Frequência de alimentação" -#: reports/graphs/bmi_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Peso" +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Média de duração das sestas" -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Quantidade da mudança de fralda" +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Média de sestas por dia" -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Quantidade da Mudança de Fralda" +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Média de duração dos sonos" -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Quantidade da Fralda" +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Média de tempo acordado" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Alterações de peso por semana" #: reports/graphs/diaperchange_lifetimes.py:35 msgid "Diaper Lifetimes" @@ -2033,16 +1279,6 @@ msgstr "Tipos de Mudança de Fralda" msgid "Number of changes" msgstr "Número de Mudanças de Fralda" -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Total de Alimentações" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Quantidade de alimentação" - #: reports/graphs/feeding_duration.py:38 msgid "Average duration" msgstr "Duração média" @@ -2063,35 +1299,13 @@ msgstr "Duração média (minutos)" msgid "Number of feedings" msgstr "Número de alimentações" -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Peso" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Pumping Amount" -msgstr "Total de Alimentações" - -#: reports/graphs/pumping_amounts.py:62 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amount" -msgstr "Quantidades de Alimentações" - -#: reports/graphs/sleep_pattern.py:150 +#: reports/graphs/sleep_pattern.py:148 msgid "Sleep Pattern" msgstr "Padrões de Sono" -#: reports/graphs/sleep_pattern.py:167 +#: reports/graphs/sleep_pattern.py:165 msgid "Time of day" -msgstr "Hora" +msgstr "Hora do dia" #: reports/graphs/sleep_totals.py:48 msgid "Total sleep" @@ -2105,43 +1319,147 @@ msgstr "Totais de Sono" msgid "Hours of sleep" msgstr "Horas de sono" -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "" - #: reports/graphs/weight_change.py:27 msgid "Weight" msgstr "Peso" -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Quantidade na Fralda" +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Média de Duração das Alimentações" -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Tempos de vida das Fraldas" +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Relatórios" -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Tipos de Mudança de Fralda" +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Não há dados suficientes para gerar o report." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Ambas as mamas" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Alemão" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Espanhol" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Sueco" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turco" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Não tem permissão para aceder a este recurso. Contacte o administrador do site para assitência" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Leitura de temperatura" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Aprenda e preveja as necessidades do(s) bebé(s) sem (muita) adivinhação utilizando o Baby Buddy para contorlar —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "À medida que o número de entradas aumenta, o Baby Buddy vai ajudar os pais e cuidadores a identificar pequenos padrões nos hábitos dos bebés, usando o painel e os gráficos. Baby Buddy é mobile-friendly e usa um tema escuro para ajudar mães e pais cansados com alimentações e mudanças de fralda às 2 da manhã. Para começar, simplesmente clique no botão abaixo para adicionar a sua primeira (ou segunda, ou terceira, etc.) criança!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Que chatice! As duas passwords não coincidem. Por favor tente novamente." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Se alguma conta existir com o seu e-mail, foram enviadas instruções para definir a sua password. Deverá recebê-lo em breve." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Se não receber um e-mail, por favor verifique o endereço com o qual se registou e a sua caixa de spam." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Insira o seu e-mail no formulário abaixo. Se o endereço for válido, receberá instruções para o reset da sua password." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Leite materno fortificado" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Apagar uma leitura de Temperatura" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Adicionar uma leitura de Temperatura" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Adicionar uma leitura de Temperatura" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Não foram encontradas registos de temperatura" + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s iniciado por %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s hora" +msgstr[1] "%(hours)s horas" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuto" +msgstr[1] "%(minutes)s minutos" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s segundo" +msgstr[1] "%(seconds)s segundos" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s entrada eliminada." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s leitura adicionada!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s leitura para %(child)s actualizada." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Iniciado por %(user)s às %(start)s" #: reports/templates/reports/feeding_amounts.html:4 #: reports/templates/reports/feeding_amounts.html:8 @@ -2149,57 +1467,694 @@ msgstr "Tipos de Mudança de Fralda" msgid "Feeding Amounts" msgstr "Quantidades de Alimentações" -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Média de Duração das Alimentações" +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Total de alimentação" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Total de Alimentações" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Quantidade de alimentação" #: reports/templates/reports/report_base.html:17 msgid "There is not enough data to generate this report." msgstr "Não há dados suficientes para gerar este relatório." -#: reports/templates/reports/report_list.html:10 -msgid "Body Mass Index (BMI)" -msgstr "" +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Fuso Horário" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Administrador da Base de Dados" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Adicionar Criança" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Adicionar Mudança de Fralda" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Adicionar Alimentação" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Adicionar Nota" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Adicionar Sono" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Adicionar Temperatura" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Apagar todos os temporizadores inactivos" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Apagar inactivo" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Tem a certeza que deseja eliminar %(number)s temporizadore%(plural)s inactivo%(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Apagar Temporizadores Inactivos" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Adicionar Tempo de Barriga para Baixo" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Adicionar Peso" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Todos os temporizadores inactivos foram apagados." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Não foram encontrados temporizadores activos." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "mais recente" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s alimentaçõe%(plural)s atrás" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Último Sono" #: reports/templates/reports/report_list.html:11 msgid "Diaper Change Amounts" msgstr "Quantidades na Mudança de Fralda" -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Durações das Alimentações (Média)" +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Quantidade da mudança de fralda" -#: reports/templates/reports/report_list.html:18 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amounts" -msgstr "Quantidades de Alimentações" +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Quantidade da Mudança de Fralda" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Padrões de Sono" +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Quantidade de mudanças" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Totais de Sono" +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Quantidade de Fraldas" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Se suportado pelo browser, o painel apenas será atualizado quando visível e também quando recever foco." + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Esconder Cartões Vazios do Painel" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Esconder dados anteriores a" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Esta definição controla que dados são mostrados no painel." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "mostrar todos os dados" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 dia" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 dias" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 dias" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 semana" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 semanas" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Holandês" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Finlandês" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italiano" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Polaco" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Português" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Linha temporal" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Comida sólida" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Alimentado pelos pais" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Alimentado(a) por si próprio(a)" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Conteúdo" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Reiniciar temporizador" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Apagar temporizador" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "Hoje" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 dias" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Quantidade: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Conteúdo: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s atrás
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Alimentações de Hoje" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s entradas de alimentação" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Não há dados ainda" #: reports/templates/reports/report_list.html:21 msgid "Tummy Time Durations (Sum)" -msgstr "" +msgstr "Duração do tempo de barriga (Soma)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Editar" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Frequência de alimentação (últimos 3 dias)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Frequência de alimentação (últimas 2 semanas)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Duração total" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Número de sessões" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Duranção do tempo de barriga" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Duração Total (minutos)" #: reports/templates/reports/tummytime_duration.html:4 #: reports/templates/reports/tummytime_duration.html:8 msgid "Total Tummy Time Durations" +msgstr "Duranção do tempo de barriga" + +#: babybuddy/settings/base.py:169 +#, fuzzy +msgid "English (US)" +msgstr "Inglês" + +#: babybuddy/settings/base.py:170 +#, fuzzy +msgid "English (UK)" +msgstr "Inglês" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "Medidas" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +#, fuzzy +msgid "Height" +msgstr "Altura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +#, fuzzy +msgid "Height entry" +msgstr "Registo Altura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "Circunferência da Cabeça" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "Registo Circunferência da Cabeça" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "Índice de Massa Corporal" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +#, fuzzy +msgid "BMI entry" +msgstr "Registo Índice de Massa Corporal" + +#: core/models.py:452 +msgid "Napping" +msgstr "Dormir" + +#: core/templates/core/bmi_confirm_delete.html:4 +#, fuzzy +msgid "Delete a BMI Entry" +msgstr "Apagar um registo de Índice de Massa Corporal" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +#, fuzzy +msgid "Add a BMI Entry" +msgstr "Adicionar um registo de Índice de Massa Corporal" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "Adicionar Índice de Massa Corporal" + +#: core/templates/core/bmi_list.html:70 +#, fuzzy +msgid "No bmi entries found." +msgstr "Não foram encontrados registos de Índice de Massa Corporal." + +#: core/templates/core/head_circumference_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Head Circumference Entry" +msgstr "Apagar um registo da Circunferência da Cabeça" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +#, fuzzy +msgid "Add a Head Circumference Entry" +msgstr "Adicionar um registo da Circunferência da Cabeça" + +#: core/templates/core/head_circumference_list.html:15 +msgid "Add Head Circumference" +msgstr "Adicionar Circunferência da Cabeça" + +#: core/templates/core/head_circumference_list.html:70 +#, fuzzy +msgid "No head circumference entries found." +msgstr "Não foram encontrados registos da Circunferência da Cabeça" + +#: core/templates/core/height_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Height Entry" +msgstr "Apagar um registo de Peso" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +#, fuzzy +msgid "Add a Height Entry" +msgstr "Adicionar um registo de Peso" + +#: core/templates/core/height_list.html:15 +#, fuzzy +msgid "Add Height" +msgstr "Adicionar Peso" + +#: core/templates/core/height_list.html:70 +#, fuzzy +msgid "No height entries found." +msgstr "Não foram encontrados registos de peso." + +#: core/templates/timeline/_timeline.html:44 +#, fuzzy +msgid "Duration: %(duration)s" +msgstr "Duração: %(duration)s" + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "%(since)s desde o anterior" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "Sem eventos" + +#: core/timeline.py:185 +#, fuzzy +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s mudou a fralda %(type)s." + +#: dashboard/templatetags/cards.py:372 +#, fuzzy +msgid "Height change per week" +msgstr "Alterações de peso por semana" + +#: dashboard/templatetags/cards.py:382 +#, fuzzy +msgid "Head circumference change per week" +msgstr "Alterações da Circunferência da Cabeça por semana" + +#: dashboard/templatetags/cards.py:392 +#, fuzzy +msgid "BMI change per week" +msgstr "Alterações Índice de Massa Corporal por semana" + +#: reports/graphs/bmi_change.py:27 +#, fuzzy +msgid "BMI" +msgstr "Índice de Massa Corporal" + +#: reports/graphs/feeding_amounts.py:69 +#, fuzzy +msgid "Total Feeding Amount by Type" +msgstr "Total de Alimentações" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "Circunferência da Cabeça" + +#: reports/graphs/height_change.py:27 +#, fuzzy +msgid "Height" +msgstr "Peso" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "Chinês (Simplificado)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" msgstr "" -#~ msgid "Today's Sleep" -#~ msgstr "Sono de Hoje" +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "Como corrigir" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "Página não encontrada" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "Erro no servidor" + +#: babybuddy/templates/error/base.html:14 +#, fuzzy +msgid "Return to Baby Buddy" +msgstr "Bem-vindo ao Baby Buddy!" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "Proibido" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "Catalão" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +#, fuzzy +msgid "Pumping entry" +msgstr "Novo peso" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "Tag" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "Clica nas tags para adicionar (+) ou remover (-) tags ou use o editor de texto para criar novas tags." + +#: core/models.py:90 +#, fuzzy +msgid "Last used" +msgstr "Último Nome" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "Tags" + +#: core/templates/core/pumping_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Pumping Entry" +msgstr "Apagar uma entrada de Peso" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +#, fuzzy +msgid "Add a Pumping Entry" +msgstr "Adicionar uma entrada de Peso" + +#: core/templates/core/pumping_list.html:15 +#, fuzzy +msgid "Add Pumping Entry" +msgstr "Adicionar uma entrada de Peso" + +#: core/templates/core/pumping_list.html:66 +#, fuzzy +msgid "No pumping entries found." +msgstr "Não foram encontradas entradas de temporizador." + +#: core/templates/core/widget_tag_editor.html:22 +#, fuzzy +msgid "Tag name" +msgstr "Último nome" + +#: core/templates/core/widget_tag_editor.html:27 +msgid "Recently used:" +msgstr "Usado recentemente:" + +#: core/templates/core/widget_tag_editor.html:45 +msgctxt "Error modal" +msgid "Error" +msgstr "Erro" + +#: core/templates/core/widget_tag_editor.html:50 +msgctxt "Error modal" +msgid "An error ocurred." +msgstr "Ocorreu um Erro." + +#: core/templates/core/widget_tag_editor.html:51 +msgctxt "Error modal" +msgid "Invalid tag name." +msgstr "Tag inválida." + +#: core/templates/core/widget_tag_editor.html:52 +msgctxt "Error modal" +msgid "Failed to create tag." +msgstr "Falhou a criar a tag." + +#: core/templates/core/widget_tag_editor.html:53 +msgctxt "Error modal" +msgid "Failed to obtain tag data." +msgstr "Falhou a obter a tag." + +#: core/templates/core/widget_tag_editor.html:58 +msgctxt "Error modal" +msgid "Close" +msgstr "Fechar" + +#: dashboard/templates/cards/feeding_day.html:32 +msgid "
%(since)s
" +msgstr "
%(since)s
" + +#: dashboard/templatetags/cards.py:410 +#, fuzzy +msgid "Diaper change frequency (past 3 days)" +msgstr "Frequência de alimentação (últimos 3 dias)" + +#: dashboard/templatetags/cards.py:414 +#, fuzzy +msgid "Diaper change frequency (past 2 weeks)" +msgstr "Frequência de alimentação (últimas 2 semanas)" + +#: reports/graphs/pumping_amounts.py:57 +#, fuzzy +msgid "Total Pumping Amount" +msgstr "Total de Alimentações" + +#: reports/graphs/pumping_amounts.py:60 +#, fuzzy +msgid "Pumping Amount" +msgstr "Quantidades de Alimentações" + +#: reports/templates/reports/report_list.html:10 +msgid "Body Mass Index (BMI)" +msgstr "Índice de Massa Corporal (IMC)" + +#: reports/templates/reports/report_list.html:18 +#, fuzzy +msgid "Pumping Amounts" +msgstr "Quantidades de Alimentações" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Tem a certeza que deseja eliminar %(number)s temporizadore%(plural)s inactivo%(plural)s?" +msgstr[1] "Tem a certeza que deseja eliminar %(number)s temporizadore%(plural)s inactivo%(plural)s?" + +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s entradas de sono" +msgstr[1] "%(count)s entradas de sono" + +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n)s alimentaçõe%(plural)s atrás" +msgstr[1] "%(n)s alimentaçõe%(plural)s atrás" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s sesta%(plural)s" +msgstr[1] "%(count)s sesta%(plural)s" + +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s entradas de sono" +msgstr[1] "%(count)s entradas de sono" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s entradas de sono" From b07440511061ff14b618388f0c133e2e03910ad8 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:56 -0700 Subject: [PATCH 22/39] Update django.mo (POEditor.com) --- locale/es/LC_MESSAGES/django.mo | Bin 25713 -> 29573 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo index 178ed4d96bcfe809b3e2f0ec28d91f9acdcbd7c9..09d6c80c149c83ec8b3d0994fa2e3126445aaa69 100644 GIT binary patch delta 10756 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 delta 8689 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 From d74aaaf3ee4788e7ef113f311a13fe6443068ee4 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:57 -0700 Subject: [PATCH 23/39] Update django.po (POEditor.com) --- locale/es/LC_MESSAGES/django.po | 2637 +++++++++++++++---------------- 1 file changed, 1244 insertions(+), 1393 deletions(-) diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index ef4a07aa..587f08fe 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Configuración" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,12 +29,8 @@ msgid "Refresh rate" msgstr "Tasa de refresco" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Si el navegador lo soporta, el dashboard sólo se refrescará cuando esté " -"visible y recibiendo el foco." +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Este parámetro solo será utilizado en caso de que tu navegador no soporte la opción de refrescar al hacer foco." #: babybuddy/models.py:28 msgid "disabled" @@ -74,116 +68,31 @@ msgstr "15 min." msgid "30 min." msgstr "30 min." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Ocultar tarjetas vacías del dashboard" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Ocultar datos más antiguos que" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "Esta configuración ajusta que datos serán mostrados en el dashboard." - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "mostrar todos los datos" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 día" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 días" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 días" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1 semana" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 semanas" - #: babybuddy/models.py:63 msgid "Language" msgstr "Idioma" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Zona horaria" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "Configuración de {user}" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "Catalán" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "Chino (simplificado)" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Neerlandés" - -#: babybuddy/settings/base.py:169 -msgid "English (US)" -msgstr "Inglés (EE.UU.)" - -#: babybuddy/settings/base.py:170 -msgid "English (UK)" -msgstr "Inglés (RU)" +#: babybuddy/settings/base.py:171 +msgid "English" +msgstr "Inglés" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Francés" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Finlandés" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Acceso denegado" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Alemán" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "Italiano" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "Polaco" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "Portugués" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "Español" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "Sueco" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Turco" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Administrar Base de Datos" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "No tienes permiso para acceder a este recurso.\n" +"Contacta con un administrador si necesitas asistencia." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -208,36 +117,32 @@ msgstr "Enviar" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Error: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Error: Algunos campos contienen errores. Mira más abajo " -"para más detalles." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Error: Algunos campos contienen errores. Mira más abajo para más detalles. " -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Cambio de Pañal" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Toma" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Nota" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -247,8 +152,8 @@ msgstr "Nota" msgid "Sleep" msgstr "Sueño" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -260,15 +165,24 @@ msgstr "Sueño" msgid "Tummy Time" msgstr "Tiempo boca abajo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "Cronología" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Peso" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -278,7 +192,7 @@ msgstr "Cronología" msgid "Children" msgstr "Niños" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -297,7 +211,7 @@ msgstr "Niños" msgid "Child" msgstr "Niño" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -306,112 +220,24 @@ msgstr "Niño" msgid "Notes" msgstr "Notas" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "Mediciones" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "IMC" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -msgid "BMI entry" -msgstr "Entrada de IMC" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "Perímetro craneal" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "Entrada de perímetro craneal" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -msgid "Height" -msgstr "Altura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -msgid "Height entry" -msgstr "Entrada de altura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Lectura de temperatura" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Peso" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Introducir peso" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Actividades" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Cambios" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Cambio" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -421,31 +247,15 @@ msgstr "Cambio" msgid "Feedings" msgstr "Tomas" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "Extracciones" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -msgid "Pumping entry" -msgstr "Entrada de extracción" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Entrada de sueño" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Entrada de tiempo boca abajo" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -453,23 +263,23 @@ msgstr "Entrada de tiempo boca abajo" msgid "User" msgstr "Usuario" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Contraseña" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Cerrar sesión" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Sitio" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "Navegador API" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -477,15 +287,19 @@ msgstr "Navegador API" msgid "Users" msgstr "Usuarios" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Administrar Backend" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Soporte" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Código Fuente" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chat / Soporte" @@ -496,7 +310,6 @@ msgstr "Chat / Soporte" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Anterior" @@ -508,7 +321,6 @@ msgstr "Anterior" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Siguiente" @@ -564,13 +376,8 @@ msgstr "Eliminar" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

¿Estás seguro de querer eliminar %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

¿Estás seguro de querer eliminar %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -626,7 +433,6 @@ msgstr "Actualizar" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Actualizar %(object)s

" @@ -656,7 +462,7 @@ msgstr "Activo" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -694,6 +500,11 @@ msgstr "Cambiar Contraseña" msgid "User Settings" msgstr "Configuración del Usuario" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Error: Algunos campos contienen errores. Mira más abajo para más detalles." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Perfil del Usuario" @@ -720,12 +531,10 @@ msgid "Welcome to Baby Buddy!" msgstr "¡Bienvenido a Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Aprende a predecir las necesidades de tu bebé sin tener que adivinar " -"haciendo track con Baby Buddy —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Aprende y predice las necesidades de tu bebé sin\n" +" tener que adivinar (tanto) usando Baby Buddy —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -737,20 +546,19 @@ msgstr "" msgid "Diaper Changes" msgstr "Cambios de Pañal" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"A medida que el número de entradas crece, Baby Buddy ayudará a los padres y " -"cuidadores a identificar pequeños patrones y hábitos del bebé usando los " -"dashboards y gráficas. Baby Buddy funciona en el móvil y usa un tema oscuro " -"para ayudar a los padres y madres en las tomas y cambios de las 2 de la " -"mañana. Para comenzar, haz click en el botón y añade tu primer (o segundo, o " -"tercer) hijo!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "A medida que las entradas van aumentando, Baby Buddy ayudará\n" +" a padres y cuidadores a identificar pequeños patrones en los hábitos\n" +" del bebé usando las gráficas y el dashboard. Baby Buddy funciona en\n" +" el móvil y usa un tema oscuro para ayudar a las mamás y papás cansados\n" +" con las tomas y cambios de las 2 de la mañana. Para empezar, haz click\n" +" en el enlace más abajo para añadir tu primer (o segundo, tercero, etc.) hijo!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -758,57 +566,6 @@ msgstr "" msgid "Add a Child" msgstr "Añadir Niño" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "Petición incorrecta" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Acceso denegado" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"No tienes permisos para acceder a este recurso. Contacta con un " -"administrador si necesitas ayuda." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "Cómo arreglarlo" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, fuzzy, python-format -#| msgid "" -#| "Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -#| "environment variable. If multiple origins are required separate with " -#| "commas.\n" -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" -"Añade %(origin)s a la variable de entorno " -"CSRF_TRUSTED_ORIGINS. Si se requieren orígenes múltiples, " -"sepáralos por comas.\n" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "Página no encontrada" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "La ruta %(request_path)s no existe." - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "Error del servidor" - -#: babybuddy/templates/error/base.html:14 -msgid "Return to Baby Buddy" -msgstr "Volver a Baby Buddy" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Iniciar Sesión" @@ -833,12 +590,10 @@ msgstr "Iniciar Sesión" msgid "Password Reset" msgstr "Resetear Contraseña" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"¡Vaya! Las dos contraseñas no coinciden. Por favor, " -"inténtalo otra vez." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

¡Vaya! Las contraseñas no coinciden. Por favor, inténtalo de nuevo.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -853,73 +608,41 @@ msgstr "Resetear Contraseña" msgid "Reset Email Sent" msgstr "Correo de reseteo enviado" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Te hemos enviado por email las instrucciones para establecer tu contraseña, " -"si la cuenta que has introducido existe. Deberías recibirlo en breve." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no recibes el email, asegúrate de haber introducido la dirección de " -"correo con la que te has registrado y comprueba tu carpeta de spam." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Te hemos enviado instrucciones para configurar tu\n" +" contraseña, si la cuenta existe y coincide con el email introducido, \n" +" deberías recibirlas en breve.

\n" +"

Si no recibes el email, por favor comprueba que\n" +" has introducido el email con el que te has registrado y tu carpeta\n" +" de spam.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Contraseña Olvidada" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Introduce tu dirección de correo electrónico en el siguiente formulario. Si " -"la dirección es válida, recibirás instrucciones para respetar tu contraseña." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "Prohibido" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "Verificación CSRF fallida. Petición abortada." +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Introduce tu dirección de email en el siguiente \n" +" formulario. Si la direción es valida, recibirás las instrucciones\n" +" para resetear tu contraseña.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "¡Se ha añadido el usuario %(username)s!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "¡Se ha actualizado el usuario %(username)s!" #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Usuario {user} eliminado." @@ -935,22 +658,10 @@ msgstr "Regenerada clave API del usuario." msgid "Settings saved!" msgstr "¡Configuraciones guardadas!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "Etiqueta" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "El nombre no coincide con el nombre del niño." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" -"Haz click en las etiquetas para añadirlas (+) o eliminarlas (-). O usa el " -"editor de texto para crearlas nuevas." - #: core/models.py:28 msgid "Date can not be in the future." msgstr "La fecha no puede establecerse en el futuro." @@ -971,43 +682,6 @@ msgstr "Otra entrada coincide con el periodo de tiempo indicado." msgid "Date/time can not be in the future." msgstr "La fecha/hora no puede establecerse en el futuro." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Color" - -#: core/models.py:90 -msgid "Last used" -msgstr "Últimas usadas" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "Etiquetas" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Fecha" - #: core/models.py:163 msgid "First name" msgstr "Nombre" @@ -1062,11 +736,14 @@ msgstr "Verde" msgid "Yellow" msgstr "Amarillo" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Cantidad" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Color" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Se requiere mojado y/o sólido." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1092,14 +769,6 @@ msgstr "Leche de pecho" msgid "Formula" msgstr "Fórmula" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Leche de pecho fortificada" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Comida sólida" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Tipo" @@ -1116,25 +785,19 @@ msgstr "Pecho izquierdo" msgid "Right breast" msgstr "Pecho derecho" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Ambos pechos" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Comió con ayuda" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Comió solo" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Método" -#: core/models.py:452 -msgid "Napping" -msgstr "Siesteando" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Cantidad" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Solo se permite método \"botella\" para el tipo \"Fórmula\"." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1154,7 +817,6 @@ msgid "Timers" msgstr "Temporizadores" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Temporizador #{id}" @@ -1162,24 +824,21 @@ msgstr "Temporizador #{id}" msgid "Milestone" msgstr "Hito" -#: core/templates/core/bmi_confirm_delete.html:4 -msgid "Delete a BMI Entry" -msgstr "Eliminar una entrada de IMC" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -msgid "Add a BMI Entry" -msgstr "Añadir una entrada de IMC" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "Añadir IMC" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No bmi entries found." -msgid "No BMI entries found." -msgstr "No hay entradas de IMC." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Fecha" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1199,15 +858,15 @@ msgstr "Nacimiento" msgid "Age" msgstr "Edad" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Añadir Niño" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "hace %(since)s (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Fecha Nacimiento" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "No se ha encontrado ningún niño." @@ -1232,18 +891,14 @@ msgstr "Añadir un Cambio de Pañal" msgid "Add" msgstr "Añadir" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Añadir Cambio de Pañal" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "Contenidos" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "No se han encontrado cambios de pañal." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Añadir Cambio" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Eliminar una Toma" @@ -1257,10 +912,6 @@ msgstr "Actualizar una Toma" msgid "Add a Feeding" msgstr "Añadir una Toma" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Añadir Toma" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Cant." @@ -1269,6 +920,935 @@ msgstr "Cant." msgid "No feedings found." msgstr "No se han encontrado tomas." +#: core/templates/core/note_confirm_delete.html:4 +msgid "Delete a Note" +msgstr "Eliminar una Nota" + +#: core/templates/core/note_form.html:6 +msgid "Update a Note" +msgstr "Actualizar una Nota" + +#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 +msgid "Add a Note" +msgstr "Añadir una Nota" + +#: core/templates/core/note_list.html:64 +msgid "No notes found." +msgstr "No se han encontrado notas." + +#: core/templates/core/sleep_confirm_delete.html:4 +msgid "Delete a Sleep Entry" +msgstr "Eliminar Entrada de Sueño" + +#: core/templates/core/sleep_form.html:6 +msgid "Update a Sleep Entry" +msgstr "Actualizar Entrada de Sueño" + +#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 +msgid "Add a Sleep Entry" +msgstr "Añadir Entrada de Sueño" + +#: core/templates/core/sleep_list.html:25 +#: core/templates/core/timer_form.html:12 +#: core/templates/core/timer_list.html:24 +#: core/templates/core/tummytime_list.html:24 +msgid "Start" +msgstr "Inicio" + +#: core/templates/core/sleep_list.html:26 +#: core/templates/core/timer_list.html:30 +#: core/templates/core/tummytime_list.html:25 +msgid "End" +msgstr "Fin" + +#: core/templates/core/sleep_list.html:31 +msgid "Nap" +msgstr "Siesta" + +#: core/templates/core/sleep_list.html:74 +msgid "No sleep entries found." +msgstr "No se han encontrado entradas de sueño." + +#: core/templates/core/timer_confirm_delete.html:5 +msgid "Delete %(object)s" +msgstr "Eliminar %(object)s" + +#: core/templates/core/timer_detail.html:28 +msgid "Started" +msgstr "Iniciado" + +#: core/templates/core/timer_detail.html:30 +msgid "Stopped" +msgstr "Parado" + +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s creado por %(object.user)s" + +#: core/templates/core/timer_detail.html:63 +msgid "Timer actions" +msgstr "Acciones de temporizador" + +#: core/templates/core/timer_form.html:22 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 +msgid "Start Timer" +msgstr "Iniciar Temporizador" + +#: core/templates/core/timer_list.html:58 +msgid "No timer entries found." +msgstr "No se han encontrado temporizadores." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Iniciar Temporizador Rápido" + +#: core/templates/core/timer_nav.html:28 +msgid "View Timers" +msgstr "Ver Temporizadores" + +#: core/templates/core/timer_nav.html:32 +#: dashboard/templates/cards/timer_list.html:6 +msgid "Active Timers" +msgstr "Temporizadores Activos" + +#: core/templates/core/timer_nav.html:38 +#: dashboard/templates/cards/diaperchange_last.html:17 +#: dashboard/templates/cards/diaperchange_types.html:12 +#: dashboard/templates/cards/feeding_day.html:20 +#: dashboard/templates/cards/feeding_day.html:52 +#: dashboard/templates/cards/feeding_last.html:17 +#: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 +#: dashboard/templates/cards/sleep_last.html:17 +#: dashboard/templates/cards/sleep_naps_day.html:18 +#: dashboard/templates/cards/tummytime_day.html:14 +msgid "None" +msgstr "Ninguno" + +#: core/templates/core/tummytime_confirm_delete.html:4 +msgid "Delete a Tummy Time Entry" +msgstr "Eliminar entrada de Tiempo Boca Abajo" + +#: core/templates/core/tummytime_form.html:6 +msgid "Update a Tummy Time Entry" +msgstr "Actualizar entrada de Tiempo Boca Abajo" + +#: core/templates/core/tummytime_form.html:8 +#: core/templates/core/tummytime_form.html:27 +msgid "Add a Tummy Time Entry" +msgstr "Añadir entrada de Tiempo Boca Abajo" + +#: core/templates/core/tummytime_list.html:67 +msgid "No tummy time entries found." +msgstr "No se han encontrado entradas de tiempo boca abajo." + +#: core/templates/core/weight_confirm_delete.html:4 +msgid "Delete a Weight Entry" +msgstr "Eliminar Entrada de Peso" + +#: core/templates/core/weight_form.html:8 +#: core/templates/core/weight_form.html:17 +#: core/templates/core/weight_form.html:27 +msgid "Add a Weight Entry" +msgstr "Añadir Entrada de Peso" + +#: core/templates/core/weight_list.html:70 +msgid "No weight entries found." +msgstr "No se han encontrado entradas de peso." + +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s ha tenido un cambio de pañal." + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s ha empezado una toma." + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s ha finalizado una toma." + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s se ha dormido." + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s se ha despertado." + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "¡%(child)s ha empezado tiempo boca abajo!" + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s ha finalizado tiempo boca abajo." + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "¡Entrada de %(model)s para %(child)s añadida!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "¡Entrada de %(model)s añadida!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "Entrada de %(model)s para %(child)s actualizada." + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "%(model)s entrada actualizada." + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "¡%(first_name)s %(last_name)s añadido!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s parado." + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "Último Cambio Pañal" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "hace %(time)s" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Nunca" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "Última semana" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "mojado" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "sólido" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "hoy" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "ayer" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "hace %(key)s días" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Última Toma" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Último Método de Toma" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Sueño Hoy" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Ninguno hoy todavía" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s entradas de sueño" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Último Sueño" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Siestas de Hoy" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s siesta%(plural)s" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "Estadísticas" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "No hay suficientes datos" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s temporizador%(plural)s activo%(plural)s" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Iniciado por %(instance.user)s a las %(start)s" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Tiempo Boca Abajo Hoy" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(duration)s en %(end)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "Último Tiempo Boca Abajo" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Acciones de niño" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Tipos de Cambio de Pañal" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Duración Pañal" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Duración de Tomas (Media)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Patrón de Sueño" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Totales de Sueño" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Frecuencia de cambio de pañal" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Frecuencia de tomas" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Duración media siesta" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Media de siestas por día" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Duración media sueño" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Duración media despierto" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Cambio de peso por semana" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Duración Pañal" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Tiempo entre cambios (horas)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Total" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Tipo de Cambio de Pañal" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Número de cambios" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Duración media" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Total de tomas" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Duración Media Tomas" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Duración media (minutos)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Número de tomas" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "

Patrón de Sueño

" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Hora del día" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Sueño total" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Totales de Sueño" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Horas de sueño" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Peso" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Duración Media Tomas" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Reportes" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "No hay suficientes datos para generar este reporte." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Ambos pechos" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Alemán" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Español" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Sueco" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turco" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "No tienes permisos para acceder a este recurso. Contacta con un administrador si necesitas ayuda." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Lectura de temperatura" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Aprende a predecir las necesidades de tu bebé sin tener que adivinar haciendo track con Baby Buddy —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "A medida que el número de entradas crece, Baby Buddy ayudará a los padres y cuidadores a identificar pequeños patrones y hábitos del bebé usando los dashboards y gráficas. Baby Buddy funciona en el móvil y usa un tema oscuro para ayudar a los padres y madres en las tomas y cambios de las 2 de la mañana. Para comenzar, haz click en el botón y añade tu primer (o segundo, o tercer) hijo!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "¡Vaya! Las dos contraseñas no coinciden. Por favor, inténtalo otra vez." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Te hemos enviado por email las instrucciones para establecer tu contraseña, si la cuenta que has introducido existe. Deberías recibirlo en breve." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Si no recibes el email, asegúrate de haber introducido la dirección de correo con la que te has registrado y comprueba tu carpeta de spam." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Introduce tu dirección de correo electrónico en el siguiente formulario. Si la dirección es válida, recibirás instrucciones para respetar tu contraseña." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Leche de pecho fortificada" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Eliminar Lectura de Temperatura" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Añadir Lectura de Temperatura" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Añadir Entrada de Temperatura" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "No se han encontrada registros de temperatura." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s creado por %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s hora" +msgstr[1] "%(hours)s horas" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minuto" +msgstr[1] "%(minutes)s minutos" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s segundo" +msgstr[1] "%(seconds)s segundos" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s entradas borradas." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s lectura añadida!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s lectura para %(child)s actualizada." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Iniciado por %(user)s el %(start)s" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Cantidad de Tomas" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Total cantidad toma" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Cantidad Total Tomas" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Cantidad toma" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "No hay suficientes datos para generar este informe." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Zona horaria" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Administrar Base de Datos" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Añadir Niño" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Añadir Cambio de Pañal" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Añadir Toma" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Añadir Nota" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Añadir Sueño" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Añadir Lectura de Temperatura" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Eliminar Todos los Temporizadores Inactivos" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Eliminar Inactivo" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "¿Está seguro de que desea eliminar %(number)s temporizador%(plural)s inactivo%(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Eliminar Temporizadores Inactivos" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Añadir Tiempo Boca Abajo" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Añadir Peso" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Todos los temporizadores inactivos eliminados." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "No hay temporizadores inactivos." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "más reciente" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "hace %(n)s toma%(plural)s" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Último sueño" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Cantidades de Cambio de Pañal" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Cantidad de Cambio de Pañal" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Cantidades de Cambio de Pañal" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Cambiar cantidad" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Cantidades de Pañal" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Si el navegador lo soporta, el dashboard sólo se refrescará cuando esté visible y recibiendo el foco." + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Ocultar tarjetas vacías del dashboard" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Ocultar datos más antiguos que" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Esta configuración ajusta que datos serán mostrados en el dashboard." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "mostrar todos los datos" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 día" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 días" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 días" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 semana" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 semanas" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Neerlandés" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Finlandés" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italiano" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Polaco" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portugués" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Cronología" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Comida sólida" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Comió con ayuda" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Comió solo" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Contenidos" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Reiniciar temporizador" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Eliminar temporizador" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "hoy" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 días" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Cantidad: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Contenidos: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
hace %(since)s
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Tomas de Hoy" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s entradas de tomas" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "No hay datos todavía" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "Tiempo Boca Abajo (Suma)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Editar" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Frecuenca de tomas (últimos 3 días)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Frecuenca de tomas (últimas 2 semanas)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Duración total" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Número de sesiones" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Tiempo Boca Abajo Total" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Duración total (minutos)" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "Duración Total Tiempo Boca Abajo" + +#: babybuddy/settings/base.py:169 +msgid "English (US)" +msgstr "Inglés (EE.UU.)" + +#: babybuddy/settings/base.py:170 +msgid "English (UK)" +msgstr "Inglés (RU)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "Mediciones" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "Altura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "Entrada de altura" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "Perímetro craneal" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "Entrada de perímetro craneal" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "IMC" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "Entrada de IMC" + +#: core/models.py:452 +msgid "Napping" +msgstr "Siesteando" + +#: core/templates/core/bmi_confirm_delete.html:4 +msgid "Delete a BMI Entry" +msgstr "Eliminar una entrada de IMC" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +msgid "Add a BMI Entry" +msgstr "Añadir una entrada de IMC" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "Añadir IMC" + +#: core/templates/core/bmi_list.html:70 +msgid "No bmi entries found." +msgstr "No hay entradas de IMC." + #: core/templates/core/head_circumference_confirm_delete.html:4 msgid "Delete a Head Circumference Entry" msgstr "Eliminar una entrada de perímetro craneal" @@ -1305,25 +1885,135 @@ msgstr "Añadir altura" msgid "No height entries found." msgstr "No hay entradas de altura." -#: core/templates/core/note_confirm_delete.html:4 -msgid "Delete a Note" -msgstr "Eliminar una Nota" +#: core/templates/timeline/_timeline.html:44 +msgid "Duration: %(duration)s" +msgstr "Duración: %(duration)s" -#: core/templates/core/note_form.html:6 -msgid "Update a Note" -msgstr "Actualizar una Nota" +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "%(since)s desde anterior" -#: core/templates/core/note_form.html:8 core/templates/core/note_form.html:27 -msgid "Add a Note" -msgstr "Añadir una Nota" +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "Sin eventos" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Añadir Nota" +#: core/timeline.py:185 +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s tuvo un cambio de pañal %(type)s." -#: core/templates/core/note_list.html:64 -msgid "No notes found." -msgstr "No se han encontrado notas." +#: dashboard/templatetags/cards.py:372 +msgid "Height change per week" +msgstr "Cambio de altura por semana" + +#: dashboard/templatetags/cards.py:382 +msgid "Head circumference change per week" +msgstr "Cambio de perímetro craneal por semana" + +#: dashboard/templatetags/cards.py:392 +msgid "BMI change per week" +msgstr "Cambio de IMC por semana" + +#: reports/graphs/bmi_change.py:27 +msgid "BMI" +msgstr "IMC" + +#: reports/graphs/feeding_amounts.py:69 +msgid "Total Feeding Amount by Type" +msgstr "Cantidad de tomas totales por tipo" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "Perímetro craneal" + +#: reports/graphs/height_change.py:27 +msgid "Height" +msgstr "Altura" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "Chino (simplificado)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "Petición incorrecta" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "Cómo arreglarlo" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "Añade %(origin)s a la variable de entorno CSRF_TRUSTED_ORIGINS. Si se requieren orígenes múltiples, sepáralos por comas.\n" +"" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "Página no encontrada" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "La ruta %(request_path)s no existe." + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "Error del servidor" + +#: babybuddy/templates/error/base.html:14 +msgid "Return to Baby Buddy" +msgstr "Volver a Baby Buddy" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "Prohibido" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "Verificación CSRF fallida. Petición abortada." + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "Catalán" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "Extracciones" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "Entrada de extracción" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "Etiqueta" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "Haz click en las etiquetas para añadirlas (+) o eliminarlas (-). O usa el editor de texto para crearlas nuevas." + +#: core/models.py:90 +msgid "Last used" +msgstr "Últimas usadas" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "Etiquetas" #: core/templates/core/pumping_confirm_delete.html:4 msgid "Delete a Pumping Entry" @@ -1343,203 +2033,6 @@ msgstr "Añadir extracción" msgid "No pumping entries found." msgstr "No se encontraron extracciones." -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Iniciar Temporizador Rápido" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Iniciar Temporizador Rápido" - -#: core/templates/core/sleep_confirm_delete.html:4 -msgid "Delete a Sleep Entry" -msgstr "Eliminar Entrada de Sueño" - -#: core/templates/core/sleep_form.html:6 -msgid "Update a Sleep Entry" -msgstr "Actualizar Entrada de Sueño" - -#: core/templates/core/sleep_form.html:8 core/templates/core/sleep_form.html:27 -msgid "Add a Sleep Entry" -msgstr "Añadir Entrada de Sueño" - -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Añadir Sueño" - -#: core/templates/core/sleep_list.html:25 -#: core/templates/core/timer_form.html:12 -#: core/templates/core/timer_list.html:24 -#: core/templates/core/tummytime_list.html:24 -msgid "Start" -msgstr "Inicio" - -#: core/templates/core/sleep_list.html:26 -#: core/templates/core/timer_list.html:30 -#: core/templates/core/tummytime_list.html:25 -msgid "End" -msgstr "Fin" - -#: core/templates/core/sleep_list.html:31 -msgid "Nap" -msgstr "Siesta" - -#: core/templates/core/sleep_list.html:74 -msgid "No sleep entries found." -msgstr "No se han encontrado entradas de sueño." - -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Eliminar Lectura de Temperatura" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Añadir Lectura de Temperatura" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Añadir Entrada de Temperatura" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Añadir Lectura de Temperatura" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "No se han encontrada registros de temperatura." - -#: core/templates/core/timer_confirm_delete.html:5 -#, python-format -msgid "Delete %(object)s" -msgstr "Eliminar %(object)s" - -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Eliminar Todos los Temporizadores Inactivos" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Eliminar Inactivo" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "" -"¿Está seguro de que desea eliminar %(number)s temporizador%(plural)s inactivo" -"%(plural)s?" -msgstr[1] "" -"¿Está seguro de que desea eliminar %(number)s temporizador%(plural)s inactivo" -"%(plural)s?" - -#: core/templates/core/timer_detail.html:28 -msgid "Started" -msgstr "Iniciado" - -#: core/templates/core/timer_detail.html:30 -msgid "Stopped" -msgstr "Parado" - -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s creado por %(user)s" - -#: core/templates/core/timer_detail.html:63 -msgid "Timer actions" -msgstr "Acciones de temporizador" - -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "Reiniciar temporizador" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Eliminar temporizador" - -#: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 -msgid "Start Timer" -msgstr "Iniciar Temporizador" - -#: core/templates/core/timer_list.html:58 -msgid "No timer entries found." -msgstr "No se han encontrado temporizadores." - -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Eliminar Temporizadores Inactivos" - -#: core/templates/core/timer_nav.html:20 -msgid "View Timers" -msgstr "Ver Temporizadores" - -#: core/templates/core/timer_nav.html:44 -#: dashboard/templates/cards/timer_list.html:6 -msgid "Active Timers" -msgstr "Temporizadores Activos" - -#: core/templates/core/timer_nav.html:50 -#: dashboard/templates/cards/diaperchange_last.html:17 -#: dashboard/templates/cards/diaperchange_types.html:12 -#: dashboard/templates/cards/feeding_day.html:20 -#: dashboard/templates/cards/feeding_day.html:52 -#: dashboard/templates/cards/feeding_last.html:17 -#: dashboard/templates/cards/feeding_last_method.html:43 -#: dashboard/templates/cards/sleep_last.html:17 -#: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 -#: dashboard/templates/cards/tummytime_day.html:14 -msgid "None" -msgstr "Ninguno" - -#: core/templates/core/tummytime_confirm_delete.html:4 -msgid "Delete a Tummy Time Entry" -msgstr "Eliminar entrada de Tiempo Boca Abajo" - -#: core/templates/core/tummytime_form.html:6 -msgid "Update a Tummy Time Entry" -msgstr "Actualizar entrada de Tiempo Boca Abajo" - -#: core/templates/core/tummytime_form.html:8 -#: core/templates/core/tummytime_form.html:27 -msgid "Add a Tummy Time Entry" -msgstr "Añadir entrada de Tiempo Boca Abajo" - -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Añadir Tiempo Boca Abajo" - -#: core/templates/core/tummytime_list.html:67 -msgid "No tummy time entries found." -msgstr "No se han encontrado entradas de tiempo boca abajo." - -#: core/templates/core/weight_confirm_delete.html:4 -msgid "Delete a Weight Entry" -msgstr "Eliminar Entrada de Peso" - -#: core/templates/core/weight_form.html:8 -#: core/templates/core/weight_form.html:17 -#: core/templates/core/weight_form.html:27 -msgid "Add a Weight Entry" -msgstr "Añadir Entrada de Peso" - -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Añadir Peso" - -#: core/templates/core/weight_list.html:70 -msgid "No weight entries found." -msgstr "No se han encontrado entradas de peso." - #: core/templates/core/widget_tag_editor.html:22 msgid "Tag name" msgstr "Etiqueta" @@ -1578,708 +2071,66 @@ msgctxt "Error modal" msgid "Close" msgstr "Cerrar" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "hace %(since)s (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, python-format -msgid "Duration: %(duration)s" -msgstr "Duración: %(duration)s" - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "%(since)s desde anterior" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Editar" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "Sin eventos" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "hoy" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 días" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "hoy" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "ayer" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "hace %(key)s días" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "¡%(child)s ha empezado tiempo boca abajo!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s ha finalizado tiempo boca abajo." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s se ha dormido." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s se ha despertado." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "Cantidad: %(amount).0f" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s ha empezado una toma." - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s ha finalizado una toma." - -#: core/timeline.py:185 -#, python-format -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s tuvo un cambio de pañal %(type)s." - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s hora" -msgstr[1] "%(hours)s horas" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s minuto" -msgstr[1] "%(minutes)s minutos" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s segundo" -msgstr[1] "%(seconds)s segundos" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "¡Entrada de %(model)s para %(child)s añadida!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "¡Entrada de %(model)s añadida!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "Entrada de %(model)s para %(child)s actualizada." - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "%(model)s entrada actualizada." - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s entradas borradas." - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "¡%(first_name)s %(last_name)s añadido!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s lectura añadida!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s lectura para %(child)s actualizada." - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s parado." - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Todos los temporizadores inactivos eliminados." - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "No hay temporizadores inactivos." - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "Último Cambio Pañal" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
hace %(since)s
%(time)s" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "Última semana" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "mojado" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "sólido" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "hace %(key)s días" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Tomas de Hoy" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s entradas de sueño" -msgstr[1] "%(count)s entradas de sueño" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "
%(since)s
" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Última Toma" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Último Método de Toma" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "más reciente" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "hace %(n)s toma%(plural)s" -msgstr[1] "hace %(n)s toma%(plural)s" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "Último sueño" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Siestas de Hoy" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s siesta%(plural)s" -msgstr[1] "%(count)s siesta%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 -#, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "Último sueño" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s entradas de sueño" -msgstr[1] "%(count)s entradas de sueño" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "Estadísticas" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "No hay suficientes datos" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "No hay datos todavía" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s temporizador%(plural)s activo%(plural)s" -msgstr[1] "%(count)s temporizador%(plural)s activo%(plural)s" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Iniciado por %(user)s el %(start)s" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Tiempo Boca Abajo Hoy" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(duration)s en %(end)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "Último Tiempo Boca Abajo" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Nunca" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Acciones de niño" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Reportes" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Duración media siesta" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Media de siestas por día" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Duración media sueño" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Duración media despierto" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Cambio de peso por semana" - -#: dashboard/templatetags/cards.py:401 -msgid "Height change per week" -msgstr "Cambio de altura por semana" - -#: dashboard/templatetags/cards.py:411 -msgid "Head circumference change per week" -msgstr "Cambio de perímetro craneal por semana" - -#: dashboard/templatetags/cards.py:421 -msgid "BMI change per week" -msgstr "Cambio de IMC por semana" - -#: dashboard/templatetags/cards.py:439 +#: dashboard/templatetags/cards.py:410 msgid "Diaper change frequency (past 3 days)" msgstr "Frecuencia de pañales (últimos 3 días)" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 msgid "Diaper change frequency (past 2 weeks)" msgstr "Frecuencia de pañales (últimas 2 semanas)" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Frecuencia de cambio de pañal" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Frecuenca de tomas (últimos 3 días)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Frecuenca de tomas (últimas 2 semanas)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Frecuencia de tomas" - -#: reports/graphs/bmi_change.py:27 -msgid "BMI" -msgstr "IMC" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Cantidad de Cambio de Pañal" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Cantidades de Cambio de Pañal" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Cambiar cantidad" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Duración Pañal" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Tiempo entre cambios (horas)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Total" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Tipo de Cambio de Pañal" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Número de cambios" - -#: reports/graphs/feeding_amounts.py:69 -msgid "Total Feeding Amount by Type" -msgstr "Cantidad de tomas totales por tipo" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Cantidad toma" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Duración media" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Total de tomas" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Duración Media Tomas" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Duración media (minutos)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Número de tomas" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "Perímetro craneal" - -#: reports/graphs/height_change.py:27 -msgid "Height" -msgstr "Altura" - -#: reports/graphs/pumping_amounts.py:59 +#: reports/graphs/pumping_amounts.py:57 msgid "Total Pumping Amount" msgstr "Cantidad total extraída" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 msgid "Pumping Amount" msgstr "Cantidad de extracción" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "

Patrón de Sueño

" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Hora del día" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Sueño total" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Totales de Sueño" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Horas de sueño" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "Duración total" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "Número de sesiones" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "Tiempo Boca Abajo Total" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "Duración total (minutos)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Peso" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Cantidades de Pañal" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Duración Pañal" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Tipos de Cambio de Pañal" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Cantidad de Tomas" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Duración Media Tomas" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "No hay suficientes datos para generar este informe." - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "Índice de Masa Corporal (IMC)" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Cantidades de Cambio de Pañal" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Duración de Tomas (Media)" - #: reports/templates/reports/report_list.html:18 msgid "Pumping Amounts" msgstr "Cantidad de extracciones" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Patrón de Sueño" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "¿Está seguro de que desea eliminar %(number)s temporizador%(plural)s inactivo%(plural)s?" +msgstr[1] "¿Está seguro de que desea eliminar %(number)s temporizador%(plural)s inactivo%(plural)s?" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Totales de Sueño" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s entradas de sueño" +msgstr[1] "%(count)s entradas de sueño" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "Tiempo Boca Abajo (Suma)" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "hace %(n)s toma%(plural)s" +msgstr[1] "hace %(n)s toma%(plural)s" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "Duración Total Tiempo Boca Abajo" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s siesta%(plural)s" +msgstr[1] "%(count)s siesta%(plural)s" -#~ msgid "Today's Sleep" -#~ msgstr "Sueño Hoy" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s temporizador%(plural)s activo%(plural)s" +msgstr[1] "%(count)s temporizador%(plural)s activo%(plural)s" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s entradas de sueño" - -#~ msgid "" -#~ "This setting will only be used when a browser does not support refresh on " -#~ "focus." -#~ msgstr "" -#~ "Este parámetro solo será utilizado en caso de que tu navegador no soporte " -#~ "la opción de refrescar al hacer foco." - -#~ msgid "English" -#~ msgstr "Inglés" - -#~ msgid "" -#~ "You do not have permission to access this resource.\n" -#~ " Contact a site administrator for assistance." -#~ msgstr "" -#~ "No tienes permiso para acceder a este recurso.\n" -#~ "Contacta con un administrador si necesitas asistencia." - -#~ msgid "" -#~ "Error: Some fields have errors. See below for details. " -#~ msgstr "" -#~ "Error: Algunos campos contienen errores. Mira más abajo " -#~ "para más detalles. " - -#~ msgid "Backend Admin" -#~ msgstr "Administrar Backend" - -#~ msgid "" -#~ "Learn about and predict baby's needs without\n" -#~ " (as much) guess work by using Baby Buddy to track " -#~ "—" -#~ msgstr "" -#~ "Aprende y predice las necesidades de tu bebé sin\n" -#~ " tener que adivinar (tanto) usando Baby Buddy —" - -#~ msgid "" -#~ "As the amount of entries grows, Baby Buddy will help\n" -#~ " parents and caregivers to identify small patterns in baby's " -#~ "habits\n" -#~ " using the dashboard and graphs. Baby Buddy is mobile-friendly " -#~ "and\n" -#~ " uses a dark theme to help weary moms and dads with 2AM " -#~ "feedings and\n" -#~ " changings. To get started, just click the button below to add " -#~ "your\n" -#~ " first (or second, third, etc.) child!" -#~ msgstr "" -#~ "A medida que las entradas van aumentando, Baby Buddy ayudará\n" -#~ " a padres y cuidadores a identificar pequeños patrones en los " -#~ "hábitos\n" -#~ " del bebé usando las gráficas y el dashboard. Baby Buddy " -#~ "funciona en\n" -#~ " el móvil y usa un tema oscuro para ayudar a las mamás y papás " -#~ "cansados\n" -#~ " con las tomas y cambios de las 2 de la mañana. Para empezar, " -#~ "haz click\n" -#~ " en el enlace más abajo para añadir tu primer (o segundo, " -#~ "tercero, etc.) hijo!" - -#~ msgid "" -#~ "

Oh snap! The\n" -#~ " two passwords did not match. Please try again.

" -#~ msgstr "" -#~ "

¡Vaya! Las contraseñas no coinciden. " -#~ "Por favor, inténtalo de nuevo.

" - -#~ msgid "" -#~ "

We've emailed you instructions for setting your\n" -#~ " password, if an account exists with the email you entered. " -#~ "You\n" -#~ " should receive them shortly.

\n" -#~ "

If you don't receive an email, please make sure " -#~ "you've\n" -#~ " entered the address you registered with, and check your spam\n" -#~ " folder.

" -#~ msgstr "" -#~ "

Te hemos enviado instrucciones para configurar tu\n" -#~ " contraseña, si la cuenta existe y coincide con el email " -#~ "introducido, \n" -#~ " deberías recibirlas en breve.

\n" -#~ "

Si no recibes el email, por favor comprueba " -#~ "que\n" -#~ " has introducido el email con el que te has registrado y tu " -#~ "carpeta\n" -#~ " de spam.

" - -#~ msgid "" -#~ "

Enter your account email address in the\n" -#~ " form below. If the address is valid, you will receive " -#~ "instructions for\n" -#~ " resetting your password.

" -#~ msgstr "" -#~ "

Introduce tu dirección de email en el siguiente \n" -#~ " formulario. Si la direción es valida, recibirás las " -#~ "instrucciones\n" -#~ " para resetear tu contraseña.

" - -#~ msgid "Wet and/or solid is required." -#~ msgstr "Se requiere mojado y/o sólido." - -#~ msgid "Only \"Bottle\" method is allowed with \"Formula\" type." -#~ msgstr "Solo se permite método \"botella\" para el tipo \"Fórmula\"." - -#~ msgid "Add a Change" -#~ msgstr "Añadir Cambio" - -#~ msgid "%(timer)s created by %(object.user)s" -#~ msgstr "%(timer)s creado por %(object.user)s" - -#~ msgid "%(child)s had a diaper change." -#~ msgstr "%(child)s ha tenido un cambio de pañal." - -#~ msgid "%(time)s ago" -#~ msgstr "hace %(time)s" - -#~ msgid "None yet today" -#~ msgstr "Ninguno hoy todavía" - -#~ msgid "Last Slept" -#~ msgstr "Último Sueño" - -#~ msgid "Started by %(instance.user)s at %(start)s" -#~ msgstr "Iniciado por %(instance.user)s a las %(start)s" - -#~ msgid "There is no enough data to generate this report." -#~ msgstr "No hay suficientes datos para generar este reporte." - -#~ msgid "Total feeding amount" -#~ msgstr "Total cantidad toma" - -#~ msgid "Total Feeding Amounts" -#~ msgstr "Cantidad Total Tomas" - -#~ msgid "Contents: %(contents)s" -#~ msgstr "Contenidos: %(contents)s" - -#~ msgid "%(count)s feeding entries" -#~ msgstr "%(count)s entradas de tomas" From a542552bf032a1a20b8fb8fdd090719d85e75515 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:58 -0700 Subject: [PATCH 24/39] Update django.mo (POEditor.com) --- locale/sv/LC_MESSAGES/django.mo | Bin 16428 -> 28667 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/sv/LC_MESSAGES/django.mo b/locale/sv/LC_MESSAGES/django.mo index d7835c20dd690f2f3cf7372a45ffdf0e0a28e433..642de6881abdc75b2668fbd0befe430813e6adce 100644 GIT binary patch literal 28667 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 WA^zU_nCH%~C0IZ0`*sx{4*oaAz}XJ~ delta 6624 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 From 2974fceaf2f57c77603c40807126b21f0f25ce19 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:16:59 -0700 Subject: [PATCH 25/39] Update django.po (POEditor.com) --- locale/sv/LC_MESSAGES/django.po | 2130 +++++++++++++++---------------- 1 file changed, 1032 insertions(+), 1098 deletions(-) diff --git a/locale/sv/LC_MESSAGES/django.po b/locale/sv/LC_MESSAGES/django.po index 277ac127..4c6f603e 100644 --- a/locale/sv/LC_MESSAGES/django.po +++ b/locale/sv/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Inställningar" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,10 +29,8 @@ msgid "Refresh rate" msgstr "Uppdateringsintervall" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Den här inställningen används endast när en webbläsare inte stöder uppdatering på fokus." #: babybuddy/models.py:28 msgid "disabled" @@ -72,120 +68,30 @@ msgstr "15 minuter." msgid "30 min." msgstr "30 minuter." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "" - #: babybuddy/models.py:63 msgid "Language" msgstr "Språk" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "{user}'s inställningar" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "Engelska" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "Engelska" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Franska" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Åtkomst nekad" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Du har inte behörighet att komma åt den här resursen. Kontakta webbplatsadministratören för hjälp." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -210,36 +116,32 @@ msgstr "Skicka" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Fel: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Fel: Vissa fält innehåller felaktigheter. Se nedan för " -"detaljer." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Error: Vissa fält innehåller fel. Se nedan för detaljer._" -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Blöjbyte" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Matning" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Anteckning" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -249,8 +151,8 @@ msgstr "Anteckning" msgid "Sleep" msgstr "Sömn" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -262,15 +164,24 @@ msgstr "Sömn" msgid "Tummy Time" msgstr "Magläge" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Vikt" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -280,7 +191,7 @@ msgstr "" msgid "Children" msgstr "Barn" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -299,7 +210,7 @@ msgstr "Barn" msgid "Child" msgstr "Barnet" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -308,118 +219,24 @@ msgstr "Barnet" msgid "Notes" msgstr "Anteckningar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -#, fuzzy -#| msgid "Sleep entry" -msgid "BMI entry" -msgstr "Sömninlägg" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Vikt" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -#, fuzzy -#| msgid "Weight entry" -msgid "Height entry" -msgstr "Viktinlägg" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Vikt" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Viktinlägg" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Aktiviteter" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Ändringar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Ändring" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -429,33 +246,15 @@ msgstr "Ändring" msgid "Feedings" msgstr "Matningar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Viktinlägg" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Sömninlägg" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Magläge-inlägg" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -463,23 +262,23 @@ msgstr "Magläge-inlägg" msgid "User" msgstr "Användare" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Lösenord" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Logga ut" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Sidan" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API-bläddrare" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -487,15 +286,19 @@ msgstr "API-bläddrare" msgid "Users" msgstr "Användare" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Systemadministration" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Support" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Källkod" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Chatt / Support" @@ -506,7 +309,6 @@ msgstr "Chatt / Support" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Föregående" @@ -518,7 +320,6 @@ msgstr "Föregående" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Nästa" @@ -574,13 +375,8 @@ msgstr "Ta bort" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Är du säker på att du vill ta bort %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Är du säker på att du vill ta bort %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -636,7 +432,6 @@ msgstr "Uppdatera" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Uppdatera %(object)s

" @@ -666,7 +461,7 @@ msgstr "Aktiv" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -704,6 +499,11 @@ msgstr "Byt lösenord" msgid "User Settings" msgstr "Användarinställningar" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Fel: Vissa fält innehåller felaktigheter. Se nedan för detaljer." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Användarprofil" @@ -730,12 +530,9 @@ msgid "Welcome to Baby Buddy!" msgstr "Välkommen till Baby Buddy!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Lär dig om och förutsäga barnets behov utan (så mycket) " -"gissningsarbete genom att använda Baby Buddy för att spåra —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Lär dig om och förutsäga barnets behov utan (så mycket) gissningsarbete genom att använda Baby Buddy för att spåra —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -747,20 +544,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Blöjbyten" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"När antalet inlägg ökar, hjälper Baby Buddy föräldrar och vårdgivare " -"identifierar små mönster i barnens vanormed hjälp av instrumentpanelen och " -"graferna. Baby Buddy är mobilvänlig och använder ett mörkt tema för att " -"hjälpa trötta mammor och pappor med kl02:00-matningar och blöjbyten. För att " -"komma igång, klicka bara på knappen nedan för att lägga till din första " -"(eller andra, tredje, etc.) barn!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "När antalet inlägg ökar, hjälper Baby Buddy föräldrar och vårdgivare identifierar små mönster i barnens vanormed hjälp av instrumentpanelen och graferna. Baby Buddy är mobilvänlig och använder ett mörkt tema för att hjälpa trötta mammor och pappor med kl02:00-matningar och blöjbyten. För att komma igång, klicka bara på knappen nedan för att lägga till din första (eller andra, tredje, etc.) barn!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -768,52 +559,6 @@ msgstr "" msgid "Add a Child" msgstr "Lägg till barn" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Åtkomst nekad" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Du har inte behörighet att komma åt den här resursen. Kontakta " -"webbplatsadministratören för hjälp." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Välkommen till Baby Buddy!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Logga in" @@ -838,11 +583,10 @@ msgstr "Logga in" msgid "Password Reset" msgstr "Återställ lösenord" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Ajdå! Lösenorden stämmer inte överens. Vänligen försök igen." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Ajdå! Lösenorden stämmer inte överens. Vänligen försök igen.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -857,73 +601,34 @@ msgstr "Återställ lösenord" msgid "Reset Email Sent" msgstr "E-post med lösenordsåterställning skickad" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Vi har mailat dig instruktioner för att ställa in ditt lösenord, om ett " -"konto finns med det e-postmeddelande du angav. Du bör få detta inom kort." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -" Om du inte får ett e-postmeddelande, se till att du har anget adressen du " -"registrerade med och kontrollera din skräppost mapp." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Vi har mailat dig instruktioner för att ställa in ditt lösenord, om ett konto finns med det e-postmeddelande du angav. Du bör få detta inom kort.

Om du inte får ett e-postmeddelande, se till att du har anget adressen du registrerade med och kontrollera din skräppost mapp. " #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Glömt lösenord" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Ange ditt kontos e-postadress i formuläret nedan. Om e-postadressen är " -"korrekt så skickar vi instruktioner för att återställa lösenordet." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Ange ditt kontos e-postadress i formuläret nedan. Om e-postadressen är korrekt så skickar vi instruktioner för att återställa lösenordet.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Användare %(username)s har lagts till!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Användare %(username)s uppdaterad." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Användare {user} borttagen." @@ -939,20 +644,10 @@ msgstr "Användare API-nyckel genererad." msgid "Settings saved!" msgstr "Inställningar sparade!" -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "Namnet stämmer inte överens med barnets namn." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Datum kan inte sättas i framtiden." @@ -973,45 +668,6 @@ msgstr "En annan post korsar den angivna tidsperioden." msgid "Date/time can not be in the future." msgstr "Datum / tid kan inte anges i framtiden." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Färg" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Efternamn" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Datum" - #: core/models.py:163 msgid "First name" msgstr "Förnamn" @@ -1066,11 +722,14 @@ msgstr "Grönt" msgid "Yellow" msgstr "Gult" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Mängd" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Färg" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Våt och / eller fast krävs." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1096,14 +755,6 @@ msgstr "Bröstmjölk" msgid "Formula" msgstr "Formula" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Bröstmjölk" - -#: core/models.py:286 -msgid "Solid food" -msgstr "" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Typ" @@ -1120,25 +771,19 @@ msgstr "Vänstra bröstet" msgid "Right breast" msgstr "Högra bröstet" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Båda brösten" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "" - -#: core/models.py:298 -msgid "Self fed" -msgstr "" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Metod" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Mängd" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "Endast \"Flask\" -metoden är tillåten med \"Formel\" -typ." #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1158,7 +803,6 @@ msgid "Timers" msgstr "Timers" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Timer #{id}" @@ -1166,28 +810,21 @@ msgstr "Timer #{id}" msgid "Milestone" msgstr "Milstolpe" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Radera sömn-inlägg" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Lägg till sömn-inlägg" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Inga timer-inlägg funna." +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Datum" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1195,8 +832,7 @@ msgstr "Radera ett barn" #: core/templates/core/child_confirm_delete.html:20 msgid "To confirm this action. Type the full name of the child below." -msgstr "" -"För att bekräfta denna åtgärd. Skriv hela barnets fullständiga namn nedan." +msgstr "För att bekräfta denna åtgärd. Skriv hela barnets fullständiga namn nedan." #: core/templates/core/child_detail.html:23 #: dashboard/templates/dashboard/dashboard.html:32 @@ -1208,15 +844,15 @@ msgstr "Född" msgid "Age" msgstr "Ålder" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s sedan (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Födelsedatum" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Inga barn funna." @@ -1241,18 +877,14 @@ msgstr "Lägg till blöjbyte" msgid "Add" msgstr "Lägg till" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Inga blöjbyten funna." +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Lägg till byte" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Radera matning" @@ -1266,10 +898,6 @@ msgstr "Uppdatera matning" msgid "Add a Feeding" msgstr "Lägg till matning" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Amt." @@ -1278,56 +906,6 @@ msgstr "Amt." msgid "No feedings found." msgstr "Ingen matning funnen." -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Tummy Time Entry" -msgid "Delete a Head Circumference Entry" -msgstr "Radera magtränings-inlägg" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Add a Temperature Entry" -msgid "Add a Head Circumference Entry" -msgstr "Lägg till sömn-inlägg" - -#: core/templates/core/head_circumference_list.html:15 -msgid "Add Head Circumference" -msgstr "" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Inga timer-inlägg funna." - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Radera viktinlägg" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Lägg till viktinlägg" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Height" -msgstr "Lägg till viktinlägg" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Inga viktinlägg funna." - #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" msgstr "Radera anteckning" @@ -1340,53 +918,10 @@ msgstr "Uppdatera anteckning" msgid "Add a Note" msgstr "Lägg till anteckning" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Inga anteckningar funna." -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Radera viktinlägg" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Lägg till viktinlägg" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Lägg till viktinlägg" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Inga timer-inlägg funna." - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Snabbstarta timer" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Snabbstarta timer" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" msgstr "Radera sömn-inlägg" @@ -1399,10 +934,6 @@ msgstr "Uppdatera sömn-inlägg" msgid "Add a Sleep Entry" msgstr "Lägg till sömn-inlägg" -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "" - #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 #: core/templates/core/timer_list.html:24 @@ -1424,47 +955,10 @@ msgstr "Tupplur" msgid "No sleep entries found." msgstr "Inga sömn-inlägg funna." -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Radera matning" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Lägg till matning" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Lägg till sömn-inlägg" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Inga timer-inlägg funna." - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Radera %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, python-format -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "" -msgstr[1] "" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Startad" @@ -1473,25 +967,16 @@ msgstr "Startad" msgid "Stopped" msgstr "Stoppad" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr " %(timer)s skapad av %(user)s" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr " %(timer)s skapad av %(object.user)s" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Timer-åtgärder" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Starta timer" @@ -1499,30 +984,30 @@ msgstr "Starta timer" msgid "No timer entries found." msgstr "Inga timer-inlägg funna." -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Snabbstarta timer" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Visa timers" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Aktiva timers" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Inga" @@ -1540,10 +1025,6 @@ msgstr "Update magtränings-inlägg" msgid "Add a Tummy Time Entry" msgstr "Lägg till magtränings-inlägg" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Inga magtränings-inlägg funna." @@ -1558,233 +1039,76 @@ msgstr "Radera viktinlägg" msgid "Add a Weight Entry" msgstr "Lägg till viktinlägg" -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "" - #: core/templates/core/weight_list.html:70 msgid "No weight entries found." msgstr "Inga viktinlägg funna." -#: core/templates/core/widget_tag_editor.html:22 -#, fuzzy -#| msgid "Last name" -msgid "Tag name" -msgstr "Efternamn" - -#: core/templates/core/widget_tag_editor.html:27 -msgid "Recently used:" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:45 -msgctxt "Error modal" -msgid "Error" -msgstr "" - -#: core/templates/core/widget_tag_editor.html:50 -msgctxt "Error modal" -msgid "An error ocurred." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:51 -msgctxt "Error modal" -msgid "Invalid tag name." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:52 -msgctxt "Error modal" -msgid "Failed to create tag." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:53 -msgctxt "Error modal" -msgid "Failed to obtain tag data." -msgstr "" - -#: core/templates/core/widget_tag_editor.html:58 -msgctxt "Error modal" -msgid "Close" -msgstr "" - -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s sedan (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Varaktigheten är för lång." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "idag" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "idag" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "igår" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s dagar sedan" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr " %(child)s startade magträningsläge!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s avslutade magträningsläge." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s somnade." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr " %(child)s vaknade upp." - -#: core/timeline.py:137 -#, python-format -msgid "Amount: %(amount).0f" -msgstr "" +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s har ett blöjbyte." #: core/timeline.py:145 -#, python-format msgid "%(child)s started feeding." msgstr "%(child)s började matas." #: core/timeline.py:158 -#, python-format msgid "%(child)s finished feeding." msgstr "%(child)s slutade matas." -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s har ett blöjbyte." +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s somnade." -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "" -msgstr[1] "" +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr " %(child)s vaknade upp." -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "" -msgstr[1] "" +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr " %(child)s startade magträningsläge!" -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "" -msgstr[1] "" +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s avslutade magträningsläge." #: core/views.py:33 -#, python-format msgid "%(model)s entry for %(child)s added!" msgstr "%(model)s inlägg för %(child)s tillagd!" #: core/views.py:35 core/views.py:308 -#, python-format msgid "%(model)s entry added!" msgstr "%(model)s inlägg tillagd!" #: core/views.py:61 core/views.py:316 -#, python-format msgid "%(model)s entry for %(child)s updated." msgstr "%(model)s inlägg för %(child)s uppdaterad." #: core/views.py:63 -#, python-format msgid "%(model)s entry updated." msgstr "%(model)s inlägg uppdaterad." -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s inlägg uppdaterad." - #: core/views.py:115 -#, python-format msgid "%(first_name)s %(last_name)s added!" msgstr "%(first_name)s %(last_name)s tillagd!" -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s inlägg tillagd!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(model)s inlägg för %(child)s uppdaterad." - -#: core/views.py:483 -#, python-format +#: core/views.py:478 msgid "%(timer)s stopped." msgstr "%(timer)s stoppad." -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "" - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "" - #: dashboard/templates/cards/diaperchange_last.html:6 msgid "Last Diaper Change" msgstr "Senaste blöjbyte" -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "" +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s sedan" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Aldrig" #: dashboard/templates/cards/diaperchange_types.html:14 msgid "Past Week" @@ -1798,29 +1122,18 @@ msgstr "våt" msgid "solid" msgstr "fast" +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "idag" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "igår" + #: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format msgid "%(key)s days ago" msgstr "%(key)s dagar sedan" -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s sömn-inlägg" -msgstr[1] "%(count)s sömn-inlägg" - -#: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format -msgid "
%(since)s
" -msgstr "" - #: dashboard/templates/cards/feeding_last.html:6 msgid "Last Feeding" msgstr "Senaste matning" @@ -1829,45 +1142,31 @@ msgstr "Senaste matning" msgid "Last Feeding Method" msgstr "Senaste matningsmetod" -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "" +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Sömn idag" -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(key)s days ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(key)s dagar sedan" -msgstr[1] "%(key)s dagar sedan" +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Ingen ännu idag" -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "" +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s sömn-inlägg" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Senaste sömn" #: dashboard/templates/cards/sleep_naps_day.html:6 msgid "Today's Naps" msgstr "Dagens tupplurer" #: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s tupplur%(plural)s" -msgstr[1] "%(count)s tupplur%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 -msgid "Recent Sleep" -msgstr "" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s sömn-inlägg" -msgstr[1] "%(count)s sömn-inlägg" +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s tupplur%(plural)s" #: dashboard/templates/cards/statistics.html:7 msgid "Statistics" @@ -1877,29 +1176,19 @@ msgstr "Statistik" msgid "Not enough data" msgstr "Otillräcklig data" -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "" - #: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s aktiv timer%(plural)s" -msgstr[1] "%(count)s aktiv timer%(plural)s" +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s aktiv timer%(plural)s" -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "Startad av %(user)s vid %(start)s" +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "Startad av %(instance.user)s vid %(start)s" #: dashboard/templates/cards/tummytime_day.html:6 msgid "Today's Tummy Time" msgstr "Dagens magträningstid" #: dashboard/templates/cards/tummytime_day.html:22 -#, python-format msgid "%(duration)s at %(end)s" msgstr "%(duration)s vid %(end)s" @@ -1907,103 +1196,65 @@ msgstr "%(duration)s vid %(end)s" msgid "Last Tummy Time" msgstr "Senaste magtränningstid" -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Aldrig" - #: dashboard/templates/dashboard/child_button_group.html:3 msgid "Child actions" msgstr "Barnåtgärder" -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Rapporter" +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Blöjbytes-typer" -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Genomsnittlig tupplurslängd" +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Blöjhållbarhet" -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Genomsnittlig mängd tupplurer per dag" +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Matningstid (Genomsnittlig)" -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Genomsnittlig sömnlängd" +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Sömnmönster" -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Genomsnittlig vakentid" +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Sömn totalt" -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Viktförändring per vecka" - -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Viktförändring per vecka" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Weight change per week" -msgid "Head circumference change per week" -msgstr "Viktförändring per vecka" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Viktförändring per vecka" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Diaper change frequency" -msgid "Diaper change frequency (past 3 days)" -msgstr "Blöjbytesfrekvens" - -#: dashboard/templatetags/cards.py:443 -#, fuzzy -#| msgid "Diaper change frequency" -msgid "Diaper change frequency (past 2 weeks)" -msgstr "Blöjbytesfrekvens" - -#: dashboard/templatetags/cards.py:449 +#: dashboard/templatetags/cards.py:420 msgid "Diaper change frequency" msgstr "Blöjbytesfrekvens" -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "" - -#: dashboard/templatetags/cards.py:495 +#: dashboard/templatetags/cards.py:466 msgid "Feeding frequency" msgstr "Matningsfrekvens" -#: reports/graphs/bmi_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Vikt" +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Genomsnittlig tupplurslängd" -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "" +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Genomsnittlig mängd tupplurer per dag" -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "" +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Genomsnittlig sömnlängd" -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "" +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Genomsnittlig vakentid" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Viktförändring per vecka" #: reports/graphs/diaperchange_lifetimes.py:35 msgid "Diaper Lifetimes" @@ -2025,16 +1276,6 @@ msgstr "Blöjbytestyper" msgid "Number of changes" msgstr "Antal byten" -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Genomsnittlig matningsvaraktighet" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Matning" - #: reports/graphs/feeding_duration.py:38 msgid "Average duration" msgstr "Genomsnittlig varaktighet" @@ -2055,33 +1296,11 @@ msgstr "Genomsnittlig varaktighet (minuter)" msgid "Number of feedings" msgstr "Antal matningar" -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Vikt" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Pumping Amount" -msgstr "Genomsnittlig matningsvaraktighet" - -#: reports/graphs/pumping_amounts.py:62 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amount" -msgstr "Matningar" - -#: reports/graphs/sleep_pattern.py:150 +#: reports/graphs/sleep_pattern.py:148 msgid "Sleep Pattern" msgstr "Sömnmönster" -#: reports/graphs/sleep_pattern.py:167 +#: reports/graphs/sleep_pattern.py:165 msgid "Time of day" msgstr "Tidpunkt på dygnet" @@ -2097,43 +1316,147 @@ msgstr "Total sömn" msgid "Hours of sleep" msgstr "Timmar av sömn" -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "" - #: reports/graphs/weight_change.py:27 msgid "Weight" msgstr "Vikt" -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "" +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Genomsnittlig matningsvaraktighet" -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Blöjhållbarhet" +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Rapporter" -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Blöjbytes-typer" +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Det finns inte tillräckligt med data för att generera denna rapport." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Båda brösten" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Tyska" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "Spanska" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "Svenska" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Turkiska" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Du har inte behörighet att komma åt den här resursen. Kontakta webbplatsadministratören för hjälp." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Temperatur" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Temperaturavläsning" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Lär dig om och förutsäga barnets behov utan (så mycket) gissningsarbete genom att använda Baby Buddy för att spåra —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "När antalet inlägg ökar, hjälper Baby Buddy föräldrar och vårdgivare identifierar små mönster i barnens vanormed hjälp av instrumentpanelen och graferna. Baby Buddy är mobilvänlig och använder ett mörkt tema för att hjälpa trötta mammor och pappor med kl02:00-matningar och blöjbyten. För att komma igång, klicka bara på knappen nedan för att lägga till din första (eller andra, tredje, etc.) barn!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Ajdå! Lösenorden stämmer inte överens. Vänligen försök igen." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Vi har mailat dig instruktioner för att ställa in ditt lösenord, om ett konto finns med det e-postmeddelande du angav. Du bör få detta inom kort." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr " Om du inte får ett e-postmeddelande, se till att du har anget adressen du registrerade med och kontrollera din skräppost mapp." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Ange ditt kontos e-postadress i formuläret nedan. Om e-postadressen är korrekt så skickar vi instruktioner för att återställa lösenordet." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Bröstmjölk" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Radera matning" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Lägg till matning" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Lägg till sömn-inlägg" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Inga timer-inlägg funna." + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr " %(timer)s skapad av %(user)s" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s timme" +msgstr[1] "%(hours)s timmar" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s minut" +msgstr[1] "%(minutes)s minuter" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s sekund" +msgstr[1] "%(seconds)s sekunder" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s inlägg uppdaterad." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s inlägg tillagd!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(model)s inlägg för %(child)s uppdaterad." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "Startad av %(user)s vid %(start)s" #: reports/templates/reports/feeding_amounts.html:4 #: reports/templates/reports/feeding_amounts.html:8 @@ -2141,57 +1464,668 @@ msgstr "Blöjbytes-typer" msgid "Feeding Amounts" msgstr "Matningar" -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Genomsnittlig matningsvaraktighet" +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Totalt antal matningar" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Genomsnittlig matningsvaraktighet" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Matning" #: reports/templates/reports/report_base.html:17 msgid "There is not enough data to generate this report." msgstr "Det finns inte tillräckligt med data för att generera denna rapport." -#: reports/templates/reports/report_list.html:10 -msgid "Body Mass Index (BMI)" -msgstr "" +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Tidszon" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Databas-administratör" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Lägg till Barn" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Lägg till Blöjbyte" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Lägg till Matning" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Lägg till Anteckning" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Lägg till Sömn" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Lägg till Temperaturavläsning" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Ta bort alla inaktiva timers" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Ta bort Inaktiva" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "Är du säker på att du vill ta bort %(number)s inaktiv timer%(plural)s?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Ta bort inaktiva timers" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Lägg till Magläge" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Lägg till Vikt" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Alla inaktiva timers har tagits bort." + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Det finns inga inaktiva timers." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "senaste" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n)s matning%(plural)s sedan" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "Senast sömn" #: reports/templates/reports/report_list.html:11 msgid "Diaper Change Amounts" -msgstr "" +msgstr "Blöjbytesmängd" -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Matningstid (Genomsnittlig)" +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Blöjbytesmängd" -#: reports/templates/reports/report_list.html:18 -#, fuzzy -#| msgid "Feeding Amounts" -msgid "Pumping Amounts" -msgstr "Matningar" +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Blöjbytesmängd" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Sömnmönster" +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Förändringsmängd" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Sömn totalt" +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Blöjmängd" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Om webbläsaren stöder det så kommer instrumentbrädan enbart uppdateras när den är synlig och när den är i fokus." + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Göm tomma kort på instrumentbrädan" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Göm data äldre än" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Den här inställningen styr vilket data som kommer att visas på instrumentbrädan." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "Visa all data" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 dag" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 dagar" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 dagar" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 vecka" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 veckor" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Nederländska" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Finska" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "Italienska" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Polska" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portugisiska" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Tidslinje" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Fast föda" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Föräldramatad" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Självmatad" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "Innehåll" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Starta om timer" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Ta bort timer" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "Idag" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 dagar" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Mängd: %(amount).0f" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "Innehåll: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s sedan
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Dagens Matning" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count)s matnings-tillägg" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Ingen data än" #: reports/templates/reports/report_list.html:21 msgid "Tummy Time Durations (Sum)" -msgstr "" +msgstr "Magläge varaktighet (Totalt)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Ändra" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Matningsfrekvens (senaste 3 dagarna)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Matningsfrekvens (senaste 2 veckorna)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Total varaktighet" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Antal sessioner" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Total varaktighet för magläge" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Total varaktighet (minuter)" #: reports/templates/reports/tummytime_duration.html:4 #: reports/templates/reports/tummytime_duration.html:8 msgid "Total Tummy Time Durations" -msgstr "" +msgstr "Total varaktighet för magläge" -#~ msgid "Today's Sleep" -#~ msgstr "Sömn idag" +#: babybuddy/settings/base.py:169 +msgid "English (US)" +msgstr "Engelska (USA)" + +#: babybuddy/settings/base.py:170 +msgid "English (UK)" +msgstr "Engelska (Storbritannien)" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "Mätningar" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +msgid "Height" +msgstr "Längd" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +msgid "Height entry" +msgstr "Längd-inlägg" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "Omkrets Huvud" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "Huvudomkrets-tillägg" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "BMI" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +msgid "BMI entry" +msgstr "BMI-inlägg" + +#: core/models.py:452 +msgid "Napping" +msgstr "Tupplur" + +#: core/templates/core/bmi_confirm_delete.html:4 +msgid "Delete a BMI Entry" +msgstr "Radera ett BMI-inlägg" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +msgid "Add a BMI Entry" +msgstr "Lägg till ett BMI-inlägg" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "Lägg till BMI" + +#: core/templates/core/bmi_list.html:70 +msgid "No bmi entries found." +msgstr "Inga BMI-inlägg hittade." + +#: core/templates/core/head_circumference_confirm_delete.html:4 +msgid "Delete a Head Circumference Entry" +msgstr "Radera huvudomkrets-inlägg" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +msgid "Add a Head Circumference Entry" +msgstr "Lägg till huvudomkrets-inlägg" + +#: core/templates/core/head_circumference_list.html:15 +msgid "Add Head Circumference" +msgstr "Lägg till omkrets för huvud" + +#: core/templates/core/head_circumference_list.html:70 +msgid "No head circumference entries found." +msgstr "Inga huvudomkrets-inlägg funna." + +#: core/templates/core/height_confirm_delete.html:4 +msgid "Delete a Height Entry" +msgstr "Radera längd-inlägg" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +msgid "Add a Height Entry" +msgstr "Lägg till längd-inlägg" + +#: core/templates/core/height_list.html:15 +msgid "Add Height" +msgstr "Lägg till längd" + +#: core/templates/core/height_list.html:70 +msgid "No height entries found." +msgstr "Inga längd-inlägg funna." + +#: core/templates/timeline/_timeline.html:44 +msgid "Duration: %(duration)s" +msgstr "Varaktighet: %(duration)s" + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "%(since)s sedan senaste" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "Inga händelser" + +#: core/timeline.py:185 +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s hade ett %(type)s blöjbyte." + +#: dashboard/templatetags/cards.py:372 +msgid "Height change per week" +msgstr "Längdförändring per vecka" + +#: dashboard/templatetags/cards.py:382 +msgid "Head circumference change per week" +msgstr "Huvudomkretsförändring per vecka" + +#: dashboard/templatetags/cards.py:392 +msgid "BMI change per week" +msgstr "BMI-förändring per vecka" + +#: reports/graphs/bmi_change.py:27 +msgid "BMI" +msgstr "BMI" + +#: reports/graphs/feeding_amounts.py:69 +msgid "Total Feeding Amount by Type" +msgstr "Genomsnittlig matningsvaraktighet per typ" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "Huvudomkrets" + +#: reports/graphs/height_change.py:27 +msgid "Height" +msgstr "Längd" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "Kinesiska (förenklad)" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "Felaktig begäran" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "Lösning" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +#, fuzzy +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "Lägg till %(origin)s till CSRF_TRUSTED_ORIGINS miljö-variabel. Om flera källor behövs så separera de med kommatecken." + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "Sidan finns inte" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "Sökvägen %(request_path)s finns inte." + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "Server-fel" + +#: babybuddy/templates/error/base.html:14 +msgid "Return to Baby Buddy" +msgstr "Tillbaka till Baby Buddy" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "Förbjuden" + +#: babybuddy/views.py:44 +#, fuzzy +msgid "CSRF verification failed. Request aborted." +msgstr "CSRF-bekräftelse misslyckades. Begäran avbruten." + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "Katalanska" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "Pumpning" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +msgid "Pumping entry" +msgstr "Pumpnings-inlägg" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +#, fuzzy +msgid "Tag" +msgstr "Märke" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "Klicka på märkena för att lägga till (+) eller ta bort (-) eller använd en text-editor för att lägga till nya märken." + +#: core/models.py:90 +msgid "Last used" +msgstr "Senast använd" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +#, fuzzy +msgid "Tags" +msgstr "Märken" + +#: core/templates/core/pumping_confirm_delete.html:4 +msgid "Delete a Pumping Entry" +msgstr "Radera pumpnings-inlägg" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +msgid "Add a Pumping Entry" +msgstr "Lägg till ett pumpnings-inlägg" + +#: core/templates/core/pumping_list.html:15 +msgid "Add Pumping Entry" +msgstr "Lägg till pumpnings-inlägg" + +#: core/templates/core/pumping_list.html:66 +msgid "No pumping entries found." +msgstr "Inga pumpnings-inlägg funna." + +#: core/templates/core/widget_tag_editor.html:22 +#, fuzzy +msgid "Tag name" +msgstr "Märkesnamn" + +#: core/templates/core/widget_tag_editor.html:27 +msgid "Recently used:" +msgstr "Nyligen använda:" + +#: core/templates/core/widget_tag_editor.html:45 +msgctxt "Error modal" +msgid "Error" +msgstr "Fel" + +#: core/templates/core/widget_tag_editor.html:50 +msgctxt "Error modal" +msgid "An error ocurred." +msgstr "Ett fel inträffade." + +#: core/templates/core/widget_tag_editor.html:51 +#, fuzzy +msgctxt "Error modal" +msgid "Invalid tag name." +msgstr "Felaktigt märkesnamn." + +#: core/templates/core/widget_tag_editor.html:52 +#, fuzzy +msgctxt "Error modal" +msgid "Failed to create tag." +msgstr "Misslyckades med att skapa märke." + +#: core/templates/core/widget_tag_editor.html:53 +#, fuzzy +msgctxt "Error modal" +msgid "Failed to obtain tag data." +msgstr "Misslyckades med att hämta data för märke." + +#: core/templates/core/widget_tag_editor.html:58 +msgctxt "Error modal" +msgid "Close" +msgstr "Stäng" + +#: dashboard/templates/cards/feeding_day.html:32 +#, fuzzy +msgid "
%(since)s
" +msgstr "
%(since)s
" + +#: dashboard/templatetags/cards.py:410 +msgid "Diaper change frequency (past 3 days)" +msgstr "Blöjbytesfrekvens (senaste 3 dagarna)" + +#: dashboard/templatetags/cards.py:414 +msgid "Diaper change frequency (past 2 weeks)" +msgstr "Blöjbytesfrekvens (senaste 2 veckorna)" + +#: reports/graphs/pumping_amounts.py:57 +msgid "Total Pumping Amount" +msgstr "Genomsnittlig pumpningsmängd" + +#: reports/graphs/pumping_amounts.py:60 +msgid "Pumping Amount" +msgstr "Pumpningsmängd" + +#: reports/templates/reports/report_list.html:10 +msgid "Body Mass Index (BMI)" +msgstr "Kroppsmasseindex (BMI)" + +#: reports/templates/reports/report_list.html:18 +msgid "Pumping Amounts" +msgstr "Pumpningsmängder" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "Är du säker på att du vill ta bort %(number)s inaktiv timer?" +msgstr[1] "Är du säker på att du vill ta bort %(number)s inaktiva timers?" + +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s matning" +msgstr[1] "%(count)s matningar" + +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(key)s matning sedan" +msgstr[1] "%(key)s matningar sedan" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s tupplur" +msgstr[1] "%(count)s tupplurar" + +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s aktiv timer" +msgstr[1] "%(count)s aktiva timers" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s sömn-inlägg" From 51efb853711398363b5b474e9084e7c9b61752e2 Mon Sep 17 00:00:00 2001 From: Christopher Charbonneau Wells <10456740+cdubz@users.noreply.github.com> Date: Sat, 1 Oct 2022 08:17:00 -0700 Subject: [PATCH 26/39] Update django.mo (POEditor.com) --- locale/tr/LC_MESSAGES/django.mo | Bin 20538 -> 26298 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/tr/LC_MESSAGES/django.mo b/locale/tr/LC_MESSAGES/django.mo index 9ef16fe35525ae28abe9246b8893d42e45be9bbb..32e5f3d412ab843b9fa61541a3d8f2eb802aee7a 100644 GIT binary patch delta 9853 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 a1(U-P48=>$qIEN~2AcS~d8TgN;r|2Y@Pg$4 delta 7382 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 y Date: Sat, 1 Oct 2022 08:17:01 -0700 Subject: [PATCH 27/39] Update django.po (POEditor.com) --- locale/tr/LC_MESSAGES/django.po | 2433 +++++++++++++++---------------- 1 file changed, 1195 insertions(+), 1238 deletions(-) diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po index f5621100..5a272a30 100644 --- a/locale/tr/LC_MESSAGES/django.po +++ b/locale/tr/LC_MESSAGES/django.po @@ -1,22 +1,20 @@ msgid "" msgstr "" -"Project-Id-Version: Baby Buddy\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-30 21:13+0000\n" -"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: POEditor.com\n" +"Project-Id-Version: Baby Buddy\n" +"Language: tr\n" "Plural-Forms: nplurals=2; plural=(n>1);\n" #: babybuddy/admin.py:12 babybuddy/admin.py:13 -#: babybuddy/templates/babybuddy/nav-dropdown.html:324 +#: babybuddy/templates/babybuddy/nav-dropdown.html:347 #: babybuddy/templates/babybuddy/user_settings_form.html:8 msgid "Settings" msgstr "Ayarlar" -#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:89 +#: babybuddy/admin.py:17 babybuddy/templates/babybuddy/nav-dropdown.html:111 #: babybuddy/templates/babybuddy/user_settings_form.html:61 #: dashboard/templates/dashboard/child.html:4 #: dashboard/templates/dashboard/child.html:9 @@ -31,12 +29,8 @@ msgid "Refresh rate" msgstr "Yenileme hızı" #: babybuddy/models.py:21 -msgid "" -"If supported by browser, the dashboard will only refresh when visible, and " -"also when receiving focus." -msgstr "" -"Tarayıcı tarafından destekleniyorsa kontrol paneli sadece görünür olduğunda " -"ve ayrıca odaklandığında görünür" +msgid "This setting will only be used when a browser does not support refresh on focus." +msgstr "Bu ayar yalnızca odaklanmada yenilenmeyi desteklemeyen tarayıcıda kullanılır." #: babybuddy/models.py:28 msgid "disabled" @@ -74,121 +68,31 @@ msgstr "15 dk." msgid "30 min." msgstr "30 dk." -#: babybuddy/models.py:40 -msgid "Hide Empty Dashboard Cards" -msgstr "Boş Kontrol Paneli Kartlarını Gizle" - -#: babybuddy/models.py:43 -msgid "Hide data older than" -msgstr "Daha eski verileri gizle" - -#: babybuddy/models.py:45 -msgid "This setting controls which data will be shown in the dashboard." -msgstr "" -"Bu ayar, kontrol panelinde hangi verilerin gösterileceğini kontrol eder." - -#: babybuddy/models.py:51 -msgid "show all data" -msgstr "tüm veriyi göster" - -#: babybuddy/models.py:52 -msgid "1 day" -msgstr "1 gün" - -#: babybuddy/models.py:53 -msgid "2 days" -msgstr "2 gün" - -#: babybuddy/models.py:54 -msgid "3 days" -msgstr "3 gün" - -#: babybuddy/models.py:55 -msgid "1 week" -msgstr "1 hafta" - -#: babybuddy/models.py:56 -msgid "4 weeks" -msgstr "4 hafta" - #: babybuddy/models.py:63 msgid "Language" msgstr "Dil" -#: babybuddy/models.py:69 -msgid "Timezone" -msgstr "Saat dilimi" - #: babybuddy/models.py:73 -#, python-brace-format msgid "{user}'s Settings" msgstr "{user}'nın Ayarları" -#: babybuddy/settings/base.py:166 -msgid "Catalan" -msgstr "" - -#: babybuddy/settings/base.py:167 -msgid "Chinese (simplified)" -msgstr "" - -#: babybuddy/settings/base.py:168 -msgid "Dutch" -msgstr "Flemenkçe" - -#: babybuddy/settings/base.py:169 -#, fuzzy -#| msgid "English" -msgid "English (US)" -msgstr "İngilizce" - -#: babybuddy/settings/base.py:170 -#, fuzzy -#| msgid "English" -msgid "English (UK)" +#: babybuddy/settings/base.py:171 +msgid "English" msgstr "İngilizce" #: babybuddy/settings/base.py:171 msgid "French" msgstr "Fransızca" -#: babybuddy/settings/base.py:172 -msgid "Finnish" -msgstr "Fince" +#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 +msgid "Permission Denied" +msgstr "Erişim Engellendi" -#: babybuddy/settings/base.py:173 -msgid "German" -msgstr "Almanca" - -#: babybuddy/settings/base.py:174 -msgid "Italian" -msgstr "İtalyanca" - -#: babybuddy/settings/base.py:175 -msgid "Polish" -msgstr "Lehçe" - -#: babybuddy/settings/base.py:176 -msgid "Portuguese" -msgstr "Portekizce" - -#: babybuddy/settings/base.py:177 -msgid "Spanish" -msgstr "İspanyolca" - -#: babybuddy/settings/base.py:178 -msgid "Swedish" -msgstr "İsveççe" - -#: babybuddy/settings/base.py:179 -msgid "Turkish" -msgstr "Türkçe" - -#: babybuddy/templates/admin/base_site.html:4 -#: babybuddy/templates/admin/base_site.html:7 -#: babybuddy/templates/babybuddy/nav-dropdown.html:336 -msgid "Database Admin" -msgstr "Veritabanı Admin" +#: babybuddy/templates/403.html:12 +msgid "You do not have permission to access this resource.\n" +" Contact a site administrator for assistance." +msgstr "Bu kaynağa erişmek için izniniz yoktur.\n" +"Yardım için website yöneticisiyle iletişime geçin." #: babybuddy/templates/babybuddy/base.html:36 msgid "Home" @@ -213,36 +117,32 @@ msgstr "Gönder" #: babybuddy/templates/babybuddy/messages.html:18 #: babybuddy/templates/babybuddy/user_settings_form.html:19 -#, python-format msgid "Error: %(error)s" msgstr "Hata: %(error)s" #: babybuddy/templates/babybuddy/messages.html:23 -#: babybuddy/templates/babybuddy/user_settings_form.html:26 -msgid "Error: Some fields have errors. See below for details." -msgstr "" -"Hata: Bazı alanlarda hata var. Detaylar için aşağıya " -"bakınız." +msgid "Error: Some fields have errors. See below for details. " +msgstr "Hata: Bazı alanlarda hata var. Detaylar için aşağıya bakınız. " -#: babybuddy/templates/babybuddy/nav-dropdown.html:48 core/models.py:248 +#: babybuddy/templates/babybuddy/nav-dropdown.html:51 core/models.py:248 #: core/models.py:252 msgid "Diaper Change" msgstr "Bez Değişimi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:54 -#: babybuddy/templates/babybuddy/nav-dropdown.html:259 core/models.py:312 +#: babybuddy/templates/babybuddy/nav-dropdown.html:57 +#: babybuddy/templates/babybuddy/nav-dropdown.html:281 core/models.py:312 #: core/models.py:316 core/templates/core/timer_detail.html:43 msgid "Feeding" msgstr "Beslenme" -#: babybuddy/templates/babybuddy/nav-dropdown.html:60 -#: babybuddy/templates/babybuddy/nav-dropdown.html:135 core/models.py:396 +#: babybuddy/templates/babybuddy/nav-dropdown.html:63 +#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:396 #: core/models.py:407 core/models.py:411 core/templates/core/note_list.html:29 msgid "Note" msgstr "Not" -#: babybuddy/templates/babybuddy/nav-dropdown.html:66 -#: babybuddy/templates/babybuddy/nav-dropdown.html:280 +#: babybuddy/templates/babybuddy/nav-dropdown.html:69 +#: babybuddy/templates/babybuddy/nav-dropdown.html:288 #: babybuddy/templates/babybuddy/welcome.html:42 core/models.py:467 #: core/models.py:468 core/models.py:471 #: core/templates/core/sleep_confirm_delete.html:7 @@ -252,8 +152,8 @@ msgstr "Not" msgid "Sleep" msgstr "Uyku" -#: babybuddy/templates/babybuddy/nav-dropdown.html:72 -#: babybuddy/templates/babybuddy/nav-dropdown.html:293 +#: babybuddy/templates/babybuddy/nav-dropdown.html:81 +#: babybuddy/templates/babybuddy/nav-dropdown.html:301 #: babybuddy/templates/babybuddy/welcome.html:50 core/models.py:647 #: core/models.py:648 core/models.py:651 #: core/templates/core/timer_detail.html:59 @@ -265,15 +165,24 @@ msgstr "Uyku" msgid "Tummy Time" msgstr "Karın üstü zamanı" -#: babybuddy/templates/babybuddy/nav-dropdown.html:96 -#: core/templates/timeline/timeline.html:4 -#: core/templates/timeline/timeline.html:7 -#: dashboard/templates/dashboard/child_button_group.html:9 -msgid "Timeline" -msgstr "Zaman çizelgesi" +#: babybuddy/templates/babybuddy/nav-dropdown.html:87 +#: babybuddy/templates/babybuddy/nav-dropdown.html:193 core/models.py:673 +#: core/models.py:685 core/models.py:686 core/models.py:689 +#: core/templates/core/weight_confirm_delete.html:7 +#: core/templates/core/weight_form.html:13 +#: core/templates/core/weight_list.html:4 +#: core/templates/core/weight_list.html:7 +#: core/templates/core/weight_list.html:12 +#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 +#: reports/graphs/weight_change.py:30 +#: reports/templates/reports/report_list.html:22 +#: reports/templates/reports/weight_change.html:4 +#: reports/templates/reports/weight_change.html:8 +msgid "Weight" +msgstr "Ağırlık" -#: babybuddy/templates/babybuddy/nav-dropdown.html:107 -#: babybuddy/templates/babybuddy/nav-dropdown.html:115 core/models.py:188 +#: babybuddy/templates/babybuddy/nav-dropdown.html:129 +#: babybuddy/templates/babybuddy/nav-dropdown.html:137 core/models.py:188 #: core/templates/core/child_confirm_delete.html:7 #: core/templates/core/child_detail.html:7 #: core/templates/core/child_form.html:13 core/templates/core/child_list.html:4 @@ -283,7 +192,7 @@ msgstr "Zaman çizelgesi" msgid "Children" msgstr "Çocuklar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:121 core/models.py:137 +#: babybuddy/templates/babybuddy/nav-dropdown.html:143 core/models.py:137 #: core/models.py:187 core/models.py:221 core/models.py:274 core/models.py:335 #: core/models.py:367 core/models.py:394 core/models.py:426 core/models.py:450 #: core/models.py:503 core/models.py:537 core/models.py:630 core/models.py:671 @@ -302,7 +211,7 @@ msgstr "Çocuklar" msgid "Child" msgstr "Çocuk" -#: babybuddy/templates/babybuddy/nav-dropdown.html:129 core/models.py:143 +#: babybuddy/templates/babybuddy/nav-dropdown.html:151 core/models.py:143 #: core/models.py:240 core/models.py:304 core/models.py:343 core/models.py:373 #: core/models.py:408 core/models.py:430 core/models.py:458 core/models.py:511 #: core/models.py:677 core/templates/core/note_confirm_delete.html:7 @@ -311,118 +220,24 @@ msgstr "Çocuk" msgid "Notes" msgstr "Notlar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:149 -msgid "Measurements" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:157 core/models.py:139 -#: core/models.py:151 core/models.py:152 core/models.py:155 -#: core/templates/core/bmi_confirm_delete.html:7 -#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 -#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 -#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 -#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 -#: reports/templates/reports/bmi_change.html:8 -msgid "BMI" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:163 -#, fuzzy -#| msgid "Sleep entry" -msgid "BMI entry" -msgstr "Uyku Girişi" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:171 core/models.py:338 -#: core/models.py:351 core/models.py:352 core/models.py:355 -#: core/templates/core/head_circumference_confirm_delete.html:7 -#: core/templates/core/head_circumference_form.html:13 -#: core/templates/core/head_circumference_list.html:4 -#: core/templates/core/head_circumference_list.html:7 -#: core/templates/core/head_circumference_list.html:12 -#: core/templates/core/head_circumference_list.html:29 -#: reports/graphs/head_circumference_change.py:19 -#: reports/graphs/head_circumference_change.py:30 -#: reports/templates/reports/head_circumference_change.html:4 -#: reports/templates/reports/head_circumference_change.html:8 -#: reports/templates/reports/report_list.html:16 -msgid "Head Circumference" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:177 -msgid "Head Circumference entry" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:185 core/models.py:369 -#: core/models.py:381 core/models.py:382 core/models.py:385 -#: core/templates/core/height_confirm_delete.html:7 -#: core/templates/core/height_form.html:13 -#: core/templates/core/height_list.html:4 -#: core/templates/core/height_list.html:7 -#: core/templates/core/height_list.html:12 -#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 -#: reports/graphs/height_change.py:30 -#: reports/templates/reports/height_change.html:4 -#: reports/templates/reports/height_change.html:8 -#: reports/templates/reports/report_list.html:17 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Ağırlık" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:191 -#, fuzzy -#| msgid "Weight entry" -msgid "Height entry" -msgstr "Ağırlık girdisi" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:199 core/models.py:506 -#: core/models.py:519 core/models.py:520 core/models.py:523 -#: core/templates/core/temperature_confirm_delete.html:7 -#: core/templates/core/temperature_form.html:13 -#: core/templates/core/temperature_list.html:4 -#: core/templates/core/temperature_list.html:7 -#: core/templates/core/temperature_list.html:12 -#: core/templates/core/temperature_list.html:29 -msgid "Temperature" -msgstr "Sıcaklık" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:205 -msgid "Temperature reading" -msgstr "Sıcaklık okuma" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:213 core/models.py:673 -#: core/models.py:685 core/models.py:686 core/models.py:689 -#: core/templates/core/weight_confirm_delete.html:7 -#: core/templates/core/weight_form.html:13 -#: core/templates/core/weight_list.html:4 -#: core/templates/core/weight_list.html:7 -#: core/templates/core/weight_list.html:12 -#: core/templates/core/weight_list.html:29 reports/graphs/weight_change.py:19 -#: reports/graphs/weight_change.py:30 -#: reports/templates/reports/report_list.html:22 -#: reports/templates/reports/weight_change.html:4 -#: reports/templates/reports/weight_change.html:8 -msgid "Weight" -msgstr "Ağırlık" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:219 +#: babybuddy/templates/babybuddy/nav-dropdown.html:199 msgid "Weight entry" msgstr "Ağırlık girdisi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:233 +#: babybuddy/templates/babybuddy/nav-dropdown.html:255 msgid "Activities" msgstr "Faaliyetler" -#: babybuddy/templates/babybuddy/nav-dropdown.html:240 +#: babybuddy/templates/babybuddy/nav-dropdown.html:262 #: reports/graphs/diaperchange_lifetimes.py:27 msgid "Changes" msgstr "Değişimler" -#: babybuddy/templates/babybuddy/nav-dropdown.html:246 +#: babybuddy/templates/babybuddy/nav-dropdown.html:268 msgid "Change" msgstr "Değişim" -#: babybuddy/templates/babybuddy/nav-dropdown.html:253 +#: babybuddy/templates/babybuddy/nav-dropdown.html:275 #: babybuddy/templates/babybuddy/welcome.html:34 core/models.py:313 #: core/templates/core/feeding_confirm_delete.html:7 #: core/templates/core/feeding_form.html:13 @@ -432,33 +247,15 @@ msgstr "Değişim" msgid "Feedings" msgstr "Beslenmeler" -#: babybuddy/templates/babybuddy/nav-dropdown.html:267 core/models.py:437 -#: core/models.py:438 core/models.py:441 -#: core/templates/core/pumping_confirm_delete.html:7 -#: core/templates/core/pumping_form.html:13 -#: core/templates/core/pumping_list.html:4 -#: core/templates/core/pumping_list.html:7 -#: core/templates/core/pumping_list.html:12 -#: reports/templates/reports/pumping_amounts.html:4 -#: reports/templates/reports/pumping_amounts.html:8 -msgid "Pumping" -msgstr "" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:273 -#, fuzzy -#| msgid "Weight entry" -msgid "Pumping entry" -msgstr "Ağırlık girdisi" - -#: babybuddy/templates/babybuddy/nav-dropdown.html:286 +#: babybuddy/templates/babybuddy/nav-dropdown.html:294 msgid "Sleep entry" msgstr "Uyku Girişi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:299 +#: babybuddy/templates/babybuddy/nav-dropdown.html:307 msgid "Tummy Time entry" msgstr "Karın Üstü Zaman Girişi" -#: babybuddy/templates/babybuddy/nav-dropdown.html:323 +#: babybuddy/templates/babybuddy/nav-dropdown.html:346 #: babybuddy/templates/babybuddy/user_list.html:17 #: babybuddy/templates/babybuddy/user_password_form.html:7 #: babybuddy/templates/babybuddy/user_settings_form.html:7 core/models.py:556 @@ -466,23 +263,23 @@ msgstr "Karın Üstü Zaman Girişi" msgid "User" msgstr "Kullanıcı" -#: babybuddy/templates/babybuddy/nav-dropdown.html:325 +#: babybuddy/templates/babybuddy/nav-dropdown.html:348 msgid "Password" msgstr "Şifre" -#: babybuddy/templates/babybuddy/nav-dropdown.html:329 +#: babybuddy/templates/babybuddy/nav-dropdown.html:352 msgid "Logout" msgstr "Çıkış" -#: babybuddy/templates/babybuddy/nav-dropdown.html:332 +#: babybuddy/templates/babybuddy/nav-dropdown.html:355 msgid "Site" msgstr "Site" -#: babybuddy/templates/babybuddy/nav-dropdown.html:333 +#: babybuddy/templates/babybuddy/nav-dropdown.html:356 msgid "API Browser" msgstr "API Görüntüleyici" -#: babybuddy/templates/babybuddy/nav-dropdown.html:335 +#: babybuddy/templates/babybuddy/nav-dropdown.html:358 #: babybuddy/templates/babybuddy/user_confirm_delete.html:7 #: babybuddy/templates/babybuddy/user_form.html:13 #: babybuddy/templates/babybuddy/user_list.html:4 @@ -490,15 +287,19 @@ msgstr "API Görüntüleyici" msgid "Users" msgstr "Kullanıcılar" -#: babybuddy/templates/babybuddy/nav-dropdown.html:338 +#: babybuddy/templates/babybuddy/nav-dropdown.html:250 +msgid "Backend Admin" +msgstr "Backend Admin" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:361 msgid "Support" msgstr "Destek" -#: babybuddy/templates/babybuddy/nav-dropdown.html:340 +#: babybuddy/templates/babybuddy/nav-dropdown.html:363 msgid "Source Code" msgstr "Kaynak Kod" -#: babybuddy/templates/babybuddy/nav-dropdown.html:342 +#: babybuddy/templates/babybuddy/nav-dropdown.html:365 msgid "Chat / Support" msgstr "Sohbet / Destek" @@ -509,7 +310,6 @@ msgstr "Sohbet / Destek" #: core/templates/timeline/_timeline.html:73 #: dashboard/templates/cards/feeding_day.html:43 #: dashboard/templates/cards/feeding_last_method.html:34 -#: dashboard/templates/cards/sleep_recent.html:43 #: dashboard/templates/cards/statistics.html:34 msgid "Previous" msgstr "Önceki" @@ -521,7 +321,6 @@ msgstr "Önceki" #: core/templates/timeline/_timeline.html:80 #: dashboard/templates/cards/feeding_day.html:47 #: dashboard/templates/cards/feeding_last_method.html:38 -#: dashboard/templates/cards/sleep_recent.html:47 #: dashboard/templates/cards/statistics.html:38 msgid "Next" msgstr "Sonraki" @@ -577,13 +376,8 @@ msgstr "Sil" #: core/templates/core/timer_confirm_delete.html:17 #: core/templates/core/tummytime_confirm_delete.html:14 #: core/templates/core/weight_confirm_delete.html:14 -#, python-format -msgid "" -"

Are you sure you want to delete %(object)s?

" -msgstr "" -"

Silmek istediğinizden emin misiniz %(object)s?

" +msgid "

Are you sure you want to delete %(object)s?

" +msgstr "

Silmek istediğinizden emin misiniz %(object)s?

" #: babybuddy/templates/babybuddy/user_confirm_delete.html:19 #: core/templates/core/bmi_confirm_delete.html:18 @@ -639,7 +433,6 @@ msgstr "Güncelle" #: core/templates/core/timer_form.html:18 #: core/templates/core/tummytime_form.html:23 #: core/templates/core/weight_form.html:23 -#, python-format msgid "

Update %(object)s

" msgstr "

Gücelle %(object)s

" @@ -669,7 +462,7 @@ msgstr "Etkin" #: babybuddy/templates/babybuddy/user_list.html:23 #: core/templates/core/bmi_list.html:24 core/templates/core/bmi_list.html:38 #: core/templates/core/child_list.html:28 -#: core/templates/core/child_list.html:43 +#: core/templates/core/child_list.html:48 #: core/templates/core/diaperchange_list.html:24 #: core/templates/core/diaperchange_list.html:40 #: core/templates/core/feeding_list.html:24 @@ -707,6 +500,11 @@ msgstr "Şifre Değiştir" msgid "User Settings" msgstr "Kullanıcı Ayarları" +#: babybuddy/templates/babybuddy/messages.html:23 +#: babybuddy/templates/babybuddy/user_settings_form.html:26 +msgid "Error: Some fields have errors. See below for details." +msgstr "Hata: Bazı alanlarda hata var. Detaylar için aşağıya bakınız." + #: babybuddy/templates/babybuddy/user_settings_form.html:33 msgid "User Profile" msgstr "Kullanıcı Profili" @@ -733,12 +531,10 @@ msgid "Welcome to Baby Buddy!" msgstr "Baby Buddy'e Hoşgeldiniz!" #: babybuddy/templates/babybuddy/welcome.html:14 -msgid "" -"Learn about and predict baby's needs without (as much) guess work " -"by using Baby Buddy to track —" -msgstr "" -"Baby Buddy ile takip ederek tahmin etmeye (çok) gerek kalmadan " -"bebeğin ihtiyaçlarını öğren —" +msgid "Learn about and predict baby's needs without\n" +" (as much) guess work by using Baby Buddy to track —" +msgstr "Baby Buddy ile takip ederek tahmin etmeye\n" +" (çok) gerek kalmadan bebeğin ihtiyaçlarını öğren —" #: babybuddy/templates/babybuddy/welcome.html:26 core/models.py:249 #: core/templates/core/diaperchange_confirm_delete.html:7 @@ -750,19 +546,14 @@ msgstr "" msgid "Diaper Changes" msgstr "Bez Değişiklikleri" -#: babybuddy/templates/babybuddy/welcome.html:56 -msgid "" -"As the amount of entries grows, Baby Buddy will help parents and caregivers " -"to identify small patterns in baby's habits using the dashboard and graphs. " -"Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and " -"dads with 2AM feedings and changings. To get started, just click the button " -"below to add your first (or second, third, etc.) child!" -msgstr "" -"Girdiler arttıkça Baby Buddy ailelere bebeklerin alışkanlıkları hakkında " -"kontrol paneli ve grafikler ile fikir verir. Baby Buddy mobil dostudur ve " -"yorgun anne babaların gece 2'de yapacakları beslenmeler ve bez " -"değişiklikleri için kotu temayı kullanır. Başlamak için yalnızca aşağıdaki " -"butonu tıklayınız ve ilk (veya ikinci, üçüncü, vs.) çocuğunuzu ekleyiniz!" +#: babybuddy/templates/babybuddy/welcome.html:54 +msgid "As the amount of entries grows, Baby Buddy will help\n" +" parents and caregivers to identify small patterns in baby's habits\n" +" using the dashboard and graphs. Baby Buddy is mobile-friendly and\n" +" uses a dark theme to help weary moms and dads with 2AM feedings and\n" +" changings. To get started, just click the button below to add your\n" +" first (or second, third, etc.) child!" +msgstr "Girdiler arttıkça Baby Buddy ailelere bebeklerin alışkanlıkları hakkında kontrol paneli ve grafikler ile fikir verir. Baby Buddy mobil dostudur ve yorgun anne babaların gece 2'de yapacakları beslenmeler ve bez değişiklikleri için kotu temayı kullanır. Başlamak için yalnızca aşağıdaki butonu tıklayınız ve ilk (veya ikinci, üçüncü, vs.) çocuğunuzu ekleyiniz!" #: babybuddy/templates/babybuddy/welcome.html:68 #: core/templates/core/child_form.html:8 core/templates/core/child_form.html:18 @@ -770,52 +561,6 @@ msgstr "" msgid "Add a Child" msgstr "Çocuk Ekle" -#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 -msgid "Bad Request" -msgstr "" - -#: babybuddy/templates/error/403.html:4 babybuddy/templates/error/403.html:7 -msgid "Permission Denied" -msgstr "Erişim Engellendi" - -#: babybuddy/templates/error/403.html:9 -msgid "" -"You do not have permission to access this resource. Contact a site " -"administrator for assistance." -msgstr "" -"Bu kaynağa erişmek için izniniz yoktur. Yardım için website yöneticisiyle " -"iletişime geçin." - -#: babybuddy/templates/error/403_csrf_bad_origin.html:14 -msgid "How to Fix" -msgstr "" - -#: babybuddy/templates/error/403_csrf_bad_origin.html:15 -#, python-format -msgid "" -"Add %(origin)s to the CSRF_TRUSTED_ORIGINS " -"environment variable. If multiple origins are required separate with commas." -msgstr "" - -#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 -msgid "Page Not Found" -msgstr "" - -#: babybuddy/templates/error/404.html:9 -#, python-format -msgid "The path %(request_path)s does not exist." -msgstr "" - -#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 -msgid "Server Error" -msgstr "" - -#: babybuddy/templates/error/base.html:14 -#, fuzzy -#| msgid "Welcome to Baby Buddy!" -msgid "Return to Baby Buddy" -msgstr "Baby Buddy'e Hoşgeldiniz!" - #: babybuddy/templates/registration/login.html:32 msgid "Login" msgstr "Giriş" @@ -840,11 +585,10 @@ msgstr "Giriş Yap" msgid "Password Reset" msgstr "Şifre Sıfırlama" -#: babybuddy/templates/registration/password_reset_confirm.html:13 -msgid "" -"Oh snap! The two passwords did not match. Please try again." -msgstr "" -"Hay Aksi! Şifreler uyuşmuyor. Lütfen tekrar deneyiniz." +#: babybuddy/templates/registration/password_reset_confirm.html:12 +msgid "

Oh snap! The\n" +" two passwords did not match. Please try again.

" +msgstr "

Hay Aksi! Şifreler uyuşmuyor. Lütfen tekrar deneyiniz.

" #: babybuddy/templates/registration/password_reset_confirm.html:22 msgid "Enter your new password in each field below." @@ -859,74 +603,35 @@ msgstr "Şifre Sıfırla" msgid "Reset Email Sent" msgstr "Sıfırlama Epostası Gönderildi" -#: babybuddy/templates/registration/password_reset_done.html:9 -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Eğer girdiğiniz eposta ile kayıtlı kullanıcı varsa şifrenizi yeniden " -"oluşturmak için talimatları epostanıza gönderdik. Kısa süre sonra size " -"ulaşacak." - -#: babybuddy/templates/registration/password_reset_done.html:15 -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Eğer eposta size ulaşmazsa lütfen girdiğiniz eposta adresinizin doğru " -"olduğuna emin olun ve epostanızdaki spam klasörünü kontrol ediniz." - -#: babybuddy/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: babybuddy/templates/registration/password_reset_email.html:10 -msgid "Thanks for using Baby Buddy!" -msgstr "" +#: babybuddy/templates/registration/password_reset_done.html:8 +msgid "

We've emailed you instructions for setting your\n" +" password, if an account exists with the email you entered. You\n" +" should receive them shortly.

\n" +"

If you don't receive an email, please make sure you've\n" +" entered the address you registered with, and check your spam\n" +" folder.

" +msgstr "

Eğer girdiğiniz eposta ile kayıtlı kullanıcı varsa şifrenizi yeniden oluşturmak için talimatları epostanıza gönderdik. Kısa süre sonra size ulaşacak.

\n" +"

Eğer eposta size ulaşmazsa lütfen girdiğiniz eposta adresinizin doğru olduğuna emin olun ve epostanızdaki spam klasörünü kontrol ediniz.

" #: babybuddy/templates/registration/password_reset_form.html:4 msgid "Forgot Password" msgstr "Şifremi Unuttum" -#: babybuddy/templates/registration/password_reset_form.html:9 -msgid "" -"Enter your account email address in the form below. If the address is valid, " -"you will receive instructions for resetting your password." -msgstr "" -"Eposta adresinizi aşağıdaki forma giriniz. Eposta adresi doğruysa şifrenizi " -"sıfırmalak için talimatlar gönderilecek." - -#: babybuddy/views.py:43 -msgid "Forbidden" -msgstr "" - -#: babybuddy/views.py:44 -msgid "CSRF verification failed. Request aborted." -msgstr "" +#: babybuddy/templates/registration/password_reset_form.html:8 +msgid "

Enter your account email address in the\n" +" form below. If the address is valid, you will receive instructions for\n" +" resetting your password.

" +msgstr "

Eposta adresinizi aşağıdaki forma giriniz. Eposta adresi doğruysa şifrenizi sıfırmalak için talimatlar gönderilecek.

" #: babybuddy/views.py:102 -#, python-format msgid "User %(username)s added!" msgstr "Kullanıcı %(username)s eklendi!" #: babybuddy/views.py:113 -#, python-format msgid "User %(username)s updated." msgstr "Kullanıcı %(username)s güncellendi." #: babybuddy/views.py:125 -#, python-brace-format msgid "User {user} deleted." msgstr "Kullanıcı {user} silindi." @@ -942,20 +647,10 @@ msgstr "Kullanıcı API anahtarı yeniden oluşturuldu." msgid "Settings saved!" msgstr "Ayarlar kaydedildi." -#: core/filters.py:11 core/models.py:96 core/models.py:115 -msgid "Tag" -msgstr "" - #: core/forms.py:120 msgid "Name does not match child name." msgstr "İsim çocuk ismiyle eşleşmiyor." -#: core/forms.py:136 -msgid "" -"Click on the tags to add (+) or remove (-) tags or use the text editor to " -"create new tags." -msgstr "" - #: core/models.py:28 msgid "Date can not be in the future." msgstr "Tarih gelecek bir zaman olamaz." @@ -976,45 +671,6 @@ msgstr "Birbaşka girdi belirlenen zaman aralığı ile kesişiyor." msgid "Date/time can not be in the future." msgstr "Tarih/zaman gelecek zaman olamaz." -#: core/models.py:84 core/models.py:237 -#: core/templates/core/diaperchange_list.html:30 -msgid "Color" -msgstr "Renk" - -#: core/models.py:90 -#, fuzzy -#| msgid "Last Name" -msgid "Last used" -msgstr "Soyad" - -#: core/models.py:97 core/templates/core/bmi_list.html:30 -#: core/templates/core/diaperchange_list.html:32 -#: core/templates/core/feeding_list.html:35 -#: core/templates/core/head_circumference_list.html:30 -#: core/templates/core/height_list.html:30 -#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 -#: core/templates/core/temperature_list.html:30 -#: core/templates/core/tummytime_list.html:31 -#: core/templates/core/weight_list.html:30 -msgid "Tags" -msgstr "" - -#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 -#: core/templates/core/bmi_list.html:25 -#: core/templates/core/feeding_list.html:25 -#: core/templates/core/head_circumference_list.html:25 -#: core/templates/core/height_list.html:25 -#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 -#: reports/graphs/diaperchange_amounts.py:37 -#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 -#: reports/graphs/feeding_duration.py:56 -#: reports/graphs/head_circumference_change.py:28 -#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:60 -#: reports/graphs/sleep_pattern.py:153 reports/graphs/sleep_totals.py:59 -#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 -msgid "Date" -msgstr "Tarih" - #: core/models.py:163 msgid "First name" msgstr "Ad" @@ -1069,11 +725,14 @@ msgstr "Yeşil" msgid "Yellow" msgstr "Sarı" -#: core/models.py:239 core/models.py:303 core/models.py:428 -#: core/templates/core/diaperchange_list.html:31 -#: core/templates/core/pumping_list.html:29 -msgid "Amount" -msgstr "Miktar" +#: core/models.py:84 core/models.py:237 +#: core/templates/core/diaperchange_list.html:30 +msgid "Color" +msgstr "Renk" + +#: core/models.py:180 +msgid "Wet and/or solid is required." +msgstr "Islak ve/veya kuru gereklidir." #: core/models.py:276 core/models.py:453 core/models.py:543 core/models.py:632 msgid "Start time" @@ -1099,14 +758,6 @@ msgstr "Anne sütü" msgid "Formula" msgstr "Formül" -#: core/models.py:285 -msgid "Fortified breast milk" -msgstr "Anne sütü" - -#: core/models.py:286 -msgid "Solid food" -msgstr "Katı yiyecek" - #: core/models.py:289 core/templates/core/feeding_list.html:30 msgid "Type" msgstr "Tip" @@ -1123,25 +774,19 @@ msgstr "Sol göğüs" msgid "Right breast" msgstr "Sağ göğüs" -#: core/models.py:296 -msgid "Both breasts" -msgstr "Her iki göğüs" - -#: core/models.py:297 -msgid "Parent fed" -msgstr "Ebeveyn beslenme" - -#: core/models.py:298 -msgid "Self fed" -msgstr "Kendi beslenme" - #: core/models.py:301 core/templates/core/feeding_list.html:29 msgid "Method" msgstr "Metod" -#: core/models.py:452 -msgid "Napping" -msgstr "" +#: core/models.py:239 core/models.py:303 core/models.py:428 +#: core/templates/core/diaperchange_list.html:31 +#: core/templates/core/pumping_list.html:29 +msgid "Amount" +msgstr "Miktar" + +#: core/models.py:243 +msgid "Only \"Bottle\" method is allowed with \"Formula\" type." +msgstr "\"Formül\" tipiyle yalnızca \"Şişe\" metodu kullanılabilir" #: core/models.py:540 core/templates/core/timer_list.html:25 msgid "Name" @@ -1161,7 +806,6 @@ msgid "Timers" msgstr "Zamallayıcılar" #: core/models.py:568 -#, python-brace-format msgid "Timer #{id}" msgstr "Zamallayıcı #{id}" @@ -1169,28 +813,21 @@ msgstr "Zamallayıcı #{id}" msgid "Milestone" msgstr "Dönüm noktası" -#: core/templates/core/bmi_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Sleep Entry" -msgid "Delete a BMI Entry" -msgstr "Uyku Girdisi Sil" - -#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 -#: core/templates/core/bmi_form.html:27 -#, fuzzy -#| msgid "Add a Sleep Entry" -msgid "Add a BMI Entry" -msgstr "Uyku Girdisi Ekle" - -#: core/templates/core/bmi_list.html:15 -msgid "Add BMI" -msgstr "" - -#: core/templates/core/bmi_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No BMI entries found." -msgstr "Zamanlayıcı girdisi bulunamadı" +#: core/models.py:141 core/models.py:341 core/models.py:371 core/models.py:675 +#: core/templates/core/bmi_list.html:25 +#: core/templates/core/feeding_list.html:25 +#: core/templates/core/head_circumference_list.html:25 +#: core/templates/core/height_list.html:25 +#: core/templates/core/weight_list.html:25 reports/graphs/bmi_change.py:28 +#: reports/graphs/diaperchange_amounts.py:37 +#: reports/graphs/diaperchange_types.py:49 reports/graphs/feeding_amounts.py:70 +#: reports/graphs/feeding_duration.py:56 +#: reports/graphs/head_circumference_change.py:28 +#: reports/graphs/height_change.py:28 reports/graphs/pumping_amounts.py:58 +#: reports/graphs/sleep_pattern.py:151 reports/graphs/sleep_totals.py:59 +#: reports/graphs/tummytime_duration.py:51 reports/graphs/weight_change.py:28 +msgid "Date" +msgstr "Tarih" #: core/templates/core/child_confirm_delete.html:4 msgid "Delete a Child" @@ -1210,15 +847,15 @@ msgstr "Doğdu" msgid "Age" msgstr "Yaş" -#: core/templates/core/child_list.html:15 -msgid "Add Child" -msgstr "Çocuk Ekle" +#: core/templates/timeline/_timeline.html:38 +msgid "%(since)s ago (%(time)s)" +msgstr "%(since)s önce (%(time)s)" #: core/templates/core/child_list.html:27 msgid "Birth Date" msgstr "Doğum Tarihi" -#: core/templates/core/child_list.html:62 +#: core/templates/core/child_list.html:67 msgid "No children found." msgstr "Çocuk bulunamadı." @@ -1243,18 +880,14 @@ msgstr "Bez Değişikliğini Ekle" msgid "Add" msgstr "Ekle" -#: core/templates/core/diaperchange_list.html:15 -msgid "Add Diaper Change" -msgstr "Bez Değişim Ekle" - -#: core/templates/core/diaperchange_list.html:29 -msgid "Contents" -msgstr "İçerikler" - #: core/templates/core/diaperchange_list.html:77 msgid "No diaper changes found." msgstr "Bez değişikliği bulunamadı" +#: core/templates/core/diaperchange_list.html:63 +msgid "Add a Change" +msgstr "Değişiklik ekle" + #: core/templates/core/feeding_confirm_delete.html:4 msgid "Delete a Feeding" msgstr "Beslenme ekle" @@ -1268,10 +901,6 @@ msgstr "Beslenme güncelle" msgid "Add a Feeding" msgstr "Beslenme ekle" -#: core/templates/core/feeding_list.html:15 -msgid "Add Feeding" -msgstr "Beslenme Ekle" - #: core/templates/core/feeding_list.html:33 msgid "Amt." msgstr "Mkt." @@ -1280,56 +909,6 @@ msgstr "Mkt." msgid "No feedings found." msgstr "Beslenme bulunamadı" -#: core/templates/core/head_circumference_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Tummy Time Entry" -msgid "Delete a Head Circumference Entry" -msgstr "Karın Üstü Uyku Girdisi Sil" - -#: core/templates/core/head_circumference_form.html:8 -#: core/templates/core/head_circumference_form.html:17 -#: core/templates/core/head_circumference_form.html:27 -#, fuzzy -#| msgid "Add a Temperature Entry" -msgid "Add a Head Circumference Entry" -msgstr "Uyku Girdisi Ekle" - -#: core/templates/core/head_circumference_list.html:15 -msgid "Add Head Circumference" -msgstr "" - -#: core/templates/core/head_circumference_list.html:70 -#, fuzzy -#| msgid "No timer entries found." -msgid "No head circumference entries found." -msgstr "Zamanlayıcı girdisi bulunamadı" - -#: core/templates/core/height_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Height Entry" -msgstr "Ağırlık Girdisi Sil" - -#: core/templates/core/height_form.html:8 -#: core/templates/core/height_form.html:17 -#: core/templates/core/height_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Height Entry" -msgstr "Ağırlık Girdisi Ekle" - -#: core/templates/core/height_list.html:15 -#, fuzzy -#| msgid "Add Weight" -msgid "Add Height" -msgstr "Ağırlık Ekle" - -#: core/templates/core/height_list.html:70 -#, fuzzy -#| msgid "No weight entries found." -msgid "No height entries found." -msgstr "Ağırlık girdisi bulunamadı." - #: core/templates/core/note_confirm_delete.html:4 msgid "Delete a Note" msgstr "Not Sil" @@ -1342,53 +921,10 @@ msgstr "Not Güncelle" msgid "Add a Note" msgstr "Not Ekle" -#: core/templates/core/note_list.html:15 -msgid "Add Note" -msgstr "Not Ekle" - #: core/templates/core/note_list.html:64 msgid "No notes found." msgstr "Not bulunamadı" -#: core/templates/core/pumping_confirm_delete.html:4 -#, fuzzy -#| msgid "Delete a Weight Entry" -msgid "Delete a Pumping Entry" -msgstr "Ağırlık Girdisi Sil" - -#: core/templates/core/pumping_form.html:8 -#: core/templates/core/pumping_form.html:17 -#: core/templates/core/pumping_form.html:27 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add a Pumping Entry" -msgstr "Ağırlık Girdisi Ekle" - -#: core/templates/core/pumping_list.html:15 -#, fuzzy -#| msgid "Add a Weight Entry" -msgid "Add Pumping Entry" -msgstr "Ağırlık Girdisi Ekle" - -#: core/templates/core/pumping_list.html:66 -#, fuzzy -#| msgid "No timer entries found." -msgid "No pumping entries found." -msgstr "Zamanlayıcı girdisi bulunamadı" - -#: core/templates/core/quick_timer_nav.html:9 -#: core/templates/core/quick_timer_nav.html:29 -#: core/templates/core/timer_nav.html:37 -msgid "Quick Start Timer" -msgstr "Hızı Zamanlayıcı Başlat" - -#: core/templates/core/quick_timer_nav.html:19 -#: core/templates/core/timer_nav.html:28 -#, fuzzy -#| msgid "Quick Start Timer" -msgid "Quick Start Timer For…" -msgstr "Hızı Zamanlayıcı Başlat" - #: core/templates/core/sleep_confirm_delete.html:4 msgid "Delete a Sleep Entry" msgstr "Uyku Girdisi Sil" @@ -1401,10 +937,6 @@ msgstr "Uyku Girdisi Güncelle" msgid "Add a Sleep Entry" msgstr "Uyku Girdisi Ekle" -#: core/templates/core/sleep_list.html:15 -msgid "Add Sleep" -msgstr "Uyku Ekle" - #: core/templates/core/sleep_list.html:25 #: core/templates/core/timer_form.html:12 #: core/templates/core/timer_list.html:24 @@ -1426,48 +958,10 @@ msgstr "Kısa uyku" msgid "No sleep entries found." msgstr "Uyku girdisi bulunamadı" -#: core/templates/core/temperature_confirm_delete.html:4 -msgid "Delete a Temperature Reading" -msgstr "Beslenme ekle" - -#: core/templates/core/temperature_form.html:8 -#: core/templates/core/temperature_form.html:17 -msgid "Add a Temperature Reading" -msgstr "Beslenme ekle" - -#: core/templates/core/temperature_form.html:27 -msgid "Add a Temperature Entry" -msgstr "Uyku Girdisi Ekle" - -#: core/templates/core/temperature_list.html:15 -msgid "Add Temperature Reading" -msgstr "Sıcaklık Okuma Ekle" - -#: core/templates/core/temperature_list.html:70 -msgid "No temperature entries found." -msgstr "Zamanlayıcı girdisi bulunamadı" - #: core/templates/core/timer_confirm_delete.html:5 -#, python-format msgid "Delete %(object)s" msgstr "Sil %(object)s" -#: core/templates/core/timer_confirm_delete_inactive.html:5 -msgid "Delete All Inactive Timers" -msgstr "Pasif Tüm Zamanlayıcıları Sil" - -#: core/templates/core/timer_confirm_delete_inactive.html:10 -msgid "Delete Inactive" -msgstr "Pasif Sil" - -#: core/templates/core/timer_confirm_delete_inactive.html:17 -#, fuzzy, python-format -#| msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" -msgid "Are you sure you want to delete %(number)s inactive timer?" -msgid_plural "Are you sure you want to delete %(number)s inactive timers?" -msgstr[0] "%(number)s pasif zamanlıyıcıları silmek istediğinize emin misiniz?" -msgstr[1] "%(number)s pasif zamanlıyıcıları silmek istediğinize emin misiniz?" - #: core/templates/core/timer_detail.html:28 msgid "Started" msgstr "Başladı" @@ -1476,25 +970,16 @@ msgstr "Başladı" msgid "Stopped" msgstr "Durdu" -#: core/templates/core/timer_detail.html:34 -#, python-format -msgid "%(timer)s created by %(user)s" -msgstr "%(timer)s %(user)s tarafından oluşturuldu" +#: core/templates/core/timer_detail.html:26 +msgid "%(timer)s created by %(object.user)s" +msgstr "%(timer)s %(object.user)s tarafından oluşturuldu" #: core/templates/core/timer_detail.html:63 msgid "Timer actions" msgstr "Zamanlayıcı eylemleri" -#: core/templates/core/timer_detail.html:77 -msgid "Restart timer" -msgstr "Yeniden başlatma zamanlayıcısı" - -#: core/templates/core/timer_detail.html:84 -msgid "Delete timer" -msgstr "Silme zamanlayıcısı" - #: core/templates/core/timer_form.html:22 -#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:15 +#: core/templates/core/timer_list.html:15 core/templates/core/timer_nav.html:23 msgid "Start Timer" msgstr "Zamanlayıcı Başlat" @@ -1502,30 +987,30 @@ msgstr "Zamanlayıcı Başlat" msgid "No timer entries found." msgstr "Zamanlayıcı girdisi bulunamadı" -#: core/templates/core/timer_list.html:68 -msgid "Delete Inactive Timers" -msgstr "Pasif Zamanlayıcıları Sil" +#: babybuddy/templates/babybuddy/nav-dropdown.html:32 +#: core/templates/core/timer_nav.html:18 +msgid "Quick Start Timer" +msgstr "Hızı Zamanlayıcı Başlat" -#: core/templates/core/timer_nav.html:20 +#: core/templates/core/timer_nav.html:28 msgid "View Timers" msgstr "Zamanlayıcıları İzle" -#: core/templates/core/timer_nav.html:44 +#: core/templates/core/timer_nav.html:32 #: dashboard/templates/cards/timer_list.html:6 msgid "Active Timers" msgstr "Etkin Zamanlayıcılar" -#: core/templates/core/timer_nav.html:50 +#: core/templates/core/timer_nav.html:38 #: dashboard/templates/cards/diaperchange_last.html:17 #: dashboard/templates/cards/diaperchange_types.html:12 #: dashboard/templates/cards/feeding_day.html:20 #: dashboard/templates/cards/feeding_day.html:52 #: dashboard/templates/cards/feeding_last.html:17 #: dashboard/templates/cards/feeding_last_method.html:43 +#: dashboard/templates/cards/sleep_day.html:14 #: dashboard/templates/cards/sleep_last.html:17 #: dashboard/templates/cards/sleep_naps_day.html:18 -#: dashboard/templates/cards/sleep_recent.html:20 -#: dashboard/templates/cards/sleep_recent.html:52 #: dashboard/templates/cards/tummytime_day.html:14 msgid "None" msgstr "Hiç" @@ -1543,10 +1028,6 @@ msgstr "Karın Üstü Uyku Girdisi Güncelle" msgid "Add a Tummy Time Entry" msgstr "Karın Üstü Zamanı Girdisi Ekle" -#: core/templates/core/tummytime_list.html:15 -msgid "Add Tummy Time" -msgstr "Karın Üstü Zamanı Ekle" - #: core/templates/core/tummytime_list.html:67 msgid "No tummy time entries found." msgstr "Karın Üstü Zamanı Girdisi bulunamadı." @@ -1561,17 +1042,1017 @@ msgstr "Ağırlık Girdisi Sil" msgid "Add a Weight Entry" msgstr "Ağırlık Girdisi Ekle" -#: core/templates/core/weight_list.html:15 -msgid "Add Weight" -msgstr "Ağırlık Ekle" - #: core/templates/core/weight_list.html:70 msgid "No weight entries found." msgstr "Ağırlık girdisi bulunamadı." +#: core/timeline.py:164 +msgid "%(child)s had a diaper change." +msgstr "%(child)s bez değiştirildi." + +#: core/timeline.py:145 +msgid "%(child)s started feeding." +msgstr "%(child)s beslenmeye başladı." + +#: core/timeline.py:158 +msgid "%(child)s finished feeding." +msgstr "%(child)s beslenmesi bitti." + +#: core/timeline.py:91 +msgid "%(child)s fell asleep." +msgstr "%(child)s uyudu." + +#: core/timeline.py:103 +msgid "%(child)s woke up." +msgstr "%(child)s uyandı" + +#: core/timeline.py:53 +msgid "%(child)s started tummy time!" +msgstr "%(child)s karın üstü zamanı başladı!" + +#: core/timeline.py:65 +msgid "%(child)s finished tummy time." +msgstr "%(child)s karın üstü zamanı bitti." + +#: core/views.py:33 +msgid "%(model)s entry for %(child)s added!" +msgstr "%(child)s için %(model)s girdisi eklendi!" + +#: core/views.py:35 core/views.py:308 +msgid "%(model)s entry added!" +msgstr "%(model)s girdisi eklendi!" + +#: core/views.py:61 core/views.py:316 +msgid "%(model)s entry for %(child)s updated." +msgstr "%(child)s için %(model)s girdisi güncellendi." + +#: core/views.py:63 +msgid "%(model)s entry updated." +msgstr "%(model)s girdisi güncellendi." + +#: core/views.py:115 +msgid "%(first_name)s %(last_name)s added!" +msgstr "%(first_name)s %(last_name)s eklendi!" + +#: core/views.py:478 +msgid "%(timer)s stopped." +msgstr "%(timer)s durdu." + +#: dashboard/templates/cards/diaperchange_last.html:6 +msgid "Last Diaper Change" +msgstr "En Son Bez Değişikliği" + +#: dashboard/templates/cards/diaperchange_last.html:8 +#: dashboard/templates/cards/feeding_last.html:8 +#: dashboard/templates/cards/sleep_last.html:8 +#: dashboard/templates/cards/tummytime_last.html:8 +msgid "%(time)s ago" +msgstr "%(time)s önce" + +#: dashboard/templates/cards/tummytime_last.html:18 +msgid "Never" +msgstr "Asla" + +#: dashboard/templates/cards/diaperchange_types.html:14 +msgid "Past Week" +msgstr "Geçen Hafta" + +#: dashboard/templates/cards/diaperchange_types.html:27 +msgid "wet" +msgstr "ıslak" + +#: dashboard/templates/cards/diaperchange_types.html:35 +msgid "solid" +msgstr "kuru" + +#: dashboard/templates/cards/diaperchange_types.html:49 +msgid "today" +msgstr "bugün" + +#: dashboard/templates/cards/diaperchange_types.html:51 +msgid "yesterday" +msgstr "dün" + +#: dashboard/templates/cards/diaperchange_types.html:53 +msgid "%(key)s days ago" +msgstr "%(key)s gün önce" + +#: dashboard/templates/cards/feeding_last.html:6 +msgid "Last Feeding" +msgstr "Son Beslenme" + +#: dashboard/templates/cards/feeding_last_method.html:6 +msgid "Last Feeding Method" +msgstr "Son Beslenme Metodu" + +#: dashboard/templates/cards/sleep_day.html:6 +msgid "Today's Sleep" +msgstr "Bugünkü Uyku" + +#: dashboard/templates/cards/sleep_day.html:11 +#: dashboard/templates/cards/sleep_naps_day.html:13 +#: dashboard/templates/cards/tummytime_day.html:11 +msgid "None yet today" +msgstr "Bugün Henüz Yok" + +#: dashboard/templates/cards/sleep_day.html:20 +msgid "%(count)s sleep entries" +msgstr "%(count)s uygu girdileri" + +#: dashboard/templates/cards/sleep_last.html:4 +msgid "Last Slept" +msgstr "Son Uyku" + +#: dashboard/templates/cards/sleep_naps_day.html:6 +msgid "Today's Naps" +msgstr "Bugünkü Kısa Uykular" + +#: dashboard/templates/cards/sleep_naps_day.html:12 +msgid "%(count)s nap%(plural)s" +msgstr "%(count)s kısa uyku%(plural)s" + +#: dashboard/templates/cards/statistics.html:7 +msgid "Statistics" +msgstr "İstatistikler" + +#: dashboard/templates/cards/statistics.html:25 +msgid "Not enough data" +msgstr "Yeterli veri yok" + +#: dashboard/templates/cards/timer_list.html:12 +msgid "%(count)s active timer%(plural)s" +msgstr "%(count)s etkin zamanlayıcı%(plural)s" + +#: dashboard/templates/cards/timer_list.html:19 +msgid "Started by %(instance.user)s at %(start)s" +msgstr "%(instance.user)s tarafından %(start)s da başlatıldı" + +#: dashboard/templates/cards/tummytime_day.html:6 +msgid "Today's Tummy Time" +msgstr "Bugünkü Karın Üstü Zamanı" + +#: dashboard/templates/cards/tummytime_day.html:22 +msgid "%(duration)s at %(end)s" +msgstr "%(end)s de %(duration)s" + +#: dashboard/templates/cards/tummytime_last.html:6 +msgid "Last Tummy Time" +msgstr "En Son Karın Üstü Zamanı" + +#: dashboard/templates/dashboard/child_button_group.html:3 +msgid "Child actions" +msgstr "Çocuk eylemleri" + +#: reports/templates/reports/diaperchange_types.html:4 +#: reports/templates/reports/diaperchange_types.html:8 +#: reports/templates/reports/report_list.html:12 +msgid "Diaper Change Types" +msgstr "Bez Değişim Tipleri" + +#: reports/templates/reports/diaperchange_lifetimes.html:4 +#: reports/templates/reports/diaperchange_lifetimes.html:8 +#: reports/templates/reports/report_list.html:13 +msgid "Diaper Lifetimes" +msgstr "Bez Ömrü" + +#: reports/templates/reports/report_list.html:15 +msgid "Feeding Durations (Average)" +msgstr "Beslenme Süreleri (Ortalama)" + +#: reports/templates/reports/report_list.html:19 +#: reports/templates/reports/sleep_pattern.html:4 +#: reports/templates/reports/sleep_pattern.html:8 +msgid "Sleep Pattern" +msgstr "Uyku Deseni" + +#: reports/templates/reports/report_list.html:20 +#: reports/templates/reports/sleep_totals.html:4 +#: reports/templates/reports/sleep_totals.html:8 +msgid "Sleep Totals" +msgstr "Toplam Uyku" + +#: dashboard/templatetags/cards.py:420 +msgid "Diaper change frequency" +msgstr "Bez değişim sıklığı" + +#: dashboard/templatetags/cards.py:466 +msgid "Feeding frequency" +msgstr "Beslenme sıklığı" + +#: dashboard/templatetags/cards.py:328 +msgid "Average nap duration" +msgstr "Ortalama kısa uyku süresi" + +#: dashboard/templatetags/cards.py:335 +msgid "Average naps per day" +msgstr "Ortalama günlük kısa uyku" + +#: dashboard/templatetags/cards.py:345 +msgid "Average sleep duration" +msgstr "Ortalama uyku süresi" + +#: dashboard/templatetags/cards.py:352 +msgid "Average awake duration" +msgstr "Ortalama uyanıklık süresi" + +#: dashboard/templatetags/cards.py:362 +msgid "Weight change per week" +msgstr "Haftalık ağırlık değişimi" + +#: reports/graphs/diaperchange_lifetimes.py:35 +msgid "Diaper Lifetimes" +msgstr "Bez Ömürleri" + +#: reports/graphs/diaperchange_lifetimes.py:36 +msgid "Time between changes (hours)" +msgstr "Değişimler arası zaman (saat)" + +#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 +msgid "Total" +msgstr "Toplam" + +#: reports/graphs/diaperchange_types.py:48 +msgid "Diaper Change Types" +msgstr "Bez Değişim Tipleri" + +#: reports/graphs/diaperchange_types.py:51 +msgid "Number of changes" +msgstr "Değişik sayıları" + +#: reports/graphs/feeding_duration.py:38 +msgid "Average duration" +msgstr "Ortalama süre" + +#: reports/graphs/feeding_duration.py:46 +msgid "Total feedings" +msgstr "Toplam beslenmeler" + +#: reports/graphs/feeding_duration.py:55 +msgid "Average Feeding Durations" +msgstr "Ortalama Beslenme Süreleri" + +#: reports/graphs/feeding_duration.py:58 +msgid "Average duration (minutes)" +msgstr "Ortalama süre (dakika)" + +#: reports/graphs/feeding_duration.py:60 +msgid "Number of feedings" +msgstr "Beslenme sayısı" + +#: reports/graphs/sleep_pattern.py:148 +msgid "Sleep Pattern" +msgstr "Uyku Deseni" + +#: reports/graphs/sleep_pattern.py:165 +msgid "Time of day" +msgstr "Günün zamanı" + +#: reports/graphs/sleep_totals.py:48 +msgid "Total sleep" +msgstr "Toplam Uyku" + +#: reports/graphs/sleep_totals.py:58 +msgid "Sleep Totals" +msgstr "Uyku Toplamları" + +#: reports/graphs/sleep_totals.py:61 +msgid "Hours of sleep" +msgstr "Uyku Saatleri" + +#: reports/graphs/weight_change.py:27 +msgid "Weight" +msgstr "Ağırlık" + +#: reports/templates/reports/feeding_duration.html:4 +#: reports/templates/reports/feeding_duration.html:8 +msgid "Average Feeding Durations" +msgstr "Ortalama Beslenme Süreleri" + +#: dashboard/templates/dashboard/child_button_group.html:12 +#: reports/templates/reports/base.html:9 +#: reports/templates/reports/report_list.html:4 +msgid "Reports" +msgstr "Raporlar" + +#: reports/templates/reports/report_base.html:19 +msgid "There is no enough data to generate this report." +msgstr "Raporu oluşturmak için yeterli veri yok." + +#: core/models.py:296 +msgid "Both breasts" +msgstr "Her iki göğüs" + +#: babybuddy/settings/base.py:173 +msgid "German" +msgstr "Almanca" + +#: babybuddy/settings/base.py:177 +msgid "Spanish" +msgstr "İspanyolca" + +#: babybuddy/settings/base.py:178 +msgid "Swedish" +msgstr "İsveççe" + +#: babybuddy/settings/base.py:179 +msgid "Turkish" +msgstr "Türkçe" + +#: babybuddy/templates/error/403.html:9 +msgid "You do not have permission to access this resource. Contact a site administrator for assistance." +msgstr "Bu kaynağa erişmek için izniniz yoktur. Yardım için website yöneticisiyle iletişime geçin." + +#: babybuddy/templates/babybuddy/nav-dropdown.html:75 +#: babybuddy/templates/babybuddy/nav-dropdown.html:179 core/models.py:506 +#: core/models.py:519 core/models.py:520 core/models.py:523 +#: core/templates/core/temperature_confirm_delete.html:7 +#: core/templates/core/temperature_form.html:13 +#: core/templates/core/temperature_list.html:4 +#: core/templates/core/temperature_list.html:7 +#: core/templates/core/temperature_list.html:12 +#: core/templates/core/temperature_list.html:29 +msgid "Temperature" +msgstr "Sıcaklık" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:185 +msgid "Temperature reading" +msgstr "Sıcaklık okuma" + +#: babybuddy/templates/babybuddy/welcome.html:14 +msgid "Learn about and predict baby's needs without (as much) guess work by using Baby Buddy to track —" +msgstr "Baby Buddy ile takip ederek tahmin etmeye (çok) gerek kalmadan bebeğin ihtiyaçlarını öğren —" + +#: babybuddy/templates/babybuddy/welcome.html:56 +msgid "As the amount of entries grows, Baby Buddy will help parents and caregivers to identify small patterns in baby's habits using the dashboard and graphs. Baby Buddy is mobile-friendly and uses a dark theme to help weary moms and dads with 2AM feedings and changings. To get started, just click the button below to add your first (or second, third, etc.) child!" +msgstr "Girdiler arttıkça Baby Buddy ailelere bebeklerin alışkanlıkları hakkında kontrol paneli ve grafikler ile fikir verir. Baby Buddy mobil dostudur ve yorgun anne babaların gece 2'de yapacakları beslenmeler ve bez değişiklikleri için kotu temayı kullanır. Başlamak için yalnızca aşağıdaki butonu tıklayınız ve ilk (veya ikinci, üçüncü, vs.) çocuğunuzu ekleyiniz!" + +#: babybuddy/templates/registration/password_reset_confirm.html:13 +msgid "Oh snap! The two passwords did not match. Please try again." +msgstr "Hay Aksi! Şifreler uyuşmuyor. Lütfen tekrar deneyiniz." + +#: babybuddy/templates/registration/password_reset_done.html:9 +msgid "We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly." +msgstr "Eğer girdiğiniz eposta ile kayıtlı kullanıcı varsa şifrenizi yeniden oluşturmak için talimatları epostanıza gönderdik. Kısa süre sonra size ulaşacak." + +#: babybuddy/templates/registration/password_reset_done.html:15 +msgid "If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder." +msgstr "Eğer eposta size ulaşmazsa lütfen girdiğiniz eposta adresinizin doğru olduğuna emin olun ve epostanızdaki spam klasörünü kontrol ediniz." + +#: babybuddy/templates/registration/password_reset_form.html:9 +msgid "Enter your account email address in the form below. If the address is valid, you will receive instructions for resetting your password." +msgstr "Eposta adresinizi aşağıdaki forma giriniz. Eposta adresi doğruysa şifrenizi sıfırmalak için talimatlar gönderilecek." + +#: core/models.py:285 +msgid "Fortified breast milk" +msgstr "Anne sütü" + +#: core/templates/core/temperature_confirm_delete.html:4 +msgid "Delete a Temperature Reading" +msgstr "Beslenme ekle" + +#: core/templates/core/temperature_form.html:8 +#: core/templates/core/temperature_form.html:17 +msgid "Add a Temperature Reading" +msgstr "Beslenme ekle" + +#: core/templates/core/temperature_form.html:27 +msgid "Add a Temperature Entry" +msgstr "Uyku Girdisi Ekle" + +#: core/templates/core/temperature_list.html:70 +msgid "No temperature entries found." +msgstr "Zamanlayıcı girdisi bulunamadı" + +#: core/templates/core/timer_detail.html:34 +msgid "%(timer)s created by %(user)s" +msgstr "%(timer)s %(user)s tarafından oluşturuldu" + +#: core/utils.py:40 +msgid "%(hours)s hour" +msgid_plural "%(hours)s hours" +msgstr[0] "%(hours)s saat" +msgstr[1] "%(hours)s saat" + +#: core/utils.py:44 +msgid "%(minutes)s minute" +msgid_plural "%(minutes)s minutes" +msgstr[0] "%(minutes)s dakika" +msgstr[1] "%(minutes)s dakika" + +#: core/utils.py:50 +msgid "%(seconds)s second" +msgid_plural "%(seconds)s seconds" +msgstr[0] "%(seconds)s saniye" +msgstr[1] "%(seconds)s saniye" + +#: core/views.py:69 core/views.py:146 +msgid "%(model)s entry deleted." +msgstr "%(model)s girdisi güncellendi." + +#: core/views.py:366 +msgid "%(model)s reading added!" +msgstr "%(model)s girdisi eklendi!" + +#: core/views.py:374 +msgid "%(model)s reading for %(child)s updated." +msgstr "%(child)s için %(model)s girdisi güncellendi." + +#: dashboard/templates/cards/timer_list.html:27 +msgid "Started by %(user)s at %(start)s" +msgstr "%(user)s tarafından %(start)s da başlatıldı" + +#: reports/templates/reports/feeding_amounts.html:4 +#: reports/templates/reports/feeding_amounts.html:8 +#: reports/templates/reports/report_list.html:14 +msgid "Feeding Amounts" +msgstr "Beslenmeler" + +#: reports/graphs/feeding_amounts.py:27 +msgid "Total feeding amount" +msgstr "Toplam beslenmeler" + +#: reports/graphs/feeding_amounts.py:36 +msgid "Total Feeding Amounts" +msgstr "Ortalama Beslenme Süreleri" + +#: reports/graphs/feeding_amounts.py:72 +msgid "Feeding amount" +msgstr "Beslenme" + +#: reports/templates/reports/report_base.html:17 +msgid "There is not enough data to generate this report." +msgstr "Raporu oluşturmak için yeterli veri yok." + +#: babybuddy/models.py:69 +msgid "Timezone" +msgstr "Saat dilimi" + +#: babybuddy/templates/admin/base_site.html:4 +#: babybuddy/templates/admin/base_site.html:7 +#: babybuddy/templates/babybuddy/nav-dropdown.html:359 +msgid "Database Admin" +msgstr "Veritabanı Admin" + +#: core/templates/core/child_list.html:15 +msgid "Add Child" +msgstr "Çocuk Ekle" + +#: core/templates/core/diaperchange_list.html:15 +msgid "Add Diaper Change" +msgstr "Bez Değişim Ekle" + +#: core/templates/core/feeding_list.html:15 +msgid "Add Feeding" +msgstr "Beslenme Ekle" + +#: core/templates/core/note_list.html:15 +msgid "Add Note" +msgstr "Not Ekle" + +#: core/templates/core/sleep_list.html:15 +msgid "Add Sleep" +msgstr "Uyku Ekle" + +#: core/templates/core/temperature_list.html:15 +msgid "Add Temperature Reading" +msgstr "Sıcaklık Okuma Ekle" + +#: core/templates/core/timer_confirm_delete_inactive.html:5 +msgid "Delete All Inactive Timers" +msgstr "Pasif Tüm Zamanlayıcıları Sil" + +#: core/templates/core/timer_confirm_delete_inactive.html:10 +msgid "Delete Inactive" +msgstr "Pasif Sil" + +#: core/templates/core/timer_confirm_delete_inactive.html:17 +msgid "Are you sure you want to delete %(number)s inactive timer%(plural)s?" +msgstr "%(number)s pasif zamanlıyıcıları silmek istediğinize emin misiniz?" + +#: core/templates/core/timer_list.html:68 +msgid "Delete Inactive Timers" +msgstr "Pasif Zamanlayıcıları Sil" + +#: core/templates/core/tummytime_list.html:15 +msgid "Add Tummy Time" +msgstr "Karın Üstü Zamanı Ekle" + +#: core/templates/core/weight_list.html:15 +msgid "Add Weight" +msgstr "Ağırlık Ekle" + +#: core/views.py:501 +msgid "All inactive timers deleted." +msgstr "Tüm Pasif Zamanlayıcılar Silindi" + +#: core/views.py:511 +msgid "No inactive timers exist." +msgstr "Pasif Zamanlayıcı Yok." + +#: dashboard/templates/cards/feeding_last_method.html:19 +msgid "most recent" +msgstr "en son" + +#: dashboard/templates/cards/feeding_last_method.html:21 +msgid "%(n)s feeding%(plural)s ago" +msgstr "%(n) beslenmeler önce" + +#: dashboard/templates/cards/sleep_last.html:6 +msgid "Last Sleep" +msgstr "En Son Uyku" + +#: reports/templates/reports/report_list.html:11 +msgid "Diaper Change Amounts" +msgstr "Bez Değişim Miktarı" + +#: reports/graphs/diaperchange_amounts.py:27 +msgid "Diaper change amount" +msgstr "Bez değişim miktarı" + +#: reports/graphs/diaperchange_amounts.py:36 +msgid "Diaper Change Amounts" +msgstr "Bez Değişim Miktarı" + +#: reports/graphs/diaperchange_amounts.py:39 +msgid "Change amount" +msgstr "Değişim Miktarı" + +#: reports/templates/reports/diaperchange_amounts.html:4 +#: reports/templates/reports/diaperchange_amounts.html:8 +msgid "Diaper Amounts" +msgstr "Bez Miktarı" + +#: babybuddy/models.py:21 +msgid "If supported by browser, the dashboard will only refresh when visible, and also when receiving focus." +msgstr "Tarayıcı tarafından destekleniyorsa kontrol paneli sadece görünür olduğunda ve ayrıca odaklandığında görünür" + +#: babybuddy/models.py:40 +msgid "Hide Empty Dashboard Cards" +msgstr "Boş Kontrol Paneli Kartlarını Gizle" + +#: babybuddy/models.py:43 +msgid "Hide data older than" +msgstr "Daha eski verileri gizle" + +#: babybuddy/models.py:45 +msgid "This setting controls which data will be shown in the dashboard." +msgstr "Bu ayar, kontrol panelinde hangi verilerin gösterileceğini kontrol eder." + +#: babybuddy/models.py:51 +msgid "show all data" +msgstr "tüm veriyi göster" + +#: babybuddy/models.py:52 +msgid "1 day" +msgstr "1 gün" + +#: babybuddy/models.py:53 +msgid "2 days" +msgstr "2 gün" + +#: babybuddy/models.py:54 +msgid "3 days" +msgstr "3 gün" + +#: babybuddy/models.py:55 +msgid "1 week" +msgstr "1 hafta" + +#: babybuddy/models.py:56 +msgid "4 weeks" +msgstr "4 hafta" + +#: babybuddy/settings/base.py:168 +msgid "Dutch" +msgstr "Flemenkçe" + +#: babybuddy/settings/base.py:172 +msgid "Finnish" +msgstr "Fince" + +#: babybuddy/settings/base.py:174 +msgid "Italian" +msgstr "İtalyanca" + +#: babybuddy/settings/base.py:175 +msgid "Polish" +msgstr "Lehçe" + +#: babybuddy/settings/base.py:176 +msgid "Portuguese" +msgstr "Portekizce" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:118 +#: core/templates/timeline/timeline.html:4 +#: core/templates/timeline/timeline.html:7 +#: dashboard/templates/dashboard/child_button_group.html:9 +msgid "Timeline" +msgstr "Zaman çizelgesi" + +#: core/models.py:286 +msgid "Solid food" +msgstr "Katı yiyecek" + +#: core/models.py:297 +msgid "Parent fed" +msgstr "Ebeveyn beslenme" + +#: core/models.py:298 +msgid "Self fed" +msgstr "Kendi beslenme" + +#: core/templates/core/diaperchange_list.html:29 +msgid "Contents" +msgstr "İçerikler" + +#: core/templates/core/timer_detail.html:77 +msgid "Restart timer" +msgstr "Yeniden başlatma zamanlayıcısı" + +#: core/templates/core/timer_detail.html:84 +msgid "Delete timer" +msgstr "Silme zamanlayıcısı" + +#: core/templatetags/datetime.py:60 +msgid "Today" +msgstr "bugün" + +#: core/templatetags/datetime.py:75 +msgid "{}, {}" +msgstr "{}, {}" + +#: core/templatetags/duration.py:25 +msgid "0 days" +msgstr "0 gün" + +#: core/timeline.py:137 +msgid "Amount: %(amount).0f" +msgstr "Miktar: %(amount)" + +#: core/timeline.py:157 +msgid "Contents: %(contents)s" +msgstr "İçerik: %(contents)s" + +#: dashboard/templates/cards/diaperchange_last.html:12 +#: dashboard/templates/cards/feeding_last.html:12 +#: dashboard/templates/cards/sleep_last.html:12 +#: dashboard/templates/cards/tummytime_last.html:13 +msgid "
%(since)s ago
%(time)s" +msgstr "
%(since)s önce
%(time)s" + +#: dashboard/templates/cards/feeding_day.html:6 +msgid "Today's Feeding" +msgstr "Bugünkü beslenme" + +#: dashboard/templates/cards/feeding_day.html:20 +msgid "%(count)s feeding entries" +msgstr "%(count) beslenme girdileri" + +#: dashboard/templates/cards/statistics.html:42 +msgid "No data yet" +msgstr "Henüz veri yok" + +#: reports/templates/reports/report_list.html:21 +msgid "Tummy Time Durations (Sum)" +msgstr "Karın üstü süresi (Sum)" + +#: core/templates/timeline/_timeline.html:61 +#: dashboard/templates/dashboard/child_button_group.html:20 +msgid "Edit" +msgstr "Düzenle" + +#: dashboard/templatetags/cards.py:456 +msgid "Feeding frequency (past 3 days)" +msgstr "Beslenme sıklığı (son 3 gün)" + +#: dashboard/templatetags/cards.py:460 +msgid "Feeding frequency (past 2 weeks)" +msgstr "Beslenme sıklığı (son 2 hafta)" + +#: reports/graphs/tummytime_duration.py:34 +msgid "Total duration" +msgstr "Toplam düre" + +#: reports/graphs/tummytime_duration.py:41 +#: reports/graphs/tummytime_duration.py:55 +msgid "Number of sessions" +msgstr "Session sayısı" + +#: reports/graphs/tummytime_duration.py:50 +msgid "Total Tummy Time Durations" +msgstr "Toplam Karın Üstü Süresi" + +#: reports/graphs/tummytime_duration.py:53 +msgid "Total duration (minutes)" +msgstr "Toplam süre (dakika)" + +#: reports/templates/reports/tummytime_duration.html:4 +#: reports/templates/reports/tummytime_duration.html:8 +msgid "Total Tummy Time Durations" +msgstr "Toplam Karın Üstü Süresi" + +#: babybuddy/settings/base.py:169 +#, fuzzy +msgid "English (US)" +msgstr "İngilizce" + +#: babybuddy/settings/base.py:170 +#, fuzzy +msgid "English (UK)" +msgstr "İngilizce" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:171 +msgid "Measurements" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:207 core/models.py:369 +#: core/models.py:381 core/models.py:382 core/models.py:385 +#: core/templates/core/height_confirm_delete.html:7 +#: core/templates/core/height_form.html:13 +#: core/templates/core/height_list.html:4 +#: core/templates/core/height_list.html:7 +#: core/templates/core/height_list.html:12 +#: core/templates/core/height_list.html:29 reports/graphs/height_change.py:19 +#: reports/graphs/height_change.py:30 +#: reports/templates/reports/height_change.html:4 +#: reports/templates/reports/height_change.html:8 +#: reports/templates/reports/report_list.html:17 +#, fuzzy +msgid "Height" +msgstr "Ağırlık" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:213 +#, fuzzy +msgid "Height entry" +msgstr "Ağırlık girdisi" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:221 core/models.py:338 +#: core/models.py:351 core/models.py:352 core/models.py:355 +#: core/templates/core/head_circumference_confirm_delete.html:7 +#: core/templates/core/head_circumference_form.html:13 +#: core/templates/core/head_circumference_list.html:4 +#: core/templates/core/head_circumference_list.html:7 +#: core/templates/core/head_circumference_list.html:12 +#: core/templates/core/head_circumference_list.html:29 +#: reports/graphs/head_circumference_change.py:19 +#: reports/graphs/head_circumference_change.py:30 +#: reports/templates/reports/head_circumference_change.html:4 +#: reports/templates/reports/head_circumference_change.html:8 +#: reports/templates/reports/report_list.html:16 +msgid "Head Circumference" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:227 +msgid "Head Circumference entry" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:235 core/models.py:139 +#: core/models.py:151 core/models.py:152 core/models.py:155 +#: core/templates/core/bmi_confirm_delete.html:7 +#: core/templates/core/bmi_form.html:13 core/templates/core/bmi_list.html:4 +#: core/templates/core/bmi_list.html:7 core/templates/core/bmi_list.html:12 +#: core/templates/core/bmi_list.html:29 reports/graphs/bmi_change.py:19 +#: reports/graphs/bmi_change.py:30 reports/templates/reports/bmi_change.html:4 +#: reports/templates/reports/bmi_change.html:8 +msgid "BMI" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:241 +#, fuzzy +msgid "BMI entry" +msgstr "Uyku Girişi" + +#: core/models.py:452 +msgid "Napping" +msgstr "" + +#: core/templates/core/bmi_confirm_delete.html:4 +#, fuzzy +msgid "Delete a BMI Entry" +msgstr "Uyku Girdisi Sil" + +#: core/templates/core/bmi_form.html:8 core/templates/core/bmi_form.html:17 +#: core/templates/core/bmi_form.html:27 +#, fuzzy +msgid "Add a BMI Entry" +msgstr "Uyku Girdisi Ekle" + +#: core/templates/core/bmi_list.html:15 +msgid "Add BMI" +msgstr "" + +#: core/templates/core/bmi_list.html:70 +#, fuzzy +msgid "No bmi entries found." +msgstr "Zamanlayıcı girdisi bulunamadı" + +#: core/templates/core/head_circumference_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Head Circumference Entry" +msgstr "Karın Üstü Uyku Girdisi Sil" + +#: core/templates/core/head_circumference_form.html:8 +#: core/templates/core/head_circumference_form.html:17 +#: core/templates/core/head_circumference_form.html:27 +#, fuzzy +msgid "Add a Head Circumference Entry" +msgstr "Uyku Girdisi Ekle" + +#: core/templates/core/head_circumference_list.html:15 +msgid "Add Head Circumference" +msgstr "" + +#: core/templates/core/head_circumference_list.html:70 +#, fuzzy +msgid "No head circumference entries found." +msgstr "Zamanlayıcı girdisi bulunamadı" + +#: core/templates/core/height_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Height Entry" +msgstr "Ağırlık Girdisi Sil" + +#: core/templates/core/height_form.html:8 +#: core/templates/core/height_form.html:17 +#: core/templates/core/height_form.html:27 +#, fuzzy +msgid "Add a Height Entry" +msgstr "Ağırlık Girdisi Ekle" + +#: core/templates/core/height_list.html:15 +#, fuzzy +msgid "Add Height" +msgstr "Ağırlık Ekle" + +#: core/templates/core/height_list.html:70 +#, fuzzy +msgid "No height entries found." +msgstr "Ağırlık girdisi bulunamadı." + +#: core/templates/timeline/_timeline.html:44 +#, fuzzy +msgid "Duration: %(duration)s" +msgstr "Süre çok uzun." + +#: core/templates/timeline/_timeline.html:53 +msgid "%(since)s since previous" +msgstr "" + +#: core/templates/timeline/_timeline.html:85 +msgid "No events" +msgstr "" + +#: core/timeline.py:185 +#, fuzzy +msgid "%(child)s had a %(type)s diaper change." +msgstr "%(child)s bez değiştirildi." + +#: dashboard/templatetags/cards.py:372 +#, fuzzy +msgid "Height change per week" +msgstr "Haftalık ağırlık değişimi" + +#: dashboard/templatetags/cards.py:382 +#, fuzzy +msgid "Head circumference change per week" +msgstr "Haftalık ağırlık değişimi" + +#: dashboard/templatetags/cards.py:392 +#, fuzzy +msgid "BMI change per week" +msgstr "Haftalık ağırlık değişimi" + +#: reports/graphs/bmi_change.py:27 +#, fuzzy +msgid "BMI" +msgstr "Ağırlık" + +#: reports/graphs/feeding_amounts.py:69 +#, fuzzy +msgid "Total Feeding Amount by Type" +msgstr "Ortalama Beslenme Süreleri" + +#: reports/graphs/head_circumference_change.py:27 +msgid "Head Circumference" +msgstr "" + +#: reports/graphs/height_change.py:27 +#, fuzzy +msgid "Height" +msgstr "Ağırlık" + +#: babybuddy/settings/base.py:167 +msgid "Chinese (simplified)" +msgstr "" + +#: babybuddy/templates/error/400.html:4 babybuddy/templates/error/400.html:7 +msgid "Bad Request" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:14 +msgid "How to Fix" +msgstr "" + +#: babybuddy/templates/error/403_csrf_bad_origin.html:15 +msgid "Add %(origin)s to the CSRF_TRUSTED_ORIGINS environment variable. If multiple origins are required separate with commas." +msgstr "" + +#: babybuddy/templates/error/404.html:4 babybuddy/templates/error/404.html:7 +msgid "Page Not Found" +msgstr "" + +#: babybuddy/templates/error/404.html:9 +msgid "The path %(request_path)s does not exist." +msgstr "" + +#: babybuddy/templates/error/500.html:4 babybuddy/templates/error/500.html:7 +msgid "Server Error" +msgstr "" + +#: babybuddy/templates/error/base.html:14 +#, fuzzy +msgid "Return to Baby Buddy" +msgstr "Baby Buddy'e Hoşgeldiniz!" + +#: babybuddy/views.py:43 +msgid "Forbidden" +msgstr "" + +#: babybuddy/views.py:44 +msgid "CSRF verification failed. Request aborted." +msgstr "" + +#: babybuddy/settings/base.py:166 +msgid "Catalan" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:93 +#: babybuddy/templates/babybuddy/nav-dropdown.html:316 core/models.py:437 +#: core/models.py:438 core/models.py:441 +#: core/templates/core/pumping_confirm_delete.html:7 +#: core/templates/core/pumping_form.html:13 +#: core/templates/core/pumping_list.html:4 +#: core/templates/core/pumping_list.html:7 +#: core/templates/core/pumping_list.html:12 +#: reports/templates/reports/pumping_amounts.html:4 +#: reports/templates/reports/pumping_amounts.html:8 +msgid "Pumping" +msgstr "" + +#: babybuddy/templates/babybuddy/nav-dropdown.html:322 +#, fuzzy +msgid "Pumping entry" +msgstr "Ağırlık girdisi" + +#: core/filters.py:11 core/models.py:96 core/models.py:115 +msgid "Tag" +msgstr "" + +#: core/forms.py:136 +msgid "Click on the tags to add (+) or remove (-) tags or use the text editor to create new tags." +msgstr "" + +#: core/models.py:90 +#, fuzzy +msgid "Last used" +msgstr "Soyad" + +#: core/models.py:97 core/templates/core/bmi_list.html:30 +#: core/templates/core/diaperchange_list.html:32 +#: core/templates/core/feeding_list.html:35 +#: core/templates/core/head_circumference_list.html:30 +#: core/templates/core/height_list.html:30 +#: core/templates/core/note_list.html:30 core/templates/core/sleep_list.html:32 +#: core/templates/core/temperature_list.html:30 +#: core/templates/core/tummytime_list.html:31 +#: core/templates/core/weight_list.html:30 +msgid "Tags" +msgstr "" + +#: core/templates/core/pumping_confirm_delete.html:4 +#, fuzzy +msgid "Delete a Pumping Entry" +msgstr "Ağırlık Girdisi Sil" + +#: core/templates/core/pumping_form.html:8 +#: core/templates/core/pumping_form.html:17 +#: core/templates/core/pumping_form.html:27 +#, fuzzy +msgid "Add a Pumping Entry" +msgstr "Ağırlık Girdisi Ekle" + +#: core/templates/core/pumping_list.html:15 +#, fuzzy +msgid "Add Pumping Entry" +msgstr "Ağırlık Girdisi Ekle" + +#: core/templates/core/pumping_list.html:66 +#, fuzzy +msgid "No pumping entries found." +msgstr "Zamanlayıcı girdisi bulunamadı" + #: core/templates/core/widget_tag_editor.html:22 #, fuzzy -#| msgid "Last name" msgid "Tag name" msgstr "Soyad" @@ -1609,595 +2090,71 @@ msgctxt "Error modal" msgid "Close" msgstr "" -#: core/templates/timeline/_timeline.html:38 -#, python-format -msgid "%(since)s ago (%(time)s)" -msgstr "%(since)s önce (%(time)s)" - -#: core/templates/timeline/_timeline.html:44 -#, fuzzy, python-format -#| msgid "Duration too long." -msgid "Duration: %(duration)s" -msgstr "Süre çok uzun." - -#: core/templates/timeline/_timeline.html:53 -#, python-format -msgid "%(since)s since previous" -msgstr "" - -#: core/templates/timeline/_timeline.html:61 -#: dashboard/templates/dashboard/child_button_group.html:20 -msgid "Edit" -msgstr "Düzenle" - -#: core/templates/timeline/_timeline.html:85 -msgid "No events" -msgstr "" - -#: core/templatetags/datetime.py:60 -msgid "Today" -msgstr "bugün" - -#: core/templatetags/datetime.py:75 -msgid "{}, {}" -msgstr "{}, {}" - -#: core/templatetags/duration.py:25 -msgid "0 days" -msgstr "0 gün" - -#: core/templatetags/duration.py:111 -#: dashboard/templates/cards/diaperchange_types.html:49 -msgid "today" -msgstr "bugün" - -#: core/templatetags/duration.py:113 -#: dashboard/templates/cards/diaperchange_types.html:51 -msgid "yesterday" -msgstr "dün" - -#: core/templatetags/duration.py:116 -#, fuzzy -#| msgid "%(key)s days ago" -msgid " days ago" -msgstr "%(key)s gün önce" - -#: core/timeline.py:53 -#, python-format -msgid "%(child)s started tummy time!" -msgstr "%(child)s karın üstü zamanı başladı!" - -#: core/timeline.py:65 -#, python-format -msgid "%(child)s finished tummy time." -msgstr "%(child)s karın üstü zamanı bitti." - -#: core/timeline.py:91 -#, python-format -msgid "%(child)s fell asleep." -msgstr "%(child)s uyudu." - -#: core/timeline.py:103 -#, python-format -msgid "%(child)s woke up." -msgstr "%(child)s uyandı" - -#: core/timeline.py:137 -#, fuzzy, python-format -#| msgid "Amount: %(amount).0f" -msgid "Amount: %(amount).0f" -msgstr "Miktar: %(amount)" - -#: core/timeline.py:145 -#, python-format -msgid "%(child)s started feeding." -msgstr "%(child)s beslenmeye başladı." - -#: core/timeline.py:158 -#, python-format -msgid "%(child)s finished feeding." -msgstr "%(child)s beslenmesi bitti." - -#: core/timeline.py:185 -#, fuzzy, python-format -#| msgid "%(child)s had a diaper change." -msgid "%(child)s had a %(type)s diaper change." -msgstr "%(child)s bez değiştirildi." - -#: core/utils.py:40 -#, python-format -msgid "%(hours)s hour" -msgid_plural "%(hours)s hours" -msgstr[0] "%(hours)s saat" -msgstr[1] "%(hours)s saat" - -#: core/utils.py:44 -#, python-format -msgid "%(minutes)s minute" -msgid_plural "%(minutes)s minutes" -msgstr[0] "%(minutes)s dakika" -msgstr[1] "%(minutes)s dakika" - -#: core/utils.py:50 -#, python-format -msgid "%(seconds)s second" -msgid_plural "%(seconds)s seconds" -msgstr[0] "%(seconds)s saniye" -msgstr[1] "%(seconds)s saniye" - -#: core/views.py:33 -#, python-format -msgid "%(model)s entry for %(child)s added!" -msgstr "%(child)s için %(model)s girdisi eklendi!" - -#: core/views.py:35 core/views.py:308 -#, python-format -msgid "%(model)s entry added!" -msgstr "%(model)s girdisi eklendi!" - -#: core/views.py:61 core/views.py:316 -#, python-format -msgid "%(model)s entry for %(child)s updated." -msgstr "%(child)s için %(model)s girdisi güncellendi." - -#: core/views.py:63 -#, python-format -msgid "%(model)s entry updated." -msgstr "%(model)s girdisi güncellendi." - -#: core/views.py:69 core/views.py:146 -#, python-format -msgid "%(model)s entry deleted." -msgstr "%(model)s girdisi güncellendi." - -#: core/views.py:115 -#, python-format -msgid "%(first_name)s %(last_name)s added!" -msgstr "%(first_name)s %(last_name)s eklendi!" - -#: core/views.py:366 -#, python-format -msgid "%(model)s reading added!" -msgstr "%(model)s girdisi eklendi!" - -#: core/views.py:374 -#, python-format -msgid "%(model)s reading for %(child)s updated." -msgstr "%(child)s için %(model)s girdisi güncellendi." - -#: core/views.py:483 -#, python-format -msgid "%(timer)s stopped." -msgstr "%(timer)s durdu." - -#: core/views.py:506 -msgid "All inactive timers deleted." -msgstr "Tüm Pasif Zamanlayıcılar Silindi" - -#: core/views.py:516 -msgid "No inactive timers exist." -msgstr "Pasif Zamanlayıcı Yok." - -#: dashboard/templates/cards/diaperchange_last.html:6 -msgid "Last Diaper Change" -msgstr "En Son Bez Değişikliği" - -#: dashboard/templates/cards/diaperchange_last.html:12 -#: dashboard/templates/cards/feeding_last.html:12 -#: dashboard/templates/cards/sleep_last.html:12 -#: dashboard/templates/cards/tummytime_last.html:13 -#, python-format -msgid "
%(since)s ago
%(time)s" -msgstr "
%(since)s önce
%(time)s" - -#: dashboard/templates/cards/diaperchange_types.html:14 -msgid "Past Week" -msgstr "Geçen Hafta" - -#: dashboard/templates/cards/diaperchange_types.html:27 -msgid "wet" -msgstr "ıslak" - -#: dashboard/templates/cards/diaperchange_types.html:35 -msgid "solid" -msgstr "kuru" - -#: dashboard/templates/cards/diaperchange_types.html:53 -#, python-format -msgid "%(key)s days ago" -msgstr "%(key)s gün önce" - -#: dashboard/templates/cards/feeding_day.html:6 -msgid "Today's Feeding" -msgstr "Bugünkü beslenme" - -#: dashboard/templates/cards/feeding_day.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s feeding" -msgid_plural "%(counter)s feedings" -msgstr[0] "%(count)s uygu girdileri" -msgstr[1] "%(count)s uygu girdileri" - #: dashboard/templates/cards/feeding_day.html:32 -#: dashboard/templates/cards/sleep_recent.html:32 -#, python-format msgid "
%(since)s
" msgstr "" -#: dashboard/templates/cards/feeding_last.html:6 -msgid "Last Feeding" -msgstr "Son Beslenme" - -#: dashboard/templates/cards/feeding_last_method.html:6 -msgid "Last Feeding Method" -msgstr "Son Beslenme Metodu" - -#: dashboard/templates/cards/feeding_last_method.html:19 -msgid "most recent" -msgstr "en son" - -#: dashboard/templates/cards/feeding_last_method.html:21 -#, fuzzy, python-format -#| msgid "%(n)s feeding%(plural)s ago" -msgid "%(n)s feeding ago" -msgid_plural "%(n)s feedings ago" -msgstr[0] "%(n) beslenmeler önce" -msgstr[1] "%(n) beslenmeler önce" - -#: dashboard/templates/cards/sleep_last.html:6 -msgid "Last Sleep" -msgstr "En Son Uyku" - -#: dashboard/templates/cards/sleep_naps_day.html:6 -msgid "Today's Naps" -msgstr "Bugünkü Kısa Uykular" - -#: dashboard/templates/cards/sleep_naps_day.html:12 -#, fuzzy, python-format -#| msgid "%(count)s nap%(plural)s" -msgid "%(count)s nap" -msgid_plural "%(count)s naps" -msgstr[0] "%(count)s kısa uyku%(plural)s" -msgstr[1] "%(count)s kısa uyku%(plural)s" - -#: dashboard/templates/cards/sleep_recent.html:6 +#: dashboard/templatetags/cards.py:410 #, fuzzy -#| msgid "Last Sleep" -msgid "Recent Sleep" -msgstr "En Son Uyku" - -#: dashboard/templates/cards/sleep_recent.html:25 -#, fuzzy, python-format -#| msgid "%(count)s sleep entries" -msgid "%(counter)s sleep" -msgid_plural "%(counter)s sleep" -msgstr[0] "%(count)s uygu girdileri" -msgstr[1] "%(count)s uygu girdileri" - -#: dashboard/templates/cards/statistics.html:7 -msgid "Statistics" -msgstr "İstatistikler" - -#: dashboard/templates/cards/statistics.html:25 -msgid "Not enough data" -msgstr "Yeterli veri yok" - -#: dashboard/templates/cards/statistics.html:42 -msgid "No data yet" -msgstr "Henüz veri yok" - -#: dashboard/templates/cards/timer_list.html:12 -#, fuzzy, python-format -#| msgid "%(count)s active timer%(plural)s" -msgid "%(count)s active timer" -msgid_plural "%(count)s active timers" -msgstr[0] "%(count)s etkin zamanlayıcı%(plural)s" -msgstr[1] "%(count)s etkin zamanlayıcı%(plural)s" - -#: dashboard/templates/cards/timer_list.html:27 -#, python-format -msgid "Started by %(user)s at %(start)s" -msgstr "%(user)s tarafından %(start)s da başlatıldı" - -#: dashboard/templates/cards/tummytime_day.html:6 -msgid "Today's Tummy Time" -msgstr "Bugünkü Karın Üstü Zamanı" - -#: dashboard/templates/cards/tummytime_day.html:22 -#, python-format -msgid "%(duration)s at %(end)s" -msgstr "%(end)s de %(duration)s" - -#: dashboard/templates/cards/tummytime_last.html:6 -msgid "Last Tummy Time" -msgstr "En Son Karın Üstü Zamanı" - -#: dashboard/templates/cards/tummytime_last.html:18 -msgid "Never" -msgstr "Asla" - -#: dashboard/templates/dashboard/child_button_group.html:3 -msgid "Child actions" -msgstr "Çocuk eylemleri" - -#: dashboard/templates/dashboard/child_button_group.html:12 -#: reports/templates/reports/base.html:9 -#: reports/templates/reports/report_list.html:4 -msgid "Reports" -msgstr "Raporlar" - -#: dashboard/templatetags/cards.py:357 -msgid "Average nap duration" -msgstr "Ortalama kısa uyku süresi" - -#: dashboard/templatetags/cards.py:364 -msgid "Average naps per day" -msgstr "Ortalama günlük kısa uyku" - -#: dashboard/templatetags/cards.py:374 -msgid "Average sleep duration" -msgstr "Ortalama uyku süresi" - -#: dashboard/templatetags/cards.py:381 -msgid "Average awake duration" -msgstr "Ortalama uyanıklık süresi" - -#: dashboard/templatetags/cards.py:391 -msgid "Weight change per week" -msgstr "Haftalık ağırlık değişimi" - -#: dashboard/templatetags/cards.py:401 -#, fuzzy -#| msgid "Weight change per week" -msgid "Height change per week" -msgstr "Haftalık ağırlık değişimi" - -#: dashboard/templatetags/cards.py:411 -#, fuzzy -#| msgid "Weight change per week" -msgid "Head circumference change per week" -msgstr "Haftalık ağırlık değişimi" - -#: dashboard/templatetags/cards.py:421 -#, fuzzy -#| msgid "Weight change per week" -msgid "BMI change per week" -msgstr "Haftalık ağırlık değişimi" - -#: dashboard/templatetags/cards.py:439 -#, fuzzy -#| msgid "Feeding frequency (past 3 days)" msgid "Diaper change frequency (past 3 days)" msgstr "Beslenme sıklığı (son 3 gün)" -#: dashboard/templatetags/cards.py:443 +#: dashboard/templatetags/cards.py:414 #, fuzzy -#| msgid "Feeding frequency (past 2 weeks)" msgid "Diaper change frequency (past 2 weeks)" msgstr "Beslenme sıklığı (son 2 hafta)" -#: dashboard/templatetags/cards.py:449 -msgid "Diaper change frequency" -msgstr "Bez değişim sıklığı" - -#: dashboard/templatetags/cards.py:485 -msgid "Feeding frequency (past 3 days)" -msgstr "Beslenme sıklığı (son 3 gün)" - -#: dashboard/templatetags/cards.py:489 -msgid "Feeding frequency (past 2 weeks)" -msgstr "Beslenme sıklığı (son 2 hafta)" - -#: dashboard/templatetags/cards.py:495 -msgid "Feeding frequency" -msgstr "Beslenme sıklığı" - -#: reports/graphs/bmi_change.py:27 +#: reports/graphs/pumping_amounts.py:57 #, fuzzy -#| msgid "Weight" -msgid "BMI" -msgstr "Ağırlık" - -#: reports/graphs/diaperchange_amounts.py:27 -msgid "Diaper change amount" -msgstr "Bez değişim miktarı" - -#: reports/graphs/diaperchange_amounts.py:36 -msgid "Diaper Change Amounts" -msgstr "Bez Değişim Miktarı" - -#: reports/graphs/diaperchange_amounts.py:39 -msgid "Change amount" -msgstr "Değişim Miktarı" - -#: reports/graphs/diaperchange_lifetimes.py:35 -msgid "Diaper Lifetimes" -msgstr "Bez Ömürleri" - -#: reports/graphs/diaperchange_lifetimes.py:36 -msgid "Time between changes (hours)" -msgstr "Değişimler arası zaman (saat)" - -#: reports/graphs/diaperchange_types.py:41 reports/graphs/feeding_amounts.py:58 -msgid "Total" -msgstr "Toplam" - -#: reports/graphs/diaperchange_types.py:48 -msgid "Diaper Change Types" -msgstr "Bez Değişim Tipleri" - -#: reports/graphs/diaperchange_types.py:51 -msgid "Number of changes" -msgstr "Değişik sayıları" - -#: reports/graphs/feeding_amounts.py:69 -#, fuzzy -#| msgid "Total Feeding Amounts" -msgid "Total Feeding Amount by Type" -msgstr "Ortalama Beslenme Süreleri" - -#: reports/graphs/feeding_amounts.py:72 -msgid "Feeding amount" -msgstr "Beslenme" - -#: reports/graphs/feeding_duration.py:38 -msgid "Average duration" -msgstr "Ortalama süre" - -#: reports/graphs/feeding_duration.py:46 -msgid "Total feedings" -msgstr "Toplam beslenmeler" - -#: reports/graphs/feeding_duration.py:55 -msgid "Average Feeding Durations" -msgstr "Ortalama Beslenme Süreleri" - -#: reports/graphs/feeding_duration.py:58 -msgid "Average duration (minutes)" -msgstr "Ortalama süre (dakika)" - -#: reports/graphs/feeding_duration.py:60 -msgid "Number of feedings" -msgstr "Beslenme sayısı" - -#: reports/graphs/head_circumference_change.py:27 -msgid "Head Circumference" -msgstr "" - -#: reports/graphs/height_change.py:27 -#, fuzzy -#| msgid "Weight" -msgid "Height" -msgstr "Ağırlık" - -#: reports/graphs/pumping_amounts.py:59 -#, fuzzy -#| msgid "Total Feeding Amounts" msgid "Total Pumping Amount" msgstr "Ortalama Beslenme Süreleri" -#: reports/graphs/pumping_amounts.py:62 +#: reports/graphs/pumping_amounts.py:60 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amount" msgstr "Beslenmeler" -#: reports/graphs/sleep_pattern.py:150 -msgid "Sleep Pattern" -msgstr "Uyku Deseni" - -#: reports/graphs/sleep_pattern.py:167 -msgid "Time of day" -msgstr "Günün zamanı" - -#: reports/graphs/sleep_totals.py:48 -msgid "Total sleep" -msgstr "Toplam Uyku" - -#: reports/graphs/sleep_totals.py:58 -msgid "Sleep Totals" -msgstr "Uyku Toplamları" - -#: reports/graphs/sleep_totals.py:61 -msgid "Hours of sleep" -msgstr "Uyku Saatleri" - -#: reports/graphs/tummytime_duration.py:34 -msgid "Total duration" -msgstr "Toplam düre" - -#: reports/graphs/tummytime_duration.py:41 -#: reports/graphs/tummytime_duration.py:55 -msgid "Number of sessions" -msgstr "Session sayısı" - -#: reports/graphs/tummytime_duration.py:50 -msgid "Total Tummy Time Durations" -msgstr "Toplam Karın Üstü Süresi" - -#: reports/graphs/tummytime_duration.py:53 -msgid "Total duration (minutes)" -msgstr "Toplam süre (dakika)" - -#: reports/graphs/weight_change.py:27 -msgid "Weight" -msgstr "Ağırlık" - -#: reports/templates/reports/diaperchange_amounts.html:4 -#: reports/templates/reports/diaperchange_amounts.html:8 -msgid "Diaper Amounts" -msgstr "Bez Miktarı" - -#: reports/templates/reports/diaperchange_lifetimes.html:4 -#: reports/templates/reports/diaperchange_lifetimes.html:8 -#: reports/templates/reports/report_list.html:13 -msgid "Diaper Lifetimes" -msgstr "Bez Ömrü" - -#: reports/templates/reports/diaperchange_types.html:4 -#: reports/templates/reports/diaperchange_types.html:8 -#: reports/templates/reports/report_list.html:12 -msgid "Diaper Change Types" -msgstr "Bez Değişim Tipleri" - -#: reports/templates/reports/feeding_amounts.html:4 -#: reports/templates/reports/feeding_amounts.html:8 -#: reports/templates/reports/report_list.html:14 -msgid "Feeding Amounts" -msgstr "Beslenmeler" - -#: reports/templates/reports/feeding_duration.html:4 -#: reports/templates/reports/feeding_duration.html:8 -msgid "Average Feeding Durations" -msgstr "Ortalama Beslenme Süreleri" - -#: reports/templates/reports/report_base.html:17 -msgid "There is not enough data to generate this report." -msgstr "Raporu oluşturmak için yeterli veri yok." - #: reports/templates/reports/report_list.html:10 msgid "Body Mass Index (BMI)" msgstr "" -#: reports/templates/reports/report_list.html:11 -msgid "Diaper Change Amounts" -msgstr "Bez Değişim Miktarı" - -#: reports/templates/reports/report_list.html:15 -msgid "Feeding Durations (Average)" -msgstr "Beslenme Süreleri (Ortalama)" - #: reports/templates/reports/report_list.html:18 #, fuzzy -#| msgid "Feeding Amounts" msgid "Pumping Amounts" msgstr "Beslenmeler" -#: reports/templates/reports/report_list.html:19 -#: reports/templates/reports/sleep_pattern.html:4 -#: reports/templates/reports/sleep_pattern.html:8 -msgid "Sleep Pattern" -msgstr "Uyku Deseni" +#: core/templates/core/timer_confirm_delete_inactive.html:17 +#, fuzzy +msgid "Are you sure you want to delete %(number)s inactive timer?" +msgid_plural "Are you sure you want to delete %(number)s inactive timers?" +msgstr[0] "%(number)s pasif zamanlıyıcıları silmek istediğinize emin misiniz?" +msgstr[1] "%(number)s pasif zamanlıyıcıları silmek istediğinize emin misiniz?" -#: reports/templates/reports/report_list.html:20 -#: reports/templates/reports/sleep_totals.html:4 -#: reports/templates/reports/sleep_totals.html:8 -msgid "Sleep Totals" -msgstr "Toplam Uyku" +#: dashboard/templates/cards/feeding_day.html:25 +#, fuzzy +msgid "%(counter)s feeding" +msgid_plural "%(counter)s feedings" +msgstr[0] "%(count)s uygu girdileri" +msgstr[1] "%(count)s uygu girdileri" -#: reports/templates/reports/report_list.html:21 -msgid "Tummy Time Durations (Sum)" -msgstr "Karın üstü süresi (Sum)" +#: dashboard/templates/cards/feeding_last_method.html:21 +#, fuzzy +msgid "%(n)s feeding ago" +msgid_plural "%(n)s feedings ago" +msgstr[0] "%(n) beslenmeler önce" +msgstr[1] "%(n) beslenmeler önce" -#: reports/templates/reports/tummytime_duration.html:4 -#: reports/templates/reports/tummytime_duration.html:8 -msgid "Total Tummy Time Durations" -msgstr "Toplam Karın Üstü Süresi" +#: dashboard/templates/cards/sleep_naps_day.html:12 +#, fuzzy +msgid "%(count)s nap" +msgid_plural "%(count)s naps" +msgstr[0] "%(count)s kısa uyku%(plural)s" +msgstr[1] "%(count)s kısa uyku%(plural)s" -#~ msgid "Today's Sleep" -#~ msgstr "Bugünkü Uyku" +#: dashboard/templates/cards/timer_list.html:12 +#, fuzzy +msgid "%(count)s active timer" +msgid_plural "%(count)s active timers" +msgstr[0] "%(count)s etkin zamanlayıcı%(plural)s" +msgstr[1] "%(count)s etkin zamanlayıcı%(plural)s" -#, python-format -#~ msgid "%(count)s sleep entries" -#~ msgstr "%(count)s uygu girdileri" From 74582effb15e48872fb99fedaee7974b8de7dfd3 Mon Sep 17 00:00:00 2001 From: Hana Belay <66206865+earthcomfy@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:24:01 +0300 Subject: [PATCH 28/39] Create a user add management command (#534) * feat: Create management command to add a user * feat: Test user create management command * feat: Remove unnecessary args from createuser command * fix: remove in-active arg from createuser command * feat: Add doc to createuser command Co-authored-by: Christopher C. Wells --- babybuddy/management/commands/createuser.py | 164 ++++++++++++++++++++ babybuddy/tests/tests_commands.py | 21 +++ docs/user-guide/managing-users.md | 36 +++++ 3 files changed, 221 insertions(+) create mode 100644 babybuddy/management/commands/createuser.py diff --git a/babybuddy/management/commands/createuser.py b/babybuddy/management/commands/createuser.py new file mode 100644 index 00000000..a14ec161 --- /dev/null +++ b/babybuddy/management/commands/createuser.py @@ -0,0 +1,164 @@ +# -*- coding: utf-8 -*- +""" +Management utility to create users + +Example usage: + + manage.py createuser \ + --username test \ + --email test@test.test \ + --is-staff +""" +import sys +import getpass + +from django.contrib.auth import get_user_model +from django.contrib.auth.password_validation import validate_password +from django.core import exceptions +from django.core.management.base import BaseCommand, CommandError +from django.db import DEFAULT_DB_ALIAS +from django.utils.functional import cached_property +from django.utils.text import capfirst + + +class NotRunningInTTYException(Exception): + pass + + +class Command(BaseCommand): + help = "Used to create a user" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.UserModel = get_user_model() + self.username_field = self.UserModel._meta.get_field( + self.UserModel.USERNAME_FIELD + ) + + def add_arguments(self, parser): + parser.add_argument( + f"--{self.UserModel.USERNAME_FIELD}", + help="Specifies the login for a user.", + ) + parser.add_argument( + "--email", + dest="email", + default="", + help="Specifies the email for the user. Optional.", + ) + parser.add_argument( + "--password", + dest="password", + help="Specifies the password for the user. Optional.", + ) + parser.add_argument( + "--is-staff", + dest="is_staff", + action="store_true", + default=False, + help="Specifies the staff status for the user. Default is False.", + ) + + def handle(self, *args, **options): + username = options.get(self.UserModel.USERNAME_FIELD) + password = options.get("password") + + user_data = {} + user_password = "" + verbose_field_name = self.username_field.verbose_name + + try: + error_msg = self._validate_username( + username, verbose_field_name, DEFAULT_DB_ALIAS + ) + if error_msg: + raise CommandError(error_msg) + + user_data[self.UserModel.USERNAME_FIELD] = username + + # Prompt for a password interactively (if password not set via arg) + while password is None: + password = getpass.getpass() + password2 = getpass.getpass("Password (again): ") + + if password.strip() == "": + self.stderr.write("Error: Blank passwords aren't allowed.") + password = None + # Don't validate blank passwords. + continue + + if password != password2: + self.stderr.write("Error: Your passwords didn't match.") + password = None + password2 = None + # Don't validate passwords that don't match. + continue + + try: + validate_password(password2, self.UserModel(**user_data)) + except exceptions.ValidationError as err: + self.stderr.write("\n".join(err.messages)) + response = input( + "Bypass password validation and create user anyway? [y/N]: " + ) + if response.lower() != "y": + password = None + password2 = None + continue + + user_password = password + + user = self.UserModel._default_manager.db_manager( + DEFAULT_DB_ALIAS + ).create_user(**user_data, password=user_password) + user.email = options.get("email") + user.is_staff = options.get("is_staff") + user.save() + + if options.get("verbosity") > 0: + self.stdout.write(f"User {username} created successfully.") + + except KeyboardInterrupt: + self.stderr.write("\nOperation cancelled.") + sys.exit(1) + except exceptions.ValidationError as e: + raise CommandError("; ".join(e.messages)) + except NotRunningInTTYException: + self.stdout.write( + "User creation skipped due to not running in a TTY. " + "You can run `manage.py createuser` in your project " + "to create one manually." + ) + + @cached_property + def username_is_unique(self): + """ + Check if username is unique. + """ + if self.username_field.unique: + return True + return any( + len(unique_constraint.fields) == 1 + and unique_constraint.fields[0] == self.username_field.name + for unique_constraint in self.UserModel._meta.total_unique_constraints + ) + + def _validate_username(self, username, verbose_field_name, database): + """ + Validate username. If invalid, return a string error message. + """ + if self.username_is_unique: + try: + self.UserModel._default_manager.db_manager(database).get_by_natural_key( + username + ) + except self.UserModel.DoesNotExist: + pass + else: + return f"Error: The {verbose_field_name} is already taken." + if not username: + return f"{capfirst(verbose_field_name)} cannot be blank." + try: + self.username_field.clean(username, None) + except exceptions.ValidationError as e: + return "; ".join(e.messages) diff --git a/babybuddy/tests/tests_commands.py b/babybuddy/tests/tests_commands.py index ccdb70cd..43c18461 100644 --- a/babybuddy/tests/tests_commands.py +++ b/babybuddy/tests/tests_commands.py @@ -22,3 +22,24 @@ class CommandsTestCase(TransactionTestCase): call_command("reset", verbosity=0, interactive=False) self.assertIsInstance(User.objects.get(username="admin"), User) self.assertEqual(Child.objects.count(), 1) + + def test_createuser(self): + call_command( + "createuser", + username="test", + email="test@test.test", + password="test", + verbosity=0, + ) + self.assertIsInstance(User.objects.get(username="test"), User) + self.assertFalse(User.objects.filter(username="test", is_staff=True)) + call_command( + "createuser", + "--is-staff", + username="testadmin", + email="testadmin@testadmin.testadmin", + password="test", + verbosity=0, + ) + self.assertIsInstance(User.objects.get(username="testadmin"), User) + self.assertTrue(User.objects.filter(username="testadmin", is_staff=True)) diff --git a/docs/user-guide/managing-users.md b/docs/user-guide/managing-users.md index a105455b..0f2667ed 100644 --- a/docs/user-guide/managing-users.md +++ b/docs/user-guide/managing-users.md @@ -17,3 +17,39 @@ + +## Creating a User from the Command Line + +There are 2 ways you can create a user from the command line: + +1. Passing user's password as an argument: + +```shell +python manage.py createuser --username --password +``` + +2. Interactively setting user's password: + +```shell +python manage.py createuser --username +``` + +You will then be prompted to enter and confirm a password. + +- If you want to make the user a staff, you can append the `--is-staff` argument: + +```shell +python manage.py createuser --username --is-staff +``` + +- Another argument you can use with this command is `--email` + +```shell +python manage.py createuser --username --email +``` + +- To get a list of supported commands: + +```shell +python manage.py createuser --help +``` From 364676aeac1c6e66a15e2f5ebd33846541210f9f Mon Sep 17 00:00:00 2001 From: earthcomfy Date: Fri, 30 Sep 2022 22:44:36 +0300 Subject: [PATCH 29/39] fix: Hide delete inactive timers button if there are no entries --- core/templates/core/timer_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/templates/core/timer_list.html b/core/templates/core/timer_list.html index 8043d38e..30c69e00 100644 --- a/core/templates/core/timer_list.html +++ b/core/templates/core/timer_list.html @@ -63,7 +63,7 @@ {% include 'babybuddy/paginator.html' %} - {% if perms.core.delete_timer %} + {% if object_list and perms.core.delete_timer %}
{% trans "Delete Inactive Timers" %} From 62bde09b3dfd5f82a308b0b9a58d72746ade233e Mon Sep 17 00:00:00 2001 From: earthcomfy Date: Fri, 30 Sep 2022 22:52:32 +0300 Subject: [PATCH 30/39] fix: Hide recently used tags when tag list is empty --- core/templates/core/widget_tag_editor.html | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/core/templates/core/widget_tag_editor.html b/core/templates/core/widget_tag_editor.html index 3d988bd6..3b4a7eed 100644 --- a/core/templates/core/widget_tag_editor.html +++ b/core/templates/core/widget_tag_editor.html @@ -24,13 +24,21 @@ - {% trans "Recently used:" %} - {% for t in widget.tag_suggestions.quick %} - - {{ t.name }} - + - - {% endfor %} + {% if widget.tag_suggestions.quick %} + {% trans "Recently used:" %} + {% for t in widget.tag_suggestions.quick %} + + {{ t.name }} + + + + {% endfor %} + {% else %} + + {%endif%} Date: Mon, 10 Oct 2022 22:51:17 -0500 Subject: [PATCH 31/39] Add deltasince function as an alternative to timesince (to get a timedelta instead of a str) --- core/templatetags/duration.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/core/templatetags/duration.py b/core/templatetags/duration.py index b0606a52..905915bb 100644 --- a/core/templatetags/duration.py +++ b/core/templatetags/duration.py @@ -33,7 +33,7 @@ def child_age_string(birth_date): def duration_string(duration, precision="s"): """ Format a duration (e.g. "2 hours, 3 minutes, 35 seconds"). - :param duration: a timedetla instance. + :param duration: a timedelta instance. :param precision: the level of precision to return (h for hours, m for minutes, s for seconds) :returns: a string representation of the duration. @@ -50,7 +50,7 @@ def duration_string(duration, precision="s"): def hours(duration): """ Return the "hours" portion of a duration. - :param duration: a timedetla instance. + :param duration: a timedelta instance. :returns: an integer representing the number of hours in duration. """ if not duration: @@ -66,7 +66,7 @@ def hours(duration): def minutes(duration): """ Return the "minutes" portion of a duration. - :param duration: a timedetla instance. + :param duration: a timedelta instance. :returns: an integer representing the number of minutes in duration. """ if not duration: @@ -82,7 +82,7 @@ def minutes(duration): def seconds(duration): """ Return the "seconds" portion of a duration. - :param duration: a timedetla instance. + :param duration: a timedelta instance. :returns: an integer representing the number of seconds in duration. """ if not duration: @@ -114,3 +114,19 @@ def dayssince(value, today=None): # use standard timesince for anything beyond yesterday return str(delta.days) + _(" days ago") + + +@register.filter +def deltasince(value, now=None): + """ + Returns a timedelta representing the time since passed datetime + :param value: a datetime instance + :param now: datetime to compare to (defaults to now) + :returns: a timedelta representing the elapsed time + """ + if now is None: + now = timezone.now() + + delta = now - value + + return delta From 25add00e26a37333641ddceb5ee4991d7bff60bd Mon Sep 17 00:00:00 2001 From: jmunoz94 Date: Mon, 10 Oct 2022 22:52:06 -0500 Subject: [PATCH 32/39] Update *_last.html to use deltasince + duration_string --- dashboard/templates/cards/diaperchange_last.html | 4 ++-- dashboard/templates/cards/feeding_last.html | 4 ++-- dashboard/templates/cards/sleep_last.html | 2 +- dashboard/templates/cards/tummytime_last.html | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dashboard/templates/cards/diaperchange_last.html b/dashboard/templates/cards/diaperchange_last.html index afbc4a41..059527df 100644 --- a/dashboard/templates/cards/diaperchange_last.html +++ b/dashboard/templates/cards/diaperchange_last.html @@ -1,5 +1,5 @@ {% extends 'cards/base.html' %} -{% load i18n %} +{% load duration i18n %} {% block header %} @@ -9,7 +9,7 @@ {% block title %} {% if change %} - {% blocktrans trimmed with since=change.time|timesince time=change.time|time %} + {% blocktrans trimmed with since=change.time|deltasince|duration_string:'m' time=change.time|time %}
{{ since }} ago
{{ time }} {% endblocktrans %} diff --git a/dashboard/templates/cards/feeding_last.html b/dashboard/templates/cards/feeding_last.html index 596b9471..a97ec858 100644 --- a/dashboard/templates/cards/feeding_last.html +++ b/dashboard/templates/cards/feeding_last.html @@ -1,5 +1,5 @@ {% extends 'cards/base.html' %} -{% load i18n %} +{% load duration i18n %} {% block header %}
@@ -9,7 +9,7 @@ {% block title %} {% if feeding %} - {% blocktrans trimmed with since=feeding.start|timesince time=feeding.start|time %} + {% blocktrans trimmed with since=feeding.start|deltasince|duration_string:'m' time=feeding.start|time %}
{{ since }} ago
{{ time }} {% endblocktrans %} diff --git a/dashboard/templates/cards/sleep_last.html b/dashboard/templates/cards/sleep_last.html index 2a7a9017..57327022 100644 --- a/dashboard/templates/cards/sleep_last.html +++ b/dashboard/templates/cards/sleep_last.html @@ -9,7 +9,7 @@ {% block title %} {% if sleep %} - {% blocktrans trimmed with since=sleep.end|timesince time=sleep.end|time %} + {% blocktrans trimmed with since=sleep.end|deltasince|duration_string:'m' time=sleep.end|time %}
{{ since }} ago
{{ time }} {% endblocktrans %} diff --git a/dashboard/templates/cards/tummytime_last.html b/dashboard/templates/cards/tummytime_last.html index a28b3017..520d89e7 100644 --- a/dashboard/templates/cards/tummytime_last.html +++ b/dashboard/templates/cards/tummytime_last.html @@ -10,7 +10,7 @@ {% block title %} {% if tummytime %} - {% blocktrans trimmed with since=tummytime.time|timesince time=tummytime.time|time %} + {% blocktrans trimmed with since=tummytime.time|deltasince|duration_string:'m' time=tummytime.time|time %}
{{ since }} ago
{{ time }} {% endblocktrans %} From 5b171ff66fbfd9d6709d5bde0472fa37e088e3d0 Mon Sep 17 00:00:00 2001 From: jmunoz94 Date: Mon, 10 Oct 2022 22:52:25 -0500 Subject: [PATCH 33/39] Add a test for deltasince --- core/tests/tests_templatetags.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/core/tests/tests_templatetags.py b/core/tests/tests_templatetags.py index d0cd57d6..5e5d39f6 100644 --- a/core/tests/tests_templatetags.py +++ b/core/tests/tests_templatetags.py @@ -95,6 +95,26 @@ class TemplateTagsTestCase(TestCase): "60 days ago", ) + def test_duration_deltasince(self): + datetimes = [ + ( + timezone.datetime(2022, 1, 1, 0, 0, 1), + timezone.timedelta(seconds=1), + ), # new year + ( + timezone.datetime(2021, 12, 31, 23, 59, 59), + timezone.timedelta(seconds=3), + ), # almost new year + ( + timezone.datetime(1969, 2, 1, 23, 59, 59), + timezone.timedelta(days=19326, seconds=3), + ), # old but middle of the year + ] + now = timezone.datetime(2022, 1, 1, 0, 0, 2) + for d, expected_delta in datetimes: + with self.subTest(): + self.assertEqual(duration.deltasince(d, now), expected_delta) + def test_instance_add_url(self): child = Child.objects.create( first_name="Test", last_name="Child", birth_date=timezone.localdate() From 1a107fc31bc20c89e33a3ad583c1fd612beb9199 Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Tue, 11 Oct 2022 19:22:09 -0700 Subject: [PATCH 34/39] Update dependencies and migrations --- .../0023_alter_settings_timezone.py | 470 ++++++++++++++++++ core/migrations/0024_alter_tag_slug.py | 20 + package.json | 10 +- requirements.txt | 56 +-- 4 files changed, 523 insertions(+), 33 deletions(-) create mode 100644 babybuddy/migrations/0023_alter_settings_timezone.py create mode 100644 core/migrations/0024_alter_tag_slug.py diff --git a/babybuddy/migrations/0023_alter_settings_timezone.py b/babybuddy/migrations/0023_alter_settings_timezone.py new file mode 100644 index 00000000..c4b44bd3 --- /dev/null +++ b/babybuddy/migrations/0023_alter_settings_timezone.py @@ -0,0 +1,470 @@ +# Generated by Django 4.1.2 on 2022-10-12 02:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("babybuddy", "0022_alter_settings_language"), + ] + + operations = [ + migrations.AlterField( + model_name="settings", + name="timezone", + field=models.CharField( + choices=[ + ("Africa/Abidjan", "Africa/Abidjan"), + ("Africa/Accra", "Africa/Accra"), + ("Africa/Addis_Ababa", "Africa/Addis_Ababa"), + ("Africa/Algiers", "Africa/Algiers"), + ("Africa/Asmara", "Africa/Asmara"), + ("Africa/Bamako", "Africa/Bamako"), + ("Africa/Bangui", "Africa/Bangui"), + ("Africa/Banjul", "Africa/Banjul"), + ("Africa/Bissau", "Africa/Bissau"), + ("Africa/Blantyre", "Africa/Blantyre"), + ("Africa/Brazzaville", "Africa/Brazzaville"), + ("Africa/Bujumbura", "Africa/Bujumbura"), + ("Africa/Cairo", "Africa/Cairo"), + ("Africa/Casablanca", "Africa/Casablanca"), + ("Africa/Ceuta", "Africa/Ceuta"), + ("Africa/Conakry", "Africa/Conakry"), + ("Africa/Dakar", "Africa/Dakar"), + ("Africa/Dar_es_Salaam", "Africa/Dar_es_Salaam"), + ("Africa/Djibouti", "Africa/Djibouti"), + ("Africa/Douala", "Africa/Douala"), + ("Africa/El_Aaiun", "Africa/El_Aaiun"), + ("Africa/Freetown", "Africa/Freetown"), + ("Africa/Gaborone", "Africa/Gaborone"), + ("Africa/Harare", "Africa/Harare"), + ("Africa/Johannesburg", "Africa/Johannesburg"), + ("Africa/Juba", "Africa/Juba"), + ("Africa/Kampala", "Africa/Kampala"), + ("Africa/Khartoum", "Africa/Khartoum"), + ("Africa/Kigali", "Africa/Kigali"), + ("Africa/Kinshasa", "Africa/Kinshasa"), + ("Africa/Lagos", "Africa/Lagos"), + ("Africa/Libreville", "Africa/Libreville"), + ("Africa/Lome", "Africa/Lome"), + ("Africa/Luanda", "Africa/Luanda"), + ("Africa/Lubumbashi", "Africa/Lubumbashi"), + ("Africa/Lusaka", "Africa/Lusaka"), + ("Africa/Malabo", "Africa/Malabo"), + ("Africa/Maputo", "Africa/Maputo"), + ("Africa/Maseru", "Africa/Maseru"), + ("Africa/Mbabane", "Africa/Mbabane"), + ("Africa/Mogadishu", "Africa/Mogadishu"), + ("Africa/Monrovia", "Africa/Monrovia"), + ("Africa/Nairobi", "Africa/Nairobi"), + ("Africa/Ndjamena", "Africa/Ndjamena"), + ("Africa/Niamey", "Africa/Niamey"), + ("Africa/Nouakchott", "Africa/Nouakchott"), + ("Africa/Ouagadougou", "Africa/Ouagadougou"), + ("Africa/Porto-Novo", "Africa/Porto-Novo"), + ("Africa/Sao_Tome", "Africa/Sao_Tome"), + ("Africa/Tripoli", "Africa/Tripoli"), + ("Africa/Tunis", "Africa/Tunis"), + ("Africa/Windhoek", "Africa/Windhoek"), + ("America/Adak", "America/Adak"), + ("America/Anchorage", "America/Anchorage"), + ("America/Anguilla", "America/Anguilla"), + ("America/Antigua", "America/Antigua"), + ("America/Araguaina", "America/Araguaina"), + ( + "America/Argentina/Buenos_Aires", + "America/Argentina/Buenos_Aires", + ), + ("America/Argentina/Catamarca", "America/Argentina/Catamarca"), + ("America/Argentina/Cordoba", "America/Argentina/Cordoba"), + ("America/Argentina/Jujuy", "America/Argentina/Jujuy"), + ("America/Argentina/La_Rioja", "America/Argentina/La_Rioja"), + ("America/Argentina/Mendoza", "America/Argentina/Mendoza"), + ( + "America/Argentina/Rio_Gallegos", + "America/Argentina/Rio_Gallegos", + ), + ("America/Argentina/Salta", "America/Argentina/Salta"), + ("America/Argentina/San_Juan", "America/Argentina/San_Juan"), + ("America/Argentina/San_Luis", "America/Argentina/San_Luis"), + ("America/Argentina/Tucuman", "America/Argentina/Tucuman"), + ("America/Argentina/Ushuaia", "America/Argentina/Ushuaia"), + ("America/Aruba", "America/Aruba"), + ("America/Asuncion", "America/Asuncion"), + ("America/Atikokan", "America/Atikokan"), + ("America/Bahia", "America/Bahia"), + ("America/Bahia_Banderas", "America/Bahia_Banderas"), + ("America/Barbados", "America/Barbados"), + ("America/Belem", "America/Belem"), + ("America/Belize", "America/Belize"), + ("America/Blanc-Sablon", "America/Blanc-Sablon"), + ("America/Boa_Vista", "America/Boa_Vista"), + ("America/Bogota", "America/Bogota"), + ("America/Boise", "America/Boise"), + ("America/Cambridge_Bay", "America/Cambridge_Bay"), + ("America/Campo_Grande", "America/Campo_Grande"), + ("America/Cancun", "America/Cancun"), + ("America/Caracas", "America/Caracas"), + ("America/Cayenne", "America/Cayenne"), + ("America/Cayman", "America/Cayman"), + ("America/Chicago", "America/Chicago"), + ("America/Chihuahua", "America/Chihuahua"), + ("America/Costa_Rica", "America/Costa_Rica"), + ("America/Creston", "America/Creston"), + ("America/Cuiaba", "America/Cuiaba"), + ("America/Curacao", "America/Curacao"), + ("America/Danmarkshavn", "America/Danmarkshavn"), + ("America/Dawson", "America/Dawson"), + ("America/Dawson_Creek", "America/Dawson_Creek"), + ("America/Denver", "America/Denver"), + ("America/Detroit", "America/Detroit"), + ("America/Dominica", "America/Dominica"), + ("America/Edmonton", "America/Edmonton"), + ("America/Eirunepe", "America/Eirunepe"), + ("America/El_Salvador", "America/El_Salvador"), + ("America/Fort_Nelson", "America/Fort_Nelson"), + ("America/Fortaleza", "America/Fortaleza"), + ("America/Glace_Bay", "America/Glace_Bay"), + ("America/Goose_Bay", "America/Goose_Bay"), + ("America/Grand_Turk", "America/Grand_Turk"), + ("America/Grenada", "America/Grenada"), + ("America/Guadeloupe", "America/Guadeloupe"), + ("America/Guatemala", "America/Guatemala"), + ("America/Guayaquil", "America/Guayaquil"), + ("America/Guyana", "America/Guyana"), + ("America/Halifax", "America/Halifax"), + ("America/Havana", "America/Havana"), + ("America/Hermosillo", "America/Hermosillo"), + ("America/Indiana/Indianapolis", "America/Indiana/Indianapolis"), + ("America/Indiana/Knox", "America/Indiana/Knox"), + ("America/Indiana/Marengo", "America/Indiana/Marengo"), + ("America/Indiana/Petersburg", "America/Indiana/Petersburg"), + ("America/Indiana/Tell_City", "America/Indiana/Tell_City"), + ("America/Indiana/Vevay", "America/Indiana/Vevay"), + ("America/Indiana/Vincennes", "America/Indiana/Vincennes"), + ("America/Indiana/Winamac", "America/Indiana/Winamac"), + ("America/Inuvik", "America/Inuvik"), + ("America/Iqaluit", "America/Iqaluit"), + ("America/Jamaica", "America/Jamaica"), + ("America/Juneau", "America/Juneau"), + ("America/Kentucky/Louisville", "America/Kentucky/Louisville"), + ("America/Kentucky/Monticello", "America/Kentucky/Monticello"), + ("America/Kralendijk", "America/Kralendijk"), + ("America/La_Paz", "America/La_Paz"), + ("America/Lima", "America/Lima"), + ("America/Los_Angeles", "America/Los_Angeles"), + ("America/Lower_Princes", "America/Lower_Princes"), + ("America/Maceio", "America/Maceio"), + ("America/Managua", "America/Managua"), + ("America/Manaus", "America/Manaus"), + ("America/Marigot", "America/Marigot"), + ("America/Martinique", "America/Martinique"), + ("America/Matamoros", "America/Matamoros"), + ("America/Mazatlan", "America/Mazatlan"), + ("America/Menominee", "America/Menominee"), + ("America/Merida", "America/Merida"), + ("America/Metlakatla", "America/Metlakatla"), + ("America/Mexico_City", "America/Mexico_City"), + ("America/Miquelon", "America/Miquelon"), + ("America/Moncton", "America/Moncton"), + ("America/Monterrey", "America/Monterrey"), + ("America/Montevideo", "America/Montevideo"), + ("America/Montserrat", "America/Montserrat"), + ("America/Nassau", "America/Nassau"), + ("America/New_York", "America/New_York"), + ("America/Nipigon", "America/Nipigon"), + ("America/Nome", "America/Nome"), + ("America/Noronha", "America/Noronha"), + ("America/North_Dakota/Beulah", "America/North_Dakota/Beulah"), + ("America/North_Dakota/Center", "America/North_Dakota/Center"), + ( + "America/North_Dakota/New_Salem", + "America/North_Dakota/New_Salem", + ), + ("America/Nuuk", "America/Nuuk"), + ("America/Ojinaga", "America/Ojinaga"), + ("America/Panama", "America/Panama"), + ("America/Pangnirtung", "America/Pangnirtung"), + ("America/Paramaribo", "America/Paramaribo"), + ("America/Phoenix", "America/Phoenix"), + ("America/Port-au-Prince", "America/Port-au-Prince"), + ("America/Port_of_Spain", "America/Port_of_Spain"), + ("America/Porto_Velho", "America/Porto_Velho"), + ("America/Puerto_Rico", "America/Puerto_Rico"), + ("America/Punta_Arenas", "America/Punta_Arenas"), + ("America/Rainy_River", "America/Rainy_River"), + ("America/Rankin_Inlet", "America/Rankin_Inlet"), + ("America/Recife", "America/Recife"), + ("America/Regina", "America/Regina"), + ("America/Resolute", "America/Resolute"), + ("America/Rio_Branco", "America/Rio_Branco"), + ("America/Santarem", "America/Santarem"), + ("America/Santiago", "America/Santiago"), + ("America/Santo_Domingo", "America/Santo_Domingo"), + ("America/Sao_Paulo", "America/Sao_Paulo"), + ("America/Scoresbysund", "America/Scoresbysund"), + ("America/Sitka", "America/Sitka"), + ("America/St_Barthelemy", "America/St_Barthelemy"), + ("America/St_Johns", "America/St_Johns"), + ("America/St_Kitts", "America/St_Kitts"), + ("America/St_Lucia", "America/St_Lucia"), + ("America/St_Thomas", "America/St_Thomas"), + ("America/St_Vincent", "America/St_Vincent"), + ("America/Swift_Current", "America/Swift_Current"), + ("America/Tegucigalpa", "America/Tegucigalpa"), + ("America/Thule", "America/Thule"), + ("America/Thunder_Bay", "America/Thunder_Bay"), + ("America/Tijuana", "America/Tijuana"), + ("America/Toronto", "America/Toronto"), + ("America/Tortola", "America/Tortola"), + ("America/Vancouver", "America/Vancouver"), + ("America/Whitehorse", "America/Whitehorse"), + ("America/Winnipeg", "America/Winnipeg"), + ("America/Yakutat", "America/Yakutat"), + ("America/Yellowknife", "America/Yellowknife"), + ("Antarctica/Casey", "Antarctica/Casey"), + ("Antarctica/Davis", "Antarctica/Davis"), + ("Antarctica/DumontDUrville", "Antarctica/DumontDUrville"), + ("Antarctica/Macquarie", "Antarctica/Macquarie"), + ("Antarctica/Mawson", "Antarctica/Mawson"), + ("Antarctica/McMurdo", "Antarctica/McMurdo"), + ("Antarctica/Palmer", "Antarctica/Palmer"), + ("Antarctica/Rothera", "Antarctica/Rothera"), + ("Antarctica/Syowa", "Antarctica/Syowa"), + ("Antarctica/Troll", "Antarctica/Troll"), + ("Antarctica/Vostok", "Antarctica/Vostok"), + ("Arctic/Longyearbyen", "Arctic/Longyearbyen"), + ("Asia/Aden", "Asia/Aden"), + ("Asia/Almaty", "Asia/Almaty"), + ("Asia/Amman", "Asia/Amman"), + ("Asia/Anadyr", "Asia/Anadyr"), + ("Asia/Aqtau", "Asia/Aqtau"), + ("Asia/Aqtobe", "Asia/Aqtobe"), + ("Asia/Ashgabat", "Asia/Ashgabat"), + ("Asia/Atyrau", "Asia/Atyrau"), + ("Asia/Baghdad", "Asia/Baghdad"), + ("Asia/Bahrain", "Asia/Bahrain"), + ("Asia/Baku", "Asia/Baku"), + ("Asia/Bangkok", "Asia/Bangkok"), + ("Asia/Barnaul", "Asia/Barnaul"), + ("Asia/Beirut", "Asia/Beirut"), + ("Asia/Bishkek", "Asia/Bishkek"), + ("Asia/Brunei", "Asia/Brunei"), + ("Asia/Chita", "Asia/Chita"), + ("Asia/Choibalsan", "Asia/Choibalsan"), + ("Asia/Colombo", "Asia/Colombo"), + ("Asia/Damascus", "Asia/Damascus"), + ("Asia/Dhaka", "Asia/Dhaka"), + ("Asia/Dili", "Asia/Dili"), + ("Asia/Dubai", "Asia/Dubai"), + ("Asia/Dushanbe", "Asia/Dushanbe"), + ("Asia/Famagusta", "Asia/Famagusta"), + ("Asia/Gaza", "Asia/Gaza"), + ("Asia/Hebron", "Asia/Hebron"), + ("Asia/Ho_Chi_Minh", "Asia/Ho_Chi_Minh"), + ("Asia/Hong_Kong", "Asia/Hong_Kong"), + ("Asia/Hovd", "Asia/Hovd"), + ("Asia/Irkutsk", "Asia/Irkutsk"), + ("Asia/Jakarta", "Asia/Jakarta"), + ("Asia/Jayapura", "Asia/Jayapura"), + ("Asia/Jerusalem", "Asia/Jerusalem"), + ("Asia/Kabul", "Asia/Kabul"), + ("Asia/Kamchatka", "Asia/Kamchatka"), + ("Asia/Karachi", "Asia/Karachi"), + ("Asia/Kathmandu", "Asia/Kathmandu"), + ("Asia/Khandyga", "Asia/Khandyga"), + ("Asia/Kolkata", "Asia/Kolkata"), + ("Asia/Krasnoyarsk", "Asia/Krasnoyarsk"), + ("Asia/Kuala_Lumpur", "Asia/Kuala_Lumpur"), + ("Asia/Kuching", "Asia/Kuching"), + ("Asia/Kuwait", "Asia/Kuwait"), + ("Asia/Macau", "Asia/Macau"), + ("Asia/Magadan", "Asia/Magadan"), + ("Asia/Makassar", "Asia/Makassar"), + ("Asia/Manila", "Asia/Manila"), + ("Asia/Muscat", "Asia/Muscat"), + ("Asia/Nicosia", "Asia/Nicosia"), + ("Asia/Novokuznetsk", "Asia/Novokuznetsk"), + ("Asia/Novosibirsk", "Asia/Novosibirsk"), + ("Asia/Omsk", "Asia/Omsk"), + ("Asia/Oral", "Asia/Oral"), + ("Asia/Phnom_Penh", "Asia/Phnom_Penh"), + ("Asia/Pontianak", "Asia/Pontianak"), + ("Asia/Pyongyang", "Asia/Pyongyang"), + ("Asia/Qatar", "Asia/Qatar"), + ("Asia/Qostanay", "Asia/Qostanay"), + ("Asia/Qyzylorda", "Asia/Qyzylorda"), + ("Asia/Riyadh", "Asia/Riyadh"), + ("Asia/Sakhalin", "Asia/Sakhalin"), + ("Asia/Samarkand", "Asia/Samarkand"), + ("Asia/Seoul", "Asia/Seoul"), + ("Asia/Shanghai", "Asia/Shanghai"), + ("Asia/Singapore", "Asia/Singapore"), + ("Asia/Srednekolymsk", "Asia/Srednekolymsk"), + ("Asia/Taipei", "Asia/Taipei"), + ("Asia/Tashkent", "Asia/Tashkent"), + ("Asia/Tbilisi", "Asia/Tbilisi"), + ("Asia/Tehran", "Asia/Tehran"), + ("Asia/Thimphu", "Asia/Thimphu"), + ("Asia/Tokyo", "Asia/Tokyo"), + ("Asia/Tomsk", "Asia/Tomsk"), + ("Asia/Ulaanbaatar", "Asia/Ulaanbaatar"), + ("Asia/Urumqi", "Asia/Urumqi"), + ("Asia/Ust-Nera", "Asia/Ust-Nera"), + ("Asia/Vientiane", "Asia/Vientiane"), + ("Asia/Vladivostok", "Asia/Vladivostok"), + ("Asia/Yakutsk", "Asia/Yakutsk"), + ("Asia/Yangon", "Asia/Yangon"), + ("Asia/Yekaterinburg", "Asia/Yekaterinburg"), + ("Asia/Yerevan", "Asia/Yerevan"), + ("Atlantic/Azores", "Atlantic/Azores"), + ("Atlantic/Bermuda", "Atlantic/Bermuda"), + ("Atlantic/Canary", "Atlantic/Canary"), + ("Atlantic/Cape_Verde", "Atlantic/Cape_Verde"), + ("Atlantic/Faroe", "Atlantic/Faroe"), + ("Atlantic/Madeira", "Atlantic/Madeira"), + ("Atlantic/Reykjavik", "Atlantic/Reykjavik"), + ("Atlantic/South_Georgia", "Atlantic/South_Georgia"), + ("Atlantic/St_Helena", "Atlantic/St_Helena"), + ("Atlantic/Stanley", "Atlantic/Stanley"), + ("Australia/Adelaide", "Australia/Adelaide"), + ("Australia/Brisbane", "Australia/Brisbane"), + ("Australia/Broken_Hill", "Australia/Broken_Hill"), + ("Australia/Darwin", "Australia/Darwin"), + ("Australia/Eucla", "Australia/Eucla"), + ("Australia/Hobart", "Australia/Hobart"), + ("Australia/Lindeman", "Australia/Lindeman"), + ("Australia/Lord_Howe", "Australia/Lord_Howe"), + ("Australia/Melbourne", "Australia/Melbourne"), + ("Australia/Perth", "Australia/Perth"), + ("Australia/Sydney", "Australia/Sydney"), + ("Canada/Atlantic", "Canada/Atlantic"), + ("Canada/Central", "Canada/Central"), + ("Canada/Eastern", "Canada/Eastern"), + ("Canada/Mountain", "Canada/Mountain"), + ("Canada/Newfoundland", "Canada/Newfoundland"), + ("Canada/Pacific", "Canada/Pacific"), + ("Europe/Amsterdam", "Europe/Amsterdam"), + ("Europe/Andorra", "Europe/Andorra"), + ("Europe/Astrakhan", "Europe/Astrakhan"), + ("Europe/Athens", "Europe/Athens"), + ("Europe/Belgrade", "Europe/Belgrade"), + ("Europe/Berlin", "Europe/Berlin"), + ("Europe/Bratislava", "Europe/Bratislava"), + ("Europe/Brussels", "Europe/Brussels"), + ("Europe/Bucharest", "Europe/Bucharest"), + ("Europe/Budapest", "Europe/Budapest"), + ("Europe/Busingen", "Europe/Busingen"), + ("Europe/Chisinau", "Europe/Chisinau"), + ("Europe/Copenhagen", "Europe/Copenhagen"), + ("Europe/Dublin", "Europe/Dublin"), + ("Europe/Gibraltar", "Europe/Gibraltar"), + ("Europe/Guernsey", "Europe/Guernsey"), + ("Europe/Helsinki", "Europe/Helsinki"), + ("Europe/Isle_of_Man", "Europe/Isle_of_Man"), + ("Europe/Istanbul", "Europe/Istanbul"), + ("Europe/Jersey", "Europe/Jersey"), + ("Europe/Kaliningrad", "Europe/Kaliningrad"), + ("Europe/Kirov", "Europe/Kirov"), + ("Europe/Kyiv", "Europe/Kyiv"), + ("Europe/Lisbon", "Europe/Lisbon"), + ("Europe/Ljubljana", "Europe/Ljubljana"), + ("Europe/London", "Europe/London"), + ("Europe/Luxembourg", "Europe/Luxembourg"), + ("Europe/Madrid", "Europe/Madrid"), + ("Europe/Malta", "Europe/Malta"), + ("Europe/Mariehamn", "Europe/Mariehamn"), + ("Europe/Minsk", "Europe/Minsk"), + ("Europe/Monaco", "Europe/Monaco"), + ("Europe/Moscow", "Europe/Moscow"), + ("Europe/Oslo", "Europe/Oslo"), + ("Europe/Paris", "Europe/Paris"), + ("Europe/Podgorica", "Europe/Podgorica"), + ("Europe/Prague", "Europe/Prague"), + ("Europe/Riga", "Europe/Riga"), + ("Europe/Rome", "Europe/Rome"), + ("Europe/Samara", "Europe/Samara"), + ("Europe/San_Marino", "Europe/San_Marino"), + ("Europe/Sarajevo", "Europe/Sarajevo"), + ("Europe/Saratov", "Europe/Saratov"), + ("Europe/Simferopol", "Europe/Simferopol"), + ("Europe/Skopje", "Europe/Skopje"), + ("Europe/Sofia", "Europe/Sofia"), + ("Europe/Stockholm", "Europe/Stockholm"), + ("Europe/Tallinn", "Europe/Tallinn"), + ("Europe/Tirane", "Europe/Tirane"), + ("Europe/Ulyanovsk", "Europe/Ulyanovsk"), + ("Europe/Vaduz", "Europe/Vaduz"), + ("Europe/Vatican", "Europe/Vatican"), + ("Europe/Vienna", "Europe/Vienna"), + ("Europe/Vilnius", "Europe/Vilnius"), + ("Europe/Volgograd", "Europe/Volgograd"), + ("Europe/Warsaw", "Europe/Warsaw"), + ("Europe/Zagreb", "Europe/Zagreb"), + ("Europe/Zurich", "Europe/Zurich"), + ("GMT", "GMT"), + ("Indian/Antananarivo", "Indian/Antananarivo"), + ("Indian/Chagos", "Indian/Chagos"), + ("Indian/Christmas", "Indian/Christmas"), + ("Indian/Cocos", "Indian/Cocos"), + ("Indian/Comoro", "Indian/Comoro"), + ("Indian/Kerguelen", "Indian/Kerguelen"), + ("Indian/Mahe", "Indian/Mahe"), + ("Indian/Maldives", "Indian/Maldives"), + ("Indian/Mauritius", "Indian/Mauritius"), + ("Indian/Mayotte", "Indian/Mayotte"), + ("Indian/Reunion", "Indian/Reunion"), + ("Pacific/Apia", "Pacific/Apia"), + ("Pacific/Auckland", "Pacific/Auckland"), + ("Pacific/Bougainville", "Pacific/Bougainville"), + ("Pacific/Chatham", "Pacific/Chatham"), + ("Pacific/Chuuk", "Pacific/Chuuk"), + ("Pacific/Easter", "Pacific/Easter"), + ("Pacific/Efate", "Pacific/Efate"), + ("Pacific/Fakaofo", "Pacific/Fakaofo"), + ("Pacific/Fiji", "Pacific/Fiji"), + ("Pacific/Funafuti", "Pacific/Funafuti"), + ("Pacific/Galapagos", "Pacific/Galapagos"), + ("Pacific/Gambier", "Pacific/Gambier"), + ("Pacific/Guadalcanal", "Pacific/Guadalcanal"), + ("Pacific/Guam", "Pacific/Guam"), + ("Pacific/Honolulu", "Pacific/Honolulu"), + ("Pacific/Kanton", "Pacific/Kanton"), + ("Pacific/Kiritimati", "Pacific/Kiritimati"), + ("Pacific/Kosrae", "Pacific/Kosrae"), + ("Pacific/Kwajalein", "Pacific/Kwajalein"), + ("Pacific/Majuro", "Pacific/Majuro"), + ("Pacific/Marquesas", "Pacific/Marquesas"), + ("Pacific/Midway", "Pacific/Midway"), + ("Pacific/Nauru", "Pacific/Nauru"), + ("Pacific/Niue", "Pacific/Niue"), + ("Pacific/Norfolk", "Pacific/Norfolk"), + ("Pacific/Noumea", "Pacific/Noumea"), + ("Pacific/Pago_Pago", "Pacific/Pago_Pago"), + ("Pacific/Palau", "Pacific/Palau"), + ("Pacific/Pitcairn", "Pacific/Pitcairn"), + ("Pacific/Pohnpei", "Pacific/Pohnpei"), + ("Pacific/Port_Moresby", "Pacific/Port_Moresby"), + ("Pacific/Rarotonga", "Pacific/Rarotonga"), + ("Pacific/Saipan", "Pacific/Saipan"), + ("Pacific/Tahiti", "Pacific/Tahiti"), + ("Pacific/Tarawa", "Pacific/Tarawa"), + ("Pacific/Tongatapu", "Pacific/Tongatapu"), + ("Pacific/Wake", "Pacific/Wake"), + ("Pacific/Wallis", "Pacific/Wallis"), + ("US/Alaska", "US/Alaska"), + ("US/Arizona", "US/Arizona"), + ("US/Central", "US/Central"), + ("US/Eastern", "US/Eastern"), + ("US/Hawaii", "US/Hawaii"), + ("US/Mountain", "US/Mountain"), + ("US/Pacific", "US/Pacific"), + ("UTC", "UTC"), + ], + default="UTC", + max_length=100, + verbose_name="Timezone", + ), + ), + ] diff --git a/core/migrations/0024_alter_tag_slug.py b/core/migrations/0024_alter_tag_slug.py new file mode 100644 index 00000000..466c269a --- /dev/null +++ b/core/migrations/0024_alter_tag_slug.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1.2 on 2022-10-12 02:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0023_alter_tag_options_alter_bmi_tags_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="tag", + name="slug", + field=models.SlugField( + allow_unicode=True, max_length=100, unique=True, verbose_name="slug" + ), + ), + ] diff --git a/package.json b/package.json index e8cba1f7..6efbb8de 100644 --- a/package.json +++ b/package.json @@ -20,16 +20,16 @@ "gulp-sass-glob": "^1.1.0", "gulp-spawn": "^1.0.0", "gulp-uglify": "^3.0.2", - "jquery": "^3.6.0", + "jquery": "^3.6.1", "moment": "^2.29.4", - "moment-timezone": "^0.5.34", + "moment-timezone": "^0.5.37", "npm-force-resolutions": "^0.0.10", - "plotly.js": "^2.13.2", + "plotly.js": "^2.15.1", "popper.js": "^1.16.1", "pulltorefreshjs": "^0.1.22", "pump": "^3.0.0", - "sass": "^1.54.0", - "stylelint": "^14.9.1", + "sass": "^1.55.0", + "stylelint": "^14.13.0", "stylelint-config-recommended-scss": "^7.0.0", "stylelint-order": "^5.0.0", "stylelint-scss": "^4.3.0", diff --git a/requirements.txt b/requirements.txt index d0a010fe..141bc43c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,44 +1,44 @@ -i https://pypi.python.org/simple -asgiref==3.5.2 -boto3==1.24.28 -botocore==1.27.28 -defusedxml==0.7.1 -diff-match-patch==20200713 -dj-database-url==0.5.0 -django==4.0.6 -django-appconf==1.0.5 -django-axes==5.35.0 +asgiref==3.5.2; python_version >= '3.7' +boto3==1.24.89 +botocore==1.27.89; python_version >= '3.7' +defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' +diff-match-patch==20200713; python_version >= '2.7' +dj-database-url==1.0.0 +django==4.1.2 +django-appconf==1.0.5; python_version >= '3.1' +django-axes==5.39.0 django-filter==22.1 django-imagekit==4.1.0 -django-import-export==2.8.0 -django-ipware==4.0.2 -django-storages==1.12.3 +django-import-export==2.9.0 +django-ipware==4.0.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' +django-storages==1.13.1 django-taggit==3.0.0 django-widget-tweaks==1.4.12 -djangorestframework==3.13.1 -et-xmlfile==1.1.0 -faker==13.15.0 +djangorestframework==3.14.0 +et-xmlfile==1.1.0; python_version >= '3.6' +faker==15.1.0 gunicorn==20.1.0 -jmespath==1.0.1 +jmespath==1.0.1; python_version >= '3.7' markuppy==1.14 odfpy==1.4.1 openpyxl==3.0.10 pilkit==2.0 pillow==9.2.0 -plotly==5.9.0 -psycopg2-binary==2.9.3 -python-dateutil==2.8.2 -python-dotenv==0.20.0 -pytz==2022.1 +plotly==5.10.0 +psycopg2-binary==2.9.4 +python-dateutil==2.8.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' +python-dotenv==0.21.0 +pytz==2022.4 pyyaml==6.0 -s3transfer==0.6.0 -setuptools==63.1.0 -six==1.16.0 -sqlparse==0.4.2 -tablib[html,ods,xls,xlsx,yaml]==3.2.1 -tenacity==8.0.1 +s3transfer==0.6.0; python_version >= '3.7' +setuptools==65.4.1; python_version >= '3.7' +six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' +sqlparse==0.4.3; python_version >= '3.5' +tablib[html,ods,xls,xlsx,yaml]==3.2.1; python_version >= '3.7' +tenacity==8.1.0; python_version >= '3.6' uritemplate==4.1.1 -urllib3==1.26.10 +urllib3==1.26.12; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4' whitenoise==6.2.0 xlrd==2.0.1 xlwt==1.3.0 From c970768d894fa119b9cc391debabc4ddf5d836a8 Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Tue, 11 Oct 2022 19:44:11 -0700 Subject: [PATCH 35/39] Create v1.13.0 release --- CHANGELOG.md | 38 ++++++++++++++++++++++++++++++++++++-- babybuddy/__init__.py | 2 +- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20248b8e..e044a4ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,41 @@ # Changelog -## [v1.12.2](https://github.com/babybuddy/babybuddy/tree/v1.12.2) +## [v1.13.0](https://github.com/babybuddy/babybuddy/tree/v1.13.0) (2022-10-11) + +[Full Changelog](https://github.com/babybuddy/babybuddy/compare/v1.12.2...v1.13.0) + +**Implemented enhancements:** + +- Dutch Translations updated on POEditor [\#535](https://github.com/babybuddy/babybuddy/issues/535) +- Delete Inactive Timers shouldn't appear if there are no timer entries [\#533](https://github.com/babybuddy/babybuddy/issues/533) +- Create a user add management command [\#528](https://github.com/babybuddy/babybuddy/issues/528) +- French translations updated on POEditor [\#521](https://github.com/babybuddy/babybuddy/issues/521) +- Allow REMOTE\_USER authentication [\#517](https://github.com/babybuddy/babybuddy/issues/517) +- "Recently used" shouldn't appear if no tags were recently used [\#470](https://github.com/babybuddy/babybuddy/issues/470) +- Minutes instead of minutos in Spanish [\#468](https://github.com/babybuddy/babybuddy/issues/468) +- Delete \(instead of deactivate\) completed timers [\#109](https://github.com/babybuddy/babybuddy/issues/109) +- \#468 Minutes instead of minutos in Spanish [\#538](https://github.com/babybuddy/babybuddy/pull/538) ([jmunoz94](https://github.com/jmunoz94)) +- 533 - Delete Inactive Timers shouldn't appear if there are no timer entries [\#537](https://github.com/babybuddy/babybuddy/pull/537) ([earthcomfy](https://github.com/earthcomfy)) +- 470 - "Recently used" shouldn't appear if no tags were recently used [\#536](https://github.com/babybuddy/babybuddy/pull/536) ([earthcomfy](https://github.com/earthcomfy)) +- 528 - Create a user add management command [\#534](https://github.com/babybuddy/babybuddy/pull/534) ([earthcomfy](https://github.com/earthcomfy)) +- Add forward auth by way of remote user [\#531](https://github.com/babybuddy/babybuddy/pull/531) ([EnsuingRequiem](https://github.com/EnsuingRequiem)) +- Install GNU gettext at gitpod startup [\#519](https://github.com/babybuddy/babybuddy/pull/519) ([amorphobia](https://github.com/amorphobia)) +- Update Chinese translations [\#518](https://github.com/babybuddy/babybuddy/pull/518) ([amorphobia](https://github.com/amorphobia)) + +**Fixed bugs:** + +- Data mismatch [\#520](https://github.com/babybuddy/babybuddy/issues/520) +- Data mismatch - Issue \#520 [\#527](https://github.com/babybuddy/babybuddy/pull/527) ([matthieu-kr](https://github.com/matthieu-kr)) + +**Closed issues:** + +- Feeding via API returns 400 [\#522](https://github.com/babybuddy/babybuddy/issues/522) + +**Merged pull requests:** + +- Dokku [\#526](https://github.com/babybuddy/babybuddy/pull/526) ([cdubz](https://github.com/cdubz)) + +## [v1.12.2](https://github.com/babybuddy/babybuddy/tree/v1.12.2) (2022-08-04) [Full Changelog](https://github.com/babybuddy/babybuddy/compare/v1.12.1...v1.12.2) @@ -26,7 +61,6 @@ **Fixed bugs:** -- Bug - DateTime fields don't load the current values when the language is Portuguese [\#498](https://github.com/babybuddy/babybuddy/issues/498) - Set default date during picker initialization [\#505](https://github.com/babybuddy/babybuddy/pull/505) ([cdubz](https://github.com/cdubz)) **Closed issues:** diff --git a/babybuddy/__init__.py b/babybuddy/__init__.py index 6b9bb4b1..f1666bcd 100644 --- a/babybuddy/__init__.py +++ b/babybuddy/__init__.py @@ -46,7 +46,7 @@ """ # noqa __title__ = "Baby Buddy" -__version__ = "1.12.2" +__version__ = "1.13.0" __license__ = "BSD 2-Clause" VERSION = __version__ From 9bf65704b5074d3b5026715f784d66dc0bc80149 Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Wed, 12 Oct 2022 19:04:59 -0700 Subject: [PATCH 36/39] Regenerate static files Fixes #540 --- ...1f418065fc2c.css => base.01580fff1759.css} | 193 +- static/admin/css/base.01580fff1759.css.gz | Bin 0 -> 4701 bytes static/admin/css/base.1f418065fc2c.css.gz | Bin 4649 -> 0 bytes static/admin/css/base.css | 193 +- static/admin/css/base.css.gz | Bin 4529 -> 4578 bytes ...ae1a1.css => changelists.ae46354f4e80.css} | 98 +- .../admin/css/changelists.ae46354f4e80.css.gz | Bin 0 -> 1483 bytes .../admin/css/changelists.cd4dd90ae1a1.css.gz | Bin 1585 -> 0 bytes static/admin/css/changelists.css | 98 +- static/admin/css/changelists.css.gz | Bin 1585 -> 1483 bytes static/admin/css/dark_mode.4e3d1504ca81.css | 33 + .../admin/css/dark_mode.4e3d1504ca81.css.gz | Bin 0 -> 336 bytes static/admin/css/dark_mode.css | 33 + static/admin/css/dark_mode.css.gz | Bin 0 -> 336 bytes static/admin/css/forms.332ab41432e2.css.gz | Bin 2186 -> 0 bytes ...32ab41432e2.css => forms.c192d1ec6902.css} | 31 +- static/admin/css/forms.c192d1ec6902.css.gz | Bin 0 -> 2211 bytes static/admin/css/forms.css | 29 +- static/admin/css/forms.css.gz | Bin 2152 -> 2176 bytes ...b76a9f7cbf6.css => login.586129c60a93.css} | 2 +- static/admin/css/login.586129c60a93.css.gz | Bin 0 -> 417 bytes static/admin/css/login.8b76a9f7cbf6.css.gz | Bin 412 -> 0 bytes static/admin/css/login.css | 2 +- static/admin/css/login.css.gz | Bin 412 -> 417 bytes ...464bd.css => nav_sidebar.30423191f399.css} | 2 +- .../admin/css/nav_sidebar.30423191f399.css.gz | Bin 0 -> 763 bytes static/admin/css/nav_sidebar.css | 2 +- static/admin/css/nav_sidebar.css.gz | Bin 760 -> 763 bytes .../admin/css/nav_sidebar.e32d345464bd.css.gz | Bin 760 -> 0 bytes ...5b3609.css => responsive.02281633b5f1.css} | 55 +- .../admin/css/responsive.02281633b5f1.css.gz | Bin 0 -> 3463 bytes .../admin/css/responsive.b9e1565b3609.css.gz | Bin 3396 -> 0 bytes static/admin/css/responsive.css | 55 +- static/admin/css/responsive.css.gz | Bin 3396 -> 3463 bytes static/admin/css/rtl.4bc23eb90919.css.gz | Bin 966 -> 0 bytes ....4bc23eb90919.css => rtl.8473f45bd49b.css} | 12 + static/admin/css/rtl.8473f45bd49b.css.gz | Bin 0 -> 1059 bytes static/admin/css/rtl.css | 12 + static/admin/css/rtl.css.gz | Bin 966 -> 1042 bytes ...d845b2cb1.css => widgets.00318bc424d3.css} | 40 +- static/admin/css/widgets.00318bc424d3.css.gz | Bin 0 -> 2443 bytes static/admin/css/widgets.694d845b2cb1.css.gz | Bin 2368 -> 0 bytes static/admin/css/widgets.css | 40 +- static/admin/css/widgets.css.gz | Bin 2277 -> 2350 bytes static/admin/fonts/LICENSE.d273d63619c9.txt | 404 +- static/admin/fonts/LICENSE.txt | 404 +- ...52a9a.js => SelectFilter2.3f53e33c88d6.js} | 18 - .../admin/js/SelectFilter2.3f53e33c88d6.js.gz | Bin 0 -> 2397 bytes .../admin/js/SelectFilter2.d250dcb52a9a.js.gz | Bin 2638 -> 0 bytes static/admin/js/SelectFilter2.js | 18 - static/admin/js/SelectFilter2.js.gz | Bin 2638 -> 2397 bytes ...f.js => DateTimeShortcuts.300591891b2b.js} | 8 +- .../DateTimeShortcuts.300591891b2b.js.gz | Bin 0 -> 3648 bytes .../DateTimeShortcuts.5548f99471bf.js.gz | Bin 3729 -> 0 bytes static/admin/js/admin/DateTimeShortcuts.js | 8 +- static/admin/js/admin/DateTimeShortcuts.js.gz | Bin 3729 -> 3648 bytes .../RelatedObjectLookups.b4d76b6aaf0b.js.gz | Bin 1571 -> 0 bytes ...s => RelatedObjectLookups.de5309ac06dd.js} | 99 +- .../RelatedObjectLookups.de5309ac06dd.js.gz | Bin 0 -> 2307 bytes static/admin/js/admin/RelatedObjectLookups.js | 99 +- .../admin/js/admin/RelatedObjectLookups.js.gz | Bin 1571 -> 2307 bytes ...67ab61.js => autocomplete.01591ab27be7.js} | 8 +- .../admin/js/autocomplete.01591ab27be7.js.gz | Bin 0 -> 425 bytes .../admin/js/autocomplete.c508b167ab61.js.gz | Bin 434 -> 0 bytes static/admin/js/autocomplete.js | 8 +- static/admin/js/autocomplete.js.gz | Bin 434 -> 425 bytes static/admin/js/filters.295a9d3d8b6a.js | 30 + static/admin/js/filters.295a9d3d8b6a.js.gz | Bin 0 -> 493 bytes static/admin/js/filters.js | 30 + static/admin/js/filters.js.gz | Bin 0 -> 493 bytes ...b1617228dbe.js => inlines.22d4d93c00b4.js} | 21 +- static/admin/js/inlines.22d4d93c00b4.js.gz | Bin 0 -> 3744 bytes static/admin/js/inlines.fb1617228dbe.js.gz | Bin 3630 -> 0 bytes static/admin/js/inlines.js | 21 +- static/admin/js/inlines.js.gz | Bin 3630 -> 3744 bytes ...7e.js => prepopulate_init.6cac7f3105b8.js} | 6 +- .../js/prepopulate_init.6cac7f3105b8.js.gz | Bin 0 -> 277 bytes .../js/prepopulate_init.e056047b7a7e.js.gz | Bin 267 -> 0 bytes static/admin/js/prepopulate_init.js | 6 +- static/admin/js/prepopulate_init.js.gz | Bin 267 -> 277 bytes static/babybuddy/js/graph.js | 214 +- static/babybuddy/js/vendor.js | 7010 ++++++++--------- .../guess_format.1e929842623e.js | 21 + .../guess_format.1e929842623e.js.gz | Bin 0 -> 329 bytes static/import_export/guess_format.js | 21 + static/import_export/guess_format.js.gz | Bin 0 -> 329 bytes ...s => bootstrap-theme.min.1d4b05b397c3.css} | 6 +- .../bootstrap-theme.min.1d4b05b397c3.css.gz | Bin 0 -> 2783 bytes .../bootstrap-theme.min.66b84a04375e.css.gz | Bin 2772 -> 0 bytes .../css/bootstrap-theme.min.css | 4 +- .../bootstrap-theme.min.css.51806092cc05.map | 1 + ...ootstrap-theme.min.css.51806092cc05.map.gz | Bin 0 -> 8032 bytes .../css/bootstrap-theme.min.css.gz | Bin 2772 -> 2772 bytes .../css/bootstrap-theme.min.css.map | 1 + .../css/bootstrap-theme.min.css.map.gz | Bin 0 -> 8032 bytes .../css/bootstrap.min.77017a69879a.css.gz | Bin 19646 -> 0 bytes static/rest_framework/css/bootstrap.min.css | 4 +- .../css/bootstrap.min.css.cafbda9c0e9e.map | 1 + .../css/bootstrap.min.css.cafbda9c0e9e.map.gz | Bin 0 -> 94401 bytes .../rest_framework/css/bootstrap.min.css.gz | Bin 19586 -> 19586 bytes .../rest_framework/css/bootstrap.min.css.map | 1 + .../css/bootstrap.min.css.map.gz | Bin 0 -> 94401 bytes ...79a.css => bootstrap.min.f17d4516b026.css} | 6 +- .../css/bootstrap.min.f17d4516b026.css.gz | Bin 0 -> 19657 bytes ...pi.c9743eab7a4f.js => api.18a5ba8a1bd8.js} | 8 +- .../docs/js/api.18a5ba8a1bd8.js.gz | Bin 0 -> 2584 bytes .../docs/js/api.c9743eab7a4f.js.gz | Bin 2580 -> 0 bytes static/rest_framework/docs/js/api.js | 8 +- static/rest_framework/docs/js/api.js.gz | Bin 2580 -> 2584 bytes static/staticfiles.json | 2 +- 110 files changed, 4908 insertions(+), 4518 deletions(-) rename static/admin/css/{base.1f418065fc2c.css => base.01580fff1759.css} (87%) create mode 100644 static/admin/css/base.01580fff1759.css.gz delete mode 100644 static/admin/css/base.1f418065fc2c.css.gz rename static/admin/css/{changelists.cd4dd90ae1a1.css => changelists.ae46354f4e80.css} (82%) create mode 100644 static/admin/css/changelists.ae46354f4e80.css.gz delete mode 100644 static/admin/css/changelists.cd4dd90ae1a1.css.gz create mode 100644 static/admin/css/dark_mode.4e3d1504ca81.css create mode 100644 static/admin/css/dark_mode.4e3d1504ca81.css.gz create mode 100644 static/admin/css/dark_mode.css create mode 100644 static/admin/css/dark_mode.css.gz delete mode 100644 static/admin/css/forms.332ab41432e2.css.gz rename static/admin/css/{forms.332ab41432e2.css => forms.c192d1ec6902.css} (96%) create mode 100644 static/admin/css/forms.c192d1ec6902.css.gz rename static/admin/css/{login.8b76a9f7cbf6.css => login.586129c60a93.css} (97%) create mode 100644 static/admin/css/login.586129c60a93.css.gz delete mode 100644 static/admin/css/login.8b76a9f7cbf6.css.gz rename static/admin/css/{nav_sidebar.e32d345464bd.css => nav_sidebar.30423191f399.css} (99%) create mode 100644 static/admin/css/nav_sidebar.30423191f399.css.gz delete mode 100644 static/admin/css/nav_sidebar.e32d345464bd.css.gz rename static/admin/css/{responsive.b9e1565b3609.css => responsive.02281633b5f1.css} (95%) create mode 100644 static/admin/css/responsive.02281633b5f1.css.gz delete mode 100644 static/admin/css/responsive.b9e1565b3609.css.gz delete mode 100644 static/admin/css/rtl.4bc23eb90919.css.gz rename static/admin/css/{rtl.4bc23eb90919.css => rtl.8473f45bd49b.css} (89%) create mode 100644 static/admin/css/rtl.8473f45bd49b.css.gz rename static/admin/css/{widgets.694d845b2cb1.css => widgets.00318bc424d3.css} (95%) create mode 100644 static/admin/css/widgets.00318bc424d3.css.gz delete mode 100644 static/admin/css/widgets.694d845b2cb1.css.gz rename static/admin/js/{SelectFilter2.d250dcb52a9a.js => SelectFilter2.3f53e33c88d6.js} (91%) create mode 100644 static/admin/js/SelectFilter2.3f53e33c88d6.js.gz delete mode 100644 static/admin/js/SelectFilter2.d250dcb52a9a.js.gz rename static/admin/js/admin/{DateTimeShortcuts.5548f99471bf.js => DateTimeShortcuts.300591891b2b.js} (98%) create mode 100644 static/admin/js/admin/DateTimeShortcuts.300591891b2b.js.gz delete mode 100644 static/admin/js/admin/DateTimeShortcuts.5548f99471bf.js.gz delete mode 100644 static/admin/js/admin/RelatedObjectLookups.b4d76b6aaf0b.js.gz rename static/admin/js/admin/{RelatedObjectLookups.b4d76b6aaf0b.js => RelatedObjectLookups.de5309ac06dd.js} (63%) create mode 100644 static/admin/js/admin/RelatedObjectLookups.de5309ac06dd.js.gz rename static/admin/js/{autocomplete.c508b167ab61.js => autocomplete.01591ab27be7.js} (81%) create mode 100644 static/admin/js/autocomplete.01591ab27be7.js.gz delete mode 100644 static/admin/js/autocomplete.c508b167ab61.js.gz create mode 100644 static/admin/js/filters.295a9d3d8b6a.js create mode 100644 static/admin/js/filters.295a9d3d8b6a.js.gz create mode 100644 static/admin/js/filters.js create mode 100644 static/admin/js/filters.js.gz rename static/admin/js/{inlines.fb1617228dbe.js => inlines.22d4d93c00b4.js} (94%) create mode 100644 static/admin/js/inlines.22d4d93c00b4.js.gz delete mode 100644 static/admin/js/inlines.fb1617228dbe.js.gz rename static/admin/js/{prepopulate_init.e056047b7a7e.js => prepopulate_init.6cac7f3105b8.js} (60%) create mode 100644 static/admin/js/prepopulate_init.6cac7f3105b8.js.gz delete mode 100644 static/admin/js/prepopulate_init.e056047b7a7e.js.gz create mode 100644 static/import_export/guess_format.1e929842623e.js create mode 100644 static/import_export/guess_format.1e929842623e.js.gz create mode 100644 static/import_export/guess_format.js create mode 100644 static/import_export/guess_format.js.gz rename static/rest_framework/css/{bootstrap-theme.min.66b84a04375e.css => bootstrap-theme.min.1d4b05b397c3.css} (99%) create mode 100644 static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz delete mode 100644 static/rest_framework/css/bootstrap-theme.min.66b84a04375e.css.gz create mode 100644 static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map create mode 100644 static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz create mode 100644 static/rest_framework/css/bootstrap-theme.min.css.map create mode 100644 static/rest_framework/css/bootstrap-theme.min.css.map.gz delete mode 100644 static/rest_framework/css/bootstrap.min.77017a69879a.css.gz create mode 100644 static/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map create mode 100644 static/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map.gz create mode 100644 static/rest_framework/css/bootstrap.min.css.map create mode 100644 static/rest_framework/css/bootstrap.min.css.map.gz rename static/rest_framework/css/{bootstrap.min.77017a69879a.css => bootstrap.min.f17d4516b026.css} (99%) create mode 100644 static/rest_framework/css/bootstrap.min.f17d4516b026.css.gz rename static/rest_framework/docs/js/{api.c9743eab7a4f.js => api.18a5ba8a1bd8.js} (97%) create mode 100644 static/rest_framework/docs/js/api.18a5ba8a1bd8.js.gz delete mode 100644 static/rest_framework/docs/js/api.c9743eab7a4f.js.gz diff --git a/static/admin/css/base.1f418065fc2c.css b/static/admin/css/base.01580fff1759.css similarity index 87% rename from static/admin/css/base.1f418065fc2c.css rename to static/admin/css/base.01580fff1759.css index e7152af9..81e4b8d1 100644 --- a/static/admin/css/base.1f418065fc2c.css +++ b/static/admin/css/base.01580fff1759.css @@ -57,40 +57,6 @@ --object-tools-hover-bg: var(--close-button-hover-bg); } -@media (prefers-color-scheme: dark) { - :root { - --primary: #264b5d; - --primary-fg: #eee; - - --body-fg: #eeeeee; - --body-bg: #121212; - --body-quiet-color: #e0e0e0; - --body-loud-color: #ffffff; - - --breadcrumbs-link-fg: #e0e0e0; - --breadcrumbs-bg: var(--primary); - - --link-fg: #81d4fa; - --link-hover-color: #4ac1f7; - --link-selected-fg: #6f94c6; - - --hairline-color: #272727; - --border-color: #353535; - - --error-fg: #e35f5f; - --message-success-bg: #006b1b; - --message-warning-bg: #583305; - --message-error-bg: #570808; - - --darkened-bg: #212121; - --selected-bg: #1b1b1b; - --selected-row: #00363a; - - --close-button-bg: #333333; - --close-button-hover-bg: #666666; - } -} - html, body { height: 100%; } @@ -98,7 +64,7 @@ html, body { body { margin: 0; padding: 0; - font-size: 14px; + font-size: 0.875rem; font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; color: var(--body-fg); background: var(--body-bg); @@ -151,12 +117,12 @@ h1,h2,h3,h4,h5 { h1 { margin: 0 0 20px; font-weight: 300; - font-size: 20px; + font-size: 1.25rem; color: var(--body-quiet-color); } h2 { - font-size: 16px; + font-size: 1rem; margin: 1em 0 .5em 0; } @@ -166,20 +132,20 @@ h2.subhead { } h3 { - font-size: 14px; + font-size: 0.875rem; margin: .8em 0 .3em 0; color: var(--body-quiet-color); font-weight: bold; } h4 { - font-size: 12px; + font-size: 0.75rem; margin: 1em 0 .8em 0; padding-bottom: 3px; } h5 { - font-size: 10px; + font-size: 0.625rem; margin: 1.5em 0 .5em 0; color: var(--body-quiet-color); text-transform: uppercase; @@ -196,7 +162,7 @@ li ul { } li, dt, dd { - font-size: 13px; + font-size: 0.8125rem; line-height: 20px; } @@ -223,7 +189,7 @@ fieldset { } blockquote { - font-size: 11px; + font-size: 0.6875rem; color: #777; margin-left: 2px; padding-left: 10px; @@ -233,7 +199,7 @@ blockquote { code, pre { font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; color: var(--body-quiet-color); - font-size: 12px; + font-size: 0.75rem; overflow-x: auto; } @@ -255,22 +221,21 @@ hr { border: none; margin: 0; padding: 0; - font-size: 1px; line-height: 1px; } /* TEXT STYLES & MODIFIERS */ .small { - font-size: 11px; + font-size: 0.6875rem; } .mini { - font-size: 10px; + font-size: 0.625rem; } .help, p.help, form p.help, div.help, form div.help, div.help li { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -300,7 +265,7 @@ p img, h1 img, h2 img, h3 img, h4 img, td img { } .hidden { - display: none; + display: none !important; } /* TABLES */ @@ -311,7 +276,7 @@ table { } td, th { - font-size: 13px; + font-size: 0.8125rem; line-height: 16px; border-bottom: 1px solid var(--hairline-color); vertical-align: top; @@ -327,7 +292,7 @@ thead th, tfoot td { color: var(--body-quiet-color); padding: 5px 10px; - font-size: 11px; + font-size: 0.6875rem; background: var(--body-bg); border: none; border-top: 1px solid var(--hairline-color); @@ -437,7 +402,7 @@ table thead th.sorted .sortoptions a.sortremove:after { top: -6px; left: 3px; font-weight: 200; - font-size: 18px; + font-size: 1.125rem; color: var(--body-quiet-color); } @@ -478,7 +443,7 @@ input, textarea, select, .form-row p, form .button { vertical-align: middle; font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; font-weight: normal; - font-size: 13px; + font-size: 0.8125rem; } .form-row div.help { padding: 2px 3px; @@ -589,7 +554,7 @@ input[type=button][disabled].default { margin: 0; padding: 8px; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; text-align: left; background: var(--primary); color: var(--header-link-color); @@ -597,7 +562,7 @@ input[type=button][disabled].default { .module caption, .inline-group h2 { - font-size: 12px; + font-size: 0.75rem; letter-spacing: 0.5px; text-transform: uppercase; } @@ -616,12 +581,13 @@ ul.messagelist { ul.messagelist li { display: block; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; padding: 10px 10px 10px 65px; margin: 0 0 10px 0; background: var(--message-success-bg) url("../img/icon-yes.d2f9f035226a.svg") 40px 12px no-repeat; background-size: 16px auto; color: var(--body-fg); + word-break: break-word; } ul.messagelist li.warning { @@ -635,7 +601,7 @@ ul.messagelist li.error { } .errornote { - font-size: 14px; + font-size: 0.875rem; font-weight: 700; display: block; padding: 10px 12px; @@ -656,7 +622,7 @@ ul.errorlist { } ul.errorlist li { - font-size: 13px; + font-size: 0.8125rem; display: block; margin-bottom: 4px; overflow-wrap: break-word; @@ -697,7 +663,7 @@ td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { } .description { - font-size: 12px; + font-size: 0.75rem; padding: 5px 0 0 12px; } @@ -753,7 +719,7 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT TOOLS */ .object-tools { - font-size: 10px; + font-size: 0.625rem; font-weight: bold; padding-left: 0; float: right; @@ -779,7 +745,7 @@ a.deletelink:focus, a.deletelink:hover { background: var(--object-tools-bg); color: var(--object-tools-fg); font-weight: 400; - font-size: 11px; + font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.5px; } @@ -808,14 +774,21 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT HISTORY */ -table#change-history { +#change-history table { width: 100%; } -table#change-history tbody th { +#change-history table tbody th { width: 16em; } +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + /* PAGE STRUCTURE */ #container { @@ -905,7 +878,7 @@ table#change-history tbody th { overflow: hidden; } -#header a:link, #header a:visited { +#header a:link, #header a:visited, #logout-form button { color: var(--header-link-color); } @@ -921,17 +894,17 @@ table#change-history tbody th { padding: 0; margin: 0 20px 0 0; font-weight: 300; - font-size: 24px; - color: var(--accent); + font-size: 1.5rem; + color: var(--header-branding-color); } -#branding h1, #branding h1 a:link, #branding h1 a:visited { +#branding h1 a:link, #branding h1 a:visited { color: var(--accent); } #branding h2 { padding: 0 10px; - font-size: 14px; + font-size: 0.875rem; margin: -8px 0 8px 0; font-weight: normal; color: var(--header-color); @@ -941,25 +914,43 @@ table#change-history tbody th { text-decoration: none; } +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; +} + #user-tools { float: right; - padding: 0; margin: 0 0 0 20px; - font-weight: 300; - font-size: 11px; - letter-spacing: 0.5px; - text-transform: uppercase; text-align: right; } -#user-tools a { +#user-tools, #logout-form button{ + padding: 0; + font-weight: 300; + font-size: 0.6875rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +#user-tools a, #logout-form button { border-bottom: 1px solid rgba(255, 255, 255, 0.25); } -#user-tools a:focus, #user-tools a:hover { +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { text-decoration: none; - border-bottom-color: var(--primary); - color: var(--primary); + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; } /* SIDEBAR */ @@ -979,7 +970,7 @@ table#change-history tbody th { } #content-related h4 { - font-size: 13px; + font-size: 0.8125rem; } #content-related p { @@ -1003,7 +994,7 @@ table#change-history tbody th { padding: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--hairline-color); - font-size: 18px; + font-size: 1.125rem; color: var(--body-fg); } @@ -1050,3 +1041,49 @@ table#change-history tbody th { .popup #header { padding: 10px 20px; } + +/* PAGINATOR */ + +.paginator { + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} diff --git a/static/admin/css/base.01580fff1759.css.gz b/static/admin/css/base.01580fff1759.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4853b91912df35f2a24d5af3c295df332a497ed2 GIT binary patch literal 4701 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/base.1f418065fc2c.css.gz b/static/admin/css/base.1f418065fc2c.css.gz deleted file mode 100644 index f4c29cf7c31cd4cae5324c4559cf36121f7565e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4649 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 diff --git a/static/admin/css/base.css b/static/admin/css/base.css index 1cb3acdb..1ff93e24 100644 --- a/static/admin/css/base.css +++ b/static/admin/css/base.css @@ -57,40 +57,6 @@ --object-tools-hover-bg: var(--close-button-hover-bg); } -@media (prefers-color-scheme: dark) { - :root { - --primary: #264b5d; - --primary-fg: #eee; - - --body-fg: #eeeeee; - --body-bg: #121212; - --body-quiet-color: #e0e0e0; - --body-loud-color: #ffffff; - - --breadcrumbs-link-fg: #e0e0e0; - --breadcrumbs-bg: var(--primary); - - --link-fg: #81d4fa; - --link-hover-color: #4ac1f7; - --link-selected-fg: #6f94c6; - - --hairline-color: #272727; - --border-color: #353535; - - --error-fg: #e35f5f; - --message-success-bg: #006b1b; - --message-warning-bg: #583305; - --message-error-bg: #570808; - - --darkened-bg: #212121; - --selected-bg: #1b1b1b; - --selected-row: #00363a; - - --close-button-bg: #333333; - --close-button-hover-bg: #666666; - } -} - html, body { height: 100%; } @@ -98,7 +64,7 @@ html, body { body { margin: 0; padding: 0; - font-size: 14px; + font-size: 0.875rem; font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; color: var(--body-fg); background: var(--body-bg); @@ -151,12 +117,12 @@ h1,h2,h3,h4,h5 { h1 { margin: 0 0 20px; font-weight: 300; - font-size: 20px; + font-size: 1.25rem; color: var(--body-quiet-color); } h2 { - font-size: 16px; + font-size: 1rem; margin: 1em 0 .5em 0; } @@ -166,20 +132,20 @@ h2.subhead { } h3 { - font-size: 14px; + font-size: 0.875rem; margin: .8em 0 .3em 0; color: var(--body-quiet-color); font-weight: bold; } h4 { - font-size: 12px; + font-size: 0.75rem; margin: 1em 0 .8em 0; padding-bottom: 3px; } h5 { - font-size: 10px; + font-size: 0.625rem; margin: 1.5em 0 .5em 0; color: var(--body-quiet-color); text-transform: uppercase; @@ -196,7 +162,7 @@ li ul { } li, dt, dd { - font-size: 13px; + font-size: 0.8125rem; line-height: 20px; } @@ -223,7 +189,7 @@ fieldset { } blockquote { - font-size: 11px; + font-size: 0.6875rem; color: #777; margin-left: 2px; padding-left: 10px; @@ -233,7 +199,7 @@ blockquote { code, pre { font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; color: var(--body-quiet-color); - font-size: 12px; + font-size: 0.75rem; overflow-x: auto; } @@ -255,22 +221,21 @@ hr { border: none; margin: 0; padding: 0; - font-size: 1px; line-height: 1px; } /* TEXT STYLES & MODIFIERS */ .small { - font-size: 11px; + font-size: 0.6875rem; } .mini { - font-size: 10px; + font-size: 0.625rem; } .help, p.help, form p.help, div.help, form div.help, div.help li { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -300,7 +265,7 @@ p img, h1 img, h2 img, h3 img, h4 img, td img { } .hidden { - display: none; + display: none !important; } /* TABLES */ @@ -311,7 +276,7 @@ table { } td, th { - font-size: 13px; + font-size: 0.8125rem; line-height: 16px; border-bottom: 1px solid var(--hairline-color); vertical-align: top; @@ -327,7 +292,7 @@ thead th, tfoot td { color: var(--body-quiet-color); padding: 5px 10px; - font-size: 11px; + font-size: 0.6875rem; background: var(--body-bg); border: none; border-top: 1px solid var(--hairline-color); @@ -437,7 +402,7 @@ table thead th.sorted .sortoptions a.sortremove:after { top: -6px; left: 3px; font-weight: 200; - font-size: 18px; + font-size: 1.125rem; color: var(--body-quiet-color); } @@ -478,7 +443,7 @@ input, textarea, select, .form-row p, form .button { vertical-align: middle; font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; font-weight: normal; - font-size: 13px; + font-size: 0.8125rem; } .form-row div.help { padding: 2px 3px; @@ -589,7 +554,7 @@ input[type=button][disabled].default { margin: 0; padding: 8px; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; text-align: left; background: var(--primary); color: var(--header-link-color); @@ -597,7 +562,7 @@ input[type=button][disabled].default { .module caption, .inline-group h2 { - font-size: 12px; + font-size: 0.75rem; letter-spacing: 0.5px; text-transform: uppercase; } @@ -616,12 +581,13 @@ ul.messagelist { ul.messagelist li { display: block; font-weight: 400; - font-size: 13px; + font-size: 0.8125rem; padding: 10px 10px 10px 65px; margin: 0 0 10px 0; background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; background-size: 16px auto; color: var(--body-fg); + word-break: break-word; } ul.messagelist li.warning { @@ -635,7 +601,7 @@ ul.messagelist li.error { } .errornote { - font-size: 14px; + font-size: 0.875rem; font-weight: 700; display: block; padding: 10px 12px; @@ -656,7 +622,7 @@ ul.errorlist { } ul.errorlist li { - font-size: 13px; + font-size: 0.8125rem; display: block; margin-bottom: 4px; overflow-wrap: break-word; @@ -697,7 +663,7 @@ td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { } .description { - font-size: 12px; + font-size: 0.75rem; padding: 5px 0 0 12px; } @@ -753,7 +719,7 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT TOOLS */ .object-tools { - font-size: 10px; + font-size: 0.625rem; font-weight: bold; padding-left: 0; float: right; @@ -779,7 +745,7 @@ a.deletelink:focus, a.deletelink:hover { background: var(--object-tools-bg); color: var(--object-tools-fg); font-weight: 400; - font-size: 11px; + font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.5px; } @@ -808,14 +774,21 @@ a.deletelink:focus, a.deletelink:hover { /* OBJECT HISTORY */ -table#change-history { +#change-history table { width: 100%; } -table#change-history tbody th { +#change-history table tbody th { width: 16em; } +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + /* PAGE STRUCTURE */ #container { @@ -905,7 +878,7 @@ table#change-history tbody th { overflow: hidden; } -#header a:link, #header a:visited { +#header a:link, #header a:visited, #logout-form button { color: var(--header-link-color); } @@ -921,17 +894,17 @@ table#change-history tbody th { padding: 0; margin: 0 20px 0 0; font-weight: 300; - font-size: 24px; - color: var(--accent); + font-size: 1.5rem; + color: var(--header-branding-color); } -#branding h1, #branding h1 a:link, #branding h1 a:visited { +#branding h1 a:link, #branding h1 a:visited { color: var(--accent); } #branding h2 { padding: 0 10px; - font-size: 14px; + font-size: 0.875rem; margin: -8px 0 8px 0; font-weight: normal; color: var(--header-color); @@ -941,25 +914,43 @@ table#change-history tbody th { text-decoration: none; } +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; +} + #user-tools { float: right; - padding: 0; margin: 0 0 0 20px; - font-weight: 300; - font-size: 11px; - letter-spacing: 0.5px; - text-transform: uppercase; text-align: right; } -#user-tools a { +#user-tools, #logout-form button{ + padding: 0; + font-weight: 300; + font-size: 0.6875rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +#user-tools a, #logout-form button { border-bottom: 1px solid rgba(255, 255, 255, 0.25); } -#user-tools a:focus, #user-tools a:hover { +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { text-decoration: none; - border-bottom-color: var(--primary); - color: var(--primary); + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; } /* SIDEBAR */ @@ -979,7 +970,7 @@ table#change-history tbody th { } #content-related h4 { - font-size: 13px; + font-size: 0.8125rem; } #content-related p { @@ -1003,7 +994,7 @@ table#change-history tbody th { padding: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--hairline-color); - font-size: 18px; + font-size: 1.125rem; color: var(--body-fg); } @@ -1050,3 +1041,49 @@ table#change-history tbody th { .popup #header { padding: 10px 20px; } + +/* PAGINATOR */ + +.paginator { + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} diff --git a/static/admin/css/base.css.gz b/static/admin/css/base.css.gz index 44e0b9d666a9e4b3b4865600ed0511bdd6b5407b..77fe9a81857515e2d03f9c647a12ad5f414e9f80 100644 GIT binary patch literal 4578 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 literal 4529 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 * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; +} + #changelist-filter ul { margin: 5px 0; padding: 0 15px 15px; @@ -173,8 +196,7 @@ #changelist-filter a { display: block; color: var(--body-quiet-color); - text-overflow: ellipsis; - overflow-x: hidden; + word-break: break-word; } #changelist-filter li.selected { @@ -194,7 +216,7 @@ } #changelist-filter #changelist-filter-clear a { - font-size: 13px; + font-size: 0.8125rem; padding-bottom: 10px; border-bottom: 1px solid var(--hairline-color); } @@ -225,52 +247,6 @@ color: var(--link-hover-color); } -/* PAGINATOR */ - -.paginator { - font-size: 13px; - padding-top: 10px; - padding-bottom: 10px; - line-height: 22px; - margin: 0; - border-top: 1px solid var(--hairline-color); - width: 100%; -} - -.paginator a:link, .paginator a:visited { - padding: 2px 6px; - background: var(--button-bg); - text-decoration: none; - color: var(--button-fg); -} - -.paginator a.showall { - border: none; - background: none; - color: var(--link-fg); -} - -.paginator a.showall:focus, .paginator a.showall:hover { - background: none; - color: var(--link-hover-color); -} - -.paginator .end { - margin-right: 6px; -} - -.paginator .this-page { - padding: 2px 6px; - font-weight: bold; - font-size: 13px; - vertical-align: top; -} - -.paginator a:focus, .paginator a:hover { - color: white; - background: var(--link-hover-color); -} - /* ACTIONS */ .filtered .actions { @@ -296,17 +272,11 @@ width: 100%; } -#changelist .actions.selected { /* XXX Probably unused? */ - background: var(--body-bg); - border-top: 1px solid var(--body-bg); - border-bottom: 1px solid #edecd6; -} - #changelist .actions span.all, #changelist .actions span.action-counter, #changelist .actions span.clear, #changelist .actions span.question { - font-size: 13px; + font-size: 0.8125rem; margin: 0 0.5em; } @@ -320,7 +290,7 @@ color: var(--body-fg); border: 1px solid var(--border-color); border-radius: 4px; - font-size: 14px; + font-size: 0.875rem; padding: 0 0 0 4px; margin: 0; margin-left: 10px; @@ -333,11 +303,11 @@ #changelist .actions label { display: inline-block; vertical-align: middle; - font-size: 13px; + font-size: 0.8125rem; } #changelist .actions .button { - font-size: 13px; + font-size: 0.8125rem; border: 1px solid var(--border-color); border-radius: 4px; background: var(--body-bg); diff --git a/static/admin/css/changelists.ae46354f4e80.css.gz b/static/admin/css/changelists.ae46354f4e80.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..ba2f6bad03c97ff77919ee5fef4fcfc423a86471 GIT binary patch literal 1483 zcmV;+1vL5}iwFP!00002|HW9{Zre5#zRyz-Er$NURBb2TIt43`w%HcIYk=0nE{a}I zB4u%=MU|prXT@&!0NWexNk)m3EK!uK7zGvw`JqUjzwdnK9KCoB-u!&^?x*YJ&4<+o z@chNu+2b%q$(k^lN$}+is4q;jl%abcM2ze&%O%9<=m zo=B2NA7m*C2@Htb5t3Y<{n-}c9sY(97u)h2q6ra3esRAKX6l1-$+e6vP2i4V8T(+` zxly8k5p&pVnoXzQl>3Y{s71#VW0FLaFr0xewWSG9$R+6Pjwq8v5Zn?FaDj<{g05p_ zYI*Xk|Kyii`+Z<+hbeZDze*a$!8l*s!0DKg75 zDBP?C&lB9bJXo9Ol_z|lQCMpFqM49jb@h6A-AzjqkC-6biAR|arAuR#p0G^40+u_0 zQvE=Ql{7>QmPza@Fk;L|PZCu^JQPaG6Bx!M+ys1ISekDWE6Kb?fr4U1lD(`1go*@+ z=o6q(g>3=m=JEGLoXe3B)qY;x-Y#EXz1Q9~$zuERr3&<{%+E4ykxTX_DsBVlsqju4w(DvMy453^V$N!qL=w`Q1WPL9X3Y zJEAK;T3cctX9S5bJ~+D~!rAw2cXr)k6l^-BR$;F8F4}>rQ^7{Oij&K-+5BMI7VTk& zl)5JP5f5{Vm`;nqM|q!;A0B0Su%+_Rr`DCDJkf7U?IRV@0@0&ROk0dAocoA2W2v5XIzl* z!^798aT*GMZrA3TAx9blF(vcD)P2WwUQAe8k*m@R27;iC56WM#SgBa-$D8Hq`aO7a zyZrT+cXp+Kx`em-sHytQFKSM!05+aujGq{Z>VBt%r}A??br@%~iRYCdbFaQiGsv=AK*3T|KDVH<#My6W1~(s##?j$nvd{ za^Ey)sJp(K_kw3dr8ZCBf{PBW;Np^oBlEs(24EiqbcITSjF_e^O6&Sxdc zCr34?%j2DpO_6ol)fb*CyS{C;;9aI0$Wf~xKx4#^4jx8oVk}w! zH%#5l(5UMw%#GXpK;Wt9UcFh}+`iM3a^uB_o+-28H#OZ^vN;qTX_Euhl(-6Rd%6`J z8mjxOcE4GZfZ#jFtBbZhHB=h8akNuE45|mLILm{^mqJc8pUp4&r#uHy553W;>`)zC z;vvQ+LyygS0cDi5=*`+$Qp?bW&pFA8e~*$+qnFjMGo5QS literal 0 HcmV?d00001 diff --git a/static/admin/css/changelists.cd4dd90ae1a1.css.gz b/static/admin/css/changelists.cd4dd90ae1a1.css.gz deleted file mode 100644 index 3c0c4eb3b0d342cb293708c6130d77104353632d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1585 zcmV-12G02(iwFP!00002|HW9_Zre5(zRyz-4F+_DrP^syY&M3$ZL=e54B)u1HgGWqCwo`Yq z0}zZ71RfxN9s~&_Tph;>MwIdIU2>JREIoa0Zf_Sl248Z5Wp)1)p85`q@3)-gDQXdq zwsya?#2gqDYDr%<0}`y4Z&ufCSXzH17$V0XIv%u16BV9;4!r`Fdk!1)UlNSLKF zicyWJ5t>)3>gXhCmdj2igNWoRtzVYfZB#xE1o=ndXjUy&CaR3!^4@GaEYAgoJWgsu zmq~E;W80LjNvv>9gH$41sIymXCskq4MZ5BmtJSOe@*!|?kt_Xt!{WS?k4`iFpYk!o zKRpw9v?KD_UoDcOjNnzHvW#+9f#Fe>Df7UX+*M=%kw8>ruPF$MNB|cqPSl^pzkD0P z=hF$Wzv1lad!??xwn2z28zuk6gLtu(_t8<#F z&&6ex#Y$|A&nnhV6mO~yr-di|c{TMYXQfFlN`ZW-MCW+PVJZr@%|V`Jn8#39HWW)m zLsv3W-@+?j5^AL5Zl1pAxAHmp`&u`yXE>Cy!&{wTD`mb z!zA0*jFi*vbmD`pLL5|{F8sal_UfI=JUFv9SyrJ~5mc4{uUm~Gh|_fv4?Q z_PG}qJz@&Zp}MI<5|i~^kVp(%$?+$ zBk7TmB~ndd5gEg83*4#Xm1^zYzpA60?L7}iZG9@oHEPV!si_X~2Ht(Gmzy~*`{!)8 z2^xG)vwAeF0+bU!fBp6YPhtkMd4-EVc(|EHk} z-^tLneM3@`%1%GiIjMVzp#xuXEQ+r~wV*KonU}8~*-vV>8}evB^$eTUd&U@`Y}#%Z z^}ul2tB{!qFMFz8s{!_nNnPbneQ@znq%gv?+pV?xonuqIgN8m{p(%tzAo>Qb_#a+t jT(q^a)$9rHPy-J?119y1Gwzv_9((=+Q2N6O6dM2lx3L3i diff --git a/static/admin/css/changelists.css b/static/admin/css/changelists.css index a4baf329..68ba5578 100644 --- a/static/admin/css/changelists.css +++ b/static/admin/css/changelists.css @@ -84,7 +84,7 @@ #toolbar form input { border-radius: 4px; - font-size: 14px; + font-size: 0.875rem; padding: 5px; color: var(--body-fg); } @@ -95,7 +95,7 @@ padding: 2px 5px; margin: 0; vertical-align: top; - font-size: 13px; + font-size: 0.8125rem; max-width: 100%; } @@ -105,7 +105,7 @@ #toolbar form input[type="submit"] { border: 1px solid var(--border-color); - font-size: 13px; + font-size: 0.8125rem; padding: 4px 8px; margin: 0; vertical-align: middle; @@ -140,7 +140,7 @@ } #changelist-filter h2 { - font-size: 14px; + font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.5px; padding: 5px 15px; @@ -148,12 +148,35 @@ border-bottom: none; } -#changelist-filter h3 { +#changelist-filter h3, +#changelist-filter details summary { font-weight: 400; padding: 0 15px; margin-bottom: 10px; } +#changelist-filter details summary > * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; +} + #changelist-filter ul { margin: 5px 0; padding: 0 15px 15px; @@ -173,8 +196,7 @@ #changelist-filter a { display: block; color: var(--body-quiet-color); - text-overflow: ellipsis; - overflow-x: hidden; + word-break: break-word; } #changelist-filter li.selected { @@ -194,7 +216,7 @@ } #changelist-filter #changelist-filter-clear a { - font-size: 13px; + font-size: 0.8125rem; padding-bottom: 10px; border-bottom: 1px solid var(--hairline-color); } @@ -225,52 +247,6 @@ color: var(--link-hover-color); } -/* PAGINATOR */ - -.paginator { - font-size: 13px; - padding-top: 10px; - padding-bottom: 10px; - line-height: 22px; - margin: 0; - border-top: 1px solid var(--hairline-color); - width: 100%; -} - -.paginator a:link, .paginator a:visited { - padding: 2px 6px; - background: var(--button-bg); - text-decoration: none; - color: var(--button-fg); -} - -.paginator a.showall { - border: none; - background: none; - color: var(--link-fg); -} - -.paginator a.showall:focus, .paginator a.showall:hover { - background: none; - color: var(--link-hover-color); -} - -.paginator .end { - margin-right: 6px; -} - -.paginator .this-page { - padding: 2px 6px; - font-weight: bold; - font-size: 13px; - vertical-align: top; -} - -.paginator a:focus, .paginator a:hover { - color: white; - background: var(--link-hover-color); -} - /* ACTIONS */ .filtered .actions { @@ -296,17 +272,11 @@ width: 100%; } -#changelist .actions.selected { /* XXX Probably unused? */ - background: var(--body-bg); - border-top: 1px solid var(--body-bg); - border-bottom: 1px solid #edecd6; -} - #changelist .actions span.all, #changelist .actions span.action-counter, #changelist .actions span.clear, #changelist .actions span.question { - font-size: 13px; + font-size: 0.8125rem; margin: 0 0.5em; } @@ -320,7 +290,7 @@ color: var(--body-fg); border: 1px solid var(--border-color); border-radius: 4px; - font-size: 14px; + font-size: 0.875rem; padding: 0 0 0 4px; margin: 0; margin-left: 10px; @@ -333,11 +303,11 @@ #changelist .actions label { display: inline-block; vertical-align: middle; - font-size: 13px; + font-size: 0.8125rem; } #changelist .actions .button { - font-size: 13px; + font-size: 0.8125rem; border: 1px solid var(--border-color); border-radius: 4px; background: var(--body-bg); diff --git a/static/admin/css/changelists.css.gz b/static/admin/css/changelists.css.gz index 3c0c4eb3b0d342cb293708c6130d77104353632d..ba2f6bad03c97ff77919ee5fef4fcfc423a86471 100644 GIT binary patch literal 1483 zcmV;+1vL5}iwFP!00002|HW9{Zre5#zRyz-Er$NURBb2TIt43`w%HcIYk=0nE{a}I zB4u%=MU|prXT@&!0NWexNk)m3EK!uK7zGvw`JqUjzwdnK9KCoB-u!&^?x*YJ&4<+o z@chNu+2b%q$(k^lN$}+is4q;jl%abcM2ze&%O%9<=m zo=B2NA7m*C2@Htb5t3Y<{n-}c9sY(97u)h2q6ra3esRAKX6l1-$+e6vP2i4V8T(+` zxly8k5p&pVnoXzQl>3Y{s71#VW0FLaFr0xewWSG9$R+6Pjwq8v5Zn?FaDj<{g05p_ zYI*Xk|Kyii`+Z<+hbeZDze*a$!8l*s!0DKg75 zDBP?C&lB9bJXo9Ol_z|lQCMpFqM49jb@h6A-AzjqkC-6biAR|arAuR#p0G^40+u_0 zQvE=Ql{7>QmPza@Fk;L|PZCu^JQPaG6Bx!M+ys1ISekDWE6Kb?fr4U1lD(`1go*@+ z=o6q(g>3=m=JEGLoXe3B)qY;x-Y#EXz1Q9~$zuERr3&<{%+E4ykxTX_DsBVlsqju4w(DvMy453^V$N!qL=w`Q1WPL9X3Y zJEAK;T3cctX9S5bJ~+D~!rAw2cXr)k6l^-BR$;F8F4}>rQ^7{Oij&K-+5BMI7VTk& zl)5JP5f5{Vm`;nqM|q!;A0B0Su%+_Rr`DCDJkf7U?IRV@0@0&ROk0dAocoA2W2v5XIzl* z!^798aT*GMZrA3TAx9blF(vcD)P2WwUQAe8k*m@R27;iC56WM#SgBa-$D8Hq`aO7a zyZrT+cXp+Kx`em-sHytQFKSM!05+aujGq{Z>VBt%r}A??br@%~iRYCdbFaQiGsv=AK*3T|KDVH<#My6W1~(s##?j$nvd{ za^Ey)sJp(K_kw3dr8ZCBf{PBW;Np^oBlEs(24EiqbcITSjF_e^O6&Sxdc zCr34?%j2DpO_6ol)fb*CyS{C;;9aI0$Wf~xKx4#^4jx8oVk}w! zH%#5l(5UMw%#GXpK;Wt9UcFh}+`iM3a^uB_o+-28H#OZ^vN;qTX_Euhl(-6Rd%6`J z8mjxOcE4GZfZ#jFtBbZhHB=h8akNuE45|mLILm{^mqJc8pUp4&r#uHy553W;>`)zC z;vvQ+LyygS0cDi5=*`+$Qp?bW&pFA8e~*$+qnFjMGo5QS literal 1585 zcmV-12G02(iwFP!00002|HW9_Zre5(zRyz-4F+_DrP^syY&M3$ZL=e54B)u1HgGWqCwo`Yq z0}zZ71RfxN9s~&_Tph;>MwIdIU2>JREIoa0Zf_Sl248Z5Wp)1)p85`q@3)-gDQXdq zwsya?#2gqDYDr%<0}`y4Z&ufCSXzH17$V0XIv%u16BV9;4!r`Fdk!1)UlNSLKF zicyWJ5t>)3>gXhCmdj2igNWoRtzVYfZB#xE1o=ndXjUy&CaR3!^4@GaEYAgoJWgsu zmq~E;W80LjNvv>9gH$41sIymXCskq4MZ5BmtJSOe@*!|?kt_Xt!{WS?k4`iFpYk!o zKRpw9v?KD_UoDcOjNnzHvW#+9f#Fe>Df7UX+*M=%kw8>ruPF$MNB|cqPSl^pzkD0P z=hF$Wzv1lad!??xwn2z28zuk6gLtu(_t8<#F z&&6ex#Y$|A&nnhV6mO~yr-di|c{TMYXQfFlN`ZW-MCW+PVJZr@%|V`Jn8#39HWW)m zLsv3W-@+?j5^AL5Zl1pAxAHmp`&u`yXE>Cy!&{wTD`mb z!zA0*jFi*vbmD`pLL5|{F8sal_UfI=JUFv9SyrJ~5mc4{uUm~Gh|_fv4?Q z_PG}qJz@&Zp}MI<5|i~^kVp(%$?+$ zBk7TmB~ndd5gEg83*4#Xm1^zYzpA60?L7}iZG9@oHEPV!si_X~2Ht(Gmzy~*`{!)8 z2^xG)vwAeF0+bU!fBp6YPhtkMd4-EVc(|EHk} z-^tLneM3@`%1%GiIjMVzp#xuXEQ+r~wV*KonU}8~*-vV>8}evB^$eTUd&U@`Y}#%Z z^}ul2tB{!qFMFz8s{!_nNnPbneQ@znq%gv?+pV?xonuqIgN8m{p(%tzAo>Qb_#a+t jT(q^a)$9rHPy-J?119y1Gwzv_9((=+Q2N6O6dM2lx3L3i diff --git a/static/admin/css/dark_mode.4e3d1504ca81.css b/static/admin/css/dark_mode.4e3d1504ca81.css new file mode 100644 index 00000000..547717cc --- /dev/null +++ b/static/admin/css/dark_mode.4e3d1504ca81.css @@ -0,0 +1,33 @@ +@media (prefers-color-scheme: dark) { + :root { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + } + } diff --git a/static/admin/css/dark_mode.4e3d1504ca81.css.gz b/static/admin/css/dark_mode.4e3d1504ca81.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..25f338e5a2614940c8c5504a454bfd730b0d6e77 GIT binary patch literal 336 zcmV-W0k8faiwFP!00002|7}vsZi6royyq({^^zPcK@5b1OMk_Wb%FvoT|=U(>c1D; zk%LKhWy#WvXJ>c)*@J31+1?N|prz7u2C0=7=;1^Z$Lo&#Y{(oZG-iC>38D0cZO`%h zL_YRaAxhP(5vtEKs1Gh37;$0L69gYkiU^0~dzUNZYieN(7Tx2_<%-goNkxYCk=91w zO5)TDOS^WsK7FjE7A$Ay&T$+2+9iT7kvdm}=1q!R%pEWqD!9zUFcuUG9mo+>P^t8> zkX2IR!dsk~5M}lUm&?vkEvm56Wg-EH^IAi%tkk7`J?_C;egc1D; zk%LKhWy#WvXJ>c)*@J31+1?N|prz7u2C0=7=;1^Z$Lo&#Y{(oZG-iC>38D0cZO`%h zL_YRaAxhP(5vtEKs1Gh37;$0L69gYkiU^0~dzUNZYieN(7Tx2_<%-goNkxYCk=91w zO5)TDOS^WsK7FjE7A$Ay&T$+2+9iT7kvdm}=1q!R%pEWqD!9zUFcuUG9mo+>P^t8> zkX2IR!dsk~5M}lUm&?vkEvm56Wg-EH^IAi%tkk7`J?_C;eg}`QC4T;jeg;(3F8ZC7+I8aI``!^DnN?qpR~l z&vsQD8lh-2)do*wLDtVn0Xog7vhI~c^J?%La7%}#^{DWNM1ok368)Prk^}-4RK0v zjJ%K%nsRym&;`Jo)hWX8!j6`4SWIvL`t-Ou(t&LL!Ohk~0CPrN;CcWQrw#89f!E`4dCvcLWDuzM*1Vq+DYp?j%Juv42$s$u z6mleidb7)P+y|rSONh#r-3yh| zFFbv{mlX2s2vP)}J#kPzD%`ZL;;CB(q9N2UrtFiy{ZggeRGgg*;gX@Wk~icbiDHia z^UpWCqF`6Ti)T`b-i6Ev(>i|!39lo~GZ7?fL|l)!x)F`Zn;F|fa3M^1<0>B2k*s&- zX&EWqOJ!bJTP-HmwaAIx&83wLXU0?>G!sKnvlrC1-~xwNhx>VLAAdXLU}%9}*;kB6 z#7)X-;unEbW#S3g`qf?5ls+G z^^|gl$d4(g0@^A~Gqm>?Dx-1P6dn?o@fNhk+}jS_H4tYo=`76{GijC~>C%t!n1Vb> zoB$ajD0JgX>MHf!^j#o|!!8?t)T<)FWort*bXAeqfAa0UZ{z(>8S<)~4U&6eaS zARnyGUcaILP_!K|;I(tmtkF$zYUk|$v0J}LGw)n-5VdJ<@%ljRx=`-(*cBN~s6F9vKG0n7Wj39TzRg>Mo1)1% z5SU~Lo^3QVF&)%&p;-#!Ea6Qe zW;gC>%-~-z)^1hzvxnLI+vv*}EXKbrMvvoBBQ!QNrkqEJ>V~A<;g)cN3Fmiwi&@6_ z!wvX5N+FnY!N5I7Jw6pbU`S8F@fVt>m=D|!=!G9wpH6||AZ40A-QG_YVhd1Ki!2W| zm}zT(`ob^nN?jEJYJ}onJ=OINar1vA0EK~M()A6VTSL#;7M|4M-oA z<#nS!kW!d;p@Gddox1Tg$@&pm!kn=`P*+a!@}kB4J2g3 zkyj|SFz(d^wuZn@Pm?A2ymEteYg%7v%2kSgL2r-nWfF}dZuuRAc}z|o zrjv(p6^K<)x8q8M!S0t52Tv#Ejq)QC%7@-`v{mOrSzHxXvmsZ*&3-K1Gv+nS zW|OYNWop2-`l4;X!Xd5EuC+|)b~=CB$xo)WD+-i{d*vzt^yNyys#$YHtj8M1>kwVD zpMuc&l0bT0jX$2>GS>)c^mNb^guS1Z9DZjy#w2Q5r!=Fw`8hWtQ zU&HJ><saJjazNct3Ijx&)B)RrFY9}2{ z+@w{$V89bQXH{ey3kNl&`CVa?mZI10i*qA>uZ@^KSF2>-ugs+2q#fU#jl%gKsBmD^>aqo2qLNm7?eMt9^@jYT#!}tLyNhbd9#9m7L4J9x2{XCMc~Ju6tjr9q>k?cwHuXo43ULTe)Phyp@!%&;B_2 MH^Pkqh}j|l06k diff --git a/static/admin/css/forms.332ab41432e2.css b/static/admin/css/forms.c192d1ec6902.css similarity index 96% rename from static/admin/css/forms.332ab41432e2.css rename to static/admin/css/forms.c192d1ec6902.css index 2e62f9ec..67b1747b 100644 --- a/static/admin/css/forms.332ab41432e2.css +++ b/static/admin/css/forms.c192d1ec6902.css @@ -1,11 +1,11 @@ -@import url("widgets.694d845b2cb1.css"); +@import url("widgets.00318bc424d3.css"); /* FORM ROWS */ .form-row { overflow: hidden; padding: 10px; - font-size: 13px; + font-size: 0.8125rem; border-bottom: 1px solid var(--hairline-color); } @@ -27,7 +27,7 @@ form .form-row p { label { font-weight: normal; color: var(--body-quiet-color); - font-size: 13px; + font-size: 0.8125rem; } .required label, label.required { @@ -248,7 +248,7 @@ fieldset.monospace textarea { /* SUBMIT ROW */ .submit-row { - padding: 12px 14px; + padding: 12px 14px 7px; margin: 0 0 20px; background: var(--darkened-bg); border: 1px solid var(--hairline-color); @@ -264,11 +264,11 @@ body.popup .submit-row { .submit-row input { height: 35px; line-height: 15px; - margin: 0 0 0 5px; + margin: 0 0 5px 5px; } .submit-row input.default { - margin: 0 0 0 8px; + margin: 0 0 5px 8px; text-transform: uppercase; } @@ -288,6 +288,7 @@ body.popup .submit-row { padding: 10px 15px; height: 15px; line-height: 15px; + margin-bottom: 5px; color: var(--button-fg); } @@ -353,10 +354,6 @@ body.popup .submit-row { width: 2.2em; } -.vTextField, .vUUIDField { - width: 20em; -} - .vIntegerField { width: 5em; } @@ -369,6 +366,10 @@ body.popup .submit-row { width: 5em; } +.vTextField, .vUUIDField { + width: 20em; +} + /* INLINES */ .inline-group { @@ -392,7 +393,7 @@ body.popup .submit-row { margin: 0; color: var(--body-quiet-color); padding: 5px; - font-size: 13px; + font-size: 0.8125rem; background: var(--darkened-bg); border-top: 1px solid var(--hairline-color); border-bottom: 1px solid var(--hairline-color); @@ -404,7 +405,7 @@ body.popup .submit-row { .inline-related h3 span.delete label { margin-left: 2px; - font-size: 11px; + font-size: 0.6875rem; } .inline-related fieldset { @@ -417,7 +418,7 @@ body.popup .submit-row { .inline-related fieldset.module h3 { margin: 0; padding: 2px 5px 3px 5px; - font-size: 11px; + font-size: 0.6875rem; text-align: left; font-weight: bold; background: #bcd; @@ -458,7 +459,7 @@ body.popup .submit-row { height: 1.1em; padding: 2px 9px; overflow: hidden; - font-size: 9px; + font-size: 0.5625rem; font-weight: bold; color: var(--body-quiet-color); _width: 700px; @@ -493,7 +494,7 @@ body.popup .submit-row { .inline-group .tabular tr.add-row td a { background: url("../img/icon-addlink.d519b3bab011.svg") 0 1px no-repeat; padding-left: 16px; - font-size: 12px; + font-size: 0.75rem; } .empty-form { diff --git a/static/admin/css/forms.c192d1ec6902.css.gz b/static/admin/css/forms.c192d1ec6902.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..d97ef72f40bc4f6af238db2bfc71abac7ee8149f GIT binary patch literal 2211 zcmV;U2we9ciwFP!00002|Gip!Pvbfk|DR7`akaX`ToU@Az!a^tW$3J`Tj+?Ey;oYT zMo!|k5pJBDI0Y8XcfWQVJ9c8XW%e;>fI8rBEuh!pW|qSXzq79 z{q9u|p7+k9z8~iK@yYek(b-4vW%h6f9%jGI!N;?sBY#PlIwCcg;5kIt0Cxi(igF`BnkEM_}^#irDVfc(ie~u z97kXavk#uPhH-}D1bHFBBx6c_*R_Z@t5cwTOwxi@sxi%I9760t9Iuig*f0e#YVczi zAS~GaNnca+*W+-F!l!_|9RI75vw_(vPCQCdruwy2bf=Wcg=)H_6@TRn52GcOq|&d` z(am@&JS#MLtDW_X;?W!^$%OiC(=wiWpJl8@H#q)fr;c8H$9}r{YJw zYS}v=ICAa0T%AZ;9!9s58Mt{|EN1t@n$j0hy!A5}#VndR<)0cJ$;2j?93$UtJbs+; z&}*zwoTnJR4uN>$1(<|S4sM{kl);>?hX59oxX5)Bl&cL041w2U;5=vlI}!;B=^6wI zEcG@3q~gDy563bXm_WwFS+94wj>TX!o&5cNd<(uz#?#yRcv0nRiBK8xrV}gg847Xp zc-q!Bwv?!R*}YKN{mgRMd(I$Bksw3x$>R&+Q5mLng{Q6nqM_6sHzEmsHL*Pe z7u@on?XX=Vae_(T(!`i4 zQ$W&XA7z+=EJ>UMIl?G(^GoR}_1*GaBx;9UK7Mahd4kK(|a^c5qS%`I{Y1B}3X zqpRhpQIpM<ODodV0UeE_tJc+-w&2b{~avm9@&MPAO5*N$VN zOKZ6+44+mRDUwK@IU<-nA(nn#usS*HFk~c&+=J!*YK4)SEHx2pHpwyNnNd$R8Je07 zX}Z!hgGrvUCXvu<_cUhgUv8|Os_tg@v-#K2=P_7}e_xCq#-j!_HY6czj}X-jNjt+W z;U>mxzvG*j=9E3$fPbJ2f;m$R+%eYUQ~m>n zcasIb4-nNNFM>@>wF`mz=+DneU4ELllqgVR6#MF_&UZ+t|0^KmPLhqMEQUL<$>HRu zBrQ_Vwz1}@r)G^vAD88kqd$;ZnCGE^%{NB-YYO%ww1fqwjiagLyE3dTQOGOd5EN;O zvJmE|B{pq}^850}K&N6GV?XA~XkNHmM5h)MTqu%d)5j0e^c7DU!p5WOyfp;|**TN(}qmnbOe>IR* zqPj2jXa ztb>cQlE3{*@|cHwzJVA|81o8cmW_M0fUTRV_Rvkda+7sy4}2jR(=quKy*|L_Ni>R> zD|ZSuy!H4vxwR=PRk5UCnM?O+Wj&^zfKxHLGJTt}g4h4Gqa^6t_mD?Zq-QtpTug?a=LX{<3pFncyxw zs95*J)CKx-`f{7soF?n($MN<=H}9t)biPwj&CJXeR-6h9vzAS+E?~OC$u4T%Ticz+ zo%72OaONi89a&sQ?u+R^OP z?=UL!s!!kc)R5**>*h96T>JKFryNb)v{lVuz*4-R6}*l62{p9&T?s$K&`<7jb_>LV z3$1t^{IaiIBfnKXxa`|FGmAp#1-8Qxz1*_dIpG8o&dc4K2fV`G*R=e->|6XE7V;JVwvQ zb3Yn%KLz~&2Ayu#&$p}N6Bc%EMM7AON)e>i+w}`;dDnUu+NAW=E3Xh;cW(T(_jo#5 z$eTMby1fOn`!P5J)7k9T$FE|08bg|M}&MtrM! zY7lFkB`?~SHeS48!?qct9KkGH`tMERj1oa$fkHQXGuU3Z_YSp8(@iFP|9c+pe;^5dfpm` z2@NCSEf{49DD_>}BHXN6Nc$MY881}>&3L%L)WbAfMSZjZ1u3cVQ#>cMVEco=#^kTZ zi#1t1&DqQGKTA0qoUFpg<17Z%udSlnxl|!k(N%&VA4?Ju_#)tM{)gBwYE%?P+0kLV!9UL1A^P_))D|_MS5uxOQHy zPNXdlgWJ&r-8{}_ll#J&+!sN(^%ER~5Y3c}Pc@Gu#U_^mBj0U2ei(_+Ypg+-#uUHy zQSro^Q?__=a3kHNfNZ|*Bb;&OBG*xnuht;YM_w1ec@F>E5(x_F8U!*b^)>*c;=iAd zhB6qGVPF!h*SlN?F&Kw0uLk@e-35FDzCj>uvVxf4HhiP5nsZ#*aP^up>{?XrlF7s|I)=v6($w^Y`y8uX% z2-rV-xZZ_=U0E-lNiDh;rQ2%W`3s7nnAFzPqrK{9;%Xg8e9d`Nny-^hjE?a{@u9xyxN@O-S$T^-728x`ZSr7s!I`}+9v*GWv!NYJ+gT{tM4E9)%sv&7-xFz0%6!ts533i-D{g_C6C$&29*YzjE}F^jVpHEpaos;OBc z(#K_a_cAP{lc*xnjc?R=fR0l;f&c^MN=HjN)cg8}^pK9GK zIE6McUrj?7l%-ZXnakU$>hT_hj8K{Sh~EA0dH)*)6_;`Ld*tsQ=au1x41@cQE5@ufI+zGsAa*E^A>{V=&jWpy>Xbvga) z=hDMtp4F_5xwyKl-Zs=Et5Mt2Glhc>m zy!td*O+SveC%Sn*%@@vhDyo^8*#gBWqc~~U7#U!z=5Zb zonPWPg6h!xxObryuY+IqHEZOz z(g&Aqdx_7e&l#iXzP@tpzRh$9R9B$ZBeiys*t04o?u39wjC!pd04+%>Y#!p2Lz;o5 zKmL~`{{ZFxtW8x=u-LQZb~VBWIvZPtZSl7WzJD5SR;M9MbRLk4>D*7Zs}qQ`P&;B! zlwyLp^*a5+TFi_3}GI*Cm^H&pjLuX7Z{I4Q_AI*lQF1X62dEU{6Fzwp;^8?%I?ETJDiJcq%W@YG+X>4&rH zlaupL=K7q0PS${(epMqOlTMpZ^LOOg&7)bu>U*kd2ZWKE(?{3$%am*O>g}bh#nRrv-aC{bxyM zi<5O2d7Q-q)V{WoZs$}5QB9V(#4qjOQL^F^RGM@$yctajqZX39Rd#wN;d%oY5fH?* zV4T}vP+Dfef>-bNEF@gn#%g4ta6$kuAwi*VtN2l!TG%ca4O~oD>ocjw!|--IMK_Q0 z`SiX}BsW74?)(G?AviMS;#18SNx|fEDPI%E4E?c>(|1G6+TG?dPu3--tTP)F)#B1krbx*mbL0gLFX8QTMNDNK0nDjwyLtas*V5h2Kkx{#w3o9AUjF>#ACx)VCFQ`qy1rAh)yIEx)e>VXzGAA$mYe;ASrfWd_b~iDB z%tY<=+j?2hb+lxa7K&!2?bxZ9iT`#esAT@{NnS-dE`r6vP@Kz%rUWN?O1VSi#}rfn zZIz}T+J_63(YS014=7Hd1#Lp`wnKLf#2HLFOEbnynng&u^y3gy7?Q*ZkP=FkZhT2y zrM{cK3q*0)XXE#JRV27<4I*;Al)q9Uv$+Az@q!ZcUhir-YSd)2B{>SnJFBzTtLZ-w zZ3p$CcJ}Kvx-L%TygeXx>*s0aT}Te1HXSTp@2Fju%6+~ZB#U8C%4?kdXc7v(DdAA3 z#cwz4#WgdO6w8sJ+pcDYU&ptj`oI7>5ZmO`ZJRNf!>O>(KiQMgc(hMhJBKE%8V%Dp zy{q~(nS-jf(J-aW<|-(pkqgGI$f!dd2#<@t=7KNN$z=F#))?FrP2fOroI>1vsyC`C z?VG@xZVOqC?E|2l#G7_AJK{>FUE@S+&C-09ymnj;T~bS~c=@zWSQZ8H&Jp0`i9q^! zi}l%Y_aGxlBoD~_^_mhjS!yIUFv)@NpwyF%h9;(inl3a?aFoW-BqDz8p2iIRIb-cs zbvM1A&b|%5jL>}a+kE&i8rDK%%OVCmmZWM(+8u6%w;=_7r#B%_IXv8=zmo)`83=~% z0QIybe&8i*q0=ucOF|g9@5wV9m!DclagZ|29&hf(bFl>|szsVDwjtNn0M&(G+?6^i z0@MfvUtQJpj&bvUB>;tiWYftD;hwk@q2$Lb&SKQmufnJ%W(`OmmF0D#*OyY5ccH$` zHtnkM)yet+S>cTG+NHF>x-vA)qfb=80m|Z-Buku<2GO`q$nTMD6AIW;!bu*Ti$h&T zl~0WV)+p?`fm&iANAngL%z;roAeuflc1@ajn+A9I!7L~RSDBBdLQBe0t3J(Rzs z{QuL+5?$|8w({O!#gH{!LqJ?&9a@C<_=~Io~-`!$P5r~m55swWYD3DyO6*8#?nx@e741ujsba15)0#QMPO$L z{P;M&wZT_Px`|c>y$RQDuuetmD@#D7=oj+(fS<>~FaXQ%Aq+7&zMqWmM`a+E)kws2 zT<_2AW_9SPYm0%%#b5;A>lCiaO`!$Fx^^_zh8j*nz@=*7jB^h$(Wu2a_{s{r>DAlU z@!N5wLVy2DiKC~J;zs$N3FTdHI-07(P!^Si)ojS+aB~<-_l$WBv)QEMaG4sgt-fd) zFn35}v}-IAI_>tK_VSZy?TP~B;cl@?Ks~uquxeHx5v#Gr@j67;?5D-j`I1C+FEc%$ z8f6qG4Ru^)-?V}gy(n^TO-mX}-T@df)wTA7W(iV7E@b(r>??>nyO{UXd9={c{Q&|x`%Ggt8-B+r1@`JAm?nOi{*Q5UgiUpp){_yvw_63-SI%8smL+BGC3`lp?Ff=mgegU9Ze3X~h# z9$X)Fdttt_w=s*HjdqF7;0$G-#CfKv;`>9MsnYItXT&iXC6EVI47HO4y`%$}YR0iP z37Llw)hFn+P}_tQ$T`Tax@j8ofg-7s%gh16r~YZph$q#f;gyluotX2e;n8 zGkX~_-8Hk+qI|xtbR@vkX^D2oattMjn*VJ6nyrPMrA%NhhsJsmv{DTQY&(FSf4K1% L;-h8;z5@UNH15V| literal 0 HcmV?d00001 diff --git a/static/admin/css/login.8b76a9f7cbf6.css.gz b/static/admin/css/login.8b76a9f7cbf6.css.gz deleted file mode 100644 index 42f98bd9103450378259a03ea0f215dac5d2bc32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412 zcmV;N0b~9jiwFP!00002|8-LBO2aS|{lBLO48aYvwR6ho{wsny@C77oZrkh9q$KG+ z6yM#nOFOr9Ed+9N?#VePcRD7otLK+@^0fMRBjf2{FcB(4Nqz>zeKAYcnO2qL5!o<( zODSi14H7twv(d7_+f((1|pI78W`aG7VU`2Lt>thBq`nQ%--3FNIRhT2JjPSO!fHRD*Bh|F8x zY6ChIY8#OpIR|;DZjsyEDP2I}<3UM%@jeL7LksKDzt_6<%9B*-f@-xrk7Rxx#t|u4 z48r3%no_WRL}H%9BEVE}fws?b2n7l1|6=~?t%aSXOkgJaMtag}r5X&_W&k~Zf8!rx)G?8| G0{{R`+{%>z diff --git a/static/admin/css/login.css b/static/admin/css/login.css index bf4ba8d3..389772f5 100644 --- a/static/admin/css/login.css +++ b/static/admin/css/login.css @@ -12,7 +12,7 @@ } .login #header h1 { - font-size: 18px; + font-size: 1.125rem; margin: 0; } diff --git a/static/admin/css/login.css.gz b/static/admin/css/login.css.gz index 42f98bd9103450378259a03ea0f215dac5d2bc32..ca9d533055da1635cd52842a4569b1046aabcdb5 100644 GIT binary patch literal 417 zcmV;S0bc$eiwFP!00002|8-K)O2aS|ecx9EM9^Wjc5WiwyCSFqe?ZdauDvczN|L%w z@!w6`q;p$sA&{GMPtG~H(=mBoJwCmXht=B)8Ba%}iBLI8@;xH%OIfzbwW=jg$S2cR zlyaswAc4~~zh1VO0x&OZLRf9pa`e+PTok}KXwP(vYAO}u9A%!6cv0<0d{^zd`bTXn zuJ<%k(t>m?nOi{*Q5UgiUpp){_yvw_63-SI%8smL+BGC3`lp?Ff=mgegU9Ze3X~h# z9$X)Fdttt_w=s*HjdqF7;0$G-#CfKv;`>9MsnYItXT&iXC6EVI47HO4y`%$}YR0iP z37Llw)hFn+P}_tQ$T`Tax@j8ofg-7s%gh16r~YZph$q#f;gyluotX2e;n8 zGkX~_-8Hk+qI|xtbR@vkX^D2oattMjn*VJ6nyrPMrA%NhhsJsmv{DTQY&(FSf4K1% L;-h8;z5@UNH15V| literal 412 zcmV;N0b~9jiwFP!00002|8-LBO2aS|{lBLO48aYvwR6ho{wsny@C77oZrkh9q$KG+ z6yM#nOFOr9Ed+9N?#VePcRD7otLK+@^0fMRBjf2{FcB(4Nqz>zeKAYcnO2qL5!o<( zODSi14H7twv(d7_+f((1|pI78W`aG7VU`2Lt>thBq`nQ%--3FNIRhT2JjPSO!fHRD*Bh|F8x zY6ChIY8#OpIR|;DZjsyEDP2I}<3UM%@jeL7LksKDzt_6<%9B*-f@-xrk7Rxx#t|u4 z48r3%no_WRL}H%9BEVE}fws?b2n7l1|6=~?t%aSXOkgJaMtag}r5X&_W&k~Zf8!rx)G?8| G0{{R`+{%>z diff --git a/static/admin/css/nav_sidebar.e32d345464bd.css b/static/admin/css/nav_sidebar.30423191f399.css similarity index 99% rename from static/admin/css/nav_sidebar.e32d345464bd.css rename to static/admin/css/nav_sidebar.30423191f399.css index 0c590ff2..5fd2ff0b 100644 --- a/static/admin/css/nav_sidebar.e32d345464bd.css +++ b/static/admin/css/nav_sidebar.30423191f399.css @@ -16,7 +16,7 @@ border-right: 1px solid var(--hairline-color); background-color: var(--body-bg); cursor: pointer; - font-size: 20px; + font-size: 1.25rem; color: var(--link-fg); padding: 0; } diff --git a/static/admin/css/nav_sidebar.30423191f399.css.gz b/static/admin/css/nav_sidebar.30423191f399.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4f404a616af3a2f038accd4a08bc73dbeab6441b GIT binary patch literal 763 zcmVPea}~DU^>7w@`Q9kikWs=exvP!Y^`lIvgAr~ zE_C?!u5CH76Fa02kO#UR|hu%5Td`F|yd&Q-()mfoMCqfJxYx4s5 zR4`u{$h~tH2OnI~q{S&1=R&1*z*yuTT$nFc#>uN+WW3-$tESACCDp6LY^TiNpaX{|WMa5ajDn$&S-Io|TIcdLz(t3v$g%3B+aoh8Gu(dJ)nvVAB9OZSM#3rr&M(sS;yZEOR t;Pzqk5dx*D0b5FEM|qrswJZe+#%MFVmmP~F3>Eox@(=0tQTICv000>@cE11s literal 0 HcmV?d00001 diff --git a/static/admin/css/nav_sidebar.css b/static/admin/css/nav_sidebar.css index 0c590ff2..5fd2ff0b 100644 --- a/static/admin/css/nav_sidebar.css +++ b/static/admin/css/nav_sidebar.css @@ -16,7 +16,7 @@ border-right: 1px solid var(--hairline-color); background-color: var(--body-bg); cursor: pointer; - font-size: 20px; + font-size: 1.25rem; color: var(--link-fg); padding: 0; } diff --git a/static/admin/css/nav_sidebar.css.gz b/static/admin/css/nav_sidebar.css.gz index 237bb1f6079d346b11614dc8023953d400f75364..4f404a616af3a2f038accd4a08bc73dbeab6441b 100644 GIT binary patch literal 763 zcmVPea}~DU^>7w@`Q9kikWs=exvP!Y^`lIvgAr~ zE_C?!u5CH76Fa02kO#UR|hu%5Td`F|yd&Q-()mfoMCqfJxYx4s5 zR4`u{$h~tH2OnI~q{S&1=R&1*z*yuTT$nFc#>uN+WW3-$tESACCDp6LY^TiNpaX{|WMa5ajDn$&S-Io|TIcdLz(t3v$g%3B+aoh8Gu(dJ)nvVAB9OZSM#3rr&M(sS;yZEOR t;Pzqk5dx*D0b5FEM|qrswJZe+#%MFVmmP~F3>Eox@(=0tQTICv000>@cE11s literal 760 zcmVs2tS&Ze{f%u8vPIikWXY4{ zTsrjMCtH$Z$4;6(w0USlQb#0p$kVwtELrc--wComrPRzYDI(;|PmR^cGC~XYcR_YI z2bSd~LU)VBCV!f|P9}3Bvy1~4WP>%M5EJDQUoaCCb`e^701l~X(J0d;C;JGc9Cpq` zILicP1_~Xa1cU+Q9KS1@Q@Y2Av^HV-&icGXwV&mu(j#pdHF?xA#8OdE?d9$(R=${W zhqUC3q76~E80Um3&IH)|xKvYrge2=s$x2XXj(l(|=^n?Kk4h?~YhNi@CqtXI?ad3+ ztq2+QKhvr$(n zlS+pKPBe%TwFUvyHOby_eTFJ`_k%}W-G`RB+VFDq5G(~z854Nu@U=DcJv758B6LZV zWzReFpl(^pY*YEOvgBk0!$J>1PNEeShC)g0hkV*wU>vkeMkX*u0Rm;($!c;{2Q?daB&4htaM;Ig2?RofCmDyNA-mjePi!fk*j*!Jozi*kb(4BC=v;!I1DS$3 z%+z?|c2Cw*h)G$ZxrU@so_Y(;E(zQ)t5rZ-`gF!H2T~73cTSr1yY<2qOHR+^V=Dzd zSZD!U1GgF2Ri@;2dSK}>w?0}tN9mSkJM4**5T4xD>_NDZr|H{dzZmZEG2neGfHHz^ zJCUo0mGydrF8&N%pA?mzPzx!*b=2Na|9YeN*&*oS(vHeIjM;1ZW+~%VSx=2)EO)ik zHuC8gq%|Gs>e8;)`~LQeYD53ugW($XfS1TYU-bqwZPX&|3Zg5kuc)2tdI$eh3{0Cw qA7L&eR-h|x^hq8Upf$+=gHlqB>#`v+hp{HVPW}N=?$PEr3IG5KQg9;x diff --git a/static/admin/css/nav_sidebar.e32d345464bd.css.gz b/static/admin/css/nav_sidebar.e32d345464bd.css.gz deleted file mode 100644 index 237bb1f6079d346b11614dc8023953d400f75364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760 zcmVs2tS&Ze{f%u8vPIikWXY4{ zTsrjMCtH$Z$4;6(w0USlQb#0p$kVwtELrc--wComrPRzYDI(;|PmR^cGC~XYcR_YI z2bSd~LU)VBCV!f|P9}3Bvy1~4WP>%M5EJDQUoaCCb`e^701l~X(J0d;C;JGc9Cpq` zILicP1_~Xa1cU+Q9KS1@Q@Y2Av^HV-&icGXwV&mu(j#pdHF?xA#8OdE?d9$(R=${W zhqUC3q76~E80Um3&IH)|xKvYrge2=s$x2XXj(l(|=^n?Kk4h?~YhNi@CqtXI?ad3+ ztq2+QKhvr$(n zlS+pKPBe%TwFUvyHOby_eTFJ`_k%}W-G`RB+VFDq5G(~z854Nu@U=DcJv758B6LZV zWzReFpl(^pY*YEOvgBk0!$J>1PNEeShC)g0hkV*wU>vkeMkX*u0Rm;($!c;{2Q?daB&4htaM;Ig2?RofCmDyNA-mjePi!fk*j*!Jozi*kb(4BC=v;!I1DS$3 z%+z?|c2Cw*h)G$ZxrU@so_Y(;E(zQ)t5rZ-`gF!H2T~73cTSr1yY<2qOHR+^V=Dzd zSZD!U1GgF2Ri@;2dSK}>w?0}tN9mSkJM4**5T4xD>_NDZr|H{dzZmZEG2neGfHHz^ zJCUo0mGydrF8&N%pA?mzPzx!*b=2Na|9YeN*&*oS(vHeIjM;1ZW+~%VSx=2)EO)ik zHuC8gq%|Gs>e8;)`~LQeYD53ugW($XfS1TYU-bqwZPX&|3Zg5kuc)2tdI$eh3{0Cw qA7L&eR-h|x^hq8Upf$+=gHlqB>#`v+hp{HVPW}N=?$PEr3IG5KQg9;x diff --git a/static/admin/css/responsive.b9e1565b3609.css b/static/admin/css/responsive.02281633b5f1.css similarity index 95% rename from static/admin/css/responsive.b9e1565b3609.css rename to static/admin/css/responsive.02281633b5f1.css index 5779c5a9..9a4615d0 100644 --- a/static/admin/css/responsive.b9e1565b3609.css +++ b/static/admin/css/responsive.02281633b5f1.css @@ -14,11 +14,11 @@ input[type="submit"], button { td, th { padding: 10px; - font-size: 14px; + font-size: 0.875rem; } .small { - font-size: 12px; + font-size: 0.75rem; } /* Layout */ @@ -28,7 +28,7 @@ input[type="submit"], button { } #content { - padding: 20px 30px 30px; + padding: 15px 20px 20px; } div.breadcrumbs { @@ -45,7 +45,6 @@ input[type="submit"], button { #branding h1 { margin: 0 0 8px; - font-size: 20px; line-height: 1.2; } @@ -88,7 +87,7 @@ input[type="submit"], button { } td .changelink, td .addlink { - font-size: 13px; + font-size: 0.8125rem; } /* Changelist */ @@ -131,10 +130,6 @@ input[type="submit"], button { padding: 15px 0; } - #changelist .actions.selected { - border: none; - } - #changelist .actions label { display: flex; } @@ -152,7 +147,7 @@ input[type="submit"], button { #changelist .actions span.clear, #changelist .actions span.question, #changelist .actions span.action-counter { - font-size: 11px; + font-size: 0.6875rem; margin: 0 10px 0 0; } @@ -176,7 +171,7 @@ input[type="submit"], button { /* Forms */ label { - font-size: 14px; + font-size: 0.875rem; } .form-row input[type=text], @@ -192,7 +187,7 @@ input[type="submit"], button { margin: 0; padding: 6px 8px; min-height: 36px; - font-size: 14px; + font-size: 0.875rem; } .form-row select { @@ -236,6 +231,22 @@ input[type="submit"], button { margin-left: 2px; } + .submit-row { + padding: 8px 8px 3px 8px; + } + + .submit-row a.deletelink { + padding: 10px 7px; + } + + .submit-row input.default { + margin: 0 0 5px 5px; + } + + .button, input[type=submit], input[type=button], .submit-row input, a.button { + padding: 7px; + } + /* Related widget */ .related-widget-wrapper { @@ -393,12 +404,12 @@ input[type="submit"], button { } .datetime span { - font-size: 13px; + font-size: 0.8125rem; } .datetime .timezonewarning { display: block; - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -496,7 +507,7 @@ input[type="submit"], button { #content-related .module h2 { padding: 10px 15px; - font-size: 16px; + font-size: 1rem; } /* Changelist */ @@ -622,7 +633,7 @@ input[type="submit"], button { .aligned p.file-upload { margin-left: 0; - font-size: 13px; + font-size: 0.8125rem; } span.clearable-file-input { @@ -630,7 +641,7 @@ input[type="submit"], button { } span.clearable-file-input label { - font-size: 13px; + font-size: 0.8125rem; padding-bottom: 0; } @@ -812,7 +823,7 @@ input[type="submit"], button { /* Submit row */ .submit-row { - padding: 10px 10px 0; + padding: 10px 10px 5px; margin: 0 0 15px; display: flex; flex-direction: column; @@ -907,7 +918,7 @@ input[type="submit"], button { .errornote { margin: 0 0 20px; padding: 8px 12px; - font-size: 13px; + font-size: 0.8125rem; } /* Calendar and clock */ @@ -954,7 +965,7 @@ input[type="submit"], button { .calendar-shortcuts { padding: 10px 0; - font-size: 12px; + font-size: 0.75rem; line-height: 12px; } @@ -987,7 +998,7 @@ input[type="submit"], button { /* History */ table#change-history tbody th, table#change-history tbody td { - font-size: 13px; + font-size: 0.8125rem; word-break: break-word; } @@ -998,7 +1009,7 @@ input[type="submit"], button { /* Docs */ table.model tbody th, table.model tbody td { - font-size: 13px; + font-size: 0.8125rem; word-break: break-word; } } diff --git a/static/admin/css/responsive.02281633b5f1.css.gz b/static/admin/css/responsive.02281633b5f1.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..d51e19231415749586185b9076050305d314db3b GIT binary patch literal 3463 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 diff --git a/static/admin/css/rtl.4bc23eb90919.css b/static/admin/css/rtl.8473f45bd49b.css similarity index 89% rename from static/admin/css/rtl.4bc23eb90919.css rename to static/admin/css/rtl.8473f45bd49b.css index 0447f893..3a4b37fb 100644 --- a/static/admin/css/rtl.4bc23eb90919.css +++ b/static/admin/css/rtl.8473f45bd49b.css @@ -175,12 +175,24 @@ fieldset .fieldBox { top: 0; left: auto; right: 10px; + background: url("../img/calendar-icons.39b290681a8b.svg") 0 -30px no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -45px; } .calendarnav-next { top: 0; right: auto; left: 10px; + background: url("../img/calendar-icons.39b290681a8b.svg") 0 0 no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -15px; } .calendar caption, .calendarbox h2 { diff --git a/static/admin/css/rtl.8473f45bd49b.css.gz b/static/admin/css/rtl.8473f45bd49b.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..9f2932f2c42863e49fcfb84f48a78d429295363d GIT binary patch literal 1059 zcmV+;1l;={iwFP!00002|Fu_JZ`(E$e)q2+8VqOyleXg~YhCOiSuZG%AV8C%7=}Gi zB5iS{Nr9y71jYXQNRgC8OG><9OMpbC&hU zWn*8@=Rbjk6LD?{<<$JI9%S|>%?&hCavglExy06tb5YBff?@(pv05{w4a^J1$#i1Y zQW{`L_cR#Dq#{&>7=;wHHZwZ~*O$NDe!Z_Neo|>G(sdi6$CZ&j`XtA0ft$z(+o4R^ z=yFwUGyP;Qoa9m%Dh%9WCelm?gcRl2P%?x_uXo^bK97i}4dioiFz1rr+zmC}sO~(1 zc6a;b{_^Vj1E~Mr`FX*aZRJ=Pq@{Af*8gQa76FT~QZ^b6tAo~R{r4O0^;zf}8yCU4 z$Rt(-X!FRat^-5uX&kr^D*<@0htY+bvC%g6zT%{5qZ4ob9J&_(tr<5|*{rFO|1R>tbBamCHZ zf~xn>drM0n8FdJv-96j-4?`MpR2u-$TB>d9ZAd2;(Mf_vu|x&svTF9PESn1WY}=jQqmeeG6{r+{`2wLC+iqsjK4f+!YqWfuoxPo3 zyjkEk8PdDWi&u7V;nEYg-PR?=VW^^_8@$0NS8JJ9dU}jxA$KkN4`F9xcpYaZF(KN$ z+J$4}j`QEZF+Um#7v1wP)KbSlu;@V$Z|75xm@m!-C^WbCEvf<|)+IXxGcgwBO7YqUg5H&qdC|~ zy7_$fs~@8fSiEl5UvR>iL%JM>tTxt7tkGWrU1AXy(D22srJj@?nJB1YX1FhdZX)9| dYp{DJmhSpZs4%gavSA>fzX1t`q%ABC006Y^40r$l literal 0 HcmV?d00001 diff --git a/static/admin/css/rtl.css b/static/admin/css/rtl.css index 0447f893..e0fadcef 100644 --- a/static/admin/css/rtl.css +++ b/static/admin/css/rtl.css @@ -175,12 +175,24 @@ fieldset .fieldBox { top: 0; left: auto; right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -45px; } .calendarnav-next { top: 0; right: auto; left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -15px; } .calendar caption, .calendarbox h2 { diff --git a/static/admin/css/rtl.css.gz b/static/admin/css/rtl.css.gz index b73ee4ca1251133df44ac189998a5edc5f3218d4..282f7241855764143ef002ed89f6fb70d9c39f7f 100644 GIT binary patch literal 1042 zcmV+t1nv7DiwFP!00002|Fu_JYuq>#exF|<2n%f(d1f+A3sd$X*MS@uD; zWLsNVGLk%#Q1-vCWJ$I)wv*YyCXn&S=k}e;ca+sR_lPD6^#AHXq<@o4LoEbT-bc;^GG?rcRz{ZuVW7)hPNmW?D=EXvh0cZ0 zK;z-5H;@X6iS#jY!AWaobq;Q>zTN%)&{q7cQAT9w)<=&TEnM^w#$kcG$S~a}sWj1L zvZ+$_Y%iQ;f@{JxtPtff(g`6+7}5k!Wn|PlaJycIjK>Y+u-G(bg5BOvHQuc5IwbA> z?(4(V_031n{=Ikef>P7Up)iRO(gxdpigqk~F6K(vY1mvHwN~$c+;DF$eBYS3Fj8eI zkiQG)c+UVt|VR~jk zwR`A;p`}lh*bFB72U@u=QyO7Zy96Y;kX7$(N+%T2N`g+YPD;Y+C5TTg`Py@DCu0Q3 zA-q_+Ia<5jkZfrGZT}kJe9oOd2lWIKlM{hesvZ2DE;RWW8+O$Fxtpm!zI^!n@xf13 zh8W=(NsjigmSj&w)9qhTcNK7G`<*_bkv^myXe4`;Br94Kt6&~dvyoMz_Qh*6sc`F< z+N|fAAU{Px)K1!DSi4+gjar@}S&Ds6_fyF-F}w*w5}DxrA|2wNxzzk5{`JY&Z8$IE zZlzAaycuB*_wOZ$%$FAvB$=5T6_K9v+NCDsJShf&?kV2FGdF!l5pZ;29t~{EN*xm# zt~P|K4Uc+xn+&6K*nyH_Ot`b|uY>SFaX~aZNL1Hk7K53U+b{ROxk2%Pg$rf-FN{C4 znXac()*2fE>-4uk)rk8QGktaI$t5O0%1a`to^C|18_76iUG83pWw>A?vWslSeCO%q MU$~NWF%Av@00Ykf#sB~S literal 966 zcmV;%13CO3iwFP!00002|Fu?aYuh>${+?eUD1)t3ZqnRtkg*T#-WaqL)?UWA+z+yK z5^GZ=Bg;w4W&i!^)wW{0-3Ch`b&k*bd7dMk9;1&}HWl=UBf#&$%Dz3s0|aC!&XEJgm?n zJBO`zv}3U6Onf(f2&LhvD2dpB{SjPN<{cB8)Mpe%r!T8}{~{;F_l=T`ptzDXv(=c_ z^Z7Hhuqrkz1rGX;Mv(b8C^Xhm@;by=b4iRF8^Y=65(q`QT&B&s5rPN5% zzBD+ZcdNU)y3DFzwg|{kDA)3^uvbiNu#CDKB=)k;5IYLc3G}Wc72#vRdiL}xYB?X*lpko~wULvw$0u7bSI>OQI;M z^#h06C6;y4NVt$IMPwAi*-Oi@Nf`TBk!iKAlW1O!?F*Ex8P}jpRX*Y*7JK4YYjxk@ z^r#Dly~|&5)ybdUFUxtTa3myWS#8K)bRe7vpLTO`h^8cbn(Dc!x|W<#v?J;{#wB6O ztQx=utWv!gAIbz;@#1_~OB{VJ>BGUMI6;$o<@81w^mua9e7O01?WvNvO<=mnNe(=P zplOWxTbe#BA_xa7A*-8w%gjcQ`;q-(BOhv2y|s;Vc|Wym`Zi2djW%{`(r`U-K)G}1 zomopC7}ySGyF0e^KgKK~Roez+YpJ$fv@x4FM5~Ef!zwF*S0^Zy+U0BI!B4?~sD62= zc5`s-wj^Ip0XDj5c*caqrQyVAD}Q!*y$Z#->i^LX6}<5i_%}A*^z@0D94^$g?S2hz z`3GLM^h%Eievk~GJ=9C8& zc<2_bRMSL_3hh&RGECe)J#6vd5;p*mV@k_Tvp)>Uwc&Qqmpf3#X1_uuqZEYq9InYoZJQ0KE$70{{R3 diff --git a/static/admin/css/widgets.694d845b2cb1.css b/static/admin/css/widgets.00318bc424d3.css similarity index 95% rename from static/admin/css/widgets.694d845b2cb1.css rename to static/admin/css/widgets.00318bc424d3.css index d0c850a7..52806d7e 100644 --- a/static/admin/css/widgets.694d845b2cb1.css +++ b/static/admin/css/widgets.00318bc424d3.css @@ -3,18 +3,21 @@ .selector { width: 800px; float: left; + display: flex; } .selector select { width: 380px; height: 17.2em; + flex: 1 0 auto; } .selector-available, .selector-chosen { - float: left; width: 380px; text-align: center; margin-bottom: 5px; + display: flex; + flex-direction: column; } .selector-chosen select { @@ -41,7 +44,7 @@ border-width: 0 1px; padding: 8px; color: var(--body-quiet-color); - font-size: 10px; + font-size: 0.625rem; margin: 0; text-align: left; } @@ -63,12 +66,13 @@ } .selector ul.selector-chooser { - float: left; + align-self: center; width: 22px; background-color: var(--selected-bg); border-radius: 10px; - margin: 10em 5px 0 5px; + margin: 0 5px; padding: 0; + transform: translateY(-17px); } .selector-chooser li { @@ -168,6 +172,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { .stacked { float: left; width: 490px; + display: block; } .stacked select { @@ -193,6 +198,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { margin: 0 0 10px 40%; background-color: #eee; border-radius: 10px; + transform: none; } .stacked .selector-chooser li { @@ -267,7 +273,7 @@ p.datetime { .datetime span { white-space: nowrap; font-weight: normal; - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -277,7 +283,7 @@ p.datetime { } table p.datetime { - font-size: 11px; + font-size: 0.6875rem; margin-left: 0; padding-left: 0; } @@ -311,7 +317,7 @@ table p.datetime { } .timezonewarning { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -322,7 +328,7 @@ p.url { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } @@ -337,7 +343,7 @@ p.file-upload { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } @@ -355,7 +361,7 @@ p.file-upload { span.clearable-file-input label { color: var(--body-fg); - font-size: 11px; + font-size: 0.6875rem; display: inline; float: none; } @@ -364,7 +370,7 @@ span.clearable-file-input label { .calendarbox, .clockbox { margin: 5px auto; - font-size: 12px; + font-size: 0.75rem; width: 19em; text-align: center; background: var(--body-bg); @@ -398,7 +404,7 @@ span.clearable-file-input label { text-align: center; border-top: none; font-weight: 700; - font-size: 12px; + font-size: 0.75rem; color: #333; background: var(--accent); } @@ -408,14 +414,14 @@ span.clearable-file-input label { background: var(--darkened-bg); border-bottom: 1px solid var(--border-color); font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; color: var(--body-quiet-color); } .calendar td { font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; padding: 0; border-top: 1px solid var(--hairline-color); @@ -455,7 +461,7 @@ span.clearable-file-input label { } .calendarnav { - font-size: 10px; + font-size: 0.625rem; text-align: center; color: #ccc; margin: 0; @@ -470,7 +476,7 @@ span.clearable-file-input label { .calendar-shortcuts { background: var(--body-bg); color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; line-height: 11px; border-top: 1px solid var(--hairline-color); padding: 8px 0; @@ -509,7 +515,7 @@ span.clearable-file-input label { .calendar-cancel { margin: 0; padding: 4px 0; - font-size: 12px; + font-size: 0.75rem; background: #eee; border-top: 1px solid var(--border-color); color: var(--body-fg); diff --git a/static/admin/css/widgets.00318bc424d3.css.gz b/static/admin/css/widgets.00318bc424d3.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..b9a389be0fe2a8fb2e3fe2270566582043b4e8d4 GIT binary patch literal 2443 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 diff --git a/static/admin/css/widgets.css b/static/admin/css/widgets.css index c7d64566..cd1d6b41 100644 --- a/static/admin/css/widgets.css +++ b/static/admin/css/widgets.css @@ -3,18 +3,21 @@ .selector { width: 800px; float: left; + display: flex; } .selector select { width: 380px; height: 17.2em; + flex: 1 0 auto; } .selector-available, .selector-chosen { - float: left; width: 380px; text-align: center; margin-bottom: 5px; + display: flex; + flex-direction: column; } .selector-chosen select { @@ -41,7 +44,7 @@ border-width: 0 1px; padding: 8px; color: var(--body-quiet-color); - font-size: 10px; + font-size: 0.625rem; margin: 0; text-align: left; } @@ -63,12 +66,13 @@ } .selector ul.selector-chooser { - float: left; + align-self: center; width: 22px; background-color: var(--selected-bg); border-radius: 10px; - margin: 10em 5px 0 5px; + margin: 0 5px; padding: 0; + transform: translateY(-17px); } .selector-chooser li { @@ -168,6 +172,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { .stacked { float: left; width: 490px; + display: block; } .stacked select { @@ -193,6 +198,7 @@ a.active.selector-clearall:focus, a.active.selector-clearall:hover { margin: 0 0 10px 40%; background-color: #eee; border-radius: 10px; + transform: none; } .stacked .selector-chooser li { @@ -267,7 +273,7 @@ p.datetime { .datetime span { white-space: nowrap; font-weight: normal; - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -277,7 +283,7 @@ p.datetime { } table p.datetime { - font-size: 11px; + font-size: 0.6875rem; margin-left: 0; padding-left: 0; } @@ -311,7 +317,7 @@ table p.datetime { } .timezonewarning { - font-size: 11px; + font-size: 0.6875rem; color: var(--body-quiet-color); } @@ -322,7 +328,7 @@ p.url { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } @@ -337,7 +343,7 @@ p.file-upload { margin: 0; padding: 0; color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; font-weight: bold; } @@ -355,7 +361,7 @@ p.file-upload { span.clearable-file-input label { color: var(--body-fg); - font-size: 11px; + font-size: 0.6875rem; display: inline; float: none; } @@ -364,7 +370,7 @@ span.clearable-file-input label { .calendarbox, .clockbox { margin: 5px auto; - font-size: 12px; + font-size: 0.75rem; width: 19em; text-align: center; background: var(--body-bg); @@ -398,7 +404,7 @@ span.clearable-file-input label { text-align: center; border-top: none; font-weight: 700; - font-size: 12px; + font-size: 0.75rem; color: #333; background: var(--accent); } @@ -408,14 +414,14 @@ span.clearable-file-input label { background: var(--darkened-bg); border-bottom: 1px solid var(--border-color); font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; color: var(--body-quiet-color); } .calendar td { font-weight: 400; - font-size: 12px; + font-size: 0.75rem; text-align: center; padding: 0; border-top: 1px solid var(--hairline-color); @@ -455,7 +461,7 @@ span.clearable-file-input label { } .calendarnav { - font-size: 10px; + font-size: 0.625rem; text-align: center; color: #ccc; margin: 0; @@ -470,7 +476,7 @@ span.clearable-file-input label { .calendar-shortcuts { background: var(--body-bg); color: var(--body-quiet-color); - font-size: 11px; + font-size: 0.6875rem; line-height: 11px; border-top: 1px solid var(--hairline-color); padding: 8px 0; @@ -509,7 +515,7 @@ span.clearable-file-input label { .calendar-cancel { margin: 0; padding: 4px 0; - font-size: 12px; + font-size: 0.75rem; background: #eee; border-top: 1px solid var(--border-color); color: var(--body-fg); diff --git a/static/admin/css/widgets.css.gz b/static/admin/css/widgets.css.gz index 341016ea906d53b19edca9ac61e17d70186f9f90..6d9e0f0a92e36f9cc590b9cfa0db872e2b4f736f 100644 GIT binary patch literal 2350 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 UdD%6VxTyW)FR*T|uOTb|09K}`2><{9 literal 2277 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 S+9n5g2mb}!Obb7=O8@{O8WTVO literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/DateTimeShortcuts.5548f99471bf.js.gz b/static/admin/js/admin/DateTimeShortcuts.5548f99471bf.js.gz deleted file mode 100644 index c414e76e7fe2685e493697ae06d1f367d0264e0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3729 zcmV;C4sP)uiwFP!00002|Lt6DbK5o&{_bCas&l23O0s0%CB4XYCsmTU+%##fcIPhR zcs!5@Nf=WEOM+H(t^fP&0(>VxQI4CYcjw8p5{O*@i`{1zyPysqEj=-#9+^^)`7RCn zWWjy+t%&}WeR|g?OD3-uB3x6cK1=o?|8VUK5%dZ7B?|-LQOWwm&pQ1a^ZCsSkFA+6 z9~~YX9+Fpn#6lU7XeB~9k0qJKQVKsJbO9U)^*kaLM6MWF2+tE6?k}Gr9sZqgKL853 z4cKW12k4NwN2BPpbNd_ye#x2VcFtP#zToSuw-ZNmuc3db9se$iThMjh zh>g?hlfk&a*wXbicYVHGN$fw`-Tg74!}Sn5Ki=K>jSxO|9Urw}93+g#-&~bC=ilyf zE-sJOJc_0$t(UPsFAFh!nruM5L%KE3`RyCJX5**CNt-LDQyvk} zWf!KH%(ARs$qbPpeyuMVTX(M)dle^#-|s&&1p`wsh$)&T@N>cFBp6+a50U1pEH`DW zXG(n+rIjH`lrcs6e+!@elZHOvN6I>F-soln_k_*4vt5~zf6#&3n7HVpM6j#h+#K+-GxZ5GDpF;bPx@+$LBYXMjzV;&XId}H1Rf6&?#b!tDQq|3j6=Tq3V9FJ zHh<3}IZREj>*Q|0%+kDg>beSmaJ1f}J<&y3DJ|r8wHD@qf4a}=GMBjT>Jqs56brmF z!8};yk4(m)uZ=wpLr?={b!4;R9wT%<7qKrhONCxq=Q7hAX3TuC`Roi5Jax$$C#|eE zCEdq%Gnz=#bgN8&^lLI6jYhzsv;?r@!tg!A97DZFDaVSXYrXx&MrB*PO(CASE}
S*?ds{UtR6>wI$k5x;f@D(vHLR)Z7v(W}*6nIU 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 RCI@#1{{`Gk3qP|<004if6bt|W literal 3729 zcmV;C4sP)uiwFP!00002|Lt6DbK5o&{_bCas&l23O0s0%CB4XYCsmTU+%##fcIPhR zcs!5@Nf=WEOM+H(t^fP&0(>VxQI4CYcjw8p5{O*@i`{1zyPysqEj=-#9+^^)`7RCn zWWjy+t%&}WeR|g?OD3-uB3x6cK1=o?|8VUK5%dZ7B?|-LQOWwm&pQ1a^ZCsSkFA+6 z9~~YX9+Fpn#6lU7XeB~9k0qJKQVKsJbO9U)^*kaLM6MWF2+tE6?k}Gr9sZqgKL853 z4cKW12k4NwN2BPpbNd_ye#x2VcFtP#zToSuw-ZNmuc3db9se$iThMjh zh>g?hlfk&a*wXbicYVHGN$fw`-Tg74!}Sn5Ki=K>jSxO|9Urw}93+g#-&~bC=ilyf zE-sJOJc_0$t(UPsFAFh!nruM5L%KE3`RyCJX5**CNt-LDQyvk} zWf!KH%(ARs$qbPpeyuMVTX(M)dle^#-|s&&1p`wsh$)&T@N>cFBp6+a50U1pEH`DW zXG(n+rIjH`lrcs6e+!@elZHOvN6I>F-soln_k_*4vt5~zf6#&3n7HVpM6j#h+#K+-GxZ5GDpF;bPx@+$LBYXMjzV;&XId}H1Rf6&?#b!tDQq|3j6=Tq3V9FJ zHh<3}IZREj>*Q|0%+kDg>beSmaJ1f}J<&y3DJ|r8wHD@qf4a}=GMBjT>Jqs56brmF z!8};yk4(m)uZ=wpLr?={b!4;R9wT%<7qKrhONCxq=Q7hAX3TuC`Roi5Jax$$C#|eE zCEdq%Gnz=#bgN8&^lLI6jYhzsv;?r@!tg!A97DZFDaVSXYrXx&MrB*PO(CASE}
S*?ds{UtR6>wI$k5x;f@D(vHLR)Z7v(W}*6nIU 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 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + name = name + "__" + (popupIndex + 1); + return name; + } + + function removePopupIndex(name) { + name = name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + return name; + } function showAdminPopup(triggeringLink, name_regexp, add_popup) { - const name = triggeringLink.id.replace(name_regexp, ''); + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); const href = new URL(triggeringLink.href); if (add_popup) { href.searchParams.set('_popup', 1); } const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); win.focus(); return false; } @@ -21,13 +52,17 @@ } function dismissRelatedLookupPopup(win, chosenId) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + chosenId; } else { document.getElementById(name).value = chosenId; } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -52,13 +87,44 @@ } } + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '...//add/' or + // '...///change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Exclude autocomplete selects. + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] select:not(.admin-autocomplete)`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + function dismissAddRelatedObjectPopup(win, newId, newRepr) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem) { const elemName = elem.nodeName.toUpperCase(); if (elemName === 'SELECT') { elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); } else if (elemName === 'INPUT') { if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + newId; @@ -74,11 +140,15 @@ SelectBox.add_to_cache(toId, o); SelectBox.redisplay(toId); } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { - const id = win.name.replace(/^edit_/, ''); + const id = removePopupIndex(win.name.replace(/^edit_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -86,18 +156,23 @@ this.textContent = newRepr; this.value = newId; } - }); + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); selects.next().find('.select2-selection__rendered').each(function() { // The element can have a clear button as a child. // Use the lastChild to modify only the displayed value. this.lastChild.textContent = newRepr; this.title = newRepr; }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissDeleteRelatedObjectPopup(win, objId) { - const id = win.name.replace(/^delete_/, ''); + const id = removePopupIndex(win.name.replace(/^delete_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -105,6 +180,10 @@ $(this).remove(); } }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -115,17 +194,23 @@ window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; // Kept for backward compatibility window.showAddAnotherPopup = showRelatedObjectPopup; window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + $(document).ready(function() { + setPopupIndex(); $("a[data-popup-opener]").on('click', function(event) { event.preventDefault(); opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); }); - $('body').on('click', '.related-widget-wrapper-link', function(e) { + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { e.preventDefault(); if (this.href) { const event = $.Event('django:show-related', {href: this.href}); diff --git a/static/admin/js/admin/RelatedObjectLookups.de5309ac06dd.js.gz b/static/admin/js/admin/RelatedObjectLookups.de5309ac06dd.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..075adb598df8459e172063ac5af1d1b28b3125c4 GIT binary patch literal 2307 zcmV+e3HMnDNV?aEMbv;As+jL zr<%!3Bvi96hDXC8`GKZ!!W5AV-^Bwl{Q$Iz%I{J7-;1h{dX>v@)B>q6txd=b} zJ!f(~GJ^@zBokSlU8XU61e()PX_AxjA3Tl4O2O#u-RQ`SZ{;O1S4*zc%LPy3Yh&kC#Q8qtcAHV z`^p$7OksAIP^Ha^Z)U)0(hJB5`Kqd0#bp_lie0AKFEdg36yqSB`(}y2=)Y5#ummFI zV>{E+-GZA&+t4^J*#_4vYlzRl#eAI*)B?Wz(h4W!%aXq&)45Cyd9x=ZTZ#wvv;{-S zvV=y=PuYsxu=&Mf=C??IvK{w=KJmOykwz`V>O5ZZ)ClB*o#%6g#=e3y?3;-b$>!`a z>!Y1)G?b;a&UZ3bEm>t2@_46CnJoxhlGyTFNH#+ofZFeFuIij{v^0g!h~Fq1evmd) zjLK+nO(k6_c+kFQiM@Wscbl3N5QV#d78y%@FfDkM&~wSNJ8F z;{T-6gpJos^;INAl1w42@v-We3Y=uQS{Mk~QDDZ;ATuj);2b)m5cKUHy|K*S7)ZV{ z2;Ah~D!duS2jXG)lg0DNuurtiSqs`YNONM81puY`Bw7HDrI&GQ9PQ-@+QQ^XJy4)P zEwLW#BiM`eW$f4HV5Hy-KvJsI6<0b0Hk$HO`QF3dXu5tY@c#{6UB<=?-(#Kf0`mFi zW~uOjCONCe*lvWJjEUFxAQ`thj=GVmQ*g&~+{Emt8GUPE#U1!oBMZ%7Cp;&EFYDUW zSg0)Fkg|rpEnUjR>1jdvuL?&$T0kejeu4b|B?doe7GP|e{AiIS&tj0Hnj+Y9bV%bG z553^nIvm$2>p`jb6uOwXp~X32${zK3lK5Wuz}afxEZirdmA>@C>acy`)tvTh%h^@q zeb=GY+M{F}PgW{;@@oq;hIg?jt28`K{meEgm)1Quy&v%m>Wz84Y-Rr-pp$@MEDW`+xtDUHAFR8{5%MGq-5 zI%nZgEr2o#EublhVIm@m(uMeL*I+m%7mr#}kO?`}lroi<%7>2`d%<%IeWbn`f z1h_8Loc|kJ#X9H z0r8D5$+zUsb1fnP5evz?wP}5I_u2(fxoG{2yBHfkLLyGQzcq`=y89a!JHEenA=Stx6g* zDT}rr+@aZsCR0dRqO*~2bZ|@Onk?8mH&j-GLWWU+LjSdHt9ieO zBQ6(B|CB;}<8!FRyDVe!CEc|Xb&hr(#H07)#nr{jw_Z~W7_QElx8(WRq zRy2>ppRmQky+PA?gR7C-LIfO3=bgUyr_WTMz`qGLG4_`h(1+e~5YYbJwed8aaE*V7 zcH1n>z@olq5enLm?p7N;wr$~aixO&qI(y}P z3ty!bE)vm{Ea(G6m`NCwWSVP@=Yq-r z4^L`n0@L3CRAAqU2b|{M7BLArG(KAsktS<1=yDa{$(Xdt#F)C6{uBpUM{=F8CW_5o z{QWU7;5)P7?ZklJk@I#t{ePJCZu9N7y7fNlsd@ar97yh1w(GbPw;3J7qcWe?BTMXe z+r~znlC;XOKez2n3TC$rHA&yN7uYG#INZdituXIcwNW&2YfJGRw>FAq*@}CzvN**{ zw^0O;e#J6v?i{Byx?fQl6WkzE&8HmiChNWf>$p3}PjKAMvbDM0CNHyq4)6loT5RN5 ziiwz~iJ&ncO#ub$p|a_2wMda8+x_x!ak+Llae1FGgG*5ILku2Y^^Wp$h?iav@GWor-P`xt1Zz?)? zQxUJds?1)vy}4fT7&fwlm87`u9N=D}r1H48W~z5r(Q;421KJhHZEmjG&rKg}`9BU# zK=_`$=03wXERKZxpm1?N7DeZ?Ika-NU}+TJ3beB%KxgP%hZ(z26n= d-DbB7{D;lneJA=9)8qH%=vT{;2N)S6001coi3R`w literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/RelatedObjectLookups.js b/static/admin/js/admin/RelatedObjectLookups.js index 289e1cee..752dcad7 100644 --- a/static/admin/js/admin/RelatedObjectLookups.js +++ b/static/admin/js/admin/RelatedObjectLookups.js @@ -4,14 +4,45 @@ 'use strict'; { const $ = django.jQuery; + let popupIndex = 0; + const relatedWindows = []; + + function dismissChildPopups() { + relatedWindows.forEach(function(win) { + if(!win.closed) { + win.dismissChildPopups(); + win.close(); + } + }); + } + + function setPopupIndex() { + if(document.getElementsByName("_popup").length > 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + name = name + "__" + (popupIndex + 1); + return name; + } + + function removePopupIndex(name) { + name = name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + return name; + } function showAdminPopup(triggeringLink, name_regexp, add_popup) { - const name = triggeringLink.id.replace(name_regexp, ''); + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); const href = new URL(triggeringLink.href); if (add_popup) { href.searchParams.set('_popup', 1); } const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); win.focus(); return false; } @@ -21,13 +52,17 @@ } function dismissRelatedLookupPopup(win, chosenId) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + chosenId; } else { document.getElementById(name).value = chosenId; } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -52,13 +87,44 @@ } } + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '...//add/' or + // '...///change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Exclude autocomplete selects. + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] select:not(.admin-autocomplete)`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + function dismissAddRelatedObjectPopup(win, newId, newRepr) { - const name = win.name; + const name = removePopupIndex(win.name); const elem = document.getElementById(name); if (elem) { const elemName = elem.nodeName.toUpperCase(); if (elemName === 'SELECT') { elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); } else if (elemName === 'INPUT') { if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { elem.value += ',' + newId; @@ -74,11 +140,15 @@ SelectBox.add_to_cache(toId, o); SelectBox.redisplay(toId); } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { - const id = win.name.replace(/^edit_/, ''); + const id = removePopupIndex(win.name.replace(/^edit_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -86,18 +156,23 @@ this.textContent = newRepr; this.value = newId; } - }); + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); selects.next().find('.select2-selection__rendered').each(function() { // The element can have a clear button as a child. // Use the lastChild to modify only the displayed value. this.lastChild.textContent = newRepr; this.title = newRepr; }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } function dismissDeleteRelatedObjectPopup(win, objId) { - const id = win.name.replace(/^delete_/, ''); + const id = removePopupIndex(win.name.replace(/^delete_/, '')); const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); const selects = $(selectsSelector); selects.find('option').each(function() { @@ -105,6 +180,10 @@ $(this).remove(); } }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } win.close(); } @@ -115,17 +194,23 @@ window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; // Kept for backward compatibility window.showAddAnotherPopup = showRelatedObjectPopup; window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + $(document).ready(function() { + setPopupIndex(); $("a[data-popup-opener]").on('click', function(event) { event.preventDefault(); opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); }); - $('body').on('click', '.related-widget-wrapper-link', function(e) { + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { e.preventDefault(); if (this.href) { const event = $.Event('django:show-related', {href: this.href}); diff --git a/static/admin/js/admin/RelatedObjectLookups.js.gz b/static/admin/js/admin/RelatedObjectLookups.js.gz index 4e93b053b545bad50dfc15522e356db19250c22e..075adb598df8459e172063ac5af1d1b28b3125c4 100644 GIT binary patch literal 2307 zcmV+e3HMnDNV?aEMbv;As+jL zr<%!3Bvi96hDXC8`GKZ!!W5AV-^Bwl{Q$Iz%I{J7-;1h{dX>v@)B>q6txd=b} zJ!f(~GJ^@zBokSlU8XU61e()PX_AxjA3Tl4O2O#u-RQ`SZ{;O1S4*zc%LPy3Yh&kC#Q8qtcAHV z`^p$7OksAIP^Ha^Z)U)0(hJB5`Kqd0#bp_lie0AKFEdg36yqSB`(}y2=)Y5#ummFI zV>{E+-GZA&+t4^J*#_4vYlzRl#eAI*)B?Wz(h4W!%aXq&)45Cyd9x=ZTZ#wvv;{-S zvV=y=PuYsxu=&Mf=C??IvK{w=KJmOykwz`V>O5ZZ)ClB*o#%6g#=e3y?3;-b$>!`a z>!Y1)G?b;a&UZ3bEm>t2@_46CnJoxhlGyTFNH#+ofZFeFuIij{v^0g!h~Fq1evmd) zjLK+nO(k6_c+kFQiM@Wscbl3N5QV#d78y%@FfDkM&~wSNJ8F z;{T-6gpJos^;INAl1w42@v-We3Y=uQS{Mk~QDDZ;ATuj);2b)m5cKUHy|K*S7)ZV{ z2;Ah~D!duS2jXG)lg0DNuurtiSqs`YNONM81puY`Bw7HDrI&GQ9PQ-@+QQ^XJy4)P zEwLW#BiM`eW$f4HV5Hy-KvJsI6<0b0Hk$HO`QF3dXu5tY@c#{6UB<=?-(#Kf0`mFi zW~uOjCONCe*lvWJjEUFxAQ`thj=GVmQ*g&~+{Emt8GUPE#U1!oBMZ%7Cp;&EFYDUW zSg0)Fkg|rpEnUjR>1jdvuL?&$T0kejeu4b|B?doe7GP|e{AiIS&tj0Hnj+Y9bV%bG z553^nIvm$2>p`jb6uOwXp~X32${zK3lK5Wuz}afxEZirdmA>@C>acy`)tvTh%h^@q zeb=GY+M{F}PgW{;@@oq;hIg?jt28`K{meEgm)1Quy&v%m>Wz84Y-Rr-pp$@MEDW`+xtDUHAFR8{5%MGq-5 zI%nZgEr2o#EublhVIm@m(uMeL*I+m%7mr#}kO?`}lroi<%7>2`d%<%IeWbn`f z1h_8Loc|kJ#X9H z0r8D5$+zUsb1fnP5evz?wP}5I_u2(fxoG{2yBHfkLLyGQzcq`=y89a!JHEenA=Stx6g* zDT}rr+@aZsCR0dRqO*~2bZ|@Onk?8mH&j-GLWWU+LjSdHt9ieO zBQ6(B|CB;}<8!FRyDVe!CEc|Xb&hr(#H07)#nr{jw_Z~W7_QElx8(WRq zRy2>ppRmQky+PA?gR7C-LIfO3=bgUyr_WTMz`qGLG4_`h(1+e~5YYbJwed8aaE*V7 zcH1n>z@olq5enLm?p7N;wr$~aixO&qI(y}P z3ty!bE)vm{Ea(G6m`NCwWSVP@=Yq-r z4^L`n0@L3CRAAqU2b|{M7BLArG(KAsktS<1=yDa{$(Xdt#F)C6{uBpUM{=F8CW_5o z{QWU7;5)P7?ZklJk@I#t{ePJCZu9N7y7fNlsd@ar97yh1w(GbPw;3J7qcWe?BTMXe z+r~znlC;XOKez2n3TC$rHA&yN7uYG#INZdituXIcwNW&2YfJGRw>FAq*@}CzvN**{ zw^0O;e#J6v?i{Byx?fQl6WkzE&8HmiChNWf>$p3}PjKAMvbDM0CNHyq4)6loT5RN5 ziiwz~iJ&ncO#ub$p|a_2wMda8+x_x!ak+Llae1FGgG*5ILku2Y^^Wp$h?iav@GWor-P`xt1Zz?)? zQxUJds?1)vy}4fT7&fwlm87`u9N=D}r1H48W~z5r(Q;421KJhHZEmjG&rKg}`9BU# zK=_`$=03wXERKZxpm1?N7DeZ?Ika-NU}+TJ3beB%KxgP%hZ(z26n= d-DbB7{D;lneJA=9)8qH%=vT{;2N)S6001coi3R`w literal 1571 zcmV+;2Hg1{iwFP!00002|K(WUliD^Ae&?@Huh-ZlMx>qTOeYKvm&--0$@JC9>%as*Xs;W-wAPg^zhe80Vwhigk%!W4Df#!=?78 zQ^Bc%JY_M2dy0afJE$l~6iiS-21{~(cT=&0+P9@CVnV`NW9*-mr5c!ulUt_POyh$I z11}sz9(x3t}R~ebGRD&N~*Cgo9!{(Jk&5Z*|UAoGVC=?$_ zZ~wiA+^8R6?&i>~w}A^i6IvH$lnp?qA`&N3Lw3y@VPRdjKdVW{ikVq}VpL|389D`X zg+uuB`RbZG%v7>&XV5rhTHgq5D5^0`WI7BMzp-rfM%vFiw!G%f>7Q-k1YPpzkz0x` zSc*PY@UnYDo(xG41?0)rqY_e34vTDmYOCRe&S9OhJy66cz7M-6rvKkcd>AK43-B51 z=rhL{80cCQI3zaMGS4~Mu@6Q|KrPl3EMyX)F%suh$tobU7$c=kovfWhGx%sO(liX{ zLcp?D@MlD*x4tyseb@{H72JHY(M(gwrY5O^z(=i_7&f`|R^d}vS)dkL+eLxJNw|q) zSQRT5#LR~YS1B#9gX)YjV^kPeT0$<{4Pa(i&yMyC%yJuppt~jCU^JRMj7B)Yn^{r4 z?jFJU)(-_UxqyqE2?t!-KpnVg)u7n12U7kucVBmqtFOc%)fDV>z4XgDR>&j=`%I0z z&vQ_hY*(mNjegz`8RYfV&DG_bpf1Z!tITa=^xN`70n2yA7Wm4IhDA)aF|riBN7R+9 z9olmJ^7g*ol>dlL+gR0kafs?#$kpf>HY(^eKVj4K#&Zr~#FGYr1)_r(SrFQ$EA!oy z4UB?6=0X9dd#cVoa%jO}Vc^vT$EwF;%gAePU9hQnLe54;o(*cmWE%o1S>JY?)HXv# zj$))42<=J{k&VLWn9xWJD<|3gqHU=t>q{4brpm@Hw^Z319}Ws!@KSkiIjjF3%`|pP zs_7QBb4Giguu&eCTkbIU_B$OB{1{D?ocUiyBKy4+XpaAX*QC?&Z$*Dews=D)*dvC4 zuU=%@c7nIHw%Iu5zA{~G>Wat78Qk_Ru^KH-hnoNn>SbGsW0%l%jSF^f4ZDRW)Q|qq z^WW&j2;23HgR-0H5&vwFCE#k+S{$>CBy0h;;!GF&OmZ<<5t*ec_p*R3R;u%PUx|ywcKRt1^pO@Og*u6KrFB209A3B{q_rGQ zhre%V{(l8fbU#I}QQdCKkZxn*rj!+DyS7sm2B7Wrpsc6yWMo^Crgwu@OB!uBoZHlp zNeouw;rO)Mq&} zVl3>9OEnMZX>qgiH^aLl!XG*|BX1x(mHHPzzsdTHx%A6<^NHEL}N&&o!fl@AwX4m}Tp zvE-{@-{ydBuEdstW9!~qDrP(Fp6$i { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); } diff --git a/static/admin/js/autocomplete.01591ab27be7.js.gz b/static/admin/js/autocomplete.01591ab27be7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ed616d139268a907d522dbdd07c3ed735c06a03 GIT binary patch literal 425 zcmV;a0apGWiwFP!00002|9w+Ui`y^|z57?pAz- zmF%pXflsQ}_B$DB`9oxPqitC`D=L_UW;$WJ7rfVDeP!r1#A`iSzU5}VxBxQD%HlO4 z86NOd!+kuNLdF`zfFAo$!S>?=UNTQSdb>bK#^n1NW<8k>>qYv2JNi#ghh;hrLu2q4 znfg)@nSKz6WrUs+vMkU$MW(UX)4f8*zD8(SqSIv51Br|!iH8c)=1piSmLpSjy?5)M zdy)ob4o;WB6K@XK(-VBLnl&2zhX9QM9ND$59}F?UQL7zs06MiaaFiu*mO$I=GDR9P z-KurY_Yl`Y!EsL(5G);YFqQ*!091;Uybic1C8kAqfBSA(N$XgYKT=iSZJTEB)ag^x z{EW!`_K0%`6f?EPiGnN{ zd%VfE_}?qp&c@xuo|821=}Gf66L&2^%Z)BL-bQ~T@KHG1GHhT6>WFslU+ zPk#~`W=!^%#uIlN?C}x4Tg@7c{zHJq0CwyOSJj4?;H1@_xCJ^FRI`^QaF#&ZVaeoa z$TU|gT~mP{3k9bGSwOIK8j{`)&@G@+q~x{1MJzE4!o&RDIFZ(|h+l%MpLTg(H&p6# zp8xX5?evJrfMCQ_ta3#+&VesDp6<_v%i|R8dog+Uj?t?ZNMYkE_%;fB9JlGjjNyOW cs->EiUq0)EJ{iV6@kk&21N;mqK4Am^0FhzP!vFvP diff --git a/static/admin/js/autocomplete.js b/static/admin/js/autocomplete.js index 6095abe2..d3daeab8 100644 --- a/static/admin/js/autocomplete.js +++ b/static/admin/js/autocomplete.js @@ -27,9 +27,7 @@ $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); }); - $(document).on('formset:added', (function() { - return function(event, $newFormset) { - return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); - }; - })(this)); + document.addEventListener('formset:added', (event) => { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); } diff --git a/static/admin/js/autocomplete.js.gz b/static/admin/js/autocomplete.js.gz index 5492178c6e65161a5d641e9e4db1f764a9ee3e58..1ed616d139268a907d522dbdd07c3ed735c06a03 100644 GIT binary patch literal 425 zcmV;a0apGWiwFP!00002|9w+Ui`y^|z57?pAz- zmF%pXflsQ}_B$DB`9oxPqitC`D=L_UW;$WJ7rfVDeP!r1#A`iSzU5}VxBxQD%HlO4 z86NOd!+kuNLdF`zfFAo$!S>?=UNTQSdb>bK#^n1NW<8k>>qYv2JNi#ghh;hrLu2q4 znfg)@nSKz6WrUs+vMkU$MW(UX)4f8*zD8(SqSIv51Br|!iH8c)=1piSmLpSjy?5)M zdy)ob4o;WB6K@XK(-VBLnl&2zhX9QM9ND$59}F?UQL7zs06MiaaFiu*mO$I=GDR9P z-KurY_Yl`Y!EsL(5G);YFqQ*!091;Uybic1C8kAqfBSA(N$XgYKT=iSZJTEB)ag^x z{EW!`_K0%`6f?EPiGnN{ zd%VfE_}?qp&c@xuo|821=}Gf66L&2^%Z)BL-bQ~T@KHG1GHhT6>WFslU+ zPk#~`W=!^%#uIlN?C}x4Tg@7c{zHJq0CwyOSJj4?;H1@_xCJ^FRI`^QaF#&ZVaeoa z$TU|gT~mP{3k9bGSwOIK8j{`)&@G@+q~x{1MJzE4!o&RDIFZ(|h+l%MpLTg(H&p6# zp8xX5?evJrfMCQ_ta3#+&VesDp6<_v%i|R8dog+Uj?t?ZNMYkE_%;fB9JlGjjNyOW cs->EiUq0)EJ{iV6@kk&21N;mqK4Am^0FhzP!vFvP diff --git a/static/admin/js/filters.295a9d3d8b6a.js b/static/admin/js/filters.295a9d3d8b6a.js new file mode 100644 index 00000000..ba691ac8 --- /dev/null +++ b/static/admin/js/filters.295a9d3d8b6a.js @@ -0,0 +1,30 @@ +/** + * Persist changelist filters state (collapsed/expanded). + */ +'use strict'; +{ + // Init filters. + let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); + + if (!filters) { + filters = {}; + } + + Object.entries(filters).forEach(([key, value]) => { + const detailElement = document.querySelector(`[data-filter-title='${key}']`); + + // Check if the filter is present, it could be from other view. + if (detailElement) { + value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); + } + }); + + // Save filter state when clicks. + const details = document.querySelectorAll('details'); + details.forEach(detail => { + detail.addEventListener('toggle', event => { + filters[`${event.target.dataset.filterTitle}`] = detail.open; + sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); + }); + }); +} diff --git a/static/admin/js/filters.295a9d3d8b6a.js.gz b/static/admin/js/filters.295a9d3d8b6a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8a2dbd5270ff2353bdffd4e6cb5d4a0eeb1f8c41 GIT binary patch literal 493 zcmV^(UJ2(h_2|8_W*Mv# zCGrx(OTc5wiZ?38a#0+W;X~vyR>QJvmUNhE2kEEbDT6+FTpxMP?X0u5eZcGX4Q1eH zs9^NzC6w>1TL`&N)71e_Q)q;)ah<{Z=?YX@L%b9igwhL*M*^V)g_U(Y^4~SO(-Jk| zTbFKDg$UxYPw*I2&^TugXF_k;dUL6NAnWTM;@N@;6dz?Pn! zJ%S}i2aUpaKH@|!Zi>4mB(AP0_;T9;_ZXf7v9YZKrp#7o*c2Gc;PaiM!=r8R-Zz_# zIoh7+OK;TIQZ!>fy^h}ZXh3Qu4}&VMN%jAv^I2=sL+^A+Ib6rl_4nJ6^)`}Fv1kbN zI|&;Nx|9W5mKv#3Y`QT%-ElPtW3_oWcOEh}Lv_q6{U@lTmj?M|aguel!1ac`5qQLzN3#sdHVrbO{q literal 0 HcmV?d00001 diff --git a/static/admin/js/filters.js b/static/admin/js/filters.js new file mode 100644 index 00000000..ba691ac8 --- /dev/null +++ b/static/admin/js/filters.js @@ -0,0 +1,30 @@ +/** + * Persist changelist filters state (collapsed/expanded). + */ +'use strict'; +{ + // Init filters. + let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); + + if (!filters) { + filters = {}; + } + + Object.entries(filters).forEach(([key, value]) => { + const detailElement = document.querySelector(`[data-filter-title='${key}']`); + + // Check if the filter is present, it could be from other view. + if (detailElement) { + value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); + } + }); + + // Save filter state when clicks. + const details = document.querySelectorAll('details'); + details.forEach(detail => { + detail.addEventListener('toggle', event => { + filters[`${event.target.dataset.filterTitle}`] = detail.open; + sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); + }); + }); +} diff --git a/static/admin/js/filters.js.gz b/static/admin/js/filters.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8a2dbd5270ff2353bdffd4e6cb5d4a0eeb1f8c41 GIT binary patch literal 493 zcmV^(UJ2(h_2|8_W*Mv# zCGrx(OTc5wiZ?38a#0+W;X~vyR>QJvmUNhE2kEEbDT6+FTpxMP?X0u5eZcGX4Q1eH zs9^NzC6w>1TL`&N)71e_Q)q;)ah<{Z=?YX@L%b9igwhL*M*^V)g_U(Y^4~SO(-Jk| zTbFKDg$UxYPw*I2&^TugXF_k;dUL6NAnWTM;@N@;6dz?Pn! zJ%S}i2aUpaKH@|!Zi>4mB(AP0_;T9;_ZXf7v9YZKrp#7o*c2Gc;PaiM!=r8R-Zz_# zIoh7+OK;TIQZ!>fy^h}ZXh3Qu4}&VMN%jAv^I2=sL+^A+Ib6rl_4nJ6^)`}Fv1kbN zI|&;Nx|9W5mKv#3Y`QT%-ElPtW3_oWcOEh}Lv_q6{U@lTmj?M|aguel!1ac`5qQLzN3#sdHVrbO{q literal 0 HcmV?d00001 diff --git a/static/admin/js/inlines.fb1617228dbe.js b/static/admin/js/inlines.22d4d93c00b4.js similarity index 94% rename from static/admin/js/inlines.fb1617228dbe.js rename to static/admin/js/inlines.22d4d93c00b4.js index d9a9032c..e9a1dfe1 100644 --- a/static/admin/js/inlines.fb1617228dbe.js +++ b/static/admin/js/inlines.22d4d93c00b4.js @@ -88,7 +88,12 @@ if (options.added) { options.added(row); } - $(document).trigger('formset:added', [row, options.prefix]); + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); }; /** @@ -130,7 +135,11 @@ if (options.removed) { options.removed(row); } - $(document).trigger('formset:removed', [row, options.prefix]); + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); // Update the TOTAL_FORMS form count. const forms = $("." + options.formCssClass); $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); @@ -296,7 +305,13 @@ dependency_list = input.data('dependency_list') || [], dependencies = []; $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); }); if (dependencies.length) { input.prepopulate(dependencies, input.attr('maxlength')); diff --git a/static/admin/js/inlines.22d4d93c00b4.js.gz b/static/admin/js/inlines.22d4d93c00b4.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f0be39d1115cc80b60b81235514dc3c04fc01594 GIT binary patch literal 3744 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 ArT_o{ diff --git a/static/admin/js/inlines.js b/static/admin/js/inlines.js index d9a9032c..e9a1dfe1 100644 --- a/static/admin/js/inlines.js +++ b/static/admin/js/inlines.js @@ -88,7 +88,12 @@ if (options.added) { options.added(row); } - $(document).trigger('formset:added', [row, options.prefix]); + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); }; /** @@ -130,7 +135,11 @@ if (options.removed) { options.removed(row); } - $(document).trigger('formset:removed', [row, options.prefix]); + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); // Update the TOTAL_FORMS form count. const forms = $("." + options.formCssClass); $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); @@ -296,7 +305,13 @@ dependency_list = input.data('dependency_list') || [], dependencies = []; $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); }); if (dependencies.length) { input.prepopulate(dependencies, input.attr('maxlength')); diff --git a/static/admin/js/inlines.js.gz b/static/admin/js/inlines.js.gz index 880e2c0cc4168261f152befb652279cea6c1f8be..f0be39d1115cc80b60b81235514dc3c04fc01594 100644 GIT binary patch literal 3744 zcmV;R4qx#fiwFP!00002|Lt4rbK5o&|L(s6Wjqz-P?X&dH*@l1&T*19ojB>m?p^2F zjt3GU2{A>e1ZZ2=`hUM&03<;YdbqE%FYNwy0S^ymsTk9gyrha<^98$_ zi(E|#B_ndhQZ`Yqd8$}`Fx(p+9PE(;^713iW`fXU!85|MlxIxBbA0uJN|q3jk&k~b zSiT~!MZSlIr~2VU zEc%*4&VDL*&Sbg5QT#>x7Xma>U_ZBPT!`f==d-yY;iON#I6VAo8Yg`2>V1mgJtRInYcPndV|a{zXCVOSTYMPm(XM#06RA;v*=>IDKKYMHeQjhX$EYNw~Qw&jmULQ@8IXvJ*+hoBGFU7E>g}i^39y4d|9&d7Di;K z-6Bg^PSl){ckG_LxO!Q>(o8cpB6Fpdax@%@B|H{IK4G!QXT#JClf$u02KGn1oG)SC zaIaTLMx@I5MD>pMe%>SSnTSj(vQJJ)qWO=F&X4uW{dk(iQ)}N-GA*)+;vx&hQpr9s z1ZpDi6kbXgxF53z#j+&)`7vq`i4!)ZMT&l>X&kpm?5jD~1Va4MeZ8bP%a9d4Fg8EK z&bVTkfTz4l*#cg_0bM@0+@npFIh*o_h-ArwD@aX(CpS5p>4_Pb-~*ezdRT@*7?9_7 zGJFXJ;SWC~&wshOF^_I;`u)J+rY4uOWlATSAE4+EKzhJLa}J-9a3A>W$KZ9aDrhh0 zxB1itY7L4yPx`T4IxHoMTxR+$ZXY{*ur%h0Z*Bbogwg+RS!IVsGP+=EmcdtMA^i3$ zmwIeFi4uyYI(TV^3!VWzw1#!#*fG-e`|Iqs@f}UWengHAI}W^{54&-8dH&tayKgU_#+zM(XFIO(=H1iR zK>2BsyeO0s+3{ZWT<4eab3m>k#0BRG#zX<(E+?0(O9;YgK*o9|8M9Q}>quy_5Ydq& zc4!P+a>1%^^w9Hid3W=-T@1aC)&oyryBBHdb40xD98mzPk|;V(8Og;xghUR(I#(#{Ix+#UTB!yy6xG40qA~K$Giu3- z#f3;^6+78a;oztrPv$&LAc}_lIAz&P&5yk_Y~+pUa*1)hccOAKNvV{lLC^6TVDCc8 z3w!}jd%@X>N?`p|E@@^)mTZ`}l+3};PJ?H`S&Pgy>>c#JlOa7j8LIrO9aqbbW4wyX zDF+?{m5+cC(6VppBZL#khHDM>9=-9NOIDeM!@tFXB^**qx*~L{Y>L*4pmqJ~H|m~h zfE5OsCD=rII_NRsce^QaS5*PQ-E`$;3quyTf>EGfaT`K;ML&j})|&wSxa~#thP=QB zUjh0_S?*ANbizYx3%fHKDZIVa7zV66u>DH|FhXw@Rt(}5n9qj1HSrDxsnwb^4zcL8 zA`?$ik+D$a1#69lage4K;*Mz(hUF@nbZOXrN4MJSjS1*ho5m{z#^Xs4`2^9}qRc@p z4l5PEWEjDX*+SskBZ={b18@&UC-ZP^EX7Y3dTA)v<}V`cJlIa$t=||!tMI6!9;$}i z&jCck&YVLi9W(eoh3LH^uuGLj`7KGzR(`=?E(3&B8nWMA>{~4dhO05So|qbbJK0BL zuv(P9mSuCU2csOd)~kWS^HXxv;pHo+Bed9Hv?};d@k!30JfS4z3(x_U6-EwkVn7*cOa%m&rXD9UI5(~;MsbQ9rv9v6(08E zghM`6lldzQcp>t6QAi~g=67Igt&ye+k)gZtxEKRskRyVjE9$&Xn1Y&ov?e)P@`!y# ztzEq>S@hRLeIF?NuEIHBcSyYwA+*As2ys4NL5VCWRPq)Ux`2>`|HP=EUq?D^%d$d9 zOr1|jV4Ni&utz4hWAPC8cY&0yi@Es-jpqTDI^;-1BL4Et07G;x4>$yP*9C_@5}nNh zW3A6>Xkw^LSekYLiryS01gybHiSiIk0P^qvltgQyfl>Sb#SGkzQ7j;H)mEecsek!} zl)pu~MUAUo3tdCN5P1SoBpDW&{RYues>nyg0zH^?lJc`Q!oz9cO>E)UVx=>f`Uj{C zsIJkNS04_1{a7I1b?$7s3YFe^14wA0wQs;WrgI@`XN5EadjsM`#`3LhHRXBJudp8Y zBebOH2HR2&)|+NF;0A*&v4MvPQ**us0MR&D%V)oVc)1fSEP9Q{NJDqEHbP&|)CTZ9 z>LA~vouF^hj9mLbDONOxjIsgfx|5t7>RO=zP<@n)Kwo0M1&W)JaR>K&FrKQDuW9`0 zd~E%WXEUPPg~pSk_H2YhG?k)sc;oviyQ7(rPp5)RWP>SZ=;V1WayjydfcpKQ6@u*J zueOdcYS~e?j7B(BJ^^rQP<;>P4^W1IS*+&`XXP}*ceoW5_{Y_la^S<170fXnS};1n;JHG49#rTH|o1z@Rfc0ukAS*&ZC!27FO0Y)Q1et~j-I1tjopUD4o$ob6mv zNZ@j7Nm12H-I9W;Ur|9gA*`#na|kh!Eqe*}r==;x5~-64#lt7Iu<@#jUpe-`q}c01 zxs@G`_)oH*3I-Nv1|@8*@<`LVKzH&*-9{OHVYl$6KIoHbciy%@^C!w3a#-!q;Sv{j zjDAcwIdNnl{Q2`8dD=Ig+}Gt0?{8<%Y!U@Eqmn%-O`v!iLu&fTSZrj;udX#5F z9p3G9pXg<1)zSJ7U038JlQY1C*EU!&{)lk3D+Z{0UV$-hq}Lhb6?G3xr*+Rsd-DWKbK(OG_8d z+HCqr(qkl+jP$vxrt#WFFI`#y1wCEy1+&MQhLSY%97ojXen&bb4O`uGLy@6_WL`aR zsSunwK?Q^=B&+;=&xVj|IxbS0m!Y2we(k5;Ai zz4omW49bm5Ul)bmg=;g2F1u|g=l?cQ9`wty1ms3w3)MRy$$Opvl9G7a2~<5{9VDYx zOD3k>3uhYA1bDv*Km!zO{#z|UjBpHXDa(oaCX27o#ZPCM7)1!50N@M&bT7kg(b5~p zJK3sneXi09_Hk*|uXYa;I$a8$;iWi*hsxId8x+m!iH?ep)8ch{ZcNgsu~Ko*ui{>8 z9L(UA4zl0~wIc$Vs$lExHMol!h3nxlPa>T#(1;YnzizN#bq)0Zg^c7oR`z1{CX=9w z$t?=>C-Lez*!8jcxUrqb)i*g?ie-TaBYBO~<(8v^s^!?jlBSw_qgm_iatdpE3c9aV zg@?$i7@jQ)9d~fBT~lbgzjF@S#I)n}*Dhe2*u+ z{*GRbySTwk*%kSDy}ew&XiSdmd&31_P(#em%-RF@Mp=eArUY_flcy5FwF>Yy+%zz& zbz>!Jw+wv1qubkRPV3;PP6-GtG^;TBKp)M}3QT7(V+UdEOt+B4REuX_}jE z&piGYVPQm8#pE{rgbrPFc&~4@V9ba-@UKLCyFM8et#gHv8KAbjiAs*o30kR(<9`C>e9zE+TDqA?gZU0$=l`ZH{ zW2x<|KZWzhC*kKNv!B57C$QWiTJ`ZdIPCunRM(>%8GM%-{y6ZxAC`9{5dP3)RRq;V3ISfP6jt)#8fl*5|&i!!_=p|2j1^5imS+J^!kKB6Jwf@7gVupzF=2# zQK(6&WK6DD#wO|&&lD>TMth@!gFSLUUVNbWOc0tbcushp@tjF`j<23m$xD|_a+n%Y@d0d;bvXwGFuOGz$iTC!V4A_>pPi+9&#VV|5|li7muOh256 z#XwUi*pDSIn5NkN`Pht>=%}e3$a`kd^T4knheP2&z}7)_N<8`&$Eo^k&*yW zR@|{Pu|%$xd;-FhOLEWE9B8JDObf9f|E3`KC0mF*l;n#maY2@a_yCI1E8$d{r(_{g zKIK4Q3d~uRjaTF=ngbi;4dW@xVsc&3JNS8Z4{ObYNcGgO%8av|d_AWbUsmkAfe|@s zx6D&k5H)AyExRYruU=HIG}DY7k-1V!c{Cb{B|H{oF=2@)W~0mulcTXrhxSLZoG)SC zXfG@!BT^N7qQc|7pZ5rSCL))L?2}WHYW@?W^JD#TKbhvq)Y|uyOv`+txX2^1RB}KJ zfrbb?g_jZr?kDU)u{@1_evDg0l9WwpnW5il8pj~un z3}1p_^!@kg(_e0G%%hu|!60zBX~-39nbC>n2PirOkRCA6p2Mdk+6O)d33wf>3fc<> zT|TveI)mcglR;vajw*>_mzhC_+s7UsEK7LmTU);XVf6o7R@q^ZoG#d!W$=|*2*3Tx zr5?LZqJ*NE4qn>ff+s)^tzq3bag22R?)v=A&8v6sFRy}1xe(?AM66}T6a&2nVmftA z50Ald9%}CcSC#BFIBT{$*OAa!Ih>^6uvEx)^#NZ3dpgb}zHc=ZJb!ny{l4py=!^xMMKTvx4jQfp3R%O%G3@I)14l2Iv7gV6CBVDCc8 z3w!}j!{F>hrLcY`mozscD>lqqO6K5ar@@optV8A+_6~aA$%vkvj8t*fjjPqiF<#B( zlmm}}Dvp2=(6VppBZL#khHDM>4!!Z7OIDkO!@tFXr5sXAwjy+@Y>L*4pmqJ~H|m~h zfE5LrCD=rII_NRwce^QaS5*PQ-E`$;3quyTf>EGfaT`K;O+SI17ES za{$q>Gv^RW#|*wtA$qR}>{6vsen%3sm7g=1%K%|jh8*-4`$o%w;c5)7C#HtqUiQ%# ztPy3PW!aqT!6=8F^%|h?^pqU-c=;0Q2rV`ktq%TEd{QtdPbkUw0(5|71y`X}M1i*I z>Hu?CRDlb_6Zs2duP_{t&pspFSHr%Q$jK>r<}-Y=_bXJM%z^J{BlZK~pcFOv-Ru`D zpR5Jc8FK;lf}c=50&2MdqqN0RVm8ZKp8QWP`Iu*1tAxeU?n zU4FjCklXSxCG_v5kZOn)n9wX6)5&d&JOUQD12H{%b|N(M0_fHN&(?eFxLGPDrG~f( zlyI{drVm?I9cdB}YQF<2-L3Y+no#RQV&B%_0+bE;P9knq=>8B~p%O21NuhkUSjER_Mg2O~xl&fJJT=8NC4sR}K)^94w`1{;40geBu3gs3CprRD$pKT;jRV|RL}}DIHY?IDoC{^TEM`M3e3Rm zz`&v)S8ZhmIQExcNcCG}ThzD;JCGK3sVGv|y6LFQ?KcQfQpG+Z7G1%llZ>BrVHHjT zZ(<9-7Hgfs)IUIFKy{7Ay!vo3 zQxsd>YRZeYUm*zpBebOH2HWC17I|hiBx?icuxo}{N^`yjb7i8~RYIxmvHY~@O0_os z2Cx5^_8sC_1LKX;^tslM)WOrhd#Qd>Q{hiC$RMOb`BdqwiO`3R;@HONh)=yr+5y-7B-61QKi6kkQ94; zfVHy25tT{yW68h*?NEVTMjmTg7wAsDSlFsaFYLzJ)DrxtGM0BO(Ef>XM;umr=5UFN zJ4QbyoSZl^5dQS(jy&xfPaY(YQX)Rs&YsyUW_2@X&@J!1`r6c1@AcK!`;V)3*Ofdl zKC1fDzB0A_%2%eIttnHTRgK_vLNuWlzTSpwO4oJJZ%3M&H>|5j+o5eWTX#++0%_HO=v-ORDbi;F+ z4a}o(okTcm5N>Nm`5RpOeKhEN-x&J#?UCdf6*c(+p(t0JVj~LtC}nvQVBHR^Q~y`T zBt7QqGmNOSa@{s*_k>_kaSs+zLch>`6D*&co)t`fD>TzoA2eYG0B+uj9G(?4m)H@L zngSVTG{4nH#`!Gi>~nNy_lU)t^ZY5#vt7xvM*8NYrGa&=)jYP|mL0vDcZZ(UW25zg zsj|p5{59{ZEjz+9c?D2=nU&zdq&noTdK%snaL`!8j0x9A1dnVNL5w!Kwl!aMSd4pa zCCb8{(-TY2br~$nj`SH(b)05NVY!C$D}TX&R8MS5I+$x=0#0zUtpMk@}93C~ADuzkITf4LkSd z$X@pX1_tHU{ilmk@4~eiL>I$0l=GiVln4E?JO#NC*g{PWNb;VifTSc|`~g)@SP#jl z)sl&6|L&EBGyz`q0notGz<@O;&}e~Y4dJ<(ASa$2%Z&#g%sHP$K){VEO< z<6s7_^pFKds2vl?R3%$?#P2R@6t0ISJdJh2KqFEN|GMpg_XeOIppcP#C#+t~-ewY1 zF}X#7{v=*KXPiD(A2&AHxca(aOR+2wVWh8+y4=#xuN#3OmNfO;8_im{%YmfrDd=uf z9Ufw@VtBqRb=<+hc3J%_CPw$52gr%w(llH{B4yZYg+g_8qg&UfhNxC)6n5U4j=*<6 zY$3%NYU#TlJYHes?~sk18Y?!!+^oA@)mz7q_^nx*|WXx0mY|t;w-{Z@2&qYKZxnS$p=}D$6j(R6s6j^Hd?YP66J9n+9fe zE^ox$mVpm=^m|+FX+0d(D?tO_gf>IXv-Vg&tTI@rDjM{ClDz8|i;1ROHL_rqX;v$1K|tjrZ#{ ztFDo4blhY(yLUl^uMfx*+X&-$9m1FIOmkzd7FpE#(OhU9MNhs@pAJT|n3%gfn&zg9 zB#-|^SQwL4Ik`&Q7>+d7$WA8W(|9{;35BO0;yLmbQ0B+*< ArT_o{ diff --git a/static/admin/js/prepopulate_init.e056047b7a7e.js b/static/admin/js/prepopulate_init.6cac7f3105b8.js similarity index 60% rename from static/admin/js/prepopulate_init.e056047b7a7e.js rename to static/admin/js/prepopulate_init.6cac7f3105b8.js index 72ebdcf5..a58841f0 100644 --- a/static/admin/js/prepopulate_init.e056047b7a7e.js +++ b/static/admin/js/prepopulate_init.6cac7f3105b8.js @@ -3,7 +3,11 @@ const $ = django.jQuery; const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); $.each(fields, function(index, field) { - $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $( + '.empty-form .form-row .field-' + field.name + + ', .empty-form.form-row .field-' + field.name + + ', .empty-form .form-row.field-' + field.name + ).addClass('prepopulated_field'); $(field.id).data('dependency_list', field.dependency_list).prepopulate( field.dependency_ids, field.maxLength, field.allowUnicode ); diff --git a/static/admin/js/prepopulate_init.6cac7f3105b8.js.gz b/static/admin/js/prepopulate_init.6cac7f3105b8.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b000b60fb651bec382824b2a21f4fa4c944fc357 GIT binary patch literal 277 zcmV+w0qXuAiwFP!00002|D}+@Zo?o9hVOX_q(vf8120hRG-;<^cG$VHz-g(7i2_j@ zO?~$zuykbGZ9afy{?9f)A3ZW32BQMs7as+iLpkz+mF$`63((2Q%iD;A$N&Y;YpEeX#dFnb6!ALsFC~IHSBY#`JCX{X9zNC3bz7MC*o*$>kJ-yUy9d3C?z@gCyvX?Y3ycGWb92_uxO-2U$zd z`o)6xTStyjyE>A7nQ)_52Q~IMTS96&TH^!%vPS->*D`Cowd$ANM8jjXgWCb=6wYe_ btaaCSGRo;}|FqzJzVF2+o-%-lN&)}?-Oh*f literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate_init.e056047b7a7e.js.gz b/static/admin/js/prepopulate_init.e056047b7a7e.js.gz deleted file mode 100644 index 9417cd0c7aba6f898a2e92b6640d6fb61be08a1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmV+m0rdVKiwFP!00002|AmlEZo?oDh4(%MQZ0d1!v&(QDs|OO7hOjq7$-z{unbmW zMY(%0#F5)BItzY=?>!#yDIg1Rv^w%#b*)$`?I}c7vo~f=KnJf*UlWe=ZgbdKbS5OC z7W}195=?JN4kHeJm>fhjvS2c6fMVc{G7v%VE%lKh-W2~@A?Twh%9eE#>1aI(O9n4( zxwv5^Xyyf1*bi}*ogaIqmQjxWoK_1eIeRT4MbKl~@Rn@^|L~0hW8NKv@H6v1BWvc8 zqo}M|-)L~a6q@wBcQ!=+2(Nzi8?`YOPrs%9@HT%*?)Gr`L^{Od+5qSL`J1fv2A?jE RfVVW?sylEL>9_0w005B~cC`Qi diff --git a/static/admin/js/prepopulate_init.js b/static/admin/js/prepopulate_init.js index 72ebdcf5..a58841f0 100644 --- a/static/admin/js/prepopulate_init.js +++ b/static/admin/js/prepopulate_init.js @@ -3,7 +3,11 @@ const $ = django.jQuery; const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); $.each(fields, function(index, field) { - $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $( + '.empty-form .form-row .field-' + field.name + + ', .empty-form.form-row .field-' + field.name + + ', .empty-form .form-row.field-' + field.name + ).addClass('prepopulated_field'); $(field.id).data('dependency_list', field.dependency_list).prepopulate( field.dependency_ids, field.maxLength, field.allowUnicode ); diff --git a/static/admin/js/prepopulate_init.js.gz b/static/admin/js/prepopulate_init.js.gz index 9417cd0c7aba6f898a2e92b6640d6fb61be08a1e..b000b60fb651bec382824b2a21f4fa4c944fc357 100644 GIT binary patch literal 277 zcmV+w0qXuAiwFP!00002|D}+@Zo?o9hVOX_q(vf8120hRG-;<^cG$VHz-g(7i2_j@ zO?~$zuykbGZ9afy{?9f)A3ZW32BQMs7as+iLpkz+mF$`63((2Q%iD;A$N&Y;YpEeX#dFnb6!ALsFC~IHSBY#`JCX{X9zNC3bz7MC*o*$>kJ-yUy9d3C?z@gCyvX?Y3ycGWb92_uxO-2U$zd z`o)6xTStyjyE>A7nQ)_52Q~IMTS96&TH^!%vPS->*D`Cowd$ANM8jjXgWCb=6wYe_ btaaCSGRo;}|FqzJzVF2+o-%-lN&)}?-Oh*f literal 267 zcmV+m0rdVKiwFP!00002|AmlEZo?oDh4(%MQZ0d1!v&(QDs|OO7hOjq7$-z{unbmW zMY(%0#F5)BItzY=?>!#yDIg1Rv^w%#b*)$`?I}c7vo~f=KnJf*UlWe=ZgbdKbS5OC z7W}195=?JN4kHeJm>fhjvS2c6fMVc{G7v%VE%lKh-W2~@A?Twh%9eE#>1aI(O9n4( zxwv5^Xyyf1*bi}*ogaIqmQjxWoK_1eIeRT4MbKl~@Rn@^|L~0hW8NKv@H6v1BWvc8 zqo}M|-)L~a6q@wBcQ!=+2(Nzi8?`YOPrs%9@HT%*?)Gr`L^{Od+5qSL`J1fv2A?jE RfVVW?sylEL>9_0w005B~cC`Qi diff --git a/static/babybuddy/js/graph.js b/static/babybuddy/js/graph.js index 4443da67..d09198bc 100644 --- a/static/babybuddy/js/graph.js +++ b/static/babybuddy/js/graph.js @@ -13245,46 +13245,46 @@ function transpose(out, a) { }; },{}],64:[function(_dereq_,module,exports){ (function (global){(function (){ -'use strict' - -var isBrowser = _dereq_('is-browser') -var hasHover - -if (typeof global.matchMedia === 'function') { - hasHover = !global.matchMedia('(hover: none)').matches -} -else { - hasHover = isBrowser -} - -module.exports = hasHover +'use strict' + +var isBrowser = _dereq_('is-browser') +var hasHover + +if (typeof global.matchMedia === 'function') { + hasHover = !global.matchMedia('(hover: none)').matches +} +else { + hasHover = isBrowser +} + +module.exports = hasHover }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"is-browser":68}],65:[function(_dereq_,module,exports){ -'use strict' - -var isBrowser = _dereq_('is-browser') - -function detect() { - var supported = false - - try { - var opts = Object.defineProperty({}, 'passive', { - get: function() { - supported = true - } - }) - - window.addEventListener('test', null, opts) - window.removeEventListener('test', null, opts) - } catch(e) { - supported = false - } - - return supported -} - -module.exports = isBrowser && detect() +'use strict' + +var isBrowser = _dereq_('is-browser') + +function detect() { + var supported = false + + try { + var opts = Object.defineProperty({}, 'passive', { + get: function() { + supported = true + } + }) + + window.addEventListener('test', null, opts) + window.removeEventListener('test', null, opts) + } catch(e) { + supported = false + } + + return supported +} + +module.exports = isBrowser && detect() },{"is-browser":68}],66:[function(_dereq_,module,exports){ exports.read = function (buffer, offset, isLE, mLen, nBytes) { @@ -13404,78 +13404,78 @@ if (typeof Object.create === 'function') { },{}],68:[function(_dereq_,module,exports){ module.exports = true; },{}],69:[function(_dereq_,module,exports){ -'use strict' - -module.exports = isMobile -module.exports.isMobile = isMobile -module.exports.default = isMobile - -var mobileRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i - -var tabletRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i - -function isMobile (opts) { - if (!opts) opts = {} - var ua = opts.ua - if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent - if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') { - ua = ua.headers['user-agent'] - } - if (typeof ua !== 'string') return false - - var result = opts.tablet ? tabletRE.test(ua) : mobileRE.test(ua) - - if ( - !result && - opts.tablet && - opts.featureDetect && - navigator && - navigator.maxTouchPoints > 1 && - ua.indexOf('Macintosh') !== -1 && - ua.indexOf('Safari') !== -1 - ) { - result = true - } - - return result -} +'use strict' + +module.exports = isMobile +module.exports.isMobile = isMobile +module.exports.default = isMobile + +var mobileRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i + +var tabletRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i + +function isMobile (opts) { + if (!opts) opts = {} + var ua = opts.ua + if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent + if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') { + ua = ua.headers['user-agent'] + } + if (typeof ua !== 'string') return false + + var result = opts.tablet ? tabletRE.test(ua) : mobileRE.test(ua) + + if ( + !result && + opts.tablet && + opts.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + ua.indexOf('Macintosh') !== -1 && + ua.indexOf('Safari') !== -1 + ) { + result = true + } + + return result +} },{}],70:[function(_dereq_,module,exports){ -'use strict'; - -/** - * Is this string all whitespace? - * This solution kind of makes my brain hurt, but it's significantly faster - * than !str.trim() or any other solution I could find. - * - * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character - * and verified with: - * - * for(var i = 0; i < 65536; i++) { - * var s = String.fromCharCode(i); - * if(+s===0 && !s.trim()) console.log(i, s); - * } - * - * which counts a couple of these as *not* whitespace, but finds nothing else - * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears - * that there are no whitespace characters above this, and code points above - * this do not map onto white space characters. - */ - -module.exports = function(str){ - var l = str.length, - a; - for(var i = 0; i < l; i++) { - a = str.charCodeAt(i); - if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) && - (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) && - (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) && - (a !== 8288) && (a !== 12288) && (a !== 65279)) { - return false; - } - } - return true; -} +'use strict'; + +/** + * Is this string all whitespace? + * This solution kind of makes my brain hurt, but it's significantly faster + * than !str.trim() or any other solution I could find. + * + * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character + * and verified with: + * + * for(var i = 0; i < 65536; i++) { + * var s = String.fromCharCode(i); + * if(+s===0 && !s.trim()) console.log(i, s); + * } + * + * which counts a couple of these as *not* whitespace, but finds nothing else + * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears + * that there are no whitespace characters above this, and code points above + * this do not map onto white space characters. + */ + +module.exports = function(str){ + var l = str.length, + a; + for(var i = 0; i < l; i++) { + a = str.charCodeAt(i); + if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) && + (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) && + (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) && + (a !== 8288) && (a !== 12288) && (a !== 65279)) { + return false; + } + } + return true; +} },{}],71:[function(_dereq_,module,exports){ var rootPosition = { left: 0, top: 0 } diff --git a/static/babybuddy/js/vendor.js b/static/babybuddy/js/vendor.js index 9f52d236..1bc309d3 100644 --- a/static/babybuddy/js/vendor.js +++ b/static/babybuddy/js/vendor.js @@ -26961,3508 +26961,3508 @@ return Popper; return moment; })); -/*!@preserve - * Tempus Dominus Bootstrap4 v5.39.0 (https://tempusdominus.github.io/bootstrap-4/) - * Copyright 2016-2020 Jonathan Peterson and contributors - * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE) - */ - -if (typeof jQuery === 'undefined') { - throw new Error('Tempus Dominus Bootstrap4\'s requires jQuery. jQuery must be included before Tempus Dominus Bootstrap4\'s JavaScript.'); -} - -+function ($) { - var version = $.fn.jquery.split(' ')[0].split('.'); - if ((version[0] < 2 && version[1] < 9) || (version[0] === 1 && version[1] === 9 && version[2] < 1) || (version[0] >= 4)) { - throw new Error('Tempus Dominus Bootstrap4\'s requires at least jQuery v3.0.0 but less than v4.0.0'); - } -}(jQuery); - - -if (typeof moment === 'undefined') { - throw new Error('Tempus Dominus Bootstrap4\'s requires moment.js. Moment.js must be included before Tempus Dominus Bootstrap4\'s JavaScript.'); -} - -var version = moment.version.split('.') -if ((version[0] <= 2 && version[1] < 17) || (version[0] >= 3)) { - throw new Error('Tempus Dominus Bootstrap4\'s requires at least moment.js v2.17.0 but less than v3.0.0'); -} - -+function () { - -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -// ReSharper disable once InconsistentNaming -var DateTimePicker = function ($, moment) { - function escapeRegExp(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); - } - - function isValidDate(date) { - return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime()); - } - - function isValidDateTimeStr(str) { - return isValidDate(new Date(str)); - } // ReSharper disable InconsistentNaming - - - var trim = function trim(str) { - return str.replace(/(^\s+)|(\s+$)/g, ''); - }, - NAME = 'datetimepicker', - DATA_KEY = "" + NAME, - EVENT_KEY = "." + DATA_KEY, - DATA_API_KEY = '.data-api', - Selector = { - DATA_TOGGLE: "[data-toggle=\"" + DATA_KEY + "\"]" - }, - ClassName = { - INPUT: NAME + "-input" - }, - Event = { - CHANGE: "change" + EVENT_KEY, - BLUR: "blur" + EVENT_KEY, - KEYUP: "keyup" + EVENT_KEY, - KEYDOWN: "keydown" + EVENT_KEY, - FOCUS: "focus" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, - //emitted - UPDATE: "update" + EVENT_KEY, - ERROR: "error" + EVENT_KEY, - HIDE: "hide" + EVENT_KEY, - SHOW: "show" + EVENT_KEY - }, - DatePickerModes = [{ - CLASS_NAME: 'days', - NAV_FUNCTION: 'M', - NAV_STEP: 1 - }, { - CLASS_NAME: 'months', - NAV_FUNCTION: 'y', - NAV_STEP: 1 - }, { - CLASS_NAME: 'years', - NAV_FUNCTION: 'y', - NAV_STEP: 10 - }, { - CLASS_NAME: 'decades', - NAV_FUNCTION: 'y', - NAV_STEP: 100 - }], - KeyMap = { - 'up': 38, - 38: 'up', - 'down': 40, - 40: 'down', - 'left': 37, - 37: 'left', - 'right': 39, - 39: 'right', - 'tab': 9, - 9: 'tab', - 'escape': 27, - 27: 'escape', - 'enter': 13, - 13: 'enter', - 'pageUp': 33, - 33: 'pageUp', - 'pageDown': 34, - 34: 'pageDown', - 'shift': 16, - 16: 'shift', - 'control': 17, - 17: 'control', - 'space': 32, - 32: 'space', - 't': 84, - 84: 't', - 'delete': 46, - 46: 'delete' - }, - ViewModes = ['times', 'days', 'months', 'years', 'decades'], - keyState = {}, - keyPressHandled = {}, - optionsSortMap = { - timeZone: -39, - format: -38, - dayViewHeaderFormat: -37, - extraFormats: -36, - stepping: -35, - minDate: -34, - maxDate: -33, - useCurrent: -32, - collapse: -31, - locale: -30, - defaultDate: -29, - disabledDates: -28, - enabledDates: -27, - icons: -26, - tooltips: -25, - useStrict: -24, - sideBySide: -23, - daysOfWeekDisabled: -22, - calendarWeeks: -21, - viewMode: -20, - toolbarPlacement: -19, - buttons: -18, - widgetPositioning: -17, - widgetParent: -16, - ignoreReadonly: -15, - keepOpen: -14, - focusOnShow: -13, - inline: -12, - keepInvalid: -11, - keyBinds: -10, - debug: -9, - allowInputToggle: -8, - disabledTimeIntervals: -7, - disabledHours: -6, - enabledHours: -5, - viewDate: -4, - allowMultidate: -3, - multidateSeparator: -2, - updateOnlyThroughDateOption: -1, - date: 1 - }, - defaultFeatherIcons = { - time: 'clock', - date: 'calendar', - up: 'arrow-up', - down: 'arrow-down', - previous: 'arrow-left', - next: 'arrow-right', - today: 'arrow-down-circle', - clear: 'trash-2', - close: 'x' - }; - - function optionsSortFn(optionKeyA, optionKeyB) { - if (optionsSortMap[optionKeyA] && optionsSortMap[optionKeyB]) { - if (optionsSortMap[optionKeyA] < 0 && optionsSortMap[optionKeyB] < 0) { - return Math.abs(optionsSortMap[optionKeyB]) - Math.abs(optionsSortMap[optionKeyA]); - } else if (optionsSortMap[optionKeyA] < 0) { - return -1; - } else if (optionsSortMap[optionKeyB] < 0) { - return 1; - } - - return optionsSortMap[optionKeyA] - optionsSortMap[optionKeyB]; - } else if (optionsSortMap[optionKeyA]) { - return optionsSortMap[optionKeyA]; - } else if (optionsSortMap[optionKeyB]) { - return optionsSortMap[optionKeyB]; - } - - return 0; - } - - var Default = { - timeZone: '', - format: false, - dayViewHeaderFormat: 'MMMM YYYY', - extraFormats: false, - stepping: 1, - minDate: false, - maxDate: false, - useCurrent: true, - collapse: true, - locale: moment.locale(), - defaultDate: false, - disabledDates: false, - enabledDates: false, - icons: { - type: 'class', - time: 'fa fa-clock-o', - date: 'fa fa-calendar', - up: 'fa fa-arrow-up', - down: 'fa fa-arrow-down', - previous: 'fa fa-chevron-left', - next: 'fa fa-chevron-right', - today: 'fa fa-calendar-check-o', - clear: 'fa fa-trash', - close: 'fa fa-times' - }, - tooltips: { - today: 'Go to today', - clear: 'Clear selection', - close: 'Close the picker', - selectMonth: 'Select Month', - prevMonth: 'Previous Month', - nextMonth: 'Next Month', - selectYear: 'Select Year', - prevYear: 'Previous Year', - nextYear: 'Next Year', - selectDecade: 'Select Decade', - prevDecade: 'Previous Decade', - nextDecade: 'Next Decade', - prevCentury: 'Previous Century', - nextCentury: 'Next Century', - pickHour: 'Pick Hour', - incrementHour: 'Increment Hour', - decrementHour: 'Decrement Hour', - pickMinute: 'Pick Minute', - incrementMinute: 'Increment Minute', - decrementMinute: 'Decrement Minute', - pickSecond: 'Pick Second', - incrementSecond: 'Increment Second', - decrementSecond: 'Decrement Second', - togglePeriod: 'Toggle Period', - selectTime: 'Select Time', - selectDate: 'Select Date' - }, - useStrict: false, - sideBySide: false, - daysOfWeekDisabled: false, - calendarWeeks: false, - viewMode: 'days', - toolbarPlacement: 'default', - buttons: { - showToday: false, - showClear: false, - showClose: false - }, - widgetPositioning: { - horizontal: 'auto', - vertical: 'auto' - }, - widgetParent: null, - readonly: false, - ignoreReadonly: false, - keepOpen: false, - focusOnShow: true, - inline: false, - keepInvalid: false, - keyBinds: { - up: function up() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().subtract(7, 'd')); - } else { - this.date(d.clone().add(this.stepping(), 'm')); - } - - return true; - }, - down: function down() { - if (!this.widget) { - this.show(); - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().add(7, 'd')); - } else { - this.date(d.clone().subtract(this.stepping(), 'm')); - } - - return true; - }, - 'control up': function controlUp() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().subtract(1, 'y')); - } else { - this.date(d.clone().add(1, 'h')); - } - - return true; - }, - 'control down': function controlDown() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().add(1, 'y')); - } else { - this.date(d.clone().subtract(1, 'h')); - } - - return true; - }, - left: function left() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().subtract(1, 'd')); - } - - return true; - }, - right: function right() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().add(1, 'd')); - } - - return true; - }, - pageUp: function pageUp() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().subtract(1, 'M')); - } - - return true; - }, - pageDown: function pageDown() { - if (!this.widget) { - return false; - } - - var d = this._dates[0] || this.getMoment(); - - if (this.widget.find('.datepicker').is(':visible')) { - this.date(d.clone().add(1, 'M')); - } - - return true; - }, - enter: function enter() { - if (!this.widget) { - return false; - } - - this.hide(); - return true; - }, - escape: function escape() { - if (!this.widget) { - return false; - } - - this.hide(); - return true; - }, - 'control space': function controlSpace() { - if (!this.widget) { - return false; - } - - if (this.widget.find('.timepicker').is(':visible')) { - this.widget.find('.btn[data-action="togglePeriod"]').click(); - } - - return true; - }, - t: function t() { - if (!this.widget) { - return false; - } - - this.date(this.getMoment()); - return true; - }, - 'delete': function _delete() { - if (!this.widget) { - return false; - } - - this.clear(); - return true; - } - }, - debug: false, - allowInputToggle: false, - disabledTimeIntervals: false, - disabledHours: false, - enabledHours: false, - viewDate: false, - allowMultidate: false, - multidateSeparator: ', ', - updateOnlyThroughDateOption: false, - promptTimeOnDateChange: false, - promptTimeOnDateChangeTransitionDelay: 200 - }; // ReSharper restore InconsistentNaming - // ReSharper disable once DeclarationHides - // ReSharper disable once InconsistentNaming - - var DateTimePicker = /*#__PURE__*/function () { - /** @namespace eData.dateOptions */ - - /** @namespace moment.tz */ - function DateTimePicker(element, options) { - this._options = this._getOptions(options); - this._element = element; - this._dates = []; - this._datesFormatted = []; - this._viewDate = null; - this.unset = true; - this.component = false; - this.widget = false; - this.use24Hours = null; - this.actualFormat = null; - this.parseFormats = null; - this.currentViewMode = null; - this.MinViewModeNumber = 0; - this.isInitFormatting = false; - this.isInit = false; - this.isDateUpdateThroughDateOptionFromClientCode = false; - this.hasInitDate = false; - this.initDate = void 0; - this._notifyChangeEventContext = void 0; - this._currentPromptTimeTimeout = null; - - this._int(); - } - /** - * @return {string} - */ - - - var _proto = DateTimePicker.prototype; - - //private - _proto._int = function _int() { - this.isInit = true; - - var targetInput = this._element.data('target-input'); - - if (this._element.is('input')) { - this.input = this._element; - } else if (targetInput !== undefined) { - if (targetInput === 'nearest') { - this.input = this._element.find('input'); - } else { - this.input = $(targetInput); - } - } - - this._dates = []; - this._dates[0] = this.getMoment(); - this._viewDate = this.getMoment().clone(); - $.extend(true, this._options, this._dataToOptions()); - this.hasInitDate = false; - this.initDate = void 0; - this.options(this._options); - this.isInitFormatting = true; - - this._initFormatting(); - - this.isInitFormatting = false; - - if (this.input !== undefined && this.input.is('input') && this.input.val().trim().length !== 0) { - this._setValue(this._parseInputDate(this.input.val().trim()), 0); - } else if (this._options.defaultDate && this.input !== undefined && this.input.attr('placeholder') === undefined) { - this._setValue(this._options.defaultDate, 0); - } - - if (this.hasInitDate) { - this.date(this.initDate); - } - - if (this._options.inline) { - this.show(); - } - - this.isInit = false; - }; - - _proto._update = function _update() { - if (!this.widget) { - return; - } - - this._fillDate(); - - this._fillTime(); - }; - - _proto._setValue = function _setValue(targetMoment, index) { - var noIndex = typeof index === 'undefined', - isClear = !targetMoment && noIndex, - isDateUpdateThroughDateOptionFromClientCode = this.isDateUpdateThroughDateOptionFromClientCode, - isNotAllowedProgrammaticUpdate = !this.isInit && this._options.updateOnlyThroughDateOption && !isDateUpdateThroughDateOptionFromClientCode; - var outpValue = '', - isInvalid = false, - oldDate = this.unset ? null : this._dates[index]; - - if (!oldDate && !this.unset && noIndex && isClear) { - oldDate = this._dates[this._dates.length - 1]; - } // case of calling setValue(null or false) - - - if (!targetMoment) { - if (isNotAllowedProgrammaticUpdate) { - this._notifyEvent({ - type: DateTimePicker.Event.CHANGE, - date: targetMoment, - oldDate: oldDate, - isClear: isClear, - isInvalid: isInvalid, - isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, - isInit: this.isInit - }); - - return; - } - - if (!this._options.allowMultidate || this._dates.length === 1 || isClear) { - this.unset = true; - this._dates = []; - this._datesFormatted = []; - } else { - outpValue = "" + this._element.data('date') + this._options.multidateSeparator; - outpValue = oldDate && outpValue.replace("" + oldDate.format(this.actualFormat) + this._options.multidateSeparator, '').replace("" + this._options.multidateSeparator + this._options.multidateSeparator, '').replace(new RegExp(escapeRegExp(this._options.multidateSeparator) + "\\s*$"), '') || ''; - - this._dates.splice(index, 1); - - this._datesFormatted.splice(index, 1); - } - - outpValue = trim(outpValue); - - if (this.input !== undefined) { - this.input.val(outpValue); - this.input.trigger('input'); - } - - this._element.data('date', outpValue); - - this._notifyEvent({ - type: DateTimePicker.Event.CHANGE, - date: false, - oldDate: oldDate, - isClear: isClear, - isInvalid: isInvalid, - isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, - isInit: this.isInit - }); - - this._update(); - - return; - } - - targetMoment = targetMoment.clone().locale(this._options.locale); - - if (this._hasTimeZone()) { - targetMoment.tz(this._options.timeZone); - } - - if (this._options.stepping !== 1) { - targetMoment.minutes(Math.round(targetMoment.minutes() / this._options.stepping) * this._options.stepping).seconds(0); - } - - if (this._isValid(targetMoment)) { - if (isNotAllowedProgrammaticUpdate) { - this._notifyEvent({ - type: DateTimePicker.Event.CHANGE, - date: targetMoment.clone(), - oldDate: oldDate, - isClear: isClear, - isInvalid: isInvalid, - isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, - isInit: this.isInit - }); - - return; - } - - this._dates[index] = targetMoment; - this._datesFormatted[index] = targetMoment.format('YYYY-MM-DD'); - this._viewDate = targetMoment.clone(); - - if (this._options.allowMultidate && this._dates.length > 1) { - for (var i = 0; i < this._dates.length; i++) { - outpValue += "" + this._dates[i].format(this.actualFormat) + this._options.multidateSeparator; - } - - outpValue = outpValue.replace(new RegExp(this._options.multidateSeparator + "\\s*$"), ''); - } else { - outpValue = this._dates[index].format(this.actualFormat); - } - - outpValue = trim(outpValue); - - if (this.input !== undefined) { - this.input.val(outpValue); - this.input.trigger('input'); - } - - this._element.data('date', outpValue); - - this.unset = false; - - this._update(); - - this._notifyEvent({ - type: DateTimePicker.Event.CHANGE, - date: this._dates[index].clone(), - oldDate: oldDate, - isClear: isClear, - isInvalid: isInvalid, - isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, - isInit: this.isInit - }); - } else { - isInvalid = true; - - if (!this._options.keepInvalid) { - if (this.input !== undefined) { - this.input.val("" + (this.unset ? '' : this._dates[index].format(this.actualFormat))); - this.input.trigger('input'); - } - } else { - this._notifyEvent({ - type: DateTimePicker.Event.CHANGE, - date: targetMoment, - oldDate: oldDate, - isClear: isClear, - isInvalid: isInvalid, - isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, - isInit: this.isInit - }); - } - - this._notifyEvent({ - type: DateTimePicker.Event.ERROR, - date: targetMoment, - oldDate: oldDate - }); - } - }; - - _proto._change = function _change(e) { - var val = $(e.target).val().trim(), - parsedDate = val ? this._parseInputDate(val) : null; - - this._setValue(parsedDate, 0); - - e.stopImmediatePropagation(); - return false; - } //noinspection JSMethodCanBeStatic - ; - - _proto._getOptions = function _getOptions(options) { - options = $.extend(true, {}, Default, options && options.icons && options.icons.type === 'feather' ? { - icons: defaultFeatherIcons - } : {}, options); - return options; - }; - - _proto._hasTimeZone = function _hasTimeZone() { - return moment.tz !== undefined && this._options.timeZone !== undefined && this._options.timeZone !== null && this._options.timeZone !== ''; - }; - - _proto._isEnabled = function _isEnabled(granularity) { - if (typeof granularity !== 'string' || granularity.length > 1) { - throw new TypeError('isEnabled expects a single character string parameter'); - } - - switch (granularity) { - case 'y': - return this.actualFormat.indexOf('Y') !== -1; - - case 'M': - return this.actualFormat.indexOf('M') !== -1; - - case 'd': - return this.actualFormat.toLowerCase().indexOf('d') !== -1; - - case 'h': - case 'H': - return this.actualFormat.toLowerCase().indexOf('h') !== -1; - - case 'm': - return this.actualFormat.indexOf('m') !== -1; - - case 's': - return this.actualFormat.indexOf('s') !== -1; - - case 'a': - case 'A': - return this.actualFormat.toLowerCase().indexOf('a') !== -1; - - default: - return false; - } - }; - - _proto._hasTime = function _hasTime() { - return this._isEnabled('h') || this._isEnabled('m') || this._isEnabled('s'); - }; - - _proto._hasDate = function _hasDate() { - return this._isEnabled('y') || this._isEnabled('M') || this._isEnabled('d'); - }; - - _proto._dataToOptions = function _dataToOptions() { - var eData = this._element.data(); - - var dataOptions = {}; - - if (eData.dateOptions && eData.dateOptions instanceof Object) { - dataOptions = $.extend(true, dataOptions, eData.dateOptions); - } - - $.each(this._options, function (key) { - var attributeName = "date" + key.charAt(0).toUpperCase() + key.slice(1); //todo data api key - - if (eData[attributeName] !== undefined) { - dataOptions[key] = eData[attributeName]; - } else { - delete dataOptions[key]; - } - }); - return dataOptions; - }; - - _proto._format = function _format() { - return this._options.format || 'YYYY-MM-DD HH:mm'; - }; - - _proto._areSameDates = function _areSameDates(a, b) { - var format = this._format(); - - return a && b && (a.isSame(b) || moment(a.format(format), format).isSame(moment(b.format(format), format))); - }; - - _proto._notifyEvent = function _notifyEvent(e) { - if (e.type === DateTimePicker.Event.CHANGE) { - this._notifyChangeEventContext = this._notifyChangeEventContext || 0; - this._notifyChangeEventContext++; - - if (e.date && this._areSameDates(e.date, e.oldDate) || !e.isClear && !e.date && !e.oldDate || this._notifyChangeEventContext > 1) { - this._notifyChangeEventContext = void 0; - return; - } - - this._handlePromptTimeIfNeeded(e); - } - - this._element.trigger(e); - - this._notifyChangeEventContext = void 0; - }; - - _proto._handlePromptTimeIfNeeded = function _handlePromptTimeIfNeeded(e) { - if (this._options.promptTimeOnDateChange) { - if (!e.oldDate && this._options.useCurrent) { - // First time ever. If useCurrent option is set to true (default), do nothing - // because the first date is selected automatically. - return; - } else if (e.oldDate && e.date && (e.oldDate.format('YYYY-MM-DD') === e.date.format('YYYY-MM-DD') || e.oldDate.format('YYYY-MM-DD') !== e.date.format('YYYY-MM-DD') && e.oldDate.format('HH:mm:ss') !== e.date.format('HH:mm:ss'))) { - // Date didn't change (time did) or date changed because time did. - return; - } - - var that = this; - clearTimeout(this._currentPromptTimeTimeout); - this._currentPromptTimeTimeout = setTimeout(function () { - if (that.widget) { - that.widget.find('[data-action="togglePicker"]').click(); - } - }, this._options.promptTimeOnDateChangeTransitionDelay); - } - }; - - _proto._viewUpdate = function _viewUpdate(e) { - if (e === 'y') { - e = 'YYYY'; - } - - this._notifyEvent({ - type: DateTimePicker.Event.UPDATE, - change: e, - viewDate: this._viewDate.clone() - }); - }; - - _proto._showMode = function _showMode(dir) { - if (!this.widget) { - return; - } - - if (dir) { - this.currentViewMode = Math.max(this.MinViewModeNumber, Math.min(3, this.currentViewMode + dir)); - } - - this.widget.find('.datepicker > div').hide().filter(".datepicker-" + DatePickerModes[this.currentViewMode].CLASS_NAME).show(); - }; - - _proto._isInDisabledDates = function _isInDisabledDates(testDate) { - return this._options.disabledDates[testDate.format('YYYY-MM-DD')] === true; - }; - - _proto._isInEnabledDates = function _isInEnabledDates(testDate) { - return this._options.enabledDates[testDate.format('YYYY-MM-DD')] === true; - }; - - _proto._isInDisabledHours = function _isInDisabledHours(testDate) { - return this._options.disabledHours[testDate.format('H')] === true; - }; - - _proto._isInEnabledHours = function _isInEnabledHours(testDate) { - return this._options.enabledHours[testDate.format('H')] === true; - }; - - _proto._isValid = function _isValid(targetMoment, granularity) { - if (!targetMoment || !targetMoment.isValid()) { - return false; - } - - if (this._options.disabledDates && granularity === 'd' && this._isInDisabledDates(targetMoment)) { - return false; - } - - if (this._options.enabledDates && granularity === 'd' && !this._isInEnabledDates(targetMoment)) { - return false; - } - - if (this._options.minDate && targetMoment.isBefore(this._options.minDate, granularity)) { - return false; - } - - if (this._options.maxDate && targetMoment.isAfter(this._options.maxDate, granularity)) { - return false; - } - - if (this._options.daysOfWeekDisabled && granularity === 'd' && this._options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) { - return false; - } - - if (this._options.disabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && this._isInDisabledHours(targetMoment)) { - return false; - } - - if (this._options.enabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && !this._isInEnabledHours(targetMoment)) { - return false; - } - - if (this._options.disabledTimeIntervals && (granularity === 'h' || granularity === 'm' || granularity === 's')) { - var found = false; - $.each(this._options.disabledTimeIntervals, function () { - if (targetMoment.isBetween(this[0], this[1])) { - found = true; - return false; - } - }); - - if (found) { - return false; - } - } - - return true; - }; - - _proto._parseInputDate = function _parseInputDate(inputDate, _temp) { - var _ref = _temp === void 0 ? {} : _temp, - _ref$isPickerShow = _ref.isPickerShow, - isPickerShow = _ref$isPickerShow === void 0 ? false : _ref$isPickerShow; - - if (this._options.parseInputDate === undefined || isPickerShow) { - if (!moment.isMoment(inputDate)) { - inputDate = this.getMoment(inputDate); - } - } else { - inputDate = this._options.parseInputDate(inputDate); - } //inputDate.locale(this.options.locale); - - - return inputDate; - }; - - _proto._keydown = function _keydown(e) { - var handler = null, - index, - index2, - keyBindKeys, - allModifiersPressed; - var pressedKeys = [], - pressedModifiers = {}, - currentKey = e.which, - pressed = 'p'; - keyState[currentKey] = pressed; - - for (index in keyState) { - if (keyState.hasOwnProperty(index) && keyState[index] === pressed) { - pressedKeys.push(index); - - if (parseInt(index, 10) !== currentKey) { - pressedModifiers[index] = true; - } - } - } - - for (index in this._options.keyBinds) { - if (this._options.keyBinds.hasOwnProperty(index) && typeof this._options.keyBinds[index] === 'function') { - keyBindKeys = index.split(' '); - - if (keyBindKeys.length === pressedKeys.length && KeyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) { - allModifiersPressed = true; - - for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) { - if (!(KeyMap[keyBindKeys[index2]] in pressedModifiers)) { - allModifiersPressed = false; - break; - } - } - - if (allModifiersPressed) { - handler = this._options.keyBinds[index]; - break; - } - } - } - } - - if (handler) { - if (handler.call(this)) { - e.stopPropagation(); - e.preventDefault(); - } - } - } //noinspection JSMethodCanBeStatic,SpellCheckingInspection - ; - - _proto._keyup = function _keyup(e) { - keyState[e.which] = 'r'; - - if (keyPressHandled[e.which]) { - keyPressHandled[e.which] = false; - e.stopPropagation(); - e.preventDefault(); - } - }; - - _proto._indexGivenDates = function _indexGivenDates(givenDatesArray) { - // Store given enabledDates and disabledDates as keys. - // This way we can check their existence in O(1) time instead of looping through whole array. - // (for example: options.enabledDates['2014-02-27'] === true) - var givenDatesIndexed = {}, - self = this; - $.each(givenDatesArray, function () { - var dDate = self._parseInputDate(this); - - if (dDate.isValid()) { - givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true; - } - }); - return Object.keys(givenDatesIndexed).length ? givenDatesIndexed : false; - }; - - _proto._indexGivenHours = function _indexGivenHours(givenHoursArray) { - // Store given enabledHours and disabledHours as keys. - // This way we can check their existence in O(1) time instead of looping through whole array. - // (for example: options.enabledHours['2014-02-27'] === true) - var givenHoursIndexed = {}; - $.each(givenHoursArray, function () { - givenHoursIndexed[this] = true; - }); - return Object.keys(givenHoursIndexed).length ? givenHoursIndexed : false; - }; - - _proto._initFormatting = function _initFormatting() { - var format = this._options.format || 'L LT', - self = this; - this.actualFormat = format.replace(/(\[[^\[]*])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) { - return (self.isInitFormatting && self._options.date === null ? self.getMoment() : self._dates[0]).localeData().longDateFormat(formatInput) || formatInput; //todo taking the first date should be ok - }); - this.parseFormats = this._options.extraFormats ? this._options.extraFormats.slice() : []; - - if (this.parseFormats.indexOf(format) < 0 && this.parseFormats.indexOf(this.actualFormat) < 0) { - this.parseFormats.push(this.actualFormat); - } - - this.use24Hours = this.actualFormat.toLowerCase().indexOf('a') < 1 && this.actualFormat.replace(/\[.*?]/g, '').indexOf('h') < 1; - - if (this._isEnabled('y')) { - this.MinViewModeNumber = 2; - } - - if (this._isEnabled('M')) { - this.MinViewModeNumber = 1; - } - - if (this._isEnabled('d')) { - this.MinViewModeNumber = 0; - } - - this.currentViewMode = Math.max(this.MinViewModeNumber, this.currentViewMode); - - if (!this.unset) { - this._setValue(this._dates[0], 0); - } - }; - - _proto._getLastPickedDate = function _getLastPickedDate() { - var lastPickedDate = this._dates[this._getLastPickedDateIndex()]; - - if (!lastPickedDate && this._options.allowMultidate) { - lastPickedDate = moment(new Date()); - } - - return lastPickedDate; - }; - - _proto._getLastPickedDateIndex = function _getLastPickedDateIndex() { - return this._dates.length - 1; - } //public - ; - - _proto.getMoment = function getMoment(d) { - var returnMoment; - - if (d === undefined || d === null) { - // TODO: Should this use format? - returnMoment = moment().clone().locale(this._options.locale); - } else if (this._hasTimeZone()) { - // There is a string to parse and a default time zone - // parse with the tz function which takes a default time zone if it is not in the format string - returnMoment = moment.tz(d, this.parseFormats, this._options.locale, this._options.useStrict, this._options.timeZone); - } else { - returnMoment = moment(d, this.parseFormats, this._options.locale, this._options.useStrict); - } - - if (this._hasTimeZone()) { - returnMoment.tz(this._options.timeZone); - } - - return returnMoment; - }; - - _proto.toggle = function toggle() { - return this.widget ? this.hide() : this.show(); - }; - - _proto.readonly = function readonly(_readonly) { - if (arguments.length === 0) { - return this._options.readonly; - } - - if (typeof _readonly !== 'boolean') { - throw new TypeError('readonly() expects a boolean parameter'); - } - - this._options.readonly = _readonly; - - if (this.input !== undefined) { - this.input.prop('readonly', this._options.readonly); - } - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.ignoreReadonly = function ignoreReadonly(_ignoreReadonly) { - if (arguments.length === 0) { - return this._options.ignoreReadonly; - } - - if (typeof _ignoreReadonly !== 'boolean') { - throw new TypeError('ignoreReadonly() expects a boolean parameter'); - } - - this._options.ignoreReadonly = _ignoreReadonly; - }; - - _proto.options = function options(newOptions) { - if (arguments.length === 0) { - return $.extend(true, {}, this._options); - } - - if (!(newOptions instanceof Object)) { - throw new TypeError('options() this.options parameter should be an object'); - } - - $.extend(true, this._options, newOptions); - var self = this, - optionsKeys = Object.keys(this._options).sort(optionsSortFn); - $.each(optionsKeys, function (i, key) { - var value = self._options[key]; - - if (self[key] !== undefined) { - if (self.isInit && key === 'date') { - self.hasInitDate = true; - self.initDate = value; - return; - } - - self[key](value); - } - }); - }; - - _proto.date = function date(newDate, index) { - index = index || 0; - - if (arguments.length === 0) { - if (this.unset) { - return null; - } - - if (this._options.allowMultidate) { - return this._dates.join(this._options.multidateSeparator); - } else { - return this._dates[index].clone(); - } - } - - if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { - throw new TypeError('date() parameter must be one of [null, string, moment or Date]'); - } - - if (typeof newDate === 'string' && isValidDateTimeStr(newDate)) { - newDate = new Date(newDate); - } - - this._setValue(newDate === null ? null : this._parseInputDate(newDate), index); - }; - - _proto.updateOnlyThroughDateOption = function updateOnlyThroughDateOption(_updateOnlyThroughDateOption) { - if (typeof _updateOnlyThroughDateOption !== 'boolean') { - throw new TypeError('updateOnlyThroughDateOption() expects a boolean parameter'); - } - - this._options.updateOnlyThroughDateOption = _updateOnlyThroughDateOption; - }; - - _proto.format = function format(newFormat) { - if (arguments.length === 0) { - return this._options.format; - } - - if (typeof newFormat !== 'string' && (typeof newFormat !== 'boolean' || newFormat !== false)) { - throw new TypeError("format() expects a string or boolean:false parameter " + newFormat); - } - - this._options.format = newFormat; - - if (this.actualFormat) { - this._initFormatting(); // reinitialize formatting - - } - }; - - _proto.timeZone = function timeZone(newZone) { - if (arguments.length === 0) { - return this._options.timeZone; - } - - if (typeof newZone !== 'string') { - throw new TypeError('newZone() expects a string parameter'); - } - - this._options.timeZone = newZone; - }; - - _proto.dayViewHeaderFormat = function dayViewHeaderFormat(newFormat) { - if (arguments.length === 0) { - return this._options.dayViewHeaderFormat; - } - - if (typeof newFormat !== 'string') { - throw new TypeError('dayViewHeaderFormat() expects a string parameter'); - } - - this._options.dayViewHeaderFormat = newFormat; - }; - - _proto.extraFormats = function extraFormats(formats) { - if (arguments.length === 0) { - return this._options.extraFormats; - } - - if (formats !== false && !(formats instanceof Array)) { - throw new TypeError('extraFormats() expects an array or false parameter'); - } - - this._options.extraFormats = formats; - - if (this.parseFormats) { - this._initFormatting(); // reinit formatting - - } - }; - - _proto.disabledDates = function disabledDates(dates) { - if (arguments.length === 0) { - return this._options.disabledDates ? $.extend({}, this._options.disabledDates) : this._options.disabledDates; - } - - if (!dates) { - this._options.disabledDates = false; - - this._update(); - - return true; - } - - if (!(dates instanceof Array)) { - throw new TypeError('disabledDates() expects an array parameter'); - } - - this._options.disabledDates = this._indexGivenDates(dates); - this._options.enabledDates = false; - - this._update(); - }; - - _proto.enabledDates = function enabledDates(dates) { - if (arguments.length === 0) { - return this._options.enabledDates ? $.extend({}, this._options.enabledDates) : this._options.enabledDates; - } - - if (!dates) { - this._options.enabledDates = false; - - this._update(); - - return true; - } - - if (!(dates instanceof Array)) { - throw new TypeError('enabledDates() expects an array parameter'); - } - - this._options.enabledDates = this._indexGivenDates(dates); - this._options.disabledDates = false; - - this._update(); - }; - - _proto.daysOfWeekDisabled = function daysOfWeekDisabled(_daysOfWeekDisabled) { - if (arguments.length === 0) { - return this._options.daysOfWeekDisabled.splice(0); - } - - if (typeof _daysOfWeekDisabled === 'boolean' && !_daysOfWeekDisabled) { - this._options.daysOfWeekDisabled = false; - - this._update(); - - return true; - } - - if (!(_daysOfWeekDisabled instanceof Array)) { - throw new TypeError('daysOfWeekDisabled() expects an array parameter'); - } - - this._options.daysOfWeekDisabled = _daysOfWeekDisabled.reduce(function (previousValue, currentValue) { - currentValue = parseInt(currentValue, 10); - - if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) { - return previousValue; - } - - if (previousValue.indexOf(currentValue) === -1) { - previousValue.push(currentValue); - } - - return previousValue; - }, []).sort(); - - if (this._options.useCurrent && !this._options.keepInvalid) { - for (var i = 0; i < this._dates.length; i++) { - var tries = 0; - - while (!this._isValid(this._dates[i], 'd')) { - this._dates[i].add(1, 'd'); - - if (tries === 31) { - throw 'Tried 31 times to find a valid date'; - } - - tries++; - } - - this._setValue(this._dates[i], i); - } - } - - this._update(); - }; - - _proto.maxDate = function maxDate(_maxDate) { - if (arguments.length === 0) { - return this._options.maxDate ? this._options.maxDate.clone() : this._options.maxDate; - } - - if (typeof _maxDate === 'boolean' && _maxDate === false) { - this._options.maxDate = false; - - this._update(); - - return true; - } - - if (typeof _maxDate === 'string') { - if (_maxDate === 'now' || _maxDate === 'moment') { - _maxDate = this.getMoment(); - } - } - - var parsedDate = this._parseInputDate(_maxDate); - - if (!parsedDate.isValid()) { - throw new TypeError("maxDate() Could not parse date parameter: " + _maxDate); - } - - if (this._options.minDate && parsedDate.isBefore(this._options.minDate)) { - throw new TypeError("maxDate() date parameter is before this.options.minDate: " + parsedDate.format(this.actualFormat)); - } - - this._options.maxDate = parsedDate; - - for (var i = 0; i < this._dates.length; i++) { - if (this._options.useCurrent && !this._options.keepInvalid && this._dates[i].isAfter(_maxDate)) { - this._setValue(this._options.maxDate, i); - } - } - - if (this._viewDate.isAfter(parsedDate)) { - this._viewDate = parsedDate.clone().subtract(this._options.stepping, 'm'); - } - - this._update(); - }; - - _proto.minDate = function minDate(_minDate) { - if (arguments.length === 0) { - return this._options.minDate ? this._options.minDate.clone() : this._options.minDate; - } - - if (typeof _minDate === 'boolean' && _minDate === false) { - this._options.minDate = false; - - this._update(); - - return true; - } - - if (typeof _minDate === 'string') { - if (_minDate === 'now' || _minDate === 'moment') { - _minDate = this.getMoment(); - } - } - - var parsedDate = this._parseInputDate(_minDate); - - if (!parsedDate.isValid()) { - throw new TypeError("minDate() Could not parse date parameter: " + _minDate); - } - - if (this._options.maxDate && parsedDate.isAfter(this._options.maxDate)) { - throw new TypeError("minDate() date parameter is after this.options.maxDate: " + parsedDate.format(this.actualFormat)); - } - - this._options.minDate = parsedDate; - - for (var i = 0; i < this._dates.length; i++) { - if (this._options.useCurrent && !this._options.keepInvalid && this._dates[i].isBefore(_minDate)) { - this._setValue(this._options.minDate, i); - } - } - - if (this._viewDate.isBefore(parsedDate)) { - this._viewDate = parsedDate.clone().add(this._options.stepping, 'm'); - } - - this._update(); - }; - - _proto.defaultDate = function defaultDate(_defaultDate) { - if (arguments.length === 0) { - return this._options.defaultDate ? this._options.defaultDate.clone() : this._options.defaultDate; - } - - if (!_defaultDate) { - this._options.defaultDate = false; - return true; - } - - if (typeof _defaultDate === 'string') { - if (_defaultDate === 'now' || _defaultDate === 'moment') { - _defaultDate = this.getMoment(); - } else { - _defaultDate = this.getMoment(_defaultDate); - } - } - - var parsedDate = this._parseInputDate(_defaultDate); - - if (!parsedDate.isValid()) { - throw new TypeError("defaultDate() Could not parse date parameter: " + _defaultDate); - } - - if (!this._isValid(parsedDate)) { - throw new TypeError('defaultDate() date passed is invalid according to component setup validations'); - } - - this._options.defaultDate = parsedDate; - - if (this._options.defaultDate && this._options.inline || this.input !== undefined && this.input.val().trim() === '') { - this._setValue(this._options.defaultDate, 0); - } - }; - - _proto.locale = function locale(_locale) { - if (arguments.length === 0) { - return this._options.locale; - } - - if (!moment.localeData(_locale)) { - throw new TypeError("locale() locale " + _locale + " is not loaded from moment locales!"); - } - - this._options.locale = _locale; - - for (var i = 0; i < this._dates.length; i++) { - this._dates[i].locale(this._options.locale); - } - - this._viewDate.locale(this._options.locale); - - if (this.actualFormat) { - this._initFormatting(); // reinitialize formatting - - } - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.stepping = function stepping(_stepping) { - if (arguments.length === 0) { - return this._options.stepping; - } - - _stepping = parseInt(_stepping, 10); - - if (isNaN(_stepping) || _stepping < 1) { - _stepping = 1; - } - - this._options.stepping = _stepping; - }; - - _proto.useCurrent = function useCurrent(_useCurrent) { - var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute']; - - if (arguments.length === 0) { - return this._options.useCurrent; - } - - if (typeof _useCurrent !== 'boolean' && typeof _useCurrent !== 'string') { - throw new TypeError('useCurrent() expects a boolean or string parameter'); - } - - if (typeof _useCurrent === 'string' && useCurrentOptions.indexOf(_useCurrent.toLowerCase()) === -1) { - throw new TypeError("useCurrent() expects a string parameter of " + useCurrentOptions.join(', ')); - } - - this._options.useCurrent = _useCurrent; - }; - - _proto.collapse = function collapse(_collapse) { - if (arguments.length === 0) { - return this._options.collapse; - } - - if (typeof _collapse !== 'boolean') { - throw new TypeError('collapse() expects a boolean parameter'); - } - - if (this._options.collapse === _collapse) { - return true; - } - - this._options.collapse = _collapse; - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.icons = function icons(_icons) { - if (arguments.length === 0) { - return $.extend({}, this._options.icons); - } - - if (!(_icons instanceof Object)) { - throw new TypeError('icons() expects parameter to be an Object'); - } - - $.extend(this._options.icons, _icons); - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.tooltips = function tooltips(_tooltips) { - if (arguments.length === 0) { - return $.extend({}, this._options.tooltips); - } - - if (!(_tooltips instanceof Object)) { - throw new TypeError('tooltips() expects parameter to be an Object'); - } - - $.extend(this._options.tooltips, _tooltips); - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.useStrict = function useStrict(_useStrict) { - if (arguments.length === 0) { - return this._options.useStrict; - } - - if (typeof _useStrict !== 'boolean') { - throw new TypeError('useStrict() expects a boolean parameter'); - } - - this._options.useStrict = _useStrict; - }; - - _proto.sideBySide = function sideBySide(_sideBySide) { - if (arguments.length === 0) { - return this._options.sideBySide; - } - - if (typeof _sideBySide !== 'boolean') { - throw new TypeError('sideBySide() expects a boolean parameter'); - } - - this._options.sideBySide = _sideBySide; - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.viewMode = function viewMode(_viewMode) { - if (arguments.length === 0) { - return this._options.viewMode; - } - - if (typeof _viewMode !== 'string') { - throw new TypeError('viewMode() expects a string parameter'); - } - - if (DateTimePicker.ViewModes.indexOf(_viewMode) === -1) { - throw new TypeError("viewMode() parameter must be one of (" + DateTimePicker.ViewModes.join(', ') + ") value"); - } - - this._options.viewMode = _viewMode; - this.currentViewMode = Math.max(DateTimePicker.ViewModes.indexOf(_viewMode) - 1, this.MinViewModeNumber); - - this._showMode(); - }; - - _proto.calendarWeeks = function calendarWeeks(_calendarWeeks) { - if (arguments.length === 0) { - return this._options.calendarWeeks; - } - - if (typeof _calendarWeeks !== 'boolean') { - throw new TypeError('calendarWeeks() expects parameter to be a boolean value'); - } - - this._options.calendarWeeks = _calendarWeeks; - - this._update(); - }; - - _proto.buttons = function buttons(_buttons) { - if (arguments.length === 0) { - return $.extend({}, this._options.buttons); - } - - if (!(_buttons instanceof Object)) { - throw new TypeError('buttons() expects parameter to be an Object'); - } - - $.extend(this._options.buttons, _buttons); - - if (typeof this._options.buttons.showToday !== 'boolean') { - throw new TypeError('buttons.showToday expects a boolean parameter'); - } - - if (typeof this._options.buttons.showClear !== 'boolean') { - throw new TypeError('buttons.showClear expects a boolean parameter'); - } - - if (typeof this._options.buttons.showClose !== 'boolean') { - throw new TypeError('buttons.showClose expects a boolean parameter'); - } - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto.keepOpen = function keepOpen(_keepOpen) { - if (arguments.length === 0) { - return this._options.keepOpen; - } - - if (typeof _keepOpen !== 'boolean') { - throw new TypeError('keepOpen() expects a boolean parameter'); - } - - this._options.keepOpen = _keepOpen; - }; - - _proto.focusOnShow = function focusOnShow(_focusOnShow) { - if (arguments.length === 0) { - return this._options.focusOnShow; - } - - if (typeof _focusOnShow !== 'boolean') { - throw new TypeError('focusOnShow() expects a boolean parameter'); - } - - this._options.focusOnShow = _focusOnShow; - }; - - _proto.inline = function inline(_inline) { - if (arguments.length === 0) { - return this._options.inline; - } - - if (typeof _inline !== 'boolean') { - throw new TypeError('inline() expects a boolean parameter'); - } - - this._options.inline = _inline; - }; - - _proto.clear = function clear() { - this._setValue(null); //todo - - }; - - _proto.keyBinds = function keyBinds(_keyBinds) { - if (arguments.length === 0) { - return this._options.keyBinds; - } - - this._options.keyBinds = _keyBinds; - }; - - _proto.debug = function debug(_debug) { - if (typeof _debug !== 'boolean') { - throw new TypeError('debug() expects a boolean parameter'); - } - - this._options.debug = _debug; - }; - - _proto.allowInputToggle = function allowInputToggle(_allowInputToggle) { - if (arguments.length === 0) { - return this._options.allowInputToggle; - } - - if (typeof _allowInputToggle !== 'boolean') { - throw new TypeError('allowInputToggle() expects a boolean parameter'); - } - - this._options.allowInputToggle = _allowInputToggle; - }; - - _proto.keepInvalid = function keepInvalid(_keepInvalid) { - if (arguments.length === 0) { - return this._options.keepInvalid; - } - - if (typeof _keepInvalid !== 'boolean') { - throw new TypeError('keepInvalid() expects a boolean parameter'); - } - - this._options.keepInvalid = _keepInvalid; - }; - - _proto.datepickerInput = function datepickerInput(_datepickerInput) { - if (arguments.length === 0) { - return this._options.datepickerInput; - } - - if (typeof _datepickerInput !== 'string') { - throw new TypeError('datepickerInput() expects a string parameter'); - } - - this._options.datepickerInput = _datepickerInput; - }; - - _proto.parseInputDate = function parseInputDate(_parseInputDate2) { - if (arguments.length === 0) { - return this._options.parseInputDate; - } - - if (typeof _parseInputDate2 !== 'function') { - throw new TypeError('parseInputDate() should be as function'); - } - - this._options.parseInputDate = _parseInputDate2; - }; - - _proto.disabledTimeIntervals = function disabledTimeIntervals(_disabledTimeIntervals) { - if (arguments.length === 0) { - return this._options.disabledTimeIntervals ? $.extend({}, this._options.disabledTimeIntervals) : this._options.disabledTimeIntervals; - } - - if (!_disabledTimeIntervals) { - this._options.disabledTimeIntervals = false; - - this._update(); - - return true; - } - - if (!(_disabledTimeIntervals instanceof Array)) { - throw new TypeError('disabledTimeIntervals() expects an array parameter'); - } - - this._options.disabledTimeIntervals = _disabledTimeIntervals; - - this._update(); - }; - - _proto.disabledHours = function disabledHours(hours) { - if (arguments.length === 0) { - return this._options.disabledHours ? $.extend({}, this._options.disabledHours) : this._options.disabledHours; - } - - if (!hours) { - this._options.disabledHours = false; - - this._update(); - - return true; - } - - if (!(hours instanceof Array)) { - throw new TypeError('disabledHours() expects an array parameter'); - } - - this._options.disabledHours = this._indexGivenHours(hours); - this._options.enabledHours = false; - - if (this._options.useCurrent && !this._options.keepInvalid) { - for (var i = 0; i < this._dates.length; i++) { - var tries = 0; - - while (!this._isValid(this._dates[i], 'h')) { - this._dates[i].add(1, 'h'); - - if (tries === 24) { - throw 'Tried 24 times to find a valid date'; - } - - tries++; - } - - this._setValue(this._dates[i], i); - } - } - - this._update(); - }; - - _proto.enabledHours = function enabledHours(hours) { - if (arguments.length === 0) { - return this._options.enabledHours ? $.extend({}, this._options.enabledHours) : this._options.enabledHours; - } - - if (!hours) { - this._options.enabledHours = false; - - this._update(); - - return true; - } - - if (!(hours instanceof Array)) { - throw new TypeError('enabledHours() expects an array parameter'); - } - - this._options.enabledHours = this._indexGivenHours(hours); - this._options.disabledHours = false; - - if (this._options.useCurrent && !this._options.keepInvalid) { - for (var i = 0; i < this._dates.length; i++) { - var tries = 0; - - while (!this._isValid(this._dates[i], 'h')) { - this._dates[i].add(1, 'h'); - - if (tries === 24) { - throw 'Tried 24 times to find a valid date'; - } - - tries++; - } - - this._setValue(this._dates[i], i); - } - } - - this._update(); - }; - - _proto.viewDate = function viewDate(newDate) { - if (arguments.length === 0) { - return this._viewDate.clone(); - } - - if (!newDate) { - this._viewDate = (this._dates[0] || this.getMoment()).clone(); - return true; - } - - if (typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { - throw new TypeError('viewDate() parameter must be one of [string, moment or Date]'); - } - - this._viewDate = this._parseInputDate(newDate); - - this._update(); - - this._viewUpdate(DatePickerModes[this.currentViewMode] && DatePickerModes[this.currentViewMode].NAV_FUNCTION); - }; - - _proto._fillDate = function _fillDate() {}; - - _proto._useFeatherIcons = function _useFeatherIcons() { - return this._options.icons.type === 'feather'; - }; - - _proto.allowMultidate = function allowMultidate(_allowMultidate) { - if (typeof _allowMultidate !== 'boolean') { - throw new TypeError('allowMultidate() expects a boolean parameter'); - } - - this._options.allowMultidate = _allowMultidate; - }; - - _proto.multidateSeparator = function multidateSeparator(_multidateSeparator) { - if (arguments.length === 0) { - return this._options.multidateSeparator; - } - - if (typeof _multidateSeparator !== 'string') { - throw new TypeError('multidateSeparator expects a string parameter'); - } - - this._options.multidateSeparator = _multidateSeparator; - }; - - _createClass(DateTimePicker, null, [{ - key: "NAME", - get: function get() { - return NAME; - } - /** - * @return {string} - */ - - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY; - } - /** - * @return {string} - */ - - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY; - } - /** - * @return {string} - */ - - }, { - key: "DATA_API_KEY", - get: function get() { - return DATA_API_KEY; - } - }, { - key: "DatePickerModes", - get: function get() { - return DatePickerModes; - } - }, { - key: "ViewModes", - get: function get() { - return ViewModes; - } - }, { - key: "Event", - get: function get() { - return Event; - } - }, { - key: "Selector", - get: function get() { - return Selector; - } - }, { - key: "Default", - get: function get() { - return Default; - }, - set: function set(value) { - Default = value; - } - }, { - key: "ClassName", - get: function get() { - return ClassName; - } - }]); - - return DateTimePicker; - }(); - - return DateTimePicker; -}(jQuery, moment); //noinspection JSUnusedGlobalSymbols - -/* global DateTimePicker */ - -/* global feather */ - - -var TempusDominusBootstrap4 = function ($) { - // eslint-disable-line no-unused-vars - // ReSharper disable once InconsistentNaming - var JQUERY_NO_CONFLICT = $.fn[DateTimePicker.NAME], - verticalModes = ['top', 'bottom', 'auto'], - horizontalModes = ['left', 'right', 'auto'], - toolbarPlacements = ['default', 'top', 'bottom'], - getSelectorFromElement = function getSelectorFromElement($element) { - var selector = $element.data('target'), - $selector; - - if (!selector) { - selector = $element.attr('href') || ''; - selector = /^#[a-z]/i.test(selector) ? selector : null; - } - - $selector = $(selector); - - if ($selector.length === 0) { - return $element; - } - - if (!$selector.data(DateTimePicker.DATA_KEY)) { - $.extend({}, $selector.data(), $(this).data()); - } - - return $selector; - }; // ReSharper disable once InconsistentNaming - - - var TempusDominusBootstrap4 = /*#__PURE__*/function (_DateTimePicker) { - _inheritsLoose(TempusDominusBootstrap4, _DateTimePicker); - - function TempusDominusBootstrap4(element, options) { - var _this; - - _this = _DateTimePicker.call(this, element, options) || this; - - _this._init(); - - return _this; - } - - var _proto2 = TempusDominusBootstrap4.prototype; - - _proto2._init = function _init() { - if (this._element.hasClass('input-group')) { - var datepickerButton = this._element.find('.datepickerbutton'); - - if (datepickerButton.length === 0) { - this.component = this._element.find('[data-toggle="datetimepicker"]'); - } else { - this.component = datepickerButton; - } - } - }; - - _proto2._iconTag = function _iconTag(iconName) { - if (typeof feather !== 'undefined' && this._useFeatherIcons() && feather.icons[iconName]) { - return $('').html(feather.icons[iconName].toSvg()); - } else { - return $('').addClass(iconName); - } - }; - - _proto2._getDatePickerTemplate = function _getDatePickerTemplate() { - var headTemplate = $('').append($('').append($('').addClass('prev').attr('data-action', 'previous').append(this._iconTag(this._options.icons.previous))).append($('').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', "" + (this._options.calendarWeeks ? '6' : '5'))).append($('').addClass('next').attr('data-action', 'next').append(this._iconTag(this._options.icons.next)))), - contTemplate = $('').append($('').append($('').attr('colspan', "" + (this._options.calendarWeeks ? '8' : '7')))); - return [$('
').addClass('datepicker-days').append($('').addClass('table table-sm').append(headTemplate).append($(''))), $('
').addClass('datepicker-months').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('
').addClass('datepicker-years').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('
').addClass('datepicker-decades').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone()))]; - }; - - _proto2._getTimePickerMainTemplate = function _getTimePickerMainTemplate() { - var topRow = $(''), - middleRow = $(''), - bottomRow = $(''); - - if (this._isEnabled('h')) { - topRow.append($('
').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.incrementHour - }).addClass('btn').attr('data-action', 'incrementHours').append(this._iconTag(this._options.icons.up)))); - middleRow.append($('').append($('').addClass('timepicker-hour').attr({ - 'data-time-component': 'hours', - 'title': this._options.tooltips.pickHour - }).attr('data-action', 'showHours'))); - bottomRow.append($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.decrementHour - }).addClass('btn').attr('data-action', 'decrementHours').append(this._iconTag(this._options.icons.down)))); - } - - if (this._isEnabled('m')) { - if (this._isEnabled('h')) { - topRow.append($('').addClass('separator')); - middleRow.append($('').addClass('separator').html(':')); - bottomRow.append($('').addClass('separator')); - } - - topRow.append($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.incrementMinute - }).addClass('btn').attr('data-action', 'incrementMinutes').append(this._iconTag(this._options.icons.up)))); - middleRow.append($('').append($('').addClass('timepicker-minute').attr({ - 'data-time-component': 'minutes', - 'title': this._options.tooltips.pickMinute - }).attr('data-action', 'showMinutes'))); - bottomRow.append($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.decrementMinute - }).addClass('btn').attr('data-action', 'decrementMinutes').append(this._iconTag(this._options.icons.down)))); - } - - if (this._isEnabled('s')) { - if (this._isEnabled('m')) { - topRow.append($('').addClass('separator')); - middleRow.append($('').addClass('separator').html(':')); - bottomRow.append($('').addClass('separator')); - } - - topRow.append($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.incrementSecond - }).addClass('btn').attr('data-action', 'incrementSeconds').append(this._iconTag(this._options.icons.up)))); - middleRow.append($('').append($('').addClass('timepicker-second').attr({ - 'data-time-component': 'seconds', - 'title': this._options.tooltips.pickSecond - }).attr('data-action', 'showSeconds'))); - bottomRow.append($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'title': this._options.tooltips.decrementSecond - }).addClass('btn').attr('data-action', 'decrementSeconds').append(this._iconTag(this._options.icons.down)))); - } - - if (!this.use24Hours) { - topRow.append($('').addClass('separator')); - middleRow.append($('').append($('').addClass('separator')); - } - - return $('
').addClass('timepicker-picker').append($('').addClass('table-condensed').append([topRow, middleRow, bottomRow])); - }; - - _proto2._getTimePickerTemplate = function _getTimePickerTemplate() { - var hoursView = $('
').addClass('timepicker-hours').append($('
').addClass('table-condensed')), - minutesView = $('
').addClass('timepicker-minutes').append($('
').addClass('table-condensed')), - secondsView = $('
').addClass('timepicker-seconds').append($('
').addClass('table-condensed')), - ret = [this._getTimePickerMainTemplate()]; - - if (this._isEnabled('h')) { - ret.push(hoursView); - } - - if (this._isEnabled('m')) { - ret.push(minutesView); - } - - if (this._isEnabled('s')) { - ret.push(secondsView); - } - - return ret; - }; - - _proto2._getToolbar = function _getToolbar() { - var row = []; - - if (this._options.buttons.showToday) { - row.push($('
').append($('').attr({ - href: '#', - tabindex: '-1', - 'data-action': 'today', - 'title': this._options.tooltips.today - }).append(this._iconTag(this._options.icons.today)))); - } - - if (!this._options.sideBySide && this._options.collapse && this._hasDate() && this._hasTime()) { - var title, icon; - - if (this._options.viewMode === 'times') { - title = this._options.tooltips.selectDate; - icon = this._options.icons.date; - } else { - title = this._options.tooltips.selectTime; - icon = this._options.icons.time; - } - - row.push($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'data-action': 'togglePicker', - 'title': title - }).append(this._iconTag(icon)))); - } - - if (this._options.buttons.showClear) { - row.push($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'data-action': 'clear', - 'title': this._options.tooltips.clear - }).append(this._iconTag(this._options.icons.clear)))); - } - - if (this._options.buttons.showClose) { - row.push($('').append($('').attr({ - href: '#', - tabindex: '-1', - 'data-action': 'close', - 'title': this._options.tooltips.close - }).append(this._iconTag(this._options.icons.close)))); - } - - return row.length === 0 ? '' : $('').addClass('table-condensed').append($('').append($('').append(row))); - }; - - _proto2._getTemplate = function _getTemplate() { - var template = $('
').addClass(("bootstrap-datetimepicker-widget dropdown-menu " + (this._options.calendarWeeks ? 'tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks' : '') + " " + ((this._useFeatherIcons() ? 'tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons' : '') + " ")).trim()), - dateView = $('
').addClass('datepicker').append(this._getDatePickerTemplate()), - timeView = $('
').addClass('timepicker').append(this._getTimePickerTemplate()), - content = $('
    ').addClass('list-unstyled'), - toolbar = $('
  • ').addClass(("picker-switch" + (this._options.collapse ? ' accordion-toggle' : '') + " " + ("" + (this._useFeatherIcons() ? 'picker-switch-with-feathers-icons' : ''))).trim()).append(this._getToolbar()); - - if (this._options.inline) { - template.removeClass('dropdown-menu'); - } - - if (this.use24Hours) { - template.addClass('usetwentyfour'); - } - - if (this.input !== undefined && this.input.prop('readonly') || this._options.readonly) { - template.addClass('bootstrap-datetimepicker-widget-readonly'); - } - - if (this._isEnabled('s') && !this.use24Hours) { - template.addClass('wider'); - } - - if (this._options.sideBySide && this._hasDate() && this._hasTime()) { - template.addClass('timepicker-sbs'); - - if (this._options.toolbarPlacement === 'top') { - template.append(toolbar); - } - - template.append($('
    ').addClass('row').append(dateView.addClass('col-md-6')).append(timeView.addClass('col-md-6'))); - - if (this._options.toolbarPlacement === 'bottom' || this._options.toolbarPlacement === 'default') { - template.append(toolbar); - } - - return template; - } - - if (this._options.toolbarPlacement === 'top') { - content.append(toolbar); - } - - if (this._hasDate()) { - content.append($('
  • ').addClass(this._options.collapse && this._hasTime() ? 'collapse' : '').addClass(this._options.collapse && this._hasTime() && this._options.viewMode === 'times' ? '' : 'show').append(dateView)); - } - - if (this._options.toolbarPlacement === 'default') { - content.append(toolbar); - } - - if (this._hasTime()) { - content.append($('
  • ').addClass(this._options.collapse && this._hasDate() ? 'collapse' : '').addClass(this._options.collapse && this._hasDate() && this._options.viewMode === 'times' ? 'show' : '').append(timeView)); - } - - if (this._options.toolbarPlacement === 'bottom') { - content.append(toolbar); - } - - return template.append(content); - }; - - _proto2._place = function _place(e) { - var self = e && e.data && e.data.picker || this, - vertical = self._options.widgetPositioning.vertical, - horizontal = self._options.widgetPositioning.horizontal, - parent; - var position = (self.component && self.component.length ? self.component : self._element).position(), - offset = (self.component && self.component.length ? self.component : self._element).offset(); - - if (self._options.widgetParent) { - parent = self._options.widgetParent.append(self.widget); - } else if (self._element.is('input')) { - parent = self._element.after(self.widget).parent(); - } else if (self._options.inline) { - parent = self._element.append(self.widget); - return; - } else { - parent = self._element; - - self._element.children().first().after(self.widget); - } // Top and bottom logic - - - if (vertical === 'auto') { - //noinspection JSValidateTypes - if (offset.top + self.widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() && self.widget.height() + self._element.outerHeight() < offset.top) { - vertical = 'top'; - } else { - vertical = 'bottom'; - } - } // Left and right logic - - - if (horizontal === 'auto') { - if (parent.width() < offset.left + self.widget.outerWidth() / 2 && offset.left + self.widget.outerWidth() > $(window).width()) { - horizontal = 'right'; - } else { - horizontal = 'left'; - } - } - - if (vertical === 'top') { - self.widget.addClass('top').removeClass('bottom'); - } else { - self.widget.addClass('bottom').removeClass('top'); - } - - if (horizontal === 'right') { - self.widget.addClass('float-right'); - } else { - self.widget.removeClass('float-right'); - } // find the first parent element that has a relative css positioning - - - if (parent.css('position') !== 'relative') { - parent = parent.parents().filter(function () { - return $(this).css('position') === 'relative'; - }).first(); - } - - if (parent.length === 0) { - throw new Error('datetimepicker component should be placed within a relative positioned container'); - } - - self.widget.css({ - top: vertical === 'top' ? 'auto' : position.top + self._element.outerHeight() + 'px', - bottom: vertical === 'top' ? parent.outerHeight() - (parent === self._element ? 0 : position.top) + 'px' : 'auto', - left: horizontal === 'left' ? (parent === self._element ? 0 : position.left) + 'px' : 'auto', - right: horizontal === 'left' ? 'auto' : parent.outerWidth() - self._element.outerWidth() - (parent === self._element ? 0 : position.left) + 'px' - }); - }; - - _proto2._fillDow = function _fillDow() { - var row = $('
'), - currentDate = this._viewDate.clone().startOf('w').startOf('d'); - - if (this._options.calendarWeeks === true) { - row.append($(''); - - if (this._options.calendarWeeks) { - row.append(""); - } - - html.push(row); - } - - clsName = ''; - - if (currentDate.isBefore(this._viewDate, 'M')) { - clsName += ' old'; - } - - if (currentDate.isAfter(this._viewDate, 'M')) { - clsName += ' new'; - } - - if (this._options.allowMultidate) { - var index = this._datesFormatted.indexOf(currentDate.format('YYYY-MM-DD')); - - if (index !== -1) { - if (currentDate.isSame(this._datesFormatted[index], 'd') && !this.unset) { - clsName += ' active'; - } - } - } else { - if (currentDate.isSame(this._getLastPickedDate(), 'd') && !this.unset) { - clsName += ' active'; - } - } - - if (!this._isValid(currentDate, 'd')) { - clsName += ' disabled'; - } - - if (currentDate.isSame(this.getMoment(), 'd')) { - clsName += ' today'; - } - - if (currentDate.day() === 0 || currentDate.day() === 6) { - clsName += ' weekend'; - } - - row.append(""); - currentDate.add(1, 'd'); - } - - $('body').addClass('tempusdominus-bootstrap-datetimepicker-widget-day-click'); - $('body').append('
'); - daysView.find('tbody').empty().append(html); - $('body').find('.tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel').remove(); - $('body').removeClass('tempusdominus-bootstrap-datetimepicker-widget-day-click'); - - this._updateMonths(); - - this._updateYears(); - - this._updateDecades(); - }; - - _proto2._fillHours = function _fillHours() { - var table = this.widget.find('.timepicker-hours table'), - currentHour = this._viewDate.clone().startOf('d'), - html = []; - - var row = $(''); - - if (this._viewDate.hour() > 11 && !this.use24Hours) { - currentHour.hour(12); - } - - while (currentHour.isSame(this._viewDate, 'd') && (this.use24Hours || this._viewDate.hour() < 12 && currentHour.hour() < 12 || this._viewDate.hour() > 11)) { - if (currentHour.hour() % 4 === 0) { - row = $(''); - html.push(row); - } - - row.append(""); - currentHour.add(1, 'h'); - } - - table.empty().append(html); - }; - - _proto2._fillMinutes = function _fillMinutes() { - var table = this.widget.find('.timepicker-minutes table'), - currentMinute = this._viewDate.clone().startOf('h'), - html = [], - step = this._options.stepping === 1 ? 5 : this._options.stepping; - - var row = $(''); - - while (this._viewDate.isSame(currentMinute, 'h')) { - if (currentMinute.minute() % (step * 4) === 0) { - row = $(''); - html.push(row); - } - - row.append(""); - currentMinute.add(step, 'm'); - } - - table.empty().append(html); - }; - - _proto2._fillSeconds = function _fillSeconds() { - var table = this.widget.find('.timepicker-seconds table'), - currentSecond = this._viewDate.clone().startOf('m'), - html = []; - - var row = $(''); - - while (this._viewDate.isSame(currentSecond, 'm')) { - if (currentSecond.second() % 20 === 0) { - row = $(''); - html.push(row); - } - - row.append(""); - currentSecond.add(5, 's'); - } - - table.empty().append(html); - }; - - _proto2._fillTime = function _fillTime() { - var toggle, newDate; - - var timeComponents = this.widget.find('.timepicker span[data-time-component]'), - lastPickedDate = this._getLastPickedDate(); - - if (!this.use24Hours) { - toggle = this.widget.find('.timepicker [data-action=togglePeriod]'); - newDate = lastPickedDate ? lastPickedDate.clone().add(lastPickedDate.hours() >= 12 ? -12 : 12, 'h') : void 0; - lastPickedDate && toggle.text(lastPickedDate.format('A')); - - if (this._isValid(newDate, 'h')) { - toggle.removeClass('disabled'); - } else { - toggle.addClass('disabled'); - } - } - - lastPickedDate && timeComponents.filter('[data-time-component=hours]').text(lastPickedDate.format("" + (this.use24Hours ? 'HH' : 'hh'))); - lastPickedDate && timeComponents.filter('[data-time-component=minutes]').text(lastPickedDate.format('mm')); - lastPickedDate && timeComponents.filter('[data-time-component=seconds]').text(lastPickedDate.format('ss')); - - this._fillHours(); - - this._fillMinutes(); - - this._fillSeconds(); - }; - - _proto2._doAction = function _doAction(e, action) { - var lastPicked = this._getLastPickedDate(); - - if ($(e.currentTarget).is('.disabled')) { - return false; - } - - action = action || $(e.currentTarget).data('action'); - - switch (action) { - case 'next': - { - var navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION; - - this._viewDate.add(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, navFnc); - - this._fillDate(); - - this._viewUpdate(navFnc); - - break; - } - - case 'previous': - { - var _navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION; - - this._viewDate.subtract(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, _navFnc); - - this._fillDate(); - - this._viewUpdate(_navFnc); - - break; - } - - case 'pickerSwitch': - this._showMode(1); - - break; - - case 'selectMonth': - { - var month = $(e.target).closest('tbody').find('span').index($(e.target)); - - this._viewDate.month(month); - - if (this.currentViewMode === this.MinViewModeNumber) { - this._setValue(lastPicked.clone().year(this._viewDate.year()).month(this._viewDate.month()), this._getLastPickedDateIndex()); - - if (!this._options.inline) { - this.hide(); - } - } else { - this._showMode(-1); - - this._fillDate(); - } - - this._viewUpdate('M'); - - break; - } - - case 'selectYear': - { - var year = parseInt($(e.target).text(), 10) || 0; - - this._viewDate.year(year); - - if (this.currentViewMode === this.MinViewModeNumber) { - this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex()); - - if (!this._options.inline) { - this.hide(); - } - } else { - this._showMode(-1); - - this._fillDate(); - } - - this._viewUpdate('YYYY'); - - break; - } - - case 'selectDecade': - { - var _year = parseInt($(e.target).data('selection'), 10) || 0; - - this._viewDate.year(_year); - - if (this.currentViewMode === this.MinViewModeNumber) { - this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex()); - - if (!this._options.inline) { - this.hide(); - } - } else { - this._showMode(-1); - - this._fillDate(); - } - - this._viewUpdate('YYYY'); - - break; - } - - case 'selectDay': - { - var day = this._viewDate.clone(); - - if ($(e.target).is('.old')) { - day.subtract(1, 'M'); - } - - if ($(e.target).is('.new')) { - day.add(1, 'M'); - } - - var selectDate = day.date(parseInt($(e.target).text(), 10)), - index = 0; - - if (this._options.allowMultidate) { - index = this._datesFormatted.indexOf(selectDate.format('YYYY-MM-DD')); - - if (index !== -1) { - this._setValue(null, index); //deselect multidate - - } else { - this._setValue(selectDate, this._getLastPickedDateIndex() + 1); - } - } else { - this._setValue(selectDate, this._getLastPickedDateIndex()); - } - - if (!this._hasTime() && !this._options.keepOpen && !this._options.inline && !this._options.allowMultidate) { - this.hide(); - } - - break; - } - - case 'incrementHours': - { - if (!lastPicked) { - break; - } - - var newDate = lastPicked.clone().add(1, 'h'); - - if (this._isValid(newDate, 'h')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(newDate); - } - - this._setValue(newDate, this._getLastPickedDateIndex()); - } - - break; - } - - case 'incrementMinutes': - { - if (!lastPicked) { - break; - } - - var _newDate = lastPicked.clone().add(this._options.stepping, 'm'); - - if (this._isValid(_newDate, 'm')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(_newDate); - } - - this._setValue(_newDate, this._getLastPickedDateIndex()); - } - - break; - } - - case 'incrementSeconds': - { - if (!lastPicked) { - break; - } - - var _newDate2 = lastPicked.clone().add(1, 's'); - - if (this._isValid(_newDate2, 's')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(_newDate2); - } - - this._setValue(_newDate2, this._getLastPickedDateIndex()); - } - - break; - } - - case 'decrementHours': - { - if (!lastPicked) { - break; - } - - var _newDate3 = lastPicked.clone().subtract(1, 'h'); - - if (this._isValid(_newDate3, 'h')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(_newDate3); - } - - this._setValue(_newDate3, this._getLastPickedDateIndex()); - } - - break; - } - - case 'decrementMinutes': - { - if (!lastPicked) { - break; - } - - var _newDate4 = lastPicked.clone().subtract(this._options.stepping, 'm'); - - if (this._isValid(_newDate4, 'm')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(_newDate4); - } - - this._setValue(_newDate4, this._getLastPickedDateIndex()); - } - - break; - } - - case 'decrementSeconds': - { - if (!lastPicked) { - break; - } - - var _newDate5 = lastPicked.clone().subtract(1, 's'); - - if (this._isValid(_newDate5, 's')) { - if (this._getLastPickedDateIndex() < 0) { - this.date(_newDate5); - } - - this._setValue(_newDate5, this._getLastPickedDateIndex()); - } - - break; - } - - case 'togglePeriod': - { - this._setValue(lastPicked.clone().add(lastPicked.hours() >= 12 ? -12 : 12, 'h'), this._getLastPickedDateIndex()); - - break; - } - - case 'togglePicker': - { - var $this = $(e.target), - $link = $this.closest('a'), - $parent = $this.closest('ul'), - expanded = $parent.find('.show'), - closed = $parent.find('.collapse:not(.show)'), - $span = $this.is('span') ? $this : $this.find('span'); - var collapseData, inactiveIcon, iconTest; - - if (expanded && expanded.length) { - collapseData = expanded.data('collapse'); - - if (collapseData && collapseData.transitioning) { - return true; - } - - if (expanded.collapse) { - // if collapse plugin is available through bootstrap.js then use it - expanded.collapse('hide'); - closed.collapse('show'); - } else { - // otherwise just toggle in class on the two views - expanded.removeClass('show'); - closed.addClass('show'); - } - - if (this._useFeatherIcons()) { - $link.toggleClass(this._options.icons.time + ' ' + this._options.icons.date); - inactiveIcon = $link.hasClass(this._options.icons.time) ? this._options.icons.date : this._options.icons.time; - $link.html(this._iconTag(inactiveIcon)); - } else { - $span.toggleClass(this._options.icons.time + ' ' + this._options.icons.date); - } - - if (this._useFeatherIcons()) { - iconTest = $link.hasClass(this._options.icons.date); - } else { - iconTest = $span.hasClass(this._options.icons.date); - } - - if (iconTest) { - $link.attr('title', this._options.tooltips.selectDate); - } else { - $link.attr('title', this._options.tooltips.selectTime); - } - } - } - break; - - case 'showPicker': - this.widget.find('.timepicker > div:not(.timepicker-picker)').hide(); - this.widget.find('.timepicker .timepicker-picker').show(); - break; - - case 'showHours': - this.widget.find('.timepicker .timepicker-picker').hide(); - this.widget.find('.timepicker .timepicker-hours').show(); - break; - - case 'showMinutes': - this.widget.find('.timepicker .timepicker-picker').hide(); - this.widget.find('.timepicker .timepicker-minutes').show(); - break; - - case 'showSeconds': - this.widget.find('.timepicker .timepicker-picker').hide(); - this.widget.find('.timepicker .timepicker-seconds').show(); - break; - - case 'selectHour': - { - var hour = parseInt($(e.target).text(), 10); - - if (!this.use24Hours) { - if (lastPicked.hours() >= 12) { - if (hour !== 12) { - hour += 12; - } - } else { - if (hour === 12) { - hour = 0; - } - } - } - - this._setValue(lastPicked.clone().hours(hour), this._getLastPickedDateIndex()); - - if (!this._isEnabled('a') && !this._isEnabled('m') && !this._options.keepOpen && !this._options.inline) { - this.hide(); - } else { - this._doAction(e, 'showPicker'); - } - - break; - } - - case 'selectMinute': - this._setValue(lastPicked.clone().minutes(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex()); - - if (!this._isEnabled('a') && !this._isEnabled('s') && !this._options.keepOpen && !this._options.inline) { - this.hide(); - } else { - this._doAction(e, 'showPicker'); - } - - break; - - case 'selectSecond': - this._setValue(lastPicked.clone().seconds(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex()); - - if (!this._isEnabled('a') && !this._options.keepOpen && !this._options.inline) { - this.hide(); - } else { - this._doAction(e, 'showPicker'); - } - - break; - - case 'clear': - this.clear(); - break; - - case 'close': - this.hide(); - break; - - case 'today': - { - var todaysDate = this.getMoment(); - - if (this._isValid(todaysDate, 'd')) { - this._setValue(todaysDate, this._getLastPickedDateIndex()); - } - - break; - } - } - - return false; - } //public - ; - - _proto2.hide = function hide() { - var transitioning = false; - - if (!this.widget) { - return; - } // Ignore event if in the middle of a picker transition - - - this.widget.find('.collapse').each(function () { - var collapseData = $(this).data('collapse'); - - if (collapseData && collapseData.transitioning) { - transitioning = true; - return false; - } - - return true; - }); - - if (transitioning) { - return; - } - - if (this.component && this.component.hasClass('btn')) { - this.component.toggleClass('active'); - } - - this.widget.hide(); - $(window).off('resize', this._place); - this.widget.off('click', '[data-action]'); - this.widget.off('mousedown', false); - this.widget.remove(); - this.widget = false; - - if (this.input !== undefined && this.input.val() !== undefined && this.input.val().trim().length !== 0) { - this._setValue(this._parseInputDate(this.input.val().trim(), { - isPickerShow: false - }), 0); - } - - var lastPickedDate = this._getLastPickedDate(); - - this._notifyEvent({ - type: DateTimePicker.Event.HIDE, - date: this.unset ? null : lastPickedDate ? lastPickedDate.clone() : void 0 - }); - - if (this.input !== undefined) { - this.input.blur(); - } - - this._viewDate = lastPickedDate ? lastPickedDate.clone() : this.getMoment(); - }; - - _proto2.show = function show() { - var currentMoment, - shouldUseCurrentIfUnset = false; - var useCurrentGranularity = { - 'year': function year(m) { - return m.month(0).date(1).hours(0).seconds(0).minutes(0); - }, - 'month': function month(m) { - return m.date(1).hours(0).seconds(0).minutes(0); - }, - 'day': function day(m) { - return m.hours(0).seconds(0).minutes(0); - }, - 'hour': function hour(m) { - return m.seconds(0).minutes(0); - }, - 'minute': function minute(m) { - return m.seconds(0); - } - }; - - if (this.input !== undefined) { - if (this.input.prop('disabled') || !this._options.ignoreReadonly && this.input.prop('readonly') || this.widget) { - return; - } - - if (this.input.val() !== undefined && this.input.val().trim().length !== 0) { - this._setValue(this._parseInputDate(this.input.val().trim(), { - isPickerShow: true - }), 0); - } else { - shouldUseCurrentIfUnset = true; - } - } else { - shouldUseCurrentIfUnset = true; - } - - if (shouldUseCurrentIfUnset && this.unset && this._options.useCurrent) { - currentMoment = this.getMoment(); - - if (typeof this._options.useCurrent === 'string') { - currentMoment = useCurrentGranularity[this._options.useCurrent](currentMoment); - } - - this._setValue(currentMoment, 0); - } - - this.widget = this._getTemplate(); - - this._fillDow(); - - this._fillMonths(); - - this.widget.find('.timepicker-hours').hide(); - this.widget.find('.timepicker-minutes').hide(); - this.widget.find('.timepicker-seconds').hide(); - - this._update(); - - this._showMode(); - - $(window).on('resize', { - picker: this - }, this._place); - this.widget.on('click', '[data-action]', $.proxy(this._doAction, this)); // this handles clicks on the widget - - this.widget.on('mousedown', false); - - if (this.component && this.component.hasClass('btn')) { - this.component.toggleClass('active'); - } - - this._place(); - - this.widget.show(); - - if (this.input !== undefined && this._options.focusOnShow && !this.input.is(':focus')) { - this.input.focus(); - } - - this._notifyEvent({ - type: DateTimePicker.Event.SHOW - }); - }; - - _proto2.destroy = function destroy() { - this.hide(); //todo doc off? - - this._element.removeData(DateTimePicker.DATA_KEY); - - this._element.removeData('date'); - }; - - _proto2.disable = function disable() { - this.hide(); - - if (this.component && this.component.hasClass('btn')) { - this.component.addClass('disabled'); - } - - if (this.input !== undefined) { - this.input.prop('disabled', true); //todo disable this/comp if input is null - } - }; - - _proto2.enable = function enable() { - if (this.component && this.component.hasClass('btn')) { - this.component.removeClass('disabled'); - } - - if (this.input !== undefined) { - this.input.prop('disabled', false); //todo enable comp/this if input is null - } - }; - - _proto2.toolbarPlacement = function toolbarPlacement(_toolbarPlacement) { - if (arguments.length === 0) { - return this._options.toolbarPlacement; - } - - if (typeof _toolbarPlacement !== 'string') { - throw new TypeError('toolbarPlacement() expects a string parameter'); - } - - if (toolbarPlacements.indexOf(_toolbarPlacement) === -1) { - throw new TypeError("toolbarPlacement() parameter must be one of (" + toolbarPlacements.join(', ') + ") value"); - } - - this._options.toolbarPlacement = _toolbarPlacement; - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto2.widgetPositioning = function widgetPositioning(_widgetPositioning) { - if (arguments.length === 0) { - return $.extend({}, this._options.widgetPositioning); - } - - if ({}.toString.call(_widgetPositioning) !== '[object Object]') { - throw new TypeError('widgetPositioning() expects an object variable'); - } - - if (_widgetPositioning.horizontal) { - if (typeof _widgetPositioning.horizontal !== 'string') { - throw new TypeError('widgetPositioning() horizontal variable must be a string'); - } - - _widgetPositioning.horizontal = _widgetPositioning.horizontal.toLowerCase(); - - if (horizontalModes.indexOf(_widgetPositioning.horizontal) === -1) { - throw new TypeError("widgetPositioning() expects horizontal parameter to be one of (" + horizontalModes.join(', ') + ")"); - } - - this._options.widgetPositioning.horizontal = _widgetPositioning.horizontal; - } - - if (_widgetPositioning.vertical) { - if (typeof _widgetPositioning.vertical !== 'string') { - throw new TypeError('widgetPositioning() vertical variable must be a string'); - } - - _widgetPositioning.vertical = _widgetPositioning.vertical.toLowerCase(); - - if (verticalModes.indexOf(_widgetPositioning.vertical) === -1) { - throw new TypeError("widgetPositioning() expects vertical parameter to be one of (" + verticalModes.join(', ') + ")"); - } - - this._options.widgetPositioning.vertical = _widgetPositioning.vertical; - } - - this._update(); - }; - - _proto2.widgetParent = function widgetParent(_widgetParent) { - if (arguments.length === 0) { - return this._options.widgetParent; - } - - if (typeof _widgetParent === 'string') { - _widgetParent = $(_widgetParent); - } - - if (_widgetParent !== null && typeof _widgetParent !== 'string' && !(_widgetParent instanceof $)) { - throw new TypeError('widgetParent() expects a string or a jQuery object parameter'); - } - - this._options.widgetParent = _widgetParent; - - if (this.widget) { - this.hide(); - this.show(); - } - }; - - _proto2.setMultiDate = function setMultiDate(multiDateArray) { - var dateFormat = this._options.format; - this.clear(); - - for (var index = 0; index < multiDateArray.length; index++) { - var date = moment(multiDateArray[index], dateFormat); - - this._setValue(date, index); - } - } //static - ; - - TempusDominusBootstrap4._jQueryHandleThis = function _jQueryHandleThis(me, option, argument) { - var data = $(me).data(DateTimePicker.DATA_KEY); - - if (typeof option === 'object') { - $.extend({}, DateTimePicker.Default, option); - } - - if (!data) { - data = new TempusDominusBootstrap4($(me), option); - $(me).data(DateTimePicker.DATA_KEY, data); - } - - if (typeof option === 'string') { - if (data[option] === undefined) { - throw new Error("No method named \"" + option + "\""); - } - - if (argument === undefined) { - return data[option](); - } else { - if (option === 'date') { - data.isDateUpdateThroughDateOptionFromClientCode = true; - } - - var ret = data[option](argument); - data.isDateUpdateThroughDateOptionFromClientCode = false; - return ret; - } - } - }; - - TempusDominusBootstrap4._jQueryInterface = function _jQueryInterface(option, argument) { - if (this.length === 1) { - return TempusDominusBootstrap4._jQueryHandleThis(this[0], option, argument); - } - - return this.each(function () { - TempusDominusBootstrap4._jQueryHandleThis(this, option, argument); - }); - }; - - return TempusDominusBootstrap4; - }(DateTimePicker); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - - $(document).on(DateTimePicker.Event.CLICK_DATA_API, DateTimePicker.Selector.DATA_TOGGLE, function () { - var $originalTarget = $(this), - $target = getSelectorFromElement($originalTarget), - config = $target.data(DateTimePicker.DATA_KEY); - - if ($target.length === 0) { - return; - } - - if (config._options.allowInputToggle && $originalTarget.is('input[data-toggle="datetimepicker"]')) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, 'toggle'); - }).on(DateTimePicker.Event.CHANGE, "." + DateTimePicker.ClassName.INPUT, function (event) { - var $target = getSelectorFromElement($(this)); - - if ($target.length === 0 || event.isInit) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, '_change', event); - }).on(DateTimePicker.Event.BLUR, "." + DateTimePicker.ClassName.INPUT, function (event) { - var $target = getSelectorFromElement($(this)), - config = $target.data(DateTimePicker.DATA_KEY); - - if ($target.length === 0) { - return; - } - - if (config._options.debug || window.debug) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, 'hide', event); - }).on(DateTimePicker.Event.KEYDOWN, "." + DateTimePicker.ClassName.INPUT, function (event) { - var $target = getSelectorFromElement($(this)); - - if ($target.length === 0) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, '_keydown', event); - }).on(DateTimePicker.Event.KEYUP, "." + DateTimePicker.ClassName.INPUT, function (event) { - var $target = getSelectorFromElement($(this)); - - if ($target.length === 0) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, '_keyup', event); - }).on(DateTimePicker.Event.FOCUS, "." + DateTimePicker.ClassName.INPUT, function (event) { - var $target = getSelectorFromElement($(this)), - config = $target.data(DateTimePicker.DATA_KEY); - - if ($target.length === 0) { - return; - } - - if (!config._options.allowInputToggle) { - return; - } - - TempusDominusBootstrap4._jQueryInterface.call($target, 'show', event); - }); - $.fn[DateTimePicker.NAME] = TempusDominusBootstrap4._jQueryInterface; - $.fn[DateTimePicker.NAME].Constructor = TempusDominusBootstrap4; - - $.fn[DateTimePicker.NAME].noConflict = function () { - $.fn[DateTimePicker.NAME] = JQUERY_NO_CONFLICT; - return TempusDominusBootstrap4._jQueryInterface; - }; - - return TempusDominusBootstrap4; -}(jQuery); - -}(); +/*!@preserve + * Tempus Dominus Bootstrap4 v5.39.0 (https://tempusdominus.github.io/bootstrap-4/) + * Copyright 2016-2020 Jonathan Peterson and contributors + * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE) + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Tempus Dominus Bootstrap4\'s requires jQuery. jQuery must be included before Tempus Dominus Bootstrap4\'s JavaScript.'); +} + ++function ($) { + var version = $.fn.jquery.split(' ')[0].split('.'); + if ((version[0] < 2 && version[1] < 9) || (version[0] === 1 && version[1] === 9 && version[2] < 1) || (version[0] >= 4)) { + throw new Error('Tempus Dominus Bootstrap4\'s requires at least jQuery v3.0.0 but less than v4.0.0'); + } +}(jQuery); + + +if (typeof moment === 'undefined') { + throw new Error('Tempus Dominus Bootstrap4\'s requires moment.js. Moment.js must be included before Tempus Dominus Bootstrap4\'s JavaScript.'); +} + +var version = moment.version.split('.') +if ((version[0] <= 2 && version[1] < 17) || (version[0] >= 3)) { + throw new Error('Tempus Dominus Bootstrap4\'s requires at least moment.js v2.17.0 but less than v3.0.0'); +} + ++function () { + +function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +// ReSharper disable once InconsistentNaming +var DateTimePicker = function ($, moment) { + function escapeRegExp(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); + } + + function isValidDate(date) { + return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime()); + } + + function isValidDateTimeStr(str) { + return isValidDate(new Date(str)); + } // ReSharper disable InconsistentNaming + + + var trim = function trim(str) { + return str.replace(/(^\s+)|(\s+$)/g, ''); + }, + NAME = 'datetimepicker', + DATA_KEY = "" + NAME, + EVENT_KEY = "." + DATA_KEY, + DATA_API_KEY = '.data-api', + Selector = { + DATA_TOGGLE: "[data-toggle=\"" + DATA_KEY + "\"]" + }, + ClassName = { + INPUT: NAME + "-input" + }, + Event = { + CHANGE: "change" + EVENT_KEY, + BLUR: "blur" + EVENT_KEY, + KEYUP: "keyup" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + FOCUS: "focus" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + //emitted + UPDATE: "update" + EVENT_KEY, + ERROR: "error" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + SHOW: "show" + EVENT_KEY + }, + DatePickerModes = [{ + CLASS_NAME: 'days', + NAV_FUNCTION: 'M', + NAV_STEP: 1 + }, { + CLASS_NAME: 'months', + NAV_FUNCTION: 'y', + NAV_STEP: 1 + }, { + CLASS_NAME: 'years', + NAV_FUNCTION: 'y', + NAV_STEP: 10 + }, { + CLASS_NAME: 'decades', + NAV_FUNCTION: 'y', + NAV_STEP: 100 + }], + KeyMap = { + 'up': 38, + 38: 'up', + 'down': 40, + 40: 'down', + 'left': 37, + 37: 'left', + 'right': 39, + 39: 'right', + 'tab': 9, + 9: 'tab', + 'escape': 27, + 27: 'escape', + 'enter': 13, + 13: 'enter', + 'pageUp': 33, + 33: 'pageUp', + 'pageDown': 34, + 34: 'pageDown', + 'shift': 16, + 16: 'shift', + 'control': 17, + 17: 'control', + 'space': 32, + 32: 'space', + 't': 84, + 84: 't', + 'delete': 46, + 46: 'delete' + }, + ViewModes = ['times', 'days', 'months', 'years', 'decades'], + keyState = {}, + keyPressHandled = {}, + optionsSortMap = { + timeZone: -39, + format: -38, + dayViewHeaderFormat: -37, + extraFormats: -36, + stepping: -35, + minDate: -34, + maxDate: -33, + useCurrent: -32, + collapse: -31, + locale: -30, + defaultDate: -29, + disabledDates: -28, + enabledDates: -27, + icons: -26, + tooltips: -25, + useStrict: -24, + sideBySide: -23, + daysOfWeekDisabled: -22, + calendarWeeks: -21, + viewMode: -20, + toolbarPlacement: -19, + buttons: -18, + widgetPositioning: -17, + widgetParent: -16, + ignoreReadonly: -15, + keepOpen: -14, + focusOnShow: -13, + inline: -12, + keepInvalid: -11, + keyBinds: -10, + debug: -9, + allowInputToggle: -8, + disabledTimeIntervals: -7, + disabledHours: -6, + enabledHours: -5, + viewDate: -4, + allowMultidate: -3, + multidateSeparator: -2, + updateOnlyThroughDateOption: -1, + date: 1 + }, + defaultFeatherIcons = { + time: 'clock', + date: 'calendar', + up: 'arrow-up', + down: 'arrow-down', + previous: 'arrow-left', + next: 'arrow-right', + today: 'arrow-down-circle', + clear: 'trash-2', + close: 'x' + }; + + function optionsSortFn(optionKeyA, optionKeyB) { + if (optionsSortMap[optionKeyA] && optionsSortMap[optionKeyB]) { + if (optionsSortMap[optionKeyA] < 0 && optionsSortMap[optionKeyB] < 0) { + return Math.abs(optionsSortMap[optionKeyB]) - Math.abs(optionsSortMap[optionKeyA]); + } else if (optionsSortMap[optionKeyA] < 0) { + return -1; + } else if (optionsSortMap[optionKeyB] < 0) { + return 1; + } + + return optionsSortMap[optionKeyA] - optionsSortMap[optionKeyB]; + } else if (optionsSortMap[optionKeyA]) { + return optionsSortMap[optionKeyA]; + } else if (optionsSortMap[optionKeyB]) { + return optionsSortMap[optionKeyB]; + } + + return 0; + } + + var Default = { + timeZone: '', + format: false, + dayViewHeaderFormat: 'MMMM YYYY', + extraFormats: false, + stepping: 1, + minDate: false, + maxDate: false, + useCurrent: true, + collapse: true, + locale: moment.locale(), + defaultDate: false, + disabledDates: false, + enabledDates: false, + icons: { + type: 'class', + time: 'fa fa-clock-o', + date: 'fa fa-calendar', + up: 'fa fa-arrow-up', + down: 'fa fa-arrow-down', + previous: 'fa fa-chevron-left', + next: 'fa fa-chevron-right', + today: 'fa fa-calendar-check-o', + clear: 'fa fa-trash', + close: 'fa fa-times' + }, + tooltips: { + today: 'Go to today', + clear: 'Clear selection', + close: 'Close the picker', + selectMonth: 'Select Month', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + selectYear: 'Select Year', + prevYear: 'Previous Year', + nextYear: 'Next Year', + selectDecade: 'Select Decade', + prevDecade: 'Previous Decade', + nextDecade: 'Next Decade', + prevCentury: 'Previous Century', + nextCentury: 'Next Century', + pickHour: 'Pick Hour', + incrementHour: 'Increment Hour', + decrementHour: 'Decrement Hour', + pickMinute: 'Pick Minute', + incrementMinute: 'Increment Minute', + decrementMinute: 'Decrement Minute', + pickSecond: 'Pick Second', + incrementSecond: 'Increment Second', + decrementSecond: 'Decrement Second', + togglePeriod: 'Toggle Period', + selectTime: 'Select Time', + selectDate: 'Select Date' + }, + useStrict: false, + sideBySide: false, + daysOfWeekDisabled: false, + calendarWeeks: false, + viewMode: 'days', + toolbarPlacement: 'default', + buttons: { + showToday: false, + showClear: false, + showClose: false + }, + widgetPositioning: { + horizontal: 'auto', + vertical: 'auto' + }, + widgetParent: null, + readonly: false, + ignoreReadonly: false, + keepOpen: false, + focusOnShow: true, + inline: false, + keepInvalid: false, + keyBinds: { + up: function up() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(7, 'd')); + } else { + this.date(d.clone().add(this.stepping(), 'm')); + } + + return true; + }, + down: function down() { + if (!this.widget) { + this.show(); + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(7, 'd')); + } else { + this.date(d.clone().subtract(this.stepping(), 'm')); + } + + return true; + }, + 'control up': function controlUp() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'y')); + } else { + this.date(d.clone().add(1, 'h')); + } + + return true; + }, + 'control down': function controlDown() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'y')); + } else { + this.date(d.clone().subtract(1, 'h')); + } + + return true; + }, + left: function left() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'd')); + } + + return true; + }, + right: function right() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'd')); + } + + return true; + }, + pageUp: function pageUp() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().subtract(1, 'M')); + } + + return true; + }, + pageDown: function pageDown() { + if (!this.widget) { + return false; + } + + var d = this._dates[0] || this.getMoment(); + + if (this.widget.find('.datepicker').is(':visible')) { + this.date(d.clone().add(1, 'M')); + } + + return true; + }, + enter: function enter() { + if (!this.widget) { + return false; + } + + this.hide(); + return true; + }, + escape: function escape() { + if (!this.widget) { + return false; + } + + this.hide(); + return true; + }, + 'control space': function controlSpace() { + if (!this.widget) { + return false; + } + + if (this.widget.find('.timepicker').is(':visible')) { + this.widget.find('.btn[data-action="togglePeriod"]').click(); + } + + return true; + }, + t: function t() { + if (!this.widget) { + return false; + } + + this.date(this.getMoment()); + return true; + }, + 'delete': function _delete() { + if (!this.widget) { + return false; + } + + this.clear(); + return true; + } + }, + debug: false, + allowInputToggle: false, + disabledTimeIntervals: false, + disabledHours: false, + enabledHours: false, + viewDate: false, + allowMultidate: false, + multidateSeparator: ', ', + updateOnlyThroughDateOption: false, + promptTimeOnDateChange: false, + promptTimeOnDateChangeTransitionDelay: 200 + }; // ReSharper restore InconsistentNaming + // ReSharper disable once DeclarationHides + // ReSharper disable once InconsistentNaming + + var DateTimePicker = /*#__PURE__*/function () { + /** @namespace eData.dateOptions */ + + /** @namespace moment.tz */ + function DateTimePicker(element, options) { + this._options = this._getOptions(options); + this._element = element; + this._dates = []; + this._datesFormatted = []; + this._viewDate = null; + this.unset = true; + this.component = false; + this.widget = false; + this.use24Hours = null; + this.actualFormat = null; + this.parseFormats = null; + this.currentViewMode = null; + this.MinViewModeNumber = 0; + this.isInitFormatting = false; + this.isInit = false; + this.isDateUpdateThroughDateOptionFromClientCode = false; + this.hasInitDate = false; + this.initDate = void 0; + this._notifyChangeEventContext = void 0; + this._currentPromptTimeTimeout = null; + + this._int(); + } + /** + * @return {string} + */ + + + var _proto = DateTimePicker.prototype; + + //private + _proto._int = function _int() { + this.isInit = true; + + var targetInput = this._element.data('target-input'); + + if (this._element.is('input')) { + this.input = this._element; + } else if (targetInput !== undefined) { + if (targetInput === 'nearest') { + this.input = this._element.find('input'); + } else { + this.input = $(targetInput); + } + } + + this._dates = []; + this._dates[0] = this.getMoment(); + this._viewDate = this.getMoment().clone(); + $.extend(true, this._options, this._dataToOptions()); + this.hasInitDate = false; + this.initDate = void 0; + this.options(this._options); + this.isInitFormatting = true; + + this._initFormatting(); + + this.isInitFormatting = false; + + if (this.input !== undefined && this.input.is('input') && this.input.val().trim().length !== 0) { + this._setValue(this._parseInputDate(this.input.val().trim()), 0); + } else if (this._options.defaultDate && this.input !== undefined && this.input.attr('placeholder') === undefined) { + this._setValue(this._options.defaultDate, 0); + } + + if (this.hasInitDate) { + this.date(this.initDate); + } + + if (this._options.inline) { + this.show(); + } + + this.isInit = false; + }; + + _proto._update = function _update() { + if (!this.widget) { + return; + } + + this._fillDate(); + + this._fillTime(); + }; + + _proto._setValue = function _setValue(targetMoment, index) { + var noIndex = typeof index === 'undefined', + isClear = !targetMoment && noIndex, + isDateUpdateThroughDateOptionFromClientCode = this.isDateUpdateThroughDateOptionFromClientCode, + isNotAllowedProgrammaticUpdate = !this.isInit && this._options.updateOnlyThroughDateOption && !isDateUpdateThroughDateOptionFromClientCode; + var outpValue = '', + isInvalid = false, + oldDate = this.unset ? null : this._dates[index]; + + if (!oldDate && !this.unset && noIndex && isClear) { + oldDate = this._dates[this._dates.length - 1]; + } // case of calling setValue(null or false) + + + if (!targetMoment) { + if (isNotAllowedProgrammaticUpdate) { + this._notifyEvent({ + type: DateTimePicker.Event.CHANGE, + date: targetMoment, + oldDate: oldDate, + isClear: isClear, + isInvalid: isInvalid, + isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, + isInit: this.isInit + }); + + return; + } + + if (!this._options.allowMultidate || this._dates.length === 1 || isClear) { + this.unset = true; + this._dates = []; + this._datesFormatted = []; + } else { + outpValue = "" + this._element.data('date') + this._options.multidateSeparator; + outpValue = oldDate && outpValue.replace("" + oldDate.format(this.actualFormat) + this._options.multidateSeparator, '').replace("" + this._options.multidateSeparator + this._options.multidateSeparator, '').replace(new RegExp(escapeRegExp(this._options.multidateSeparator) + "\\s*$"), '') || ''; + + this._dates.splice(index, 1); + + this._datesFormatted.splice(index, 1); + } + + outpValue = trim(outpValue); + + if (this.input !== undefined) { + this.input.val(outpValue); + this.input.trigger('input'); + } + + this._element.data('date', outpValue); + + this._notifyEvent({ + type: DateTimePicker.Event.CHANGE, + date: false, + oldDate: oldDate, + isClear: isClear, + isInvalid: isInvalid, + isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, + isInit: this.isInit + }); + + this._update(); + + return; + } + + targetMoment = targetMoment.clone().locale(this._options.locale); + + if (this._hasTimeZone()) { + targetMoment.tz(this._options.timeZone); + } + + if (this._options.stepping !== 1) { + targetMoment.minutes(Math.round(targetMoment.minutes() / this._options.stepping) * this._options.stepping).seconds(0); + } + + if (this._isValid(targetMoment)) { + if (isNotAllowedProgrammaticUpdate) { + this._notifyEvent({ + type: DateTimePicker.Event.CHANGE, + date: targetMoment.clone(), + oldDate: oldDate, + isClear: isClear, + isInvalid: isInvalid, + isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, + isInit: this.isInit + }); + + return; + } + + this._dates[index] = targetMoment; + this._datesFormatted[index] = targetMoment.format('YYYY-MM-DD'); + this._viewDate = targetMoment.clone(); + + if (this._options.allowMultidate && this._dates.length > 1) { + for (var i = 0; i < this._dates.length; i++) { + outpValue += "" + this._dates[i].format(this.actualFormat) + this._options.multidateSeparator; + } + + outpValue = outpValue.replace(new RegExp(this._options.multidateSeparator + "\\s*$"), ''); + } else { + outpValue = this._dates[index].format(this.actualFormat); + } + + outpValue = trim(outpValue); + + if (this.input !== undefined) { + this.input.val(outpValue); + this.input.trigger('input'); + } + + this._element.data('date', outpValue); + + this.unset = false; + + this._update(); + + this._notifyEvent({ + type: DateTimePicker.Event.CHANGE, + date: this._dates[index].clone(), + oldDate: oldDate, + isClear: isClear, + isInvalid: isInvalid, + isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, + isInit: this.isInit + }); + } else { + isInvalid = true; + + if (!this._options.keepInvalid) { + if (this.input !== undefined) { + this.input.val("" + (this.unset ? '' : this._dates[index].format(this.actualFormat))); + this.input.trigger('input'); + } + } else { + this._notifyEvent({ + type: DateTimePicker.Event.CHANGE, + date: targetMoment, + oldDate: oldDate, + isClear: isClear, + isInvalid: isInvalid, + isDateUpdateThroughDateOptionFromClientCode: isDateUpdateThroughDateOptionFromClientCode, + isInit: this.isInit + }); + } + + this._notifyEvent({ + type: DateTimePicker.Event.ERROR, + date: targetMoment, + oldDate: oldDate + }); + } + }; + + _proto._change = function _change(e) { + var val = $(e.target).val().trim(), + parsedDate = val ? this._parseInputDate(val) : null; + + this._setValue(parsedDate, 0); + + e.stopImmediatePropagation(); + return false; + } //noinspection JSMethodCanBeStatic + ; + + _proto._getOptions = function _getOptions(options) { + options = $.extend(true, {}, Default, options && options.icons && options.icons.type === 'feather' ? { + icons: defaultFeatherIcons + } : {}, options); + return options; + }; + + _proto._hasTimeZone = function _hasTimeZone() { + return moment.tz !== undefined && this._options.timeZone !== undefined && this._options.timeZone !== null && this._options.timeZone !== ''; + }; + + _proto._isEnabled = function _isEnabled(granularity) { + if (typeof granularity !== 'string' || granularity.length > 1) { + throw new TypeError('isEnabled expects a single character string parameter'); + } + + switch (granularity) { + case 'y': + return this.actualFormat.indexOf('Y') !== -1; + + case 'M': + return this.actualFormat.indexOf('M') !== -1; + + case 'd': + return this.actualFormat.toLowerCase().indexOf('d') !== -1; + + case 'h': + case 'H': + return this.actualFormat.toLowerCase().indexOf('h') !== -1; + + case 'm': + return this.actualFormat.indexOf('m') !== -1; + + case 's': + return this.actualFormat.indexOf('s') !== -1; + + case 'a': + case 'A': + return this.actualFormat.toLowerCase().indexOf('a') !== -1; + + default: + return false; + } + }; + + _proto._hasTime = function _hasTime() { + return this._isEnabled('h') || this._isEnabled('m') || this._isEnabled('s'); + }; + + _proto._hasDate = function _hasDate() { + return this._isEnabled('y') || this._isEnabled('M') || this._isEnabled('d'); + }; + + _proto._dataToOptions = function _dataToOptions() { + var eData = this._element.data(); + + var dataOptions = {}; + + if (eData.dateOptions && eData.dateOptions instanceof Object) { + dataOptions = $.extend(true, dataOptions, eData.dateOptions); + } + + $.each(this._options, function (key) { + var attributeName = "date" + key.charAt(0).toUpperCase() + key.slice(1); //todo data api key + + if (eData[attributeName] !== undefined) { + dataOptions[key] = eData[attributeName]; + } else { + delete dataOptions[key]; + } + }); + return dataOptions; + }; + + _proto._format = function _format() { + return this._options.format || 'YYYY-MM-DD HH:mm'; + }; + + _proto._areSameDates = function _areSameDates(a, b) { + var format = this._format(); + + return a && b && (a.isSame(b) || moment(a.format(format), format).isSame(moment(b.format(format), format))); + }; + + _proto._notifyEvent = function _notifyEvent(e) { + if (e.type === DateTimePicker.Event.CHANGE) { + this._notifyChangeEventContext = this._notifyChangeEventContext || 0; + this._notifyChangeEventContext++; + + if (e.date && this._areSameDates(e.date, e.oldDate) || !e.isClear && !e.date && !e.oldDate || this._notifyChangeEventContext > 1) { + this._notifyChangeEventContext = void 0; + return; + } + + this._handlePromptTimeIfNeeded(e); + } + + this._element.trigger(e); + + this._notifyChangeEventContext = void 0; + }; + + _proto._handlePromptTimeIfNeeded = function _handlePromptTimeIfNeeded(e) { + if (this._options.promptTimeOnDateChange) { + if (!e.oldDate && this._options.useCurrent) { + // First time ever. If useCurrent option is set to true (default), do nothing + // because the first date is selected automatically. + return; + } else if (e.oldDate && e.date && (e.oldDate.format('YYYY-MM-DD') === e.date.format('YYYY-MM-DD') || e.oldDate.format('YYYY-MM-DD') !== e.date.format('YYYY-MM-DD') && e.oldDate.format('HH:mm:ss') !== e.date.format('HH:mm:ss'))) { + // Date didn't change (time did) or date changed because time did. + return; + } + + var that = this; + clearTimeout(this._currentPromptTimeTimeout); + this._currentPromptTimeTimeout = setTimeout(function () { + if (that.widget) { + that.widget.find('[data-action="togglePicker"]').click(); + } + }, this._options.promptTimeOnDateChangeTransitionDelay); + } + }; + + _proto._viewUpdate = function _viewUpdate(e) { + if (e === 'y') { + e = 'YYYY'; + } + + this._notifyEvent({ + type: DateTimePicker.Event.UPDATE, + change: e, + viewDate: this._viewDate.clone() + }); + }; + + _proto._showMode = function _showMode(dir) { + if (!this.widget) { + return; + } + + if (dir) { + this.currentViewMode = Math.max(this.MinViewModeNumber, Math.min(3, this.currentViewMode + dir)); + } + + this.widget.find('.datepicker > div').hide().filter(".datepicker-" + DatePickerModes[this.currentViewMode].CLASS_NAME).show(); + }; + + _proto._isInDisabledDates = function _isInDisabledDates(testDate) { + return this._options.disabledDates[testDate.format('YYYY-MM-DD')] === true; + }; + + _proto._isInEnabledDates = function _isInEnabledDates(testDate) { + return this._options.enabledDates[testDate.format('YYYY-MM-DD')] === true; + }; + + _proto._isInDisabledHours = function _isInDisabledHours(testDate) { + return this._options.disabledHours[testDate.format('H')] === true; + }; + + _proto._isInEnabledHours = function _isInEnabledHours(testDate) { + return this._options.enabledHours[testDate.format('H')] === true; + }; + + _proto._isValid = function _isValid(targetMoment, granularity) { + if (!targetMoment || !targetMoment.isValid()) { + return false; + } + + if (this._options.disabledDates && granularity === 'd' && this._isInDisabledDates(targetMoment)) { + return false; + } + + if (this._options.enabledDates && granularity === 'd' && !this._isInEnabledDates(targetMoment)) { + return false; + } + + if (this._options.minDate && targetMoment.isBefore(this._options.minDate, granularity)) { + return false; + } + + if (this._options.maxDate && targetMoment.isAfter(this._options.maxDate, granularity)) { + return false; + } + + if (this._options.daysOfWeekDisabled && granularity === 'd' && this._options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) { + return false; + } + + if (this._options.disabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && this._isInDisabledHours(targetMoment)) { + return false; + } + + if (this._options.enabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && !this._isInEnabledHours(targetMoment)) { + return false; + } + + if (this._options.disabledTimeIntervals && (granularity === 'h' || granularity === 'm' || granularity === 's')) { + var found = false; + $.each(this._options.disabledTimeIntervals, function () { + if (targetMoment.isBetween(this[0], this[1])) { + found = true; + return false; + } + }); + + if (found) { + return false; + } + } + + return true; + }; + + _proto._parseInputDate = function _parseInputDate(inputDate, _temp) { + var _ref = _temp === void 0 ? {} : _temp, + _ref$isPickerShow = _ref.isPickerShow, + isPickerShow = _ref$isPickerShow === void 0 ? false : _ref$isPickerShow; + + if (this._options.parseInputDate === undefined || isPickerShow) { + if (!moment.isMoment(inputDate)) { + inputDate = this.getMoment(inputDate); + } + } else { + inputDate = this._options.parseInputDate(inputDate); + } //inputDate.locale(this.options.locale); + + + return inputDate; + }; + + _proto._keydown = function _keydown(e) { + var handler = null, + index, + index2, + keyBindKeys, + allModifiersPressed; + var pressedKeys = [], + pressedModifiers = {}, + currentKey = e.which, + pressed = 'p'; + keyState[currentKey] = pressed; + + for (index in keyState) { + if (keyState.hasOwnProperty(index) && keyState[index] === pressed) { + pressedKeys.push(index); + + if (parseInt(index, 10) !== currentKey) { + pressedModifiers[index] = true; + } + } + } + + for (index in this._options.keyBinds) { + if (this._options.keyBinds.hasOwnProperty(index) && typeof this._options.keyBinds[index] === 'function') { + keyBindKeys = index.split(' '); + + if (keyBindKeys.length === pressedKeys.length && KeyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) { + allModifiersPressed = true; + + for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) { + if (!(KeyMap[keyBindKeys[index2]] in pressedModifiers)) { + allModifiersPressed = false; + break; + } + } + + if (allModifiersPressed) { + handler = this._options.keyBinds[index]; + break; + } + } + } + } + + if (handler) { + if (handler.call(this)) { + e.stopPropagation(); + e.preventDefault(); + } + } + } //noinspection JSMethodCanBeStatic,SpellCheckingInspection + ; + + _proto._keyup = function _keyup(e) { + keyState[e.which] = 'r'; + + if (keyPressHandled[e.which]) { + keyPressHandled[e.which] = false; + e.stopPropagation(); + e.preventDefault(); + } + }; + + _proto._indexGivenDates = function _indexGivenDates(givenDatesArray) { + // Store given enabledDates and disabledDates as keys. + // This way we can check their existence in O(1) time instead of looping through whole array. + // (for example: options.enabledDates['2014-02-27'] === true) + var givenDatesIndexed = {}, + self = this; + $.each(givenDatesArray, function () { + var dDate = self._parseInputDate(this); + + if (dDate.isValid()) { + givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true; + } + }); + return Object.keys(givenDatesIndexed).length ? givenDatesIndexed : false; + }; + + _proto._indexGivenHours = function _indexGivenHours(givenHoursArray) { + // Store given enabledHours and disabledHours as keys. + // This way we can check their existence in O(1) time instead of looping through whole array. + // (for example: options.enabledHours['2014-02-27'] === true) + var givenHoursIndexed = {}; + $.each(givenHoursArray, function () { + givenHoursIndexed[this] = true; + }); + return Object.keys(givenHoursIndexed).length ? givenHoursIndexed : false; + }; + + _proto._initFormatting = function _initFormatting() { + var format = this._options.format || 'L LT', + self = this; + this.actualFormat = format.replace(/(\[[^\[]*])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) { + return (self.isInitFormatting && self._options.date === null ? self.getMoment() : self._dates[0]).localeData().longDateFormat(formatInput) || formatInput; //todo taking the first date should be ok + }); + this.parseFormats = this._options.extraFormats ? this._options.extraFormats.slice() : []; + + if (this.parseFormats.indexOf(format) < 0 && this.parseFormats.indexOf(this.actualFormat) < 0) { + this.parseFormats.push(this.actualFormat); + } + + this.use24Hours = this.actualFormat.toLowerCase().indexOf('a') < 1 && this.actualFormat.replace(/\[.*?]/g, '').indexOf('h') < 1; + + if (this._isEnabled('y')) { + this.MinViewModeNumber = 2; + } + + if (this._isEnabled('M')) { + this.MinViewModeNumber = 1; + } + + if (this._isEnabled('d')) { + this.MinViewModeNumber = 0; + } + + this.currentViewMode = Math.max(this.MinViewModeNumber, this.currentViewMode); + + if (!this.unset) { + this._setValue(this._dates[0], 0); + } + }; + + _proto._getLastPickedDate = function _getLastPickedDate() { + var lastPickedDate = this._dates[this._getLastPickedDateIndex()]; + + if (!lastPickedDate && this._options.allowMultidate) { + lastPickedDate = moment(new Date()); + } + + return lastPickedDate; + }; + + _proto._getLastPickedDateIndex = function _getLastPickedDateIndex() { + return this._dates.length - 1; + } //public + ; + + _proto.getMoment = function getMoment(d) { + var returnMoment; + + if (d === undefined || d === null) { + // TODO: Should this use format? + returnMoment = moment().clone().locale(this._options.locale); + } else if (this._hasTimeZone()) { + // There is a string to parse and a default time zone + // parse with the tz function which takes a default time zone if it is not in the format string + returnMoment = moment.tz(d, this.parseFormats, this._options.locale, this._options.useStrict, this._options.timeZone); + } else { + returnMoment = moment(d, this.parseFormats, this._options.locale, this._options.useStrict); + } + + if (this._hasTimeZone()) { + returnMoment.tz(this._options.timeZone); + } + + return returnMoment; + }; + + _proto.toggle = function toggle() { + return this.widget ? this.hide() : this.show(); + }; + + _proto.readonly = function readonly(_readonly) { + if (arguments.length === 0) { + return this._options.readonly; + } + + if (typeof _readonly !== 'boolean') { + throw new TypeError('readonly() expects a boolean parameter'); + } + + this._options.readonly = _readonly; + + if (this.input !== undefined) { + this.input.prop('readonly', this._options.readonly); + } + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.ignoreReadonly = function ignoreReadonly(_ignoreReadonly) { + if (arguments.length === 0) { + return this._options.ignoreReadonly; + } + + if (typeof _ignoreReadonly !== 'boolean') { + throw new TypeError('ignoreReadonly() expects a boolean parameter'); + } + + this._options.ignoreReadonly = _ignoreReadonly; + }; + + _proto.options = function options(newOptions) { + if (arguments.length === 0) { + return $.extend(true, {}, this._options); + } + + if (!(newOptions instanceof Object)) { + throw new TypeError('options() this.options parameter should be an object'); + } + + $.extend(true, this._options, newOptions); + var self = this, + optionsKeys = Object.keys(this._options).sort(optionsSortFn); + $.each(optionsKeys, function (i, key) { + var value = self._options[key]; + + if (self[key] !== undefined) { + if (self.isInit && key === 'date') { + self.hasInitDate = true; + self.initDate = value; + return; + } + + self[key](value); + } + }); + }; + + _proto.date = function date(newDate, index) { + index = index || 0; + + if (arguments.length === 0) { + if (this.unset) { + return null; + } + + if (this._options.allowMultidate) { + return this._dates.join(this._options.multidateSeparator); + } else { + return this._dates[index].clone(); + } + } + + if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { + throw new TypeError('date() parameter must be one of [null, string, moment or Date]'); + } + + if (typeof newDate === 'string' && isValidDateTimeStr(newDate)) { + newDate = new Date(newDate); + } + + this._setValue(newDate === null ? null : this._parseInputDate(newDate), index); + }; + + _proto.updateOnlyThroughDateOption = function updateOnlyThroughDateOption(_updateOnlyThroughDateOption) { + if (typeof _updateOnlyThroughDateOption !== 'boolean') { + throw new TypeError('updateOnlyThroughDateOption() expects a boolean parameter'); + } + + this._options.updateOnlyThroughDateOption = _updateOnlyThroughDateOption; + }; + + _proto.format = function format(newFormat) { + if (arguments.length === 0) { + return this._options.format; + } + + if (typeof newFormat !== 'string' && (typeof newFormat !== 'boolean' || newFormat !== false)) { + throw new TypeError("format() expects a string or boolean:false parameter " + newFormat); + } + + this._options.format = newFormat; + + if (this.actualFormat) { + this._initFormatting(); // reinitialize formatting + + } + }; + + _proto.timeZone = function timeZone(newZone) { + if (arguments.length === 0) { + return this._options.timeZone; + } + + if (typeof newZone !== 'string') { + throw new TypeError('newZone() expects a string parameter'); + } + + this._options.timeZone = newZone; + }; + + _proto.dayViewHeaderFormat = function dayViewHeaderFormat(newFormat) { + if (arguments.length === 0) { + return this._options.dayViewHeaderFormat; + } + + if (typeof newFormat !== 'string') { + throw new TypeError('dayViewHeaderFormat() expects a string parameter'); + } + + this._options.dayViewHeaderFormat = newFormat; + }; + + _proto.extraFormats = function extraFormats(formats) { + if (arguments.length === 0) { + return this._options.extraFormats; + } + + if (formats !== false && !(formats instanceof Array)) { + throw new TypeError('extraFormats() expects an array or false parameter'); + } + + this._options.extraFormats = formats; + + if (this.parseFormats) { + this._initFormatting(); // reinit formatting + + } + }; + + _proto.disabledDates = function disabledDates(dates) { + if (arguments.length === 0) { + return this._options.disabledDates ? $.extend({}, this._options.disabledDates) : this._options.disabledDates; + } + + if (!dates) { + this._options.disabledDates = false; + + this._update(); + + return true; + } + + if (!(dates instanceof Array)) { + throw new TypeError('disabledDates() expects an array parameter'); + } + + this._options.disabledDates = this._indexGivenDates(dates); + this._options.enabledDates = false; + + this._update(); + }; + + _proto.enabledDates = function enabledDates(dates) { + if (arguments.length === 0) { + return this._options.enabledDates ? $.extend({}, this._options.enabledDates) : this._options.enabledDates; + } + + if (!dates) { + this._options.enabledDates = false; + + this._update(); + + return true; + } + + if (!(dates instanceof Array)) { + throw new TypeError('enabledDates() expects an array parameter'); + } + + this._options.enabledDates = this._indexGivenDates(dates); + this._options.disabledDates = false; + + this._update(); + }; + + _proto.daysOfWeekDisabled = function daysOfWeekDisabled(_daysOfWeekDisabled) { + if (arguments.length === 0) { + return this._options.daysOfWeekDisabled.splice(0); + } + + if (typeof _daysOfWeekDisabled === 'boolean' && !_daysOfWeekDisabled) { + this._options.daysOfWeekDisabled = false; + + this._update(); + + return true; + } + + if (!(_daysOfWeekDisabled instanceof Array)) { + throw new TypeError('daysOfWeekDisabled() expects an array parameter'); + } + + this._options.daysOfWeekDisabled = _daysOfWeekDisabled.reduce(function (previousValue, currentValue) { + currentValue = parseInt(currentValue, 10); + + if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) { + return previousValue; + } + + if (previousValue.indexOf(currentValue) === -1) { + previousValue.push(currentValue); + } + + return previousValue; + }, []).sort(); + + if (this._options.useCurrent && !this._options.keepInvalid) { + for (var i = 0; i < this._dates.length; i++) { + var tries = 0; + + while (!this._isValid(this._dates[i], 'd')) { + this._dates[i].add(1, 'd'); + + if (tries === 31) { + throw 'Tried 31 times to find a valid date'; + } + + tries++; + } + + this._setValue(this._dates[i], i); + } + } + + this._update(); + }; + + _proto.maxDate = function maxDate(_maxDate) { + if (arguments.length === 0) { + return this._options.maxDate ? this._options.maxDate.clone() : this._options.maxDate; + } + + if (typeof _maxDate === 'boolean' && _maxDate === false) { + this._options.maxDate = false; + + this._update(); + + return true; + } + + if (typeof _maxDate === 'string') { + if (_maxDate === 'now' || _maxDate === 'moment') { + _maxDate = this.getMoment(); + } + } + + var parsedDate = this._parseInputDate(_maxDate); + + if (!parsedDate.isValid()) { + throw new TypeError("maxDate() Could not parse date parameter: " + _maxDate); + } + + if (this._options.minDate && parsedDate.isBefore(this._options.minDate)) { + throw new TypeError("maxDate() date parameter is before this.options.minDate: " + parsedDate.format(this.actualFormat)); + } + + this._options.maxDate = parsedDate; + + for (var i = 0; i < this._dates.length; i++) { + if (this._options.useCurrent && !this._options.keepInvalid && this._dates[i].isAfter(_maxDate)) { + this._setValue(this._options.maxDate, i); + } + } + + if (this._viewDate.isAfter(parsedDate)) { + this._viewDate = parsedDate.clone().subtract(this._options.stepping, 'm'); + } + + this._update(); + }; + + _proto.minDate = function minDate(_minDate) { + if (arguments.length === 0) { + return this._options.minDate ? this._options.minDate.clone() : this._options.minDate; + } + + if (typeof _minDate === 'boolean' && _minDate === false) { + this._options.minDate = false; + + this._update(); + + return true; + } + + if (typeof _minDate === 'string') { + if (_minDate === 'now' || _minDate === 'moment') { + _minDate = this.getMoment(); + } + } + + var parsedDate = this._parseInputDate(_minDate); + + if (!parsedDate.isValid()) { + throw new TypeError("minDate() Could not parse date parameter: " + _minDate); + } + + if (this._options.maxDate && parsedDate.isAfter(this._options.maxDate)) { + throw new TypeError("minDate() date parameter is after this.options.maxDate: " + parsedDate.format(this.actualFormat)); + } + + this._options.minDate = parsedDate; + + for (var i = 0; i < this._dates.length; i++) { + if (this._options.useCurrent && !this._options.keepInvalid && this._dates[i].isBefore(_minDate)) { + this._setValue(this._options.minDate, i); + } + } + + if (this._viewDate.isBefore(parsedDate)) { + this._viewDate = parsedDate.clone().add(this._options.stepping, 'm'); + } + + this._update(); + }; + + _proto.defaultDate = function defaultDate(_defaultDate) { + if (arguments.length === 0) { + return this._options.defaultDate ? this._options.defaultDate.clone() : this._options.defaultDate; + } + + if (!_defaultDate) { + this._options.defaultDate = false; + return true; + } + + if (typeof _defaultDate === 'string') { + if (_defaultDate === 'now' || _defaultDate === 'moment') { + _defaultDate = this.getMoment(); + } else { + _defaultDate = this.getMoment(_defaultDate); + } + } + + var parsedDate = this._parseInputDate(_defaultDate); + + if (!parsedDate.isValid()) { + throw new TypeError("defaultDate() Could not parse date parameter: " + _defaultDate); + } + + if (!this._isValid(parsedDate)) { + throw new TypeError('defaultDate() date passed is invalid according to component setup validations'); + } + + this._options.defaultDate = parsedDate; + + if (this._options.defaultDate && this._options.inline || this.input !== undefined && this.input.val().trim() === '') { + this._setValue(this._options.defaultDate, 0); + } + }; + + _proto.locale = function locale(_locale) { + if (arguments.length === 0) { + return this._options.locale; + } + + if (!moment.localeData(_locale)) { + throw new TypeError("locale() locale " + _locale + " is not loaded from moment locales!"); + } + + this._options.locale = _locale; + + for (var i = 0; i < this._dates.length; i++) { + this._dates[i].locale(this._options.locale); + } + + this._viewDate.locale(this._options.locale); + + if (this.actualFormat) { + this._initFormatting(); // reinitialize formatting + + } + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.stepping = function stepping(_stepping) { + if (arguments.length === 0) { + return this._options.stepping; + } + + _stepping = parseInt(_stepping, 10); + + if (isNaN(_stepping) || _stepping < 1) { + _stepping = 1; + } + + this._options.stepping = _stepping; + }; + + _proto.useCurrent = function useCurrent(_useCurrent) { + var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute']; + + if (arguments.length === 0) { + return this._options.useCurrent; + } + + if (typeof _useCurrent !== 'boolean' && typeof _useCurrent !== 'string') { + throw new TypeError('useCurrent() expects a boolean or string parameter'); + } + + if (typeof _useCurrent === 'string' && useCurrentOptions.indexOf(_useCurrent.toLowerCase()) === -1) { + throw new TypeError("useCurrent() expects a string parameter of " + useCurrentOptions.join(', ')); + } + + this._options.useCurrent = _useCurrent; + }; + + _proto.collapse = function collapse(_collapse) { + if (arguments.length === 0) { + return this._options.collapse; + } + + if (typeof _collapse !== 'boolean') { + throw new TypeError('collapse() expects a boolean parameter'); + } + + if (this._options.collapse === _collapse) { + return true; + } + + this._options.collapse = _collapse; + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.icons = function icons(_icons) { + if (arguments.length === 0) { + return $.extend({}, this._options.icons); + } + + if (!(_icons instanceof Object)) { + throw new TypeError('icons() expects parameter to be an Object'); + } + + $.extend(this._options.icons, _icons); + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.tooltips = function tooltips(_tooltips) { + if (arguments.length === 0) { + return $.extend({}, this._options.tooltips); + } + + if (!(_tooltips instanceof Object)) { + throw new TypeError('tooltips() expects parameter to be an Object'); + } + + $.extend(this._options.tooltips, _tooltips); + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.useStrict = function useStrict(_useStrict) { + if (arguments.length === 0) { + return this._options.useStrict; + } + + if (typeof _useStrict !== 'boolean') { + throw new TypeError('useStrict() expects a boolean parameter'); + } + + this._options.useStrict = _useStrict; + }; + + _proto.sideBySide = function sideBySide(_sideBySide) { + if (arguments.length === 0) { + return this._options.sideBySide; + } + + if (typeof _sideBySide !== 'boolean') { + throw new TypeError('sideBySide() expects a boolean parameter'); + } + + this._options.sideBySide = _sideBySide; + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.viewMode = function viewMode(_viewMode) { + if (arguments.length === 0) { + return this._options.viewMode; + } + + if (typeof _viewMode !== 'string') { + throw new TypeError('viewMode() expects a string parameter'); + } + + if (DateTimePicker.ViewModes.indexOf(_viewMode) === -1) { + throw new TypeError("viewMode() parameter must be one of (" + DateTimePicker.ViewModes.join(', ') + ") value"); + } + + this._options.viewMode = _viewMode; + this.currentViewMode = Math.max(DateTimePicker.ViewModes.indexOf(_viewMode) - 1, this.MinViewModeNumber); + + this._showMode(); + }; + + _proto.calendarWeeks = function calendarWeeks(_calendarWeeks) { + if (arguments.length === 0) { + return this._options.calendarWeeks; + } + + if (typeof _calendarWeeks !== 'boolean') { + throw new TypeError('calendarWeeks() expects parameter to be a boolean value'); + } + + this._options.calendarWeeks = _calendarWeeks; + + this._update(); + }; + + _proto.buttons = function buttons(_buttons) { + if (arguments.length === 0) { + return $.extend({}, this._options.buttons); + } + + if (!(_buttons instanceof Object)) { + throw new TypeError('buttons() expects parameter to be an Object'); + } + + $.extend(this._options.buttons, _buttons); + + if (typeof this._options.buttons.showToday !== 'boolean') { + throw new TypeError('buttons.showToday expects a boolean parameter'); + } + + if (typeof this._options.buttons.showClear !== 'boolean') { + throw new TypeError('buttons.showClear expects a boolean parameter'); + } + + if (typeof this._options.buttons.showClose !== 'boolean') { + throw new TypeError('buttons.showClose expects a boolean parameter'); + } + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto.keepOpen = function keepOpen(_keepOpen) { + if (arguments.length === 0) { + return this._options.keepOpen; + } + + if (typeof _keepOpen !== 'boolean') { + throw new TypeError('keepOpen() expects a boolean parameter'); + } + + this._options.keepOpen = _keepOpen; + }; + + _proto.focusOnShow = function focusOnShow(_focusOnShow) { + if (arguments.length === 0) { + return this._options.focusOnShow; + } + + if (typeof _focusOnShow !== 'boolean') { + throw new TypeError('focusOnShow() expects a boolean parameter'); + } + + this._options.focusOnShow = _focusOnShow; + }; + + _proto.inline = function inline(_inline) { + if (arguments.length === 0) { + return this._options.inline; + } + + if (typeof _inline !== 'boolean') { + throw new TypeError('inline() expects a boolean parameter'); + } + + this._options.inline = _inline; + }; + + _proto.clear = function clear() { + this._setValue(null); //todo + + }; + + _proto.keyBinds = function keyBinds(_keyBinds) { + if (arguments.length === 0) { + return this._options.keyBinds; + } + + this._options.keyBinds = _keyBinds; + }; + + _proto.debug = function debug(_debug) { + if (typeof _debug !== 'boolean') { + throw new TypeError('debug() expects a boolean parameter'); + } + + this._options.debug = _debug; + }; + + _proto.allowInputToggle = function allowInputToggle(_allowInputToggle) { + if (arguments.length === 0) { + return this._options.allowInputToggle; + } + + if (typeof _allowInputToggle !== 'boolean') { + throw new TypeError('allowInputToggle() expects a boolean parameter'); + } + + this._options.allowInputToggle = _allowInputToggle; + }; + + _proto.keepInvalid = function keepInvalid(_keepInvalid) { + if (arguments.length === 0) { + return this._options.keepInvalid; + } + + if (typeof _keepInvalid !== 'boolean') { + throw new TypeError('keepInvalid() expects a boolean parameter'); + } + + this._options.keepInvalid = _keepInvalid; + }; + + _proto.datepickerInput = function datepickerInput(_datepickerInput) { + if (arguments.length === 0) { + return this._options.datepickerInput; + } + + if (typeof _datepickerInput !== 'string') { + throw new TypeError('datepickerInput() expects a string parameter'); + } + + this._options.datepickerInput = _datepickerInput; + }; + + _proto.parseInputDate = function parseInputDate(_parseInputDate2) { + if (arguments.length === 0) { + return this._options.parseInputDate; + } + + if (typeof _parseInputDate2 !== 'function') { + throw new TypeError('parseInputDate() should be as function'); + } + + this._options.parseInputDate = _parseInputDate2; + }; + + _proto.disabledTimeIntervals = function disabledTimeIntervals(_disabledTimeIntervals) { + if (arguments.length === 0) { + return this._options.disabledTimeIntervals ? $.extend({}, this._options.disabledTimeIntervals) : this._options.disabledTimeIntervals; + } + + if (!_disabledTimeIntervals) { + this._options.disabledTimeIntervals = false; + + this._update(); + + return true; + } + + if (!(_disabledTimeIntervals instanceof Array)) { + throw new TypeError('disabledTimeIntervals() expects an array parameter'); + } + + this._options.disabledTimeIntervals = _disabledTimeIntervals; + + this._update(); + }; + + _proto.disabledHours = function disabledHours(hours) { + if (arguments.length === 0) { + return this._options.disabledHours ? $.extend({}, this._options.disabledHours) : this._options.disabledHours; + } + + if (!hours) { + this._options.disabledHours = false; + + this._update(); + + return true; + } + + if (!(hours instanceof Array)) { + throw new TypeError('disabledHours() expects an array parameter'); + } + + this._options.disabledHours = this._indexGivenHours(hours); + this._options.enabledHours = false; + + if (this._options.useCurrent && !this._options.keepInvalid) { + for (var i = 0; i < this._dates.length; i++) { + var tries = 0; + + while (!this._isValid(this._dates[i], 'h')) { + this._dates[i].add(1, 'h'); + + if (tries === 24) { + throw 'Tried 24 times to find a valid date'; + } + + tries++; + } + + this._setValue(this._dates[i], i); + } + } + + this._update(); + }; + + _proto.enabledHours = function enabledHours(hours) { + if (arguments.length === 0) { + return this._options.enabledHours ? $.extend({}, this._options.enabledHours) : this._options.enabledHours; + } + + if (!hours) { + this._options.enabledHours = false; + + this._update(); + + return true; + } + + if (!(hours instanceof Array)) { + throw new TypeError('enabledHours() expects an array parameter'); + } + + this._options.enabledHours = this._indexGivenHours(hours); + this._options.disabledHours = false; + + if (this._options.useCurrent && !this._options.keepInvalid) { + for (var i = 0; i < this._dates.length; i++) { + var tries = 0; + + while (!this._isValid(this._dates[i], 'h')) { + this._dates[i].add(1, 'h'); + + if (tries === 24) { + throw 'Tried 24 times to find a valid date'; + } + + tries++; + } + + this._setValue(this._dates[i], i); + } + } + + this._update(); + }; + + _proto.viewDate = function viewDate(newDate) { + if (arguments.length === 0) { + return this._viewDate.clone(); + } + + if (!newDate) { + this._viewDate = (this._dates[0] || this.getMoment()).clone(); + return true; + } + + if (typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) { + throw new TypeError('viewDate() parameter must be one of [string, moment or Date]'); + } + + this._viewDate = this._parseInputDate(newDate); + + this._update(); + + this._viewUpdate(DatePickerModes[this.currentViewMode] && DatePickerModes[this.currentViewMode].NAV_FUNCTION); + }; + + _proto._fillDate = function _fillDate() {}; + + _proto._useFeatherIcons = function _useFeatherIcons() { + return this._options.icons.type === 'feather'; + }; + + _proto.allowMultidate = function allowMultidate(_allowMultidate) { + if (typeof _allowMultidate !== 'boolean') { + throw new TypeError('allowMultidate() expects a boolean parameter'); + } + + this._options.allowMultidate = _allowMultidate; + }; + + _proto.multidateSeparator = function multidateSeparator(_multidateSeparator) { + if (arguments.length === 0) { + return this._options.multidateSeparator; + } + + if (typeof _multidateSeparator !== 'string') { + throw new TypeError('multidateSeparator expects a string parameter'); + } + + this._options.multidateSeparator = _multidateSeparator; + }; + + _createClass(DateTimePicker, null, [{ + key: "NAME", + get: function get() { + return NAME; + } + /** + * @return {string} + */ + + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + /** + * @return {string} + */ + + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + /** + * @return {string} + */ + + }, { + key: "DATA_API_KEY", + get: function get() { + return DATA_API_KEY; + } + }, { + key: "DatePickerModes", + get: function get() { + return DatePickerModes; + } + }, { + key: "ViewModes", + get: function get() { + return ViewModes; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "Selector", + get: function get() { + return Selector; + } + }, { + key: "Default", + get: function get() { + return Default; + }, + set: function set(value) { + Default = value; + } + }, { + key: "ClassName", + get: function get() { + return ClassName; + } + }]); + + return DateTimePicker; + }(); + + return DateTimePicker; +}(jQuery, moment); //noinspection JSUnusedGlobalSymbols + +/* global DateTimePicker */ + +/* global feather */ + + +var TempusDominusBootstrap4 = function ($) { + // eslint-disable-line no-unused-vars + // ReSharper disable once InconsistentNaming + var JQUERY_NO_CONFLICT = $.fn[DateTimePicker.NAME], + verticalModes = ['top', 'bottom', 'auto'], + horizontalModes = ['left', 'right', 'auto'], + toolbarPlacements = ['default', 'top', 'bottom'], + getSelectorFromElement = function getSelectorFromElement($element) { + var selector = $element.data('target'), + $selector; + + if (!selector) { + selector = $element.attr('href') || ''; + selector = /^#[a-z]/i.test(selector) ? selector : null; + } + + $selector = $(selector); + + if ($selector.length === 0) { + return $element; + } + + if (!$selector.data(DateTimePicker.DATA_KEY)) { + $.extend({}, $selector.data(), $(this).data()); + } + + return $selector; + }; // ReSharper disable once InconsistentNaming + + + var TempusDominusBootstrap4 = /*#__PURE__*/function (_DateTimePicker) { + _inheritsLoose(TempusDominusBootstrap4, _DateTimePicker); + + function TempusDominusBootstrap4(element, options) { + var _this; + + _this = _DateTimePicker.call(this, element, options) || this; + + _this._init(); + + return _this; + } + + var _proto2 = TempusDominusBootstrap4.prototype; + + _proto2._init = function _init() { + if (this._element.hasClass('input-group')) { + var datepickerButton = this._element.find('.datepickerbutton'); + + if (datepickerButton.length === 0) { + this.component = this._element.find('[data-toggle="datetimepicker"]'); + } else { + this.component = datepickerButton; + } + } + }; + + _proto2._iconTag = function _iconTag(iconName) { + if (typeof feather !== 'undefined' && this._useFeatherIcons() && feather.icons[iconName]) { + return $('').html(feather.icons[iconName].toSvg()); + } else { + return $('').addClass(iconName); + } + }; + + _proto2._getDatePickerTemplate = function _getDatePickerTemplate() { + var headTemplate = $('').append($('').append($('').append($('').append($('
').addClass('cw').text('#')); - } - - while (currentDate.isBefore(this._viewDate.clone().endOf('w'))) { - row.append($('').addClass('dow').text(currentDate.format('dd'))); - currentDate.add(1, 'd'); - } - - this.widget.find('.datepicker-days thead').append(row); - }; - - _proto2._fillMonths = function _fillMonths() { - var spans = [], - monthsShort = this._viewDate.clone().startOf('y').startOf('d'); - - while (monthsShort.isSame(this._viewDate, 'y')) { - spans.push($('').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM'))); - monthsShort.add(1, 'M'); - } - - this.widget.find('.datepicker-months td').empty().append(spans); - }; - - _proto2._updateMonths = function _updateMonths() { - var monthsView = this.widget.find('.datepicker-months'), - monthsViewHeader = monthsView.find('th'), - months = monthsView.find('tbody').find('span'), - self = this, - lastPickedDate = this._getLastPickedDate(); - - monthsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevYear); - monthsViewHeader.eq(1).attr('title', this._options.tooltips.selectYear); - monthsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextYear); - monthsView.find('.disabled').removeClass('disabled'); - - if (!this._isValid(this._viewDate.clone().subtract(1, 'y'), 'y')) { - monthsViewHeader.eq(0).addClass('disabled'); - } - - monthsViewHeader.eq(1).text(this._viewDate.year()); - - if (!this._isValid(this._viewDate.clone().add(1, 'y'), 'y')) { - monthsViewHeader.eq(2).addClass('disabled'); - } - - months.removeClass('active'); - - if (lastPickedDate && lastPickedDate.isSame(this._viewDate, 'y') && !this.unset) { - months.eq(lastPickedDate.month()).addClass('active'); - } - - months.each(function (index) { - if (!self._isValid(self._viewDate.clone().month(index), 'M')) { - $(this).addClass('disabled'); - } - }); - }; - - _proto2._getStartEndYear = function _getStartEndYear(factor, year) { - var step = factor / 10, - startYear = Math.floor(year / factor) * factor, - endYear = startYear + step * 9, - focusValue = Math.floor(year / step) * step; - return [startYear, endYear, focusValue]; - }; - - _proto2._updateYears = function _updateYears() { - var yearsView = this.widget.find('.datepicker-years'), - yearsViewHeader = yearsView.find('th'), - yearCaps = this._getStartEndYear(10, this._viewDate.year()), - startYear = this._viewDate.clone().year(yearCaps[0]), - endYear = this._viewDate.clone().year(yearCaps[1]); - - var html = ''; - yearsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevDecade); - yearsViewHeader.eq(1).attr('title', this._options.tooltips.selectDecade); - yearsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextDecade); - yearsView.find('.disabled').removeClass('disabled'); - - if (this._options.minDate && this._options.minDate.isAfter(startYear, 'y')) { - yearsViewHeader.eq(0).addClass('disabled'); - } - - yearsViewHeader.eq(1).text(startYear.year() + "-" + endYear.year()); - - if (this._options.maxDate && this._options.maxDate.isBefore(endYear, 'y')) { - yearsViewHeader.eq(2).addClass('disabled'); - } - - html += "" + (startYear.year() - 1) + ""; - - while (!startYear.isAfter(endYear, 'y')) { - html += "" + startYear.year() + ""; - startYear.add(1, 'y'); - } - - html += "" + startYear.year() + ""; - yearsView.find('td').html(html); - }; - - _proto2._updateDecades = function _updateDecades() { - var decadesView = this.widget.find('.datepicker-decades'), - decadesViewHeader = decadesView.find('th'), - yearCaps = this._getStartEndYear(100, this._viewDate.year()), - startDecade = this._viewDate.clone().year(yearCaps[0]), - endDecade = this._viewDate.clone().year(yearCaps[1]), - lastPickedDate = this._getLastPickedDate(); - - var minDateDecade = false, - maxDateDecade = false, - endDecadeYear, - html = ''; - decadesViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevCentury); - decadesViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextCentury); - decadesView.find('.disabled').removeClass('disabled'); - - if (startDecade.year() === 0 || this._options.minDate && this._options.minDate.isAfter(startDecade, 'y')) { - decadesViewHeader.eq(0).addClass('disabled'); - } - - decadesViewHeader.eq(1).text(startDecade.year() + "-" + endDecade.year()); - - if (this._options.maxDate && this._options.maxDate.isBefore(endDecade, 'y')) { - decadesViewHeader.eq(2).addClass('disabled'); - } - - if (startDecade.year() - 10 < 0) { - html += ' '; - } else { - html += "" + (startDecade.year() - 10) + ""; - } - - while (!startDecade.isAfter(endDecade, 'y')) { - endDecadeYear = startDecade.year() + 11; - minDateDecade = this._options.minDate && this._options.minDate.isAfter(startDecade, 'y') && this._options.minDate.year() <= endDecadeYear; - maxDateDecade = this._options.maxDate && this._options.maxDate.isAfter(startDecade, 'y') && this._options.maxDate.year() <= endDecadeYear; - html += "" + startDecade.year() + ""; - startDecade.add(10, 'y'); - } - - html += "" + startDecade.year() + ""; - decadesView.find('td').html(html); - }; - - _proto2._fillDate = function _fillDate() { - _DateTimePicker.prototype._fillDate.call(this); - - var daysView = this.widget.find('.datepicker-days'), - daysViewHeader = daysView.find('th'), - html = []; - var currentDate, row, clsName, i; - - if (!this._hasDate()) { - return; - } - - daysViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevMonth); - daysViewHeader.eq(1).attr('title', this._options.tooltips.selectMonth); - daysViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextMonth); - daysView.find('.disabled').removeClass('disabled'); - daysViewHeader.eq(1).text(this._viewDate.format(this._options.dayViewHeaderFormat)); - - if (!this._isValid(this._viewDate.clone().subtract(1, 'M'), 'M')) { - daysViewHeader.eq(0).addClass('disabled'); - } - - if (!this._isValid(this._viewDate.clone().add(1, 'M'), 'M')) { - daysViewHeader.eq(2).addClass('disabled'); - } - - currentDate = this._viewDate.clone().startOf('M').startOf('w').startOf('d'); - - for (i = 0; i < 42; i++) { - //always display 42 days (should show 6 weeks) - if (currentDate.weekday() === 0) { - row = $('
" + currentDate.week() + "" + currentDate.date() + "
" + currentHour.format(this.use24Hours ? 'HH' : 'hh') + "
" + currentMinute.format('mm') + "
" + currentSecond.format('ss') + "
').addClass('prev').attr('data-action', 'previous').append(this._iconTag(this._options.icons.previous))).append($('').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', "" + (this._options.calendarWeeks ? '6' : '5'))).append($('').addClass('next').attr('data-action', 'next').append(this._iconTag(this._options.icons.next)))), + contTemplate = $('
').attr('colspan', "" + (this._options.calendarWeeks ? '8' : '7')))); + return [$('
').addClass('datepicker-days').append($('').addClass('table table-sm').append(headTemplate).append($(''))), $('
').addClass('datepicker-months').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('
').addClass('datepicker-years').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('
').addClass('datepicker-decades').append($('
').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone()))]; + }; + + _proto2._getTimePickerMainTemplate = function _getTimePickerMainTemplate() { + var topRow = $(''), + middleRow = $(''), + bottomRow = $(''); + + if (this._isEnabled('h')) { + topRow.append($('
').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.incrementHour + }).addClass('btn').attr('data-action', 'incrementHours').append(this._iconTag(this._options.icons.up)))); + middleRow.append($('').append($('').addClass('timepicker-hour').attr({ + 'data-time-component': 'hours', + 'title': this._options.tooltips.pickHour + }).attr('data-action', 'showHours'))); + bottomRow.append($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.decrementHour + }).addClass('btn').attr('data-action', 'decrementHours').append(this._iconTag(this._options.icons.down)))); + } + + if (this._isEnabled('m')) { + if (this._isEnabled('h')) { + topRow.append($('').addClass('separator')); + middleRow.append($('').addClass('separator').html(':')); + bottomRow.append($('').addClass('separator')); + } + + topRow.append($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.incrementMinute + }).addClass('btn').attr('data-action', 'incrementMinutes').append(this._iconTag(this._options.icons.up)))); + middleRow.append($('').append($('').addClass('timepicker-minute').attr({ + 'data-time-component': 'minutes', + 'title': this._options.tooltips.pickMinute + }).attr('data-action', 'showMinutes'))); + bottomRow.append($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.decrementMinute + }).addClass('btn').attr('data-action', 'decrementMinutes').append(this._iconTag(this._options.icons.down)))); + } + + if (this._isEnabled('s')) { + if (this._isEnabled('m')) { + topRow.append($('').addClass('separator')); + middleRow.append($('').addClass('separator').html(':')); + bottomRow.append($('').addClass('separator')); + } + + topRow.append($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.incrementSecond + }).addClass('btn').attr('data-action', 'incrementSeconds').append(this._iconTag(this._options.icons.up)))); + middleRow.append($('').append($('').addClass('timepicker-second').attr({ + 'data-time-component': 'seconds', + 'title': this._options.tooltips.pickSecond + }).attr('data-action', 'showSeconds'))); + bottomRow.append($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'title': this._options.tooltips.decrementSecond + }).addClass('btn').attr('data-action', 'decrementSeconds').append(this._iconTag(this._options.icons.down)))); + } + + if (!this.use24Hours) { + topRow.append($('').addClass('separator')); + middleRow.append($('').append($('').addClass('separator')); + } + + return $('
').addClass('timepicker-picker').append($('').addClass('table-condensed').append([topRow, middleRow, bottomRow])); + }; + + _proto2._getTimePickerTemplate = function _getTimePickerTemplate() { + var hoursView = $('
').addClass('timepicker-hours').append($('
').addClass('table-condensed')), + minutesView = $('
').addClass('timepicker-minutes').append($('
').addClass('table-condensed')), + secondsView = $('
').addClass('timepicker-seconds').append($('
').addClass('table-condensed')), + ret = [this._getTimePickerMainTemplate()]; + + if (this._isEnabled('h')) { + ret.push(hoursView); + } + + if (this._isEnabled('m')) { + ret.push(minutesView); + } + + if (this._isEnabled('s')) { + ret.push(secondsView); + } + + return ret; + }; + + _proto2._getToolbar = function _getToolbar() { + var row = []; + + if (this._options.buttons.showToday) { + row.push($('
').append($('').attr({ + href: '#', + tabindex: '-1', + 'data-action': 'today', + 'title': this._options.tooltips.today + }).append(this._iconTag(this._options.icons.today)))); + } + + if (!this._options.sideBySide && this._options.collapse && this._hasDate() && this._hasTime()) { + var title, icon; + + if (this._options.viewMode === 'times') { + title = this._options.tooltips.selectDate; + icon = this._options.icons.date; + } else { + title = this._options.tooltips.selectTime; + icon = this._options.icons.time; + } + + row.push($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'data-action': 'togglePicker', + 'title': title + }).append(this._iconTag(icon)))); + } + + if (this._options.buttons.showClear) { + row.push($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'data-action': 'clear', + 'title': this._options.tooltips.clear + }).append(this._iconTag(this._options.icons.clear)))); + } + + if (this._options.buttons.showClose) { + row.push($('').append($('').attr({ + href: '#', + tabindex: '-1', + 'data-action': 'close', + 'title': this._options.tooltips.close + }).append(this._iconTag(this._options.icons.close)))); + } + + return row.length === 0 ? '' : $('').addClass('table-condensed').append($('').append($('').append(row))); + }; + + _proto2._getTemplate = function _getTemplate() { + var template = $('
').addClass(("bootstrap-datetimepicker-widget dropdown-menu " + (this._options.calendarWeeks ? 'tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks' : '') + " " + ((this._useFeatherIcons() ? 'tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons' : '') + " ")).trim()), + dateView = $('
').addClass('datepicker').append(this._getDatePickerTemplate()), + timeView = $('
').addClass('timepicker').append(this._getTimePickerTemplate()), + content = $('
    ').addClass('list-unstyled'), + toolbar = $('
  • ').addClass(("picker-switch" + (this._options.collapse ? ' accordion-toggle' : '') + " " + ("" + (this._useFeatherIcons() ? 'picker-switch-with-feathers-icons' : ''))).trim()).append(this._getToolbar()); + + if (this._options.inline) { + template.removeClass('dropdown-menu'); + } + + if (this.use24Hours) { + template.addClass('usetwentyfour'); + } + + if (this.input !== undefined && this.input.prop('readonly') || this._options.readonly) { + template.addClass('bootstrap-datetimepicker-widget-readonly'); + } + + if (this._isEnabled('s') && !this.use24Hours) { + template.addClass('wider'); + } + + if (this._options.sideBySide && this._hasDate() && this._hasTime()) { + template.addClass('timepicker-sbs'); + + if (this._options.toolbarPlacement === 'top') { + template.append(toolbar); + } + + template.append($('
    ').addClass('row').append(dateView.addClass('col-md-6')).append(timeView.addClass('col-md-6'))); + + if (this._options.toolbarPlacement === 'bottom' || this._options.toolbarPlacement === 'default') { + template.append(toolbar); + } + + return template; + } + + if (this._options.toolbarPlacement === 'top') { + content.append(toolbar); + } + + if (this._hasDate()) { + content.append($('
  • ').addClass(this._options.collapse && this._hasTime() ? 'collapse' : '').addClass(this._options.collapse && this._hasTime() && this._options.viewMode === 'times' ? '' : 'show').append(dateView)); + } + + if (this._options.toolbarPlacement === 'default') { + content.append(toolbar); + } + + if (this._hasTime()) { + content.append($('
  • ').addClass(this._options.collapse && this._hasDate() ? 'collapse' : '').addClass(this._options.collapse && this._hasDate() && this._options.viewMode === 'times' ? 'show' : '').append(timeView)); + } + + if (this._options.toolbarPlacement === 'bottom') { + content.append(toolbar); + } + + return template.append(content); + }; + + _proto2._place = function _place(e) { + var self = e && e.data && e.data.picker || this, + vertical = self._options.widgetPositioning.vertical, + horizontal = self._options.widgetPositioning.horizontal, + parent; + var position = (self.component && self.component.length ? self.component : self._element).position(), + offset = (self.component && self.component.length ? self.component : self._element).offset(); + + if (self._options.widgetParent) { + parent = self._options.widgetParent.append(self.widget); + } else if (self._element.is('input')) { + parent = self._element.after(self.widget).parent(); + } else if (self._options.inline) { + parent = self._element.append(self.widget); + return; + } else { + parent = self._element; + + self._element.children().first().after(self.widget); + } // Top and bottom logic + + + if (vertical === 'auto') { + //noinspection JSValidateTypes + if (offset.top + self.widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() && self.widget.height() + self._element.outerHeight() < offset.top) { + vertical = 'top'; + } else { + vertical = 'bottom'; + } + } // Left and right logic + + + if (horizontal === 'auto') { + if (parent.width() < offset.left + self.widget.outerWidth() / 2 && offset.left + self.widget.outerWidth() > $(window).width()) { + horizontal = 'right'; + } else { + horizontal = 'left'; + } + } + + if (vertical === 'top') { + self.widget.addClass('top').removeClass('bottom'); + } else { + self.widget.addClass('bottom').removeClass('top'); + } + + if (horizontal === 'right') { + self.widget.addClass('float-right'); + } else { + self.widget.removeClass('float-right'); + } // find the first parent element that has a relative css positioning + + + if (parent.css('position') !== 'relative') { + parent = parent.parents().filter(function () { + return $(this).css('position') === 'relative'; + }).first(); + } + + if (parent.length === 0) { + throw new Error('datetimepicker component should be placed within a relative positioned container'); + } + + self.widget.css({ + top: vertical === 'top' ? 'auto' : position.top + self._element.outerHeight() + 'px', + bottom: vertical === 'top' ? parent.outerHeight() - (parent === self._element ? 0 : position.top) + 'px' : 'auto', + left: horizontal === 'left' ? (parent === self._element ? 0 : position.left) + 'px' : 'auto', + right: horizontal === 'left' ? 'auto' : parent.outerWidth() - self._element.outerWidth() - (parent === self._element ? 0 : position.left) + 'px' + }); + }; + + _proto2._fillDow = function _fillDow() { + var row = $('
'), + currentDate = this._viewDate.clone().startOf('w').startOf('d'); + + if (this._options.calendarWeeks === true) { + row.append($(''); + + if (this._options.calendarWeeks) { + row.append(""); + } + + html.push(row); + } + + clsName = ''; + + if (currentDate.isBefore(this._viewDate, 'M')) { + clsName += ' old'; + } + + if (currentDate.isAfter(this._viewDate, 'M')) { + clsName += ' new'; + } + + if (this._options.allowMultidate) { + var index = this._datesFormatted.indexOf(currentDate.format('YYYY-MM-DD')); + + if (index !== -1) { + if (currentDate.isSame(this._datesFormatted[index], 'd') && !this.unset) { + clsName += ' active'; + } + } + } else { + if (currentDate.isSame(this._getLastPickedDate(), 'd') && !this.unset) { + clsName += ' active'; + } + } + + if (!this._isValid(currentDate, 'd')) { + clsName += ' disabled'; + } + + if (currentDate.isSame(this.getMoment(), 'd')) { + clsName += ' today'; + } + + if (currentDate.day() === 0 || currentDate.day() === 6) { + clsName += ' weekend'; + } + + row.append(""); + currentDate.add(1, 'd'); + } + + $('body').addClass('tempusdominus-bootstrap-datetimepicker-widget-day-click'); + $('body').append('
'); + daysView.find('tbody').empty().append(html); + $('body').find('.tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel').remove(); + $('body').removeClass('tempusdominus-bootstrap-datetimepicker-widget-day-click'); + + this._updateMonths(); + + this._updateYears(); + + this._updateDecades(); + }; + + _proto2._fillHours = function _fillHours() { + var table = this.widget.find('.timepicker-hours table'), + currentHour = this._viewDate.clone().startOf('d'), + html = []; + + var row = $(''); + + if (this._viewDate.hour() > 11 && !this.use24Hours) { + currentHour.hour(12); + } + + while (currentHour.isSame(this._viewDate, 'd') && (this.use24Hours || this._viewDate.hour() < 12 && currentHour.hour() < 12 || this._viewDate.hour() > 11)) { + if (currentHour.hour() % 4 === 0) { + row = $(''); + html.push(row); + } + + row.append(""); + currentHour.add(1, 'h'); + } + + table.empty().append(html); + }; + + _proto2._fillMinutes = function _fillMinutes() { + var table = this.widget.find('.timepicker-minutes table'), + currentMinute = this._viewDate.clone().startOf('h'), + html = [], + step = this._options.stepping === 1 ? 5 : this._options.stepping; + + var row = $(''); + + while (this._viewDate.isSame(currentMinute, 'h')) { + if (currentMinute.minute() % (step * 4) === 0) { + row = $(''); + html.push(row); + } + + row.append(""); + currentMinute.add(step, 'm'); + } + + table.empty().append(html); + }; + + _proto2._fillSeconds = function _fillSeconds() { + var table = this.widget.find('.timepicker-seconds table'), + currentSecond = this._viewDate.clone().startOf('m'), + html = []; + + var row = $(''); + + while (this._viewDate.isSame(currentSecond, 'm')) { + if (currentSecond.second() % 20 === 0) { + row = $(''); + html.push(row); + } + + row.append(""); + currentSecond.add(5, 's'); + } + + table.empty().append(html); + }; + + _proto2._fillTime = function _fillTime() { + var toggle, newDate; + + var timeComponents = this.widget.find('.timepicker span[data-time-component]'), + lastPickedDate = this._getLastPickedDate(); + + if (!this.use24Hours) { + toggle = this.widget.find('.timepicker [data-action=togglePeriod]'); + newDate = lastPickedDate ? lastPickedDate.clone().add(lastPickedDate.hours() >= 12 ? -12 : 12, 'h') : void 0; + lastPickedDate && toggle.text(lastPickedDate.format('A')); + + if (this._isValid(newDate, 'h')) { + toggle.removeClass('disabled'); + } else { + toggle.addClass('disabled'); + } + } + + lastPickedDate && timeComponents.filter('[data-time-component=hours]').text(lastPickedDate.format("" + (this.use24Hours ? 'HH' : 'hh'))); + lastPickedDate && timeComponents.filter('[data-time-component=minutes]').text(lastPickedDate.format('mm')); + lastPickedDate && timeComponents.filter('[data-time-component=seconds]').text(lastPickedDate.format('ss')); + + this._fillHours(); + + this._fillMinutes(); + + this._fillSeconds(); + }; + + _proto2._doAction = function _doAction(e, action) { + var lastPicked = this._getLastPickedDate(); + + if ($(e.currentTarget).is('.disabled')) { + return false; + } + + action = action || $(e.currentTarget).data('action'); + + switch (action) { + case 'next': + { + var navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION; + + this._viewDate.add(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, navFnc); + + this._fillDate(); + + this._viewUpdate(navFnc); + + break; + } + + case 'previous': + { + var _navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION; + + this._viewDate.subtract(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, _navFnc); + + this._fillDate(); + + this._viewUpdate(_navFnc); + + break; + } + + case 'pickerSwitch': + this._showMode(1); + + break; + + case 'selectMonth': + { + var month = $(e.target).closest('tbody').find('span').index($(e.target)); + + this._viewDate.month(month); + + if (this.currentViewMode === this.MinViewModeNumber) { + this._setValue(lastPicked.clone().year(this._viewDate.year()).month(this._viewDate.month()), this._getLastPickedDateIndex()); + + if (!this._options.inline) { + this.hide(); + } + } else { + this._showMode(-1); + + this._fillDate(); + } + + this._viewUpdate('M'); + + break; + } + + case 'selectYear': + { + var year = parseInt($(e.target).text(), 10) || 0; + + this._viewDate.year(year); + + if (this.currentViewMode === this.MinViewModeNumber) { + this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex()); + + if (!this._options.inline) { + this.hide(); + } + } else { + this._showMode(-1); + + this._fillDate(); + } + + this._viewUpdate('YYYY'); + + break; + } + + case 'selectDecade': + { + var _year = parseInt($(e.target).data('selection'), 10) || 0; + + this._viewDate.year(_year); + + if (this.currentViewMode === this.MinViewModeNumber) { + this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex()); + + if (!this._options.inline) { + this.hide(); + } + } else { + this._showMode(-1); + + this._fillDate(); + } + + this._viewUpdate('YYYY'); + + break; + } + + case 'selectDay': + { + var day = this._viewDate.clone(); + + if ($(e.target).is('.old')) { + day.subtract(1, 'M'); + } + + if ($(e.target).is('.new')) { + day.add(1, 'M'); + } + + var selectDate = day.date(parseInt($(e.target).text(), 10)), + index = 0; + + if (this._options.allowMultidate) { + index = this._datesFormatted.indexOf(selectDate.format('YYYY-MM-DD')); + + if (index !== -1) { + this._setValue(null, index); //deselect multidate + + } else { + this._setValue(selectDate, this._getLastPickedDateIndex() + 1); + } + } else { + this._setValue(selectDate, this._getLastPickedDateIndex()); + } + + if (!this._hasTime() && !this._options.keepOpen && !this._options.inline && !this._options.allowMultidate) { + this.hide(); + } + + break; + } + + case 'incrementHours': + { + if (!lastPicked) { + break; + } + + var newDate = lastPicked.clone().add(1, 'h'); + + if (this._isValid(newDate, 'h')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(newDate); + } + + this._setValue(newDate, this._getLastPickedDateIndex()); + } + + break; + } + + case 'incrementMinutes': + { + if (!lastPicked) { + break; + } + + var _newDate = lastPicked.clone().add(this._options.stepping, 'm'); + + if (this._isValid(_newDate, 'm')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(_newDate); + } + + this._setValue(_newDate, this._getLastPickedDateIndex()); + } + + break; + } + + case 'incrementSeconds': + { + if (!lastPicked) { + break; + } + + var _newDate2 = lastPicked.clone().add(1, 's'); + + if (this._isValid(_newDate2, 's')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(_newDate2); + } + + this._setValue(_newDate2, this._getLastPickedDateIndex()); + } + + break; + } + + case 'decrementHours': + { + if (!lastPicked) { + break; + } + + var _newDate3 = lastPicked.clone().subtract(1, 'h'); + + if (this._isValid(_newDate3, 'h')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(_newDate3); + } + + this._setValue(_newDate3, this._getLastPickedDateIndex()); + } + + break; + } + + case 'decrementMinutes': + { + if (!lastPicked) { + break; + } + + var _newDate4 = lastPicked.clone().subtract(this._options.stepping, 'm'); + + if (this._isValid(_newDate4, 'm')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(_newDate4); + } + + this._setValue(_newDate4, this._getLastPickedDateIndex()); + } + + break; + } + + case 'decrementSeconds': + { + if (!lastPicked) { + break; + } + + var _newDate5 = lastPicked.clone().subtract(1, 's'); + + if (this._isValid(_newDate5, 's')) { + if (this._getLastPickedDateIndex() < 0) { + this.date(_newDate5); + } + + this._setValue(_newDate5, this._getLastPickedDateIndex()); + } + + break; + } + + case 'togglePeriod': + { + this._setValue(lastPicked.clone().add(lastPicked.hours() >= 12 ? -12 : 12, 'h'), this._getLastPickedDateIndex()); + + break; + } + + case 'togglePicker': + { + var $this = $(e.target), + $link = $this.closest('a'), + $parent = $this.closest('ul'), + expanded = $parent.find('.show'), + closed = $parent.find('.collapse:not(.show)'), + $span = $this.is('span') ? $this : $this.find('span'); + var collapseData, inactiveIcon, iconTest; + + if (expanded && expanded.length) { + collapseData = expanded.data('collapse'); + + if (collapseData && collapseData.transitioning) { + return true; + } + + if (expanded.collapse) { + // if collapse plugin is available through bootstrap.js then use it + expanded.collapse('hide'); + closed.collapse('show'); + } else { + // otherwise just toggle in class on the two views + expanded.removeClass('show'); + closed.addClass('show'); + } + + if (this._useFeatherIcons()) { + $link.toggleClass(this._options.icons.time + ' ' + this._options.icons.date); + inactiveIcon = $link.hasClass(this._options.icons.time) ? this._options.icons.date : this._options.icons.time; + $link.html(this._iconTag(inactiveIcon)); + } else { + $span.toggleClass(this._options.icons.time + ' ' + this._options.icons.date); + } + + if (this._useFeatherIcons()) { + iconTest = $link.hasClass(this._options.icons.date); + } else { + iconTest = $span.hasClass(this._options.icons.date); + } + + if (iconTest) { + $link.attr('title', this._options.tooltips.selectDate); + } else { + $link.attr('title', this._options.tooltips.selectTime); + } + } + } + break; + + case 'showPicker': + this.widget.find('.timepicker > div:not(.timepicker-picker)').hide(); + this.widget.find('.timepicker .timepicker-picker').show(); + break; + + case 'showHours': + this.widget.find('.timepicker .timepicker-picker').hide(); + this.widget.find('.timepicker .timepicker-hours').show(); + break; + + case 'showMinutes': + this.widget.find('.timepicker .timepicker-picker').hide(); + this.widget.find('.timepicker .timepicker-minutes').show(); + break; + + case 'showSeconds': + this.widget.find('.timepicker .timepicker-picker').hide(); + this.widget.find('.timepicker .timepicker-seconds').show(); + break; + + case 'selectHour': + { + var hour = parseInt($(e.target).text(), 10); + + if (!this.use24Hours) { + if (lastPicked.hours() >= 12) { + if (hour !== 12) { + hour += 12; + } + } else { + if (hour === 12) { + hour = 0; + } + } + } + + this._setValue(lastPicked.clone().hours(hour), this._getLastPickedDateIndex()); + + if (!this._isEnabled('a') && !this._isEnabled('m') && !this._options.keepOpen && !this._options.inline) { + this.hide(); + } else { + this._doAction(e, 'showPicker'); + } + + break; + } + + case 'selectMinute': + this._setValue(lastPicked.clone().minutes(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex()); + + if (!this._isEnabled('a') && !this._isEnabled('s') && !this._options.keepOpen && !this._options.inline) { + this.hide(); + } else { + this._doAction(e, 'showPicker'); + } + + break; + + case 'selectSecond': + this._setValue(lastPicked.clone().seconds(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex()); + + if (!this._isEnabled('a') && !this._options.keepOpen && !this._options.inline) { + this.hide(); + } else { + this._doAction(e, 'showPicker'); + } + + break; + + case 'clear': + this.clear(); + break; + + case 'close': + this.hide(); + break; + + case 'today': + { + var todaysDate = this.getMoment(); + + if (this._isValid(todaysDate, 'd')) { + this._setValue(todaysDate, this._getLastPickedDateIndex()); + } + + break; + } + } + + return false; + } //public + ; + + _proto2.hide = function hide() { + var transitioning = false; + + if (!this.widget) { + return; + } // Ignore event if in the middle of a picker transition + + + this.widget.find('.collapse').each(function () { + var collapseData = $(this).data('collapse'); + + if (collapseData && collapseData.transitioning) { + transitioning = true; + return false; + } + + return true; + }); + + if (transitioning) { + return; + } + + if (this.component && this.component.hasClass('btn')) { + this.component.toggleClass('active'); + } + + this.widget.hide(); + $(window).off('resize', this._place); + this.widget.off('click', '[data-action]'); + this.widget.off('mousedown', false); + this.widget.remove(); + this.widget = false; + + if (this.input !== undefined && this.input.val() !== undefined && this.input.val().trim().length !== 0) { + this._setValue(this._parseInputDate(this.input.val().trim(), { + isPickerShow: false + }), 0); + } + + var lastPickedDate = this._getLastPickedDate(); + + this._notifyEvent({ + type: DateTimePicker.Event.HIDE, + date: this.unset ? null : lastPickedDate ? lastPickedDate.clone() : void 0 + }); + + if (this.input !== undefined) { + this.input.blur(); + } + + this._viewDate = lastPickedDate ? lastPickedDate.clone() : this.getMoment(); + }; + + _proto2.show = function show() { + var currentMoment, + shouldUseCurrentIfUnset = false; + var useCurrentGranularity = { + 'year': function year(m) { + return m.month(0).date(1).hours(0).seconds(0).minutes(0); + }, + 'month': function month(m) { + return m.date(1).hours(0).seconds(0).minutes(0); + }, + 'day': function day(m) { + return m.hours(0).seconds(0).minutes(0); + }, + 'hour': function hour(m) { + return m.seconds(0).minutes(0); + }, + 'minute': function minute(m) { + return m.seconds(0); + } + }; + + if (this.input !== undefined) { + if (this.input.prop('disabled') || !this._options.ignoreReadonly && this.input.prop('readonly') || this.widget) { + return; + } + + if (this.input.val() !== undefined && this.input.val().trim().length !== 0) { + this._setValue(this._parseInputDate(this.input.val().trim(), { + isPickerShow: true + }), 0); + } else { + shouldUseCurrentIfUnset = true; + } + } else { + shouldUseCurrentIfUnset = true; + } + + if (shouldUseCurrentIfUnset && this.unset && this._options.useCurrent) { + currentMoment = this.getMoment(); + + if (typeof this._options.useCurrent === 'string') { + currentMoment = useCurrentGranularity[this._options.useCurrent](currentMoment); + } + + this._setValue(currentMoment, 0); + } + + this.widget = this._getTemplate(); + + this._fillDow(); + + this._fillMonths(); + + this.widget.find('.timepicker-hours').hide(); + this.widget.find('.timepicker-minutes').hide(); + this.widget.find('.timepicker-seconds').hide(); + + this._update(); + + this._showMode(); + + $(window).on('resize', { + picker: this + }, this._place); + this.widget.on('click', '[data-action]', $.proxy(this._doAction, this)); // this handles clicks on the widget + + this.widget.on('mousedown', false); + + if (this.component && this.component.hasClass('btn')) { + this.component.toggleClass('active'); + } + + this._place(); + + this.widget.show(); + + if (this.input !== undefined && this._options.focusOnShow && !this.input.is(':focus')) { + this.input.focus(); + } + + this._notifyEvent({ + type: DateTimePicker.Event.SHOW + }); + }; + + _proto2.destroy = function destroy() { + this.hide(); //todo doc off? + + this._element.removeData(DateTimePicker.DATA_KEY); + + this._element.removeData('date'); + }; + + _proto2.disable = function disable() { + this.hide(); + + if (this.component && this.component.hasClass('btn')) { + this.component.addClass('disabled'); + } + + if (this.input !== undefined) { + this.input.prop('disabled', true); //todo disable this/comp if input is null + } + }; + + _proto2.enable = function enable() { + if (this.component && this.component.hasClass('btn')) { + this.component.removeClass('disabled'); + } + + if (this.input !== undefined) { + this.input.prop('disabled', false); //todo enable comp/this if input is null + } + }; + + _proto2.toolbarPlacement = function toolbarPlacement(_toolbarPlacement) { + if (arguments.length === 0) { + return this._options.toolbarPlacement; + } + + if (typeof _toolbarPlacement !== 'string') { + throw new TypeError('toolbarPlacement() expects a string parameter'); + } + + if (toolbarPlacements.indexOf(_toolbarPlacement) === -1) { + throw new TypeError("toolbarPlacement() parameter must be one of (" + toolbarPlacements.join(', ') + ") value"); + } + + this._options.toolbarPlacement = _toolbarPlacement; + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto2.widgetPositioning = function widgetPositioning(_widgetPositioning) { + if (arguments.length === 0) { + return $.extend({}, this._options.widgetPositioning); + } + + if ({}.toString.call(_widgetPositioning) !== '[object Object]') { + throw new TypeError('widgetPositioning() expects an object variable'); + } + + if (_widgetPositioning.horizontal) { + if (typeof _widgetPositioning.horizontal !== 'string') { + throw new TypeError('widgetPositioning() horizontal variable must be a string'); + } + + _widgetPositioning.horizontal = _widgetPositioning.horizontal.toLowerCase(); + + if (horizontalModes.indexOf(_widgetPositioning.horizontal) === -1) { + throw new TypeError("widgetPositioning() expects horizontal parameter to be one of (" + horizontalModes.join(', ') + ")"); + } + + this._options.widgetPositioning.horizontal = _widgetPositioning.horizontal; + } + + if (_widgetPositioning.vertical) { + if (typeof _widgetPositioning.vertical !== 'string') { + throw new TypeError('widgetPositioning() vertical variable must be a string'); + } + + _widgetPositioning.vertical = _widgetPositioning.vertical.toLowerCase(); + + if (verticalModes.indexOf(_widgetPositioning.vertical) === -1) { + throw new TypeError("widgetPositioning() expects vertical parameter to be one of (" + verticalModes.join(', ') + ")"); + } + + this._options.widgetPositioning.vertical = _widgetPositioning.vertical; + } + + this._update(); + }; + + _proto2.widgetParent = function widgetParent(_widgetParent) { + if (arguments.length === 0) { + return this._options.widgetParent; + } + + if (typeof _widgetParent === 'string') { + _widgetParent = $(_widgetParent); + } + + if (_widgetParent !== null && typeof _widgetParent !== 'string' && !(_widgetParent instanceof $)) { + throw new TypeError('widgetParent() expects a string or a jQuery object parameter'); + } + + this._options.widgetParent = _widgetParent; + + if (this.widget) { + this.hide(); + this.show(); + } + }; + + _proto2.setMultiDate = function setMultiDate(multiDateArray) { + var dateFormat = this._options.format; + this.clear(); + + for (var index = 0; index < multiDateArray.length; index++) { + var date = moment(multiDateArray[index], dateFormat); + + this._setValue(date, index); + } + } //static + ; + + TempusDominusBootstrap4._jQueryHandleThis = function _jQueryHandleThis(me, option, argument) { + var data = $(me).data(DateTimePicker.DATA_KEY); + + if (typeof option === 'object') { + $.extend({}, DateTimePicker.Default, option); + } + + if (!data) { + data = new TempusDominusBootstrap4($(me), option); + $(me).data(DateTimePicker.DATA_KEY, data); + } + + if (typeof option === 'string') { + if (data[option] === undefined) { + throw new Error("No method named \"" + option + "\""); + } + + if (argument === undefined) { + return data[option](); + } else { + if (option === 'date') { + data.isDateUpdateThroughDateOptionFromClientCode = true; + } + + var ret = data[option](argument); + data.isDateUpdateThroughDateOptionFromClientCode = false; + return ret; + } + } + }; + + TempusDominusBootstrap4._jQueryInterface = function _jQueryInterface(option, argument) { + if (this.length === 1) { + return TempusDominusBootstrap4._jQueryHandleThis(this[0], option, argument); + } + + return this.each(function () { + TempusDominusBootstrap4._jQueryHandleThis(this, option, argument); + }); + }; + + return TempusDominusBootstrap4; + }(DateTimePicker); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $(document).on(DateTimePicker.Event.CLICK_DATA_API, DateTimePicker.Selector.DATA_TOGGLE, function () { + var $originalTarget = $(this), + $target = getSelectorFromElement($originalTarget), + config = $target.data(DateTimePicker.DATA_KEY); + + if ($target.length === 0) { + return; + } + + if (config._options.allowInputToggle && $originalTarget.is('input[data-toggle="datetimepicker"]')) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, 'toggle'); + }).on(DateTimePicker.Event.CHANGE, "." + DateTimePicker.ClassName.INPUT, function (event) { + var $target = getSelectorFromElement($(this)); + + if ($target.length === 0 || event.isInit) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, '_change', event); + }).on(DateTimePicker.Event.BLUR, "." + DateTimePicker.ClassName.INPUT, function (event) { + var $target = getSelectorFromElement($(this)), + config = $target.data(DateTimePicker.DATA_KEY); + + if ($target.length === 0) { + return; + } + + if (config._options.debug || window.debug) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, 'hide', event); + }).on(DateTimePicker.Event.KEYDOWN, "." + DateTimePicker.ClassName.INPUT, function (event) { + var $target = getSelectorFromElement($(this)); + + if ($target.length === 0) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, '_keydown', event); + }).on(DateTimePicker.Event.KEYUP, "." + DateTimePicker.ClassName.INPUT, function (event) { + var $target = getSelectorFromElement($(this)); + + if ($target.length === 0) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, '_keyup', event); + }).on(DateTimePicker.Event.FOCUS, "." + DateTimePicker.ClassName.INPUT, function (event) { + var $target = getSelectorFromElement($(this)), + config = $target.data(DateTimePicker.DATA_KEY); + + if ($target.length === 0) { + return; + } + + if (!config._options.allowInputToggle) { + return; + } + + TempusDominusBootstrap4._jQueryInterface.call($target, 'show', event); + }); + $.fn[DateTimePicker.NAME] = TempusDominusBootstrap4._jQueryInterface; + $.fn[DateTimePicker.NAME].Constructor = TempusDominusBootstrap4; + + $.fn[DateTimePicker.NAME].noConflict = function () { + $.fn[DateTimePicker.NAME] = JQUERY_NO_CONFLICT; + return TempusDominusBootstrap4._jQueryInterface; + }; + + return TempusDominusBootstrap4; +}(jQuery); + +}(); diff --git a/static/import_export/guess_format.1e929842623e.js b/static/import_export/guess_format.1e929842623e.js new file mode 100644 index 00000000..cd1635fc --- /dev/null +++ b/static/import_export/guess_format.1e929842623e.js @@ -0,0 +1,21 @@ +(function($) { + $().ready(function () { + $('input.guess_format[type="file"]').change(function () { + var files = this.files; + var dropdowns = $(this.form).find('select.guess_format'); + if(files.length > 0) { + var extension = files[0].name.split('.').pop().trim().toLowerCase(); + for(var i = 0; i < dropdowns.length; i++) { + var dropdown = dropdowns[i]; + dropdown.selectedIndex = 0; + for(var j = 0; j < dropdown.options.length; j++) { + if(extension === dropdown.options[j].text.trim().toLowerCase()) { + dropdown.selectedIndex = j; + break; + } + } + } + } + }); + }); +})(django.jQuery); diff --git a/static/import_export/guess_format.1e929842623e.js.gz b/static/import_export/guess_format.1e929842623e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..80c52f1d60d9e1f1b8e92958c35ee3396fce6efd GIT binary patch literal 329 zcmV-P0k-}hiwFP!00002|9w)yZo)7Oz4H|oLTW0chCL`gb8 z6aPM^S)nkrOPtuxe$P)~ZLils8qF3te9r(DEawgzabjZySgOQYCbjJY-}LDHM{C@^ z2~{{*Ea$E4a9(FQUvC?|!3W&{UyXx^^H4(AO3#N!F{uh?tS|>15et?u#F7(I3zm88 zaD7Xk%3)CK9-@(fX?rb+2S_YvM*({%NjM%>zLmI&nYkAJM9~Lw?ft+TAA4vq$&wmg0G^ bKc45D2}PgGaP{7!J5lNfX>NKq#{vKV%G{o> literal 0 HcmV?d00001 diff --git a/static/import_export/guess_format.js b/static/import_export/guess_format.js new file mode 100644 index 00000000..cd1635fc --- /dev/null +++ b/static/import_export/guess_format.js @@ -0,0 +1,21 @@ +(function($) { + $().ready(function () { + $('input.guess_format[type="file"]').change(function () { + var files = this.files; + var dropdowns = $(this.form).find('select.guess_format'); + if(files.length > 0) { + var extension = files[0].name.split('.').pop().trim().toLowerCase(); + for(var i = 0; i < dropdowns.length; i++) { + var dropdown = dropdowns[i]; + dropdown.selectedIndex = 0; + for(var j = 0; j < dropdown.options.length; j++) { + if(extension === dropdown.options[j].text.trim().toLowerCase()) { + dropdown.selectedIndex = j; + break; + } + } + } + } + }); + }); +})(django.jQuery); diff --git a/static/import_export/guess_format.js.gz b/static/import_export/guess_format.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..80c52f1d60d9e1f1b8e92958c35ee3396fce6efd GIT binary patch literal 329 zcmV-P0k-}hiwFP!00002|9w)yZo)7Oz4H|oLTW0chCL`gb8 z6aPM^S)nkrOPtuxe$P)~ZLils8qF3te9r(DEawgzabjZySgOQYCbjJY-}LDHM{C@^ z2~{{*Ea$E4a9(FQUvC?|!3W&{UyXx^^H4(AO3#N!F{uh?tS|>15et?u#F7(I3zm88 zaD7Xk%3)CK9-@(fX?rb+2S_YvM*({%NjM%>zLmI&nYkAJM9~Lw?ft+TAA4vq$&wmg0G^ bKc45D2}PgGaP{7!J5lNfX>NKq#{vKV%G{o> literal 0 HcmV?d00001 diff --git a/static/rest_framework/css/bootstrap-theme.min.66b84a04375e.css b/static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css similarity index 99% rename from static/rest_framework/css/bootstrap-theme.min.66b84a04375e.css rename to static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css index 30c85f62..a6603536 100644 --- a/static/rest_framework/css/bootstrap-theme.min.66b84a04375e.css +++ b/static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.4.0 (https://getbootstrap.com/) - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x;background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-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-image:-o-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-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)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -/*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-theme.min.css.51806092cc05.map */ \ No newline at end of file diff --git a/static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz b/static/rest_framework/css/bootstrap-theme.min.1d4b05b397c3.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..7e4b471b4dd949dd52560be8ef2f4bf49a5f046f GIT binary patch literal 2783 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 diff --git a/static/rest_framework/css/bootstrap-theme.min.css b/static/rest_framework/css/bootstrap-theme.min.css index 30c85f62..2a69f48c 100644 --- a/static/rest_framework/css/bootstrap-theme.min.css +++ b/static/rest_framework/css/bootstrap-theme.min.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.4.0 (https://getbootstrap.com/) - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x;background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x;background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-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-image:-o-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-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)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} /*# sourceMappingURL=bootstrap-theme.min.css.map */ \ No newline at end of file diff --git a/static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map b/static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map new file mode 100644 index 00000000..5d75106e --- /dev/null +++ b/static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap-theme.css","dist/css/bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAAA;;;;ACUA,YCWA,aDbA,UAFA,aACA,aAEA,aCkBE,YAAA,EAAA,KAAA,EAAA,eC2CA,mBAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBF7CV,mBANA,mBACA,oBCWE,oBDRF,iBANA,iBAIA,oBANA,oBAOA,oBANA,oBAQA,oBANA,oBEmDE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBFpCV,qBAMA,sBCJE,sBDDF,uBAHA,mBAMA,oBARA,sBAMA,uBALA,sBAMA,uBAJA,sBAMA,uBAOA,+BALA,gCAGA,6BAFA,gCACA,gCAEA,gCEwBE,mBAAA,KACQ,WAAA,KFfV,mBCnCA,oBDiCA,iBAFA,oBACA,oBAEA,oBCXI,YAAA,KDgBJ,YCyBE,YAEE,iBAAA,KAKJ,aEvEI,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QAyCA,YAAA,EAAA,IAAA,EAAA,KACA,aAAA,KDnBF,mBCrBE,mBAEE,iBAAA,QACA,oBAAA,EAAA,MDuBJ,oBCpBE,oBAEE,iBAAA,QACA,aAAA,QAMA,sBD8BJ,6BANA,4BAGA,6BANA,4BAHA,4BAFA,uBAeA,8BANA,6BAGA,8BANA,6BAHA,6BAFA,gCAeA,uCANA,sCAGA,uCANA,sCAHA,sCCdM,iBAAA,QACA,iBAAA,KAoBN,aE5EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QDgEF,mBC9DE,mBAEE,iBAAA,QACA,oBAAA,EAAA,MDgEJ,oBC7DE,oBAEE,iBAAA,QACA,aAAA,QAMA,sBDuEJ,6BANA,4BAGA,6BANA,4BAHA,4BAFA,uBAeA,8BANA,6BAGA,8BANA,6BAHA,6BAFA,gCAeA,uCANA,sCAGA,uCANA,sCAHA,sCCvDM,iBAAA,QACA,iBAAA,KAqBN,aE7EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QDyGF,mBCvGE,mBAEE,iBAAA,QACA,oBAAA,EAAA,MDyGJ,oBCtGE,oBAEE,iBAAA,QACA,aAAA,QAMA,sBDgHJ,6BANA,4BAGA,6BANA,4BAHA,4BAFA,uBAeA,8BANA,6BAGA,8BANA,6BAHA,6BAFA,gCAeA,uCANA,sCAGA,uCANA,sCAHA,sCChGM,iBAAA,QACA,iBAAA,KAsBN,UE9EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QDkJF,gBChJE,gBAEE,iBAAA,QACA,oBAAA,EAAA,MDkJJ,iBC/IE,iBAEE,iBAAA,QACA,aAAA,QAMA,mBDyJJ,0BANA,yBAGA,0BANA,yBAHA,yBAFA,oBAeA,2BANA,0BAGA,2BANA,0BAHA,0BAFA,6BAeA,oCANA,mCAGA,oCANA,mCAHA,mCCzIM,iBAAA,QACA,iBAAA,KAuBN,aE/EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QD2LF,mBCzLE,mBAEE,iBAAA,QACA,oBAAA,EAAA,MD2LJ,oBCxLE,oBAEE,iBAAA,QACA,aAAA,QAMA,sBDkMJ,6BANA,4BAGA,6BANA,4BAHA,4BAFA,uBAeA,8BANA,6BAGA,8BANA,6BAHA,6BAFA,gCAeA,uCANA,sCAGA,uCANA,sCAHA,sCClLM,iBAAA,QACA,iBAAA,KAwBN,YEhFI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GClBF,OAAA,0DH8CA,kBAAA,SACA,aAAA,QDoOF,kBClOE,kBAEE,iBAAA,QACA,oBAAA,EAAA,MDoOJ,mBCjOE,mBAEE,iBAAA,QACA,aAAA,QAMA,qBD2OJ,4BANA,2BAGA,4BANA,2BAHA,2BAFA,sBAeA,6BANA,4BAGA,6BANA,4BAHA,4BAFA,+BAeA,sCANA,qCAGA,sCANA,qCAHA,qCC3NM,iBAAA,QACA,iBAAA,KD2ON,eC5MA,WCtCE,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBFsPV,0BCvMA,0BEjGI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFgGF,iBAAA,QAEF,yBD6MA,+BADA,+BGlTI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFsGF,iBAAA,QASF,gBEnHI,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,kBAAA,SCnBF,OAAA,0DHqIA,cAAA,ICrEA,mBAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBFuRV,sCCtNA,oCEnHI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD6CF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBD8EV,cDoNA,iBClNE,YAAA,EAAA,IAAA,EAAA,sBAIF,gBEtII,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,kBAAA,SCnBF,OAAA,0DHwJA,cAAA,IDyNF,sCC5NA,oCEtII,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD6CF,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBDoFV,8BDuOA,iCC3NI,YAAA,EAAA,KAAA,EAAA,gBDgOJ,qBADA,kBC1NA,mBAGE,cAAA,EAIF,yBAEI,mDDwNF,yDADA,yDCpNI,MAAA,KEnKF,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,UF2KJ,OACE,YAAA,EAAA,IAAA,EAAA,qBC/HA,mBAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,gBD0IV,eE5LI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoLF,aAAA,QAKF,YE7LI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoLF,aAAA,QAMF,eE9LI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoLF,aAAA,QAOF,cE/LI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoLF,aAAA,QAeF,UEvMI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF6MJ,cEjNI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8MJ,sBElNI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF+MJ,mBEnNI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFgNJ,sBEpNI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFiNJ,qBErNI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFqNJ,sBExLI,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKF+LJ,YACE,cAAA,IClLA,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBDoLV,wBDiQA,8BADA,8BC7PE,YAAA,EAAA,KAAA,EAAA,QEzOE,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFuOF,aAAA,QALF,+BD6QA,qCADA,qCCpQI,YAAA,KAUJ,OCvME,mBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,EAAA,IAAA,IAAA,gBDgNV,8BElQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF+PJ,8BEnQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFgQJ,8BEpQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFiQJ,2BErQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFkQJ,8BEtQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFmQJ,6BEvQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0QJ,ME9QI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF4QF,aAAA,QC/NA,mBAAA,MAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,EAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,eAAA,CAAA,EAAA,IAAA,EAAA","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz b/static/rest_framework/css/bootstrap-theme.min.css.51806092cc05.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..5125a0a5a5607211117898010315456f93af618c GIT binary patch literal 8032 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 E0GM1*4FCWD diff --git a/static/rest_framework/css/bootstrap-theme.min.css.map b/static/rest_framework/css/bootstrap-theme.min.css.map new file mode 100644 index 00000000..5d75106e --- /dev/null +++ b/static/rest_framework/css/bootstrap-theme.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap-theme.css","dist/css/bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n background-repeat: repeat-x;\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n background-repeat: repeat-x;\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n background-repeat: repeat-x;\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n background-repeat: repeat-x;\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n background-repeat: repeat-x;\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n background-repeat: repeat-x;\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n background-repeat: repeat-x;\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n background-repeat: repeat-x;\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors\n\n/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default {\n .btn-styles(@btn-default-bg);\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0, 0, 0, .25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .2);\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0, 0, 0, .075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0, 0, 0, .05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/static/rest_framework/css/bootstrap-theme.min.css.map.gz b/static/rest_framework/css/bootstrap-theme.min.css.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..5125a0a5a5607211117898010315456f93af618c GIT binary patch literal 8032 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 Y`v3p{ diff --git a/static/rest_framework/css/bootstrap.min.css b/static/rest_framework/css/bootstrap.min.css index 7f3562ec..5b96335f 100644 --- a/static/rest_framework/css/bootstrap.min.css +++ b/static/rest_framework/css/bootstrap.min.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.4.0 (https://getbootstrap.com/) - * Copyright 2011-2018 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{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 #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-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-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-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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive 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-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} /*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/static/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map b/static/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map new file mode 100644 index 00000000..0ae3de50 --- /dev/null +++ b/static/rest_framework/css/bootstrap.min.css.cafbda9c0e9e.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","dist/css/bootstrap.css","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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A,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,EFCJ,yBCzEC,Ub2zDC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcnxDI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFUJ,yBClFC,Ubo+DC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,Uc57DI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFmBJ,0BC3FC,Ub6oEC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcrmEI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GCjEJ,MACE,iBAAA,YADF,uBAQI,SAAA,OACA,QAAA,aACA,MAAA,KAKA,sBf+xEJ,sBe9xEM,SAAA,OACA,QAAA,WACA,MAAA,KAKN,QACE,YAAA,IACA,eAAA,IACA,MAAA,KACA,WAAA,KAGF,GACE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","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n}\n","// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newline-after, font-family-no-missing-generic-family-keyword\n\n//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"@{icon-font-path}@{icon-font-name}.eot\");\n src: url(\"@{icon-font-path}@{icon-font-name}.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff2\") format(\"woff2\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff\") format(\"woff\"),\n url(\"@{icon-font-path}@{icon-font-name}.ttf\") format(\"truetype\"),\n url(\"@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}\") format(\"svg\");\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: 400;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n padding: .2em;\n background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: \"\"; }\n &:after {\n content: \"\\00A0 \\2014\"; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n color: @pre-color;\n word-break: break-all;\n word-wrap: break-word;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n padding-right: ceil((@gutter / 2));\n padding-left: floor((@gutter / 2));\n margin-right: auto;\n margin-left: auto;\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-right: floor((@gutter / -2));\n margin-left: ceil((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-right: floor((@grid-gutter-width / 2));\n padding-left: ceil((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n\n // Table cell sizing\n //\n // Reset default table behavior\n\n col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-column;\n float: none;\n }\n\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-cell;\n float: none;\n }\n }\n}\n\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\n\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n overflow-x: auto;\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * .75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n // Override content-box in Normalize (* isn't specific enough)\n .box-sizing(border-box);\n\n // Search inputs in iOS\n //\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n -webkit-appearance: none;\n appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n\n // Apply same disabled cursor tweak as for inputs\n // Some special care is needed because
').addClass('cw').text('#')); + } + + while (currentDate.isBefore(this._viewDate.clone().endOf('w'))) { + row.append($('').addClass('dow').text(currentDate.format('dd'))); + currentDate.add(1, 'd'); + } + + this.widget.find('.datepicker-days thead').append(row); + }; + + _proto2._fillMonths = function _fillMonths() { + var spans = [], + monthsShort = this._viewDate.clone().startOf('y').startOf('d'); + + while (monthsShort.isSame(this._viewDate, 'y')) { + spans.push($('').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM'))); + monthsShort.add(1, 'M'); + } + + this.widget.find('.datepicker-months td').empty().append(spans); + }; + + _proto2._updateMonths = function _updateMonths() { + var monthsView = this.widget.find('.datepicker-months'), + monthsViewHeader = monthsView.find('th'), + months = monthsView.find('tbody').find('span'), + self = this, + lastPickedDate = this._getLastPickedDate(); + + monthsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevYear); + monthsViewHeader.eq(1).attr('title', this._options.tooltips.selectYear); + monthsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextYear); + monthsView.find('.disabled').removeClass('disabled'); + + if (!this._isValid(this._viewDate.clone().subtract(1, 'y'), 'y')) { + monthsViewHeader.eq(0).addClass('disabled'); + } + + monthsViewHeader.eq(1).text(this._viewDate.year()); + + if (!this._isValid(this._viewDate.clone().add(1, 'y'), 'y')) { + monthsViewHeader.eq(2).addClass('disabled'); + } + + months.removeClass('active'); + + if (lastPickedDate && lastPickedDate.isSame(this._viewDate, 'y') && !this.unset) { + months.eq(lastPickedDate.month()).addClass('active'); + } + + months.each(function (index) { + if (!self._isValid(self._viewDate.clone().month(index), 'M')) { + $(this).addClass('disabled'); + } + }); + }; + + _proto2._getStartEndYear = function _getStartEndYear(factor, year) { + var step = factor / 10, + startYear = Math.floor(year / factor) * factor, + endYear = startYear + step * 9, + focusValue = Math.floor(year / step) * step; + return [startYear, endYear, focusValue]; + }; + + _proto2._updateYears = function _updateYears() { + var yearsView = this.widget.find('.datepicker-years'), + yearsViewHeader = yearsView.find('th'), + yearCaps = this._getStartEndYear(10, this._viewDate.year()), + startYear = this._viewDate.clone().year(yearCaps[0]), + endYear = this._viewDate.clone().year(yearCaps[1]); + + var html = ''; + yearsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevDecade); + yearsViewHeader.eq(1).attr('title', this._options.tooltips.selectDecade); + yearsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextDecade); + yearsView.find('.disabled').removeClass('disabled'); + + if (this._options.minDate && this._options.minDate.isAfter(startYear, 'y')) { + yearsViewHeader.eq(0).addClass('disabled'); + } + + yearsViewHeader.eq(1).text(startYear.year() + "-" + endYear.year()); + + if (this._options.maxDate && this._options.maxDate.isBefore(endYear, 'y')) { + yearsViewHeader.eq(2).addClass('disabled'); + } + + html += "" + (startYear.year() - 1) + ""; + + while (!startYear.isAfter(endYear, 'y')) { + html += "" + startYear.year() + ""; + startYear.add(1, 'y'); + } + + html += "" + startYear.year() + ""; + yearsView.find('td').html(html); + }; + + _proto2._updateDecades = function _updateDecades() { + var decadesView = this.widget.find('.datepicker-decades'), + decadesViewHeader = decadesView.find('th'), + yearCaps = this._getStartEndYear(100, this._viewDate.year()), + startDecade = this._viewDate.clone().year(yearCaps[0]), + endDecade = this._viewDate.clone().year(yearCaps[1]), + lastPickedDate = this._getLastPickedDate(); + + var minDateDecade = false, + maxDateDecade = false, + endDecadeYear, + html = ''; + decadesViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevCentury); + decadesViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextCentury); + decadesView.find('.disabled').removeClass('disabled'); + + if (startDecade.year() === 0 || this._options.minDate && this._options.minDate.isAfter(startDecade, 'y')) { + decadesViewHeader.eq(0).addClass('disabled'); + } + + decadesViewHeader.eq(1).text(startDecade.year() + "-" + endDecade.year()); + + if (this._options.maxDate && this._options.maxDate.isBefore(endDecade, 'y')) { + decadesViewHeader.eq(2).addClass('disabled'); + } + + if (startDecade.year() - 10 < 0) { + html += ' '; + } else { + html += "" + (startDecade.year() - 10) + ""; + } + + while (!startDecade.isAfter(endDecade, 'y')) { + endDecadeYear = startDecade.year() + 11; + minDateDecade = this._options.minDate && this._options.minDate.isAfter(startDecade, 'y') && this._options.minDate.year() <= endDecadeYear; + maxDateDecade = this._options.maxDate && this._options.maxDate.isAfter(startDecade, 'y') && this._options.maxDate.year() <= endDecadeYear; + html += "" + startDecade.year() + ""; + startDecade.add(10, 'y'); + } + + html += "" + startDecade.year() + ""; + decadesView.find('td').html(html); + }; + + _proto2._fillDate = function _fillDate() { + _DateTimePicker.prototype._fillDate.call(this); + + var daysView = this.widget.find('.datepicker-days'), + daysViewHeader = daysView.find('th'), + html = []; + var currentDate, row, clsName, i; + + if (!this._hasDate()) { + return; + } + + daysViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevMonth); + daysViewHeader.eq(1).attr('title', this._options.tooltips.selectMonth); + daysViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextMonth); + daysView.find('.disabled').removeClass('disabled'); + daysViewHeader.eq(1).text(this._viewDate.format(this._options.dayViewHeaderFormat)); + + if (!this._isValid(this._viewDate.clone().subtract(1, 'M'), 'M')) { + daysViewHeader.eq(0).addClass('disabled'); + } + + if (!this._isValid(this._viewDate.clone().add(1, 'M'), 'M')) { + daysViewHeader.eq(2).addClass('disabled'); + } + + currentDate = this._viewDate.clone().startOf('M').startOf('w').startOf('d'); + + for (i = 0; i < 42; i++) { + //always display 42 days (should show 6 weeks) + if (currentDate.weekday() === 0) { + row = $('
" + currentDate.week() + "" + currentDate.date() + "
" + currentHour.format(this.use24Hours ? 'HH' : 'hh') + "
" + currentMinute.format('mm') + "
" + currentSecond.format('ss') + "