diff --git a/kirby/composer.json b/kirby/composer.json index ff4f1ad..2369488 100755 --- a/kirby/composer.json +++ b/kirby/composer.json @@ -1,15 +1,14 @@ { "name": "getkirby/cms", - "type": "kirby-cms", "description": "The Kirby 3 core", + "license": "proprietary", + "type": "kirby-cms", + "version": "3.6.2", "keywords": [ "kirby", "cms", "core" ], - "homepage": "https://getkirby.com", - "version": "3.6.1.1", - "license": "proprietary", "authors": [ { "name": "Kirby Team", @@ -17,33 +16,31 @@ "homepage": "https://getkirby.com" } ], + "homepage": "https://getkirby.com", + "support": { + "email": "support@getkirby.com", + "issues": "https://github.com/getkirby/kirby/issues", + "forum": "https://forum.getkirby.com", + "source": "https://github.com/getkirby/kirby" + }, + "_comment": "TODO: psr/log is not used by Kirby; drop pinned version when Kirby no longer supports PHP 7", "require": { "php": ">=7.4.0 <8.2.0", "ext-ctype": "*", "ext-mbstring": "*", "claviska/simpleimage": "3.6.5", - "filp/whoops": "2.14.4", + "filp/whoops": "2.14.5", "getkirby/composer-installer": "^1.2.1", "laminas/laminas-escaper": "2.9.0", "michelf/php-smartypants": "1.8.1", - "mustangostang/spyc": "0.6.3", "phpmailer/phpmailer": "6.5.3", "psr/log": "1.1.4", - "symfony/polyfill-intl-idn": "1.23.0", - "symfony/polyfill-mbstring": "1.23.1" + "symfony/polyfill-intl-idn": "1.24.0", + "symfony/polyfill-mbstring": "1.24.0" }, "replace": { "symfony/polyfill-php72": "*" }, - "config": { - "optimize-autoloader": true, - "platform-check": false - }, - "extra": { - "unused": [ - "symfony/polyfill-intl-idn" - ] - }, "autoload": { "psr-4": { "Kirby\\": "src/" @@ -56,6 +53,18 @@ "config/helpers.php" ] }, + "config": { + "allow-plugins": { + "getkirby/composer-installer": true + }, + "optimize-autoloader": true, + "platform-check": false + }, + "extra": { + "unused": [ + "symfony/polyfill-intl-idn" + ] + }, "scripts": { "post-update-cmd": "curl -o cacert.pem https://curl.se/ca/cacert.pem", "analyze": [ @@ -77,12 +86,5 @@ "fix": "php-cs-fixer fix", "test": "phpunit --stderr --coverage-html=tests/coverage", "zip": "composer archive --format=zip --file=dist" - }, - "support": { - "email": "support@getkirby.com", - "issues": "https://github.com/getkirby/kirby/issues", - "forum": "https://forum.getkirby.com", - "source": "https://github.com/getkirby/kirby" - }, - "_comment": "TODO: psr/log is not used by Kirby; drop pinned version when Kirby no longer supports PHP 7" + } } diff --git a/kirby/composer.lock b/kirby/composer.lock index 07a0e89..8e193b7 100755 --- a/kirby/composer.lock +++ b/kirby/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "91690f81e4bb00d2c845dbb43ef3d04d", + "content-hash": "14602437d78db71d4bba50467b607075", "packages": [ { "name": "claviska/simpleimage", @@ -57,16 +57,16 @@ }, { "name": "filp/whoops", - "version": "2.14.4", + "version": "2.14.5", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "f056f1fe935d9ed86e698905a957334029899895" + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/f056f1fe935d9ed86e698905a957334029899895", - "reference": "f056f1fe935d9ed86e698905a957334029899895", + "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", "shasum": "" }, "require": { @@ -116,7 +116,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.4" + "source": "https://github.com/filp/whoops/tree/2.14.5" }, "funding": [ { @@ -124,7 +124,7 @@ "type": "github" } ], - "time": "2021-10-03T12:00:00+00:00" + "time": "2022-01-07T12:00:00+00:00" }, { "name": "getkirby/composer-installer", @@ -347,56 +347,6 @@ }, "time": "2016-12-13T01:01:17+00:00" }, - { - "name": "mustangostang/spyc", - "version": "0.6.3", - "source": { - "type": "git", - "url": "git@github.com:mustangostang/spyc.git", - "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0", - "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0", - "shasum": "" - }, - "require": { - "php": ">=5.3.1" - }, - "require-dev": { - "phpunit/phpunit": "4.3.*@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.5.x-dev" - } - }, - "autoload": { - "files": [ - "Spyc.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "mustangostang", - "email": "vlad.andersen@gmail.com" - } - ], - "description": "A simple YAML loader/dumper class for PHP", - "homepage": "https://github.com/mustangostang/spyc/", - "keywords": [ - "spyc", - "yaml", - "yml" - ], - "time": "2019-09-10T13:16:29+00:00" - }, { "name": "phpmailer/phpmailer", "version": "v6.5.3", @@ -527,16 +477,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44", "shasum": "" }, "require": { @@ -594,7 +544,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0" }, "funding": [ { @@ -610,11 +560,11 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2021-09-14T14:02:44+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -678,7 +628,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" }, "funding": [ { @@ -698,21 +648,24 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, @@ -758,7 +711,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" }, "funding": [ { @@ -774,7 +727,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-30T18:21:41+00:00" } ], "packages-dev": [], diff --git a/kirby/config/api/collections.php b/kirby/config/api/collections.php index bd817e9..fb3e218 100755 --- a/kirby/config/api/collections.php +++ b/kirby/config/api/collections.php @@ -61,12 +61,10 @@ return [ * Users */ 'users' => [ - 'default' => function () { - return $this->users(); - }, - 'model' => 'user', - 'type' => 'Kirby\Cms\Users', - 'view' => 'compact' + 'default' => fn () => $this->users(), + 'model' => 'user', + 'type' => 'Kirby\Cms\Users', + 'view' => 'compact' ] ]; diff --git a/kirby/config/api/models/File.php b/kirby/config/api/models/File.php index f761d47..64fde1d 100755 --- a/kirby/config/api/models/File.php +++ b/kirby/config/api/models/File.php @@ -8,92 +8,48 @@ use Kirby\Form\Form; */ return [ 'fields' => [ - 'blueprint' => function (File $file) { - return $file->blueprint(); - }, - 'content' => function (File $file) { - return Form::for($file)->values(); - }, - 'dimensions' => function (File $file) { - return $file->dimensions()->toArray(); - }, - 'dragText' => function (File $file) { - return $file->panel()->dragText(); - }, - 'exists' => function (File $file) { - return $file->exists(); - }, - 'extension' => function (File $file) { - return $file->extension(); - }, - 'filename' => function (File $file) { - return $file->filename(); - }, - 'id' => function (File $file) { - return $file->id(); - }, - 'link' => function (File $file) { - return $file->panel()->url(true); - }, - 'mime' => function (File $file) { - return $file->mime(); - }, - 'modified' => function (File $file) { - return $file->modified('c'); - }, - 'name' => function (File $file) { - return $file->name(); - }, - 'next' => function (File $file) { - return $file->next(); - }, + 'blueprint' => fn (File $file) => $file->blueprint(), + 'content' => fn (File $file) => Form::for($file)->values(), + 'dimensions' => fn (File $file) => $file->dimensions()->toArray(), + 'dragText' => fn (File $file) => $file->panel()->dragText(), + 'exists' => fn (File $file) => $file->exists(), + 'extension' => fn (File $file) => $file->extension(), + 'filename' => fn (File $file) => $file->filename(), + 'id' => fn (File $file) => $file->id(), + 'link' => fn (File $file) => $file->panel()->url(true), + 'mime' => fn (File $file) => $file->mime(), + 'modified' => fn (File $file) => $file->modified('c'), + 'name' => fn (File $file) => $file->name(), + 'next' => fn (File $file) => $file->next(), 'nextWithTemplate' => function (File $file) { $files = $file->templateSiblings()->sorted(); $index = $files->indexOf($file); return $files->nth($index + 1); }, - 'niceSize' => function (File $file) { - return $file->niceSize(); - }, - 'options' => function (File $file) { - return $file->panel()->options(); - }, - 'panelIcon' => function (File $file) { + 'niceSize' => fn (File $file) => $file->niceSize(), + 'options' => fn (File $file) => $file->panel()->options(), + 'panelIcon' => function (File $file) { // TODO: remove in 3.7.0 // @codeCoverageIgnoreStart deprecated('The API field file.panelIcon has been deprecated and will be removed in 3.7.0. Use file.panelImage instead'); return $file->panel()->image(); // @codeCoverageIgnoreEnd }, - 'panelImage' => function (File $file) { - return $file->panel()->image(); - }, - 'panelUrl' => function (File $file) { - return $file->panel()->url(true); - }, - 'prev' => function (File $file) { - return $file->prev(); - }, + 'panelImage' => fn (File $file) => $file->panel()->image(), + 'panelUrl' => fn (File $file) => $file->panel()->url(true), + 'prev' => fn (File $file) => $file->prev(), 'prevWithTemplate' => function (File $file) { $files = $file->templateSiblings()->sorted(); $index = $files->indexOf($file); return $files->nth($index - 1); }, - 'parent' => function (File $file) { - return $file->parent(); - }, - 'parents' => function (File $file) { - return $file->parents()->flip(); - }, - 'size' => function (File $file) { - return $file->size(); - }, - 'template' => function (File $file) { - return $file->template(); - }, - 'thumbs' => function ($file) { + 'parent' => fn (File $file) => $file->parent(), + 'parents' => fn (File $file) => $file->parents()->flip(), + 'size' => fn (File $file) => $file->size(), + 'template' => fn (File $file) => $file->template(), + 'thumbs' => function ($file) { if ($file->isResizable() === false) { return null; } @@ -106,12 +62,8 @@ return [ 'huge' => $file->resize(1024)->url(), ]; }, - 'type' => function (File $file) { - return $file->type(); - }, - 'url' => function (File $file) { - return $file->url(); - }, + 'type' => fn (File $file) => $file->type(), + 'url' => fn (File $file) => $file->url(), ], 'type' => 'Kirby\Cms\File', 'views' => [ diff --git a/kirby/config/api/models/FileBlueprint.php b/kirby/config/api/models/FileBlueprint.php index 0ca7cc0..5279f8a 100755 --- a/kirby/config/api/models/FileBlueprint.php +++ b/kirby/config/api/models/FileBlueprint.php @@ -7,18 +7,10 @@ use Kirby\Cms\FileBlueprint; */ return [ 'fields' => [ - 'name' => function (FileBlueprint $blueprint) { - return $blueprint->name(); - }, - 'options' => function (FileBlueprint $blueprint) { - return $blueprint->options(); - }, - 'tabs' => function (FileBlueprint $blueprint) { - return $blueprint->tabs(); - }, - 'title' => function (FileBlueprint $blueprint) { - return $blueprint->title(); - }, + 'name' => fn (FileBlueprint $blueprint) => $blueprint->name(), + 'options' => fn (FileBlueprint $blueprint) => $blueprint->options(), + 'tabs' => fn (FileBlueprint $blueprint) => $blueprint->tabs(), + 'title' => fn (FileBlueprint $blueprint) => $blueprint->title(), ], 'type' => 'Kirby\Cms\FileBlueprint', 'views' => [ diff --git a/kirby/config/api/models/FileVersion.php b/kirby/config/api/models/FileVersion.php index fab8c9e..d5cea11 100755 --- a/kirby/config/api/models/FileVersion.php +++ b/kirby/config/api/models/FileVersion.php @@ -7,42 +7,18 @@ use Kirby\Cms\FileVersion; */ return [ 'fields' => [ - 'dimensions' => function (FileVersion $file) { - return $file->dimensions()->toArray(); - }, - 'exists' => function (FileVersion $file) { - return $file->exists(); - }, - 'extension' => function (FileVersion $file) { - return $file->extension(); - }, - 'filename' => function (FileVersion $file) { - return $file->filename(); - }, - 'id' => function (FileVersion $file) { - return $file->id(); - }, - 'mime' => function (FileVersion $file) { - return $file->mime(); - }, - 'modified' => function (FileVersion $file) { - return $file->modified('c'); - }, - 'name' => function (FileVersion $file) { - return $file->name(); - }, - 'niceSize' => function (FileVersion $file) { - return $file->niceSize(); - }, - 'size' => function (FileVersion $file) { - return $file->size(); - }, - 'type' => function (FileVersion $file) { - return $file->type(); - }, - 'url' => function (FileVersion $file) { - return $file->url(); - }, + 'dimensions' => fn (FileVersion $file) => $file->dimensions()->toArray(), + 'exists' => fn (FileVersion $file) => $file->exists(), + 'extension' => fn (FileVersion $file) => $file->extension(), + 'filename' => fn (FileVersion $file) => $file->filename(), + 'id' => fn (FileVersion $file) => $file->id(), + 'mime' => fn (FileVersion $file) => $file->mime(), + 'modified' => fn (FileVersion $file) => $file->modified('c'), + 'name' => fn (FileVersion $file) => $file->name(), + 'niceSize' => fn (FileVersion $file) => $file->niceSize(), + 'size' => fn (FileVersion $file) => $file->size(), + 'type' => fn (FileVersion $file) => $file->type(), + 'url' => fn (FileVersion $file) => $file->url(), ], 'type' => 'Kirby\Cms\FileVersion', 'views' => [ diff --git a/kirby/config/api/models/Language.php b/kirby/config/api/models/Language.php index 9350a89..1e76e14 100755 --- a/kirby/config/api/models/Language.php +++ b/kirby/config/api/models/Language.php @@ -7,27 +7,13 @@ use Kirby\Cms\Language; */ return [ 'fields' => [ - 'code' => function (Language $language) { - return $language->code(); - }, - 'default' => function (Language $language) { - return $language->isDefault(); - }, - 'direction' => function (Language $language) { - return $language->direction(); - }, - 'locale' => function (Language $language) { - return $language->locale(); - }, - 'name' => function (Language $language) { - return $language->name(); - }, - 'rules' => function (Language $language) { - return $language->rules(); - }, - 'url' => function (Language $language) { - return $language->url(); - }, + 'code' => fn (Language $language) => $language->code(), + 'default' => fn (Language $language) => $language->isDefault(), + 'direction' => fn (Language $language) => $language->direction(), + 'locale' => fn (Language $language) => $language->locale(), + 'name' => fn (Language $language) => $language->name(), + 'rules' => fn (Language $language) => $language->rules(), + 'url' => fn (Language $language) => $language->url(), ], 'type' => 'Kirby\Cms\Language', 'views' => [ diff --git a/kirby/config/api/models/Page.php b/kirby/config/api/models/Page.php index 04ef631..d188e3d 100755 --- a/kirby/config/api/models/Page.php +++ b/kirby/config/api/models/Page.php @@ -8,42 +8,18 @@ use Kirby\Form\Form; */ return [ 'fields' => [ - 'blueprint' => function (Page $page) { - return $page->blueprint(); - }, - 'blueprints' => function (Page $page) { - return $page->blueprints(); - }, - 'children' => function (Page $page) { - return $page->children(); - }, - 'content' => function (Page $page) { - return Form::for($page)->values(); - }, - 'drafts' => function (Page $page) { - return $page->drafts(); - }, - 'errors' => function (Page $page) { - return $page->errors(); - }, - 'files' => function (Page $page) { - return $page->files()->sorted(); - }, - 'hasChildren' => function (Page $page) { - return $page->hasChildren(); - }, - 'hasDrafts' => function (Page $page) { - return $page->hasDrafts(); - }, - 'hasFiles' => function (Page $page) { - return $page->hasFiles(); - }, - 'id' => function (Page $page) { - return $page->id(); - }, - 'isSortable' => function (Page $page) { - return $page->isSortable(); - }, + 'blueprint' => fn (Page $page) => $page->blueprint(), + 'blueprints' => fn (Page $page) => $page->blueprints(), + 'children' => fn (Page $page) => $page->children(), + 'content' => fn (Page $page) => Form::for($page)->values(), + 'drafts' => fn (Page $page) => $page->drafts(), + 'errors' => fn (Page $page) => $page->errors(), + 'files' => fn (Page $page) => $page->files()->sorted(), + 'hasChildren' => fn (Page $page) => $page->hasChildren(), + 'hasDrafts' => fn (Page $page) => $page->hasDrafts(), + 'hasFiles' => fn (Page $page) => $page->hasFiles(), + 'id' => fn (Page $page) => $page->id(), + 'isSortable' => fn (Page $page) => $page->isSortable(), /** * @deprecated 3.6.0 * @todo Throw deprecated warning in 3.7.0 @@ -58,12 +34,8 @@ return [ ->filter('isReadable', true) ->first(); }, - 'num' => function (Page $page) { - return $page->num(); - }, - 'options' => function (Page $page) { - return $page->panel()->options(['preview']); - }, + 'num' => fn (Page $page) => $page->num(), + 'options' => fn (Page $page) => $page->panel()->options(['preview']), /** * @todo Remove in 3.7.0 * @codeCoverageIgnore @@ -72,15 +44,9 @@ return [ deprecated('The API field page.panelIcon has been deprecated and will be removed in 3.7.0. Use page.panelImage instead'); return $page->panel()->image(); }, - 'panelImage' => function (Page $page) { - return $page->panel()->image(); - }, - 'parent' => function (Page $page) { - return $page->parent(); - }, - 'parents' => function (Page $page) { - return $page->parents()->flip(); - }, + 'panelImage' => fn (Page $page) => $page->panel()->image(), + 'parent' => fn (Page $page) => $page->parent(), + 'parents' => fn (Page $page) => $page->parents()->flip(), /** * @deprecated 3.6.0 * @todo Throw deprecated warning in 3.7.0 @@ -95,31 +61,19 @@ return [ ->filter('isReadable', true) ->last(); }, - 'previewUrl' => function (Page $page) { - return $page->previewUrl(); - }, - 'siblings' => function (Page $page) { + 'previewUrl' => fn (Page $page) => $page->previewUrl(), + 'siblings' => function (Page $page) { if ($page->isDraft() === true) { return $page->parentModel()->children()->not($page); } else { return $page->siblings(); } }, - 'slug' => function (Page $page) { - return $page->slug(); - }, - 'status' => function (Page $page) { - return $page->status(); - }, - 'template' => function (Page $page) { - return $page->intendedTemplate()->name(); - }, - 'title' => function (Page $page) { - return $page->title()->value(); - }, - 'url' => function (Page $page) { - return $page->url(); - }, + 'slug' => fn (Page $page) => $page->slug(), + 'status' => fn (Page $page) => $page->status(), + 'template' => fn (Page $page) => $page->intendedTemplate()->name(), + 'title' => fn (Page $page) => $page->title()->value(), + 'url' => fn (Page $page) => $page->url(), ], 'type' => 'Kirby\Cms\Page', 'views' => [ diff --git a/kirby/config/api/models/PageBlueprint.php b/kirby/config/api/models/PageBlueprint.php index fd4cdef..c5de408 100755 --- a/kirby/config/api/models/PageBlueprint.php +++ b/kirby/config/api/models/PageBlueprint.php @@ -7,27 +7,13 @@ use Kirby\Cms\PageBlueprint; */ return [ 'fields' => [ - 'name' => function (PageBlueprint $blueprint) { - return $blueprint->name(); - }, - 'num' => function (PageBlueprint $blueprint) { - return $blueprint->num(); - }, - 'options' => function (PageBlueprint $blueprint) { - return $blueprint->options(); - }, - 'preview' => function (PageBlueprint $blueprint) { - return $blueprint->preview(); - }, - 'status' => function (PageBlueprint $blueprint) { - return $blueprint->status(); - }, - 'tabs' => function (PageBlueprint $blueprint) { - return $blueprint->tabs(); - }, - 'title' => function (PageBlueprint $blueprint) { - return $blueprint->title(); - }, + 'name' => fn (PageBlueprint $blueprint) => $blueprint->name(), + 'num' => fn (PageBlueprint $blueprint) => $blueprint->num(), + 'options' => fn (PageBlueprint $blueprint) => $blueprint->options(), + 'preview' => fn (PageBlueprint $blueprint) => $blueprint->preview(), + 'status' => fn (PageBlueprint $blueprint) => $blueprint->status(), + 'tabs' => fn (PageBlueprint $blueprint) => $blueprint->tabs(), + 'title' => fn (PageBlueprint $blueprint) => $blueprint->title(), ], 'type' => 'Kirby\Cms\PageBlueprint', 'views' => [ diff --git a/kirby/config/api/models/Role.php b/kirby/config/api/models/Role.php index 99aed16..93a9e01 100755 --- a/kirby/config/api/models/Role.php +++ b/kirby/config/api/models/Role.php @@ -7,18 +7,10 @@ use Kirby\Cms\Role; */ return [ 'fields' => [ - 'description' => function (Role $role) { - return $role->description(); - }, - 'name' => function (Role $role) { - return $role->name(); - }, - 'permissions' => function (Role $role) { - return $role->permissions()->toArray(); - }, - 'title' => function (Role $role) { - return $role->title(); - }, + 'description' => fn (Role $role) => $role->description(), + 'name' => fn (Role $role) => $role->name(), + 'permissions' => fn (Role $role) => $role->permissions()->toArray(), + 'title' => fn (Role $role) => $role->title(), ], 'type' => 'Kirby\Cms\Role', 'views' => [ diff --git a/kirby/config/api/models/Site.php b/kirby/config/api/models/Site.php index e49a012..4f5463c 100755 --- a/kirby/config/api/models/Site.php +++ b/kirby/config/api/models/Site.php @@ -7,37 +7,17 @@ use Kirby\Form\Form; * Site */ return [ - 'default' => function () { - return $this->site(); - }, + 'default' => fn () => $this->site(), 'fields' => [ - 'blueprint' => function (Site $site) { - return $site->blueprint(); - }, - 'children' => function (Site $site) { - return $site->children(); - }, - 'content' => function (Site $site) { - return Form::for($site)->values(); - }, - 'drafts' => function (Site $site) { - return $site->drafts(); - }, - 'files' => function (Site $site) { - return $site->files()->sorted(); - }, - 'options' => function (Site $site) { - return $site->permissions()->toArray(); - }, - 'previewUrl' => function (Site $site) { - return $site->previewUrl(); - }, - 'title' => function (Site $site) { - return $site->title()->value(); - }, - 'url' => function (Site $site) { - return $site->url(); - }, + 'blueprint' => fn (Site $site) => $site->blueprint(), + 'children' => fn (Site $site) => $site->children(), + 'content' => fn (Site $site) => Form::for($site)->values(), + 'drafts' => fn (Site $site) => $site->drafts(), + 'files' => fn (Site $site) => $site->files()->sorted(), + 'options' => fn (Site $site) => $site->permissions()->toArray(), + 'previewUrl' => fn (Site $site) => $site->previewUrl(), + 'title' => fn (Site $site) => $site->title()->value(), + 'url' => fn (Site $site) => $site->url(), ], 'type' => 'Kirby\Cms\Site', 'views' => [ diff --git a/kirby/config/api/models/SiteBlueprint.php b/kirby/config/api/models/SiteBlueprint.php index a3b0943..c940212 100755 --- a/kirby/config/api/models/SiteBlueprint.php +++ b/kirby/config/api/models/SiteBlueprint.php @@ -7,20 +7,11 @@ use Kirby\Cms\SiteBlueprint; */ return [ 'fields' => [ - 'name' => function (SiteBlueprint $blueprint) { - return $blueprint->name(); - }, - 'options' => function (SiteBlueprint $blueprint) { - return $blueprint->options(); - }, - 'tabs' => function (SiteBlueprint $blueprint) { - return $blueprint->tabs(); - }, - 'title' => function (SiteBlueprint $blueprint) { - return $blueprint->title(); - }, - ], - 'type' => 'Kirby\Cms\SiteBlueprint', - 'views' => [ + 'name' => fn (SiteBlueprint $blueprint) => $blueprint->name(), + 'options' => fn (SiteBlueprint $blueprint) => $blueprint->options(), + 'tabs' => fn (SiteBlueprint $blueprint) => $blueprint->tabs(), + 'title' => fn (SiteBlueprint $blueprint) => $blueprint->title(), ], + 'type' => 'Kirby\Cms\SiteBlueprint', + 'views' => [], ]; diff --git a/kirby/config/api/models/System.php b/kirby/config/api/models/System.php index bfaa796..0ad10eb 100755 --- a/kirby/config/api/models/System.php +++ b/kirby/config/api/models/System.php @@ -8,37 +8,17 @@ use Kirby\Toolkit\Str; */ return [ 'fields' => [ - 'ascii' => function () { - return Str::$ascii; - }, - 'authStatus' => function () { - return $this->kirby()->auth()->status()->toArray(); - }, - 'defaultLanguage' => function () { - return $this->kirby()->panelLanguage(); - }, - 'isOk' => function (System $system) { - return $system->isOk(); - }, - 'isInstallable' => function (System $system) { - return $system->isInstallable(); - }, - 'isInstalled' => function (System $system) { - return $system->isInstalled(); - }, - 'isLocal' => function (System $system) { - return $system->isLocal(); - }, - 'multilang' => function () { - return $this->kirby()->option('languages', false) !== false; - }, - 'languages' => function () { - return $this->kirby()->languages(); - }, - 'license' => function (System $system) { - return $system->license(); - }, - 'locales' => function () { + 'ascii' => fn () => Str::$ascii, + 'authStatus' => fn () => $this->kirby()->auth()->status()->toArray(), + 'defaultLanguage' => fn () => $this->kirby()->panelLanguage(), + 'isOk' => fn (System $system) => $system->isOk(), + 'isInstallable' => fn (System $system) => $system->isInstallable(), + 'isInstalled' => fn (System $system) => $system->isInstalled(), + 'isLocal' => fn (System $system) => $system->isLocal(), + 'multilang' => fn () => $this->kirby()->option('languages', false) !== false, + 'languages' => fn () => $this->kirby()->languages(), + 'license' => fn (System $system) => $system->license(), + 'locales' => function () { $locales = []; $translations = $this->kirby()->translations(); foreach ($translations as $translation) { @@ -46,21 +26,11 @@ return [ } return $locales; }, - 'loginMethods' => function (System $system) { - return array_keys($system->loginMethods()); - }, - 'requirements' => function (System $system) { - return $system->toArray(); - }, - 'site' => function (System $system) { - return $system->title(); - }, - 'slugs' => function () { - return Str::$language; - }, - 'title' => function () { - return $this->site()->title()->value(); - }, + 'loginMethods' => fn (System $system) => array_keys($system->loginMethods()), + 'requirements' => fn (System $system) => $system->toArray(), + 'site' => fn (System $system) => $system->title(), + 'slugs' => fn () => Str::$language, + 'title' => fn () => $this->site()->title()->value(), 'translation' => function () { if ($user = $this->user()) { $translationCode = $user->language(); @@ -74,12 +44,8 @@ return [ return $this->kirby()->translation('en'); } }, - 'kirbytext' => function () { - return $this->kirby()->option('panel.kirbytext') ?? true; - }, - 'user' => function () { - return $this->user(); - }, + 'kirbytext' => fn () => $this->kirby()->option('panel.kirbytext') ?? true, + 'user' => fn () => $this->user(), 'version' => function () { $user = $this->user(); diff --git a/kirby/config/api/models/Translation.php b/kirby/config/api/models/Translation.php index 13be9a0..fe31b56 100755 --- a/kirby/config/api/models/Translation.php +++ b/kirby/config/api/models/Translation.php @@ -7,21 +7,11 @@ use Kirby\Cms\Translation; */ return [ 'fields' => [ - 'author' => function (Translation $translation) { - return $translation->author(); - }, - 'data' => function (Translation $translation) { - return $translation->dataWithFallback(); - }, - 'direction' => function (Translation $translation) { - return $translation->direction(); - }, - 'id' => function (Translation $translation) { - return $translation->id(); - }, - 'name' => function (Translation $translation) { - return $translation->name(); - }, + 'author' => fn (Translation $translation) => $translation->author(), + 'data' => fn (Translation $translation) => $translation->dataWithFallback(), + 'direction' => fn (Translation $translation) => $translation->direction(), + 'id' => fn (Translation $translation) => $translation->id(), + 'name' => fn (Translation $translation) => $translation->name(), ], 'type' => 'Kirby\Cms\Translation', 'views' => [ diff --git a/kirby/config/api/models/User.php b/kirby/config/api/models/User.php index 1d99444..c8a7a5f 100755 --- a/kirby/config/api/models/User.php +++ b/kirby/config/api/models/User.php @@ -7,58 +7,24 @@ use Kirby\Form\Form; * User */ return [ - 'default' => function () { - return $this->user(); - }, + 'default' => fn () => $this->user(), 'fields' => [ - 'avatar' => function (User $user) { - return $user->avatar() ? $user->avatar()->crop(512) : null; - }, - 'blueprint' => function (User $user) { - return $user->blueprint(); - }, - 'content' => function (User $user) { - return Form::for($user)->values(); - }, - 'email' => function (User $user) { - return $user->email(); - }, - 'files' => function (User $user) { - return $user->files()->sorted(); - }, - 'id' => function (User $user) { - return $user->id(); - }, - 'language' => function (User $user) { - return $user->language(); - }, - 'name' => function (User $user) { - return $user->name()->value(); - }, - 'next' => function (User $user) { - return $user->next(); - }, - 'options' => function (User $user) { - return $user->panel()->options(); - }, - 'panelImage' => function (User $user) { - return $user->panel()->image(); - }, - 'permissions' => function (User $user) { - return $user->role()->permissions()->toArray(); - }, - 'prev' => function (User $user) { - return $user->prev(); - }, - 'role' => function (User $user) { - return $user->role(); - }, - 'roles' => function (User $user) { - return $user->roles(); - }, - 'username' => function (User $user) { - return $user->username(); - } + 'avatar' => fn (User $user) => $user->avatar() ? $user->avatar()->crop(512) : null, + 'blueprint' => fn (User $user) => $user->blueprint(), + 'content' => fn (User $user) => Form::for($user)->values(), + 'email' => fn (User $user) => $user->email(), + 'files' => fn (User $user) => $user->files()->sorted(), + 'id' => fn (User $user) => $user->id(), + 'language' => fn (User $user) => $user->language(), + 'name' => fn (User $user) => $user->name()->value(), + 'next' => fn (User $user) => $user->next(), + 'options' => fn (User $user) => $user->panel()->options(), + 'panelImage' => fn (User $user) => $user->panel()->image(), + 'permissions' => fn (User $user) => $user->role()->permissions()->toArray(), + 'prev' => fn (User $user) => $user->prev(), + 'role' => fn (User $user) => $user->role(), + 'roles' => fn (User $user) => $user->roles(), + 'username' => fn (User $user) => $user->username() ], 'type' => 'Kirby\Cms\User', 'views' => [ diff --git a/kirby/config/api/models/UserBlueprint.php b/kirby/config/api/models/UserBlueprint.php index fdf63eb..f20c88a 100755 --- a/kirby/config/api/models/UserBlueprint.php +++ b/kirby/config/api/models/UserBlueprint.php @@ -7,18 +7,10 @@ use Kirby\Cms\UserBlueprint; */ return [ 'fields' => [ - 'name' => function (UserBlueprint $blueprint) { - return $blueprint->name(); - }, - 'options' => function (UserBlueprint $blueprint) { - return $blueprint->options(); - }, - 'tabs' => function (UserBlueprint $blueprint) { - return $blueprint->tabs(); - }, - 'title' => function (UserBlueprint $blueprint) { - return $blueprint->title(); - }, + 'name' => fn (UserBlueprint $blueprint) => $blueprint->name(), + 'options' => fn (UserBlueprint $blueprint) => $blueprint->options(), + 'tabs' => fn (UserBlueprint $blueprint) => $blueprint->tabs(), + 'title' => fn (UserBlueprint $blueprint) => $blueprint->title(), ], 'type' => 'Kirby\Cms\UserBlueprint', 'views' => [ diff --git a/kirby/config/areas/account/views.php b/kirby/config/areas/account/views.php index 97d4558..98818ba 100755 --- a/kirby/config/areas/account/views.php +++ b/kirby/config/areas/account/views.php @@ -6,12 +6,10 @@ use Kirby\Panel\Panel; return [ 'account' => [ 'pattern' => 'account', - 'action' => function () { - return [ - 'component' => 'k-account-view', - 'props' => kirby()->user()->panel()->props(), - ]; - }, + 'action' => fn () => [ + 'component' => 'k-account-view', + 'props' => kirby()->user()->panel()->props(), + ], ], 'account.file' => [ 'pattern' => 'account/files/(:any)', @@ -31,10 +29,6 @@ return [ ], 'account.password' => [ 'pattern' => 'reset-password', - 'action' => function () { - return [ - 'component' => 'k-reset-password-view', - ]; - } + 'action' => fn () => ['component' => 'k-reset-password-view'] ] ]; diff --git a/kirby/config/areas/installation.php b/kirby/config/areas/installation.php index e97b403..9568e36 100755 --- a/kirby/config/areas/installation.php +++ b/kirby/config/areas/installation.php @@ -32,9 +32,7 @@ return function ($kirby) { 'installation.fallback' => [ 'pattern' => '(:all)', 'auth' => false, - 'action' => function () { - Panel::go('installation'); - } + 'action' => fn () => Panel::go('installation') ] ] ]; diff --git a/kirby/config/areas/languages/views.php b/kirby/config/areas/languages/views.php index 800d16a..f5bf842 100755 --- a/kirby/config/areas/languages/views.php +++ b/kirby/config/areas/languages/views.php @@ -11,14 +11,12 @@ return [ return [ 'component' => 'k-languages-view', 'props' => [ - 'languages' => $kirby->languages()->values(function ($language) { - return [ - 'default' => $language->isDefault(), - 'id' => $language->code(), - 'info' => Escape::html($language->code()), - 'text' => Escape::html($language->name()), - ]; - }) + 'languages' => $kirby->languages()->values(fn ($language) => [ + 'default' => $language->isDefault(), + 'id' => $language->code(), + 'info' => Escape::html($language->code()), + 'text' => Escape::html($language->name()), + ]) ] ]; } diff --git a/kirby/config/areas/site/dropdowns.php b/kirby/config/areas/site/dropdowns.php index 464a509..c498c00 100755 --- a/kirby/config/areas/site/dropdowns.php +++ b/kirby/config/areas/site/dropdowns.php @@ -7,9 +7,7 @@ $files = require __DIR__ . '/../files/dropdowns.php'; return [ 'changes' => [ 'pattern' => 'changes', - 'options' => function () { - return Dropdown::changes(); - } + 'options' => fn () => Dropdown::changes() ], 'page' => [ 'pattern' => 'pages/(:any)', diff --git a/kirby/config/areas/site/views.php b/kirby/config/areas/site/views.php index a2e8ccd..eb6bdee 100755 --- a/kirby/config/areas/site/views.php +++ b/kirby/config/areas/site/views.php @@ -5,9 +5,7 @@ use Kirby\Cms\Find; return [ 'page' => [ 'pattern' => 'pages/(:any)', - 'action' => function (string $path) { - return Find::page($path)->panel()->view(); - } + 'action' => fn (string $path) => Find::page($path)->panel()->view() ], 'page.file' => [ 'pattern' => 'pages/(:any)/files/(:any)', @@ -17,9 +15,7 @@ return [ ], 'site' => [ 'pattern' => 'site', - 'action' => function () { - return site()->panel()->view(); - } + 'action' => fn () => site()->panel()->view() ], 'site.file' => [ 'pattern' => 'site/files/(:any)', diff --git a/kirby/config/areas/users/dialogs.php b/kirby/config/areas/users/dialogs.php index 9192981..2e8d9e6 100755 --- a/kirby/config/areas/users/dialogs.php +++ b/kirby/config/areas/users/dialogs.php @@ -25,8 +25,8 @@ return [ 'link' => false, 'required' => true ]), - 'password' => Field::password(), - 'language' => Field::translation([ + 'password' => Field::password(), + 'translation' => Field::translation([ 'required' => true ]), 'role' => Field::role([ @@ -35,11 +35,11 @@ return [ ], 'submitButton' => t('create'), 'value' => [ - 'name' => '', - 'email' => '', - 'password' => '', - 'language' => $kirby->panelLanguage(), - 'role' => $kirby->user()->role()->name() + 'name' => '', + 'email' => '', + 'password' => '', + 'translation' => $kirby->panelLanguage(), + 'role' => $kirby->user()->role()->name() ] ] ]; @@ -49,7 +49,7 @@ return [ 'name' => get('name'), 'email' => get('email'), 'password' => get('password'), - 'language' => get('language'), + 'language' => get('translation'), 'role' => get('role') ]); return [ diff --git a/kirby/config/areas/users/views.php b/kirby/config/areas/users/views.php index 11668ab..7d1a71b 100755 --- a/kirby/config/areas/users/views.php +++ b/kirby/config/areas/users/views.php @@ -9,12 +9,10 @@ return [ 'action' => function () { $kirby = kirby(); $role = get('role'); - $roles = $kirby->roles()->toArray(function ($role) { - return [ - 'id' => $role->id(), - 'title' => $role->title(), - ]; - }); + $roles = $kirby->roles()->toArray(fn ($role) => [ + 'id' => $role->id(), + 'title' => $role->title(), + ]); return [ 'component' => 'k-users-view', @@ -38,15 +36,13 @@ return [ ]); return [ - 'data' => $users->values(function ($user) { - return [ - 'id' => $user->id(), - 'image' => $user->panel()->image(), - 'info' => Escape::html($user->role()->title()), - 'link' => $user->panel()->url(true), - 'text' => Escape::html($user->username()) - ]; - }), + 'data' => $users->values(fn ($user) => [ + 'id' => $user->id(), + 'image' => $user->panel()->image(), + 'info' => Escape::html($user->role()->title()), + 'link' => $user->panel()->url(true), + 'text' => Escape::html($user->username()) + ]), 'pagination' => $users->pagination()->toArray() ]; }, diff --git a/kirby/config/components.php b/kirby/config/components.php index 743e4fc..00341f2 100755 --- a/kirby/config/components.php +++ b/kirby/config/components.php @@ -136,13 +136,18 @@ return [ * @param \Kirby\Cms\App $kirby Kirby instance * @param string $text Text to parse * @param array $options Markdown options - * @param bool $inline Whether to wrap the text in `
` tags + * @param bool $inline Whether to wrap the text in `
` tags (deprecated: set via $options['inline'] instead)
* @return string
+ * @todo add deprecation warning for $inline parameter in 3.7.0
+ * @todo remove $inline parameter in in 3.8.0
*/
'markdown' => function (App $kirby, string $text = null, array $options = [], bool $inline = false): string {
static $markdown;
static $config;
+ // support for the deprecated fourth argument
+ $options['inline'] ??= $inline;
+
// if the config options have changed or the component is called for the first time,
// (re-)initialize the parser object
if ($config !== $options) {
@@ -150,7 +155,7 @@ return [
$config = $options;
}
- return $markdown->parse($text, $inline);
+ return $markdown->parse($text, $options['inline']);
},
/**
@@ -343,7 +348,7 @@ return [
* Modify all URLs
*
* @param \Kirby\Cms\App $kirby Kirby instance
- * @param string $path URL path
+ * @param string|null $path URL path
* @param array|string|null $options Array of options for the Uri class
* @return string
*/
@@ -376,7 +381,10 @@ return [
}
// keep relative urls
- if (substr($path, 0, 2) === './' || substr($path, 0, 3) === '../') {
+ if (
+ $path !== null &&
+ (substr($path, 0, 2) === './' || substr($path, 0, 3) === '../')
+ ) {
return $path;
}
diff --git a/kirby/config/fields/date.php b/kirby/config/fields/date.php
index 48bc2b4..e2124c4 100755
--- a/kirby/config/fields/date.php
+++ b/kirby/config/fields/date.php
@@ -2,6 +2,7 @@
use Kirby\Exception\Exception;
use Kirby\Form\Field;
+use Kirby\Toolkit\Date;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Str;
@@ -20,12 +21,11 @@ return [
return $calendar;
},
-
/**
* Default date when a new page/file/user gets created
*/
- 'default' => function (string $default = null) {
- return $default;
+ 'default' => function (string $default = null): string {
+ return $this->toDatetime($default) ?? '';
},
/**
@@ -46,42 +46,21 @@ return [
/**
* Latest date, which can be selected/saved (Y-m-d)
*/
- 'max' => function (string $max = null) {
- return $this->toDatetime($max);
+ 'max' => function (string $max = null): ?string {
+ return Date::optional($max);
},
/**
* Earliest date, which can be selected/saved (Y-m-d)
*/
- 'min' => function (string $min = null) {
- return $this->toDatetime($min);
+ 'min' => function (string $min = null): ?string {
+ return Date::optional($min);
},
/**
* Round to the nearest: sub-options for `unit` (day) and `size` (1)
*/
'step' => function ($step = null) {
- $default = [
- 'size' => 1,
- 'unit' => 'day'
- ];
-
- if ($step === null) {
- return $default;
- }
-
- if (is_array($step) === true) {
- $step = array_merge($default, $step);
- $step['unit'] = strtolower($step['unit']);
- return $step;
- }
-
- if (is_int($step) === true) {
- return array_merge($default, ['size' => $step]);
- }
-
- if (is_string($step) === true) {
- return array_merge($default, ['unit' => strtolower($step)]);
- }
+ return $step;
},
/**
@@ -95,12 +74,9 @@ return [
*/
'value' => function ($value = null) {
return $value;
- },
+ }
],
'computed' => [
- 'default' => function () {
- return $this->toDatetime($this->default);
- },
'display' => function () {
if ($this->display) {
return Str::upper($this->display);
@@ -120,57 +96,56 @@ return [
return $field->toArray();
},
'step' => function () {
- if ($this->time === false) {
- return $this->step;
+ if ($this->time === false || empty($this->time['step']) === true) {
+ return Date::stepConfig($this->step, [
+ 'size' => 1,
+ 'unit' => 'day'
+ ]);
}
- return $this->time['step'];
+ return Date::stepConfig($this->time['step'], [
+ 'size' => 5,
+ 'unit' => 'minute'
+ ]);
},
- 'value' => function () {
- return $this->toDatetime($this->value);
+ 'value' => function (): string {
+ return $this->toDatetime($this->value) ?? '';
},
],
'validations' => [
'date',
'minMax' => function ($value) {
- $min = $this->min ? strtotime($this->min) : null;
- $max = $this->max ? strtotime($this->max) : null;
- $value = strtotime($this->value());
+ if (!$value = Date::optional($value)) {
+ return true;
+ }
+
+ $min = Date::optional($this->min);
+ $max = Date::optional($this->max);
+
$format = $this->time === false ? 'd.m.Y' : 'd.m.Y H:i';
- $errors = [];
- if ($value && $min && $value < $min) {
- $errors['min'] = $min;
- }
-
- if ($value && $max && $value > $max) {
- $errors['max'] = $max;
- }
-
- if (empty($errors) === false) {
- if ($min && $max) {
- throw new Exception([
- 'key' => 'validation.date.between',
- 'data' => [
- 'min' => date($format, $min),
- 'max' => date($format, $max)
- ]
- ]);
- } elseif ($min) {
- throw new Exception([
- 'key' => 'validation.date.after',
- 'data' => [
- 'date' => date($format, $min),
- ]
- ]);
- } else {
- throw new Exception([
- 'key' => 'validation.date.before',
- 'data' => [
- 'date' => date($format, $max),
- ]
- ]);
- }
+ if ($min && $max && $value->isBetween($min, $max) === false) {
+ throw new Exception([
+ 'key' => 'validation.date.between',
+ 'data' => [
+ 'min' => $min->format($format),
+ 'max' => $min->format($format)
+ ]
+ ]);
+ } elseif ($min && $value->isMin($min) === false) {
+ throw new Exception([
+ 'key' => 'validation.date.after',
+ 'data' => [
+ 'date' => $min->format($format),
+ ]
+ ]);
+ } elseif ($max && $value->isMax($max) === false) {
+ throw new Exception([
+ 'key' => 'validation.date.before',
+ 'data' => [
+ 'date' => $max->format($format),
+ ]
+ ]);
}
return true;
diff --git a/kirby/config/fields/mixins/datetime.php b/kirby/config/fields/mixins/datetime.php
index 4498e3f..8a2125f 100755
--- a/kirby/config/fields/mixins/datetime.php
+++ b/kirby/config/fields/mixins/datetime.php
@@ -1,5 +1,7 @@
[
/**
@@ -11,16 +13,21 @@ return [
],
'methods' => [
'toDatetime' => function ($value, string $format = 'Y-m-d H:i:s') {
- if ($timestamp = timestamp($value, $this->step)) {
- return date($format, $timestamp);
+ if ($date = Date::optional($value)) {
+ if ($this->step) {
+ $step = Date::stepConfig($this->step);
+ $date->round($step['unit'], $step['size']);
+ }
+
+ return $date->format($format);
}
return null;
}
],
'save' => function ($value) {
- if ($value !== null && $timestamp = strtotime($value)) {
- return date($this->format, $timestamp);
+ if ($date = Date::optional($value)) {
+ return $date->format($this->format);
}
return '';
diff --git a/kirby/config/fields/time.php b/kirby/config/fields/time.php
index 7f18e69..5dbb536 100755
--- a/kirby/config/fields/time.php
+++ b/kirby/config/fields/time.php
@@ -1,6 +1,7 @@
null,
-
/**
* Sets the default time when a new page/file/user is created
*/
- 'default' => function ($default = null) {
+ 'default' => function ($default = null): ?string {
return $default;
},
@@ -36,14 +36,14 @@ return [
/**
* Latest time, which can be selected/saved (H:i or H:i:s)
*/
- 'max' => function (string $max = null) {
- return $max ? $this->toDatetime(date('Y-m-d ') . $max) : null;
+ 'max' => function (string $max = null): ?string {
+ return Date::optional($max);
},
/**
* Earliest time, which can be selected/saved (H:i or H:i:s)
*/
- 'min' => function (string $min = null) {
- return $min ? $this->toDatetime(date('Y-m-d ') . $min) : null;
+ 'min' => function (string $min = null): ?string {
+ return Date::optional($min);
},
/**
@@ -57,92 +57,67 @@ return [
* Round to the nearest: sub-options for `unit` (minute) and `size` (5)
*/
'step' => function ($step = null) {
- $default = [
+ return Date::stepConfig($step, [
'size' => 5,
- 'unit' => 'minute'
- ];
-
- if ($step === null) {
- return $default;
- }
-
- if (is_array($step) === true) {
- $step = array_merge($default, $step);
- $step['unit'] = strtolower($step['unit']);
- return $step;
- }
-
- if (is_int($step) === true) {
- return array_merge($default, ['size' => $step]);
- }
-
- if (is_string($step) === true) {
- return array_merge($default, ['unit' => strtolower($step)]);
- }
+ 'unit' => 'minute',
+ ]);
},
- 'value' => function ($value = null) {
+ 'value' => function ($value = null): ?string {
return $value;
}
],
'computed' => [
- 'default' => function () {
- return $this->toDatetime($this->default, 'H:i:s');
- },
'display' => function () {
if ($this->display) {
return $this->display;
}
- return $this->notation === 24 ? 'HH:mm' : 'h:mm a';
+ return $this->notation === 24 ? 'HH:mm' : 'hh:mm a';
+ },
+ 'default' => function (): string {
+ return $this->toDatetime($this->default, 'H:i:s') ?? '';
},
'format' => function () {
return $this->props['format'] ?? 'H:i:s';
},
- 'value' => function () {
- return $this->toDatetime($this->value, 'H:i:s');
+ 'value' => function (): ?string {
+ return $this->toDatetime($this->value, 'H:i:s') ?? '';
}
],
'validations' => [
'time',
'minMax' => function ($value) {
- $min = $this->min ? strtotime($this->min) : null;
- $max = $this->max ? strtotime($this->max) : null;
- $value = strtotime($this->value());
+ if (!$value = Date::optional($value)) {
+ return true;
+ }
+
+ $min = Date::optional($this->min);
+ $max = Date::optional($this->max);
+
$format = 'H:i:s';
- $errors = [];
- if ($value && $min && $value < $min) {
- $errors['min'] = $min;
- }
-
- if ($value && $max && $value > $max) {
- $errors['max'] = $max;
- }
-
- if (empty($errors) === false) {
- if ($min && $max) {
- throw new Exception([
- 'key' => 'validation.time.between',
- 'data' => [
- 'min' => date($format, $min),
- 'max' => date($format, $max)
- ]
- ]);
- } elseif ($min) {
- throw new Exception([
- 'key' => 'validation.time.after',
- 'data' => [
- 'time' => date($format, $min),
- ]
- ]);
- } else {
- throw new Exception([
- 'key' => 'validation.time.before',
- 'data' => [
- 'time' => date($format, $max),
- ]
- ]);
- }
+ if ($min && $max && $value->isBetween($min, $max) === false) {
+ throw new Exception([
+ 'key' => 'validation.time.between',
+ 'data' => [
+ 'min' => $min->format($format),
+ 'max' => $min->format($format)
+ ]
+ ]);
+ } elseif ($min && $value->isMin($min) === false) {
+ throw new Exception([
+ 'key' => 'validation.time.after',
+ 'data' => [
+ 'time' => $min->format($format),
+ ]
+ ]);
+ } elseif ($max && $value->isMax($max) === false) {
+ throw new Exception([
+ 'key' => 'validation.time.before',
+ 'data' => [
+ 'time' => $max->format($format),
+ ]
+ ]);
}
return true;
diff --git a/kirby/config/helpers.php b/kirby/config/helpers.php
index c895bdb..91e9c76 100755
--- a/kirby/config/helpers.php
+++ b/kirby/config/helpers.php
@@ -8,6 +8,7 @@ use Kirby\Exception\InvalidArgumentException;
use Kirby\Filesystem\Asset;
use Kirby\Filesystem\F;
use Kirby\Http\Router;
+use Kirby\Toolkit\Date;
use Kirby\Toolkit\Escape;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Str;
@@ -114,11 +115,18 @@ function css($url, $options = null): ?string
}
}
+ // only valid value for 'rel' is 'alternate stylesheet', if 'title' is given as well
+ if (
+ ($options['rel'] ?? '') !== 'alternate stylesheet' ||
+ ($options['title'] ?? '') === ''
+ ) {
+ $options['rel'] = 'stylesheet';
+ }
+
$url = ($kirby->component('css'))($kirby, $url, $options);
$url = Url::to($url);
$attr = array_merge((array)$options, [
- 'href' => $url,
- 'rel' => 'stylesheet'
+ 'href' => $url
]);
return '';
@@ -527,11 +535,12 @@ function load(array $classmap, ?string $base = null)
* `$kirby->markdown($text)`
*
* @param string|null $text
+ * @param array $options
* @return string
*/
-function markdown(?string $text = null): string
+function markdown(?string $text = null, array $options = []): string
{
- return App::instance()->markdown($text);
+ return App::instance()->markdown($text, $options);
}
/**
@@ -785,60 +794,19 @@ function tc(string $key, int $count)
*/
function timestamp(?string $date = null, $step = null): ?int
{
- if (V::date($date) === false) {
- return null;
- }
-
- $date = strtotime($date);
-
- if ($step === null) {
- return $date;
- }
-
- // fallback for pre-3.5.0 usage
- if (is_int($step) === true) {
- $step = [
- 'unit' => 'minute',
- 'size' => $step
- ];
- }
-
- if (is_array($step) === false) {
- return $date;
- }
-
- $parts = [
- 'second' => date('s', $date),
- 'minute' => date('i', $date),
- 'hour' => date('H', $date),
- 'day' => date('d', $date),
- 'month' => date('m', $date),
- 'year' => date('Y', $date),
- ];
-
- $current = $parts[$step['unit']];
- $nearest = round($current / $step['size']) * $step['size'];
- $parts[$step['unit']] = $nearest;
-
- foreach ($parts as $part => $value) {
- if ($part === $step['unit']) {
- break;
+ if ($date = Date::optional($date)) {
+ if ($step !== null) {
+ $step = Date::stepConfig($step, [
+ 'unit' => 'minute',
+ 'size' => 1
+ ]);
+ $date->round($step['unit'], $step['size']);
}
- $parts[$part] = 0;
+ return $date->timestamp();
}
- $timestamp = strtotime(
- $parts['year'] . '-' .
- str_pad($parts['month'], 2, 0, STR_PAD_LEFT) . '-' .
- str_pad($parts['day'], 2, 0, STR_PAD_LEFT) . ' ' .
- str_pad($parts['hour'], 2, 0, STR_PAD_LEFT) . ':' .
- str_pad($parts['minute'], 2, 0, STR_PAD_LEFT) . ':' .
- str_pad($parts['second'], 2, 0, STR_PAD_LEFT)
- );
-
- // on error, convert `false` into `null`
- return $timestamp ?? null;
+ return null;
}
/**
diff --git a/kirby/config/methods.php b/kirby/config/methods.php
index a98c176..94fef2f 100755
--- a/kirby/config/methods.php
+++ b/kirby/config/methods.php
@@ -393,13 +393,14 @@ return function (App $app) {
* Converts the field content from Markdown/Kirbytext to valid HTML
*
* @param \Kirby\Cms\Field $field
+ * @param array $options
* @return \Kirby\Cms\Field
*/
- 'kirbytext' => function (Field $field) use ($app) {
- $field->value = $app->kirbytext($field->value, [
+ 'kirbytext' => function (Field $field, array $options = []) use ($app) {
+ $field->value = $app->kirbytext($field->value, A::merge($options, [
'parent' => $field->parent(),
'field' => $field
- ]);
+ ]));
return $field;
},
@@ -410,13 +411,17 @@ return function (App $app) {
* @since 3.1.0
*
* @param \Kirby\Cms\Field $field
+ * @param array $options
* @return \Kirby\Cms\Field
*/
- 'kirbytextinline' => function (Field $field) use ($app) {
- $field->value = $app->kirbytext($field->value, [
- 'parent' => $field->parent(),
- 'field' => $field
- ], true);
+ 'kirbytextinline' => function (Field $field, array $options = []) use ($app) {
+ $field->value = $app->kirbytext($field->value, A::merge($options, [
+ 'parent' => $field->parent(),
+ 'field' => $field,
+ 'markdown' => [
+ 'inline' => true
+ ]
+ ]));
return $field;
},
@@ -451,10 +456,11 @@ return function (App $app) {
* Converts markdown to valid HTML
*
* @param \Kirby\Cms\Field $field
+ * @param array $options
* @return \Kirby\Cms\Field
*/
- 'markdown' => function (Field $field) use ($app) {
- $field->value = $app->markdown($field->value);
+ 'markdown' => function (Field $field, array $options = []) use ($app) {
+ $field->value = $app->markdown($field->value, $options);
return $field;
},
diff --git a/kirby/vendor/mustangostang/spyc/COPYING b/kirby/dependencies/spyc/COPYING
similarity index 100%
rename from kirby/vendor/mustangostang/spyc/COPYING
rename to kirby/dependencies/spyc/COPYING
diff --git a/kirby/dependencies/spyc/Spyc.php b/kirby/dependencies/spyc/Spyc.php
new file mode 100755
index 0000000..935324f
--- /dev/null
+++ b/kirby/dependencies/spyc/Spyc.php
@@ -0,0 +1,1198 @@
+
+ * @author Chris Wanstrath |<\/p>)/gi,""),this.$emit("input",this.html)):this.$emit("input",this.list="")}}},Ii={};var ji=zt(Li,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("k-writer",t._b({ref:"input",staticClass:"k-list-input",attrs:{extensions:t.extensions,nodes:["bulletList","orderedList"],value:t.list},on:{input:t.onInput}},"k-writer",t.$props,!1))}),[],!1,Bi,null,null,null);function Bi(t){for(let e in Ii)this[e]=Ii[e]}var Mi=function(){return ji.exports}();const Di={mixins:[_n,xn,En],props:{max:Number,min:Number,layout:String,options:{type:Array,default:()=>[]},search:[Object,Boolean],separator:{type:String,default:","},sort:Boolean,value:{type:Array,required:!0,default:()=>[]}}},Pi={};var Ni=zt({mixins:[Di],inheritAttrs:!1,data(){return{state:this.value,q:null,limit:!0,scrollTop:0}},computed:{draggable(){return this.state.length>1&&!this.sort},dragOptions(){return{disabled:!this.draggable,draggable:".k-tag",delay:1}},emptyLabel(){return this.q?this.$t("search.results.none"):this.$t("options.none")},filtered(){var t;return(null==(t=this.q)?void 0:t.length)>=(this.search.min||0)?this.options.filter((t=>this.isFiltered(t))).map((t=>l(a({},t),{display:this.toHighlightedString(t.text),info:this.toHighlightedString(t.value)}))):this.options.map((t=>l(a({},t),{display:t.text,info:t.value})))},more(){return!this.max||this.state.length |<\/p>)/gi,""),this.$emit("input",this.html)):this.$emit("input",this.list="")}}},Ti={};var Ai=Rt(Ei,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("k-writer",t._b({ref:"input",staticClass:"k-list-input",attrs:{extensions:t.extensions,nodes:["bulletList","orderedList"],value:t.list},on:{input:t.onInput}},"k-writer",t.$props,!1))}),[],!1,Mi,null,null,null);function Mi(t){for(let e in Ti)this[e]=Ti[e]}var Ii=function(){return Ai.exports}();const Li={mixins:[yn,_n,Cn],props:{max:Number,min:Number,layout:String,options:{type:Array,default:()=>[]},search:[Object,Boolean],separator:{type:String,default:","},sort:Boolean,value:{type:Array,required:!0,default:()=>[]}}},ji={};var Di=Rt({mixins:[Li],inheritAttrs:!1,data(){return{state:this.value,q:null,limit:!0,scrollTop:0}},computed:{draggable(){return this.state.length>1&&!this.sort},dragOptions(){return{disabled:!this.draggable,draggable:".k-tag",delay:1}},emptyLabel(){return this.q?this.$t("search.results.none"):this.$t("options.none")},filtered(){var t;return(null==(t=this.q)?void 0:t.length)>=(this.search.min||0)?this.options.filter((t=>this.isFiltered(t))).map((t=>l(a({},t),{display:this.toHighlightedString(t.text),info:this.toHighlightedString(t.value)}))):this.options.map((t=>l(a({},t),{display:t.text,info:t.value})))},more(){return!this.max||this.state.length
+ * $array = Spyc::YAMLLoad('lucky.yaml');
+ * print_r($array);
+ *
+ * @access public
+ * @param string $input Path of YAML file or string containing YAML
+ * @param array set options
+ * @return array
+ */
+ public static function YAMLLoad($input, $options = [])
+ {
+ $Spyc = new Spyc;
+ foreach ($options as $key => $value) {
+ if (property_exists($Spyc, $key)) {
+ $Spyc->$key = $value;
+ }
+ }
+ return $Spyc->_load($input);
+ }
+
+ /**
+ * Load a string of YAML into a PHP array statically
+ *
+ * The load method, when supplied with a YAML string, will do its best
+ * to convert YAML in a string into a PHP array. Pretty simple.
+ *
+ * Note: use this function if you don't want files from the file system
+ * loaded and processed as YAML. This is of interest to people concerned
+ * about security whose input is from a string.
+ *
+ * Usage:
+ *
+ * $array = Spyc::YAMLLoadString("---\n0: hello world\n");
+ * print_r($array);
+ *
+ * @access public
+ * @param string $input String containing YAML
+ * @param array set options
+ * @return array
+ */
+ public static function YAMLLoadString($input, $options = [])
+ {
+ $Spyc = new Spyc;
+ foreach ($options as $key => $value) {
+ if (property_exists($Spyc, $key)) {
+ $Spyc->$key = $value;
+ }
+ }
+ return $Spyc->_loadString($input);
+ }
+
+ /**
+ * Dump YAML from PHP array statically
+ *
+ * The dump method, when supplied with an array, will do its best
+ * to convert the array into friendly YAML. Pretty simple. Feel free to
+ * save the returned string as nothing.yaml and pass it around.
+ *
+ * Oh, and you can decide how big the indent is and what the wordwrap
+ * for folding is. Pretty cool -- just pass in 'false' for either if
+ * you want to use the default.
+ *
+ * Indent's default is 2 spaces, wordwrap's default is 40 characters. And
+ * you can turn off wordwrap by passing in 0.
+ *
+ * @access public
+ * @param array|\stdClass $array PHP array
+ * @param int $indent Pass in false to use the default, which is 2
+ * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
+ * @param bool $no_opening_dashes Do not start YAML file with "---\n"
+ * @return string
+ */
+ public static function YAMLDump($array, $indent = false, $wordwrap = false, $no_opening_dashes = false)
+ {
+ $spyc = new Spyc;
+ return $spyc->dump($array, $indent, $wordwrap, $no_opening_dashes);
+ }
+
+ /**
+ * Dump PHP array to YAML
+ *
+ * The dump method, when supplied with an array, will do its best
+ * to convert the array into friendly YAML. Pretty simple. Feel free to
+ * save the returned string as tasteful.yaml and pass it around.
+ *
+ * Oh, and you can decide how big the indent is and what the wordwrap
+ * for folding is. Pretty cool -- just pass in 'false' for either if
+ * you want to use the default.
+ *
+ * Indent's default is 2 spaces, wordwrap's default is 40 characters. And
+ * you can turn off wordwrap by passing in 0.
+ *
+ * @access public
+ * @param array $array PHP array
+ * @param int $indent Pass in false to use the default, which is 2
+ * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
+ * @return string
+ */
+ public function dump($array, $indent = false, $wordwrap = false, $no_opening_dashes = false)
+ {
+ // Dumps to some very clean YAML. We'll have to add some more features
+ // and options soon. And better support for folding.
+
+ // New features and options.
+ if ($indent === false or !is_numeric($indent)) {
+ $this->_dumpIndent = 2;
+ } else {
+ $this->_dumpIndent = $indent;
+ }
+
+ if ($wordwrap === false or !is_numeric($wordwrap)) {
+ $this->_dumpWordWrap = 40;
+ } else {
+ $this->_dumpWordWrap = $wordwrap;
+ }
+
+ // New YAML document
+ $string = "";
+ if (!$no_opening_dashes) $string = "---\n";
+
+ // Start at the base of the array and move through it.
+ if ($array) {
+ $array = (array)$array;
+ $previous_key = -1;
+ foreach ($array as $key => $value) {
+ if (!isset($first_key)) $first_key = $key;
+ $string .= $this->_yamlize($key, $value, 0, $previous_key, $first_key, $array);
+ $previous_key = $key;
+ }
+ }
+ return $string;
+ }
+
+ /**
+ * Attempts to convert a key / value array item to YAML
+ * @access private
+ * @param $key The name of the key
+ * @param $value The value of the item
+ * @param $indent The indent of the current node
+ * @return string
+ */
+ private function _yamlize($key, $value, $indent, $previous_key = -1, $first_key = 0, $source_array = null)
+ {
+ if (is_object($value)) $value = (array)$value;
+ if (is_array($value)) {
+ if (empty ($value))
+ return $this->_dumpNode($key, array(), $indent, $previous_key, $first_key, $source_array);
+ // It has children. What to do?
+ // Make it the right kind of item
+ $string = $this->_dumpNode($key, self::REMPTY, $indent, $previous_key, $first_key, $source_array);
+ // Add the indent
+ $indent += $this->_dumpIndent;
+ // Yamlize the array
+ $string .= $this->_yamlizeArray($value, $indent);
+ } elseif (!is_array($value)) {
+ // It doesn't have children. Yip.
+ $string = $this->_dumpNode($key, $value, $indent, $previous_key, $first_key, $source_array);
+ }
+ return $string;
+ }
+
+ /**
+ * Attempts to convert an array to YAML
+ * @access private
+ * @param $array The array you want to convert
+ * @param $indent The indent of the current level
+ * @return string
+ */
+ private function _yamlizeArray($array, $indent)
+ {
+ if (is_array($array)) {
+ $string = '';
+ $previous_key = -1;
+ foreach ($array as $key => $value) {
+ if (!isset($first_key)) $first_key = $key;
+ $string .= $this->_yamlize($key, $value, $indent, $previous_key, $first_key, $array);
+ $previous_key = $key;
+ }
+ return $string;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Returns YAML from a key and a value
+ * @access private
+ * @param $key The name of the key
+ * @param $value The value of the item
+ * @param $indent The indent of the current node
+ * @return string
+ */
+ private function _dumpNode($key, $value, $indent, $previous_key = -1, $first_key = 0, $source_array = null)
+ {
+ // do some folding here, for blocks
+ if (
+ is_string($value) &&
+ (
+ strpos($value, "\n") !== false ||
+ strpos($value, ": ") !== false ||
+ strpos($value, "- ") !== false ||
+ strpos($value, "*") !== false ||
+ strpos($value, "#") !== false ||
+ strpos($value, "<") !== false ||
+ strpos($value, ">") !== false ||
+ strpos($value, '%') !== false ||
+ strpos($value, ' ') !== false ||
+ strpos($value, "[") !== false ||
+ strpos($value, "]") !== false ||
+ strpos($value, "{") !== false ||
+ strpos($value, "}") !== false ||
+ strpos($value, "&") !== false ||
+ strpos($value, "'") !== false ||
+ strpos($value, "!") === 0 ||
+ substr($value, -1, 1) == ':'
+ )
+ ) {
+ $value = $this->_doLiteralBlock($value, $indent);
+ } else {
+ $value = $this->_doFolding($value, $indent);
+ }
+
+ if ($value === array()) $value = '[ ]';
+ if ($value === "") $value = '""';
+ if (self::isTranslationWord($value)) {
+ $value = $this->_doLiteralBlock($value, $indent);
+ }
+ if (trim($value ?? '') != $value)
+ $value = $this->_doLiteralBlock($value, $indent);
+
+ if (is_bool($value)) {
+ $value = $value ? "true" : "false";
+ }
+
+ if ($value === null) $value = 'null';
+ if ($value === "'" . self::REMPTY . "'") $value = null;
+
+ $spaces = str_repeat(' ', $indent);
+
+ //if (is_int($key) && $key - 1 == $previous_key && $first_key===0) {
+ if (is_array($source_array) && array_keys($source_array) === range(0, count($source_array) - 1)) {
+ // It's a sequence
+ $string = $spaces . '- ' . $value . "\n";
+ } else {
+ // if ($first_key===0) throw new Exception('Keys are all screwy. The first one was zero, now it\'s "'. $key .'"');
+ // It's mapped
+ if (strpos($key, ":") !== false || strpos($key, "#") !== false) {
+ $key = '"' . $key . '"';
+ }
+ $string = rtrim($spaces . $key . ': ' . $value) . "\n";
+ }
+ return $string;
+ }
+
+ /**
+ * Creates a literal block for dumping
+ * @access private
+ * @param $value
+ * @param $indent int The value of the indent
+ * @return string
+ */
+ private function _doLiteralBlock($value, $indent)
+ {
+ $value ??= '';
+
+ if ($value === "\n") return '\n';
+ if (strpos($value, "\n") === false && strpos($value, "'") === false) {
+ return sprintf("'%s'", $value);
+ }
+ if (strpos($value, "\n") === false && strpos($value, '"') === false) {
+ return sprintf('"%s"', $value);
+ }
+ $exploded = explode("\n", $value);
+ $newValue = '|';
+ if (isset($exploded[0]) && ($exploded[0] == "|" || $exploded[0] == "|-" || $exploded[0] == ">")) {
+ $newValue = $exploded[0];
+ unset($exploded[0]);
+ }
+ $indent += $this->_dumpIndent;
+ $spaces = str_repeat(' ', $indent);
+ foreach ($exploded as $line) {
+ $line = trim($line);
+ if (strpos($line, '"') === 0 && strrpos($line, '"') == (strlen($line) - 1) || strpos($line, "'") === 0 && strrpos($line, "'") == (strlen($line) - 1)) {
+ $line = substr($line, 1, -1);
+ }
+ $newValue .= "\n" . $spaces . ($line);
+ }
+ return $newValue;
+ }
+
+ /**
+ * Folds a string of text, if necessary
+ * @access private
+ * @param $value The string you wish to fold
+ * @return string
+ */
+ private function _doFolding($value, $indent)
+ {
+ // Don't do anything if wordwrap is set to 0
+ if ($this->_dumpWordWrap !== 0 && is_string($value) && strlen($value) > $this->_dumpWordWrap) {
+ $indent += $this->_dumpIndent;
+ $indent = str_repeat(' ', $indent);
+ $wrapped = wordwrap($value, $this->_dumpWordWrap, "\n$indent");
+ $value = ">\n" . $indent . $wrapped;
+ } else {
+ if ($this->setting_dump_force_quotes && is_string($value) && $value !== self::REMPTY)
+ $value = '"' . $value . '"';
+ if (is_numeric($value) && is_string($value))
+ $value = '"' . $value . '"';
+ }
+
+
+ return $value;
+ }
+
+ private function isTrueWord($value)
+ {
+ $words = self::getTranslations(array('true', 'on', 'yes', 'y'));
+ return in_array($value, $words, true);
+ }
+
+ private function isFalseWord($value)
+ {
+ $words = self::getTranslations(array('false', 'off', 'no', 'n'));
+ return in_array($value, $words, true);
+ }
+
+ private function isNullWord($value)
+ {
+ $words = self::getTranslations(array('null', '~'));
+ return in_array($value, $words, true);
+ }
+
+ private function isTranslationWord($value)
+ {
+ return (
+ self::isTrueWord($value) ||
+ self::isFalseWord($value) ||
+ self::isNullWord($value)
+ );
+ }
+
+ /**
+ * Coerce a string into a native type
+ * Reference: http://yaml.org/type/bool.html
+ * TODO: Use only words from the YAML spec.
+ * @access private
+ * @param $value The value to coerce
+ */
+ private function coerceValue(&$value)
+ {
+ if (self::isTrueWord($value)) {
+ $value = true;
+ } else if (self::isFalseWord($value)) {
+ $value = false;
+ } else if (self::isNullWord($value)) {
+ $value = null;
+ }
+ }
+
+ /**
+ * Given a set of words, perform the appropriate translations on them to
+ * match the YAML 1.1 specification for type coercing.
+ * @param $words The words to translate
+ * @access private
+ */
+ private static function getTranslations(array $words)
+ {
+ $result = array();
+ foreach ($words as $i) {
+ $result = array_merge($result, array(ucfirst($i), strtoupper($i), strtolower($i)));
+ }
+ return $result;
+ }
+
+ // LOADING FUNCTIONS
+
+ private function _load($input)
+ {
+ $Source = $this->loadFromSource($input);
+ return $this->loadWithSource($Source);
+ }
+
+ private function _loadString($input)
+ {
+ $Source = $this->loadFromString($input);
+ return $this->loadWithSource($Source);
+ }
+
+ private function loadWithSource($Source)
+ {
+ if (empty ($Source)) return array();
+ if ($this->setting_use_syck_is_possible && function_exists('syck_load')) {
+ $array = syck_load(implode("\n", $Source));
+ return is_array($array) ? $array : array();
+ }
+
+ $this->path = array();
+ $this->result = array();
+
+ $cnt = count($Source);
+ for ($i = 0; $i < $cnt; $i++) {
+ $line = $Source[$i];
+
+ $this->indent = strlen($line) - strlen(ltrim($line));
+ $tempPath = $this->getParentPathByIndent($this->indent);
+ $line = self::stripIndent($line, $this->indent);
+ if (self::isComment($line)) continue;
+ if (self::isEmpty($line)) continue;
+ $this->path = $tempPath;
+
+ $literalBlockStyle = self::startsLiteralBlock($line);
+ if ($literalBlockStyle) {
+ $line = rtrim($line, $literalBlockStyle . " \n");
+ $literalBlock = '';
+ $line .= ' ' . $this->LiteralPlaceHolder;
+ $literal_block_indent = strlen($Source[$i + 1]) - strlen(ltrim($Source[$i + 1]));
+ while (++$i < $cnt && $this->literalBlockContinues($Source[$i], $this->indent)) {
+ $literalBlock = $this->addLiteralLine($literalBlock, $Source[$i], $literalBlockStyle, $literal_block_indent);
+ }
+ $i--;
+ }
+
+ // Strip out comments
+ if (strpos($line, '#')) {
+ $line = preg_replace('/\s*#([^"\']+)$/', '', $line);
+ }
+
+ while (++$i < $cnt && self::greedilyNeedNextLine($line)) {
+ $line = rtrim($line, " \n\t\r") . ' ' . ltrim($Source[$i], " \t");
+ }
+ $i--;
+
+ $lineArray = $this->_parseLine($line);
+
+ if ($literalBlockStyle)
+ $lineArray = $this->revertLiteralPlaceHolder($lineArray, $literalBlock);
+
+ $this->addArray($lineArray, $this->indent);
+
+ foreach ($this->delayedPath as $indent => $delayedPath)
+ $this->path[$indent] = $delayedPath;
+
+ $this->delayedPath = array();
+
+ }
+ return $this->result;
+ }
+
+ private function loadFromSource($input)
+ {
+ if (!empty($input) && strpos($input, "\n") === false && file_exists($input))
+ $input = file_get_contents($input);
+
+ return $this->loadFromString($input);
+ }
+
+ private function loadFromString($input)
+ {
+ $lines = explode("\n", $input);
+ foreach ($lines as $k => $_) {
+ $lines[$k] = rtrim($_, "\r");
+ }
+ return $lines;
+ }
+
+ /**
+ * Parses YAML code and returns an array for a node
+ * @access private
+ * @param string $line A line from the YAML file
+ * @return array
+ */
+ private function _parseLine($line)
+ {
+ if (!$line) return array();
+ $line = trim($line);
+ if (!$line) return array();
+
+ $group = $this->nodeContainsGroup($line);
+ if ($group) {
+ $this->addGroup($line, $group);
+ $line = $this->stripGroup($line, $group);
+ }
+
+ if ($this->startsMappedSequence($line)) {
+ return $this->returnMappedSequence($line);
+ }
+
+ if ($this->startsMappedValue($line)) {
+ return $this->returnMappedValue($line);
+ }
+
+ if ($this->isArrayElement($line))
+ return $this->returnArrayElement($line);
+
+ if ($this->isPlainArray($line))
+ return $this->returnPlainArray($line);
+
+ return $this->returnKeyValuePair($line);
+ }
+
+ /**
+ * Finds the type of the passed value, returns the value as the new type.
+ * @access private
+ * @param string $value
+ * @return mixed
+ */
+ private function _toType($value)
+ {
+ if ($value === '') return "";
+
+ if ($this->setting_empty_hash_as_object && $value === '{}') {
+ return new stdClass();
+ }
+
+ $first_character = $value[0];
+ $last_character = substr($value, -1, 1);
+
+ $is_quoted = false;
+ do {
+ if (!$value) break;
+ if ($first_character != '"' && $first_character != "'") break;
+ if ($last_character != '"' && $last_character != "'") break;
+ $is_quoted = true;
+ } while (0);
+
+ if ($is_quoted) {
+ $value = str_replace('\n', "\n", $value);
+ if ($first_character == "'")
+ return strtr(substr($value, 1, -1), array('\'\'' => '\'', '\\\'' => '\''));
+ return strtr(substr($value, 1, -1), array('\\"' => '"', '\\\'' => '\''));
+ }
+
+ if (strpos($value, ' #') !== false && !$is_quoted)
+ $value = preg_replace('/\s+#(.+)$/', '', $value);
+
+ if ($first_character == '[' && $last_character == ']') {
+ // Take out strings sequences and mappings
+ $innerValue = trim(substr($value, 1, -1));
+ if ($innerValue === '') return array();
+ $explode = $this->_inlineEscape($innerValue);
+ // Propagate value array
+ $value = array();
+ foreach ($explode as $v) {
+ $value[] = $this->_toType($v);
+ }
+ return $value;
+ }
+
+ if (strpos($value, ': ') !== false && $first_character != '{') {
+ $array = explode(': ', $value);
+ $key = trim($array[0]);
+ array_shift($array);
+ $value = trim(implode(': ', $array));
+ $value = $this->_toType($value);
+ return array($key => $value);
+ }
+
+ if ($first_character == '{' && $last_character == '}') {
+ $innerValue = trim(substr($value, 1, -1));
+ if ($innerValue === '') return array();
+ // Inline Mapping
+ // Take out strings sequences and mappings
+ $explode = $this->_inlineEscape($innerValue);
+ // Propagate value array
+ $array = array();
+ foreach ($explode as $v) {
+ $SubArr = $this->_toType($v);
+ if (empty($SubArr)) continue;
+ if (is_array($SubArr)) {
+ $array[key($SubArr)] = $SubArr[key($SubArr)];
+ continue;
+ }
+ $array[] = $SubArr;
+ }
+ return $array;
+ }
+
+ if ($value == 'null' || $value == 'NULL' || $value == 'Null' || $value == '' || $value == '~') {
+ return null;
+ }
+
+ if (is_numeric($value) && preg_match('/^(-|)[1-9]+[0-9]*$/', $value)) {
+ $intvalue = (int)$value;
+ if ($intvalue != PHP_INT_MAX && $intvalue != ~PHP_INT_MAX)
+ $value = $intvalue;
+ return $value;
+ }
+
+ if (is_string($value) && preg_match('/^0[xX][0-9a-fA-F]+$/', $value)) {
+ // Hexadecimal value.
+ return hexdec($value);
+ }
+
+ $this->coerceValue($value);
+
+ if (is_numeric($value)) {
+ if ($value === '0') return 0;
+ if (rtrim($value, 0) === $value)
+ $value = (float)$value;
+ return $value;
+ }
+
+ return $value;
+ }
+
+ /**
+ * Used in inlines to check for more inlines or quoted strings
+ * @access private
+ * @return array
+ */
+ private function _inlineEscape($inline)
+ {
+ // There's gotta be a cleaner way to do this...
+ // While pure sequences seem to be nesting just fine,
+ // pure mappings and mappings with sequences inside can't go very
+ // deep. This needs to be fixed.
+
+ $seqs = array();
+ $maps = array();
+ $saved_strings = array();
+ $saved_empties = array();
+
+ // Check for empty strings
+ $regex = '/("")|(\'\')/';
+ if (preg_match_all($regex, $inline, $strings)) {
+ $saved_empties = $strings[0];
+ $inline = preg_replace($regex, 'YAMLEmpty', $inline);
+ }
+ unset($regex);
+
+ // Check for strings
+ $regex = '/(?:(")|(?:\'))((?(1)[^"]+|[^\']+))(?(1)"|\')/';
+ if (preg_match_all($regex, $inline, $strings)) {
+ $saved_strings = $strings[0];
+ $inline = preg_replace($regex, 'YAMLString', $inline);
+ }
+ unset($regex);
+
+ $i = 0;
+ do {
+
+ // Check for sequences
+ while (preg_match('/\[([^{}\[\]]+)\]/U', $inline, $matchseqs)) {
+ $seqs[] = $matchseqs[0];
+ $inline = preg_replace('/\[([^{}\[\]]+)\]/U', ('YAMLSeq' . (count($seqs) - 1) . 's'), $inline, 1);
+ }
+
+ // Check for mappings
+ while (preg_match('/{([^\[\]{}]+)}/U', $inline, $matchmaps)) {
+ $maps[] = $matchmaps[0];
+ $inline = preg_replace('/{([^\[\]{}]+)}/U', ('YAMLMap' . (count($maps) - 1) . 's'), $inline, 1);
+ }
+
+ if ($i++ >= 10) break;
+
+ } while (strpos($inline, '[') !== false || strpos($inline, '{') !== false);
+
+ $explode = explode(',', $inline);
+ $explode = array_map('trim', $explode);
+ $stringi = 0;
+ $i = 0;
+
+ while (1) {
+
+ // Re-add the sequences
+ if (!empty($seqs)) {
+ foreach ($explode as $key => $value) {
+ if (strpos($value, 'YAMLSeq') !== false) {
+ foreach ($seqs as $seqk => $seq) {
+ $explode[$key] = str_replace(('YAMLSeq' . $seqk . 's'), $seq, $value);
+ $value = $explode[$key];
+ }
+ }
+ }
+ }
+
+ // Re-add the mappings
+ if (!empty($maps)) {
+ foreach ($explode as $key => $value) {
+ if (strpos($value, 'YAMLMap') !== false) {
+ foreach ($maps as $mapk => $map) {
+ $explode[$key] = str_replace(('YAMLMap' . $mapk . 's'), $map, $value);
+ $value = $explode[$key];
+ }
+ }
+ }
+ }
+
+ // Re-add the strings
+ if (!empty($saved_strings)) {
+ foreach ($explode as $key => $value) {
+ while (strpos($value, 'YAMLString') !== false) {
+ $explode[$key] = preg_replace('/YAMLString/', $saved_strings[$stringi], $value, 1);
+ unset($saved_strings[$stringi]);
+ ++$stringi;
+ $value = $explode[$key];
+ }
+ }
+ }
+
+
+ // Re-add the empties
+ if (!empty($saved_empties)) {
+ foreach ($explode as $key => $value) {
+ while (strpos($value, 'YAMLEmpty') !== false) {
+ $explode[$key] = preg_replace('/YAMLEmpty/', '', $value, 1);
+ $value = $explode[$key];
+ }
+ }
+ }
+
+ $finished = true;
+ foreach ($explode as $key => $value) {
+ if (strpos($value, 'YAMLSeq') !== false) {
+ $finished = false;
+ break;
+ }
+ if (strpos($value, 'YAMLMap') !== false) {
+ $finished = false;
+ break;
+ }
+ if (strpos($value, 'YAMLString') !== false) {
+ $finished = false;
+ break;
+ }
+ if (strpos($value, 'YAMLEmpty') !== false) {
+ $finished = false;
+ break;
+ }
+ }
+ if ($finished) break;
+
+ $i++;
+ if ($i > 10)
+ break; // Prevent infinite loops.
+ }
+
+ return $explode;
+ }
+
+ private function literalBlockContinues($line, $lineIndent)
+ {
+ if (!trim($line ?? '')) return true;
+ if (strlen($line) - strlen(ltrim($line)) > $lineIndent) return true;
+ return false;
+ }
+
+ private function referenceContentsByAlias($alias)
+ {
+ do {
+ if (!isset($this->SavedGroups[$alias])) {
+ echo "Bad group name: $alias.";
+ break;
+ }
+ $groupPath = $this->SavedGroups[$alias];
+ $value = $this->result;
+ foreach ($groupPath as $k) {
+ $value = $value[$k];
+ }
+ } while (false);
+ return $value;
+ }
+
+ private function addArrayInline($array, $indent)
+ {
+ $CommonGroupPath = $this->path;
+ if (empty ($array)) return false;
+
+ foreach ($array as $k => $_) {
+ $this->addArray(array($k => $_), $indent);
+ $this->path = $CommonGroupPath;
+ }
+ return true;
+ }
+
+ private function addArray($incoming_data, $incoming_indent)
+ {
+ if (count($incoming_data) > 1)
+ return $this->addArrayInline($incoming_data, $incoming_indent);
+
+ $key = key($incoming_data);
+ $value = isset($incoming_data[$key]) ? $incoming_data[$key] : null;
+ if ($key === '__!YAMLZero') $key = '0';
+
+ if ($incoming_indent == 0 && !$this->_containsGroupAlias && !$this->_containsGroupAnchor) { // Shortcut for root-level values.
+ if ($key || $key === '' || $key === '0') {
+ $this->result[$key] = $value;
+ } else {
+ $this->result[] = $value;
+ end($this->result);
+ $key = key($this->result);
+ }
+ $this->path[$incoming_indent] = $key;
+ return;
+ }
+
+ $history = array();
+ // Unfolding inner array tree.
+ $history[] = $_arr = $this->result;
+ foreach ($this->path as $k) {
+ $history[] = $_arr = $_arr[$k];
+ }
+
+ if ($this->_containsGroupAlias) {
+ $value = $this->referenceContentsByAlias($this->_containsGroupAlias);
+ $this->_containsGroupAlias = false;
+ }
+
+
+ // Adding string or numeric key to the innermost level or $this->arr.
+ if (is_string($key) && $key == '<<') {
+ if (!is_array($_arr)) {
+ $_arr = array();
+ }
+
+ $_arr = array_merge($_arr, $value);
+ } else if ($key || $key === '' || $key === '0') {
+ if (!is_array($_arr))
+ $_arr = array($key => $value);
+ else
+ $_arr[$key] = $value;
+ } else {
+ if (!is_array($_arr)) {
+ $_arr = array($value);
+ $key = 0;
+ } else {
+ $_arr[] = $value;
+ end($_arr);
+ $key = key($_arr);
+ }
+ }
+
+ $reverse_path = array_reverse($this->path);
+ $reverse_history = array_reverse($history);
+ $reverse_history[0] = $_arr;
+ $cnt = count($reverse_history) - 1;
+ for ($i = 0; $i < $cnt; $i++) {
+ $reverse_history[$i + 1][$reverse_path[$i]] = $reverse_history[$i];
+ }
+ $this->result = $reverse_history[$cnt];
+
+ $this->path[$incoming_indent] = $key;
+
+ if ($this->_containsGroupAnchor) {
+ $this->SavedGroups[$this->_containsGroupAnchor] = $this->path;
+ if (is_array($value)) {
+ $k = key($value);
+ if (!is_int($k)) {
+ $this->SavedGroups[$this->_containsGroupAnchor][$incoming_indent + 2] = $k;
+ }
+ }
+ $this->_containsGroupAnchor = false;
+ }
+
+ }
+
+ private static function startsLiteralBlock($line)
+ {
+ $lastChar = substr(trim($line ?? ''), -1);
+ if ($lastChar != '>' && $lastChar != '|') return false;
+ if ($lastChar == '|') return $lastChar;
+ // HTML tags should not be counted as literal blocks.
+ if (preg_match('#<.*?>$#', $line)) return false;
+ return $lastChar;
+ }
+
+ private static function greedilyNeedNextLine($line)
+ {
+ $line = trim($line ?? '');
+ if (!strlen($line)) return false;
+ if (substr($line, -1, 1) == ']') return false;
+ if ($line[0] == '[') return true;
+ if (preg_match('#^[^:]+?:\s*\[#', $line)) return true;
+ return false;
+ }
+
+ private function addLiteralLine($literalBlock, $line, $literalBlockStyle, $indent = -1)
+ {
+ $line = self::stripIndent($line, $indent);
+ if ($literalBlockStyle !== '|') {
+ $line = self::stripIndent($line);
+ }
+ $line = rtrim($line, "\r\n\t ") . "\n";
+ if ($literalBlockStyle == '|') {
+ return $literalBlock . $line;
+ }
+ if (strlen($line) == 0)
+ return rtrim($literalBlock, ' ') . "\n";
+ if ($line == "\n" && $literalBlockStyle == '>') {
+ return rtrim($literalBlock, " \t") . "\n";
+ }
+ if ($line != "\n")
+ $line = trim($line, "\r\n ") . " ";
+ return $literalBlock . $line;
+ }
+
+ function revertLiteralPlaceHolder($lineArray, $literalBlock)
+ {
+ foreach ($lineArray as $k => $_) {
+ if (is_array($_))
+ $lineArray[$k] = $this->revertLiteralPlaceHolder($_, $literalBlock);
+ else if (substr($_, -1 * strlen($this->LiteralPlaceHolder)) == $this->LiteralPlaceHolder)
+ $lineArray[$k] = rtrim($literalBlock, " \r\n");
+ }
+ return $lineArray;
+ }
+
+ private static function stripIndent($line, $indent = -1)
+ {
+ $line ??= '';
+
+ if ($indent == -1) $indent = strlen($line) - strlen(ltrim($line));
+ return substr($line, $indent);
+ }
+
+ private function getParentPathByIndent($indent)
+ {
+ if ($indent == 0) return array();
+ $linePath = $this->path;
+ do {
+ end($linePath);
+ $lastIndentInParentPath = key($linePath);
+ if ($indent <= $lastIndentInParentPath) array_pop($linePath);
+ } while ($indent <= $lastIndentInParentPath);
+ return $linePath;
+ }
+
+ private function clearBiggerPathValues($indent)
+ {
+ if ($indent == 0) $this->path = array();
+ if (empty ($this->path)) return true;
+
+ foreach ($this->path as $k => $_) {
+ if ($k > $indent) unset ($this->path[$k]);
+ }
+
+ return true;
+ }
+
+ private static function isComment($line)
+ {
+ if (!$line) return false;
+ if ($line[0] == '#') return true;
+ if (trim($line, " \r\n\t") == '---') return true;
+ return false;
+ }
+
+ private static function isEmpty($line)
+ {
+ return (trim($line ?? '') === '');
+ }
+
+ private function isArrayElement($line)
+ {
+ if (!$line || !is_scalar($line)) return false;
+ if (substr($line, 0, 2) != '- ') return false;
+ if (strlen($line) > 3)
+ if (substr($line, 0, 3) == '---') return false;
+
+ return true;
+ }
+
+ private function isHashElement($line)
+ {
+ return strpos($line, ':');
+ }
+
+ private function isLiteral($line)
+ {
+ if ($this->isArrayElement($line)) return false;
+ if ($this->isHashElement($line)) return false;
+ return true;
+ }
+
+
+ private static function unquote($value)
+ {
+ if (!$value) return $value;
+ if (!is_string($value)) return $value;
+ if ($value[0] == '\'') return trim($value, '\'');
+ if ($value[0] == '"') return trim($value, '"');
+ return $value;
+ }
+
+ private function startsMappedSequence($line)
+ {
+ return (substr($line ?? '', 0, 2) == '- ' && substr($line ?? '', -1, 1) == ':');
+ }
+
+ private function returnMappedSequence($line)
+ {
+ $array = array();
+ $key = self::unquote(trim(substr($line ?? '', 1, -1)));
+ $array[$key] = array();
+ $this->delayedPath = array(strpos($line ?? '', $key) + $this->indent => $key);
+ return array($array);
+ }
+
+ private function checkKeysInValue($value)
+ {
+ if (strchr('[{"\'', $value[0] ?? '') === false) {
+ if (strchr($value ?? '', ': ') !== false) {
+ throw new Exception('Too many keys: ' . $value);
+ }
+ }
+ }
+
+ private function returnMappedValue($line)
+ {
+ $this->checkKeysInValue($line);
+ $array = array();
+ $key = self::unquote(trim(substr($line ?? '', 0, -1)));
+ $array[$key] = '';
+ return $array;
+ }
+
+ private function startsMappedValue($line)
+ {
+ return (substr($line, -1, 1) == ':');
+ }
+
+ private function isPlainArray($line)
+ {
+ return ($line[0] == '[' && substr($line, -1, 1) == ']');
+ }
+
+ private function returnPlainArray($line)
+ {
+ return $this->_toType($line);
+ }
+
+ private function returnKeyValuePair($line)
+ {
+ $array = array();
+ $key = '';
+ if (strpos($line ?? '', ': ')) {
+ // It's a key/value pair most likely
+ // If the key is in double quotes pull it out
+ if (($line[0] == '"' || $line[0] == "'") && preg_match('/^(["\'](.*)["\'](\s)*:)/', $line, $matches)) {
+ $value = trim(str_replace($matches[1], '', $line));
+ $key = $matches[2];
+ } else {
+ // Do some guesswork as to the key and the value
+ $explode = explode(': ', $line);
+ $key = trim(array_shift($explode));
+ $value = trim(implode(': ', $explode));
+ $this->checkKeysInValue($value);
+ }
+ // Set the type of the value. Int, string, etc
+ $value = $this->_toType($value);
+
+ if ($key === '0') $key = '__!YAMLZero';
+ $array[$key] = $value;
+ } else {
+ $array = array($line);
+ }
+ return $array;
+
+ }
+
+
+ private function returnArrayElement($line)
+ {
+ if (strlen($line ?? '') <= 1) return array(array()); // Weird %)
+ $array = array();
+ $value = trim(substr($line, 1));
+ $value = $this->_toType($value);
+ if ($this->isArrayElement($value)) {
+ $value = $this->returnArrayElement($value);
+ }
+ $array[] = $value;
+ return $array;
+ }
+
+
+ private function nodeContainsGroup($line)
+ {
+ $symbolsForReference = 'A-z0-9_\-';
+ if (strpos($line, '&') === false && strpos($line, '*') === false) return false; // Please die fast ;-)
+ if ($line[0] == '&' && preg_match('/^(&[' . $symbolsForReference . ']+)/', $line, $matches)) return $matches[1];
+ if ($line[0] == '*' && preg_match('/^(\*[' . $symbolsForReference . ']+)/', $line, $matches)) return $matches[1];
+ if (preg_match('/(&[' . $symbolsForReference . ']+)$/', $line, $matches)) return $matches[1];
+ if (preg_match('/(\*[' . $symbolsForReference . ']+$)/', $line, $matches)) return $matches[1];
+ if (preg_match('#^\s*<<\s*:\s*(\*[^\s]+).*$#', $line, $matches)) return $matches[1];
+ return false;
+
+ }
+
+ private function addGroup($line, $group)
+ {
+ if ($group[0] == '&') $this->_containsGroupAnchor = substr($group ?? '', 1);
+ if ($group[0] == '*') $this->_containsGroupAlias = substr($group ?? '', 1);
+ }
+
+ private function stripGroup($line, $group)
+ {
+ $line = trim(str_replace($group ?? '', '', $line));
+ return $line;
+ }
+}
diff --git a/kirby/i18n/rules/iu.json b/kirby/i18n/rules/iu.json
new file mode 100755
index 0000000..2ec5018
--- /dev/null
+++ b/kirby/i18n/rules/iu.json
@@ -0,0 +1,163 @@
+{
+ "ᐁ": "ai",
+ "ᐃ": "i",
+ "ᐄ": "ii",
+ "ᐅ": "u",
+ "ᐆ": "uu",
+ "ᐊ": "a",
+ "ᐋ": "aa",
+
+ "ᐯ": "pai",
+ "ᐱ": "pi",
+ "ᐲ": "pii",
+ "ᐳ": "pu",
+ "ᐴ": "puu",
+ "ᐸ": "pa",
+ "ᐹ": "paa",
+
+ "ᑌ": "tai",
+ "ᑎ": "ti",
+ "ᑏ": "tii",
+ "ᑐ": "tu",
+ "ᑑ": "tuu",
+ "ᑕ": "ta",
+ "ᑖ": "taa",
+
+ "ᕴ": "hai",
+ "ᕵ": "hi",
+ "ᕶ": "hii",
+ "ᕷ": "hu",
+ "ᕸ": "huu",
+ "ᕹ": "ha",
+ "ᕺ": "haa",
+
+ "ᒉ": "gai",
+ "ᒋ": "gi",
+ "ᒌ": "gii",
+ "ᒍ": "gu",
+ "ᒎ": "guu",
+ "ᒐ": "ga",
+ "ᒑ": "gaa",
+
+ "ᒣ": "mai",
+ "ᒥ": "mi",
+ "ᒦ": "mii",
+ "ᒧ": "mu",
+ "ᒨ": "muu",
+ "ᒪ": "ma",
+ "ᒫ": "maa",
+
+ "ᓀ": "nai",
+ "ᓂ": "ni",
+ "ᓃ": "nii",
+ "ᓄ": "nu",
+ "ᓅ": "nuu",
+ "ᓇ": "na",
+ "ᓈ": "naa",
+
+ "ᓭ": "sai",
+ "ᓯ": "si",
+ "ᓰ": "sii",
+ "ᓱ": "su",
+ "ᓲ": "suu",
+ "ᓴ": "sa",
+ "ᓵ": "saa",
+
+ "ᓓ": "lai",
+ "ᓕ": "li",
+ "ᓖ": "lii",
+ "ᓗ": "lu",
+ "ᓘ": "luu",
+ "ᓚ": "la",
+ "ᓛ": "laa",
+
+ "ᔦ": "jai",
+ "ᔨ": "ji",
+ "ᔩ": "jii",
+ "ᔪ": "ju",
+ "ᔫ": "juu",
+ "ᔭ": "ja",
+ "ᔮ": "jaa",
+
+ "ᕓ": "vai",
+ "ᕕ": "vi",
+ "ᕖ": "vii",
+ "ᕗ": "vu",
+ "ᕘ": "vuu",
+ "ᕙ": "va",
+ "ᕚ": "vaa",
+
+ "ᕃ": "rai",
+ "ᕆ": "ri",
+ "ᕇ": "rii",
+ "ᕈ": "ru",
+ "ᕉ": "ruu",
+ "ᕋ": "ra",
+ "ᕌ": "raa",
+
+ "ᖅᑫ": "qqai",
+ "ᖅᑭ": "qqi",
+ "ᖅᑮ": "qqii",
+ "ᖅᑯ": "qqu",
+ "ᖅᑰ": "qquu",
+ "ᖅᑲ": "qqa",
+ "ᖅᑳ": "qqaa",
+ "ᖅᒃ": "qq",
+
+ "ᙯ": "qai",
+ "ᕿ": "qi",
+ "ᖀ": "qii",
+ "ᖁ": "qu",
+ "ᖂ": "quu",
+ "ᖃ": "qa",
+ "ᖄ": "qaa",
+
+ "ᑫ": "kai",
+ "ᑭ": "ki",
+ "ᑮ": "kii",
+ "ᑯ": "ku",
+ "ᑰ": "kuu",
+ "ᑲ": "ka",
+ "ᑳ": "kaa",
+
+ "ᙰ": "ngai",
+ "ᖏ": "ngi",
+ "ᖐ": "ngii",
+ "ᖑ": "ngu",
+ "ᖒ": "nguu",
+ "ᖓ": "nga",
+ "ᖔ": "ngaa",
+
+ "ᙱ": "nngi",
+ "ᙲ": "nngii",
+ "ᙳ": "nngu",
+ "ᙴ": "nnguu",
+ "ᙵ": "nnga",
+ "ᙶ": "nngaa",
+
+ "ᖠ": "lhi",
+ "ᖡ": "lhii",
+ "ᖢ": "lhu",
+ "ᖣ": "lhuu",
+ "ᖤ": "lha",
+ "ᖥ": "lhaa",
+
+ "ᑉ": "p",
+ "ᑦ": "t",
+ "ᒃ": "k",
+ "ᒡ": "g",
+ "ᒻ": "m",
+ "ᓐ": "n",
+ "ᔅ": "s",
+ "ᓪ": "l",
+ "ᔾ": "j",
+ "ᕝ": "v",
+ "ᕐ": "r",
+ "ᖅ": "q",
+ "ᖕ": "ng",
+ "ᖖ": "nng",
+ "ᖦ": "lh",
+
+ "ᖯ": "b",
+ "ᕼ": "h"
+}
\ No newline at end of file
diff --git a/kirby/i18n/translations/bg.json b/kirby/i18n/translations/bg.json
index 74997aa..e44802d 100755
--- a/kirby/i18n/translations/bg.json
+++ b/kirby/i18n/translations/bg.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Стандартният шаблон не съществува",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Нямате права да промените имейла на този потребител \"{name}\"",
"error.user.changeLanguage.permission": "Нямате права да промените езика за този потребител \"{name}\"",
"error.user.changeName.permission": "Нямате права да промените името на този потребител \"{name}\"",
diff --git a/kirby/i18n/translations/ca.json b/kirby/i18n/translations/ca.json
index e0eb58d..1fd47c0 100755
--- a/kirby/i18n/translations/ca.json
+++ b/kirby/i18n/translations/ca.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "La plantilla predeterminada no existeix",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "No tens permís per canviar el correu electrònic per a l'usuari \"{name}\"",
"error.user.changeLanguage.permission": "No tens permís per canviar l'idioma de l'usuari \"{name}\"",
"error.user.changeName.permission": "No tens permís per canviar el nom de l'usuari \"{name}\"",
diff --git a/kirby/i18n/translations/cs.json b/kirby/i18n/translations/cs.json
index fd28ccf..8ed0959 100755
--- a/kirby/i18n/translations/cs.json
+++ b/kirby/i18n/translations/cs.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Výchozí šablona neexistuje",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Nemáte dovoleno měnit email uživatele \"{name}\"",
"error.user.changeLanguage.permission": "Nemáte dovoleno změnit jazyk uživatele \"{name}\"",
"error.user.changeName.permission": "Nemáte dovoleno změnit jméno uživatele \"{name}\"",
diff --git a/kirby/i18n/translations/da.json b/kirby/i18n/translations/da.json
index 79631f9..0fe9b9d 100755
--- a/kirby/i18n/translations/da.json
+++ b/kirby/i18n/translations/da.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Standardskabelonen eksisterer ikke",
+ "error.unexpected": "En uventet fejl opstod! Aktiver debug mode for mere info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Du har ikke tilladelse til at ændre emailen for brugeren \"{name}\"",
"error.user.changeLanguage.permission": "Du har ikke tilladelse til at ændre sproget for brugeren \"{name}\"",
"error.user.changeName.permission": "Du har ikke tilladelse til at ændre navn på brugeren \"{name}\"",
diff --git a/kirby/i18n/translations/de.json b/kirby/i18n/translations/de.json
index f549a5d..ebee7ca 100755
--- a/kirby/i18n/translations/de.json
+++ b/kirby/i18n/translations/de.json
@@ -88,7 +88,7 @@
"error.file.mime.missing": "Der Medientyp für \"{filename}\" konnte nicht erkannt werden",
"error.file.minheight": "Die Bildhöhe muss mindestens {height} Pixel betragen",
"error.file.minsize": "Die Datei ist zu klein",
- "error.file.minwidth": "Die Bildbreite muss mindestens {height} Pixel betragen",
+ "error.file.minwidth": "Die Bildbreite muss mindestens {width} Pixel betragen",
"error.file.name.missing": "Bitte gib einen Dateinamen an",
"error.file.notFound": "Die Datei \"{filename}\" konnte nicht gefunden werden",
"error.file.orientation": "Das Bildformat ist ungültig. Erwartetes Format: \"{orientation}\"",
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Die \"Default\"-Vorlage existiert nicht",
+ "error.unexpected": "Ein unerwarteter Fehler ist aufgetreten. Aktiviere den Debug Modus für weitere Informationen: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Du kannst die E-Mailadresse für den Account \"{name}\" nicht ändern",
"error.user.changeLanguage.permission": "Du kannst die Sprache für den Account \"{name}\" nicht ändern",
"error.user.changeName.permission": "Du kannst den Namen für den Account \"{name}\" nicht ändern",
diff --git a/kirby/i18n/translations/el.json b/kirby/i18n/translations/el.json
index e85d30d..b0dc5d0 100755
--- a/kirby/i18n/translations/el.json
+++ b/kirby/i18n/translations/el.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Το προεπιλεγμένο πρότυπο δεν υπάρχει",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Δεν επιτρέπεται να αλλάξετε τη διεύθινση ηλεκτρονικού ταχυδρομείου για τον χρήστη \"{name}\"",
"error.user.changeLanguage.permission": "Δεν επιτρέπεται να αλλάξετε τη γλώσσα για τον χρήστη \"{name}\"",
"error.user.changeName.permission": "Δεν επιτρέπεται να αλλάξετε το όνομα του χρήστη \"{name}",
diff --git a/kirby/i18n/translations/en.json b/kirby/i18n/translations/en.json
index dc04e66..7b328f4 100755
--- a/kirby/i18n/translations/en.json
+++ b/kirby/i18n/translations/en.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "The default template does not exist",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "You are not allowed to change the email for the user \"{name}\"",
"error.user.changeLanguage.permission": "You are not allowed to change the language for the user \"{name}\"",
"error.user.changeName.permission": "You are not allowed to change the name for the user \"{name}\"",
diff --git a/kirby/i18n/translations/eo.json b/kirby/i18n/translations/eo.json
index dbe2893..2bcb627 100755
--- a/kirby/i18n/translations/eo.json
+++ b/kirby/i18n/translations/eo.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "La defaŭlta ŝablono ne ekzistas",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Vi ne rajtas ŝanĝi la retpoŝtadreson de la uzanto \"{name}\"",
"error.user.changeLanguage.permission": "Vi ne rajtas ŝanĝi la lingvon de la uzanto \"{name}\"",
"error.user.changeName.permission": "Vi ne rajtas ŝanĝi la nomon de la uzanto \"{name}\"",
diff --git a/kirby/i18n/translations/es_419.json b/kirby/i18n/translations/es_419.json
index 8db13cc..cc85712 100755
--- a/kirby/i18n/translations/es_419.json
+++ b/kirby/i18n/translations/es_419.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "La plantilla predeterminada no existe",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "No tienes permiso para cambiar el email del usuario \"{name}\"",
"error.user.changeLanguage.permission": "No tienes permiso para cambiar el idioma del usuario \"{name}\"",
"error.user.changeName.permission": "No tienes permiso para cambiar el nombre del usuario \"{name}\"",
diff --git a/kirby/i18n/translations/es_ES.json b/kirby/i18n/translations/es_ES.json
index 97380b8..bc830ce 100755
--- a/kirby/i18n/translations/es_ES.json
+++ b/kirby/i18n/translations/es_ES.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "La plantilla por defecto no existe",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "No tienes permitido cambiar el correo electrónico para el usuario \"{name}\"",
"error.user.changeLanguage.permission": "No tienes permitido cambiar el idioma para el usuario \"{name}\"",
"error.user.changeName.permission": "No tienes permitido cambiar el nombre del usuario \"{name}\"",
diff --git a/kirby/i18n/translations/fa.json b/kirby/i18n/translations/fa.json
index 1dbdc71..8836a12 100755
--- a/kirby/i18n/translations/fa.json
+++ b/kirby/i18n/translations/fa.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "قالب پیش فرض موجود نیست",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "شما اجازه تغییر ایمیل کاربر «{name}» را ندارید",
"error.user.changeLanguage.permission": "شما اجازه تغییر زبان برای کاربر «{name}» را ندارید",
"error.user.changeName.permission": "شما اجازه تنغییر نام کاربر «{name}» را ندارید",
diff --git a/kirby/i18n/translations/fi.json b/kirby/i18n/translations/fi.json
index 1d53a49..2fe0b2e 100755
--- a/kirby/i18n/translations/fi.json
+++ b/kirby/i18n/translations/fi.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Oletussivupohjaa ei ole määritetty",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Sinulla ei ole oikeutta vaihtaa käyttäjän \"{name}\" sähköpostiosoitetta",
"error.user.changeLanguage.permission": "Sinulla ei ole oikeutta vaihtaa käyttäjän \"{name}\" kieltä",
"error.user.changeName.permission": "Sinulla ei ole oikeutta vaihtaa käyttäjän \"{name}\" nimeä",
diff --git a/kirby/i18n/translations/fr.json b/kirby/i18n/translations/fr.json
index fa1bbf4..47339b1 100755
--- a/kirby/i18n/translations/fr.json
+++ b/kirby/i18n/translations/fr.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Le modèle par défaut n’existe pas",
+ "error.unexpected": "Une erreur inattendue est survenue ! Activez le mode de débogage pour plus d'informations : https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Vous n’êtes pas autorisé à modifier le courriel de l’utilisateur « {name} »",
"error.user.changeLanguage.permission": "Vous n’êtes pas autorisé à changer la langue de l’utilisateur « {name} »",
"error.user.changeName.permission": "Vous n’êtes pas autorisé à modifier le nom de l’utilisateur « {name} »",
diff --git a/kirby/i18n/translations/hu.json b/kirby/i18n/translations/hu.json
index a0edac9..50fec7c 100755
--- a/kirby/i18n/translations/hu.json
+++ b/kirby/i18n/translations/hu.json
@@ -1,20 +1,20 @@
{
- "account.changeName": "Change your name",
- "account.delete": "Delete your account",
- "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.",
+ "account.changeName": "Név megváltoztatása",
+ "account.delete": "Fiók törlése",
+ "account.delete.confirm": "Tényleg törölni szeretnéd a fiókodat? Azonnal kijelentkeztetünk és ez a folyamat visszavonhatatlan.",
"add": "Hozz\u00e1ad",
- "author": "Author",
+ "author": "Szerző",
"avatar": "Profilkép",
"back": "Vissza",
"cancel": "M\u00e9gsem",
"change": "M\u00f3dos\u00edt\u00e1s",
"close": "Bez\u00e1r",
"confirm": "Mentés",
- "collapse": "Collapse",
- "collapse.all": "Collapse All",
+ "collapse": "Bezárás",
+ "collapse.all": "Összes bezárása",
"copy": "Másol",
- "copy.all": "Copy all",
+ "copy.all": "Összes másolása",
"create": "Létrehoz",
"date": "Dátum",
@@ -29,17 +29,17 @@
"days.tue": "ke",
"days.wed": "sze",
- "debugging": "Debugging",
+ "debugging": "Hibakeresés",
"delete": "T\u00f6rl\u00e9s",
- "delete.all": "Delete all",
+ "delete.all": "Összes törlése",
"dialog.files.empty": "Nincsenek fájlok kiválasztva",
"dialog.pages.empty": "Nincsenek oldalak kiválasztva",
"dialog.users.empty": "Nincsenek felhasználók kiválasztva",
"dimensions": "Méretek",
- "disabled": "Disabled",
+ "disabled": "Inaktív",
"discard": "Visszavon\u00e1s",
"download": "Letöltés",
"duplicate": "Másolat",
@@ -49,12 +49,12 @@
"email": "Email",
"email.placeholder": "mail@pelda.hu",
- "environment": "Environment",
+ "environment": "Környezet",
- "error.access.code": "Invalid code",
+ "error.access.code": "Érvénytelen kód",
"error.access.login": "Érvénytelen bejelentkezés",
"error.access.panel": "Nincs jogosultságod megnyitni a panelt",
- "error.access.view": "You are not allowed to access this part of the panel",
+ "error.access.view": "Nincs hozzáférésed a panel ezen részéhez",
"error.avatar.create.fail": "A profilkép feltöltése nem sikerült",
"error.avatar.delete.fail": "A profilkép nem törölhető",
@@ -63,37 +63,37 @@
"error.blueprint.notFound": "A \"{name}\" oldalsablon nem tölthető be",
- "error.blocks.max.plural": "You must not add more than {max} blocks",
- "error.blocks.max.singular": "You must not add more than one block",
- "error.blocks.min.plural": "You must add at least {min} blocks",
- "error.blocks.min.singular": "You must add at least one block",
- "error.blocks.validation": "There's an error in block {index}",
+ "error.blocks.max.plural": "Legfeljebb {max} blokk adható hozzá",
+ "error.blocks.max.singular": "Csak egyetlen blokk adható hozzá",
+ "error.blocks.min.plural": "Legalább {min} blokkot hozzá kell adnod",
+ "error.blocks.min.singular": "Legalább egy blokkot hozzá kell adnod",
+ "error.blocks.validation": "Hiba van az alábbi blokkban: {index}",
"error.email.preset.notFound": "A \"{name}\" email-beállítás nem található",
"error.field.converter.invalid": "Érvénytelen konverter: \"{converter}\"",
- "error.file.changeName.empty": "The name must not be empty",
+ "error.file.changeName.empty": "A név nem lehet üres",
"error.file.changeName.permission": "Nincs jogosultságod megváltoztatni a \"{filename}\" fájl nevét",
"error.file.duplicate": "Már létezik \"{filename}\" nevű fájl",
"error.file.extension.forbidden": "Tiltott kiterjeszt\u00e9s\u0171 f\u00e1jl",
- "error.file.extension.invalid": "Invalid extension: {extension}",
+ "error.file.extension.invalid": "Érvénytelen kiterjesztés: {extension}",
"error.file.extension.missing": "Kiterjeszt\u00e9s n\u00e9lk\u00fcli f\u00e1jl nem t\u00f6lthet\u0151 fel",
- "error.file.maxheight": "The height of the image must not exceed {height} pixels",
- "error.file.maxsize": "The file is too large",
- "error.file.maxwidth": "The width of the image must not exceed {width} pixels",
+ "error.file.maxheight": "A kép nem lehet magasabb {height} pixelnél",
+ "error.file.maxsize": "A fájl túl nagy",
+ "error.file.maxwidth": "A kép nem lehet szélesebb {width} pixelnél",
"error.file.mime.differs": "A feltöltött fájlnak azonos \"{mime}\" típusúnak kell lennie",
"error.file.mime.forbidden": "A \"{mime}\" típusú médiafájlok nem engedélyezettek",
- "error.file.mime.invalid": "Invalid mime type: {mime}",
+ "error.file.mime.invalid": "Érvénytelen mime-típus: {mime}",
"error.file.mime.missing": "A \"{filename}\" fájl típusa nem állapítható meg",
- "error.file.minheight": "The height of the image must be at least {height} pixels",
- "error.file.minsize": "The file is too small",
- "error.file.minwidth": "The width of the image must be at least {width} pixels",
+ "error.file.minheight": "A képnek legalább {height} pixel magasnak kell lennie",
+ "error.file.minsize": "A fájl túl kicsi",
+ "error.file.minwidth": "A képnek legalább {width} pixel szélesnek kell lennie",
"error.file.name.missing": "A fálj neve nem lehet üres",
"error.file.notFound": "A \"{filename}\" fájl nem található",
- "error.file.orientation": "The orientation of the image must be \"{orientation}\"",
+ "error.file.orientation": "A képnek \"{orientation}\" tájolásúnak kell lennie",
"error.file.type.forbidden": "Nem tölthetsz fel \"{type}\" típusú fájlokat",
- "error.file.type.invalid": "Invalid file type: {type}",
+ "error.file.type.invalid": "Érvénytelen fájltípus: {type}",
"error.file.undefined": "A f\u00e1jl nem tal\u00e1lhat\u00f3",
"error.form.incomplete": "Kérlek javítsd ki az összes hibát az űrlapon",
@@ -102,16 +102,16 @@
"error.language.code": "Kérlek, add meg a nyelv érvényes kódját",
"error.language.duplicate": "A nyelv már létezik",
"error.language.name": "Kérlek, add meg a nyelv érvényes nevét",
- "error.language.notFound": "The language could not be found",
+ "error.language.notFound": "A nyelv nem található",
- "error.layout.validation.block": "There's an error in block {blockIndex} in layout {layoutIndex}",
- "error.layout.validation.settings": "There's an error in layout {index} settings",
+ "error.layout.validation.block": "Hibát találtunk az alábbi blokkban: {blockIndex} az alábbi elrendezésben: {layoutIndex}",
+ "error.layout.validation.settings": "Hibát találtunk a(z) {index} elrendezés beállításaiban",
"error.license.format": "Kérlek, add meg az évényes lincensz kulcsot",
"error.license.email": "Kérlek adj meg egy valós email-címet",
"error.license.verification": "A licensz nem ellenőrizhető",
- "error.offline": "The Panel is currently offline",
+ "error.offline": "A Panel jelenleg nem elérhető",
"error.page.changeSlug.permission": "Nem változtathatod meg az URL-előtagot: \"{slug}\"",
"error.page.changeStatus.incomplete": "Az oldal hibákat tartalmaz és nem publikálható",
@@ -131,8 +131,8 @@
"error.page.duplicate.permission": "Nincs engedélyed a(z) \"{slug}\" másolat keszítéséhez",
"error.page.notFound": "Az oldal nem tal\u00e1lhat\u00f3",
"error.page.num.invalid": "Kérlek megfelelő oldalszámozást adj meg. Negatív szám itt nem használható.",
- "error.page.slug.invalid": "Please enter a valid URL appendix",
- "error.page.slug.maxlength": "Slug length must be less than \"{length}\" characters",
+ "error.page.slug.invalid": "Kérlek érvényes URL-kiterjesztést adj meg",
+ "error.page.slug.maxlength": "Az URL maximum \"{length}\" karakter hosszúságú lehet",
"error.page.sort.permission": "A(z) \"{slug}\" oldal nem illeszthető a sorrendbe",
"error.page.status.invalid": "Kérlek add meg a megfelelő oldalstátuszt",
"error.page.undefined": "Az oldal nem tal\u00e1lhat\u00f3",
@@ -157,13 +157,15 @@
"error.template.default.notFound": "Az alapértelmezett sablon nem létezik",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Nincs jogosultságod megváltoztatni \"{name}\" felhasználó email-címét",
"error.user.changeLanguage.permission": "Nincs jogosultságod megváltoztatni \"{name}\" felhasználó nyelvi beállításait",
"error.user.changeName.permission": "Nincs jogosultságod megváltoztatni \"{name}\" felhasználó nevét",
"error.user.changePassword.permission": "Nincs jogosultságod megváltoztatni \"{name}\" felhasználó jelszavát",
"error.user.changeRole.lastAdmin": "Az egyedüli adminisztrátor szerepkörét nem lehet megváltoztatni",
"error.user.changeRole.permission": "Nincs jogosultságod megváltoztatni \"{name}\" felhasználó szerepkörét",
- "error.user.changeRole.toAdmin": "You are not allowed to promote someone to the admin role",
+ "error.user.changeRole.toAdmin": "Nincs jogosultságod előléptetni a felhasználót adminisztrátorrá",
"error.user.create.permission": "Nincs jogosultságod létrehozni ezt a felhasználót",
"error.user.delete": "A felhaszn\u00e1l\u00f3 nem t\u00f6r\u00f6lhet\u0151",
"error.user.delete.lastAdmin": "Nem t\u00f6r\u00f6lheted az egyetlen adminisztr\u00e1tort",
@@ -176,7 +178,7 @@
"error.user.password.invalid": "Kérlek adj meg egy megfelelő jelszót. A jelszónak legalább 8 karakter hosszúságúnak kell lennie.",
"error.user.password.notSame": "K\u00e9rlek er\u0151s\u00edtsd meg a jelsz\u00f3t",
"error.user.password.undefined": "A felhasználónak nincs jelszó megadva",
- "error.user.password.wrong": "Wrong password",
+ "error.user.password.wrong": "Hibás jelszó",
"error.user.role.invalid": "Kérlek adj meg egy megfelelő szerepkört",
"error.user.undefined": "A felhasználó nem található",
"error.user.update.permission": "Nincs jogosultságod frissíteni \"{name}\" felhasználó adatait",
@@ -188,9 +190,9 @@
"error.validation.boolean": "Kérlek erősítsd meg vagy vesd el",
"error.validation.contains": "Kérlek olyan értéket adj meg, amely tartalmazza ezt: \"{needle}\"",
"error.validation.date": "Kérlek megfelelő dátumot adj meg",
- "error.validation.date.after": "Please enter a date after {date}",
- "error.validation.date.before": "Please enter a date before {date}",
- "error.validation.date.between": "Please enter a date between {min} and {max}",
+ "error.validation.date.after": "Kérlek olyan dátumot adj meg, amely későbbi ennél: {date}",
+ "error.validation.date.before": "Kérlek olyan dátumot adj meg, amely korábbi ennél: {date}",
+ "error.validation.date.between": "Kérlek {min} és {max} közötti dátumot adj meg",
"error.validation.denied": "Kérlek vesd el",
"error.validation.different": "Az érték nem lehet \"{other}\"",
"error.validation.email": "Kérlek adj meg egy valós email-címet",
@@ -217,84 +219,84 @@
"error.validation.size": "Az értéknek az alábbi méretűnek kell lennie: \"{size}\"",
"error.validation.startswith": "Az értéknek ezzel kell kezdődnie: \"{start}\"",
"error.validation.time": "Kérlek megfelelő időt adj meg",
- "error.validation.time.after": "Please enter a time after {time}",
- "error.validation.time.before": "Please enter a time before {time}",
- "error.validation.time.between": "Please enter a time between {min} and {max}",
+ "error.validation.time.after": "Kérlek olyan időpontot adj meg, amely későbbi ennél: {time}",
+ "error.validation.time.before": "Kérlek olyan időpontot adj meg, amely korábbi ennél: {time}",
+ "error.validation.time.between": "Kérlek {min} és {max} közötti időpontot adj meg",
"error.validation.url": "Kérlek megfelelő URL-t adj meg",
- "expand": "Expand",
- "expand.all": "Expand All",
+ "expand": "Kinyitás",
+ "expand.all": "Összes kinyitása",
- "field.required": "The field is required",
- "field.blocks.changeType": "Change type",
+ "field.required": "Kötelező mező",
+ "field.blocks.changeType": "Típus megváltoztatása",
"field.blocks.code.name": "Kód",
"field.blocks.code.language": "Nyelv",
- "field.blocks.code.placeholder": "Your code …",
- "field.blocks.delete.confirm": "Do you really want to delete this block?",
- "field.blocks.delete.confirm.all": "Do you really want to delete all blocks?",
- "field.blocks.delete.confirm.selected": "Do you really want to delete the selected blocks?",
- "field.blocks.empty": "No blocks yet",
- "field.blocks.fieldsets.label": "Please select a block type …",
- "field.blocks.fieldsets.paste": "Press {{ shortcut }} to paste/import blocks from your clipboard",
- "field.blocks.gallery.name": "Gallery",
- "field.blocks.gallery.images.empty": "No images yet",
- "field.blocks.gallery.images.label": "Images",
- "field.blocks.heading.level": "Level",
- "field.blocks.heading.name": "Heading",
- "field.blocks.heading.text": "Text",
- "field.blocks.heading.placeholder": "Heading …",
- "field.blocks.image.alt": "Alternative text",
- "field.blocks.image.caption": "Caption",
- "field.blocks.image.crop": "Crop",
+ "field.blocks.code.placeholder": "A megjelenítendő kód …",
+ "field.blocks.delete.confirm": "Tényleg törölni szeretnéd ezt a blokkot?",
+ "field.blocks.delete.confirm.all": "Tényleg minden blokkot törölni szeretnél?",
+ "field.blocks.delete.confirm.selected": "Tényleg törölni szeretnéd a kijelölt blokkokat?",
+ "field.blocks.empty": "Még nincsenek blokkok",
+ "field.blocks.fieldsets.label": "Kérlek válassz blokktípust …",
+ "field.blocks.fieldsets.paste": "Blokk beszúrásához a vágólapról használd a {{ shortcut }} billentyűkombinációt",
+ "field.blocks.gallery.name": "Galéria",
+ "field.blocks.gallery.images.empty": "Még nincsenek képek",
+ "field.blocks.gallery.images.label": "Képek",
+ "field.blocks.heading.level": "Szint",
+ "field.blocks.heading.name": "Címsor",
+ "field.blocks.heading.text": "Szöveg",
+ "field.blocks.heading.placeholder": "Címsor …",
+ "field.blocks.image.alt": "Alternatív szöveg",
+ "field.blocks.image.caption": "Képaláírás",
+ "field.blocks.image.crop": "Körülvágás",
"field.blocks.image.link": "Link",
- "field.blocks.image.location": "Location",
+ "field.blocks.image.location": "A kép helye",
"field.blocks.image.name": "Kép",
- "field.blocks.image.placeholder": "Select an image",
- "field.blocks.image.ratio": "Ratio",
- "field.blocks.image.url": "Image URL",
- "field.blocks.line.name": "Line",
- "field.blocks.list.name": "List",
+ "field.blocks.image.placeholder": "Kép kiválasztása",
+ "field.blocks.image.ratio": "Képarány",
+ "field.blocks.image.url": "Kép URL-je",
+ "field.blocks.line.name": "Vonal",
+ "field.blocks.list.name": "Lista",
"field.blocks.markdown.name": "Markdown",
- "field.blocks.markdown.label": "Text",
+ "field.blocks.markdown.label": "Szöveg",
"field.blocks.markdown.placeholder": "Markdown …",
- "field.blocks.quote.name": "Quote",
- "field.blocks.quote.text.label": "Text",
- "field.blocks.quote.text.placeholder": "Quote …",
- "field.blocks.quote.citation.label": "Citation",
- "field.blocks.quote.citation.placeholder": "by …",
- "field.blocks.text.name": "Text",
- "field.blocks.text.placeholder": "Text …",
- "field.blocks.video.caption": "Caption",
- "field.blocks.video.name": "Video",
- "field.blocks.video.placeholder": "Enter a video URL",
- "field.blocks.video.url.label": "Video-URL",
+ "field.blocks.quote.name": "Idézet",
+ "field.blocks.quote.text.label": "Szöveg",
+ "field.blocks.quote.text.placeholder": "Idézet szövege …",
+ "field.blocks.quote.citation.label": "Idézet szerzője",
+ "field.blocks.quote.citation.placeholder": "Szerző …",
+ "field.blocks.text.name": "Szöveg",
+ "field.blocks.text.placeholder": "Szöveg …",
+ "field.blocks.video.caption": "Képaláírás",
+ "field.blocks.video.name": "Videó",
+ "field.blocks.video.placeholder": "Videó URL-jének megadása",
+ "field.blocks.video.url.label": "Videó URL",
"field.blocks.video.url.placeholder": "https://youtube.com/?v=",
"field.files.empty": "Nincs fálj kiválasztva",
- "field.layout.delete": "Delete layout",
- "field.layout.delete.confirm": "Do you really want to delete this layout?",
- "field.layout.empty": "No rows yet",
- "field.layout.select": "Select a layout",
+ "field.layout.delete": "Elrendezés törlése",
+ "field.layout.delete.confirm": "Tényleg törölni szeretnéd ezt az elrendezést?",
+ "field.layout.empty": "Még nincsenek sorok",
+ "field.layout.select": "Válassz elrendezést",
"field.pages.empty": "Nincs oldal kiválasztva",
"field.structure.delete.confirm": "Biztos t\u00f6r\u00f6lni szeretn\u00e9d ezt a bejegyz\u00e9st?",
"field.structure.empty": "Nincs m\u00e9g bejegyz\u00e9s",
"field.users.empty": "Nincs felhasználó kiválasztva",
- "file.blueprint": "This file has no blueprint yet. You can define the setup in /site/blueprints/files/{blueprint}.yml",
+ "file.blueprint": "Ehhez a fájlhoz még nem tartozik oldalsablon. Itt hozhatod létre: /site/blueprints/files/{blueprint}.yml",
"file.delete.confirm": "Biztos törölni akarod ezt a fájlt:
{filename}?",
- "file.sort": "Change position",
+ "file.sort": "Sorrend megváltoztatása",
"files": "Fájlok",
"files.empty": "Még nincsenek fájlok",
- "hide": "Hide",
+ "hide": "Elrejtés",
"hour": "Óra",
- "import": "Import",
+ "import": "Importálás",
"insert": "Beilleszt",
- "insert.after": "Insert after",
- "insert.before": "Insert before",
+ "insert.after": "Beszúrás mögé",
+ "insert.before": "Beszúrás elé",
"install": "Telepítés",
"installation": "Telepítés",
@@ -321,7 +323,7 @@
"language.direction.ltr": "Balról jobbra",
"language.direction.rtl": "Jobbról balra",
"language.locale": "PHP locale sztring",
- "language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
+ "language.locale.warning": "Egyedi nyelvi készletet használsz. Kérlek módosítsd a nyelvhez tartozó fájlt az alábbi mappában: /site/languages",
"language.name": "Név",
"language.updated": "A nyelv frissítve lett",
@@ -345,7 +347,7 @@
"loading": "Betöltés",
"lock.unsaved": "Nem mentett változások",
- "lock.unsaved.empty": "There are no more unsaved changes",
+ "lock.unsaved.empty": "Nincsenek nem mentett változások",
"lock.isLocked": "Nem mentett {email} változások",
"lock.file.isLocked": "A fájlt jelenleg {email} szerkeszti és nem módosítható.",
"lock.page.isLocked": "Az oldalt jelenleg {email} szerkeszti és nem módosítható.",
@@ -353,20 +355,20 @@
"lock.isUnlocked": "A nem mentett módosításokat egy másik felhasználó felülírta. A módosításokat manuálisan egyesítheted.",
"login": "Bejelentkezés",
- "login.code.label.login": "Login code",
- "login.code.label.password-reset": "Password reset code",
+ "login.code.label.login": "Bejelentkezéshez szükséges kód",
+ "login.code.label.password-reset": "Jelszóvisszaállításhoz szükséges kód",
"login.code.placeholder.email": "000 000",
- "login.code.text.email": "If your email address is registered, the requested code was sent via email.",
- "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
- "login.email.login.subject": "Your login code",
- "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
- "login.email.password-reset.subject": "Your password reset code",
+ "login.code.text.email": "Amennyiben az email-címed létezik a rendszerben, a kódot oda küldjük el.",
+ "login.email.login.body": "Helló {user.nameOrEmail},\n\nNemrégiben bejelentkezési kódot igényeltél a(z) {site} Paneljéhez.\nAz alábbi kód {timeout} percig lesz érvényes:\n\n{code}\n\nHa nem te igényelted a kódot, kérlek hagyd figyelmen kívül ezt az emailt, kérdések esetén pedig vedd fel a kapcsolatot az oldal Adminisztrátorával.\nBiztonsági okokból kérjük NE továbbítsd ezt az emailt.",
+ "login.email.login.subject": "Bejelentkezési kódod",
+ "login.email.password-reset.body": "Helló {user.nameOrEmail},\n\nNemrégiben jelszóvisszaállítási kódot igényeltél a(z) {site} Paneljéhez.\nAz alábbi jelszóvisszaállítási kód {timeout} percig lesz érvényes:\n\n{code}\n\nHa nem te igényelted a jelszóvisszaállítási kódot, kérlek hagyd figyelmen kívül ezt az emailt, kérdések esetén pedig vedd fel a kapcsolatot az oldal Adminisztrátorával.\nBiztonsági okokból kérjük NE továbbítsd ezt az emailt.",
+ "login.email.password-reset.subject": "Jelszóvisszaállítási kódod",
"login.remember": "Maradjak bejelentkezve",
- "login.reset": "Reset password",
- "login.toggleText.code.email": "Login via email",
- "login.toggleText.code.email-password": "Login with password",
- "login.toggleText.password-reset.email": "Forgot your password?",
- "login.toggleText.password-reset.email-password": "← Back to login",
+ "login.reset": "Jelszó visszaállítása",
+ "login.toggleText.code.email": "Bejelentkezés emaillel",
+ "login.toggleText.code.email-password": "Bejelentkezés jelszóval",
+ "login.toggleText.password-reset.email": "Elfelejtetted a jelszavad?",
+ "login.toggleText.password-reset.email-password": "← Vissza a bejelentkezéshez",
"logout": "Kijelentkezés",
@@ -392,20 +394,20 @@
"more": "Több",
"name": "Név",
"next": "Következő",
- "no": "no",
+ "no": "nem",
"off": "ki",
"on": "be",
"open": "Megnyitás",
- "open.newWindow": "Open in new window",
+ "open.newWindow": "Megnyitás új ablakban",
"options": "Beállítások",
- "options.none": "No options",
+ "options.none": "Nincsnek beállítások",
"orientation": "Tájolás",
"orientation.landscape": "Fekvő",
"orientation.portrait": "Álló",
"orientation.square": "Négyzetes",
- "page.blueprint": "This page has no blueprint yet. You can define the setup in /site/blueprints/pages/{blueprint}.yml",
+ "page.blueprint": "Ehhez az oldalhoz még nem tartozik oldalsablon. Itt hozhatod létre: /site/blueprints/pages/{blueprint}.yml",
"page.changeSlug": "URL v\u00e1ltoztat\u00e1sa",
"page.changeSlug.fromTitle": "L\u00e9trehoz\u00e1s c\u00edmb\u0151l",
"page.changeStatus": "Állapot módosítása",
@@ -419,10 +421,10 @@
"page.duplicate.appendix": "Másol",
"page.duplicate.files": "Fájlok másolása",
"page.duplicate.pages": "Oldalak másolása",
- "page.sort": "Change position",
+ "page.sort": "Sorrend megváltoztatása",
"page.status": "Állapot",
"page.status.draft": "Piszkozat",
- "page.status.draft.description": "The page is in draft mode and only visible for logged in editors or via secret link",
+ "page.status.draft.description": "Ez az oldal jelenleg piszkozat és csak bejelentkezett szerkesztők számára, vagy egy titkos linken keresztül érhető el",
"page.status.listed": "Publikus",
"page.status.listed.description": "Az oldal mindenki számára elérhető",
"page.status.unlisted": "Nem listázott",
@@ -437,18 +439,18 @@
"pagination.page": "Oldal",
"password": "Jelsz\u00f3",
- "paste": "Paste",
- "paste.after": "Paste after",
+ "paste": "Beillesztés",
+ "paste.after": "Beillesztés utána",
"pixel": "Pixel",
- "plugins": "Plugins",
+ "plugins": "Pluginek",
"prev": "Előző",
- "preview": "Preview",
+ "preview": "Előnézet",
"remove": "Eltávolítás",
"rename": "Átnevezés",
"replace": "Cser\u00e9l",
"retry": "Próbáld újra",
"revert": "Visszavon\u00e1s",
- "revert.confirm": "Do you really want to delete all unsaved changes?",
+ "revert.confirm": "Tényleg törölni szeretnél minden nem mentett változtatást?",
"role": "Szerepkör",
"role.admin.description": "Az adminisztrátornak minden joga van",
@@ -461,15 +463,15 @@
"save": "Ment\u00e9s",
"search": "Keresés",
- "search.min": "Enter {min} characters to search",
- "search.all": "Show all",
- "search.results.none": "No results",
+ "search.min": "A kereséshez írj be minimum {min} karaktert",
+ "search.all": "Összes mutatása",
+ "search.results.none": "Nincs találat",
- "section.required": "The section is required",
+ "section.required": "Ez a szakasz kötelező",
"select": "Kiválasztás",
"settings": "Beállítások",
- "show": "Show",
+ "show": "Mutat",
"size": "Méret",
"slug": "URL n\u00e9v",
"sort": "Rendezés",
@@ -477,29 +479,29 @@
"template": "Sablon",
"today": "Ma",
- "server": "Server",
+ "server": "Szerver",
- "site.blueprint": "The site has no blueprint yet. You can define the setup in /site/blueprints/site.yml",
+ "site.blueprint": "Ehhez a weblaphoz még nem tartozik oldalsablon. Itt hozhatod létre: /site/blueprints/site.yml",
"toolbar.button.code": "Kód",
"toolbar.button.bold": "F\u00e9lk\u00f6v\u00e9r sz\u00f6veg",
"toolbar.button.email": "Email",
- "toolbar.button.headings": "Cím",
- "toolbar.button.heading.1": "Cím 1",
- "toolbar.button.heading.2": "Cím 2",
- "toolbar.button.heading.3": "Cím 3",
- "toolbar.button.heading.4": "Heading 4",
- "toolbar.button.heading.5": "Heading 5",
- "toolbar.button.heading.6": "Heading 6",
+ "toolbar.button.headings": "Címsor",
+ "toolbar.button.heading.1": "Címsor 1",
+ "toolbar.button.heading.2": "Címsor 2",
+ "toolbar.button.heading.3": "Címsor 3",
+ "toolbar.button.heading.4": "Címsor 4",
+ "toolbar.button.heading.5": "Címsor 5",
+ "toolbar.button.heading.6": "Címsor 6",
"toolbar.button.italic": "Dőlt szöveg",
"toolbar.button.file": "Fájl",
"toolbar.button.file.select": "Válassz egy fájlt",
"toolbar.button.file.upload": "Fájl feltöltése",
"toolbar.button.link": "Link",
- "toolbar.button.paragraph": "Paragraph",
- "toolbar.button.strike": "Strike-through",
+ "toolbar.button.paragraph": "Bekezdés",
+ "toolbar.button.strike": "Áthúzott szöveg",
"toolbar.button.ol": "Rendezett lista",
- "toolbar.button.underline": "Underline",
+ "toolbar.button.underline": "Aláhúzott szöveg",
"toolbar.button.ul": "Rendezetlen lista",
"translation.author": "A Kirby csapata",
@@ -508,17 +510,17 @@
"translation.locale": "hu_HU",
"upload": "Feltöltés",
- "upload.error.cantMove": "The uploaded file could not be moved",
- "upload.error.cantWrite": "Failed to write file to disk",
- "upload.error.default": "The file could not be uploaded",
- "upload.error.extension": "File upload stopped by extension",
- "upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
- "upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
- "upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
- "upload.error.noFile": "No file was uploaded",
- "upload.error.noFiles": "No files were uploaded",
- "upload.error.partial": "The uploaded file was only partially uploaded",
- "upload.error.tmpDir": "Missing a temporary folder",
+ "upload.error.cantMove": "A feltöltött fájlt nem sikerült áthelyezni",
+ "upload.error.cantWrite": "Hiba a fájl lemezre írása közben",
+ "upload.error.default": "A fájlt nem sikerült feltölteni",
+ "upload.error.extension": "A fájlfeltöltés egy kiterjesztés miatt megszakadt",
+ "upload.error.formSize": "A feltöltendő fájl mérete nagyobb, mint az űrlap MAX_FILE_SIZE szabályában beállított érték",
+ "upload.error.iniPostSize": "A feltöltendő fájl mérete nagyobb, mint a php.ini post_max_size szabályában beállított érték",
+ "upload.error.iniSize": "A feltöltendő fájl mérete nagyobb, mint a php.ini upload_max_filesize szabályában beállított érték",
+ "upload.error.noFile": "Nem lett fájl feltöltve",
+ "upload.error.noFiles": "Nem lettek fájlok feltöltve",
+ "upload.error.partial": "A fájl feltöltése csak részben sikerült",
+ "upload.error.tmpDir": "Hiányzik egy átmeneti mappa",
"upload.errors": "Hiba",
"upload.progress": "Feltöltés...",
@@ -526,7 +528,7 @@
"url.placeholder": "https://pelda.hu",
"user": "Felhasználó",
- "user.blueprint": "You can define additional sections and form fields for this user role in /site/blueprints/users/{blueprint}.yml",
+ "user.blueprint": "További szakaszokat és mezőket adhatsz meg ehhez a felhasználói szerepkörhöz itt: /site/blueprints/users/{blueprint}.yml",
"user.changeEmail": "Email módosítása",
"user.changeLanguage": "Nyelv módosítása",
"user.changeName": "Felhasználó átnevezése",
@@ -546,12 +548,12 @@
"view.account": "Fi\u00f3kod",
"view.installation": "Telep\u00edt\u00e9s",
"view.languages": "Nyelvek",
- "view.resetPassword": "Reset password",
+ "view.resetPassword": "Jelszó visszaállítása",
"view.site": "Weboldal",
- "view.system": "System",
+ "view.system": "Rendszer",
"view.users": "Felhaszn\u00e1l\u00f3k",
"welcome": "Üdvözlünk",
"year": "Év",
- "yes": "yes"
+ "yes": "igen"
}
diff --git a/kirby/i18n/translations/id.json b/kirby/i18n/translations/id.json
index 87deab8..c9404bd 100755
--- a/kirby/i18n/translations/id.json
+++ b/kirby/i18n/translations/id.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Templat bawaan tidak ada",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Anda tidak diizinkan mengubah surel dari pengguna \"{name}\"",
"error.user.changeLanguage.permission": "Anda tidak diizinkan mengubah bahasa dari pengguna \"{name}\"",
"error.user.changeName.permission": "Anda tidak diizinkan mengubah nama dari pengguna \"{name}\"",
diff --git a/kirby/i18n/translations/is_IS.json b/kirby/i18n/translations/is_IS.json
index 992a4eb..d5814de 100755
--- a/kirby/i18n/translations/is_IS.json
+++ b/kirby/i18n/translations/is_IS.json
@@ -116,7 +116,7 @@
"error.page.changeSlug.permission": "Þú hefur ekkert leyfi til þess að breyta slóðarforskeytinu fyrir \"{slug}\"",
"error.page.changeStatus.incomplete": "Það eru villur á síðunni og við getum ekki gefið hana út",
"error.page.changeStatus.permission": "Stöðu síðunnar var ekki hægt að breyta",
- "error.page.changeStatus.toDraft.invalid": "Síðunn \"{slug}\" er ekki hægt að breyta í uppkast",
+ "error.page.changeStatus.toDraft.invalid": "Síðunni \"{slug}\" er ekki hægt að breyta í uppkast",
"error.page.changeTemplate.invalid": "Sniðmáti fyrir síðuna \"{slug}\" er ekki hægt að breyta",
"error.page.changeTemplate.permission": "Þú hefur engan veginn leyfi til að breyta sniðmáti fyrir síðuna \"{slug}\"",
"error.page.changeTitle.empty": "Titillinn getur ekki verið óskilgreindur",
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Ekkert sjálfgefið sniðmát fannst",
+ "error.unexpected": "Það átti sér stað óvænt villa. Notaðu lúsarleitarhaminn (e. debug mode) til að skilja þetta betur. \nFyrir nánari upplýsingar: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Þú mátt ekkert breyta netfangi notandans \"{name}\"",
"error.user.changeLanguage.permission": "Þú hefur ekki leyfi til að breyta tungumáli notandans \"{name}\"",
"error.user.changeName.permission": "Þú mátt alls ekki breyta nafni notandans \"{name}\"",
@@ -201,7 +203,7 @@
"error.validation.ip": "Skráðu ákjósanlega IP tölu",
"error.validation.less": "Skráðu gildi lægra en {max}",
"error.validation.match": "Gildið er ekki eftir væntingum",
- "error.validation.max": "Skráð gildi sem er ekki hærra en {max}",
+ "error.validation.max": "Skráðu gildi sem er ekki hærra en {max}",
"error.validation.maxlength": "Veldu eitthvað styttra. (hámark {max} stafir)",
"error.validation.maxwords": "Ekki skrá fleiri en {max}. orð",
"error.validation.min": "Skráðu gildi ekki lægra en {min}",
@@ -211,7 +213,7 @@
"error.validation.notcontains": "Skráðu eitthvað sem inniheldur ekki \"{needle}\"",
"error.validation.notin": "Ekki skrá neitt af þessu: ({notIn})",
"error.validation.option": "Veldu ákjósanlegan kost",
- "error.validation.num": "Skráðu ákjósanlega tölu",
+ "error.validation.num": "Notaðu tölugildi",
"error.validation.required": "Skráðu eitthvað",
"error.validation.same": "Skráðu \"{other}\"",
"error.validation.size": "Gildið þarf að vera \"{size}\"",
diff --git a/kirby/i18n/translations/it.json b/kirby/i18n/translations/it.json
index 5f2d416..9ee3391 100755
--- a/kirby/i18n/translations/it.json
+++ b/kirby/i18n/translations/it.json
@@ -88,7 +88,7 @@
"error.file.mime.missing": "Il MIME type per \"{filename}\" non può essere rilevato",
"error.file.minheight": "L'immagine dev'essere alta almeno {height} pixel",
"error.file.minsize": "Il file è troppo leggero",
- "error.file.minwidth": "L'immagine dev'essere larga almeno {height} pixel",
+ "error.file.minwidth": "L'immagine dev'essere larga almeno {width} pixel",
"error.file.name.missing": "Il nome del file non può essere vuoto",
"error.file.notFound": "Il file non \u00e8 stato trovato",
"error.file.orientation": "L'imaggine dev'essere orientata in \"{orientation}\"",
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Il template \"default\" non esiste",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Non ti è permesso modificare l'indirizzo email di \"{name}\"",
"error.user.changeLanguage.permission": "Non ti è permesso modificare la lingua per l'utente \"{name}\"",
"error.user.changeName.permission": "Non ti è permesso modificare il nome dell'utente \"{name}\"",
diff --git a/kirby/i18n/translations/ko.json b/kirby/i18n/translations/ko.json
index 4010354..6209937 100755
--- a/kirby/i18n/translations/ko.json
+++ b/kirby/i18n/translations/ko.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "기본 템플릿이 없습니다.",
+ "error.unexpected": "오류가 발생했습니다. 디버그 모드를 활성화해 오류를 확인하세요. https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "사용자({name})의 이메일 주소를 변경할 권한이 없습니다.",
"error.user.changeLanguage.permission": "사용자({name})의 언어를 변경할 권한이 없습니다.",
"error.user.changeName.permission": "사용자명({name})을 변경할 권한이 없습니다.",
diff --git a/kirby/i18n/translations/lt.json b/kirby/i18n/translations/lt.json
index 9ca9123..cccd7f0 100755
--- a/kirby/i18n/translations/lt.json
+++ b/kirby/i18n/translations/lt.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Nėra šablono pagal nutylėjimą",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Neturite leidimo keisti vartotojo \"{name}\" el. paštą",
"error.user.changeLanguage.permission": "Neturite leidimo keisti vartotojo \"{name}\" kalbą",
"error.user.changeName.permission": "Neturite leidimo keisti vartotojo \"{name}\" vardą",
diff --git a/kirby/i18n/translations/nb.json b/kirby/i18n/translations/nb.json
index 6f1f4d0..b76d224 100755
--- a/kirby/i18n/translations/nb.json
+++ b/kirby/i18n/translations/nb.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Standardmalen eksisterer ikke",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Du har ikke tillatelse til å endre e-post for brukeren \"{name}\"",
"error.user.changeLanguage.permission": "Du har ikke tillatelse til å endre språk for brukeren \"{name}\"",
"error.user.changeName.permission": "Du har ikke tillatelse til å endre navn for brukeren \"{name}\"",
diff --git a/kirby/i18n/translations/nl.json b/kirby/i18n/translations/nl.json
index 437b11e..29b46d2 100755
--- a/kirby/i18n/translations/nl.json
+++ b/kirby/i18n/translations/nl.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Het standaard template bestaat niet",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Je hebt geen rechten om het e-mailadres van gebruiker \"{name}\" te wijzigen",
"error.user.changeLanguage.permission": "Je hebt geen rechten om de taal voor gebruiker \"{name}\" te wijzigen",
"error.user.changeName.permission": "Je hebt geen rechten om de naam van gebruiker \"{name}\" te wijzigen",
diff --git a/kirby/i18n/translations/pl.json b/kirby/i18n/translations/pl.json
index 59c6faa..688f58a 100755
--- a/kirby/i18n/translations/pl.json
+++ b/kirby/i18n/translations/pl.json
@@ -1,10 +1,10 @@
{
- "account.changeName": "Change your name",
- "account.delete": "Delete your account",
- "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.",
+ "account.changeName": "Zmień swoje imię",
+ "account.delete": "Usuń swoje konto",
+ "account.delete.confirm": "Czy na pewno chcesz usunąć swoje konto? Zostaniesz natychmiast wylogowany. Twojego konta nie da się odzyskać.",
"add": "Dodaj",
- "author": "Author",
+ "author": "Autor",
"avatar": "Zdj\u0119cie profilowe",
"back": "Wróć",
"cancel": "Anuluj",
@@ -14,7 +14,7 @@
"collapse": "Zwiń",
"collapse.all": "Zwiń wszystkie",
"copy": "Kopiuj",
- "copy.all": "Copy all",
+ "copy.all": "Skopiuj wszystko",
"create": "Utwórz",
"date": "Data",
@@ -29,7 +29,7 @@
"days.tue": "Wt",
"days.wed": "\u015ar",
- "debugging": "Debugging",
+ "debugging": "Debugowanie",
"delete": "Usu\u0144",
"delete.all": "Usuń wszystkie",
@@ -49,7 +49,7 @@
"email": "Email",
"email.placeholder": "mail@example.com",
- "environment": "Environment",
+ "environment": "Środowisko",
"error.access.code": "Nieprawidłowy kod",
"error.access.login": "Nieprawidłowy login",
@@ -102,7 +102,7 @@
"error.language.code": "Wprowadź poprawny kod języka.",
"error.language.duplicate": "Język już istnieje.",
"error.language.name": "Wprowadź poprawną nazwę języka.",
- "error.language.notFound": "The language could not be found",
+ "error.language.notFound": "Język nie został odnaleziony",
"error.layout.validation.block": "W bloku {blockIndex} w układzie {layoutIndex} jest błąd",
"error.layout.validation.settings": "W ustawieniach układu {index} jest błąd",
@@ -111,7 +111,7 @@
"error.license.email": "Wprowadź poprawny adres email",
"error.license.verification": "Nie udało się zweryfikować licencji",
- "error.offline": "The Panel is currently offline",
+ "error.offline": "Panel jest obecnie offline",
"error.page.changeSlug.permission": "Nie możesz zmienić końcówki adresu URL w \"{slug}\"",
"error.page.changeStatus.incomplete": "Strona zawiera błędy i nie można jej opublikować",
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Domyślny szablon nie istnieje",
+ "error.unexpected": "Wystąpił nieoczekiwany błąd! Włącz tryb debugowania, aby uzyskać więcej informacji: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Nie masz uprawnień, by zmienić adres e-mail użytkownika \"{name}\"",
"error.user.changeLanguage.permission": "Nie masz uprawnień, by zmienić język użytkownika \"{name}\"",
"error.user.changeName.permission": "Nie masz uprawnień, by zmienić nazwę użytkownika \"{name}\"",
@@ -235,7 +237,7 @@
"field.blocks.delete.confirm.selected": "Czy na pewno chcesz usunąć wszystkie wybrane bloki?",
"field.blocks.empty": "Nie ma jeszcze żadnych bloków",
"field.blocks.fieldsets.label": "Wybierz typ bloku …",
- "field.blocks.fieldsets.paste": "Press {{ shortcut }} to paste/import blocks from your clipboard",
+ "field.blocks.fieldsets.paste": "Wciśnij {{ shortcut }} by wkleić/zaimportować bloki ze schowka",
"field.blocks.gallery.name": "Galeria",
"field.blocks.gallery.images.empty": "Nie ma jeszcze żadnych obrazków",
"field.blocks.gallery.images.label": "Obrazki",
@@ -252,7 +254,7 @@
"field.blocks.image.placeholder": "Wybierz obrazek",
"field.blocks.image.ratio": "Proporcje",
"field.blocks.image.url": "URL obrazka",
- "field.blocks.line.name": "Line",
+ "field.blocks.line.name": "Linijka",
"field.blocks.list.name": "Lista",
"field.blocks.markdown.name": "Markdown",
"field.blocks.markdown.label": "Tekst",
@@ -282,7 +284,7 @@
"field.structure.empty": "Nie ma jeszcze \u017cadnych wpis\u00f3w.",
"field.users.empty": "Nie wybrano jeszcze żadnych użytkowników",
- "file.blueprint": "This file has no blueprint yet. You can define the setup in /site/blueprints/files/{blueprint}.yml",
+ "file.blueprint": "Ten plik nie ma jeszcze wzorca. Możesz go zdefiniować w /site/blueprints/files/{blueprint}.yml",
"file.delete.confirm": "Czy na pewno chcesz usunąć
{filename}?",
"file.sort": "Zmień pozycję",
@@ -291,7 +293,7 @@
"hide": "Ukryj",
"hour": "Godzina",
- "import": "Import",
+ "import": "Importuj",
"insert": "Wstaw",
"insert.after": "Wstaw po",
"insert.before": "Wstaw przed",
@@ -357,9 +359,9 @@
"login.code.label.password-reset": "Kod resetowania hasła",
"login.code.placeholder.email": "000 000",
"login.code.text.email": "Jeśli Twój adres email jest zarejestrowany, żądany kod został wysłany na Twoją skrzynkę.",
- "login.email.login.body": "Hi {user.nameOrEmail},\n\nYou recently requested a login code for the Panel of {site}.\nThe following login code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a login code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
+ "login.email.login.body": "Cześć {user.nameOrEmail},\n\nNiedawno poprosiłaś/-eś o kod do zalogowania się do panelu strony {site}.\nPoniższy kod do zalogowania się będzie ważny przez {timeout} minut:\n\n{code}\n\nJeżeli nie zażądałaś/-eś kodu do logowania się, zignoruj tę wiadomość e-mail lub skontaktuj się z administratorem, jeśli masz pytania.\nZe względów bezpieczeństwa NIE przesyłaj dalej tego e-maila.",
"login.email.login.subject": "Twój kod logowania się",
- "login.email.password-reset.body": "Hi {user.nameOrEmail},\n\nYou recently requested a password reset code for the Panel of {site}.\nThe following password reset code will be valid for {timeout} minutes:\n\n{code}\n\nIf you did not request a password reset code, please ignore this email or contact your administrator if you have questions.\nFor security, please DO NOT forward this email.",
+ "login.email.password-reset.body": "Cześć {user.nameOrEmail},\n\nNiedawno poprosiłaś/-eś o kod resetowania hasła do panelu strony {site}.\nPoniższy kod resetowania hasła będzie ważny przez {timeout} minut:\n\n{code}\n\nJeżeli nie zażądałaś/-eś kodu resetowania hasła, zignoruj tę wiadomość e-mail lub skontaktuj się z administratorem, jeśli masz pytania. \nZe względów bezpieczeństwa NIE przesyłaj dalej tego e-maila. ",
"login.email.password-reset.subject": "Twój kod resetujący hasło",
"login.remember": "Nie wylogowuj mnie",
"login.reset": "Zresetuj hasło",
@@ -405,7 +407,7 @@
"orientation.portrait": "Pionowa",
"orientation.square": "Kwadrat",
- "page.blueprint": "This page has no blueprint yet. You can define the setup in /site/blueprints/pages/{blueprint}.yml",
+ "page.blueprint": "Ta strona nie ma jeszcze wzorca. Możesz go zdefiniować w /site/blueprints/pages/{blueprint}.yml",
"page.changeSlug": "Zmie\u0144 URL",
"page.changeSlug.fromTitle": "Utw\u00f3rz na podstawie tytu\u0142u",
"page.changeStatus": "Zmień status",
@@ -437,10 +439,10 @@
"pagination.page": "Strona",
"password": "Has\u0142o",
- "paste": "Paste",
- "paste.after": "Paste after",
+ "paste": "Wklej",
+ "paste.after": "Wklej po",
"pixel": "Piksel",
- "plugins": "Plugins",
+ "plugins": "Wtyczki",
"prev": "Poprzednie",
"preview": "Podgląd",
"remove": "Usuń",
@@ -477,7 +479,7 @@
"template": "Szablon",
"today": "Dzisiaj",
- "server": "Server",
+ "server": "Serwer",
"site.blueprint": "Ta strona nie ma jeszcze wzorca. Możesz go zdefiniować w /site/blueprints/site.yml",
@@ -488,15 +490,15 @@
"toolbar.button.heading.1": "Nagłówek 1",
"toolbar.button.heading.2": "Nagłówek 2",
"toolbar.button.heading.3": "Nagłówek 3",
- "toolbar.button.heading.4": "Heading 4",
- "toolbar.button.heading.5": "Heading 5",
- "toolbar.button.heading.6": "Heading 6",
+ "toolbar.button.heading.4": "Nagłówek 4",
+ "toolbar.button.heading.5": "Nagłówek 5",
+ "toolbar.button.heading.6": "Nagłówek 6",
"toolbar.button.italic": "Kursywa",
"toolbar.button.file": "Plik",
"toolbar.button.file.select": "Wybierz plik",
"toolbar.button.file.upload": "Prześlij plik",
"toolbar.button.link": "Link",
- "toolbar.button.paragraph": "Paragraph",
+ "toolbar.button.paragraph": "Akapit",
"toolbar.button.strike": "Przekreślenie",
"toolbar.button.ol": "Lista numerowana",
"toolbar.button.underline": "Podkreślenie",
@@ -526,7 +528,7 @@
"url.placeholder": "https://example.com",
"user": "Użytkownik",
- "user.blueprint": "You can define additional sections and form fields for this user role in /site/blueprints/users/{blueprint}.yml",
+ "user.blueprint": "Możesz zdefiniować dodatkowe sekcje i pola dla użytkownika o takiej roli w /site/blueprints/users/{blueprint}.yml",
"user.changeEmail": "Zmień email",
"user.changeLanguage": "Zmień język",
"user.changeName": "Zmień nazwę tego użytkownika",
diff --git a/kirby/i18n/translations/pt_BR.json b/kirby/i18n/translations/pt_BR.json
index fa96d2e..f18cdae 100755
--- a/kirby/i18n/translations/pt_BR.json
+++ b/kirby/i18n/translations/pt_BR.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "O tema padrão não existe",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Você não tem permissão para alterar o email do usuário \"{name}\"",
"error.user.changeLanguage.permission": "Você não tem permissão para alterar o idioma do usuário \"{name}\"",
"error.user.changeName.permission": "Você não tem permissão para alterar o nome do usuário \"{name}\"",
diff --git a/kirby/i18n/translations/pt_PT.json b/kirby/i18n/translations/pt_PT.json
index 80d75c3..d7aadee 100755
--- a/kirby/i18n/translations/pt_PT.json
+++ b/kirby/i18n/translations/pt_PT.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "O tema padrão não existe",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Não tem permissões para alterar o email do utilizador \"{name}\"",
"error.user.changeLanguage.permission": "Não tem permissões para alterar o idioma do utilizador \"{name}\"",
"error.user.changeName.permission": "Não tem permissões para alterar o nome do utilizador \"{name}\"",
diff --git a/kirby/i18n/translations/ru.json b/kirby/i18n/translations/ru.json
index c43cceb..eab4f2b 100755
--- a/kirby/i18n/translations/ru.json
+++ b/kirby/i18n/translations/ru.json
@@ -1,7 +1,7 @@
{
- "account.changeName": "Change your name",
- "account.delete": "Delete your account",
- "account.delete.confirm": "Do you really want to delete your account? You will be logged out immediately. Your account cannot be recovered.",
+ "account.changeName": "Изменить имя",
+ "account.delete": "Удалить аккаунт",
+ "account.delete.confirm": "Вы действительно хотите удалить свой аккаунт? Вы сразу покинете панель управления, а аккаунт нельзя будет восстановить.",
"add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",
"author": "Автор",
@@ -74,7 +74,7 @@
"error.field.converter.invalid": "Неверный конвертер \"{converter}\"",
"error.file.changeName.empty": "Название не может быть пустым",
- "error.file.changeName.permission": "У вас нет права поменять название \"{filename}\"",
+ "error.file.changeName.permission": "У вас нет права изменить название \"{filename}\"",
"error.file.duplicate": "Файл с названием \"{filename}\" уже есть",
"error.file.extension.forbidden": "Расширение файла \"{extension}\" неразрешено",
"error.file.extension.invalid": "Неверное разрешение: {extension}",
@@ -111,16 +111,16 @@
"error.license.email": "Пожалуйста, введите правильный Email",
"error.license.verification": "Лицензия не подтверждена",
- "error.offline": "The Panel is currently offline",
+ "error.offline": "Панель управления не в сети",
"error.page.changeSlug.permission": "\u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c URL \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b",
"error.page.changeStatus.incomplete": "На странице есть ошибки и поэтому ее нельзя опубликовать",
- "error.page.changeStatus.permission": "Невозможно поменять статус для этой страницы",
+ "error.page.changeStatus.permission": "Невозможно изменить статус для этой страницы",
"error.page.changeStatus.toDraft.invalid": "Невозможно конвертировать в черновик страницу \"{slug}\"",
- "error.page.changeTemplate.invalid": "Невозможно поменять шаблон страницы \"{slug}\"",
- "error.page.changeTemplate.permission": "У вас нет права поменять шаблон для \"{slug}\"",
+ "error.page.changeTemplate.invalid": "Невозможно изменить шаблон страницы \"{slug}\"",
+ "error.page.changeTemplate.permission": "У вас нет права изменять шаблон для \"{slug}\"",
"error.page.changeTitle.empty": "Название не может быть пустым",
- "error.page.changeTitle.permission": "у вас нет права поменять название \"{slug}\"",
+ "error.page.changeTitle.permission": "у вас нет права изменять название \"{slug}\"",
"error.page.create.permission": "У вас нет права создать \"{slug}\"",
"error.page.delete": "Невозможно удалить страницу \"{slug}\"",
"error.page.delete.confirm": "Впишите название страницы чтобы подтвердить",
@@ -152,17 +152,19 @@
"error.section.type.invalid": "Тип секции {type} неверный",
"error.site.changeTitle.empty": "Название не может быть пустым",
- "error.site.changeTitle.permission": "У вас нет права поменять название сайта",
+ "error.site.changeTitle.permission": "У вас нет права изменять название сайта",
"error.site.update.permission": "У вас нет права обновить сайт",
"error.template.default.notFound": "Нет шаблона по умолчанию",
- "error.user.changeEmail.permission": "У вас нет права поменять эл. почту пользователя \"{name}\"",
- "error.user.changeLanguage.permission": "У вас нет права поменять язык для пользователя \"{name}\"",
- "error.user.changeName.permission": "У вас нет права поменять имя пользователя \"{name}\"",
- "error.user.changePassword.permission": "У вас нет права поменять пароль для пользователя \"{name}\"",
- "error.user.changeRole.lastAdmin": "Роль единственного администратора нельзя поменять",
- "error.user.changeRole.permission": "У вас нет права поменять поль для пользователя \"{name}\"",
+ "error.unexpected": "Произошла непредвиденная ошибка! Включите режим отладки для получения дополнительной информации: https://getkirby.com/docs/reference/system/options/debug",
+
+ "error.user.changeEmail.permission": "У вас нет права изменять Email пользователя \"{name}\"",
+ "error.user.changeLanguage.permission": "У вас нет права изменять язык для пользователя \"{name}\"",
+ "error.user.changeName.permission": "У вас нет права изменять имя пользователя \"{name}\"",
+ "error.user.changePassword.permission": "У вас нет права изменять пароль для пользователя \"{name}\"",
+ "error.user.changeRole.lastAdmin": "Роль единственного администратора нельзя изменить",
+ "error.user.changeRole.permission": "У вас нет права изменять роль пользователя \"{name}\"",
"error.user.changeRole.toAdmin": "У вас нет прав предоставить роль администратора",
"error.user.create.permission": "У вас нет права создать этого пользователя",
"error.user.delete": "\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d",
@@ -411,7 +413,7 @@
"page.changeStatus": "Изменить статус",
"page.changeStatus.position": "Пожалуйста, выберите позицию",
"page.changeStatus.select": "Выбрать новый статус",
- "page.changeTemplate": "Поменять шаблон",
+ "page.changeTemplate": "Изменить шаблон",
"page.delete.confirm": "Вы точно хотите удалить страницу {title}?",
"page.delete.confirm.subpages": "У этой страницы есть внутренние страницы.
Все внутренние страницы так же будут удалены.",
"page.delete.confirm.title": "Напишите название страницы, чтобы подтвердить",
@@ -527,13 +529,13 @@
"user": "Пользователь",
"user.blueprint": "Вы можете определить новые секции и поля разметки для пользователя в /site/blueprints/users/{blueprint}.yml",
- "user.changeEmail": "Поменять Email",
- "user.changeLanguage": "Поменять язык",
+ "user.changeEmail": "Изменить Email",
+ "user.changeLanguage": "Изменить язык",
"user.changeName": "Переназвать этого пользователя",
- "user.changePassword": "Поменять пароль",
+ "user.changePassword": "Изменить пароль",
"user.changePassword.new": "Новый пароль",
"user.changePassword.new.confirm": "Подтвердить новый пароль…",
- "user.changeRole": "Поменять роль",
+ "user.changeRole": "Изменить роль",
"user.changeRole.select": "Выбрать новую роль",
"user.create": "Добавить нового пользователя",
"user.delete": "Удалить этого пользователя",
diff --git a/kirby/i18n/translations/sk.json b/kirby/i18n/translations/sk.json
index bf202c0..023c27e 100755
--- a/kirby/i18n/translations/sk.json
+++ b/kirby/i18n/translations/sk.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Predvolená šablóna neexistuje",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Nemáte povolenie na zmenu e-mailu pre užívateľa \"{name}\"",
"error.user.changeLanguage.permission": "Nemáte povolenie na zmenu jazyka pre užívateľa \"{name}\"",
"error.user.changeName.permission": "Nemáte povolenie na zmenu mena pre užívateľa \"{name}\"",
diff --git a/kirby/i18n/translations/sv_SE.json b/kirby/i18n/translations/sv_SE.json
index 9d4e46b..1437052 100755
--- a/kirby/i18n/translations/sv_SE.json
+++ b/kirby/i18n/translations/sv_SE.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Standardmallen existerar inte",
+ "error.unexpected": "An unexpected error occurred! Enable debug mode for more info: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "Du har inte behörighet att ändra e-postadressen för användaren \"{name}\"",
"error.user.changeLanguage.permission": "Du har inte behörighet att ändra språket för användaren \"{name}\"",
"error.user.changeName.permission": "Du har inte behörighet att ändra namnet för användaren \"{name}\"",
diff --git a/kirby/i18n/translations/tr.json b/kirby/i18n/translations/tr.json
index d054588..43675e2 100755
--- a/kirby/i18n/translations/tr.json
+++ b/kirby/i18n/translations/tr.json
@@ -157,6 +157,8 @@
"error.template.default.notFound": "Varsayılan şablon yok",
+ "error.unexpected": "Beklenmeyen bir hata oluştu! Daha fazla bilgi için hata ayıklama modunu etkinleştirin: https://getkirby.com/docs/reference/system/options/debug",
+
"error.user.changeEmail.permission": "\"{name}\" kullanıcısı için e-postayı değiştiremezsiniz",
"error.user.changeLanguage.permission": "\"{name}\" kullanıcısının dilini değiştiremezsin",
"error.user.changeName.permission": "\"{name}\" kullanıcısının adını değiştiremezsiniz",
diff --git a/kirby/panel/dist/css/style.css b/kirby/panel/dist/css/style.css
index 2a60cb8..e3f1f78 100755
--- a/kirby/panel/dist/css/style.css
+++ b/kirby/panel/dist/css/style.css
@@ -1 +1 @@
-:root{--color-backdrop:rgba(0, 0, 0, .6);--color-black:#000;--color-dark:#313740;--color-light:var(--color-gray-200);--color-white:#fff;--color-gray-100:#f7f7f7;--color-gray-200:#efefef;--color-gray-300:#ddd;--color-gray-400:#ccc;--color-gray-500:#999;--color-gray-600:#777;--color-gray-700:#555;--color-gray-800:#333;--color-gray-900:#111;--color-gray:var(--color-gray-600);--color-red-200:#edc1c1;--color-red-300:#e3a0a0;--color-red-400:#d16464;--color-red-600:#c82829;--color-red:var(--color-red-600);--color-orange-200:#f2d4bf;--color-orange-300:#ebbe9e;--color-orange-400:#de935f;--color-orange-600:#f4861f;--color-orange:var(--color-orange-600);--color-yellow-200:#f9e8c7;--color-yellow-300:#f7e2b8;--color-yellow-400:#f0c674;--color-yellow-600:#cca000;--color-yellow:var(--color-yellow-600);--color-green-200:#dce5c2;--color-green-300:#c6d49d;--color-green-400:#a7bd68;--color-green-600:#5d800d;--color-green:var(--color-green-600);--color-aqua-200:#d0e5e2;--color-aqua-300:#bbd9d5;--color-aqua-400:#8abeb7;--color-aqua-600:#398e93;--color-aqua:var(--color-aqua-600);--color-blue-200:#cbd7e5;--color-blue-300:#b1c2d8;--color-blue-400:#7e9abf;--color-blue-600:#4271ae;--color-blue:var(--color-blue-600);--color-purple-200:#e0d4e4;--color-purple-300:#d4c3d9;--color-purple-400:#b294bb;--color-purple-600:#9c48b9;--color-purple:var(--color-purple-600);--container:80rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono:"SFMono-Regular", Consolas, Liberation Mono, Menlo, Courier, monospace;--font-normal:400;--font-bold:600;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--rounded-xs:1px;--rounded-sm:.125rem;--rounded:.25rem;--shadow:0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-outline:currentColor 0 0 0 2px;--shadow-inset:inset 0 2px 4px 0 rgba(0, 0, 0, .06);--spacing-0:0;--spacing-px:1px;--spacing-2px:2px;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-36:9rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.5rem;--text-5xl:3rem;--text-6xl:4rem;--color-background:var(--color-light);--color-border:var(--color-gray-400);--color-focus:var(--color-blue-600);--color-focus-light:var(--color-blue-400);--color-focus-outline:rgba(113, 143, 183, .25);--color-negative:var(--color-red-600);--color-negative-light:var(--color-red-400);--color-negative-outline:rgba(212, 110, 110, .25);--color-notice:var(--color-orange-600);--color-notice-light:var(--color-orange-400);--color-positive:var(--color-green-600);--color-positive-light:var(--color-green-400);--color-positive-outline:rgba(128, 149, 65, .25);--color-text:var(--color-gray-900);--color-text-light:var(--color-gray-600);--z-offline:1200;--z-fatal:1100;--z-loader:1000;--z-notification:900;--z-dialog:800;--z-navigation:700;--z-dropdown:600;--z-drawer:500;--z-dropzone:400;--z-toolbar:300;--z-content:200;--z-background:100;--bg-pattern:repeating-conic-gradient(rgba(0,0,0, 0) 0% 25%, rgba(0,0,0, .2) 0% 50%) 50% / 20px 20px;--shadow-sticky:rgba(0, 0, 0, .05) 0 2px 5px;--shadow-dropdown:var(--shadow-lg);--shadow-item:var(--shadow);--field-input-padding:.5rem;--field-input-height:2.25rem;--field-input-line-height:1.25rem;--field-input-font-size:var(--text-base);--field-input-color-before:var(--color-gray-700);--field-input-color-after:var(--color-gray-700);--field-input-border:1px solid var(--color-border);--field-input-focus-border:1px solid var(--color-focus);--field-input-focus-outline:2px solid var(--color-focus-outline);--field-input-invalid-border:1px solid var(--color-negative-outline);--field-input-invalid-outline:0;--field-input-invalid-focus-border:1px solid var(--color-negative);--field-input-invalid-focus-outline:2px solid var(--color-negative-outline);--field-input-background:var(--color-white);--field-input-disabled-color:var(--color-gray-500);--field-input-disabled-background:var(--color-white);--field-input-disabled-border:1px solid var(--color-gray-300);--font-family-sans:var(--font-sans);--font-family-mono:var(--font-mono);--font-size-tiny:var(--text-xs);--font-size-small:var(--text-sm);--font-size-medium:var(--text-base);--font-size-large:var(--text-xl);--font-size-huge:var(--text-2xl);--font-size-monster:var(--text-3xl);--box-shadow-dropdown:var(--shadow-dropdown);--box-shadow-item:var(--shadow);--box-shadow-focus:var(--shadow-xl)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}noscript{padding:1.5rem;display:flex;align-items:center;justify-content:center;height:100vh;text-align:center}html{font-family:var(--font-sans);background:var(--color-background)}body,html{color:var(--color-gray-900);height:100%;overflow:hidden}a{color:inherit;text-decoration:none}li{list-style:none}b,strong{font-weight:var(--font-bold)}@keyframes LoadingCursor{to{cursor:progress}}@keyframes Spin{to{transform:rotate(360deg)}}.k-dialog{position:relative;background:var(--color-background);width:100%;box-shadow:var(--shadow-lg);border-radius:var(--rounded-xs);line-height:1;max-height:calc(100vh - 3rem);margin:1.5rem;display:flex;flex-direction:column}@media screen and (min-width:20rem){.k-dialog[data-size=small]{width:20rem}}@media screen and (min-width:22rem){.k-dialog[data-size=default]{width:22rem}}@media screen and (min-width:30rem){.k-dialog[data-size=medium]{width:30rem}}@media screen and (min-width:40rem){.k-dialog[data-size=large]{width:40rem}}.k-dialog-notification{padding:.75rem 1.5rem;background:var(--color-gray-900);width:100%;line-height:1.25rem;color:var(--color-white);display:flex;flex-shrink:0;align-items:center}.k-dialog-notification[data-theme]{background:var(--theme-light);color:var(--color-black)}.k-dialog-notification p{flex-grow:1;word-wrap:break-word;overflow:hidden}[dir=ltr] .k-dialog-notification .k-button{margin-left:1rem}[dir=rtl] .k-dialog-notification .k-button{margin-right:1rem}.k-dialog-notification .k-button{display:flex}.k-dialog-body{padding:1.5rem}.k-dialog-body .k-fieldset{padding-bottom:.5rem}[dir=ltr] .k-dialog-footer,[dir=rtl] .k-dialog-footer{border-bottom-right-radius:var(--rounded-xs);border-bottom-left-radius:var(--rounded-xs)}.k-dialog-footer{padding:0;border-top:1px solid var(--color-gray-300);line-height:1;flex-shrink:0}.k-dialog-footer .k-button-group{display:flex;margin:0;justify-content:space-between}.k-dialog-footer .k-button-group .k-button{padding:.75rem 1rem;line-height:1.25rem}[dir=ltr] .k-dialog-footer .k-button-group .k-button:first-child{text-align:left}[dir=rtl] .k-dialog-footer .k-button-group .k-button:first-child{text-align:right}[dir=ltr] .k-dialog-footer .k-button-group .k-button:first-child{padding-left:1.5rem}[dir=rtl] .k-dialog-footer .k-button-group .k-button:first-child{padding-right:1.5rem}[dir=ltr] .k-dialog-footer .k-button-group .k-button:last-child{text-align:right}[dir=rtl] .k-dialog-footer .k-button-group .k-button:last-child{text-align:left}[dir=ltr] .k-dialog-footer .k-button-group .k-button:last-child{padding-right:1.5rem}[dir=rtl] .k-dialog-footer .k-button-group .k-button:last-child{padding-left:1.5rem}.k-dialog-pagination{margin-bottom:-1.5rem;display:flex;justify-content:center;align-items:center}.k-dialog-search{margin-bottom:.75rem}.k-dialog-search.k-input{background:rgba(0,0,0,.075);padding:0 1rem;height:36px;border-radius:var(--rounded-xs)}.k-error-details{background:var(--color-white);display:block;overflow:auto;padding:1rem;font-size:var(--text-sm);line-height:1.25em;margin-top:.75rem}.k-error-details dt{color:var(--color-negative-light);margin-bottom:.25rem}.k-error-details dd{overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.k-error-details dd:not(:last-of-type){margin-bottom:1.5em}.k-error-details li:not(:last-child){border-bottom:1px solid var(--color-background);padding-bottom:.25rem;margin-bottom:.25rem}.k-files-dialog .k-list-item{cursor:pointer}[dir=ltr] .k-pages-dialog-navbar{padding-right:38px}[dir=rtl] .k-pages-dialog-navbar{padding-left:38px}.k-pages-dialog-navbar{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.k-pages-dialog-navbar .k-button{width:38px}.k-pages-dialog-navbar .k-button[disabled]{opacity:0}.k-pages-dialog-navbar .k-headline{flex-grow:1;text-align:center}.k-pages-dialog .k-list-item{cursor:pointer}.k-pages-dialog .k-list-item .k-button[data-theme=disabled],.k-pages-dialog .k-list-item .k-button[disabled]{opacity:.25}.k-pages-dialog .k-list-item .k-button[data-theme=disabled]:hover{opacity:1}.k-users-dialog .k-list-item{cursor:pointer}.k-drawer{--drawer-header-height:2.5rem;--drawer-header-padding:1.5rem;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toolbar);display:flex;align-items:stretch;justify-content:flex-end;background:rgba(0,0,0,.2)}.k-drawer-box{position:relative;flex-basis:50rem;display:flex;flex-direction:column;background:var(--color-background);box-shadow:var(--shadow-xl)}[dir=ltr] .k-drawer-header{padding-left:var(--drawer-header-padding)}[dir=rtl] .k-drawer-header{padding-right:var(--drawer-header-padding)}.k-drawer-header{flex-shrink:0;height:var(--drawer-header-height);display:flex;align-items:center;line-height:1;justify-content:space-between;background:var(--color-white);font-size:var(--text-sm)}.k-drawer-title{padding:0 .75rem}[dir=ltr] .k-drawer-breadcrumb,[dir=ltr] .k-drawer-title{margin-left:-.75rem}[dir=rtl] .k-drawer-breadcrumb,[dir=rtl] .k-drawer-title{margin-right:-.75rem}.k-drawer-breadcrumb,.k-drawer-title{display:flex;flex-grow:1;align-items:center;min-width:0;font-size:var(--text-sm);font-weight:var(--font-normal)}[dir=ltr] .k-drawer-breadcrumb li:not(:last-child) .k-button:after{right:-.75rem}[dir=rtl] .k-drawer-breadcrumb li:not(:last-child) .k-button:after{left:-.75rem}.k-drawer-breadcrumb li:not(:last-child) .k-button:after{position:absolute;width:1.5rem;display:inline-flex;justify-content:center;align-items:center;content:"\203a";color:var(--color-gray-500);height:var(--drawer-header-height)}[dir=ltr] .k-drawer-breadcrumb .k-icon,[dir=ltr] .k-drawer-title .k-icon{margin-right:.5rem}[dir=rtl] .k-drawer-breadcrumb .k-icon,[dir=rtl] .k-drawer-title .k-icon{margin-left:.5rem}.k-drawer-breadcrumb .k-icon,.k-drawer-title .k-icon{width:1rem;color:var(--color-gray-500)}.k-drawer-breadcrumb .k-button{display:inline-flex;align-items:center;height:var(--drawer-header-height);padding-left:.75rem;padding-right:.75rem}.k-drawer-breadcrumb .k-button-text{opacity:1}[dir=ltr] .k-drawer-breadcrumb .k-button .k-button-icon~.k-button-text{padding-left:0}[dir=rtl] .k-drawer-breadcrumb .k-button .k-button-icon~.k-button-text{padding-right:0}[dir=ltr] .k-drawer-tabs{margin-right:.75rem}[dir=rtl] .k-drawer-tabs{margin-left:.75rem}.k-drawer-tabs{display:flex;align-items:center;line-height:1}.k-drawer-tab.k-button{height:var(--drawer-header-height);padding-left:.75rem;padding-right:.75rem;display:flex;align-items:center;font-size:var(--text-xs)}.k-drawer-tab.k-button[aria-current]:after{position:absolute;bottom:-1px;left:.75rem;right:.75rem;content:"";background:var(--color-black);height:2px}[dir=ltr] .k-drawer-options{padding-right:.75rem}[dir=rtl] .k-drawer-options{padding-left:.75rem}.k-drawer-option.k-button{width:var(--drawer-header-height);height:var(--drawer-header-height);color:var(--color-gray-500);line-height:1}.k-drawer-option.k-button:focus,.k-drawer-option.k-button:hover{color:var(--color-black)}.k-drawer-body{padding:1.5rem;flex-grow:1;background:var(--color-background)}.k-drawer[data-nested]{background:0 0}.k-calendar-input{--cell-padding:.25rem .5rem;padding:.5rem;background:var(--color-gray-900);color:var(--color-light);border-radius:var(--rounded-xs)}.k-calendar-table{table-layout:fixed;width:100%;min-width:15rem;padding-top:.5rem}.k-calendar-input>nav{display:flex;direction:ltr}.k-calendar-input>nav .k-button{padding:.5rem}.k-calendar-selects{flex-grow:1;display:flex;align-items:center;justify-content:center}[dir=ltr] .k-calendar-selects{direction:ltr}[dir=rtl] .k-calendar-selects{direction:rtl}.k-calendar-selects .k-select-input{padding:0 .5rem;font-weight:var(--font-normal);font-size:var(--text-sm)}.k-calendar-selects .k-select-input:focus-within{color:var(--color-focus-light)!important}.k-calendar-input th{padding:.5rem 0;color:var(--color-gray-500);font-size:var(--text-xs);font-weight:400;text-align:center}.k-calendar-day .k-button{width:2rem;height:2rem;margin-left:auto;margin-right:auto;color:var(--color-white);line-height:1.75rem;display:flex;justify-content:center;border-radius:50%;border:2px solid transparent}.k-calendar-day .k-button .k-button-text{opacity:1}.k-calendar-table .k-button:hover{color:var(--color-white)}.k-calendar-day:hover .k-button:not([data-disabled]){border-color:#ffffff40}.k-calendar-day[aria-current=date] .k-button{color:var(--color-yellow-500);font-weight:500}.k-calendar-day[aria-selected=date] .k-button{border-color:var(--color-focus-light);color:var(--color-focus-light)}.k-calendar-day[data-between]{background:#333}[dir=ltr] .k-calendar-day[data-first]{border-top-left-radius:100%}[dir=rtl] .k-calendar-day[data-first]{border-top-right-radius:100%}[dir=ltr] .k-calendar-day[data-first]{border-bottom-left-radius:100%}[dir=rtl] .k-calendar-day[data-first]{border-bottom-right-radius:100%}[dir=ltr] .k-calendar-day[data-last]{border-top-right-radius:100%}[dir=rtl] .k-calendar-day[data-last]{border-top-left-radius:100%}[dir=ltr] .k-calendar-day[data-last]{border-bottom-right-radius:100%}[dir=rtl] .k-calendar-day[data-last]{border-bottom-left-radius:100%}.k-calendar-today{text-align:center;padding-top:.5rem}.k-calendar-today .k-button{color:var(--color-focus-light);font-size:var(--text-xs);padding:1rem}.k-calendar-today .k-button-text{opacity:1}.k-counter{font-size:var(--text-xs);color:var(--color-gray-900);font-weight:var(--font-bold)}.k-counter[data-invalid]{box-shadow:none;border:0;color:var(--color-negative)}[dir=ltr] .k-counter-rules{padding-left:.5rem}[dir=rtl] .k-counter-rules{padding-right:.5rem}.k-counter-rules{color:var(--color-gray-600);font-weight:var(--font-normal)}.k-form-submitter{display:none}.k-form-buttons[data-theme]{background:var(--theme-light)}.k-form-buttons .k-view{display:flex;justify-content:space-between;align-items:center}.k-form-button.k-button{font-weight:500;white-space:nowrap;line-height:1;height:2.5rem;display:flex;padding:0 1rem;align-items:center}[dir=ltr] .k-form-button:first-child{margin-left:-1rem}[dir=rtl] .k-form-button:first-child{margin-right:-1rem}[dir=ltr] .k-form-button:last-child{margin-right:-1rem}[dir=rtl] .k-form-button:last-child{margin-left:-1rem}[dir=ltr] .k-form-lock-info{margin-right:3rem}[dir=rtl] .k-form-lock-info{margin-left:3rem}.k-form-lock-info{display:flex;font-size:var(--text-sm);align-items:center;line-height:1.5em;padding:.625rem 0}[dir=ltr] .k-form-lock-info>.k-icon{margin-right:.5rem}[dir=rtl] .k-form-lock-info>.k-icon{margin-left:.5rem}.k-form-lock-buttons{display:flex;flex-shrink:0}.k-form-lock-loader{animation:Spin 4s linear infinite}.k-form-lock-loader .k-icon-loader{display:flex}.k-form-indicator-toggle{color:var(--color-notice-light)}.k-form-indicator-info{font-size:var(--text-sm);font-weight:var(--font-bold);padding:.75rem 1rem .25rem;line-height:1.25em;width:15rem}.k-field-label{font-weight:var(--font-bold);display:block;padding:0 0 .75rem;flex-grow:1;line-height:1.25rem}[dir=ltr] .k-field-label abbr{padding-left:.25rem}[dir=rtl] .k-field-label abbr{padding-right:.25rem}.k-field-label abbr{text-decoration:none;color:var(--color-gray-500)}.k-field-header{position:relative;display:flex;align-items:baseline}[dir=ltr] .k-field-options{right:0}[dir=rtl] .k-field-options{left:0}.k-field-options{position:absolute;top:calc(-.5rem - 1px)}.k-field-options.k-button-group .k-dropdown{height:auto}.k-field-options.k-button-group .k-field-options-button.k-button{padding:.75rem;display:flex}.k-field[data-disabled]{cursor:not-allowed}.k-field[data-disabled] *{pointer-events:none}.k-field[data-disabled] .k-text[data-theme=help] *{pointer-events:initial}.k-field:focus-within>.k-field-header>.k-field-counter{display:block}.k-field-help{padding-top:.5rem}.k-fieldset{border:0}.k-fieldset .k-grid{grid-row-gap:2.25rem}@media screen and (min-width:30em){.k-fieldset .k-grid{grid-column-gap:1.5rem}}.k-sections>.k-column[data-width="1/3"] .k-fieldset .k-grid,.k-sections>.k-column[data-width="1/4"] .k-fieldset .k-grid{grid-template-columns:repeat(1,1fr)}.k-sections>.k-column[data-width="1/3"] .k-fieldset .k-grid .k-column,.k-sections>.k-column[data-width="1/4"] .k-fieldset .k-grid .k-column{grid-column-start:initial}.k-input{display:flex;align-items:center;line-height:1;border:0;outline:0;background:0 0}.k-input-element{flex-grow:1}.k-input-icon{display:flex;justify-content:center;align-items:center;line-height:0}.k-input[data-disabled]{pointer-events:none}[data-disabled] .k-input-icon{color:var(--color-gray-600)}.k-input[data-theme=field]{line-height:1;border:var(--field-input-border);background:var(--field-input-background)}.k-input[data-theme=field]:focus-within{border:var(--field-input-focus-border);box-shadow:var(--color-focus-outline) 0 0 0 2px}.k-input[data-theme=field][data-disabled]{background:var(--color-background)}.k-input[data-theme=field] .k-input-icon{width:var(--field-input-height);align-self:stretch;display:flex;align-items:center;flex-shrink:0}.k-input[data-theme=field] .k-input-after,.k-input[data-theme=field] .k-input-before{align-self:stretch;display:flex;align-items:center;flex-shrink:0;padding:0 var(--field-input-padding)}[dir=ltr] .k-input[data-theme=field] .k-input-before{padding-right:0}[dir=ltr] .k-input[data-theme=field] .k-input-after,[dir=rtl] .k-input[data-theme=field] .k-input-before{padding-left:0}.k-input[data-theme=field] .k-input-before{color:var(--field-input-color-before)}[dir=rtl] .k-input[data-theme=field] .k-input-after{padding-right:0}.k-input[data-theme=field] .k-input-after{color:var(--field-input-color-after)}.k-input[data-theme=field] .k-input-icon>.k-dropdown{width:100%;height:100%}.k-input[data-theme=field] .k-input-icon-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.k-input[data-theme=field] .k-number-input,.k-input[data-theme=field] .k-select-input,.k-input[data-theme=field] .k-text-input{padding:var(--field-input-padding);line-height:var(--field-input-line-height)}.k-input[data-theme=field] .k-date-input .k-select-input,.k-input[data-theme=field] .k-time-input .k-select-input{padding-left:0;padding-right:0}[dir=ltr] .k-input[data-theme=field] .k-date-input .k-select-input:first-child,[dir=ltr] .k-input[data-theme=field] .k-time-input .k-select-input:first-child{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field] .k-date-input .k-select-input:first-child,[dir=rtl] .k-input[data-theme=field] .k-time-input .k-select-input:first-child{padding-right:var(--field-input-padding)}.k-input[data-theme=field] .k-date-input .k-select-input:focus-within,.k-input[data-theme=field] .k-time-input .k-select-input:focus-within{color:var(--color-focus);font-weight:var(--font-bold)}[dir=ltr] .k-input[data-theme=field].k-time-input .k-time-input-meridiem{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field].k-time-input .k-time-input-meridiem{padding-right:var(--field-input-padding)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,.k-input[data-theme=field][data-type=checkboxes] .k-radio-input li,.k-input[data-theme=field][data-type=radio] .k-checkboxes-input li,.k-input[data-theme=field][data-type=radio] .k-radio-input li{min-width:0;overflow-wrap:break-word}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-before{border-right:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-after,[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-before{border-left:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-after,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-icon{border-right:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-input-element{overflow:hidden}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{margin-right:-1px}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{margin-left:-1px}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{display:grid;grid-template-columns:1fr;margin-bottom:-1px}@media screen and (min-width:65em){.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{grid-template-columns:repeat(var(--columns),1fr)}}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li{border-left:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,.k-input[data-theme=field][data-type=radio] .k-radio-input li{border-bottom:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input label{display:block;line-height:var(--field-input-line-height);padding:var(--field-input-padding) var(--field-input-padding)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon,[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input label:before{left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input label:before{right:var(--field-input-padding)}.k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon{top:calc((var(--field-input-height) - var(--field-input-font-size))/2);margin-top:0}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-before{border-right:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-after,[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-before{border-left:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input li,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-after,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-icon{border-right:1px solid var(--color-background)}.k-input[data-theme=field][data-type=radio] .k-input-element{overflow:hidden}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input{margin-right:-1px}[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input{margin-left:-1px}.k-input[data-theme=field][data-type=radio] .k-radio-input{display:grid;grid-template-columns:1fr;margin-bottom:-1px}@media screen and (min-width:65em){.k-input[data-theme=field][data-type=radio] .k-radio-input{grid-template-columns:repeat(var(--columns),1fr)}}[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input li{border-left:1px solid var(--color-background)}.k-input[data-theme=field][data-type=radio] .k-radio-input label{display:block;flex-grow:1;min-height:var(--field-input-height);line-height:var(--field-input-line-height);padding:calc((var(--field-input-height) - var(--field-input-line-height))/2) var(--field-input-padding)}.k-input[data-theme=field][data-type=radio] .k-radio-input label:before{top:calc((var(--field-input-height) - 1rem)/2);margin-top:-1px}.k-input[data-theme=field][data-type=radio] .k-radio-input .k-radio-input-info{display:block;font-size:var(--text-sm);color:var(--color-gray-600);line-height:var(--field-input-line-height);padding-top:calc(var(--field-input-line-height)/10)}.k-input[data-theme=field][data-type=radio] .k-radio-input .k-icon{width:var(--field-input-height);height:var(--field-input-height);display:flex;align-items:center;justify-content:center}.k-input[data-theme=field][data-type=range] .k-range-input{padding:var(--field-input-padding)}.k-input[data-theme=field][data-type=multiselect],.k-input[data-theme=field][data-type=select]{position:relative}[dir=ltr] .k-input[data-theme=field][data-type=select] .k-input-icon{right:0}[dir=rtl] .k-input[data-theme=field][data-type=select] .k-input-icon{left:0}.k-input[data-theme=field][data-type=select] .k-input-icon{position:absolute;top:0;bottom:0}.k-input[data-theme=field][data-type=tags] .k-tags-input{padding:.25rem .25rem 0}[dir=ltr] .k-input[data-theme=field][data-type=tags] .k-tag{margin-right:.25rem}[dir=rtl] .k-input[data-theme=field][data-type=tags] .k-tag{margin-left:.25rem}.k-input[data-theme=field][data-type=tags] .k-tag{margin-bottom:.25rem;height:auto;min-height:1.75rem;font-size:var(--text-sm)}.k-input[data-theme=field][data-type=tags] .k-tags-input input{font-size:var(--text-sm);padding:0 .25rem;height:1.75rem;line-height:1;margin-bottom:.25rem}.k-input[data-theme=field][data-type=tags] .k-tags-input .k-dropdown-content{top:calc(100% + .5rem + 2px)}.k-input[data-theme=field][data-type=tags] .k-tags-input .k-dropdown-content[data-dropup]{top:calc(100% + .5rem + 2px);bottom:initial;margin-bottom:initial}.k-input[data-theme=field][data-type=multiselect] .k-multiselect-input{padding:.25rem 2rem 0 .25rem;min-height:2.25rem}[dir=ltr] .k-input[data-theme=field][data-type=multiselect] .k-tag{margin-right:.25rem}[dir=rtl] .k-input[data-theme=field][data-type=multiselect] .k-tag{margin-left:.25rem}.k-input[data-theme=field][data-type=multiselect] .k-tag{margin-bottom:.25rem;height:1.75rem;font-size:var(--text-sm)}[dir=ltr] .k-input[data-theme=field][data-type=multiselect] .k-input-icon{right:0}[dir=rtl] .k-input[data-theme=field][data-type=multiselect] .k-input-icon{left:0}.k-input[data-theme=field][data-type=multiselect] .k-input-icon{position:absolute;top:0;bottom:0;pointer-events:none}.k-input[data-theme=field][data-type=textarea] .k-textarea-input-native{padding:.25rem var(--field-input-padding);line-height:1.5rem}[dir=ltr] .k-input[data-theme=field][data-type=toggle] .k-input-before{padding-right:calc(var(--field-input-padding)/2)}[dir=rtl] .k-input[data-theme=field][data-type=toggle] .k-input-before{padding-left:calc(var(--field-input-padding)/2)}[dir=ltr] .k-input[data-theme=field][data-type=toggle] .k-toggle-input{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field][data-type=toggle] .k-toggle-input{padding-right:var(--field-input-padding)}.k-input[data-theme=field][data-type=toggle] .k-toggle-input-label{padding:0 var(--field-input-padding) 0 .75rem;line-height:var(--field-input-height)}.k-login-code-form .k-user-info{height:38px;margin-bottom:2.25rem;padding:.5rem;background:var(--color-white);border-radius:var(--rounded-xs);box-shadow:var(--shadow)}[dir=ltr] .k-upload input{left:-3000px}[dir=rtl] .k-upload input{right:-3000px}.k-upload input{position:absolute;top:0}.k-upload-dialog .k-headline{margin-bottom:.75rem}.k-upload-error-list,.k-upload-list{line-height:1.5em;font-size:var(--text-sm)}.k-upload-list-filename{color:var(--color-gray-600)}.k-upload-error-list li{padding:.75rem;background:var(--color-white);border-radius:var(--rounded-xs)}.k-upload-error-list li:not(:last-child){margin-bottom:2px}.k-upload-error-filename{color:var(--color-negative);font-weight:var(--font-bold)}.k-upload-error-message{color:var(--color-gray-600)}.k-writer-toolbar{position:absolute;display:flex;background:var(--color-black);height:30px;transform:translate(-50%) translateY(-.75rem);z-index:calc(var(--z-dropdown) + 1);box-shadow:var(--shadow);color:var(--color-white);border-radius:var(--rounded)}.k-writer-toolbar-button.k-button{display:flex;align-items:center;justify-content:center;height:30px;width:30px;font-size:var(--text-sm)!important;color:currentColor;line-height:1}.k-writer-toolbar-button.k-button:hover{background:rgba(255,255,255,.15)}.k-writer-toolbar-button.k-writer-toolbar-button-active{color:var(--color-blue-300)}.k-writer-toolbar-button.k-writer-toolbar-nodes{width:auto;padding:0 .75rem}[dir=ltr] .k-writer-toolbar .k-dropdown+.k-writer-toolbar-button{border-left:1px solid var(--color-gray-700)}[dir=rtl] .k-writer-toolbar .k-dropdown+.k-writer-toolbar-button{border-right:1px solid var(--color-gray-700)}[dir=ltr] .k-writer-toolbar-button.k-writer-toolbar-nodes:after{margin-left:.5rem}[dir=rtl] .k-writer-toolbar-button.k-writer-toolbar-nodes:after{margin-right:.5rem}.k-writer-toolbar-button.k-writer-toolbar-nodes:after{content:"";border-top:4px solid var(--color-white);border-left:4px solid transparent;border-right:4px solid transparent}.k-writer-toolbar .k-dropdown-content{color:var(--color-black);background:var(--color-white);margin-top:.5rem}.k-writer-toolbar .k-dropdown-content .k-dropdown-item[aria-current]{color:var(--color-focus);font-weight:500}.k-writer{position:relative;width:100%;grid-template-areas:"content";display:grid}.k-writer .ProseMirror{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;font-variant-ligatures:none;line-height:inherit;grid-area:content}.k-writer .ProseMirror:focus{outline:0}.k-writer .ProseMirror *{caret-color:currentColor}.k-writer .ProseMirror a{color:var(--color-focus);text-decoration:underline}.k-writer .ProseMirror>:last-child{margin-bottom:0}.k-writer .ProseMirror h1,.k-writer .ProseMirror h2,.k-writer .ProseMirror h3,.k-writer .ProseMirror ol,.k-writer .ProseMirror p,.k-writer .ProseMirror ul{margin-bottom:.75rem}.k-writer .ProseMirror h1{font-size:var(--text-3xl);line-height:1.25em}.k-writer .ProseMirror h2{font-size:var(--text-2xl);line-height:1.25em}.k-writer .ProseMirror h3{font-size:var(--text-xl);line-height:1.25em}.k-writer .ProseMirror h1 strong,.k-writer .ProseMirror h2 strong,.k-writer .ProseMirror h3 strong{font-weight:700}.k-writer .ProseMirror strong{font-weight:600}.k-writer .ProseMirror code{position:relative;font-size:.925em;display:inline-block;line-height:1.325;padding:.05em .325em;background:var(--color-gray-300);border-radius:var(--rounded)}[dir=ltr] .k-writer .ProseMirror ol,[dir=ltr] .k-writer .ProseMirror ul{padding-left:1rem}[dir=rtl] .k-writer .ProseMirror ol,[dir=rtl] .k-writer .ProseMirror ul{padding-right:1rem}.k-writer .ProseMirror ul>li{list-style:disc}.k-writer .ProseMirror ul ul>li{list-style:circle}.k-writer .ProseMirror ul ul ul>li{list-style:square}.k-writer .ProseMirror ol>li{list-style:decimal}.k-writer .ProseMirror li>ol,.k-writer .ProseMirror li>p,.k-writer .ProseMirror li>ul{margin:0}.k-writer-code pre{-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-size:var(--text-sm);line-height:2em;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:pre}.k-writer .ProseMirror code,.k-writer-code code{font-family:var(--font-mono)}.k-writer[data-placeholder][data-empty]:before{grid-area:content;content:attr(data-placeholder);line-height:inherit;color:var(--color-gray-500);pointer-events:none;white-space:pre-wrap;word-wrap:break-word}.k-login-alert{padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;min-height:38px;margin-bottom:2rem;background:var(--color-negative);color:var(--color-white);font-size:var(--text-sm);border-radius:var(--rounded-xs);box-shadow:var(--shadow-lg);cursor:pointer}.k-checkbox-input{position:relative;cursor:pointer}.k-checkbox-input-native{position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;opacity:0}[dir=ltr] .k-checkbox-input-label{padding-left:1.75rem}[dir=rtl] .k-checkbox-input-label{padding-right:1.75rem}.k-checkbox-input-label{display:block}[dir=ltr] .k-checkbox-input-icon{left:0}[dir=rtl] .k-checkbox-input-icon{right:0}.k-checkbox-input-icon{position:absolute;width:1rem;height:1rem;border:2px solid var(--color-gray-500)}.k-checkbox-input-icon svg{position:absolute;width:12px;height:12px;display:none}.k-checkbox-input-icon path{stroke:var(--color-white)}.k-checkbox-input-native:checked+.k-checkbox-input-icon{border-color:var(--color-gray-900);background:var(--color-gray-900)}[data-disabled] .k-checkbox-input-native:checked+.k-checkbox-input-icon{border-color:var(--color-gray-600);background:var(--color-gray-600)}.k-checkbox-input-native:checked+.k-checkbox-input-icon svg{display:block}.k-checkbox-input-native:focus+.k-checkbox-input-icon{border-color:var(--color-blue-600)}.k-checkbox-input-native:focus:checked+.k-checkbox-input-icon{background:var(--color-focus)}.k-datetime-input{display:flex}[dir=ltr] .k-datetime-input .k-time-input{padding-left:var(--field-input-padding)}[dir=rtl] .k-datetime-input .k-time-input{padding-right:var(--field-input-padding)}.k-text-input{width:100%;border:0;background:0 0;font:inherit;color:inherit}.k-text-input::-moz-placeholder{color:var(--color-gray-500)}.k-text-input::placeholder{color:var(--color-gray-500)}.k-text-input:focus{outline:0}.k-text-input:invalid{box-shadow:none;outline:0}.k-list-input .ProseMirror{line-height:1.5em}.k-list-input .ProseMirror ol>li::marker{font-size:var(--text-sm);color:var(--color-gray-500)}.k-multiselect-input{display:flex;flex-wrap:wrap;position:relative;font-size:var(--text-sm);min-height:2.25rem;line-height:1}.k-multiselect-input .k-sortable-ghost{background:var(--color-focus)}.k-multiselect-input .k-dropdown-content,.k-multiselect-input[data-layout=list] .k-tag{width:100%}.k-multiselect-search{margin-top:0!important;color:var(--color-white);background:var(--color-gray-900);border-bottom:1px dashed rgba(255,255,255,.2)}.k-multiselect-search>.k-button-text{flex:1;opacity:1!important}.k-multiselect-search input{width:100%;color:var(--color-white);background:0 0;border:0;outline:0;padding:.25rem 0;font:inherit}.k-multiselect-options{position:relative;max-height:275px;padding:.5rem 0}.k-multiselect-option{position:relative}.k-multiselect-option.selected{color:var(--color-positive-light)}.k-multiselect-option.disabled:not(.selected) .k-icon{opacity:0}.k-multiselect-option b{color:var(--color-focus-light);font-weight:700}[dir=ltr] .k-multiselect-value{margin-left:.25rem}[dir=rtl] .k-multiselect-value{margin-right:.25rem}.k-multiselect-value{color:var(--color-gray-500)}.k-multiselect-value:before{content:" ("}.k-multiselect-value:after{content:")"}[dir=ltr] .k-multiselect-input[data-layout=list] .k-tag{margin-right:0!important}[dir=rtl] .k-multiselect-input[data-layout=list] .k-tag{margin-left:0!important}.k-multiselect-more{width:100%;padding:.75rem;color:#fffc;text-align:center;border-top:1px dashed rgba(255,255,255,.2)}.k-multiselect-more:hover{color:var(--color-white)}.k-number-input{width:100%;border:0;background:0 0;font:inherit;color:inherit}.k-number-input::-moz-placeholder{color:var(--color-gray-500)}.k-number-input::placeholder{color:var(--color-gray-500)}.k-number-input:focus{outline:0}.k-number-input:invalid{box-shadow:none;outline:0}[dir=ltr] .k-radio-input li{padding-left:1.75rem}[dir=rtl] .k-radio-input li{padding-right:1.75rem}.k-radio-input li{position:relative;line-height:1.5rem}.k-radio-input input{position:absolute;width:0;height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}.k-radio-input label{cursor:pointer;align-items:center}[dir=ltr] .k-radio-input label:before{left:0}[dir=rtl] .k-radio-input label:before{right:0}.k-radio-input label:before{position:absolute;top:.175em;content:"";width:1rem;height:1rem;border-radius:50%;border:2px solid var(--color-gray-500);box-shadow:var(--color-white) 0 0 0 2px inset}.k-radio-input input:checked+label:before{border-color:var(--color-gray-900);background:var(--color-gray-900)}[data-disabled] .k-radio-input input:checked+label:before{border-color:var(--color-gray-600);background:var(--color-gray-600)}.k-radio-input input:focus+label:before{border-color:var(--color-blue-600)}.k-radio-input input:focus:checked+label:before{background:var(--color-focus)}.k-radio-input-text{display:block}.k-range-input{--range-thumb-size:16px;--range-thumb-border:4px solid var(--color-gray-900);--range-thumb-border-disabled:4px solid var(--color-gray-600);--range-thumb-background:var(--color-background);--range-thumb-focus-border:4px solid var(--color-focus);--range-thumb-focus-background:var(--color-background);--range-track-height:4px;--range-track-background:var(--color-border);--range-track-color:var(--color-gray-900);--range-track-color-disabled:var(--color-gray-600);--range-track-focus-color:var(--color-focus);display:flex;align-items:center}.k-range-input-native{--min:0;--max:100;--value:0;--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--position:calc( .5 * var(--range-thumb-size) + var(--ratio) * calc(100% - var(--range-thumb-size)) );-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--range-thumb-size);background:0 0;font-size:var(--text-sm);line-height:1}.k-range-input-native::-webkit-slider-thumb{-webkit-appearance:none;appearance:none}.k-range-input-native::-webkit-slider-runnable-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-moz-range-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-ms-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-webkit-slider-runnable-track{background:linear-gradient(var(--range-track-color),var(--range-track-color)) 0/var(--position) 100% no-repeat var(--range-track-background)}.k-range-input-native::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-color)}.k-range-input-native::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-color)}.k-range-input-native::-webkit-slider-thumb{margin-top:calc(.5*(var(--range-track-height) - var(--range-thumb-size)));box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer}.k-range-input-native::-moz-range-thumb{box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer}.k-range-input-native::-ms-thumb{box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer;margin-top:0}.k-range-input-native::-ms-tooltip{display:none}.k-range-input-native:focus{outline:0}.k-range-input-native:focus::-webkit-slider-runnable-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background);background:linear-gradient(var(--range-track-focus-color),var(--range-track-focus-color)) 0/var(--position) 100% no-repeat var(--range-track-background)}.k-range-input-native:focus::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-focus-color)}.k-range-input-native:focus::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-focus-color)}.k-range-input-native:focus::-webkit-slider-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}.k-range-input-native:focus::-moz-range-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}.k-range-input-native:focus::-ms-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}[dir=ltr] .k-range-input-tooltip{margin-left:1rem}[dir=rtl] .k-range-input-tooltip{margin-right:1rem}.k-range-input-tooltip{position:relative;max-width:20%;display:flex;align-items:center;color:var(--color-white);font-size:var(--text-xs);line-height:1;text-align:center;border-radius:var(--rounded-xs);background:var(--color-gray-900);padding:0 .25rem;white-space:nowrap}[dir=ltr] .k-range-input-tooltip:after{left:-5px}[dir=rtl] .k-range-input-tooltip:after{right:-5px}[dir=ltr] .k-range-input-tooltip:after{border-right:5px solid var(--color-gray-900)}[dir=rtl] .k-range-input-tooltip:after{border-left:5px solid var(--color-gray-900)}.k-range-input-tooltip:after{position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;content:""}.k-range-input-tooltip>*{padding:4px}[data-disabled] .k-range-input-native::-webkit-slider-runnable-track{background:linear-gradient(var(--range-track-color-disabled),var(--range-track-color-disabled)) 0/var(--position) 100% no-repeat var(--range-track-background)}[data-disabled] .k-range-input-native::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-color-disabled)}[data-disabled] .k-range-input-native::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-color-disabled)}[data-disabled] .k-range-input-native::-webkit-slider-thumb{border:var(--range-thumb-border-disabled)}[data-disabled] .k-range-input-native::-moz-range-thumb{border:var(--range-thumb-border-disabled)}[data-disabled] .k-range-input-native::-ms-thumb{border:var(--range-thumb-border-disabled)}[data-disabled] .k-range-input-tooltip{background:var(--color-gray-600)}[dir=ltr] [data-disabled] .k-range-input-tooltip:after{border-right:5px solid var(--color-gray-600)}[dir=rtl] [data-disabled] .k-range-input-tooltip:after{border-left:5px solid var(--color-gray-600)}.k-select-input{position:relative;display:block;cursor:pointer;overflow:hidden}.k-select-input-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;font:inherit;z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:var(--font-normal)}.k-select-input-native[disabled]{cursor:default}.k-tags-input{display:flex;flex-wrap:wrap}.k-tags-input .k-sortable-ghost{background:var(--color-focus)}.k-tags-input-element{flex-grow:1;flex-basis:0;min-width:0}.k-tags-input:focus-within .k-tags-input-element{flex-basis:4rem}.k-tags-input-element input{font:inherit;border:0;width:100%;background:0 0}.k-tags-input-element input:focus{outline:0}[dir=ltr] .k-tags-input[data-layout=list] .k-tag{margin-right:0!important}[dir=rtl] .k-tags-input[data-layout=list] .k-tag{margin-left:0!important}.k-tags-input[data-layout=list] .k-tag{width:100%}.k-textarea-input[data-size=small]{--size:7.5rem}.k-textarea-input[data-size=medium]{--size:15rem}.k-textarea-input[data-size=large]{--size:30rem}.k-textarea-input[data-size=huge]{--size:45rem}.k-textarea-input-wrapper{position:relative}.k-textarea-input-native{resize:none;border:0;width:100%;background:0 0;font:inherit;line-height:1.5em;color:inherit;min-height:var(--size)}.k-textarea-input-native::-moz-placeholder{color:var(--color-gray-500)}.k-textarea-input-native::placeholder{color:var(--color-gray-500)}.k-textarea-input-native:focus{outline:0}.k-textarea-input-native:invalid{box-shadow:none;outline:0}.k-textarea-input-native[data-font=monospace]{font-family:var(--font-mono)}.k-toolbar{margin-bottom:.25rem;color:#aaa}.k-textarea-input:focus-within .k-toolbar{position:sticky;top:0;left:0;right:0;z-index:1;box-shadow:#0000000d 0 2px 5px;border-bottom:1px solid rgba(0,0,0,.1);color:#000}.k-toggle-input{--toggle-background:var(--color-white);--toggle-color:var(--color-gray-500);--toggle-active-color:var(--color-gray-900);--toggle-focus-color:var(--color-focus);--toggle-height:16px;display:flex;align-items:center}.k-toggle-input-native{position:relative;height:var(--toggle-height);width:calc(var(--toggle-height)*2);border-radius:var(--toggle-height);border:2px solid var(--toggle-color);box-shadow:inset 0 0 0 2px var(--toggle-background),inset calc(var(--toggle-height)*-1) 0 0 2px var(--toggle-background);background-color:var(--toggle-color);outline:0;transition:all ease-in-out .1s;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex-shrink:0}.k-toggle-input-native:checked{border-color:var(--toggle-active-color);box-shadow:inset 0 0 0 2px var(--toggle-background),inset var(--toggle-height) 0 0 2px var(--toggle-background);background-color:var(--toggle-active-color)}.k-toggle-input-native[disabled]{border-color:var(--color-border);box-shadow:inset 0 0 0 2px var(--color-background),inset calc(var(--toggle-height)*-1) 0 0 2px var(--color-background);background-color:var(--color-border)}.k-toggle-input-native[disabled]:checked{box-shadow:inset 0 0 0 2px var(--color-background),inset var(--toggle-height) 0 0 2px var(--color-background)}.k-toggle-input-native:focus:checked{border:2px solid var(--color-focus);background-color:var(--toggle-focus-color)}.k-toggle-input-native::-ms-check{opacity:0}.k-toggle-input-label{cursor:pointer;flex-grow:1}.k-blocks-field{position:relative}.k-files-field[data-disabled] *{pointer-events:all!important}body{counter-reset:headline-counter}.k-headline-field{position:relative;padding-top:1.5rem}.k-fieldset>.k-grid .k-column:first-child .k-headline-field{padding-top:0}[dir=ltr] .k-headline-field .k-headline[data-numbered]:before{padding-right:.25rem}[dir=rtl] .k-headline-field .k-headline[data-numbered]:before{padding-left:.25rem}.k-headline-field .k-headline[data-numbered]:before{counter-increment:headline-counter;content:counter(headline-counter,decimal-leading-zero);color:var(--color-focus);font-weight:400}.k-info-field .k-headline{padding-bottom:.75rem;line-height:1.25rem}.k-layout-column{position:relative;height:100%;display:flex;flex-direction:column;background:var(--color-white);min-height:6rem}.k-layout-column:focus{outline:0}.k-layout-column .k-blocks{background:0 0;box-shadow:none;padding:0;height:100%;background:var(--color-white);min-height:4rem}.k-layout-column .k-blocks[data-empty=true]{min-height:6rem}.k-layout-column .k-blocks-list{display:flex;flex-direction:column;height:100%}.k-layout-column .k-blocks .k-block-container:last-of-type{flex-grow:1}.k-layout-column .k-blocks-empty{position:absolute;top:0;right:0;bottom:0;left:0;justify-content:center;opacity:0;transition:opacity .3s;border:0}.k-layout-column .k-blocks-empty:hover{opacity:1}[dir=ltr] .k-layout-column .k-blocks-empty.k-empty .k-icon{border-right:0}[dir=rtl] .k-layout-column .k-blocks-empty.k-empty .k-icon{border-left:0}.k-layout-column .k-blocks-empty.k-empty .k-icon{width:1rem}[dir=ltr] .k-layout{padding-right:var(--layout-toolbar-width)}[dir=rtl] .k-layout{padding-left:var(--layout-toolbar-width)}.k-layout{--layout-border-color:var(--color-gray-300);--layout-toolbar-width:2rem;position:relative;background:#fff;box-shadow:var(--shadow)}[dir=ltr] [data-disabled] .k-layout{padding-right:0}[dir=rtl] [data-disabled] .k-layout{padding-left:0}.k-layout:not(:last-of-type){margin-bottom:1px}.k-layout:focus{outline:0}[dir=ltr] .k-layout-toolbar{right:0}[dir=rtl] .k-layout-toolbar{left:0}[dir=ltr] .k-layout-toolbar{border-left:1px solid var(--color-light)}[dir=rtl] .k-layout-toolbar{border-right:1px solid var(--color-light)}.k-layout-toolbar{position:absolute;top:0;bottom:0;width:var(--layout-toolbar-width);display:flex;flex-direction:column;font-size:var(--text-sm);background:var(--color-gray-100);color:var(--color-gray-500)}.k-layout-toolbar:hover{color:var(--color-black)}.k-layout-toolbar-button{width:var(--layout-toolbar-width);height:var(--layout-toolbar-width)}.k-layout-toolbar .k-sort-handle{margin-top:auto;color:currentColor}.k-layout-columns.k-grid{grid-gap:1px;background:var(--layout-border-color);background:var(--color-gray-300)}.k-layout:not(:first-child) .k-layout-columns.k-grid{border-top:0}.k-layouts .k-sortable-ghost{position:relative;box-shadow:#11111140 0 5px 10px;outline:2px solid var(--color-focus);cursor:grabbing;cursor:-webkit-grabbing;z-index:1}.k-layout-selector.k-dialog{background:#313740;color:var(--color-white)}.k-layout-selector .k-headline{line-height:1;margin-top:-.25rem;margin-bottom:1.5rem}.k-layout-selector ul{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem}.k-layout-selector-option .k-grid{height:5rem;grid-gap:2px;box-shadow:var(--shadow);cursor:pointer}.k-layout-selector-option:hover{outline:2px solid var(--color-green-300);outline-offset:2px}.k-layout-selector-option:last-child{margin-bottom:0}.k-layout-selector-option .k-column{display:flex;background:rgba(255,255,255,.2);justify-content:center;font-size:var(--text-xs);align-items:center}.k-layout-add-button{display:flex;align-items:center;width:100%;color:var(--color-gray-500);justify-content:center;padding:.75rem 0}.k-layout-add-button:hover{color:var(--color-black)}.k-line-field{position:relative;border:0;height:3rem;width:auto}.k-line-field:after{position:absolute;content:"";top:50%;margin-top:-1px;left:0;right:0;height:1px;background:var(--color-border)}.k-list-field .k-list-input{padding:.375rem .5rem .375rem .75rem}.k-pages-field[data-disabled] *{pointer-events:all!important}.k-structure-field{--item-height:38px}.k-structure-table{position:relative;table-layout:fixed;width:100%;background:#fff;font-size:var(--text-sm);border-spacing:0;box-shadow:var(--shadow)}[dir=ltr] .k-structure-table td,[dir=ltr] .k-structure-table th{border-right:1px solid var(--color-background)}[dir=rtl] .k-structure-table td,[dir=rtl] .k-structure-table th{border-left:1px solid var(--color-background)}.k-structure-table td,.k-structure-table th{line-height:1.25em;overflow:hidden;text-overflow:ellipsis}.k-structure-table th,.k-structure-table tr:not(:last-child) td{border-bottom:1px solid var(--color-background)}.k-structure-table td:last-child{overflow:visible}[dir=ltr] .k-structure-table th{text-align:left}[dir=rtl] .k-structure-table th{text-align:right}.k-structure-table th{position:sticky;top:0;left:0;right:0;width:100%;height:var(--item-height);padding:0 .75rem;background:#fff;color:var(--color-gray-600);font-weight:400;z-index:1}[dir=ltr] .k-structure-table td:last-child,[dir=ltr] .k-structure-table th:last-child{border-right:0}[dir=rtl] .k-structure-table td:last-child,[dir=rtl] .k-structure-table th:last-child{border-left:0}.k-structure-table td:last-child,.k-structure-table th:last-child{width:var(--item-height)}.k-structure-table tbody tr:hover td{background:rgba(239,239,239,.25)}@media screen and (max-width:65em){.k-structure-table td,.k-structure-table th{display:none}.k-structure-table td:first-child,.k-structure-table td:last-child,.k-structure-table td:nth-child(2),.k-structure-table th:first-child,.k-structure-table th:last-child,.k-structure-table th:nth-child(2){display:table-cell}}.k-structure-table .k-structure-table-column[data-align]{text-align:var(--align)}.k-structure-table .k-structure-table-column[data-align=right]>.k-input{flex-direction:column;align-items:flex-end}.k-structure-table .k-sort-handle,.k-structure-table .k-structure-table-index,.k-structure-table .k-structure-table-options,.k-structure-table .k-structure-table-options-button{width:var(--item-height);height:var(--item-height)}.k-structure-table .k-structure-table-index{text-align:center}.k-structure-table .k-structure-table-index-number{font-size:var(--text-xs);color:var(--color-gray-500);padding-top:.15rem}.k-structure-table .k-sort-handle,.k-structure-table[data-sortable] tr:hover .k-structure-table-index-number{display:none}.k-structure-table[data-sortable] tr:hover .k-sort-handle{display:flex!important}.k-structure-table .k-structure-table-options{position:relative;text-align:center}.k-structure-table .k-structure-table-text{padding:0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-structure-table .k-sortable-ghost{background:var(--color-white);box-shadow:#11111140 0 5px 10px;outline:2px solid var(--color-focus);margin-bottom:2px;cursor:grabbing;cursor:-webkit-grabbing}[data-disabled] .k-structure-table{background:var(--color-background)}[dir=ltr] [data-disabled] .k-structure-table td,[dir=ltr] [data-disabled] .k-structure-table th{border-right:1px solid var(--color-border)}[dir=rtl] [data-disabled] .k-structure-table td,[dir=rtl] [data-disabled] .k-structure-table th{border-left:1px solid var(--color-border)}[data-disabled] .k-structure-table td,[data-disabled] .k-structure-table th{background:var(--color-background);border-bottom:1px solid var(--color-border)}[data-disabled] .k-structure-table td:last-child{overflow:hidden;text-overflow:ellipsis}.k-structure-table .k-sortable-row-fallback{opacity:0!important}.k-structure-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;height:100vh}.k-structure-form{position:relative;z-index:3;border-radius:var(--rounded-xs);margin-bottom:1px;box-shadow:#1111110d 0 0 0 3px;border:1px solid var(--color-border);background:var(--color-background)}.k-structure-form-fields{padding:1.5rem 1.5rem 2rem}.k-structure-form-buttons{border-top:1px solid var(--color-border);display:flex;justify-content:space-between}.k-structure-form-buttons .k-pagination{display:none}@media screen and (min-width:65em){.k-structure-form-buttons .k-pagination{display:flex}}.k-structure-form-buttons .k-pagination>.k-button,.k-structure-form-buttons .k-pagination>span{padding:.875rem 1rem!important}.k-structure-form-cancel-button,.k-structure-form-submit-button{padding:.875rem 1.5rem;line-height:1rem;display:flex}.k-field-counter{display:none}.k-text-field:focus-within .k-field-counter{display:block}.k-users-field[data-disabled] *{pointer-events:all!important}.k-writer-field-input{line-height:1.5em;padding:.375rem .5rem}.k-toolbar{background:var(--color-white);border-bottom:1px solid var(--color-background);height:38px}.k-toolbar-wrapper{position:absolute;top:0;left:0;right:0;max-width:100%}.k-toolbar-buttons{display:flex}.k-toolbar-divider{width:1px;background:var(--color-background)}.k-toolbar-button{width:36px;height:36px}.k-toolbar-button:hover{background:rgba(239,239,239,.5)}.k-date-field-preview{padding:0 .75rem}.k-url-field-preview{padding:0 .75rem;overflow:hidden;text-overflow:ellipsis}.k-url-field-preview a{color:var(--color-focus);text-decoration:underline;transition:color .3s;white-space:nowrap;max-width:100%}.k-url-field-preview a:hover{color:var(--color-black)}.k-files-field-preview{display:grid;grid-gap:.5rem;grid-template-columns:repeat(auto-fill,1.525rem);padding:0 .75rem}.k-files-field-preview li{line-height:0}.k-files-field-preview li .k-icon{--size:.85rem;height:100%}.k-list-field-preview{padding:.325rem .75rem;line-height:1.5em}[dir=ltr] .k-list-field-preview ol,[dir=ltr] .k-list-field-preview ul{margin-left:1rem}[dir=rtl] .k-list-field-preview ol,[dir=rtl] .k-list-field-preview ul{margin-right:1rem}.k-list-field-preview ul>li{list-style:disc}.k-list-field-preview ol ul>li,.k-list-field-preview ul ul>li{list-style:circle}.k-list-field-preview ol>li{list-style:decimal}.k-list-field-preview ol>li::marker{color:var(--color-gray-500);font-size:var(--text-xs)}.k-pages-field-preview{padding:0 .25rem 0 .75rem;display:flex}[dir=ltr] .k-pages-field-preview li{margin-right:.5rem}[dir=rtl] .k-pages-field-preview li{margin-left:.5rem}.k-pages-field-preview li{line-height:0}.k-pages-field-preview .k-link{display:flex;align-items:stretch;background:var(--color-background);box-shadow:var(--shadow)}.k-pages-field-preview-image{width:1.525rem;height:1.525rem}.k-pages-field-preview-image .k-icon{--size:.85rem}[dir=ltr] .k-pages-field-preview figcaption{border-left:0}[dir=rtl] .k-pages-field-preview figcaption{border-right:0}.k-pages-field-preview figcaption{flex-grow:1;line-height:1.5em;padding:0 .5rem;border:1px solid var(--color-border);border-radius:var(--rounded-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-time-field-preview{padding:0 .75rem}.k-toggle-field-preview label{padding:0 .25rem 0 .75rem;display:flex;height:38px;cursor:pointer;overflow:hidden;white-space:nowrap}[dir=ltr] .k-toggle-field-preview .k-toggle-input-label{padding-left:.5rem}[dir=ltr] [data-align=right] .k-toggle-field-preview .k-toggle-input-label,[dir=rtl] .k-toggle-field-preview .k-toggle-input-label{padding-right:.5rem}[dir=rtl] [data-align=right] .k-toggle-field-preview .k-toggle-input-label{padding-left:.5rem}[dir=ltr] .k-toggle-field-preview .k-toggle-input{padding-left:.75rem;padding-right:.25rem}.k-toggle-field-preview .k-toggle-input{padding-top:0;padding-bottom:0}[dir=ltr] [data-align=right] .k-toggle-field-preview .k-toggle-input,[dir=rtl] .k-toggle-field-preview .k-toggle-input{padding-left:.25rem;padding-right:.75rem}[dir=rtl] [data-align=right] .k-toggle-field-preview .k-toggle-input{padding-right:.25rem;padding-left:.75rem}[data-align=right] .k-toggle-field-preview .k-toggle-input{flex-direction:row-reverse}.k-users-field-preview{padding:0 .25rem 0 .75rem;display:flex}[dir=ltr] .k-users-field-preview li{margin-right:.5rem}[dir=rtl] .k-users-field-preview li{margin-left:.5rem}.k-users-field-preview li{line-height:0}.k-users-field-preview .k-link{display:flex;align-items:stretch;background:var(--color-background);box-shadow:var(--shadow)}.k-users-field-preview-avatar{width:1.525rem;height:1.525rem;color:var(--color-gray-500)!important}.k-users-field-preview-avatar.k-image{display:block}[dir=ltr] .k-users-field-preview figcaption{border-left:0}[dir=rtl] .k-users-field-preview figcaption{border-right:0}.k-users-field-preview figcaption{flex-grow:1;line-height:1.5em;padding-left:.5rem;padding-right:.5rem;border:1px solid var(--color-border);border-radius:var(--rounded-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-writer-field-preview{padding:.325rem .75rem;line-height:1.5em}.k-writer-field-preview p:not(:last-child){margin-bottom:1.5em}.k-aspect-ratio{position:relative;display:block;overflow:hidden;padding-bottom:100%}.k-aspect-ratio>*{position:absolute!important;top:0;right:0;bottom:0;left:0;height:100%;width:100%;-o-object-fit:contain;object-fit:contain}.k-aspect-ratio[data-cover]>*{-o-object-fit:cover;object-fit:cover}.k-bar{display:flex;align-items:center;justify-content:space-between;line-height:1}.k-bar-slot{flex-grow:1}.k-bar-slot[data-position=center]{text-align:center}[dir=ltr] .k-bar-slot[data-position=right]{text-align:right}[dir=rtl] .k-bar-slot[data-position=right]{text-align:left}.k-box{word-wrap:break-word;font-size:var(--text-sm)}[dir=ltr] .k-box:not([data-theme=none]){border-left:2px solid var(--color-gray-500)}[dir=rtl] .k-box:not([data-theme=none]){border-right:2px solid var(--color-gray-500)}.k-box:not([data-theme=none]){background:var(--color-gray-300);border-radius:var(--rounded-xs);line-height:1.25rem;padding:.5rem 1.5rem}.k-box[data-theme=code]{background:var(--color-gray-900);border:1px solid var(--color-black);color:var(--color-light);font-family:"Input","Menlo",monospace;font-size:var(--text-sm);line-height:1.5}.k-box[data-theme=button]{padding:0}[dir=ltr] .k-box[data-theme=button] .k-button{text-align:left}[dir=rtl] .k-box[data-theme=button] .k-button{text-align:right}.k-box[data-theme=button] .k-button{padding:0 .75rem;height:2.25rem;width:100%;display:flex;align-items:center;line-height:2rem}[dir=ltr] .k-box[data-theme=info],[dir=ltr] .k-box[data-theme=negative],[dir=ltr] .k-box[data-theme=notice],[dir=ltr] .k-box[data-theme=positive]{border-left-color:var(--theme-light)}[dir=rtl] .k-box[data-theme=info],[dir=rtl] .k-box[data-theme=negative],[dir=rtl] .k-box[data-theme=notice],[dir=rtl] .k-box[data-theme=positive]{border-right-color:var(--theme-light)}.k-box[data-theme=info],.k-box[data-theme=negative],.k-box[data-theme=notice],.k-box[data-theme=positive]{border:0;background:var(--theme-bg)}[dir=ltr] .k-box[data-theme=empty]{border-left:0}[dir=rtl] .k-box[data-theme=empty]{border-right:0}.k-box[data-theme=empty]{text-align:center;padding:3rem 1.5rem;display:flex;justify-content:center;align-items:center;flex-direction:column;background:var(--color-background);border:1px dashed var(--color-border)}.k-box[data-theme=empty] .k-icon{margin-bottom:.5rem;color:var(--color-gray-500)}.k-box[data-theme=empty],.k-box[data-theme=empty] p{color:var(--color-gray-600)}.k-collection-help{padding:.5rem .75rem}.k-collection-footer{display:flex;justify-content:space-between;margin-left:-.75rem;margin-right:-.75rem}.k-collection-pagination{line-height:1.25rem;flex-shrink:0;min-height:2.75rem}.k-collection-pagination .k-pagination .k-button{padding:.5rem .75rem;line-height:1.125rem}.k-column{min-width:0;grid-column-start:span 12}.k-column[data-sticky]>div{position:sticky;top:4vh;z-index:2}@media screen and (min-width:65em){.k-column[data-width="1/1"],.k-column[data-width="12/12"],.k-column[data-width="2/2"],.k-column[data-width="3/3"],.k-column[data-width="4/4"],.k-column[data-width="6/6"]{grid-column-start:span 12}.k-column[data-width="11/12"]{grid-column-start:span 11}.k-column[data-width="10/12"],.k-column[data-width="5/6"]{grid-column-start:span 10}.k-column[data-width="3/4"],.k-column[data-width="9/12"]{grid-column-start:span 9}.k-column[data-width="2/3"],.k-column[data-width="4/6"],.k-column[data-width="8/12"]{grid-column-start:span 8}.k-column[data-width="7/12"]{grid-column-start:span 7}.k-column[data-width="1/2"],.k-column[data-width="2/4"],.k-column[data-width="3/6"],.k-column[data-width="6/12"]{grid-column-start:span 6}.k-column[data-width="5/12"]{grid-column-start:span 5}.k-column[data-width="1/3"],.k-column[data-width="2/6"],.k-column[data-width="4/12"]{grid-column-start:span 4}.k-column[data-width="1/4"],.k-column[data-width="3/12"]{grid-column-start:span 3}.k-column[data-width="1/6"],.k-column[data-width="2/12"]{grid-column-start:span 2}.k-column[data-width="1/12"]{grid-column-start:span 1}}.k-column[data-disabled]{cursor:not-allowed;opacity:.4}.k-column[data-disabled] *{pointer-events:none}.k-column[data-disabled] .k-text[data-theme=help] *{pointer-events:initial}.k-dropzone{position:relative}.k-dropzone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:1}.k-dropzone[data-over]:after{display:block;outline:1px solid var(--color-focus);box-shadow:var(--color-focus-outline) 0 0 0 3px}.k-empty{display:flex;align-items:stretch;border-radius:var(--rounded-xs);color:var(--color-gray-600);border:1px dashed var(--color-border)}button.k-empty{width:100%}button.k-empty:focus{outline:0}.k-empty p{font-size:var(--text-sm);color:var(--color-gray-600)}.k-empty>.k-icon{color:var(--color-gray-500)}.k-empty[data-layout=cardlets],.k-empty[data-layout=cards]{text-align:center;padding:1.5rem;justify-content:center;flex-direction:column}.k-empty[data-layout=cardlets] .k-icon,.k-empty[data-layout=cards] .k-icon{margin-bottom:1rem}.k-empty[data-layout=cardlets] .k-icon svg,.k-empty[data-layout=cards] .k-icon svg{width:2rem;height:2rem}.k-empty[data-layout=list]{min-height:38px}[dir=ltr] .k-empty[data-layout=list]>.k-icon{border-right:1px solid rgba(0,0,0,.05)}[dir=rtl] .k-empty[data-layout=list]>.k-icon{border-left:1px solid rgba(0,0,0,.05)}.k-empty[data-layout=list]>.k-icon{width:36px;min-height:36px}.k-empty[data-layout=list]>p{line-height:1.25rem;padding:.5rem .75rem}.k-file-preview{background:var(--color-gray-800)}.k-file-preview-layout{display:grid;grid-template-columns:50% auto}.k-file-preview-layout>*{min-width:0}.k-file-preview-image{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-pattern)}.k-file-preview-image-link{display:block;width:100%;padding:min(4vw,3rem);outline:0}.k-file-preview-image-link[data-tabbed]{box-shadow:none;outline:2px solid var(--color-focus);outline-offset:-2px}.k-file-preview-details{padding:1.5rem;flex-grow:1}.k-file-preview-details ul{line-height:1.5em;max-width:50rem;display:grid;grid-gap:1.5rem 3rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.k-file-preview-details h3{font-size:var(--text-sm);font-weight:500;color:var(--color-gray-500)}.k-file-preview-details a,.k-file-preview-details p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffbf;font-size:var(--text-sm)}@media screen and (min-width:30em){.k-file-preview-details ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media screen and (max-width:65em){.k-file-preview-layout{padding:0!important}}@media screen and (min-width:65em){.k-file-preview-layout{grid-template-columns:33.333% auto;align-items:center}.k-file-preview-details{padding:3rem}}@media screen and (min-width:90em){.k-file-preview-layout{grid-template-columns:25% auto}}.k-grid{--columns:12;display:grid;grid-column-gap:0;grid-row-gap:0;grid-template-columns:1fr}@media screen and (min-width:30em){.k-grid[data-gutter=small]{grid-column-gap:1rem;grid-row-gap:1rem}.k-grid[data-gutter=huge],.k-grid[data-gutter=large],.k-grid[data-gutter=medium]{grid-column-gap:1.5rem;grid-row-gap:1.5rem}}@media screen and (min-width:65em){.k-grid{grid-template-columns:repeat(var(--columns),1fr)}.k-grid[data-gutter=large]{grid-column-gap:3rem}.k-grid[data-gutter=huge]{grid-column-gap:4.5rem}}@media screen and (min-width:90em){.k-grid[data-gutter=large]{grid-column-gap:4.5rem}.k-grid[data-gutter=huge]{grid-column-gap:6rem}}@media screen and (min-width:120em){.k-grid[data-gutter=large]{grid-column-gap:6rem}.k-grid[data-gutter=huge]{grid-column-gap:7.5rem}}.k-header{padding-top:4vh;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.k-header .k-headline{min-height:1.25em;margin-bottom:.5rem;word-wrap:break-word}.k-header .k-header-buttons{margin-top:-.5rem;height:3.25rem}.k-header .k-headline-editable{cursor:pointer}[dir=ltr] .k-header .k-headline-editable .k-icon{margin-left:.5rem}[dir=rtl] .k-header .k-headline-editable .k-icon{margin-right:.5rem}.k-header .k-headline-editable .k-icon{color:var(--color-gray-500);opacity:0;transition:opacity .3s;display:inline-block}.k-header .k-headline-editable:hover .k-icon{opacity:1}.k-panel-inside{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.k-panel-inside:focus{outline:0}.k-panel-header{z-index:var(--z-navigation);flex-shrink:0}.k-panel-view{flex-grow:1;padding-bottom:6rem}.k-item{position:relative;background:var(--color-white);border-radius:var(--rounded-sm);box-shadow:var(--shadow);display:grid;grid-template-columns:auto;line-height:1}.k-item a:focus,.k-item:focus{outline:0}.k-item:focus-within{box-shadow:var(--shadow-outline)}.k-item-sort-handle.k-sort-handle{position:absolute;opacity:0;width:1.25rem;height:1.5rem;z-index:2;border-radius:1px}.k-item:hover .k-item-sort-handle{opacity:1}.k-item-figure{grid-area:figure}.k-item-content{grid-area:content;overflow:hidden}.k-item-info,.k-item-title{font-size:var(--text-sm);font-weight:400;text-overflow:ellipsis;white-space:nowrap;line-height:1.125rem;overflow:hidden}.k-item-info{grid-area:info;color:var(--color-gray-500)}.k-item-title-link.k-link[data-tabbed]{box-shadow:none}.k-item-title-link:after{position:absolute;content:"";top:0;right:0;bottom:0;left:0;z-index:1}.k-item-footer{grid-area:footer;display:flex;justify-content:space-between;align-items:center;min-width:0}[dir=ltr] .k-item-label{margin-right:.5rem}[dir=rtl] .k-item-label{margin-left:.5rem}.k-item-buttons{position:relative;display:flex;justify-content:flex-end;flex-shrink:0;flex-grow:1}.k-item-buttons>.k-button,.k-item-buttons>.k-dropdown{position:relative;width:38px;height:38px;display:flex!important;align-items:center;justify-content:center;line-height:1}.k-item-buttons>.k-button{z-index:1}.k-item-buttons>.k-dropdown{z-index:var(--z-navigation)}.k-item-buttons>.k-dropdown-content{z-index:var(--z-dropdown)}.k-list-item{display:flex;align-items:center;height:38px}[dir=ltr] .k-list-item .k-item-sort-handle{left:-1.5rem}[dir=rtl] .k-list-item .k-item-sort-handle{right:-1.5rem}.k-list-item .k-item-sort-handle{width:1.5rem}[dir=ltr] .k-list-item .k-item-figure{border-top-left-radius:var(--rounded-sm)}[dir=rtl] .k-list-item .k-item-figure{border-top-right-radius:var(--rounded-sm)}[dir=ltr] .k-list-item .k-item-figure{border-bottom-left-radius:var(--rounded-sm)}[dir=rtl] .k-list-item .k-item-figure{border-bottom-right-radius:var(--rounded-sm)}.k-list-item .k-item-figure{width:38px}[dir=ltr] .k-list-item .k-item-content{margin-left:.75rem}[dir=rtl] .k-list-item .k-item-content{margin-right:.75rem}.k-list-item .k-item-content{display:flex;flex-grow:1;flex-shrink:2;justify-content:space-between;align-items:center}.k-list-item .k-item-info,.k-list-item .k-item-title{flex-grow:1;line-height:1.5rem}[dir=ltr] .k-list-item .k-item-title{margin-right:.5rem}[dir=rtl] .k-list-item .k-item-title{margin-left:.5rem}.k-list-item .k-item-title{flex-shrink:1}[dir=ltr] .k-list-item .k-item-info{text-align:right}[dir=rtl] .k-list-item .k-item-info{text-align:left}[dir=ltr] .k-list-item .k-item-info{margin-right:.5rem}[dir=rtl] .k-list-item .k-item-info{margin-left:.5rem}.k-list-item .k-item-info{flex-shrink:2;justify-self:end}.k-list-item .k-item-buttons,.k-list-item .k-item-footer{flex-shrink:0}.k-item:not(.k-list-item) .k-item-sort-handle{margin:.25rem;background:var(--color-background);box-shadow:var(--shadow-md)}[dir=ltr] .k-item:not(.k-list-item) .k-item-label{margin-left:-2px}[dir=rtl] .k-item:not(.k-list-item) .k-item-label{margin-right:-2px}.k-item:not(.k-list-item) .k-item-content{padding:.625rem .75rem}.k-cardlets-item{height:6rem;grid-template-rows:auto 38px;grid-template-areas:"content" "footer"}.k-cardlets-item[data-has-figure]{grid-template-columns:6rem auto;grid-template-areas:"figure content" "figure footer"}[dir=ltr] .k-cardlets-item .k-item-figure{border-top-left-radius:var(--rounded-sm)}[dir=rtl] .k-cardlets-item .k-item-figure{border-top-right-radius:var(--rounded-sm)}[dir=ltr] .k-cardlets-item .k-item-figure{border-bottom-left-radius:var(--rounded-sm)}[dir=rtl] .k-cardlets-item .k-item-figure{border-bottom-right-radius:var(--rounded-sm)}.k-cardlets-item .k-item-footer{padding-top:.5rem;padding-bottom:.5rem}.k-cards-item{grid-template-columns:auto;grid-template-rows:auto 1fr;grid-template-areas:"figure" "content";--item-content-wrapper:0}[dir=ltr] .k-cards-item .k-item-figure,[dir=rtl] .k-cards-item .k-item-figure{border-top-right-radius:var(--rounded-sm);border-top-left-radius:var(--rounded-sm)}.k-cards-item .k-item-content{padding:.5rem .75rem!important;overflow:hidden}.k-cards-item .k-item-info,.k-cards-item .k-item-title{line-height:1.375rem;white-space:normal}.k-cards-item .k-item-info:after,.k-cards-item .k-item-title:after{display:inline-block;content:"\a0";width:var(--item-content-wrapper)}.k-cards-item[data-has-flag],.k-cards-item[data-has-options]{--item-content-wrapper:38px}.k-cards-item[data-has-flag][data-has-options]{--item-content-wrapper:76px}.k-cards-item[data-has-info] .k-item-title:after{display:none}[dir=ltr] .k-cards-item .k-item-footer{right:0}[dir=rtl] .k-cards-item .k-item-footer{left:0}.k-cards-item .k-item-footer{position:absolute;bottom:0;width:auto}.k-item-figure{overflow:hidden;flex-shrink:0}.k-cards-items{--min:13rem;--max:1fr;--gap:1.5rem;--column-gap:var(--gap);--row-gap:var(--gap);display:grid;grid-column-gap:var(--column-gap);grid-row-gap:var(--row-gap);grid-template-columns:repeat(auto-fill,minmax(var(--min),var(--max)))}@media screen and (min-width:30em){.k-cards-items[data-size=tiny]{--min:10rem}.k-cards-items[data-size=small]{--min:16rem}.k-cards-items[data-size=medium]{--min:24rem}.k-cards-items[data-size=huge],.k-cards-items[data-size=large],.k-column[data-width="1/4"] .k-cards-items,.k-column[data-width="1/5"] .k-cards-items,.k-column[data-width="1/6"] .k-cards-items{--min:1fr}}@media screen and (min-width:65em){.k-cards-items[data-size=large]{--min:32rem}}.k-cardlets-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:.5rem}.k-list-items .k-list-item:not(:last-child){margin-bottom:2px}.k-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:var(--z-dialog);transform:translate(0)}.k-overlay[data-centered]{display:flex;align-items:center;justify-content:center}.k-overlay[data-dimmed]{background:var(--color-backdrop)}.k-overlay-loader{color:var(--color-white)}.k-panel[data-loading]{animation:LoadingCursor .5s}.k-panel[data-dragging],.k-panel[data-loading]:after{-webkit-user-select:none;-moz-user-select:none;user-select:none}.k-tabs{position:relative;background:#e9e9e9;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.k-tabs nav{display:flex;justify-content:center;margin-left:-1px;margin-right:-1px}[dir=ltr] .k-tab-button.k-button{border-left:1px solid transparent}[dir=rtl] .k-tab-button.k-button{border-right:1px solid transparent}[dir=ltr] .k-tab-button.k-button{border-right:1px solid var(--color-border)}[dir=rtl] .k-tab-button.k-button{border-left:1px solid var(--color-border)}.k-tab-button.k-button{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;padding:.625rem .75rem;font-size:var(--text-xs);text-transform:uppercase;text-align:center;font-weight:500;flex-grow:1;flex-shrink:1;flex-direction:column;max-width:15rem}@media screen and (min-width:30em){.k-tab-button.k-button{flex-direction:row}[dir=ltr] .k-tab-button.k-button .k-icon{margin-right:.5rem}[dir=rtl] .k-tab-button.k-button .k-icon{margin-left:.5rem}}[dir=ltr] .k-tab-button.k-button>.k-button-text{padding-left:0}[dir=rtl] .k-tab-button.k-button>.k-button-text{padding-right:0}.k-tab-button.k-button>.k-button-text{padding-top:.375rem;font-size:10px;overflow:hidden;max-width:10rem;text-overflow:ellipsis;opacity:1}@media screen and (min-width:30em){.k-tab-button.k-button>.k-button-text{font-size:var(--text-xs);padding-top:0}}[dir=ltr] .k-tab-button:last-child{border-right:1px solid transparent}[dir=rtl] .k-tab-button:last-child{border-left:1px solid transparent}[dir=ltr] .k-tab-button[aria-current]{border-right:1px solid var(--color-border)}[dir=rtl] .k-tab-button[aria-current]{border-left:1px solid var(--color-border)}.k-tab-button[aria-current]{position:relative;background:var(--color-background);pointer-events:none}[dir=ltr] .k-tab-button[aria-current]:first-child{border-left:1px solid var(--color-border)}[dir=rtl] .k-tab-button[aria-current]:first-child{border-right:1px solid var(--color-border)}.k-tab-button[aria-current]:after,.k-tab-button[aria-current]:before{position:absolute;content:""}.k-tab-button[aria-current]:before{left:-1px;right:-1px;top:-1px;height:2px;background:var(--color-black)}.k-tab-button[aria-current]:after{left:0;right:0;bottom:-1px;height:1px;background:var(--color-background)}[dir=ltr] .k-tabs-dropdown{right:0}[dir=rtl] .k-tabs-dropdown{left:0}.k-tabs-dropdown{top:100%}[dir=ltr] .k-tabs-badge{right:2px}[dir=rtl] .k-tabs-badge{left:2px}.k-tabs-badge{position:absolute;top:3px;font-variant-numeric:tabular-nums;line-height:1.5;padding:0 .25rem;border-radius:2px;font-size:10px;box-shadow:var(--shadow-md)}.k-tabs[data-theme=notice] .k-tabs-badge{background:var(--theme-light);color:var(--color-black)}.k-view{padding-left:1.5rem;padding-right:1.5rem;margin:0 auto;max-width:100rem}@media screen and (min-width:30em){.k-view{padding-left:3rem;padding-right:3rem}}@media screen and (min-width:90em){.k-view{padding-left:6rem;padding-right:6rem}}.k-view[data-align=center]{height:100vh;display:flex;align-items:center;justify-content:center;padding:0 3rem;overflow:auto}.k-view[data-align=center]>*{flex-basis:22.5rem}.k-fatal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;z-index:var(--z-fatal);align-items:center;justify-content:center;padding:1.5rem}.k-fatal-box{width:100%;height:100%;display:flex;flex-direction:column;color:var(--color-black);background:var(--color-red-400);box-shadow:var(--shadow-xl);border-radius:var(--rounded)}.k-fatal-box .k-headline{line-height:1;font-size:var(--text-sm);padding:.75rem}.k-fatal-box .k-button{padding:.75rem}.k-fatal-iframe{border:0;width:100%;flex-grow:1;background:var(--color-white)}.k-headline{--size:var(--text-base);font-size:var(--size);font-weight:var(--font-bold);line-height:1.5em}.k-headline[data-size=small]{--size:var(--text-sm)}.k-headline[data-size=large]{--size:var(--text-xl);font-weight:var(--font-normal)}@media screen and (min-width:65em){.k-headline[data-size=large]{--size:var(--text-2xl)}}.k-headline[data-size=huge]{--size:var(--text-2xl);line-height:1.15em}@media screen and (min-width:65em){.k-headline[data-size=huge]{--size:var(--text-3xl)}}.k-headline[data-theme]{color:var(--theme)}[dir=ltr] .k-headline abbr{padding-left:.25rem}[dir=rtl] .k-headline abbr{padding-right:.25rem}.k-headline abbr{color:var(--color-gray-500);text-decoration:none}.k-icon{--size:1rem;position:relative;line-height:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--size)}.k-icon[data-size=medium]{--size:2rem}.k-icon[data-size=large]{--size:3rem}.k-icon svg{width:var(--size);height:var(--size);-moz-transform:scale(1)}.k-icon svg *{fill:currentColor}.k-icon[data-back=black]{color:var(--color-white)}.k-icon[data-back=white]{color:var(--color-gray-900)}.k-icon[data-back=pattern]{color:var(--color-white)}[data-disabled] .k-icon[data-back=pattern] svg{opacity:1}.k-icon-emoji{display:block;line-height:1;font-style:normal;font-size:var(--size)}@media only screen and (-webkit-min-device-pixel-ratio:2),not all,only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.k-icon-emoji{font-size:1.25em}}.k-icons{position:absolute;width:0;height:0}.k-image span{position:relative;display:block;line-height:0;padding-bottom:100%}.k-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}[dir=ltr] .k-image-error{left:50%}[dir=rtl] .k-image-error{right:50%}.k-image-error{position:absolute;top:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:.9em}.k-image-error svg *{fill:#ffffff4d}.k-image[data-cover] img{-o-object-fit:cover;object-fit:cover}.k-image[data-back=black] span{background:var(--color-gray-900)}.k-image[data-back=white] span{background:var(--color-white);color:var(--color-gray-900)}.k-image[data-back=white] .k-image-error{background:var(--color-gray-900);color:var(--color-white)}.k-image[data-back=pattern] span{background:var(--color-gray-800) var(--bg-pattern)}.k-loader{z-index:1}.k-loader-icon{animation:Spin .9s linear infinite}.k-offline-warning{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-offline);background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;line-height:1}.k-offline-warning p{display:flex;align-items:center;gap:.5rem;background:var(--color-white);box-shadow:var(--shadow);padding:.75rem;border-radius:var(--rounded)}.k-offline-warning p .k-icon{color:var(--color-red-400)}.k-progress{-webkit-appearance:none;width:100%;height:.5rem;border-radius:5rem;background:var(--color-border);overflow:hidden;border:0}.k-progress::-webkit-progress-bar{border:0;background:var(--color-border);height:.5rem;border-radius:20px}.k-progress::-webkit-progress-value{border-radius:inherit;background:var(--color-focus);-webkit-transition:width .3s;transition:width .3s}.k-progress::-moz-progress-bar{border-radius:inherit;background:var(--color-focus);-moz-transition:width .3s;transition:width .3s}[dir=ltr] .k-registration,[dir=ltr] .k-registration p{margin-right:1rem}[dir=rtl] .k-registration,[dir=rtl] .k-registration p{margin-left:1rem}.k-registration{display:flex;align-items:center}.k-registration p{color:var(--color-negative-light);font-size:var(--text-sm);font-weight:600}@media screen and (max-width:90em){.k-registration p{display:none}}.k-registration .k-button{color:var(--color-white)}.k-sort-handle{cursor:move;cursor:grab;cursor:-webkit-grab;color:var(--color-gray-900);justify-content:center;align-items:center;line-height:0;width:2rem;height:2rem;display:flex;will-change:opacity,color;transition:opacity .3s;z-index:1}.k-sort-handle svg{width:1rem;height:1rem}.k-sort-handle:active{cursor:grabbing;cursor:-webkit-grabbing}.k-status-icon svg{width:14px;height:14px}.k-status-icon .k-icon{color:var(--theme-light)}.k-status-icon .k-button-text{color:var(--color-black)}.k-status-icon[data-disabled]{opacity:1!important}.k-status-icon[data-disabled] .k-icon{color:var(--color-gray-400);opacity:.5}.k-text{line-height:1.5em}[dir=ltr] .k-text ol,[dir=ltr] .k-text ul{margin-left:1rem}[dir=rtl] .k-text ol,[dir=rtl] .k-text ul{margin-right:1rem}.k-text li{list-style:inherit}.k-text p,.k-text>ol,.k-text>ul{margin-bottom:1.5em}.k-text a{text-decoration:underline}.k-text>:last-child{margin-bottom:0}.k-text[data-size=tiny]{font-size:var(--text-xs)}.k-text[data-size=small]{font-size:var(--text-sm)}.k-text[data-size=medium]{font-size:var(--text-base)}.k-text[data-size=large]{font-size:var(--text-xl)}.k-text[data-align]{text-align:var(--align)}.k-text[data-theme=help]{font-size:var(--text-sm);color:var(--color-gray-600);line-height:1.25rem}.k-dialog-body .k-text{word-wrap:break-word}.k-user-info{display:flex;align-items:center;line-height:1;font-size:var(--text-sm)}[dir=ltr] .k-user-info .k-image{margin-right:.75rem}[dir=rtl] .k-user-info .k-image{margin-left:.75rem}.k-user-info .k-image{width:1.5rem}[dir=ltr] .k-user-info .k-icon{margin-right:.75rem}[dir=rtl] .k-user-info .k-icon{margin-left:.75rem}.k-user-info .k-icon{width:1.5rem;height:1.5rem;background:var(--color-black);color:var(--color-white)}.k-breadcrumb{padding-left:.5rem;padding-right:.5rem}.k-breadcrumb-dropdown{height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center}.k-breadcrumb ol{display:none;align-items:center}@media screen and (min-width:30em){.k-breadcrumb ol{display:flex}.k-breadcrumb-dropdown{display:none}}.k-breadcrumb li,.k-breadcrumb-link{display:flex;align-items:center;min-width:0}.k-breadcrumb-link{font-size:var(--text-sm);align-self:stretch;padding-top:.625rem;padding-bottom:.625rem;line-height:1.25rem}.k-breadcrumb li{flex-shrink:3}.k-breadcrumb li:last-child{flex-shrink:1}.k-breadcrumb li:not(:last-child):after{content:"/";padding-left:.5rem;padding-right:.5rem;opacity:.5;flex-shrink:0}.k-breadcrumb li:not(:first-child):not(:last-child){max-width:15vw}[dir=ltr] .k-breadcrumb-icon{margin-right:.5rem}[dir=rtl] .k-breadcrumb-icon{margin-left:.5rem}.k-breadcrumb-link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button{line-height:inherit;border:0;font-family:var(--font-sans);font-size:1rem;color:currentColor;background:0 0;cursor:pointer}button::-moz-focus-inner{padding:0;border:0}.k-button{display:inline-block;position:relative;font-size:var(--text-sm);transition:color .3s;outline:0}.k-button:focus,.k-button:hover{outline:0}.k-button *{vertical-align:middle}.k-button[data-responsive] .k-button-text{display:none}@media screen and (min-width:30em){.k-button[data-responsive] .k-button-text{display:inline}}.k-button[data-theme]{color:var(--theme)}.k-button-icon{display:inline-flex;align-items:center;line-height:0}[dir=ltr] .k-button-icon~.k-button-text{padding-left:.5rem}[dir=rtl] .k-button-icon~.k-button-text{padding-right:.5rem}.k-button-text{opacity:.75}.k-button:focus .k-button-text,.k-button:hover .k-button-text{opacity:1}.k-button-text b,.k-button-text span{vertical-align:baseline}.k-button[data-disabled]{opacity:.5;pointer-events:none;cursor:default}.k-card-options>.k-button[data-disabled]{display:inline-flex}.k-button-group{--padding-x:.75rem;--padding-y:1rem;--line-height:1rem;font-size:0;margin:0 calc(var(--padding-x)*-1)}.k-button-group>.k-dropdown{height:calc(var(--line-height) + (var(--padding-y)*2));display:inline-block}.k-button-group>.k-button,.k-button-group>.k-dropdown>.k-button{padding:var(--padding-y) var(--padding-x);line-height:var(--line-height)}.k-button-group .k-dropdown-content{top:calc(100% + 1px);margin:0 var(--padding-x)}.k-dropdown{position:relative}[dir=ltr] .k-dropdown-content{text-align:left}[dir=rtl] .k-dropdown-content{text-align:right}.k-dropdown-content{position:absolute;top:100%;background:var(--color-black);color:var(--color-white);z-index:var(--z-dropdown);box-shadow:var(--shadow-lg);border-radius:var(--rounded-xs);margin-bottom:6rem}[dir=ltr] .k-dropdown-content[data-align=left]{left:0}[dir=ltr] .k-dropdown-content[data-align=right],[dir=rtl] .k-dropdown-content[data-align=left]{right:0}[dir=rtl] .k-dropdown-content[data-align=right]{left:0}.k-dropdown-content>.k-dropdown-item:first-child{margin-top:.5rem}.k-dropdown-content>.k-dropdown-item:last-child{margin-bottom:.5rem}.k-dropdown-content[data-dropup]{top:auto;bottom:100%;margin-bottom:.5rem}.k-dropdown-content hr{border-color:currentColor;opacity:.2;margin:.5rem 1rem}.k-dropdown-content[data-theme=light]{background:var(--color-white);color:var(--color-black)}.k-dropdown-item{white-space:nowrap;line-height:1;display:flex;width:100%;align-items:center;font-size:var(--text-sm);padding:6px 16px}.k-dropdown-item:focus{outline:0;box-shadow:var(--shadow-outline)}[dir=ltr] .k-dropdown-item .k-button-figure{padding-right:.5rem}[dir=rtl] .k-dropdown-item .k-button-figure{padding-left:.5rem}.k-dropdown-item .k-button-figure{text-align:center}.k-link{outline:0}.k-options-dropdown,.k-options-dropdown-toggle{display:flex;justify-content:center;align-items:center;height:38px}.k-options-dropdown-toggle{min-width:38px;padding:0 .75rem}.k-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;direction:ltr}.k-pagination .k-button{padding:1rem}.k-pagination-details{white-space:nowrap}.k-pagination>span{font-size:var(--text-sm)}.k-pagination[data-align]{text-align:var(--align)}[dir=ltr] .k-dropdown-content.k-pagination-selector{left:50%}[dir=rtl] .k-dropdown-content.k-pagination-selector{right:50%}.k-dropdown-content.k-pagination-selector{position:absolute;top:100%;transform:translate(-50%);background:var(--color-black)}[dir=ltr] .k-dropdown-content.k-pagination-selector{direction:ltr}[dir=rtl] .k-dropdown-content.k-pagination-selector{direction:rtl}.k-pagination-settings{display:flex;align-items:center;justify-content:space-between}.k-pagination-settings .k-button{line-height:1}[dir=ltr] .k-pagination-settings label{border-right:1px solid rgba(255,255,255,.35)}[dir=rtl] .k-pagination-settings label{border-left:1px solid rgba(255,255,255,.35)}.k-pagination-settings label{display:flex;align-items:center;padding:.625rem 1rem;font-size:var(--text-xs)}[dir=ltr] .k-pagination-settings label span{margin-right:.5rem}[dir=rtl] .k-pagination-settings label span{margin-left:.5rem}.k-prev-next{direction:ltr}.k-search{max-width:30rem;margin:2.5rem auto;box-shadow:var(--shadow-lg)}.k-search-input{background:var(--color-light);display:flex}.k-search-types{flex-shrink:0;display:flex}[dir=ltr] .k-search-types>.k-button{padding-left:1rem}[dir=rtl] .k-search-types>.k-button{padding-right:1rem}.k-search-types>.k-button{font-size:var(--text-base);line-height:1;height:2.5rem}.k-search-types>.k-button .k-icon{height:2.5rem}.k-search-types>.k-button .k-button-text{opacity:1;font-weight:500}.k-search-input input{background:0 0;flex-grow:1;font:inherit;padding:.75rem;border:0;height:2.5rem}.k-search-close{width:3rem;line-height:1}.k-search-close .k-icon-loader{animation:Spin 2s linear infinite}.k-search input:focus{outline:0}.k-search-results{padding:.5rem 1rem 1rem;background:var(--color-light)}.k-search .k-item:not(:last-child){margin-bottom:.25rem}.k-search .k-item[data-selected]{outline:2px solid var(--color-focus)}.k-search .k-item-info,.k-search-empty{font-size:var(--text-xs)}.k-search-empty{text-align:center;color:var(--color-gray-600)}.k-tag{position:relative;font-size:var(--text-sm);line-height:1;cursor:pointer;background-color:var(--color-gray-900);color:var(--color-light);border-radius:var(--rounded-sm);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none}.k-tag:focus{outline:0;background-color:var(--color-focus);color:#fff}.k-tag-text{padding:.3rem .75rem .375rem;line-height:var(--leading-tight)}[dir=ltr] .k-tag-toggle{border-left:1px solid rgba(255,255,255,.15)}[dir=rtl] .k-tag-toggle{border-right:1px solid rgba(255,255,255,.15)}.k-tag-toggle{color:#ffffffb3;width:1.75rem;height:100%;display:flex;flex-shrink:0;align-items:center;justify-content:center}.k-tag-toggle:hover{background:rgba(255,255,255,.2);color:#fff}[data-disabled] .k-tag{background-color:var(--color-gray-600)}[data-disabled] .k-tag .k-tag-toggle{display:none}.k-topbar{--bg:var(--color-gray-900);position:relative;color:var(--color-white);flex-shrink:0;height:2.5rem;line-height:1;background:var(--bg)}.k-topbar-wrapper{position:relative;display:flex;align-items:center;margin-left:-.75rem;margin-right:-.75rem}[dir=ltr] .k-topbar-wrapper:after{left:100%}[dir=rtl] .k-topbar-wrapper:after{right:100%}.k-topbar-wrapper:after{position:absolute;content:"";height:2.5rem;background:var(--bg);width:3rem}.k-topbar-menu{flex-shrink:0}.k-topbar-menu ul{padding:.5rem 0}.k-topbar .k-button[data-theme]{color:var(--theme-light)}.k-topbar .k-button-text{opacity:1}.k-topbar-menu-button{display:flex;align-items:center}.k-topbar-menu .k-link[aria-current]{color:var(--color-focus);font-weight:500}.k-topbar-button{padding:.75rem;line-height:1;font-size:var(--text-sm)}.k-topbar-button .k-button-text{display:flex}[dir=ltr] .k-topbar-view-button{padding-right:0}[dir=rtl] .k-topbar-view-button{padding-left:0}.k-topbar-view-button{flex-shrink:0;display:flex;align-items:center}[dir=ltr] .k-topbar-view-button .k-icon{margin-right:.5rem}[dir=rtl] .k-topbar-view-button .k-icon{margin-left:.5rem}[dir=ltr] .k-topbar-signals{right:0}[dir=rtl] .k-topbar-signals{left:0}.k-topbar-signals{position:absolute;top:0;background:var(--bg);height:2.5rem;display:flex;align-items:center}.k-topbar-signals:before{position:absolute;content:"";top:-.5rem;bottom:0;width:.5rem;background:-webkit-linear-gradient(inline-start,rgba(17,17,17,0),#111)}.k-topbar-signals .k-button{line-height:1}.k-topbar-notification{font-weight:var(--font-bold);line-height:1;display:flex}@media screen and (max-width:30em){.k-topbar .k-button[data-theme=negative] .k-button-text{display:none}}.k-section,.k-sections{padding-bottom:3rem}.k-section-header{position:relative;display:flex;align-items:baseline;z-index:1}.k-section-header .k-headline{line-height:1.25rem;padding-bottom:.75rem;min-height:2rem}[dir=ltr] .k-section-header .k-button-group{right:0}[dir=rtl] .k-section-header .k-button-group{left:0}.k-section-header .k-button-group{position:absolute;top:-.875rem}.k-info-section-headline{margin-bottom:.5rem}.k-pages-section[data-processing]{pointer-events:none}.k-files-section[data-processing]{pointer-events:none}.k-fields-issue-headline{margin-bottom:.5rem}.k-fields-section input[type=submit]{display:none}[data-locked] .k-fields-section{opacity:.2;pointer-events:none}.k-user-profile{background:var(--color-white)}.k-user-profile>.k-view{padding-top:3rem;padding-bottom:3rem;display:flex;align-items:center;line-height:0}[dir=ltr] .k-user-profile .k-button-group{margin-left:.75rem}[dir=rtl] .k-user-profile .k-button-group{margin-right:.75rem}.k-user-profile .k-button-group{overflow:hidden}.k-user-profile .k-button-group .k-button{display:block;padding-top:.25rem;padding-bottom:.25rem;overflow:hidden;white-space:nowrap}.k-user-view-image .k-icon,.k-user-view-image .k-image{width:5rem;height:5rem;line-height:0}.k-user-view-image[data-disabled]{opacity:1}.k-user-view-image .k-image{display:block}.k-user-view-image .k-button-text{opacity:1}.k-user-name-placeholder{color:var(--color-gray-500);transition:color .3s}.k-header[data-editable] .k-user-name-placeholder:hover{color:var(--color-gray-900)}.k-error-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.k-error-view-content{line-height:1.5em;max-width:25rem;text-align:center}.k-error-view-icon{color:var(--color-negative);display:inline-block}.k-error-view-content p:not(:last-child){margin-bottom:.75rem}.k-installation-view .k-button{display:block;margin-top:1.5rem}.k-installation-view .k-headline{margin-bottom:.75rem}.k-installation-issues{line-height:1.5em;font-size:var(--text-sm)}[dir=ltr] .k-installation-issues li{padding-left:3.5rem}[dir=rtl] .k-installation-issues li{padding-right:3.5rem}.k-installation-issues li{position:relative;padding:1.5rem;background:var(--color-white)}[dir=ltr] .k-installation-issues .k-icon{left:1.5rem}[dir=rtl] .k-installation-issues .k-icon{right:1.5rem}.k-installation-issues .k-icon{position:absolute;top:calc(1.5rem + 2px)}.k-installation-issues .k-icon svg *{fill:var(--color-negative)}.k-installation-issues li:not(:last-child){margin-bottom:2px}.k-installation-issues li code{font:inherit;color:var(--color-negative)}[dir=ltr] .k-installation-view .k-button[type=submit]{margin-left:-1rem}[dir=rtl] .k-installation-view .k-button[type=submit]{margin-right:-1rem}.k-installation-view .k-button[type=submit]{padding:1rem}.k-languages-view .k-header{margin-bottom:1.5rem}.k-languages-view-section-header{margin-bottom:.5rem}.k-languages-view-section{margin-bottom:3rem}.k-login-fields{position:relative}[dir=ltr] .k-login-toggler{right:0}[dir=rtl] .k-login-toggler{left:0}.k-login-toggler{position:absolute;top:0;z-index:1;text-decoration:underline;font-size:.875rem}.k-login-form label abbr{visibility:hidden}.k-login-buttons{display:flex;align-items:center;justify-content:flex-end;padding:1.5rem 0}[dir=ltr] .k-login-button{margin-right:-1rem}[dir=rtl] .k-login-button{margin-left:-1rem}.k-login-button{padding:.5rem 1rem;font-weight:500;transition:opacity .3s}.k-login-button span{opacity:1}.k-login-button[disabled]{opacity:.25}.k-login-back-button,.k-login-checkbox{display:flex;align-items:center;flex-grow:1}[dir=ltr] .k-login-back-button{margin-left:-1rem}[dir=rtl] .k-login-back-button{margin-right:-1rem}.k-login-checkbox{padding:.5rem 0;font-size:var(--text-sm);cursor:pointer}.k-login-checkbox .k-checkbox-text{opacity:.75;transition:opacity .3s}.k-login-checkbox:focus span,.k-login-checkbox:hover span{opacity:1}.k-password-reset-view .k-user-info{height:38px;margin-bottom:2.25rem;padding:.5rem;background:var(--color-white);border-radius:var(--rounded-xs);box-shadow:var(--shadow)}.k-system-view .k-header{margin-bottom:1.5rem}.k-system-view-section-header{margin-bottom:.5rem}.k-system-view-section{margin-bottom:3rem}.k-system-info-box{display:grid;grid-gap:1px;font-size:var(--text-sm)}@media screen and (min-width:45rem){.k-system-info-box{grid-template-columns:repeat(var(--columns),1fr)}}.k-system-info-box li,.k-system-plugins td,.k-system-plugins th{padding:.75rem;background:var(--color-white)}.k-system-info-box dt{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:.25rem}.k-system-warning{color:var(--color-negative);font-weight:var(--font-bold);display:inline-flex}.k-system-warning .k-button-text{opacity:1}.k-system-plugins{width:100%;font-variant-numeric:tabular-nums;table-layout:fixed;border-spacing:1px}.k-system-plugins td,.k-system-plugins th{text-align:left;font-weight:var(--font-normal);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-system-plugins .desk{display:none}@media screen and (min-width:45rem){.k-system-plugins .desk{display:table-cell}}.k-system-plugins th{color:var(--color-gray-600)}.k-block-type-code-editor{position:relative;font-size:var(--text-sm);line-height:1.5em;background:#000;border-radius:var(--rounded);padding:.5rem .75rem 3rem;color:#fff;font-family:var(--font-mono)}.k-block-type-code-editor .k-editor{white-space:pre-wrap;line-height:1.75em}[dir=ltr] .k-block-type-code-editor-language{right:0}[dir=ltr] .k-block-type-code-editor-language .k-icon,[dir=rtl] .k-block-type-code-editor-language{left:0}.k-block-type-code-editor-language{font-size:var(--text-sm);position:absolute;bottom:0}[dir=rtl] .k-block-type-code-editor-language .k-icon{right:0}.k-block-type-code-editor-language .k-icon{position:absolute;top:0;height:1.5rem;display:flex;width:2rem;z-index:0}.k-block-type-code-editor-language .k-select-input{position:relative;padding:.325rem .75rem .5rem 2rem;z-index:1;font-size:var(--text-xs)}.k-block-type-default .k-block-title{line-height:1.5em}.k-block-type-gallery ul{display:grid;grid-gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));line-height:0;align-items:center;justify-content:center;cursor:pointer}.k-block-type-gallery li:empty{padding-bottom:100%;background:var(--color-background)}.k-block-type-gallery li{display:flex;position:relative;align-items:center;justify-content:center}.k-block-type-gallery li img{flex-grow:1;max-width:100%}.k-block-type-heading-input{line-height:1.25em;font-weight:var(--font-bold)}.k-block-type-heading-input[data-level=h1]{font-size:var(--text-3xl);line-height:1.125em}.k-block-type-heading-input[data-level=h2]{font-size:var(--text-2xl)}.k-block-type-heading-input[data-level=h3]{font-size:var(--text-xl)}.k-block-type-heading-input[data-level=h4]{font-size:var(--text-lg)}.k-block-type-heading-input[data-level=h5]{line-height:1.5em;font-size:var(--text-base)}.k-block-type-heading-input[data-level=h6]{line-height:1.5em;font-size:var(--text-sm)}.k-block-type-heading-input .ProseMirror strong{font-weight:700}.k-block-type-image .k-block-figure-container{display:block;text-align:center;line-height:0}.k-block-type-image-auto{max-width:100%;max-height:30rem}.k-block-type-line hr{margin-top:.75rem;margin-bottom:.75rem;border:0;border-top:2px solid var(--color-gray-400)}.k-block-type-markdown-input{position:relative;font-size:var(--text-sm);line-height:1.5em;background:var(--color-background);border-radius:var(--rounded);padding:.5rem .5rem 0;font-family:var(--font-mono)}[dir=ltr] .k-block-type-quote-editor{padding-left:1rem}[dir=rtl] .k-block-type-quote-editor{padding-right:1rem}[dir=ltr] .k-block-type-quote-editor{border-left:2px solid var(--color-black)}[dir=rtl] .k-block-type-quote-editor{border-right:2px solid var(--color-black)}.k-block-type-quote-text{font-size:var(--text-xl);margin-bottom:.25rem;line-height:1.25em}.k-block-type-quote-citation{font-style:italic;font-size:var(--text-sm);color:var(--color-gray-600)}.k-block-type-table-preview{cursor:pointer;width:100%;border:1px solid var(--color-gray-300);border-spacing:0;border-radius:var(--rounded-sm);overflow:hidden;table-layout:fixed}[dir=ltr] .k-block-type-table-preview td,[dir=ltr] .k-block-type-table-preview th{text-align:left}[dir=rtl] .k-block-type-table-preview td,[dir=rtl] .k-block-type-table-preview th{text-align:right}.k-block-type-table-preview td{font-size:var(--text-sm)}.k-block-type-table-preview td,.k-block-type-table-preview th{line-height:1.5em;padding:.5rem .75rem}.k-block-type-table-preview th,.k-block-type-table-preview tr:not(:last-child) td{border-bottom:1px solid var(--color-gray-300)}.k-block-type-table-preview th{background:var(--color-gray-100);font-family:var(--font-mono);font-size:var(--text-xs)}.k-block-type-table-preview-empty{color:var(--color-gray-600);font-size:var(--text-sm)}.k-block-type-table-preview [data-align]{text-align:var(--align)}.k-block-type-text-input{font-size:var(--text-base);line-height:1.5em;height:100%}.k-block-container-type-text,.k-block-type-text,.k-block-type-text .k-writer .ProseMirror{height:100%}.k-block-container{position:relative;padding:.75rem;background:var(--color-white)}.k-block-container:not(:last-of-type){border-bottom:1px dashed rgba(0,0,0,.1)}.k-block-container:focus{outline:0}.k-block-container[data-batched],.k-block-container[data-selected]{z-index:2;border-bottom-color:transparent}.k-block-container[data-batched]:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:rgba(238,242,246,.375);mix-blend-mode:multiply;border:1px solid var(--color-focus)}.k-block-container[data-selected]{box-shadow:var(--color-focus) 0 0 0 1px,var(--color-focus-outline) 0 0 0 3px}[dir=ltr] .k-block-container .k-block-options{right:.75rem}[dir=rtl] .k-block-container .k-block-options{left:.75rem}.k-block-container .k-block-options{display:none;position:absolute;top:0;margin-top:calc(-1.75rem + 2px)}.k-block-container[data-last-in-batch]>.k-block-options,.k-block-container[data-selected]>.k-block-options{display:flex}.k-block-container[data-hidden] .k-block{opacity:.25}.k-drawer-options .k-button[data-disabled]{vertical-align:middle;display:inline-grid}[data-disabled] .k-block-container{background:var(--color-background)}.k-block-importer.k-dialog{background:#313740;color:var(--color-white)}.k-block-importer .k-dialog-body{padding:0}.k-block-importer label{display:block;padding:var(--spacing-6) var(--spacing-6) 0;color:var(--color-gray-400)}.k-block-importer label kbd{background:rgba(0,0,0,.5);font-family:var(--font-mono);letter-spacing:.1em;padding:.25rem;border-radius:var(--rounded);margin:0 .25rem}.k-block-importer textarea{width:100%;height:20rem;background:0 0;font:inherit;color:var(--color-white);border:0;padding:var(--spacing-6);resize:none}.k-block-importer textarea:focus{outline:0}.k-blocks{background:var(--color-white);box-shadow:var(--shadow)}[data-disabled] .k-blocks{background:var(--color-background)}.k-blocks[data-multi-select-key] .k-block-container>*{pointer-events:none}.k-blocks[data-empty]{padding:0;background:0 0;box-shadow:none}.k-blocks .k-sortable-ghost{outline:2px solid var(--color-focus);box-shadow:#11111140 0 5px 10px;cursor:grabbing;cursor:-webkit-grabbing}.k-blocks-list>.k-blocks-empty{display:flex;align-items:center}.k-blocks-list>.k-blocks-empty:not(:only-child){display:none}.k-block-figure{cursor:pointer}.k-block-figure iframe{border:0;pointer-events:none;background:var(--color-black)}.k-block-figure figcaption{padding-top:.5rem;color:var(--color-gray-600);font-size:var(--text-sm);text-align:center}.k-block-figure-empty.k-button{display:flex;width:100%;height:6rem;border-radius:var(--rounded-sm);align-items:center;justify-content:center;color:var(--color-gray-600);background:var(--color-background)}.k-block-options{display:flex;align-items:center;background:var(--color-white);z-index:var(--z-dropdown);box-shadow:#0000001a -2px 0 5px,var(--shadow),var(--shadow-xl);color:var(--color-black);border-radius:var(--rounded)}[dir=ltr] .k-block-options-button{border-right:1px solid var(--color-background)}[dir=rtl] .k-block-options-button{border-left:1px solid var(--color-background)}.k-block-options-button{--block-options-button-size:30px;width:var(--block-options-button-size);height:var(--block-options-button-size);line-height:1;display:inline-flex;align-items:center;justify-content:center}[dir=ltr] .k-block-options-button:first-child{border-top-left-radius:var(--rounded)}[dir=rtl] .k-block-options-button:first-child{border-top-right-radius:var(--rounded)}[dir=ltr] .k-block-options-button:first-child{border-bottom-left-radius:var(--rounded)}[dir=rtl] .k-block-options-button:first-child{border-bottom-right-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-child{border-top-right-radius:var(--rounded)}[dir=rtl] .k-block-options-button:last-child{border-top-left-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-child{border-bottom-right-radius:var(--rounded)}[dir=rtl] .k-block-options-button:last-child{border-bottom-left-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-of-type{border-right:0}[dir=rtl] .k-block-options-button:last-of-type{border-left:0}.k-block-options-button[aria-current]{color:var(--color-focus)}.k-block-options-button:hover{background:var(--color-gray-100)}.k-block-options .k-dropdown-content{margin-top:.5rem}.k-block-selector.k-dialog{background:var(--color-dark);color:var(--color-white)}.k-block-selector .k-headline{margin-bottom:1rem}.k-block-selector details:not(:last-of-type){margin-bottom:1.5rem}.k-block-selector summary{font-size:var(--text-xs);cursor:pointer;color:var(--color-gray-400)}.k-block-selector details:only-of-type summary{pointer-events:none}.k-block-selector summary:focus{outline:0}.k-block-selector summary:focus-visible{color:var(--color-green-400)}.k-block-types{display:grid;grid-gap:2px;margin-top:.75rem;grid-template-columns:repeat(1,1fr)}[dir=ltr] .k-block-types .k-button{text-align:left}[dir=rtl] .k-block-types .k-button{text-align:right}.k-block-types .k-button{display:flex;align-items:flex-start;background:rgba(0,0,0,.5);width:100%;padding:0 .75rem 0 0;line-height:1.5em}.k-block-types .k-button:focus{outline:2px solid var(--color-green-300)}.k-block-types .k-button .k-button-text{padding:.5rem 0 .5rem .5rem}.k-block-types .k-button .k-icon{width:38px;height:38px}.k-clipboard-hint{padding-top:1.5rem;font-size:var(--text-xs);color:var(--color-gray-400)}.k-clipboard-hint kbd{background:rgba(0,0,0,.5);font-family:var(--font-mono);letter-spacing:.1em;padding:.25rem;border-radius:var(--rounded);margin:0 .25rem}[dir=ltr] .k-block-title{padding-right:.75rem}[dir=rtl] .k-block-title{padding-left:.75rem}.k-block-title{display:flex;align-items:center;min-width:0;font-size:var(--text-sm);line-height:1}[dir=ltr] .k-block-icon{margin-right:.5rem}[dir=rtl] .k-block-icon{margin-left:.5rem}.k-block-icon{width:1rem;color:var(--color-gray-500)}[dir=ltr] .k-block-name{margin-right:.5rem}[dir=rtl] .k-block-name{margin-left:.5rem}.k-block-label{color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-align=left]{--align:start}[data-align=center]{--align:center}[data-align=right]{--align:end}[data-invalid]{border:1px solid var(--color-negative-outline);box-shadow:var(--color-negative-outline) 0 0 3px 2px}[data-invalid]:focus-within{border:var(--field-input-invalid-focus-border)!important;box-shadow:var(--color-negative-outline) 0 0 0 2px!important}[data-tabbed]{box-shadow:var(--shadow-outline)}[data-theme=positive],[data-theme=success]{--theme:var(--color-positive);--theme-light:var(--color-positive-light);--theme-bg:var(--color-green-300)}[data-theme=error],[data-theme=negative]{--theme:var(--color-negative);--theme-light:var(--color-negative-light);--theme-bg:var(--color-red-300)}[data-theme=notice]{--theme:var(--color-notice);--theme-light:var(--color-notice-light);--theme-bg:var(--color-orange-300)}[data-theme=info]{--theme:var(--color-focus);--theme-light:var(--color-focus-light);--theme-bg:var(--color-blue-200)}.scroll-x,.scroll-x-auto,.scroll-y,.scroll-y-auto{-webkit-overflow-scrolling:touch;transform:translate(0)}.scroll-x,.scroll-x-auto{overflow-x:scroll;overflow-y:hidden}.scroll-x-auto{overflow-x:auto}.scroll-y,.scroll-y-auto{overflow-x:hidden;overflow-y:scroll}.scroll-y-auto{overflow-y:auto}.k-offscreen,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
+:root{--color-backdrop:rgba(0, 0, 0, .6);--color-black:#000;--color-dark:#313740;--color-light:var(--color-gray-200);--color-white:#fff;--color-gray-100:#f7f7f7;--color-gray-200:#efefef;--color-gray-300:#ddd;--color-gray-400:#ccc;--color-gray-500:#999;--color-gray-600:#777;--color-gray-700:#555;--color-gray-800:#333;--color-gray-900:#111;--color-gray:var(--color-gray-600);--color-red-200:#edc1c1;--color-red-300:#e3a0a0;--color-red-400:#d16464;--color-red-600:#c82829;--color-red:var(--color-red-600);--color-orange-200:#f2d4bf;--color-orange-300:#ebbe9e;--color-orange-400:#de935f;--color-orange-600:#f4861f;--color-orange:var(--color-orange-600);--color-yellow-200:#f9e8c7;--color-yellow-300:#f7e2b8;--color-yellow-400:#f0c674;--color-yellow-600:#cca000;--color-yellow:var(--color-yellow-600);--color-green-200:#dce5c2;--color-green-300:#c6d49d;--color-green-400:#a7bd68;--color-green-600:#5d800d;--color-green:var(--color-green-600);--color-aqua-200:#d0e5e2;--color-aqua-300:#bbd9d5;--color-aqua-400:#8abeb7;--color-aqua-600:#398e93;--color-aqua:var(--color-aqua-600);--color-blue-200:#cbd7e5;--color-blue-300:#b1c2d8;--color-blue-400:#7e9abf;--color-blue-600:#4271ae;--color-blue:var(--color-blue-600);--color-purple-200:#e0d4e4;--color-purple-300:#d4c3d9;--color-purple-400:#b294bb;--color-purple-600:#9c48b9;--color-purple:var(--color-purple-600);--container:80rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono:"SFMono-Regular", Consolas, Liberation Mono, Menlo, Courier, monospace;--font-normal:400;--font-bold:600;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--rounded-xs:1px;--rounded-sm:.125rem;--rounded:.25rem;--shadow:0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl:0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-outline:currentColor 0 0 0 2px;--shadow-inset:inset 0 2px 4px 0 rgba(0, 0, 0, .06);--spacing-0:0;--spacing-px:1px;--spacing-2px:2px;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-36:9rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2.5rem;--text-5xl:3rem;--text-6xl:4rem;--color-background:var(--color-light);--color-border:var(--color-gray-400);--color-focus:var(--color-blue-600);--color-focus-light:var(--color-blue-400);--color-focus-outline:rgba(113, 143, 183, .25);--color-negative:var(--color-red-600);--color-negative-light:var(--color-red-400);--color-negative-outline:rgba(212, 110, 110, .25);--color-notice:var(--color-orange-600);--color-notice-light:var(--color-orange-400);--color-positive:var(--color-green-600);--color-positive-light:var(--color-green-400);--color-positive-outline:rgba(128, 149, 65, .25);--color-text:var(--color-gray-900);--color-text-light:var(--color-gray-600);--z-offline:1200;--z-fatal:1100;--z-loader:1000;--z-notification:900;--z-dialog:800;--z-navigation:700;--z-dropdown:600;--z-drawer:500;--z-dropzone:400;--z-toolbar:300;--z-content:200;--z-background:100;--bg-pattern:repeating-conic-gradient( rgba(0, 0, 0, 0) 0% 25%, rgba(0, 0, 0, .2) 0% 50% ) 50% / 20px 20px;--shadow-sticky:rgba(0, 0, 0, .05) 0 2px 5px;--shadow-dropdown:var(--shadow-lg);--shadow-item:var(--shadow);--field-input-padding:.5rem;--field-input-height:2.25rem;--field-input-line-height:1.25rem;--field-input-font-size:var(--text-base);--field-input-color-before:var(--color-gray-700);--field-input-color-after:var(--color-gray-700);--field-input-border:1px solid var(--color-border);--field-input-focus-border:1px solid var(--color-focus);--field-input-focus-outline:2px solid var(--color-focus-outline);--field-input-invalid-border:1px solid var(--color-negative-outline);--field-input-invalid-outline:0;--field-input-invalid-focus-border:1px solid var(--color-negative);--field-input-invalid-focus-outline:2px solid var(--color-negative-outline);--field-input-background:var(--color-white);--field-input-disabled-color:var(--color-gray-500);--field-input-disabled-background:var(--color-white);--field-input-disabled-border:1px solid var(--color-gray-300);--font-family-sans:var(--font-sans);--font-family-mono:var(--font-mono);--font-size-tiny:var(--text-xs);--font-size-small:var(--text-sm);--font-size-medium:var(--text-base);--font-size-large:var(--text-xl);--font-size-huge:var(--text-2xl);--font-size-monster:var(--text-3xl);--box-shadow-dropdown:var(--shadow-dropdown);--box-shadow-item:var(--shadow);--box-shadow-focus:var(--shadow-xl)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}noscript{padding:1.5rem;display:flex;align-items:center;justify-content:center;height:100vh;text-align:center}html{font-family:var(--font-sans);background:var(--color-background)}body,html{color:var(--color-gray-900);height:100%;overflow:hidden}a{color:inherit;text-decoration:none}li{list-style:none}b,strong{font-weight:var(--font-bold)}@keyframes LoadingCursor{to{cursor:progress}}@keyframes Spin{to{transform:rotate(360deg)}}.k-dialog{position:relative;background:var(--color-background);width:100%;box-shadow:var(--shadow-lg);border-radius:var(--rounded-xs);line-height:1;max-height:calc(100vh - 3rem);margin:1.5rem;display:flex;flex-direction:column}@media screen and (min-width:20rem){.k-dialog[data-size=small]{width:20rem}}@media screen and (min-width:22rem){.k-dialog[data-size=default]{width:22rem}}@media screen and (min-width:30rem){.k-dialog[data-size=medium]{width:30rem}}@media screen and (min-width:40rem){.k-dialog[data-size=large]{width:40rem}}.k-dialog-notification{padding:.75rem 1.5rem;background:var(--color-gray-900);width:100%;line-height:1.25rem;color:var(--color-white);display:flex;flex-shrink:0;align-items:center}.k-dialog-notification[data-theme]{background:var(--theme-light);color:var(--color-black)}.k-dialog-notification p{flex-grow:1;word-wrap:break-word;overflow:hidden}[dir=ltr] .k-dialog-notification .k-button{margin-left:1rem}[dir=rtl] .k-dialog-notification .k-button{margin-right:1rem}.k-dialog-notification .k-button{display:flex}.k-dialog-body{padding:1.5rem}.k-dialog-body .k-fieldset{padding-bottom:.5rem}[dir=ltr] .k-dialog-footer,[dir=rtl] .k-dialog-footer{border-bottom-right-radius:var(--rounded-xs);border-bottom-left-radius:var(--rounded-xs)}.k-dialog-footer{padding:0;border-top:1px solid var(--color-gray-300);line-height:1;flex-shrink:0}.k-dialog-footer .k-button-group{display:flex;margin:0;justify-content:space-between}.k-dialog-footer .k-button-group .k-button{padding:.75rem 1rem;line-height:1.25rem}[dir=ltr] .k-dialog-footer .k-button-group .k-button:first-child{text-align:left}[dir=rtl] .k-dialog-footer .k-button-group .k-button:first-child{text-align:right}[dir=ltr] .k-dialog-footer .k-button-group .k-button:first-child{padding-left:1.5rem}[dir=rtl] .k-dialog-footer .k-button-group .k-button:first-child{padding-right:1.5rem}[dir=ltr] .k-dialog-footer .k-button-group .k-button:last-child{text-align:right}[dir=rtl] .k-dialog-footer .k-button-group .k-button:last-child{text-align:left}[dir=ltr] .k-dialog-footer .k-button-group .k-button:last-child{padding-right:1.5rem}[dir=rtl] .k-dialog-footer .k-button-group .k-button:last-child{padding-left:1.5rem}.k-dialog-pagination{margin-bottom:-1.5rem;display:flex;justify-content:center;align-items:center}.k-dialog-search{margin-bottom:.75rem}.k-dialog-search.k-input{background:rgba(0,0,0,.075);padding:0 1rem;height:36px;border-radius:var(--rounded-xs)}.k-error-details{background:var(--color-white);display:block;overflow:auto;padding:1rem;font-size:var(--text-sm);line-height:1.25em;margin-top:.75rem}.k-error-details dt{color:var(--color-negative-light);margin-bottom:.25rem}.k-error-details dd{overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.k-error-details dd:not(:last-of-type){margin-bottom:1.5em}.k-error-details li:not(:last-child){border-bottom:1px solid var(--color-background);padding-bottom:.25rem;margin-bottom:.25rem}.k-files-dialog .k-list-item{cursor:pointer}[dir=ltr] .k-pages-dialog-navbar{padding-right:38px}[dir=rtl] .k-pages-dialog-navbar{padding-left:38px}.k-pages-dialog-navbar{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.k-pages-dialog-navbar .k-button{width:38px}.k-pages-dialog-navbar .k-button[disabled]{opacity:0}.k-pages-dialog-navbar .k-headline{flex-grow:1;text-align:center}.k-pages-dialog .k-list-item{cursor:pointer}.k-pages-dialog .k-list-item .k-button[data-theme=disabled],.k-pages-dialog .k-list-item .k-button[disabled]{opacity:.25}.k-pages-dialog .k-list-item .k-button[data-theme=disabled]:hover{opacity:1}.k-users-dialog .k-list-item{cursor:pointer}.k-drawer{--drawer-header-height:2.5rem;--drawer-header-padding:1.5rem;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toolbar);display:flex;align-items:stretch;justify-content:flex-end;background:rgba(0,0,0,.2)}.k-drawer-box{position:relative;flex-basis:50rem;display:flex;flex-direction:column;background:var(--color-background);box-shadow:var(--shadow-xl)}[dir=ltr] .k-drawer-header{padding-left:var(--drawer-header-padding)}[dir=rtl] .k-drawer-header{padding-right:var(--drawer-header-padding)}.k-drawer-header{flex-shrink:0;height:var(--drawer-header-height);display:flex;align-items:center;line-height:1;justify-content:space-between;background:var(--color-white);font-size:var(--text-sm)}.k-drawer-title{padding:0 .75rem}[dir=ltr] .k-drawer-breadcrumb,[dir=ltr] .k-drawer-title{margin-left:-.75rem}[dir=rtl] .k-drawer-breadcrumb,[dir=rtl] .k-drawer-title{margin-right:-.75rem}.k-drawer-breadcrumb,.k-drawer-title{display:flex;flex-grow:1;align-items:center;min-width:0;font-size:var(--text-sm);font-weight:var(--font-normal)}[dir=ltr] .k-drawer-breadcrumb li:not(:last-child) .k-button:after{right:-.75rem}[dir=rtl] .k-drawer-breadcrumb li:not(:last-child) .k-button:after{left:-.75rem}.k-drawer-breadcrumb li:not(:last-child) .k-button:after{position:absolute;width:1.5rem;display:inline-flex;justify-content:center;align-items:center;content:"\203a";color:var(--color-gray-500);height:var(--drawer-header-height)}[dir=ltr] .k-drawer-breadcrumb .k-icon,[dir=ltr] .k-drawer-title .k-icon{margin-right:.5rem}[dir=rtl] .k-drawer-breadcrumb .k-icon,[dir=rtl] .k-drawer-title .k-icon{margin-left:.5rem}.k-drawer-breadcrumb .k-icon,.k-drawer-title .k-icon{width:1rem;color:var(--color-gray-500)}.k-drawer-breadcrumb .k-button{display:inline-flex;align-items:center;height:var(--drawer-header-height);padding-left:.75rem;padding-right:.75rem}.k-drawer-breadcrumb .k-button-text{opacity:1}[dir=ltr] .k-drawer-breadcrumb .k-button .k-button-icon~.k-button-text{padding-left:0}[dir=rtl] .k-drawer-breadcrumb .k-button .k-button-icon~.k-button-text{padding-right:0}[dir=ltr] .k-drawer-tabs{margin-right:.75rem}[dir=rtl] .k-drawer-tabs{margin-left:.75rem}.k-drawer-tabs{display:flex;align-items:center;line-height:1}.k-drawer-tab.k-button{height:var(--drawer-header-height);padding-left:.75rem;padding-right:.75rem;display:flex;align-items:center;font-size:var(--text-xs)}.k-drawer-tab.k-button[aria-current]:after{position:absolute;bottom:-1px;left:.75rem;right:.75rem;content:"";background:var(--color-black);height:2px}[dir=ltr] .k-drawer-options{padding-right:.75rem}[dir=rtl] .k-drawer-options{padding-left:.75rem}.k-drawer-option.k-button{width:var(--drawer-header-height);height:var(--drawer-header-height);color:var(--color-gray-500);line-height:1}.k-drawer-option.k-button:focus,.k-drawer-option.k-button:hover{color:var(--color-black)}.k-drawer-body{padding:1.5rem;flex-grow:1;background:var(--color-background)}.k-drawer[data-nested=true]{background:0 0}.k-calendar-input{--cell-padding:.25rem .5rem;padding:.5rem;background:var(--color-gray-900);color:var(--color-light);border-radius:var(--rounded-xs)}.k-calendar-table{table-layout:fixed;width:100%;min-width:15rem;padding-top:.5rem}.k-calendar-input>nav{display:flex;direction:ltr}.k-calendar-input>nav .k-button{padding:.5rem}.k-calendar-selects{flex-grow:1;display:flex;align-items:center;justify-content:center}[dir=ltr] .k-calendar-selects{direction:ltr}[dir=rtl] .k-calendar-selects{direction:rtl}.k-calendar-selects .k-select-input{padding:0 .5rem;font-weight:var(--font-normal);font-size:var(--text-sm)}.k-calendar-selects .k-select-input:focus-within{color:var(--color-focus-light)!important}.k-calendar-input th{padding:.5rem 0;color:var(--color-gray-500);font-size:var(--text-xs);font-weight:400;text-align:center}.k-calendar-day .k-button{width:2rem;height:2rem;margin-left:auto;margin-right:auto;color:var(--color-white);line-height:1.75rem;display:flex;justify-content:center;border-radius:50%;border:2px solid transparent}.k-calendar-day .k-button .k-button-text{opacity:1}.k-calendar-table .k-button:hover{color:var(--color-white)}.k-calendar-day:hover .k-button:not([data-disabled=true]){border-color:#ffffff40}.k-calendar-day[aria-current=date] .k-button{color:var(--color-yellow-500);font-weight:500}.k-calendar-day[aria-selected=date] .k-button{border-color:var(--color-focus-light);color:var(--color-focus-light)}.k-calendar-today{text-align:center;padding-top:.5rem}.k-calendar-today .k-button{color:var(--color-focus-light);font-size:var(--text-xs);padding:1rem}.k-calendar-today .k-button-text{opacity:1}.k-counter{font-size:var(--text-xs);color:var(--color-gray-900);font-weight:var(--font-bold)}.k-counter[data-invalid=true]{box-shadow:none;border:0;color:var(--color-negative)}[dir=ltr] .k-counter-rules{padding-left:.5rem}[dir=rtl] .k-counter-rules{padding-right:.5rem}.k-counter-rules{color:var(--color-gray-600);font-weight:var(--font-normal)}.k-form-submitter{display:none}.k-form-buttons[data-theme]{background:var(--theme-light)}.k-form-buttons .k-view{display:flex;justify-content:space-between;align-items:center}.k-form-button.k-button{font-weight:500;white-space:nowrap;line-height:1;height:2.5rem;display:flex;padding:0 1rem;align-items:center}[dir=ltr] .k-form-button:first-child{margin-left:-1rem}[dir=rtl] .k-form-button:first-child{margin-right:-1rem}[dir=ltr] .k-form-button:last-child{margin-right:-1rem}[dir=rtl] .k-form-button:last-child{margin-left:-1rem}[dir=ltr] .k-form-lock-info{margin-right:3rem}[dir=rtl] .k-form-lock-info{margin-left:3rem}.k-form-lock-info{display:flex;font-size:var(--text-sm);align-items:center;line-height:1.5em;padding:.625rem 0}[dir=ltr] .k-form-lock-info>.k-icon{margin-right:.5rem}[dir=rtl] .k-form-lock-info>.k-icon{margin-left:.5rem}.k-form-lock-buttons{display:flex;flex-shrink:0}.k-form-lock-loader{animation:Spin 4s linear infinite}.k-form-lock-loader .k-icon-loader{display:flex}.k-form-indicator-toggle{color:var(--color-notice-light)}.k-form-indicator-info{font-size:var(--text-sm);font-weight:var(--font-bold);padding:.75rem 1rem .25rem;line-height:1.25em;width:15rem}.k-field-label{font-weight:var(--font-bold);display:block;padding:0 0 .75rem;flex-grow:1;line-height:1.25rem}[dir=ltr] .k-field-label abbr{padding-left:.25rem}[dir=rtl] .k-field-label abbr{padding-right:.25rem}.k-field-label abbr{text-decoration:none;color:var(--color-gray-500)}.k-field-header{position:relative;display:flex;align-items:baseline}[dir=ltr] .k-field-options{right:0}[dir=rtl] .k-field-options{left:0}.k-field-options{position:absolute;top:calc(-0.5rem - 1px)}.k-field-options.k-button-group .k-dropdown{height:auto}.k-field-options.k-button-group .k-field-options-button.k-button{padding:.75rem;display:flex}.k-field[data-disabled=true]{cursor:not-allowed}.k-field[data-disabled=true] *{pointer-events:none}.k-field[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-field-counter{display:none}.k-field:focus-within>.k-field-header>.k-field-counter{display:block}.k-field-help{padding-top:.5rem}.k-fieldset{border:0}.k-fieldset .k-grid{grid-row-gap:2.25rem}@media screen and (min-width:30em){.k-fieldset .k-grid{grid-column-gap:1.5rem}}.k-sections>.k-column[data-width="1/3"] .k-fieldset .k-grid,.k-sections>.k-column[data-width="1/4"] .k-fieldset .k-grid{grid-template-columns:repeat(1,1fr)}.k-sections>.k-column[data-width="1/3"] .k-fieldset .k-grid .k-column,.k-sections>.k-column[data-width="1/4"] .k-fieldset .k-grid .k-column{grid-column-start:initial}.k-input{display:flex;align-items:center;line-height:1;border:0;outline:0;background:0 0}.k-input-element{flex-grow:1}.k-input-icon{display:flex;justify-content:center;align-items:center;line-height:0}.k-input[data-disabled=true]{pointer-events:none}[data-disabled=true] .k-input-icon{color:var(--color-gray-600)}.k-input[data-theme=field]{line-height:1;border:var(--field-input-border);background:var(--field-input-background)}.k-input[data-theme=field]:focus-within{border:var(--field-input-focus-border);box-shadow:var(--color-focus-outline) 0 0 0 2px}.k-input[data-theme=field][data-disabled=true]{background:var(--color-background)}.k-input[data-theme=field] .k-input-icon{width:var(--field-input-height);align-self:stretch;display:flex;align-items:center;flex-shrink:0}.k-input[data-theme=field] .k-input-after,.k-input[data-theme=field] .k-input-before{align-self:stretch;display:flex;align-items:center;flex-shrink:0;padding:0 var(--field-input-padding)}[dir=ltr] .k-input[data-theme=field] .k-input-before{padding-right:0}[dir=ltr] .k-input[data-theme=field] .k-input-after,[dir=rtl] .k-input[data-theme=field] .k-input-before{padding-left:0}.k-input[data-theme=field] .k-input-before{color:var(--field-input-color-before)}[dir=rtl] .k-input[data-theme=field] .k-input-after{padding-right:0}.k-input[data-theme=field] .k-input-after{color:var(--field-input-color-after)}.k-input[data-theme=field] .k-input-icon>.k-dropdown{width:100%;height:100%}.k-input[data-theme=field] .k-input-icon-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.k-input[data-theme=field] .k-number-input,.k-input[data-theme=field] .k-select-input,.k-input[data-theme=field] .k-text-input{padding:var(--field-input-padding);line-height:var(--field-input-line-height)}.k-input[data-theme=field] .k-date-input .k-select-input,.k-input[data-theme=field] .k-time-input .k-select-input{padding-left:0;padding-right:0}[dir=ltr] .k-input[data-theme=field] .k-date-input .k-select-input:first-child,[dir=ltr] .k-input[data-theme=field] .k-time-input .k-select-input:first-child{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field] .k-date-input .k-select-input:first-child,[dir=rtl] .k-input[data-theme=field] .k-time-input .k-select-input:first-child{padding-right:var(--field-input-padding)}.k-input[data-theme=field] .k-date-input .k-select-input:focus-within,.k-input[data-theme=field] .k-time-input .k-select-input:focus-within{color:var(--color-focus);font-weight:var(--font-bold)}[dir=ltr] .k-input[data-theme=field].k-time-input .k-time-input-meridiem{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field].k-time-input .k-time-input-meridiem{padding-right:var(--field-input-padding)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,.k-input[data-theme=field][data-type=checkboxes] .k-radio-input li,.k-input[data-theme=field][data-type=radio] .k-checkboxes-input li,.k-input[data-theme=field][data-type=radio] .k-radio-input li{min-width:0;overflow-wrap:break-word}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-before{border-right:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-after,[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-before{border-left:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-after,[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-input-element+.k-input-icon{border-right:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-input-element{overflow:hidden}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{margin-right:-1px}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{margin-left:-1px}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{display:grid;grid-template-columns:1fr;margin-bottom:-1px}@media screen and (min-width:65em){.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input{grid-template-columns:repeat(var(--columns),1fr)}}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li{border-left:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input li,.k-input[data-theme=field][data-type=radio] .k-radio-input li{border-bottom:1px solid var(--color-background)}.k-input[data-theme=field][data-type=checkboxes] .k-checkboxes-input label{display:block;line-height:var(--field-input-line-height);padding:var(--field-input-padding) var(--field-input-padding)}[dir=ltr] .k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon,[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input label:before{left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input label:before{right:var(--field-input-padding)}.k-input[data-theme=field][data-type=checkboxes] .k-checkbox-input-icon{top:calc((var(--field-input-height) - var(--field-input-font-size))/2);margin-top:0}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-before{border-right:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-after,[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-icon,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-before{border-left:1px solid var(--color-background)}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input li,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-after,[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-input-element+.k-input-icon{border-right:1px solid var(--color-background)}.k-input[data-theme=field][data-type=radio] .k-input-element{overflow:hidden}[dir=ltr] .k-input[data-theme=field][data-type=radio] .k-radio-input{margin-right:-1px}[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input{margin-left:-1px}.k-input[data-theme=field][data-type=radio] .k-radio-input{display:grid;grid-template-columns:1fr;margin-bottom:-1px}@media screen and (min-width:65em){.k-input[data-theme=field][data-type=radio] .k-radio-input{grid-template-columns:repeat(var(--columns),1fr)}}[dir=rtl] .k-input[data-theme=field][data-type=radio] .k-radio-input li{border-left:1px solid var(--color-background)}.k-input[data-theme=field][data-type=radio] .k-radio-input label{display:block;flex-grow:1;min-height:var(--field-input-height);line-height:var(--field-input-line-height);padding:calc((var(--field-input-height) - var(--field-input-line-height))/2) var(--field-input-padding)}.k-input[data-theme=field][data-type=radio] .k-radio-input label:before{top:calc((var(--field-input-height) - 1rem)/2);margin-top:-1px}.k-input[data-theme=field][data-type=radio] .k-radio-input .k-radio-input-info{display:block;font-size:var(--text-sm);color:var(--color-gray-600);line-height:var(--field-input-line-height);padding-top:calc(var(--field-input-line-height)/10)}.k-input[data-theme=field][data-type=radio] .k-radio-input .k-icon{width:var(--field-input-height);height:var(--field-input-height);display:flex;align-items:center;justify-content:center}.k-input[data-theme=field][data-type=range] .k-range-input{padding:var(--field-input-padding)}.k-input[data-theme=field][data-type=multiselect],.k-input[data-theme=field][data-type=select]{position:relative}[dir=ltr] .k-input[data-theme=field][data-type=select] .k-input-icon{right:0}[dir=rtl] .k-input[data-theme=field][data-type=select] .k-input-icon{left:0}.k-input[data-theme=field][data-type=select] .k-input-icon{position:absolute;top:0;bottom:0}.k-input[data-theme=field][data-type=tags] .k-tags-input{padding:.25rem .25rem 0}[dir=ltr] .k-input[data-theme=field][data-type=tags] .k-tag{margin-right:.25rem}[dir=rtl] .k-input[data-theme=field][data-type=tags] .k-tag{margin-left:.25rem}.k-input[data-theme=field][data-type=tags] .k-tag{margin-bottom:.25rem;height:auto;min-height:1.75rem;font-size:var(--text-sm)}.k-input[data-theme=field][data-type=tags] .k-tags-input input{font-size:var(--text-sm);padding:0 .25rem;height:1.75rem;line-height:1;margin-bottom:.25rem}.k-input[data-theme=field][data-type=tags] .k-tags-input .k-dropdown-content{top:calc(100% + 0.5rem + 2px)}.k-input[data-theme=field][data-type=tags] .k-tags-input .k-dropdown-content[data-dropup]{top:calc(100% + 0.5rem + 2px);bottom:initial;margin-bottom:initial}.k-input[data-theme=field][data-type=multiselect] .k-multiselect-input{padding:.25rem 2rem 0 .25rem;min-height:2.25rem}[dir=ltr] .k-input[data-theme=field][data-type=multiselect] .k-tag{margin-right:.25rem}[dir=rtl] .k-input[data-theme=field][data-type=multiselect] .k-tag{margin-left:.25rem}.k-input[data-theme=field][data-type=multiselect] .k-tag{margin-bottom:.25rem;height:1.75rem;font-size:var(--text-sm)}[dir=ltr] .k-input[data-theme=field][data-type=multiselect] .k-input-icon{right:0}[dir=rtl] .k-input[data-theme=field][data-type=multiselect] .k-input-icon{left:0}.k-input[data-theme=field][data-type=multiselect] .k-input-icon{position:absolute;top:0;bottom:0;pointer-events:none}.k-input[data-theme=field][data-type=textarea] .k-textarea-input-native{padding:.25rem var(--field-input-padding);line-height:1.5rem}[dir=ltr] .k-input[data-theme=field][data-type=toggle] .k-input-before{padding-right:calc(var(--field-input-padding)/2)}[dir=rtl] .k-input[data-theme=field][data-type=toggle] .k-input-before{padding-left:calc(var(--field-input-padding)/2)}[dir=ltr] .k-input[data-theme=field][data-type=toggle] .k-toggle-input{padding-left:var(--field-input-padding)}[dir=rtl] .k-input[data-theme=field][data-type=toggle] .k-toggle-input{padding-right:var(--field-input-padding)}.k-input[data-theme=field][data-type=toggle] .k-toggle-input-label{padding:0 var(--field-input-padding) 0 .75rem;line-height:var(--field-input-height)}.k-login-code-form .k-user-info{height:38px;margin-bottom:2.25rem;padding:.5rem;background:var(--color-white);border-radius:var(--rounded-xs);box-shadow:var(--shadow)}.k-times{padding:var(--spacing-4) var(--spacing-6);display:grid;line-height:1;grid-template-columns:1fr 1fr;grid-gap:var(--spacing-6)}.k-times .k-icon{width:1rem;margin-bottom:var(--spacing-2)}.k-times-slot .k-button{padding:var(--spacing-1) var(--spacing-3) var(--spacing-1) 0;font-variant-numeric:tabular-nums;white-space:nowrap}.k-times .k-times-slot hr{position:relative;opacity:1;margin:var(--spacing-2) 0;border:0;height:1px;top:1px;background:var(--color-dark)}[dir=ltr] .k-upload input{left:-3000px}[dir=rtl] .k-upload input{right:-3000px}.k-upload input{position:absolute;top:0}.k-upload-dialog .k-headline{margin-bottom:.75rem}.k-upload-error-list,.k-upload-list{line-height:1.5em;font-size:var(--text-sm)}.k-upload-list-filename{color:var(--color-gray-600)}.k-upload-error-list li{padding:.75rem;background:var(--color-white);border-radius:var(--rounded-xs)}.k-upload-error-list li:not(:last-child){margin-bottom:2px}.k-upload-error-filename{color:var(--color-negative);font-weight:var(--font-bold)}.k-upload-error-message{color:var(--color-gray-600)}.k-writer-toolbar{position:absolute;display:flex;background:var(--color-black);height:30px;transform:translate(-50%) translateY(-.75rem);z-index:calc(var(--z-dropdown) + 1);box-shadow:var(--shadow);color:var(--color-white);border-radius:var(--rounded)}.k-writer-toolbar-button.k-button{display:flex;align-items:center;justify-content:center;height:30px;width:30px;font-size:var(--text-sm)!important;color:currentColor;line-height:1}.k-writer-toolbar-button.k-button:hover{background:rgba(255,255,255,.15)}.k-writer-toolbar-button.k-writer-toolbar-button-active{color:var(--color-blue-300)}.k-writer-toolbar-button.k-writer-toolbar-nodes{width:auto;padding:0 .75rem}[dir=ltr] .k-writer-toolbar .k-dropdown+.k-writer-toolbar-button{border-left:1px solid var(--color-gray-700)}[dir=rtl] .k-writer-toolbar .k-dropdown+.k-writer-toolbar-button{border-right:1px solid var(--color-gray-700)}[dir=ltr] .k-writer-toolbar-button.k-writer-toolbar-nodes:after{margin-left:.5rem}[dir=rtl] .k-writer-toolbar-button.k-writer-toolbar-nodes:after{margin-right:.5rem}.k-writer-toolbar-button.k-writer-toolbar-nodes:after{content:"";border-top:4px solid var(--color-white);border-left:4px solid transparent;border-right:4px solid transparent}.k-writer-toolbar .k-dropdown-content{color:var(--color-black);background:var(--color-white);margin-top:.5rem}.k-writer-toolbar .k-dropdown-content .k-dropdown-item[aria-current]{color:var(--color-focus);font-weight:500}.k-writer{position:relative;width:100%;grid-template-areas:"content";display:grid}.k-writer .ProseMirror{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;font-variant-ligatures:none;line-height:inherit;grid-area:content}.k-writer .ProseMirror:focus{outline:0}.k-writer .ProseMirror *{caret-color:currentColor}.k-writer .ProseMirror a{color:var(--color-focus);text-decoration:underline}.k-writer .ProseMirror>:last-child{margin-bottom:0}.k-writer .ProseMirror h1,.k-writer .ProseMirror h2,.k-writer .ProseMirror h3,.k-writer .ProseMirror ol,.k-writer .ProseMirror p,.k-writer .ProseMirror ul{margin-bottom:.75rem}.k-writer .ProseMirror h1{font-size:var(--text-3xl);line-height:1.25em}.k-writer .ProseMirror h2{font-size:var(--text-2xl);line-height:1.25em}.k-writer .ProseMirror h3{font-size:var(--text-xl);line-height:1.25em}.k-writer .ProseMirror h1 strong,.k-writer .ProseMirror h2 strong,.k-writer .ProseMirror h3 strong{font-weight:700}.k-writer .ProseMirror strong{font-weight:600}.k-writer .ProseMirror code{position:relative;font-size:.925em;display:inline-block;line-height:1.325;padding:.05em .325em;background:var(--color-gray-300);border-radius:var(--rounded)}[dir=ltr] .k-writer .ProseMirror ol,[dir=ltr] .k-writer .ProseMirror ul{padding-left:1rem}[dir=rtl] .k-writer .ProseMirror ol,[dir=rtl] .k-writer .ProseMirror ul{padding-right:1rem}.k-writer .ProseMirror ul>li{list-style:disc}.k-writer .ProseMirror ul ul>li{list-style:circle}.k-writer .ProseMirror ul ul ul>li{list-style:square}.k-writer .ProseMirror ol>li{list-style:decimal}.k-writer .ProseMirror li>ol,.k-writer .ProseMirror li>p,.k-writer .ProseMirror li>ul{margin:0}.k-writer-code pre{-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-size:var(--text-sm);line-height:2em;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:pre}.k-writer .ProseMirror code,.k-writer-code code{font-family:var(--font-mono)}.k-writer[data-placeholder][data-empty=true]:before{grid-area:content;content:attr(data-placeholder);line-height:inherit;color:var(--color-gray-500);pointer-events:none;white-space:pre-wrap;word-wrap:break-word}.k-login-alert{padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;min-height:38px;margin-bottom:2rem;background:var(--color-negative);color:var(--color-white);font-size:var(--text-sm);border-radius:var(--rounded-xs);box-shadow:var(--shadow-lg);cursor:pointer}.k-checkbox-input{position:relative;cursor:pointer}.k-checkbox-input-native{position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;opacity:0}[dir=ltr] .k-checkbox-input-label{padding-left:1.75rem}[dir=rtl] .k-checkbox-input-label{padding-right:1.75rem}.k-checkbox-input-label{display:block}[dir=ltr] .k-checkbox-input-icon{left:0}[dir=rtl] .k-checkbox-input-icon{right:0}.k-checkbox-input-icon{position:absolute;width:1rem;height:1rem;border:2px solid var(--color-gray-500)}.k-checkbox-input-icon svg{position:absolute;width:12px;height:12px;display:none}.k-checkbox-input-icon path{stroke:var(--color-white)}.k-checkbox-input-native:checked+.k-checkbox-input-icon{border-color:var(--color-gray-900);background:var(--color-gray-900)}[data-disabled=true] .k-checkbox-input-native:checked+.k-checkbox-input-icon{border-color:var(--color-gray-600);background:var(--color-gray-600)}.k-checkbox-input-native:checked+.k-checkbox-input-icon svg{display:block}.k-checkbox-input-native:focus+.k-checkbox-input-icon{border-color:var(--color-blue-600)}.k-checkbox-input-native:focus:checked+.k-checkbox-input-icon{background:var(--color-focus)}.k-text-input{width:100%;border:0;background:0 0;font:inherit;color:inherit;font-variant-numeric:tabular-nums}.k-text-input::-moz-placeholder{color:var(--color-gray-500)}.k-text-input::placeholder{color:var(--color-gray-500)}.k-text-input:focus{outline:0}.k-text-input:invalid{box-shadow:none;outline:0}.k-list-input .ProseMirror{line-height:1.5em}.k-list-input .ProseMirror ol>li::marker{font-size:var(--text-sm);color:var(--color-gray-500)}.k-multiselect-input{display:flex;flex-wrap:wrap;position:relative;font-size:var(--text-sm);min-height:2.25rem;line-height:1}.k-multiselect-input .k-sortable-ghost{background:var(--color-focus)}.k-multiselect-input .k-dropdown-content,.k-multiselect-input[data-layout=list] .k-tag{width:100%}.k-multiselect-search{margin-top:0!important;color:var(--color-white);background:var(--color-gray-900);border-bottom:1px dashed rgba(255,255,255,.2)}.k-multiselect-search>.k-button-text{flex:1;opacity:1!important}.k-multiselect-search input{width:100%;color:var(--color-white);background:0 0;border:0;outline:0;padding:.25rem 0;font:inherit}.k-multiselect-options{position:relative;max-height:275px;padding:.5rem 0}.k-multiselect-option{position:relative}.k-multiselect-option.selected{color:var(--color-positive-light)}.k-multiselect-option.disabled:not(.selected) .k-icon{opacity:0}.k-multiselect-option b{color:var(--color-focus-light);font-weight:700}[dir=ltr] .k-multiselect-value{margin-left:.25rem}[dir=rtl] .k-multiselect-value{margin-right:.25rem}.k-multiselect-value{color:var(--color-gray-500)}.k-multiselect-value:before{content:" ("}.k-multiselect-value:after{content:")"}[dir=ltr] .k-multiselect-input[data-layout=list] .k-tag{margin-right:0!important}[dir=rtl] .k-multiselect-input[data-layout=list] .k-tag{margin-left:0!important}.k-multiselect-more{width:100%;padding:.75rem;color:#fffc;text-align:center;border-top:1px dashed rgba(255,255,255,.2)}.k-multiselect-more:hover{color:var(--color-white)}.k-number-input{width:100%;border:0;background:0 0;font:inherit;color:inherit}.k-number-input::-moz-placeholder{color:var(--color-gray-500)}.k-number-input::placeholder{color:var(--color-gray-500)}.k-number-input:focus{outline:0}.k-number-input:invalid{box-shadow:none;outline:0}[dir=ltr] .k-radio-input li{padding-left:1.75rem}[dir=rtl] .k-radio-input li{padding-right:1.75rem}.k-radio-input li{position:relative;line-height:1.5rem}.k-radio-input input{position:absolute;width:0;height:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}.k-radio-input label{cursor:pointer;align-items:center}[dir=ltr] .k-radio-input label:before{left:0}[dir=rtl] .k-radio-input label:before{right:0}.k-radio-input label:before{position:absolute;top:.175em;content:"";width:1rem;height:1rem;border-radius:50%;border:2px solid var(--color-gray-500);box-shadow:var(--color-white) 0 0 0 2px inset}.k-radio-input input:checked+label:before{border-color:var(--color-gray-900);background:var(--color-gray-900)}[data-disabled=true] .k-radio-input input:checked+label:before{border-color:var(--color-gray-600);background:var(--color-gray-600)}.k-radio-input input:focus+label:before{border-color:var(--color-blue-600)}.k-radio-input input:focus:checked+label:before{background:var(--color-focus)}.k-radio-input-text{display:block}.k-range-input{--range-thumb-size:16px;--range-thumb-border:4px solid var(--color-gray-900);--range-thumb-border-disabled:4px solid var(--color-gray-600);--range-thumb-background:var(--color-background);--range-thumb-focus-border:4px solid var(--color-focus);--range-thumb-focus-background:var(--color-background);--range-track-height:4px;--range-track-background:var(--color-border);--range-track-color:var(--color-gray-900);--range-track-color-disabled:var(--color-gray-600);--range-track-focus-color:var(--color-focus);display:flex;align-items:center}.k-range-input-native{--min:0;--max:100;--value:0;--range:calc(var(--max) - var(--min));--ratio:calc((var(--value) - var(--min)) / var(--range));--position:calc( .5 * var(--range-thumb-size) + var(--ratio) * calc(100% - var(--range-thumb-size)) );-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--range-thumb-size);background:0 0;font-size:var(--text-sm);line-height:1}.k-range-input-native::-webkit-slider-thumb{-webkit-appearance:none;appearance:none}.k-range-input-native::-webkit-slider-runnable-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-moz-range-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-ms-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background)}.k-range-input-native::-webkit-slider-runnable-track{background:linear-gradient(var(--range-track-color),var(--range-track-color)) 0/var(--position) 100% no-repeat var(--range-track-background)}.k-range-input-native::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-color)}.k-range-input-native::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-color)}.k-range-input-native::-webkit-slider-thumb{margin-top:calc(.5*(var(--range-track-height) - var(--range-thumb-size)));box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer}.k-range-input-native::-moz-range-thumb{box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer}.k-range-input-native::-ms-thumb{box-sizing:border-box;width:var(--range-thumb-size);height:var(--range-thumb-size);background:var(--range-thumb-background);border:var(--range-thumb-border);border-radius:50%;cursor:pointer;margin-top:0}.k-range-input-native::-ms-tooltip{display:none}.k-range-input-native:focus{outline:0}.k-range-input-native:focus::-webkit-slider-runnable-track{border:0;border-radius:var(--range-track-height);width:100%;height:var(--range-track-height);background:var(--range-track-background);background:linear-gradient(var(--range-track-focus-color),var(--range-track-focus-color)) 0/var(--position) 100% no-repeat var(--range-track-background)}.k-range-input-native:focus::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-focus-color)}.k-range-input-native:focus::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-focus-color)}.k-range-input-native:focus::-webkit-slider-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}.k-range-input-native:focus::-moz-range-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}.k-range-input-native:focus::-ms-thumb{background:var(--range-thumb-focus-background);border:var(--range-thumb-focus-border)}[dir=ltr] .k-range-input-tooltip{margin-left:1rem}[dir=rtl] .k-range-input-tooltip{margin-right:1rem}.k-range-input-tooltip{position:relative;max-width:20%;display:flex;align-items:center;color:var(--color-white);font-size:var(--text-xs);line-height:1;text-align:center;border-radius:var(--rounded-xs);background:var(--color-gray-900);padding:0 .25rem;white-space:nowrap}[dir=ltr] .k-range-input-tooltip:after{left:-5px}[dir=rtl] .k-range-input-tooltip:after{right:-5px}[dir=ltr] .k-range-input-tooltip:after{border-right:5px solid var(--color-gray-900)}[dir=rtl] .k-range-input-tooltip:after{border-left:5px solid var(--color-gray-900)}.k-range-input-tooltip:after{position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;content:""}.k-range-input-tooltip>*{padding:4px}[data-disabled=true] .k-range-input-native::-webkit-slider-runnable-track{background:linear-gradient(var(--range-track-color-disabled),var(--range-track-color-disabled)) 0/var(--position) 100% no-repeat var(--range-track-background)}[data-disabled=true] .k-range-input-native::-moz-range-progress{height:var(--range-track-height);background:var(--range-track-color-disabled)}[data-disabled=true] .k-range-input-native::-ms-fill-lower{height:var(--range-track-height);background:var(--range-track-color-disabled)}[data-disabled=true] .k-range-input-native::-webkit-slider-thumb{border:var(--range-thumb-border-disabled)}[data-disabled=true] .k-range-input-native::-moz-range-thumb{border:var(--range-thumb-border-disabled)}[data-disabled=true] .k-range-input-native::-ms-thumb{border:var(--range-thumb-border-disabled)}[data-disabled=true] .k-range-input-tooltip{background:var(--color-gray-600)}[dir=ltr] [data-disabled=true] .k-range-input-tooltip:after{border-right:5px solid var(--color-gray-600)}[dir=rtl] [data-disabled=true] .k-range-input-tooltip:after{border-left:5px solid var(--color-gray-600)}.k-select-input{position:relative;display:block;cursor:pointer;overflow:hidden}.k-select-input-native{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;font:inherit;z-index:1;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:var(--font-normal)}.k-select-input-native[disabled]{cursor:default}.k-tags-input{display:flex;flex-wrap:wrap}.k-tags-input .k-sortable-ghost{background:var(--color-focus)}.k-tags-input-element{flex-grow:1;flex-basis:0;min-width:0}.k-tags-input:focus-within .k-tags-input-element{flex-basis:4rem}.k-tags-input-element input{font:inherit;border:0;width:100%;background:0 0}.k-tags-input-element input:focus{outline:0}[dir=ltr] .k-tags-input[data-layout=list] .k-tag{margin-right:0!important}[dir=rtl] .k-tags-input[data-layout=list] .k-tag{margin-left:0!important}.k-tags-input[data-layout=list] .k-tag{width:100%}.k-textarea-input[data-size=small]{--size:7.5rem}.k-textarea-input[data-size=medium]{--size:15rem}.k-textarea-input[data-size=large]{--size:30rem}.k-textarea-input[data-size=huge]{--size:45rem}.k-textarea-input-wrapper{position:relative}.k-textarea-input-native{resize:none;border:0;width:100%;background:0 0;font:inherit;line-height:1.5em;color:inherit;min-height:var(--size)}.k-textarea-input-native::-moz-placeholder{color:var(--color-gray-500)}.k-textarea-input-native::placeholder{color:var(--color-gray-500)}.k-textarea-input-native:focus{outline:0}.k-textarea-input-native:invalid{box-shadow:none;outline:0}.k-textarea-input-native[data-font=monospace]{font-family:var(--font-mono)}.k-toolbar{margin-bottom:.25rem;color:#aaa}.k-textarea-input:focus-within .k-toolbar{position:sticky;top:0;left:0;right:0;z-index:1;box-shadow:#0000000d 0 2px 5px;border-bottom:1px solid rgba(0,0,0,.1);color:#000}.k-toggle-input{--toggle-background:var(--color-white);--toggle-color:var(--color-gray-500);--toggle-active-color:var(--color-gray-900);--toggle-focus-color:var(--color-focus);--toggle-height:16px;display:flex;align-items:center}.k-toggle-input-native{position:relative;height:var(--toggle-height);width:calc(var(--toggle-height)*2);border-radius:var(--toggle-height);border:2px solid var(--toggle-color);box-shadow:inset 0 0 0 2px var(--toggle-background),inset calc(var(--toggle-height)*-1) 0 0 2px var(--toggle-background);background-color:var(--toggle-color);outline:0;transition:all ease-in-out .1s;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex-shrink:0}.k-toggle-input-native:checked{border-color:var(--toggle-active-color);box-shadow:inset 0 0 0 2px var(--toggle-background),inset var(--toggle-height) 0 0 2px var(--toggle-background);background-color:var(--toggle-active-color)}.k-toggle-input-native[disabled]{border-color:var(--color-border);box-shadow:inset 0 0 0 2px var(--color-background),inset calc(var(--toggle-height)*-1) 0 0 2px var(--color-background);background-color:var(--color-border)}.k-toggle-input-native[disabled]:checked{box-shadow:inset 0 0 0 2px var(--color-background),inset var(--toggle-height) 0 0 2px var(--color-background)}.k-toggle-input-native:focus:checked{border:2px solid var(--color-focus);background-color:var(--toggle-focus-color)}.k-toggle-input-native::-ms-check{opacity:0}.k-toggle-input-label{cursor:pointer;flex-grow:1}.k-blocks-field{position:relative}.k-date-field-body{display:flex;flex-wrap:wrap;line-height:1;border:var(--field-input-border);background:var(--color-gray-300);gap:1px;--multiplier:calc(25rem - 100%)}.k-date-field-body:focus-within{border:var(--field-input-focus-border);box-shadow:var(--color-focus-outline) 0 0 0 2px}.k-date-field[data-disabled] .k-date-field-body{background:0 0}.k-date-field-body>.k-input[data-theme=field]{border:0;box-shadow:none;border-radius:var(--rounded-sm)}.k-date-field-body>.k-input[data-invalid=true],.k-date-field-body>.k-input[data-invalid=true]:focus-within{border:0!important;box-shadow:none!important}.k-date-field-body>*{flex-grow:1;flex-basis:calc(var(--multiplier)*999);max-width:100%}.k-date-field-body .k-input[data-type=date]{min-width:60%}.k-date-field-body .k-input[data-type=time]{min-width:30%}.k-files-field[data-disabled=true] *{pointer-events:all!important}body{counter-reset:headline-counter}.k-headline-field{position:relative;padding-top:1.5rem}.k-fieldset>.k-grid .k-column:first-child .k-headline-field{padding-top:0}[dir=ltr] .k-headline-field .k-headline[data-numbered]:before{padding-right:.25rem}[dir=rtl] .k-headline-field .k-headline[data-numbered]:before{padding-left:.25rem}.k-headline-field .k-headline[data-numbered]:before{counter-increment:headline-counter;content:counter(headline-counter,decimal-leading-zero);color:var(--color-focus);font-weight:400}.k-info-field .k-headline{padding-bottom:.75rem;line-height:1.25rem}.k-layout-column{position:relative;height:100%;display:flex;flex-direction:column;background:var(--color-white);min-height:6rem}.k-layout-column:focus{outline:0}.k-layout-column .k-blocks{background:0 0;box-shadow:none;padding:0;height:100%;background:var(--color-white);min-height:4rem}.k-layout-column .k-blocks[data-empty=true]{min-height:6rem}.k-layout-column .k-blocks-list{display:flex;flex-direction:column;height:100%}.k-layout-column .k-blocks .k-block-container:last-of-type{flex-grow:1}.k-layout-column .k-blocks-empty{position:absolute;top:0;right:0;bottom:0;left:0;justify-content:center;opacity:0;transition:opacity .3s;border:0}.k-layout-column .k-blocks-empty:hover{opacity:1}[dir=ltr] .k-layout-column .k-blocks-empty.k-empty .k-icon{border-right:0}[dir=rtl] .k-layout-column .k-blocks-empty.k-empty .k-icon{border-left:0}.k-layout-column .k-blocks-empty.k-empty .k-icon{width:1rem}[dir=ltr] .k-layout{padding-right:var(--layout-toolbar-width)}[dir=rtl] .k-layout{padding-left:var(--layout-toolbar-width)}.k-layout{--layout-border-color:var(--color-gray-300);--layout-toolbar-width:2rem;position:relative;background:#fff;box-shadow:var(--shadow)}[dir=ltr] [data-disabled=true] .k-layout{padding-right:0}[dir=rtl] [data-disabled=true] .k-layout{padding-left:0}.k-layout:not(:last-of-type){margin-bottom:1px}.k-layout:focus{outline:0}[dir=ltr] .k-layout-toolbar{right:0}[dir=rtl] .k-layout-toolbar{left:0}[dir=ltr] .k-layout-toolbar{border-left:1px solid var(--color-light)}[dir=rtl] .k-layout-toolbar{border-right:1px solid var(--color-light)}.k-layout-toolbar{position:absolute;top:0;bottom:0;width:var(--layout-toolbar-width);display:flex;flex-direction:column;font-size:var(--text-sm);background:var(--color-gray-100);color:var(--color-gray-500)}.k-layout-toolbar:hover{color:var(--color-black)}.k-layout-toolbar-button{width:var(--layout-toolbar-width);height:var(--layout-toolbar-width)}.k-layout-toolbar .k-sort-handle{margin-top:auto;color:currentColor}.k-layout-columns.k-grid{grid-gap:1px;background:var(--layout-border-color);background:var(--color-gray-300)}.k-layout:not(:first-child) .k-layout-columns.k-grid{border-top:0}.k-layouts .k-sortable-ghost{position:relative;box-shadow:#11111140 0 5px 10px;outline:2px solid var(--color-focus);cursor:grabbing;cursor:-webkit-grabbing;z-index:1}.k-layout-selector.k-dialog{background:#313740;color:var(--color-white)}.k-layout-selector .k-headline{line-height:1;margin-top:-.25rem;margin-bottom:1.5rem}.k-layout-selector ul{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem}.k-layout-selector-option .k-grid{height:5rem;grid-gap:2px;box-shadow:var(--shadow);cursor:pointer}.k-layout-selector-option:hover{outline:2px solid var(--color-green-300);outline-offset:2px}.k-layout-selector-option:last-child{margin-bottom:0}.k-layout-selector-option .k-column{display:flex;background:rgba(255,255,255,.2);justify-content:center;font-size:var(--text-xs);align-items:center}.k-layout-add-button{display:flex;align-items:center;width:100%;color:var(--color-gray-500);justify-content:center;padding:.75rem 0}.k-layout-add-button:hover{color:var(--color-black)}.k-line-field{position:relative;border:0;height:3rem;width:auto}.k-line-field:after{position:absolute;content:"";top:50%;margin-top:-1px;left:0;right:0;height:1px;background:var(--color-border)}.k-list-field .k-list-input{padding:.375rem .5rem .375rem .75rem}.k-pages-field[data-disabled=true] *{pointer-events:all!important}.k-structure-field{--item-height:38px}.k-structure-table{position:relative;table-layout:fixed;width:100%;background:#fff;font-size:var(--text-sm);border-spacing:0;box-shadow:var(--shadow)}[dir=ltr] .k-structure-table td,[dir=ltr] .k-structure-table th{border-right:1px solid var(--color-background)}[dir=rtl] .k-structure-table td,[dir=rtl] .k-structure-table th{border-left:1px solid var(--color-background)}.k-structure-table td,.k-structure-table th{line-height:1.25em;overflow:hidden;text-overflow:ellipsis}.k-structure-table th,.k-structure-table tr:not(:last-child) td{border-bottom:1px solid var(--color-background)}.k-structure-table td:last-child{overflow:visible}[dir=ltr] .k-structure-table th{text-align:left}[dir=rtl] .k-structure-table th{text-align:right}.k-structure-table th{position:sticky;top:0;left:0;right:0;width:100%;height:var(--item-height);padding:0 .75rem;background:#fff;color:var(--color-gray-600);font-weight:400;z-index:1}[dir=ltr] .k-structure-table td:last-child,[dir=ltr] .k-structure-table th:last-child{border-right:0}[dir=rtl] .k-structure-table td:last-child,[dir=rtl] .k-structure-table th:last-child{border-left:0}.k-structure-table td:last-child,.k-structure-table th:last-child{width:var(--item-height)}.k-structure-table tbody tr:hover td{background:rgba(239,239,239,.25)}@media screen and (max-width:65em){.k-structure-table td,.k-structure-table th{display:none}.k-structure-table td:first-child,.k-structure-table td:last-child,.k-structure-table td:nth-child(2),.k-structure-table th:first-child,.k-structure-table th:last-child,.k-structure-table th:nth-child(2){display:table-cell}}.k-structure-table .k-structure-table-column[data-align]{text-align:var(--align)}.k-structure-table .k-structure-table-column[data-align=right]>.k-input{flex-direction:column;align-items:flex-end}.k-structure-table .k-sort-handle,.k-structure-table .k-structure-table-index,.k-structure-table .k-structure-table-options,.k-structure-table .k-structure-table-options-button{width:var(--item-height);height:var(--item-height)}.k-structure-table .k-structure-table-index{text-align:center}.k-structure-table .k-structure-table-index-number{font-size:var(--text-xs);color:var(--color-gray-500);padding-top:.15rem}.k-structure-table .k-sort-handle,.k-structure-table[data-sortable=true] tr:hover .k-structure-table-index-number{display:none}.k-structure-table[data-sortable=true] tr:hover .k-sort-handle{display:flex!important}.k-structure-table .k-structure-table-options{position:relative;text-align:center}.k-structure-table .k-structure-table-text{padding:0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-structure-table .k-sortable-ghost{background:var(--color-white);box-shadow:#11111140 0 5px 10px;outline:2px solid var(--color-focus);margin-bottom:2px;cursor:grabbing;cursor:-webkit-grabbing}[data-disabled=true] .k-structure-table{background:var(--color-background)}[dir=ltr] [data-disabled=true] .k-structure-table td,[dir=ltr] [data-disabled=true] .k-structure-table th{border-right:1px solid var(--color-border)}[dir=rtl] [data-disabled=true] .k-structure-table td,[dir=rtl] [data-disabled=true] .k-structure-table th{border-left:1px solid var(--color-border)}[data-disabled=true] .k-structure-table td,[data-disabled=true] .k-structure-table th{background:var(--color-background);border-bottom:1px solid var(--color-border)}[data-disabled=true] .k-structure-table td:last-child{overflow:hidden;text-overflow:ellipsis}.k-structure-table .k-sortable-row-fallback{opacity:0!important}.k-structure-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;height:100vh}.k-structure-form{position:relative;z-index:3;border-radius:var(--rounded-xs);margin-bottom:1px;box-shadow:#1111110d 0 0 0 3px;border:1px solid var(--color-border);background:var(--color-background)}.k-structure-form-fields{padding:1.5rem 1.5rem 2rem}.k-structure-form-buttons{border-top:1px solid var(--color-border);display:flex;justify-content:space-between}.k-structure-form-buttons .k-pagination{display:none}@media screen and (min-width:65em){.k-structure-form-buttons .k-pagination{display:flex}}.k-structure-form-buttons .k-pagination>.k-button,.k-structure-form-buttons .k-pagination>span{padding:.875rem 1rem!important}.k-structure-form-cancel-button,.k-structure-form-submit-button{padding:.875rem 1.5rem;line-height:1rem;display:flex}.k-field-counter{display:none}.k-text-field:focus-within .k-field-counter{display:block}.k-users-field[data-disabled=true] *{pointer-events:all!important}.k-writer-field-input{line-height:1.5em;padding:.375rem .5rem}.k-toolbar{background:var(--color-white);border-bottom:1px solid var(--color-background);height:38px}.k-toolbar-wrapper{position:absolute;top:0;left:0;right:0;max-width:100%}.k-toolbar-buttons{display:flex}.k-toolbar-divider{width:1px;background:var(--color-background)}.k-toolbar-button{width:36px;height:36px}.k-toolbar-button:hover{background:rgba(239,239,239,.5)}.k-date-field-preview{padding:0 .75rem}.k-url-field-preview{padding:0 .75rem;overflow:hidden;text-overflow:ellipsis}.k-url-field-preview a{color:var(--color-focus);text-decoration:underline;transition:color .3s;white-space:nowrap;max-width:100%}.k-url-field-preview a:hover{color:var(--color-black)}.k-files-field-preview{display:grid;grid-gap:.5rem;grid-template-columns:repeat(auto-fill,1.525rem);padding:0 .75rem}.k-files-field-preview li{line-height:0}.k-files-field-preview li .k-icon{--size:.85rem;height:100%}.k-list-field-preview{padding:.325rem .75rem;line-height:1.5em}[dir=ltr] .k-list-field-preview ol,[dir=ltr] .k-list-field-preview ul{margin-left:1rem}[dir=rtl] .k-list-field-preview ol,[dir=rtl] .k-list-field-preview ul{margin-right:1rem}.k-list-field-preview ul>li{list-style:disc}.k-list-field-preview ol ul>li,.k-list-field-preview ul ul>li{list-style:circle}.k-list-field-preview ol>li{list-style:decimal}.k-list-field-preview ol>li::marker{color:var(--color-gray-500);font-size:var(--text-xs)}.k-pages-field-preview{padding:0 .25rem 0 .75rem;display:flex}[dir=ltr] .k-pages-field-preview li{margin-right:.5rem}[dir=rtl] .k-pages-field-preview li{margin-left:.5rem}.k-pages-field-preview li{line-height:0}.k-pages-field-preview .k-link{display:flex;align-items:stretch;background:var(--color-background);box-shadow:var(--shadow)}.k-pages-field-preview-image{width:1.525rem;height:1.525rem}.k-pages-field-preview-image .k-icon{--size:.85rem}[dir=ltr] .k-pages-field-preview figcaption{border-left:0}[dir=rtl] .k-pages-field-preview figcaption{border-right:0}.k-pages-field-preview figcaption{flex-grow:1;line-height:1.5em;padding:0 .5rem;border:1px solid var(--color-border);border-radius:var(--rounded-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-time-field-preview{padding:0 .75rem}.k-toggle-field-preview label{padding:0 .25rem 0 .75rem;display:flex;height:38px;cursor:pointer;overflow:hidden;white-space:nowrap}[dir=ltr] .k-toggle-field-preview .k-toggle-input-label{padding-left:.5rem}[dir=ltr] [data-align=right] .k-toggle-field-preview .k-toggle-input-label,[dir=rtl] .k-toggle-field-preview .k-toggle-input-label{padding-right:.5rem}[dir=rtl] [data-align=right] .k-toggle-field-preview .k-toggle-input-label{padding-left:.5rem}[dir=ltr] .k-toggle-field-preview .k-toggle-input{padding-left:.75rem;padding-right:.25rem}.k-toggle-field-preview .k-toggle-input{padding-top:0;padding-bottom:0}[dir=ltr] [data-align=right] .k-toggle-field-preview .k-toggle-input,[dir=rtl] .k-toggle-field-preview .k-toggle-input{padding-left:.25rem;padding-right:.75rem}[dir=rtl] [data-align=right] .k-toggle-field-preview .k-toggle-input{padding-right:.25rem;padding-left:.75rem}[data-align=right] .k-toggle-field-preview .k-toggle-input{flex-direction:row-reverse}.k-users-field-preview{padding:0 .25rem 0 .75rem;display:flex}[dir=ltr] .k-users-field-preview li{margin-right:.5rem}[dir=rtl] .k-users-field-preview li{margin-left:.5rem}.k-users-field-preview li{line-height:0}.k-users-field-preview .k-link{display:flex;align-items:stretch;background:var(--color-background);box-shadow:var(--shadow)}.k-users-field-preview-avatar{width:1.525rem;height:1.525rem;color:var(--color-gray-500)!important}.k-users-field-preview-avatar.k-image{display:block}[dir=ltr] .k-users-field-preview figcaption{border-left:0}[dir=rtl] .k-users-field-preview figcaption{border-right:0}.k-users-field-preview figcaption{flex-grow:1;line-height:1.5em;padding-left:.5rem;padding-right:.5rem;border:1px solid var(--color-border);border-radius:var(--rounded-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-writer-field-preview{padding:.325rem .75rem;line-height:1.5em}.k-writer-field-preview p:not(:last-child){margin-bottom:1.5em}.k-aspect-ratio{position:relative;display:block;overflow:hidden;padding-bottom:100%}.k-aspect-ratio>*{position:absolute!important;top:0;right:0;bottom:0;left:0;height:100%;width:100%;-o-object-fit:contain;object-fit:contain}.k-aspect-ratio[data-cover=true]>*{-o-object-fit:cover;object-fit:cover}.k-bar{display:flex;align-items:center;justify-content:space-between;line-height:1}.k-bar-slot{flex-grow:1}.k-bar-slot[data-position=center]{text-align:center}[dir=ltr] .k-bar-slot[data-position=right]{text-align:right}[dir=rtl] .k-bar-slot[data-position=right]{text-align:left}.k-box{word-wrap:break-word;font-size:var(--text-sm)}[dir=ltr] .k-box:not([data-theme=none]){border-left:2px solid var(--color-gray-500)}[dir=rtl] .k-box:not([data-theme=none]){border-right:2px solid var(--color-gray-500)}.k-box:not([data-theme=none]){background:var(--color-gray-300);border-radius:var(--rounded-xs);line-height:1.25rem;padding:.5rem 1.5rem}.k-box[data-theme=code]{background:var(--color-gray-900);border:1px solid var(--color-black);color:var(--color-light);font-family:Input,Menlo,monospace;font-size:var(--text-sm);line-height:1.5}.k-box[data-theme=button]{padding:0}[dir=ltr] .k-box[data-theme=button] .k-button{text-align:left}[dir=rtl] .k-box[data-theme=button] .k-button{text-align:right}.k-box[data-theme=button] .k-button{padding:0 .75rem;height:2.25rem;width:100%;display:flex;align-items:center;line-height:2rem}[dir=ltr] .k-box[data-theme=info],[dir=ltr] .k-box[data-theme=negative],[dir=ltr] .k-box[data-theme=notice],[dir=ltr] .k-box[data-theme=positive]{border-left-color:var(--theme-light)}[dir=rtl] .k-box[data-theme=info],[dir=rtl] .k-box[data-theme=negative],[dir=rtl] .k-box[data-theme=notice],[dir=rtl] .k-box[data-theme=positive]{border-right-color:var(--theme-light)}.k-box[data-theme=info],.k-box[data-theme=negative],.k-box[data-theme=notice],.k-box[data-theme=positive]{border:0;background:var(--theme-bg)}[dir=ltr] .k-box[data-theme=empty]{border-left:0}[dir=rtl] .k-box[data-theme=empty]{border-right:0}.k-box[data-theme=empty]{text-align:center;padding:3rem 1.5rem;display:flex;justify-content:center;align-items:center;flex-direction:column;background:var(--color-background);border:1px dashed var(--color-border)}.k-box[data-theme=empty] .k-icon{margin-bottom:.5rem;color:var(--color-gray-500)}.k-box[data-theme=empty],.k-box[data-theme=empty] p{color:var(--color-gray-600)}.k-collection-help{padding:.5rem .75rem}.k-collection-footer{display:flex;justify-content:space-between;margin-left:-.75rem;margin-right:-.75rem}.k-collection-pagination{line-height:1.25rem;flex-shrink:0;min-height:2.75rem}.k-collection-pagination .k-pagination .k-button{padding:.5rem .75rem;line-height:1.125rem}.k-column{min-width:0;grid-column-start:span 12}.k-column[data-sticky=true]>div{position:sticky;top:4vh;z-index:2}@media screen and (min-width:65em){.k-column[data-width="1/1"],.k-column[data-width="12/12"],.k-column[data-width="2/2"],.k-column[data-width="3/3"],.k-column[data-width="4/4"],.k-column[data-width="6/6"]{grid-column-start:span 12}.k-column[data-width="11/12"]{grid-column-start:span 11}.k-column[data-width="10/12"],.k-column[data-width="5/6"]{grid-column-start:span 10}.k-column[data-width="3/4"],.k-column[data-width="9/12"]{grid-column-start:span 9}.k-column[data-width="2/3"],.k-column[data-width="4/6"],.k-column[data-width="8/12"]{grid-column-start:span 8}.k-column[data-width="7/12"]{grid-column-start:span 7}.k-column[data-width="1/2"],.k-column[data-width="2/4"],.k-column[data-width="3/6"],.k-column[data-width="6/12"]{grid-column-start:span 6}.k-column[data-width="5/12"]{grid-column-start:span 5}.k-column[data-width="1/3"],.k-column[data-width="2/6"],.k-column[data-width="4/12"]{grid-column-start:span 4}.k-column[data-width="1/4"],.k-column[data-width="3/12"]{grid-column-start:span 3}.k-column[data-width="1/6"],.k-column[data-width="2/12"]{grid-column-start:span 2}.k-column[data-width="1/12"]{grid-column-start:span 1}}.k-column[data-disabled=true]{cursor:not-allowed;opacity:.4}.k-column[data-disabled=true] *{pointer-events:none}.k-column[data-disabled=true] .k-text[data-theme=help] *{pointer-events:initial}.k-dropzone{position:relative}.k-dropzone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;display:none;pointer-events:none;z-index:1}.k-dropzone[data-over=true]:after{display:block;outline:1px solid var(--color-focus);box-shadow:var(--color-focus-outline) 0 0 0 3px}.k-empty{display:flex;align-items:stretch;border-radius:var(--rounded-xs);color:var(--color-gray-600);border:1px dashed var(--color-border)}button.k-empty{width:100%}button.k-empty:focus{outline:0}.k-empty p{font-size:var(--text-sm);color:var(--color-gray-600)}.k-empty>.k-icon{color:var(--color-gray-500)}.k-empty[data-layout=cardlets],.k-empty[data-layout=cards]{text-align:center;padding:1.5rem;justify-content:center;flex-direction:column}.k-empty[data-layout=cardlets] .k-icon,.k-empty[data-layout=cards] .k-icon{margin-bottom:1rem}.k-empty[data-layout=cardlets] .k-icon svg,.k-empty[data-layout=cards] .k-icon svg{width:2rem;height:2rem}.k-empty[data-layout=list]{min-height:38px}[dir=ltr] .k-empty[data-layout=list]>.k-icon{border-right:1px solid rgba(0,0,0,.05)}[dir=rtl] .k-empty[data-layout=list]>.k-icon{border-left:1px solid rgba(0,0,0,.05)}.k-empty[data-layout=list]>.k-icon{width:36px;min-height:36px}.k-empty[data-layout=list]>p{line-height:1.25rem;padding:.5rem .75rem}.k-file-preview{background:var(--color-gray-800)}.k-file-preview-layout{display:grid;grid-template-columns:50% auto}.k-file-preview-layout>*{min-width:0}.k-file-preview-image{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-pattern)}.k-file-preview-image-link{display:block;width:100%;padding:min(4vw,3rem);outline:0}.k-file-preview-image-link[data-tabbed=true]{box-shadow:none;outline:2px solid var(--color-focus);outline-offset:-2px}.k-file-preview-details{padding:1.5rem;flex-grow:1}.k-file-preview-details ul{line-height:1.5em;max-width:50rem;display:grid;grid-gap:1.5rem 3rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.k-file-preview-details h3{font-size:var(--text-sm);font-weight:500;color:var(--color-gray-500)}.k-file-preview-details a,.k-file-preview-details p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffbf;font-size:var(--text-sm)}@media screen and (min-width:30em){.k-file-preview-details ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media screen and (max-width:65em){.k-file-preview-layout{padding:0!important}}@media screen and (min-width:65em){.k-file-preview-layout{grid-template-columns:33.333% auto;align-items:center}.k-file-preview-details{padding:3rem}}@media screen and (min-width:90em){.k-file-preview-layout{grid-template-columns:25% auto}}.k-grid{--columns:12;display:grid;grid-column-gap:0;grid-row-gap:0;grid-template-columns:1fr}@media screen and (min-width:30em){.k-grid[data-gutter=small]{grid-column-gap:1rem;grid-row-gap:1rem}.k-grid[data-gutter=huge],.k-grid[data-gutter=large],.k-grid[data-gutter=medium]{grid-column-gap:1.5rem;grid-row-gap:1.5rem}}@media screen and (min-width:65em){.k-grid{grid-template-columns:repeat(var(--columns),1fr)}.k-grid[data-gutter=large]{grid-column-gap:3rem}.k-grid[data-gutter=huge]{grid-column-gap:4.5rem}}@media screen and (min-width:90em){.k-grid[data-gutter=large]{grid-column-gap:4.5rem}.k-grid[data-gutter=huge]{grid-column-gap:6rem}}@media screen and (min-width:120em){.k-grid[data-gutter=large]{grid-column-gap:6rem}.k-grid[data-gutter=huge]{grid-column-gap:7.5rem}}.k-header{padding-top:4vh;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.k-header .k-headline{min-height:1.25em;margin-bottom:.5rem;word-wrap:break-word}.k-header .k-header-buttons{margin-top:-.5rem;height:3.25rem}.k-header .k-headline-editable{cursor:pointer}[dir=ltr] .k-header .k-headline-editable .k-icon{margin-left:.5rem}[dir=rtl] .k-header .k-headline-editable .k-icon{margin-right:.5rem}.k-header .k-headline-editable .k-icon{color:var(--color-gray-500);opacity:0;transition:opacity .3s;display:inline-block}.k-header .k-headline-editable:hover .k-icon{opacity:1}.k-panel-inside{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.k-panel-inside:focus{outline:0}.k-panel-header{z-index:var(--z-navigation);flex-shrink:0}.k-panel-view{flex-grow:1;padding-bottom:6rem}.k-item{position:relative;background:var(--color-white);border-radius:var(--rounded-sm);box-shadow:var(--shadow);display:grid;grid-template-columns:auto;line-height:1}.k-item a:focus,.k-item:focus{outline:0}.k-item:focus-within{box-shadow:var(--shadow-outline)}.k-item-sort-handle.k-sort-handle{position:absolute;opacity:0;width:1.25rem;height:1.5rem;z-index:2;border-radius:1px}.k-item:hover .k-item-sort-handle{opacity:1}.k-item-figure{grid-area:figure}.k-item-content{grid-area:content;overflow:hidden}.k-item-info,.k-item-title{font-size:var(--text-sm);font-weight:400;text-overflow:ellipsis;white-space:nowrap;line-height:1.125rem;overflow:hidden}.k-item-info{grid-area:info;color:var(--color-gray-500)}.k-item-title-link.k-link[data-=true]{box-shadow:none}.k-item-title-link:after{position:absolute;content:"";top:0;right:0;bottom:0;left:0;z-index:1}.k-item-footer{grid-area:footer;display:flex;justify-content:space-between;align-items:center;min-width:0}[dir=ltr] .k-item-label{margin-right:.5rem}[dir=rtl] .k-item-label{margin-left:.5rem}.k-item-buttons{position:relative;display:flex;justify-content:flex-end;flex-shrink:0;flex-grow:1}.k-item-buttons>.k-button,.k-item-buttons>.k-dropdown{position:relative;width:38px;height:38px;display:flex!important;align-items:center;justify-content:center;line-height:1}.k-item-buttons>.k-button{z-index:1}.k-item-buttons>.k-options-dropdown>.k-options-dropdown-toggle{z-index:var(--z-toolbar)}.k-list-item{display:flex;align-items:center;height:38px}[dir=ltr] .k-list-item .k-item-sort-handle{left:-1.5rem}[dir=rtl] .k-list-item .k-item-sort-handle{right:-1.5rem}.k-list-item .k-item-sort-handle{width:1.5rem}[dir=ltr] .k-list-item .k-item-figure{border-top-left-radius:var(--rounded-sm)}[dir=rtl] .k-list-item .k-item-figure{border-top-right-radius:var(--rounded-sm)}[dir=ltr] .k-list-item .k-item-figure{border-bottom-left-radius:var(--rounded-sm)}[dir=rtl] .k-list-item .k-item-figure{border-bottom-right-radius:var(--rounded-sm)}.k-list-item .k-item-figure{width:38px}[dir=ltr] .k-list-item .k-item-content{margin-left:.75rem}[dir=rtl] .k-list-item .k-item-content{margin-right:.75rem}.k-list-item .k-item-content{display:flex;flex-grow:1;flex-shrink:2;justify-content:space-between;align-items:center}.k-list-item .k-item-info,.k-list-item .k-item-title{flex-grow:1;line-height:1.5rem}[dir=ltr] .k-list-item .k-item-title{margin-right:.5rem}[dir=rtl] .k-list-item .k-item-title{margin-left:.5rem}.k-list-item .k-item-title{flex-shrink:1}[dir=ltr] .k-list-item .k-item-info{text-align:right}[dir=rtl] .k-list-item .k-item-info{text-align:left}[dir=ltr] .k-list-item .k-item-info{margin-right:.5rem}[dir=rtl] .k-list-item .k-item-info{margin-left:.5rem}.k-list-item .k-item-info{flex-shrink:2;justify-self:end}.k-list-item .k-item-buttons,.k-list-item .k-item-footer{flex-shrink:0}.k-item:not(.k-list-item) .k-item-sort-handle{margin:.25rem;background:var(--color-background);box-shadow:var(--shadow-md)}[dir=ltr] .k-item:not(.k-list-item) .k-item-label{margin-left:-2px}[dir=rtl] .k-item:not(.k-list-item) .k-item-label{margin-right:-2px}.k-item:not(.k-list-item) .k-item-content{padding:.625rem .75rem}.k-cardlets-item{height:6rem;grid-template-rows:auto 38px;grid-template-areas:"content" "footer"}.k-cardlets-item[data-has-figure=true]{grid-template-columns:6rem auto;grid-template-areas:"figure content" "figure footer"}[dir=ltr] .k-cardlets-item .k-item-figure{border-top-left-radius:var(--rounded-sm)}[dir=rtl] .k-cardlets-item .k-item-figure{border-top-right-radius:var(--rounded-sm)}[dir=ltr] .k-cardlets-item .k-item-figure{border-bottom-left-radius:var(--rounded-sm)}[dir=rtl] .k-cardlets-item .k-item-figure{border-bottom-right-radius:var(--rounded-sm)}.k-cardlets-item .k-item-footer{padding-top:.5rem;padding-bottom:.5rem}.k-cards-item{grid-template-columns:auto;grid-template-rows:auto 1fr;grid-template-areas:"figure" "content";--item-content-wrapper:0}[dir=ltr] .k-cards-item .k-item-figure,[dir=rtl] .k-cards-item .k-item-figure{border-top-right-radius:var(--rounded-sm);border-top-left-radius:var(--rounded-sm)}.k-cards-item .k-item-content{padding:.5rem .75rem!important;overflow:hidden}.k-cards-item .k-item-info,.k-cards-item .k-item-title{line-height:1.375rem;white-space:normal}.k-cards-item .k-item-info:after,.k-cards-item .k-item-title:after{display:inline-block;content:"\a0";width:var(--item-content-wrapper)}.k-cards-item[data-has-flag=true],.k-cards-item[data-has-options=true]{--item-content-wrapper:38px}.k-cards-item[data-has-flag=true][data-has-options=true]{--item-content-wrapper:76px}.k-cards-item[data-has-info=true] .k-item-title:after{display:none}[dir=ltr] .k-cards-item .k-item-footer{right:0}[dir=rtl] .k-cards-item .k-item-footer{left:0}.k-cards-item .k-item-footer{position:absolute;bottom:0;width:auto}.k-item-figure{overflow:hidden;flex-shrink:0}.k-cards-items{--min:13rem;--max:1fr;--gap:1.5rem;--column-gap:var(--gap);--row-gap:var(--gap);display:grid;grid-column-gap:var(--column-gap);grid-row-gap:var(--row-gap);grid-template-columns:repeat(auto-fill,minmax(var(--min),var(--max)))}@media screen and (min-width:30em){.k-cards-items[data-size=tiny]{--min:10rem}.k-cards-items[data-size=small]{--min:16rem}.k-cards-items[data-size=medium]{--min:24rem}.k-cards-items[data-size=huge],.k-cards-items[data-size=large],.k-column[data-width="1/4"] .k-cards-items,.k-column[data-width="1/5"] .k-cards-items,.k-column[data-width="1/6"] .k-cards-items{--min:1fr}}@media screen and (min-width:65em){.k-cards-items[data-size=large]{--min:32rem}}.k-cardlets-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:.5rem}.k-list-items .k-list-item:not(:last-child){margin-bottom:2px}.k-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:var(--z-dialog);transform:translate(0)}.k-overlay[data-centered=true]{display:flex;align-items:center;justify-content:center}.k-overlay[data-dimmed=true]{background:var(--color-backdrop)}.k-overlay-loader{color:var(--color-white)}.k-panel[data-loading=true]{animation:LoadingCursor .5s}.k-panel[data-dragging=true],.k-panel[data-loading=true]:after{-webkit-user-select:none;-moz-user-select:none;user-select:none}.k-tabs{position:relative;background:#e9e9e9;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}.k-tabs nav{display:flex;justify-content:center;margin-left:-1px;margin-right:-1px}[dir=ltr] .k-tab-button.k-button{border-left:1px solid transparent}[dir=rtl] .k-tab-button.k-button{border-right:1px solid transparent}[dir=ltr] .k-tab-button.k-button{border-right:1px solid var(--color-border)}[dir=rtl] .k-tab-button.k-button{border-left:1px solid var(--color-border)}.k-tab-button.k-button{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;padding:.625rem .75rem;font-size:var(--text-xs);text-transform:uppercase;text-align:center;font-weight:500;flex-grow:1;flex-shrink:1;flex-direction:column;max-width:15rem}@media screen and (min-width:30em){.k-tab-button.k-button{flex-direction:row}[dir=ltr] .k-tab-button.k-button .k-icon{margin-right:.5rem}[dir=rtl] .k-tab-button.k-button .k-icon{margin-left:.5rem}}[dir=ltr] .k-tab-button.k-button>.k-button-text{padding-left:0}[dir=rtl] .k-tab-button.k-button>.k-button-text{padding-right:0}.k-tab-button.k-button>.k-button-text{padding-top:.375rem;font-size:10px;overflow:hidden;max-width:10rem;text-overflow:ellipsis;opacity:1}@media screen and (min-width:30em){.k-tab-button.k-button>.k-button-text{font-size:var(--text-xs);padding-top:0}}[dir=ltr] .k-tab-button:last-child{border-right:1px solid transparent}[dir=rtl] .k-tab-button:last-child{border-left:1px solid transparent}[dir=ltr] .k-tab-button[aria-current]{border-right:1px solid var(--color-border)}[dir=rtl] .k-tab-button[aria-current]{border-left:1px solid var(--color-border)}.k-tab-button[aria-current]{position:relative;background:var(--color-background);pointer-events:none}[dir=ltr] .k-tab-button[aria-current]:first-child{border-left:1px solid var(--color-border)}[dir=rtl] .k-tab-button[aria-current]:first-child{border-right:1px solid var(--color-border)}.k-tab-button[aria-current]:after,.k-tab-button[aria-current]:before{position:absolute;content:""}.k-tab-button[aria-current]:before{left:-1px;right:-1px;top:-1px;height:2px;background:var(--color-black)}.k-tab-button[aria-current]:after{left:0;right:0;bottom:-1px;height:1px;background:var(--color-background)}[dir=ltr] .k-tabs-dropdown{right:0}[dir=rtl] .k-tabs-dropdown{left:0}.k-tabs-dropdown{top:100%}[dir=ltr] .k-tabs-badge{right:2px}[dir=rtl] .k-tabs-badge{left:2px}.k-tabs-badge{position:absolute;top:3px;font-variant-numeric:tabular-nums;line-height:1.5;padding:0 .25rem;border-radius:2px;font-size:10px;box-shadow:var(--shadow-md)}.k-tabs[data-theme=notice] .k-tabs-badge{background:var(--theme-light);color:var(--color-black)}.k-view{padding-left:1.5rem;padding-right:1.5rem;margin:0 auto;max-width:100rem}@media screen and (min-width:30em){.k-view{padding-left:3rem;padding-right:3rem}}@media screen and (min-width:90em){.k-view{padding-left:6rem;padding-right:6rem}}.k-view[data-align=center]{height:100vh;display:flex;align-items:center;justify-content:center;padding:0 3rem;overflow:auto}.k-view[data-align=center]>*{flex-basis:22.5rem}.k-fatal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;z-index:var(--z-fatal);align-items:center;justify-content:center;padding:1.5rem}.k-fatal-box{width:100%;height:100%;display:flex;flex-direction:column;color:var(--color-black);background:var(--color-red-400);box-shadow:var(--shadow-xl);border-radius:var(--rounded)}.k-fatal-box .k-headline{line-height:1;font-size:var(--text-sm);padding:.75rem}.k-fatal-box .k-button{padding:.75rem}.k-fatal-iframe{border:0;width:100%;flex-grow:1;background:var(--color-white)}.k-headline{--size:var(--text-base);font-size:var(--size);font-weight:var(--font-bold);line-height:1.5em}.k-headline[data-size=small]{--size:var(--text-sm)}.k-headline[data-size=large]{--size:var(--text-xl);font-weight:var(--font-normal)}@media screen and (min-width:65em){.k-headline[data-size=large]{--size:var(--text-2xl)}}.k-headline[data-size=huge]{--size:var(--text-2xl);line-height:1.15em}@media screen and (min-width:65em){.k-headline[data-size=huge]{--size:var(--text-3xl)}}.k-headline[data-theme]{color:var(--theme)}[dir=ltr] .k-headline abbr{padding-left:.25rem}[dir=rtl] .k-headline abbr{padding-right:.25rem}.k-headline abbr{color:var(--color-gray-500);text-decoration:none}.k-icon{--size:1rem;position:relative;line-height:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--size)}.k-icon[data-size=medium]{--size:2rem}.k-icon[data-size=large]{--size:3rem}.k-icon svg{width:var(--size);height:var(--size);-moz-transform:scale(1)}.k-icon svg *{fill:currentColor}.k-icon[data-back=black]{color:var(--color-white)}.k-icon[data-back=white]{color:var(--color-gray-900)}.k-icon[data-back=pattern]{color:var(--color-white)}[data-disabled=true] .k-icon[data-back=pattern] svg{opacity:1}.k-icon-emoji{display:block;line-height:1;font-style:normal;font-size:var(--size)}@media only screen and (-webkit-min-device-pixel-ratio:2),not all,only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.k-icon-emoji{font-size:1.25em}}.k-icons{position:absolute;width:0;height:0}.k-image span{position:relative;display:block;line-height:0;padding-bottom:100%}.k-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}[dir=ltr] .k-image-error{left:50%}[dir=rtl] .k-image-error{right:50%}.k-image-error{position:absolute;top:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:.9em}.k-image-error svg *{fill:#ffffff4d}.k-image[data-cover=true] img{-o-object-fit:cover;object-fit:cover}.k-image[data-back=black] span{background:var(--color-gray-900)}.k-image[data-back=white] span{background:var(--color-white);color:var(--color-gray-900)}.k-image[data-back=white] .k-image-error{background:var(--color-gray-900);color:var(--color-white)}.k-image[data-back=pattern] span{background:var(--color-gray-800) var(--bg-pattern)}.k-loader{z-index:1}.k-loader-icon{animation:Spin .9s linear infinite}.k-offline-warning{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-offline);background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;line-height:1}.k-offline-warning p{display:flex;align-items:center;gap:.5rem;background:var(--color-white);box-shadow:var(--shadow);padding:.75rem;border-radius:var(--rounded)}.k-offline-warning p .k-icon{color:var(--color-red-400)}.k-progress{-webkit-appearance:none;width:100%;height:.5rem;border-radius:5rem;background:var(--color-border);overflow:hidden;border:0}.k-progress::-webkit-progress-bar{border:0;background:var(--color-border);height:.5rem;border-radius:20px}.k-progress::-webkit-progress-value{border-radius:inherit;background:var(--color-focus);-webkit-transition:width .3s;transition:width .3s}.k-progress::-moz-progress-bar{border-radius:inherit;background:var(--color-focus);-moz-transition:width .3s;transition:width .3s}[dir=ltr] .k-registration,[dir=ltr] .k-registration p{margin-right:1rem}[dir=rtl] .k-registration,[dir=rtl] .k-registration p{margin-left:1rem}.k-registration{display:flex;align-items:center}.k-registration p{color:var(--color-negative-light);font-size:var(--text-sm);font-weight:600}@media screen and (max-width:90em){.k-registration p{display:none}}.k-registration .k-button{color:var(--color-white)}.k-sort-handle{cursor:move;cursor:grab;cursor:-webkit-grab;color:var(--color-gray-900);justify-content:center;align-items:center;line-height:0;width:2rem;height:2rem;display:flex;will-change:opacity,color;transition:opacity .3s;z-index:1}.k-sort-handle svg{width:1rem;height:1rem}.k-sort-handle:active{cursor:grabbing;cursor:-webkit-grabbing}.k-status-icon svg{width:14px;height:14px}.k-status-icon .k-icon{color:var(--theme-light)}.k-status-icon .k-button-text{color:var(--color-black)}.k-status-icon[data-disabled=true]{opacity:1!important}.k-status-icon[data-disabled=true] .k-icon{color:var(--color-gray-400);opacity:.5}.k-text{line-height:1.5em}[dir=ltr] .k-text ol,[dir=ltr] .k-text ul{margin-left:1rem}[dir=rtl] .k-text ol,[dir=rtl] .k-text ul{margin-right:1rem}.k-text li{list-style:inherit}.k-text p,.k-text>ol,.k-text>ul{margin-bottom:1.5em}.k-text a{text-decoration:underline}.k-text>:last-child{margin-bottom:0}.k-text[data-size=tiny]{font-size:var(--text-xs)}.k-text[data-size=small]{font-size:var(--text-sm)}.k-text[data-size=medium]{font-size:var(--text-base)}.k-text[data-size=large]{font-size:var(--text-xl)}.k-text[data-align]{text-align:var(--align)}.k-text[data-theme=help]{font-size:var(--text-sm);color:var(--color-gray-600);line-height:1.25rem}.k-dialog-body .k-text{word-wrap:break-word}.k-user-info{display:flex;align-items:center;line-height:1;font-size:var(--text-sm)}[dir=ltr] .k-user-info .k-image{margin-right:.75rem}[dir=rtl] .k-user-info .k-image{margin-left:.75rem}.k-user-info .k-image{width:1.5rem}[dir=ltr] .k-user-info .k-icon{margin-right:.75rem}[dir=rtl] .k-user-info .k-icon{margin-left:.75rem}.k-user-info .k-icon{width:1.5rem;height:1.5rem;background:var(--color-black);color:var(--color-white)}.k-breadcrumb{padding-left:.5rem;padding-right:.5rem}.k-breadcrumb-dropdown{height:2.5rem;width:2.5rem;display:flex;align-items:center;justify-content:center}.k-breadcrumb ol{display:none;align-items:center}@media screen and (min-width:30em){.k-breadcrumb ol{display:flex}.k-breadcrumb-dropdown{display:none}}.k-breadcrumb li,.k-breadcrumb-link{display:flex;align-items:center;min-width:0}.k-breadcrumb-link{font-size:var(--text-sm);align-self:stretch;padding-top:.625rem;padding-bottom:.625rem;line-height:1.25rem}.k-breadcrumb li{flex-shrink:3}.k-breadcrumb li:last-child{flex-shrink:1}.k-breadcrumb li:not(:last-child):after{content:"/";padding-left:.5rem;padding-right:.5rem;opacity:.5;flex-shrink:0}.k-breadcrumb li:not(:first-child):not(:last-child){max-width:15vw}[dir=ltr] .k-breadcrumb-icon{margin-right:.5rem}[dir=rtl] .k-breadcrumb-icon{margin-left:.5rem}.k-breadcrumb-link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button{line-height:inherit;border:0;font-family:var(--font-sans);font-size:1rem;color:currentColor;background:0 0;cursor:pointer}button::-moz-focus-inner{padding:0;border:0}.k-button{display:inline-block;position:relative;font-size:var(--text-sm);transition:color .3s;outline:0}.k-button:focus,.k-button:hover{outline:0}.k-button *{vertical-align:middle}.k-button[data-responsive=true] .k-button-text{display:none}@media screen and (min-width:30em){.k-button[data-responsive=true] .k-button-text{display:inline}}.k-button[data-theme]{color:var(--theme)}.k-button-icon{display:inline-flex;align-items:center;line-height:0}[dir=ltr] .k-button-icon~.k-button-text{padding-left:.5rem}[dir=rtl] .k-button-icon~.k-button-text{padding-right:.5rem}.k-button-text{opacity:.75}.k-button:focus .k-button-text,.k-button:hover .k-button-text{opacity:1}.k-button-text b,.k-button-text span{vertical-align:baseline}.k-button[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.k-card-options>.k-button[data-disabled=true]{display:inline-flex}.k-button-group{--padding-x:.75rem;--padding-y:1rem;--line-height:1rem;font-size:0;margin:0 calc(var(--padding-x)*-1)}.k-button-group>.k-dropdown{height:calc(var(--line-height) + (var(--padding-y)*2));display:inline-block}.k-button-group>.k-button,.k-button-group>.k-dropdown>.k-button{padding:var(--padding-y) var(--padding-x);line-height:var(--line-height)}.k-button-group .k-dropdown-content{top:calc(100% + 1px);margin:0 var(--padding-x)}.k-dropdown{position:relative}[dir=ltr] .k-dropdown-content{text-align:left}[dir=rtl] .k-dropdown-content{text-align:right}.k-dropdown-content{position:absolute;top:100%;background:var(--color-black);color:var(--color-white);z-index:var(--z-dropdown);box-shadow:var(--shadow-lg);border-radius:var(--rounded-xs);margin-bottom:6rem}[dir=ltr] .k-dropdown-content[data-align=left]{left:0}[dir=ltr] .k-dropdown-content[data-align=right],[dir=rtl] .k-dropdown-content[data-align=left]{right:0}[dir=rtl] .k-dropdown-content[data-align=right]{left:0}.k-dropdown-content>.k-dropdown-item:first-child{margin-top:.5rem}.k-dropdown-content>.k-dropdown-item:last-child{margin-bottom:.5rem}.k-dropdown-content[data-dropup=true]{top:auto;bottom:100%;margin-bottom:.5rem}.k-dropdown-content hr{border-color:currentColor;opacity:.2;margin:.5rem 1rem}.k-dropdown-content[data-theme=light]{background:var(--color-white);color:var(--color-black)}.k-dropdown-item{white-space:nowrap;line-height:1;display:flex;width:100%;align-items:center;font-size:var(--text-sm);padding:6px 16px}.k-dropdown-item:focus{outline:0;box-shadow:var(--shadow-outline)}[dir=ltr] .k-dropdown-item .k-button-figure{padding-right:.5rem}[dir=rtl] .k-dropdown-item .k-button-figure{padding-left:.5rem}.k-dropdown-item .k-button-figure{text-align:center}.k-link{outline:0}.k-options-dropdown,.k-options-dropdown-toggle{display:flex;justify-content:center;align-items:center;height:38px}.k-options-dropdown-toggle{min-width:38px;padding:0 .75rem}.k-pagination{-webkit-user-select:none;-moz-user-select:none;user-select:none;direction:ltr}.k-pagination .k-button{padding:1rem}.k-pagination-details{white-space:nowrap}.k-pagination>span{font-size:var(--text-sm)}.k-pagination[data-align]{text-align:var(--align)}[dir=ltr] .k-dropdown-content.k-pagination-selector{left:50%}[dir=rtl] .k-dropdown-content.k-pagination-selector{right:50%}.k-dropdown-content.k-pagination-selector{position:absolute;top:100%;transform:translate(-50%);background:var(--color-black)}[dir=ltr] .k-dropdown-content.k-pagination-selector{direction:ltr}[dir=rtl] .k-dropdown-content.k-pagination-selector{direction:rtl}.k-pagination-settings{display:flex;align-items:center;justify-content:space-between}.k-pagination-settings .k-button{line-height:1}[dir=ltr] .k-pagination-settings label{border-right:1px solid rgba(255,255,255,.35)}[dir=rtl] .k-pagination-settings label{border-left:1px solid rgba(255,255,255,.35)}.k-pagination-settings label{display:flex;align-items:center;padding:.625rem 1rem;font-size:var(--text-xs)}[dir=ltr] .k-pagination-settings label span{margin-right:.5rem}[dir=rtl] .k-pagination-settings label span{margin-left:.5rem}.k-prev-next{direction:ltr}.k-search{max-width:30rem;margin:2.5rem auto;box-shadow:var(--shadow-lg)}.k-search-input{background:var(--color-light);display:flex}.k-search-types{flex-shrink:0;display:flex}[dir=ltr] .k-search-types>.k-button{padding-left:1rem}[dir=rtl] .k-search-types>.k-button{padding-right:1rem}.k-search-types>.k-button{font-size:var(--text-base);line-height:1;height:2.5rem}.k-search-types>.k-button .k-icon{height:2.5rem}.k-search-types>.k-button .k-button-text{opacity:1;font-weight:500}.k-search-input input{background:0 0;flex-grow:1;font:inherit;padding:.75rem;border:0;height:2.5rem}.k-search-close{width:3rem;line-height:1}.k-search-close .k-icon-loader{animation:Spin 2s linear infinite}.k-search input:focus{outline:0}.k-search-results{padding:.5rem 1rem 1rem;background:var(--color-light)}.k-search .k-item:not(:last-child){margin-bottom:.25rem}.k-search .k-item[data-selected=true]{outline:2px solid var(--color-focus)}.k-search .k-item-info,.k-search-empty{font-size:var(--text-xs)}.k-search-empty{text-align:center;color:var(--color-gray-600)}.k-tag{position:relative;font-size:var(--text-sm);line-height:1;cursor:pointer;background-color:var(--color-gray-900);color:var(--color-light);border-radius:var(--rounded-sm);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none}.k-tag:focus{outline:0;background-color:var(--color-focus);color:#fff}.k-tag-text{padding:.3rem .75rem .375rem;line-height:var(--leading-tight)}[dir=ltr] .k-tag-toggle{border-left:1px solid rgba(255,255,255,.15)}[dir=rtl] .k-tag-toggle{border-right:1px solid rgba(255,255,255,.15)}.k-tag-toggle{color:#ffffffb3;width:1.75rem;height:100%;display:flex;flex-shrink:0;align-items:center;justify-content:center}.k-tag-toggle:hover{background:rgba(255,255,255,.2);color:#fff}[data-disabled=true] .k-tag{background-color:var(--color-gray-600)}[data-disabled=true] .k-tag .k-tag-toggle{display:none}.k-topbar{--bg:var(--color-gray-900);position:relative;color:var(--color-white);flex-shrink:0;height:2.5rem;line-height:1;background:var(--bg)}.k-topbar-wrapper{position:relative;display:flex;align-items:center;margin-left:-.75rem;margin-right:-.75rem}[dir=ltr] .k-topbar-wrapper:after{left:100%}[dir=rtl] .k-topbar-wrapper:after{right:100%}.k-topbar-wrapper:after{position:absolute;content:"";height:2.5rem;background:var(--bg);width:3rem}.k-topbar-menu{flex-shrink:0}.k-topbar-menu ul{padding:.5rem 0}.k-topbar .k-button[data-theme]{color:var(--theme-light)}.k-topbar .k-button-text{opacity:1}.k-topbar-menu-button{display:flex;align-items:center}.k-topbar-menu .k-link[aria-current]{color:var(--color-focus);font-weight:500}.k-topbar-button{padding:.75rem;line-height:1;font-size:var(--text-sm)}.k-topbar-button .k-button-text{display:flex}[dir=ltr] .k-topbar-view-button{padding-right:0}[dir=rtl] .k-topbar-view-button{padding-left:0}.k-topbar-view-button{flex-shrink:0;display:flex;align-items:center}[dir=ltr] .k-topbar-view-button .k-icon{margin-right:.5rem}[dir=rtl] .k-topbar-view-button .k-icon{margin-left:.5rem}[dir=ltr] .k-topbar-signals{right:0}[dir=rtl] .k-topbar-signals{left:0}.k-topbar-signals{position:absolute;top:0;background:var(--bg);height:2.5rem;display:flex;align-items:center}.k-topbar-signals:before{position:absolute;content:"";top:-.5rem;bottom:0;width:.5rem;background:-webkit-linear-gradient(inline-start,rgba(17,17,17,0),#111)}.k-topbar-signals .k-button{line-height:1}.k-topbar-notification{font-weight:var(--font-bold);line-height:1;display:flex}@media screen and (max-width:30em){.k-topbar .k-button[data-theme=negative] .k-button-text{display:none}}.k-section,.k-sections{padding-bottom:3rem}.k-section-header{position:relative;display:flex;align-items:baseline;z-index:1}.k-section-header .k-headline{line-height:1.25rem;padding-bottom:.75rem;min-height:2rem}[dir=ltr] .k-section-header .k-button-group{right:0}[dir=rtl] .k-section-header .k-button-group{left:0}.k-section-header .k-button-group{position:absolute;top:-.875rem}.k-info-section-headline{margin-bottom:.5rem}.k-pages-section[data-processing=true],.k-files-section[data-processing=true]{pointer-events:none}.k-fields-issue-headline{margin-bottom:.5rem}.k-fields-section input[type=submit]{display:none}[data-locked=true] .k-fields-section{opacity:.2;pointer-events:none}.k-user-profile{background:var(--color-white)}.k-user-profile>.k-view{padding-top:3rem;padding-bottom:3rem;display:flex;align-items:center;line-height:0}[dir=ltr] .k-user-profile .k-button-group{margin-left:.75rem}[dir=rtl] .k-user-profile .k-button-group{margin-right:.75rem}.k-user-profile .k-button-group{overflow:hidden}.k-user-profile .k-button-group .k-button{display:block;padding-top:.25rem;padding-bottom:.25rem;overflow:hidden;white-space:nowrap}.k-user-view-image .k-icon,.k-user-view-image .k-image{width:5rem;height:5rem;line-height:0}.k-user-view-image[data-disabled=true]{opacity:1}.k-user-view-image .k-image{display:block}.k-user-view-image .k-button-text{opacity:1}.k-user-name-placeholder{color:var(--color-gray-500);transition:color .3s}.k-header[data-editable=true] .k-user-name-placeholder:hover{color:var(--color-gray-900)}.k-error-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.k-error-view-content{line-height:1.5em;max-width:25rem;text-align:center}.k-error-view-icon{color:var(--color-negative);display:inline-block}.k-error-view-content p:not(:last-child){margin-bottom:.75rem}.k-installation-view .k-button{display:block;margin-top:1.5rem}.k-installation-view .k-headline{margin-bottom:.75rem}.k-installation-issues{line-height:1.5em;font-size:var(--text-sm)}[dir=ltr] .k-installation-issues li{padding-left:3.5rem}[dir=rtl] .k-installation-issues li{padding-right:3.5rem}.k-installation-issues li{position:relative;padding:1.5rem;background:var(--color-white)}[dir=ltr] .k-installation-issues .k-icon{left:1.5rem}[dir=rtl] .k-installation-issues .k-icon{right:1.5rem}.k-installation-issues .k-icon{position:absolute;top:calc(1.5rem + 2px)}.k-installation-issues .k-icon svg *{fill:var(--color-negative)}.k-installation-issues li:not(:last-child){margin-bottom:2px}.k-installation-issues li code{font:inherit;color:var(--color-negative)}[dir=ltr] .k-installation-view .k-button[type=submit]{margin-left:-1rem}[dir=rtl] .k-installation-view .k-button[type=submit]{margin-right:-1rem}.k-installation-view .k-button[type=submit]{padding:1rem}.k-languages-view .k-header{margin-bottom:1.5rem}.k-languages-view-section-header{margin-bottom:.5rem}.k-languages-view-section{margin-bottom:3rem}.k-login-fields{position:relative}[dir=ltr] .k-login-toggler{right:0}[dir=rtl] .k-login-toggler{left:0}.k-login-toggler{position:absolute;top:0;z-index:1;text-decoration:underline;font-size:.875rem}.k-login-form label abbr{visibility:hidden}.k-login-buttons{display:flex;align-items:center;justify-content:flex-end;padding:1.5rem 0}[dir=ltr] .k-login-button{margin-right:-1rem}[dir=rtl] .k-login-button{margin-left:-1rem}.k-login-button{padding:.5rem 1rem;font-weight:500;transition:opacity .3s}.k-login-button span{opacity:1}.k-login-button[disabled]{opacity:.25}.k-login-back-button,.k-login-checkbox{display:flex;align-items:center;flex-grow:1}[dir=ltr] .k-login-back-button{margin-left:-1rem}[dir=rtl] .k-login-back-button{margin-right:-1rem}.k-login-checkbox{padding:.5rem 0;font-size:var(--text-sm);cursor:pointer}.k-login-checkbox .k-checkbox-text{opacity:.75;transition:opacity .3s}.k-login-checkbox:focus span,.k-login-checkbox:hover span{opacity:1}.k-password-reset-view .k-user-info{height:38px;margin-bottom:2.25rem;padding:.5rem;background:var(--color-white);border-radius:var(--rounded-xs);box-shadow:var(--shadow)}.k-system-view .k-header{margin-bottom:1.5rem}.k-system-view-section-header{margin-bottom:.5rem}.k-system-view-section{margin-bottom:3rem}.k-system-info-box{display:grid;grid-gap:1px;font-size:var(--text-sm)}@media screen and (min-width:45rem){.k-system-info-box{grid-template-columns:repeat(var(--columns),1fr)}}.k-system-info-box li,.k-system-plugins td,.k-system-plugins th{padding:.75rem;background:var(--color-white)}.k-system-info-box dt{font-size:var(--text-sm);color:var(--color-gray-600);margin-bottom:.25rem}.k-system-warning{color:var(--color-negative);font-weight:var(--font-bold);display:inline-flex}.k-system-warning .k-button-text{opacity:1}.k-system-plugins{width:100%;font-variant-numeric:tabular-nums;table-layout:fixed;border-spacing:1px}.k-system-plugins td,.k-system-plugins th{text-align:left;font-weight:var(--font-normal);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-system-plugins .desk{display:none}@media screen and (min-width:45rem){.k-system-plugins .desk{display:table-cell}}.k-system-plugins th{color:var(--color-gray-600)}.k-block-type-code-editor{position:relative;font-size:var(--text-sm);line-height:1.5em;background:#000;border-radius:var(--rounded);padding:.5rem .75rem 3rem;color:#fff;font-family:var(--font-mono)}.k-block-type-code-editor .k-editor{white-space:pre-wrap;line-height:1.75em}[dir=ltr] .k-block-type-code-editor-language{right:0}[dir=ltr] .k-block-type-code-editor-language .k-icon,[dir=rtl] .k-block-type-code-editor-language{left:0}.k-block-type-code-editor-language{font-size:var(--text-sm);position:absolute;bottom:0}[dir=rtl] .k-block-type-code-editor-language .k-icon{right:0}.k-block-type-code-editor-language .k-icon{position:absolute;top:0;height:1.5rem;display:flex;width:2rem;z-index:0}.k-block-type-code-editor-language .k-select-input{position:relative;padding:.325rem .75rem .5rem 2rem;z-index:1;font-size:var(--text-xs)}.k-block-type-default .k-block-title{line-height:1.5em}.k-block-type-gallery ul{display:grid;grid-gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));line-height:0;align-items:center;justify-content:center;cursor:pointer}.k-block-type-gallery li:empty{padding-bottom:100%;background:var(--color-background)}.k-block-type-gallery li{display:flex;position:relative;align-items:center;justify-content:center}.k-block-type-gallery li img{flex-grow:1;max-width:100%}.k-block-type-heading-input{line-height:1.25em;font-weight:var(--font-bold)}.k-block-type-heading-input[data-level=h1]{font-size:var(--text-3xl);line-height:1.125em}.k-block-type-heading-input[data-level=h2]{font-size:var(--text-2xl)}.k-block-type-heading-input[data-level=h3]{font-size:var(--text-xl)}.k-block-type-heading-input[data-level=h4]{font-size:var(--text-lg)}.k-block-type-heading-input[data-level=h5]{line-height:1.5em;font-size:var(--text-base)}.k-block-type-heading-input[data-level=h6]{line-height:1.5em;font-size:var(--text-sm)}.k-block-type-heading-input .ProseMirror strong{font-weight:700}.k-block-type-image .k-block-figure-container{display:block;text-align:center;line-height:0}.k-block-type-image-auto{max-width:100%;max-height:30rem}.k-block-type-line hr{margin-top:.75rem;margin-bottom:.75rem;border:0;border-top:2px solid var(--color-gray-400)}.k-block-type-markdown-input{position:relative;font-size:var(--text-sm);line-height:1.5em;background:var(--color-background);border-radius:var(--rounded);padding:.5rem .5rem 0;font-family:var(--font-mono)}[dir=ltr] .k-block-type-quote-editor{padding-left:1rem}[dir=rtl] .k-block-type-quote-editor{padding-right:1rem}[dir=ltr] .k-block-type-quote-editor{border-left:2px solid var(--color-black)}[dir=rtl] .k-block-type-quote-editor{border-right:2px solid var(--color-black)}.k-block-type-quote-text{font-size:var(--text-xl);margin-bottom:.25rem;line-height:1.25em}.k-block-type-quote-citation{font-style:italic;font-size:var(--text-sm);color:var(--color-gray-600)}.k-block-type-table-preview{cursor:pointer;width:100%;border:1px solid var(--color-gray-300);border-spacing:0;border-radius:var(--rounded-sm);overflow:hidden;table-layout:fixed}[dir=ltr] .k-block-type-table-preview td,[dir=ltr] .k-block-type-table-preview th{text-align:left}[dir=rtl] .k-block-type-table-preview td,[dir=rtl] .k-block-type-table-preview th{text-align:right}.k-block-type-table-preview td{font-size:var(--text-sm)}.k-block-type-table-preview td,.k-block-type-table-preview th{line-height:1.5em;padding:.5rem .75rem}.k-block-type-table-preview th,.k-block-type-table-preview tr:not(:last-child) td{border-bottom:1px solid var(--color-gray-300)}.k-block-type-table-preview th{background:var(--color-gray-100);font-family:var(--font-mono);font-size:var(--text-xs)}.k-block-type-table-preview-empty{color:var(--color-gray-600);font-size:var(--text-sm)}.k-block-type-table-preview [data-align]{text-align:var(--align)}.k-block-type-text-input{font-size:var(--text-base);line-height:1.5em;height:100%}.k-block-container-type-text,.k-block-type-text,.k-block-type-text .k-writer .ProseMirror{height:100%}.k-block-container{position:relative;padding:.75rem;background:var(--color-white)}.k-block-container:not(:last-of-type){border-bottom:1px dashed rgba(0,0,0,.1)}.k-block-container:focus{outline:0}.k-block-container[data-batched=true],.k-block-container[data-selected=true]{z-index:2;border-bottom-color:transparent}.k-block-container[data-batched=true]:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:rgba(238,242,246,.375);mix-blend-mode:multiply;border:1px solid var(--color-focus)}.k-block-container[data-selected=true]{box-shadow:var(--color-focus) 0 0 0 1px,var(--color-focus-outline) 0 0 0 3px}[dir=ltr] .k-block-container .k-block-options{right:.75rem}[dir=rtl] .k-block-container .k-block-options{left:.75rem}.k-block-container .k-block-options{display:none;position:absolute;top:0;margin-top:calc(-1.75rem + 2px)}.k-block-container[data-last-in-batch=true]>.k-block-options,.k-block-container[data-selected=true]>.k-block-options{display:flex}.k-block-container[data-hidden=true] .k-block{opacity:.25}.k-drawer-options .k-button[data-disabled=true]{vertical-align:middle;display:inline-grid}[data-disabled=true] .k-block-container{background:var(--color-background)}.k-block-importer.k-dialog{background:#313740;color:var(--color-white)}.k-block-importer .k-dialog-body{padding:0}.k-block-importer label{display:block;padding:var(--spacing-6) var(--spacing-6) 0;color:var(--color-gray-400)}.k-block-importer label kbd{background:rgba(0,0,0,.5);font-family:var(--font-mono);letter-spacing:.1em;padding:.25rem;border-radius:var(--rounded);margin:0 .25rem}.k-block-importer textarea{width:100%;height:20rem;background:0 0;font:inherit;color:var(--color-white);border:0;padding:var(--spacing-6);resize:none}.k-block-importer textarea:focus{outline:0}.k-blocks{background:var(--color-white);box-shadow:var(--shadow)}[data-disabled=true] .k-blocks{background:var(--color-background)}.k-blocks[data-multi-select-key=true] .k-block-container>*{pointer-events:none}.k-blocks[data-empty=true]{padding:0;background:0 0;box-shadow:none}.k-blocks .k-sortable-ghost{outline:2px solid var(--color-focus);box-shadow:#11111140 0 5px 10px;cursor:grabbing;cursor:-webkit-grabbing}.k-blocks-list>.k-blocks-empty{display:flex;align-items:center}.k-blocks-list>.k-blocks-empty:not(:only-child){display:none}.k-block-figure{cursor:pointer}.k-block-figure iframe{border:0;pointer-events:none;background:var(--color-black)}.k-block-figure figcaption{padding-top:.5rem;color:var(--color-gray-600);font-size:var(--text-sm);text-align:center}.k-block-figure-empty.k-button{display:flex;width:100%;height:6rem;border-radius:var(--rounded-sm);align-items:center;justify-content:center;color:var(--color-gray-600);background:var(--color-background)}.k-block-options{display:flex;align-items:center;background:var(--color-white);z-index:var(--z-dropdown);box-shadow:#0000001a -2px 0 5px,var(--shadow),var(--shadow-xl);color:var(--color-black);border-radius:var(--rounded)}[dir=ltr] .k-block-options-button{border-right:1px solid var(--color-background)}[dir=rtl] .k-block-options-button{border-left:1px solid var(--color-background)}.k-block-options-button{--block-options-button-size:30px;width:var(--block-options-button-size);height:var(--block-options-button-size);line-height:1;display:inline-flex;align-items:center;justify-content:center}[dir=ltr] .k-block-options-button:first-child{border-top-left-radius:var(--rounded)}[dir=rtl] .k-block-options-button:first-child{border-top-right-radius:var(--rounded)}[dir=ltr] .k-block-options-button:first-child{border-bottom-left-radius:var(--rounded)}[dir=rtl] .k-block-options-button:first-child{border-bottom-right-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-child{border-top-right-radius:var(--rounded)}[dir=rtl] .k-block-options-button:last-child{border-top-left-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-child{border-bottom-right-radius:var(--rounded)}[dir=rtl] .k-block-options-button:last-child{border-bottom-left-radius:var(--rounded)}[dir=ltr] .k-block-options-button:last-of-type{border-right:0}[dir=rtl] .k-block-options-button:last-of-type{border-left:0}.k-block-options-button[aria-current]{color:var(--color-focus)}.k-block-options-button:hover{background:var(--color-gray-100)}.k-block-options .k-dropdown-content{margin-top:.5rem}.k-block-selector.k-dialog{background:var(--color-dark);color:var(--color-white)}.k-block-selector .k-headline{margin-bottom:1rem}.k-block-selector details:not(:last-of-type){margin-bottom:1.5rem}.k-block-selector summary{font-size:var(--text-xs);cursor:pointer;color:var(--color-gray-400)}.k-block-selector details:only-of-type summary{pointer-events:none}.k-block-selector summary:focus{outline:0}.k-block-selector summary:focus-visible{color:var(--color-green-400)}.k-block-types{display:grid;grid-gap:2px;margin-top:.75rem;grid-template-columns:repeat(1,1fr)}[dir=ltr] .k-block-types .k-button{text-align:left}[dir=rtl] .k-block-types .k-button{text-align:right}.k-block-types .k-button{display:flex;align-items:flex-start;background:rgba(0,0,0,.5);width:100%;padding:0 .75rem 0 0;line-height:1.5em}.k-block-types .k-button:focus{outline:2px solid var(--color-green-300)}.k-block-types .k-button .k-button-text{padding:.5rem 0 .5rem .5rem}.k-block-types .k-button .k-icon{width:38px;height:38px}.k-clipboard-hint{padding-top:1.5rem;font-size:var(--text-xs);color:var(--color-gray-400)}.k-clipboard-hint kbd{background:rgba(0,0,0,.5);font-family:var(--font-mono);letter-spacing:.1em;padding:.25rem;border-radius:var(--rounded);margin:0 .25rem}[dir=ltr] .k-block-title{padding-right:.75rem}[dir=rtl] .k-block-title{padding-left:.75rem}.k-block-title{display:flex;align-items:center;min-width:0;font-size:var(--text-sm);line-height:1}[dir=ltr] .k-block-icon{margin-right:.5rem}[dir=rtl] .k-block-icon{margin-left:.5rem}.k-block-icon{width:1rem;color:var(--color-gray-500)}[dir=ltr] .k-block-name{margin-right:.5rem}[dir=rtl] .k-block-name{margin-left:.5rem}.k-block-label{color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-align=left]{--align:start}[data-align=center]{--align:center}[data-align=right]{--align:end}[data-invalid=true]{border:1px solid var(--color-negative-outline);box-shadow:var(--color-negative-outline) 0 0 3px 2px}[data-invalid=true]:focus-within{border:var(--field-input-invalid-focus-border)!important;box-shadow:var(--color-negative-outline) 0 0 0 2px!important}[data-tabbed=true]{box-shadow:var(--shadow-outline)}[data-theme=positive],[data-theme=success]{--theme:var(--color-positive);--theme-light:var(--color-positive-light);--theme-bg:var(--color-green-300)}[data-theme=error],[data-theme=negative]{--theme:var(--color-negative);--theme-light:var(--color-negative-light);--theme-bg:var(--color-red-300)}[data-theme=notice]{--theme:var(--color-notice);--theme-light:var(--color-notice-light);--theme-bg:var(--color-orange-300)}[data-theme=info]{--theme:var(--color-focus);--theme-light:var(--color-focus-light);--theme-bg:var(--color-blue-200)}.scroll-x,.scroll-x-auto,.scroll-y,.scroll-y-auto{-webkit-overflow-scrolling:touch;transform:translate(0)}.scroll-x,.scroll-x-auto{overflow-x:scroll;overflow-y:hidden}.scroll-x-auto{overflow-x:auto}.scroll-y,.scroll-y-auto{overflow-x:hidden;overflow-y:scroll}.scroll-y-auto{overflow-y:auto}.k-offscreen,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
diff --git a/kirby/panel/dist/img/icons.svg b/kirby/panel/dist/img/icons.svg
index e536a03..7bcd793 100755
--- a/kirby/panel/dist/img/icons.svg
+++ b/kirby/panel/dist/img/icons.svg
@@ -422,6 +422,12 @@
this.numberOfDays;e.push(n?"":t)}return e},isDisabled(t){const e=this.toDate(t);return this.disabled||e.isBefore(this.current.min,"day")||e.isAfter(this.current.max,"day")},isSelected(t){return this.toDate(t).isSame(this.dt,"day")},isToday(t){const e=this.$library.dayjs();return this.toDate(t).isSame(e,"day")},onInput(){var t;this.$emit("input",(null==(t=this.dt)?void 0:t.toISO("date"))||null)},onNext(){const t=this.toDate().add(1,"month");this.show(t)},onPrev(){const t=this.toDate().subtract(1,"month");this.show(t)},select(t){const e="today"===t?this.$library.dayjs().merge(this.toDate(),"time"):this.toDate(t);this.dt=e,this.show(e),this.onInput()},show(t){this.current.year=t.year(),this.current.month=t.month()},toDate(t=1,e=this.current.month){return this.$library.dayjs(`${this.current.year}-${e+1}-${t}`)},toOptions(t,e){for(var n=[],s=t;s<=e;s++)n.push({value:s,text:this.$helper.pad(s)});return n}}},Je={};var Ge=Rt(Ke,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"k-calendar-input"},[n("nav",[n("k-button",{attrs:{icon:"angle-left"},on:{click:t.onPrev}}),n("span",{staticClass:"k-calendar-selects"},[n("k-select-input",{attrs:{options:t.months,disabled:t.disabled,required:!0},model:{value:t.current.month,callback:function(e){t.$set(t.current,"month",t._n(e))},expression:"current.month"}}),n("k-select-input",{attrs:{options:t.years,disabled:t.disabled,required:!0},model:{value:t.current.year,callback:function(e){t.$set(t.current,"year",t._n(e))},expression:"current.year"}})],1),n("k-button",{attrs:{icon:"angle-right"},on:{click:t.onNext}})],1),n("table",{staticClass:"k-calendar-table"},[n("thead",[n("tr",t._l(t.weekdays,(function(e){return n("th",{key:"weekday_"+e},[t._v(" "+t._s(e)+" ")])})),0)]),n("tbody",t._l(t.weeks,(function(e){return n("tr",{key:"week_"+e},t._l(t.days(e),(function(e,s){return n("td",{key:"day_"+s,staticClass:"k-calendar-day",attrs:{"aria-current":!!t.isToday(e)&&"date","aria-selected":!!t.isSelected(e)&&"date"}},[e?n("k-button",{attrs:{disabled:t.isDisabled(e),text:e},on:{click:function(n){return t.select(e)}}}):t._e()],1)})),0)})),0),n("tfoot",[n("tr",[n("td",{staticClass:"k-calendar-today",attrs:{colspan:"7"}},[n("k-button",{attrs:{text:t.$t("today")},on:{click:function(e){return t.select("today")}}})],1)])])])])}),[],!1,Ve,null,null,null);function Ve(t){for(let e in Je)this[e]=Je[e]}var We=function(){return Ge.exports}();const Xe={props:{count:Number,min:Number,max:Number,required:{type:Boolean,default:!1}},computed:{valid(){return!1===this.required&&0===this.count||(!0!==this.required||0!==this.count)&&(!(this.min&&this.count-1)return new Date(("X"===e?1e3:1)*t);var r=p(e)(t),o=r.year,i=r.month,a=r.day,s=r.hours,c=r.minutes,l=r.seconds,u=r.milliseconds,f=r.zone,d=new Date,h=a||(o||i?1:d.getDate()),v=o||d.getFullYear(),m=0;o&&!i||(m=i>0?i-1:d.getMonth());var g=s||0,y=c||0,b=l||0,w=u||0;return f?new Date(Date.UTC(v,m,h,g,y,b,w+60*f.offset*1e3)):n?new Date(Date.UTC(v,m,h,g,y,b,w)):new Date(v,m,h,g,y,b,w)}catch(x){return new Date("")}}(e,s,r),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),u&&e!=this.format(s)&&(this.$d=new Date("")),i={}}else if(s instanceof Array)for(var d=s.length,h=1;h<=d;h+=1){a[1]=s[h-1];var v=n.apply(this,a);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}h===d&&(this.$d=new Date(""))}else o.call(this,t)}}}(),ic={exports:{}},ac=ic.exports=function(){var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,o,i){var a=o.prototype;i.utc=function(t){return new o({date:t,utc:!0,args:arguments})},a.utc=function(e){var n=i(this.toDate(),{locale:this.$L,utc:!0});return e?n.add(this.utcOffset(),t):n},a.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var s=a.parse;a.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),s.call(this,t)};var c=a.init;a.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else c.call(this)};var l=a.utcOffset;a.utcOffset=function(r,o){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?l.call(this):this.$offset;if("string"==typeof r&&null===(r=function(t){void 0===t&&(t="");var r=t.match(e);if(!r)return null;var o=(""+r[0]).match(n)||["-",0,0],i=o[0],a=60*+o[1]+ +o[2];return 0===a?0:"+"===i?a:-a}(r)))return this;var a=Math.abs(r)<=16?60*r:r,s=this;if(o)return s.$offset=a,s.$u=0===r,s;if(0!==r){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(s=this.local().add(a+c,t)).$offset=a,s.$x.$localOffset=c}else s=this.utc();return s};var u=a.format;a.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,e)},a.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var f=a.toDate;a.toDate=function(t){return"s"===t&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var p=a.diff;a.diff=function(t,e,n){if(t&&this.$u===t.$u)return p.call(this,t,e,n);var r=this.local(),o=i(t).local();return p.call(r,o,e,n)}}}();function sc(t){return(sc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var cc={selector:"vue-portal-target-".concat(((t=21)=>{let e="",n=t;for(;n--;)e+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return e})())},lc=function(t){return cc.selector=t},uc="undefined"!=typeof window&&void 0!==("undefined"==typeof document?"undefined":sc(document)),fc=Cn.extend({abstract:!0,name:"PortalOutlet",props:["nodes","tag"],data:function(t){return{updatedNodes:t.nodes}},render:function(t){var e=this.updatedNodes&&this.updatedNodes();return e?1!==e.length||e[0].text?t(this.tag||"DIV",e):e:t()},destroyed:function(){var t=this.$el;t&&t.parentNode.removeChild(t)}}),pc=Cn.extend({name:"VueSimplePortal",props:{disabled:{type:Boolean},prepend:{type:Boolean},selector:{type:String,default:function(){return"#".concat(cc.selector)}},tag:{type:String,default:"DIV"}},render:function(t){if(this.disabled){var e=this.$scopedSlots&&this.$scopedSlots.default();return e?e.length<2&&!e[0].text?e:t(this.tag,e):t()}return t()},created:function(){this.getTargetEl()||this.insertTargetEl()},updated:function(){var t=this;this.$nextTick((function(){t.disabled||t.slotFn===t.$scopedSlots.default||(t.container.updatedNodes=t.$scopedSlots.default),t.slotFn=t.$scopedSlots.default}))},beforeDestroy:function(){this.unmount()},watch:{disabled:{immediate:!0,handler:function(t){t?this.unmount():this.$nextTick(this.mount)}}},methods:{getTargetEl:function(){if(uc)return document.querySelector(this.selector)},insertTargetEl:function(){if(uc){var t=document.querySelector("body"),e=document.createElement(this.tag);e.id=this.selector.substring(1),t.appendChild(e)}},mount:function(){if(uc){var t=this.getTargetEl(),e=document.createElement("DIV");this.prepend&&t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e),this.container=new fc({el:e,parent:this,propsData:{tag:this.tag,nodes:this.$scopedSlots.default}})}},unmount:function(){this.container&&(this.container.$destroy(),delete this.container)}}});function dc(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.name||"portal",pc),e.defaultSelector&&lc(e.defaultSelector)}"undefined"!=typeof window&&window.Vue&&window.Vue===Cn&&Cn.use(dc);var hc={},vc={};function mc(t){return null==t}function gc(t){return null!=t}function yc(t,e){return e.tag===t.tag&&e.key===t.key}function bc(t){var e=t.tag;t.vm=new e({data:t.args})}function wc(t,e,n){var r,o,i={};for(r=e;r<=n;++r)gc(o=t[r].key)&&(i[o]=r);return i}function xc(t,e,n){for(;e<=n;++e)bc(t[e])}function Sc(t,e,n){for(;e<=n;++e){var r=t[e];gc(r)&&(r.vm.$destroy(),r.vm=null)}}function kc(t,e){t!==e&&(e.vm=t.vm,function(t){for(var e=Object.keys(t.args),n=0;n=t){this.children[o]==t&&(n=this.children[o+2]);break}for(var i=t+1,a=i+e.content.size,s=0;s-1)return new Date(("X"===e?1e3:1)*t);var r=p(e)(t),o=r.year,i=r.month,a=r.day,s=r.hours,c=r.minutes,l=r.seconds,u=r.milliseconds,f=r.zone,d=new Date,h=a||(o||i?1:d.getDate()),v=o||d.getFullYear(),m=0;o&&!i||(m=i>0?i-1:d.getMonth());var g=s||0,y=c||0,b=l||0,w=u||0;return f?new Date(Date.UTC(v,m,h,g,y,b,w+60*f.offset*1e3)):n?new Date(Date.UTC(v,m,h,g,y,b,w)):new Date(v,m,h,g,y,b,w)}catch(x){return new Date("")}}(e,s,r),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),u&&e!=this.format(s)&&(this.$d=new Date("")),i={}}else if(s instanceof Array)for(var d=s.length,h=1;h<=d;h+=1){a[1]=s[h-1];var v=n.apply(this,a);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}h===d&&(this.$d=new Date(""))}else o.call(this,t)}}}();function ic(t){return(ic="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ac={selector:"vue-portal-target-".concat(((t=21)=>{let e="",n=t;for(;n--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return e})())},sc=function(t){return ac.selector=t},cc="undefined"!=typeof window&&void 0!==("undefined"==typeof document?"undefined":ic(document)),lc=Cn.extend({abstract:!0,name:"PortalOutlet",props:["nodes","tag"],data:function(t){return{updatedNodes:t.nodes}},render:function(t){var e=this.updatedNodes&&this.updatedNodes();return e?1!==e.length||e[0].text?t(this.tag||"DIV",e):e:t()},destroyed:function(){var t=this.$el;t&&t.parentNode.removeChild(t)}}),uc=Cn.extend({name:"VueSimplePortal",props:{disabled:{type:Boolean},prepend:{type:Boolean},selector:{type:String,default:function(){return"#".concat(ac.selector)}},tag:{type:String,default:"DIV"}},render:function(t){if(this.disabled){var e=this.$scopedSlots&&this.$scopedSlots.default();return e?e.length<2&&!e[0].text?e:t(this.tag,e):t()}return t()},created:function(){this.getTargetEl()||this.insertTargetEl()},updated:function(){var t=this;this.$nextTick((function(){t.disabled||t.slotFn===t.$scopedSlots.default||(t.container.updatedNodes=t.$scopedSlots.default),t.slotFn=t.$scopedSlots.default}))},beforeDestroy:function(){this.unmount()},watch:{disabled:{immediate:!0,handler:function(t){t?this.unmount():this.$nextTick(this.mount)}}},methods:{getTargetEl:function(){if(cc)return document.querySelector(this.selector)},insertTargetEl:function(){if(cc){var t=document.querySelector("body"),e=document.createElement(this.tag);e.id=this.selector.substring(1),t.appendChild(e)}},mount:function(){if(cc){var t=this.getTargetEl(),e=document.createElement("DIV");this.prepend&&t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e),this.container=new lc({el:e,parent:this,propsData:{tag:this.tag,nodes:this.$scopedSlots.default}})}},unmount:function(){this.container&&(this.container.$destroy(),delete this.container)}}});function fc(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.name||"portal",uc),e.defaultSelector&&sc(e.defaultSelector)}"undefined"!=typeof window&&window.Vue&&window.Vue===Cn&&Cn.use(fc);var pc={},dc={};function hc(t){return null==t}function vc(t){return null!=t}function mc(t,e){return e.tag===t.tag&&e.key===t.key}function gc(t){var e=t.tag;t.vm=new e({data:t.args})}function yc(t,e,n){var r,o,i={};for(r=e;r<=n;++r)vc(o=t[r].key)&&(i[o]=r);return i}function bc(t,e,n){for(;e<=n;++e)gc(t[e])}function wc(t,e,n){for(;e<=n;++e){var r=t[e];vc(r)&&(r.vm.$destroy(),r.vm=null)}}function xc(t,e){t!==e&&(e.vm=t.vm,function(t){for(var e=Object.keys(t.args),n=0;n