From 3b0b2f818a1209c868317607c9f66fade0f5d449 Mon Sep 17 00:00:00 2001 From: MODX Bot Date: Wed, 11 Sep 2024 22:18:52 +0200 Subject: [PATCH 01/56] New Crowdin updates (#16611) --- core/lexicon/ar/formcustomization.inc.php | 4 ++++ core/lexicon/be/formcustomization.inc.php | 4 ++++ core/lexicon/bg/formcustomization.inc.php | 4 ++++ core/lexicon/cs/formcustomization.inc.php | 4 ++++ core/lexicon/da/formcustomization.inc.php | 4 ++++ core/lexicon/de/formcustomization.inc.php | 4 ++++ core/lexicon/de/setting.inc.php | 4 ++-- core/lexicon/de/topmenu.inc.php | 2 +- core/lexicon/de/user.inc.php | 6 +++--- core/lexicon/el/formcustomization.inc.php | 4 ++++ core/lexicon/es/formcustomization.inc.php | 4 ++++ core/lexicon/et/formcustomization.inc.php | 4 ++++ core/lexicon/fa/formcustomization.inc.php | 4 ++++ core/lexicon/fi/formcustomization.inc.php | 4 ++++ core/lexicon/fr/formcustomization.inc.php | 4 ++++ core/lexicon/he/formcustomization.inc.php | 4 ++++ core/lexicon/hi/formcustomization.inc.php | 4 ++++ core/lexicon/hu/formcustomization.inc.php | 4 ++++ core/lexicon/id/formcustomization.inc.php | 4 ++++ core/lexicon/it/formcustomization.inc.php | 4 ++++ core/lexicon/ja/formcustomization.inc.php | 4 ++++ core/lexicon/nl/formcustomization.inc.php | 4 ++++ core/lexicon/pl/formcustomization.inc.php | 4 ++++ core/lexicon/pt/formcustomization.inc.php | 4 ++++ core/lexicon/ro/formcustomization.inc.php | 4 ++++ core/lexicon/ru/formcustomization.inc.php | 4 ++++ core/lexicon/sl/formcustomization.inc.php | 4 ++++ core/lexicon/sv/formcustomization.inc.php | 4 ++++ core/lexicon/th/formcustomization.inc.php | 4 ++++ core/lexicon/tr/formcustomization.inc.php | 4 ++++ core/lexicon/uk/formcustomization.inc.php | 4 ++++ core/lexicon/yo/formcustomization.inc.php | 4 ++++ core/lexicon/zh/formcustomization.inc.php | 4 ++++ 33 files changed, 126 insertions(+), 6 deletions(-) diff --git a/core/lexicon/ar/formcustomization.inc.php b/core/lexicon/ar/formcustomization.inc.php index 7308d7c17ae..5637423205a 100644 --- a/core/lexicon/ar/formcustomization.inc.php +++ b/core/lexicon/ar/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'اختياري. قيمة حقل القيد الذي يجب التحقق منه.'; $_lang['constraint_field'] = 'حقل القيد'; $_lang['constraint_field_desc'] = 'الاختياري. الحقل الذي ينبغي أن يطبق هذا القيد عليه.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'الوحة الحاوية'; $_lang['containing_panel_desc'] = 'المعرف الخاص بلوحة النموذج الحاوي التي الحقل ضمنها. في بعض الأحيان هذا ضروري لقواعد معينة، لكي يستطيع النظام أن يعرف أي لوحة أو نموذج بداخلها الحقل.'; $_lang['deactivate'] = 'تبطيل'; diff --git a/core/lexicon/be/formcustomization.inc.php b/core/lexicon/be/formcustomization.inc.php index f066509abd9..83242960c3a 100644 --- a/core/lexicon/be/formcustomization.inc.php +++ b/core/lexicon/be/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Неабавязкова. Значэнне абмежавальнага поля, па якім будзе адбывацца праверка.'; $_lang['constraint_field'] = 'Абмежавальнае поле'; $_lang['constraint_field_desc'] = 'Неабавязкова. Поле, па якім гэтае абмежаванне павінна быць ужыта.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Бацькоўская панэль'; $_lang['containing_panel_desc'] = 'Ідэнтыфікатар формы панэлі, у якой змяшчаецца поле. Гэта часам неабходна для пэўных правілаў, каб сістэма магла вызначыць у якой форме ці панэлі змяшчаецца поле.'; $_lang['deactivate'] = 'Дэактываваць'; diff --git a/core/lexicon/bg/formcustomization.inc.php b/core/lexicon/bg/formcustomization.inc.php index 68d26c4a34b..e57babe11bc 100644 --- a/core/lexicon/bg/formcustomization.inc.php +++ b/core/lexicon/bg/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'По избор. Стойността на полето за ограничение ковто трябва да се провери.'; $_lang['constraint_field'] = 'Поле на ограничение'; $_lang['constraint_field_desc'] = 'По избор. Полето към което трябва да се приложи това ограничение.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Съдържащ панел'; $_lang['containing_panel_desc'] = 'ID на съдържащия Форм Панел, в който е полето. Това понякога е необходимо за някои правила, така че системата може да разбере в коя форма или панел се намира полето.'; $_lang['deactivate'] = 'Деактивирай'; diff --git a/core/lexicon/cs/formcustomization.inc.php b/core/lexicon/cs/formcustomization.inc.php index de764c76fa7..4f48955be1e 100644 --- a/core/lexicon/cs/formcustomization.inc.php +++ b/core/lexicon/cs/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Volitelné. Hodnota políčka omezení proti, které by mělo být políčko zkontrolováno.'; $_lang['constraint_field'] = 'Určení políčka omezení'; $_lang['constraint_field_desc'] = 'Volitelné. Políčko, na které by tato omezení měla být použita.'; +$_lang['constraint_incomplete_constraint_err'] = 'Pro použití omezení musí být specifikováno omezení, aby toto pravidlo fungovalo správně.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Nastavení #%d v profilu přizpůsobení formuláře s názvem „%s“ nemusí fungovat podle očekávání, protože bylo nastaveno pole omezení, ale chybí omezení.'; +$_lang['constraint_incomplete_field_err'] = 'Pro použití omezení musí být specifikováno pole omezení, aby toto pravidlo fungovalo správně.'; +$_lang['constraint_incomplete_field_warn'] = 'Nastavení #%d v profilu přizpůsobení formuláře s názvem „%s“ nemusí fungovat podle očekávání, protože bylo nastaveno pole omezení, ale chybí omezení.'; $_lang['containing_panel'] = 'Obsahující panel'; $_lang['containing_panel_desc'] = 'ID formulářového panelu, kde se nachází políčko. Občas je pro některá pravidla nezbytné, aby systém poznal, ve kterém formuláři nebo panelu se dané políčko nachází.'; $_lang['deactivate'] = 'Deaktivovat'; diff --git a/core/lexicon/da/formcustomization.inc.php b/core/lexicon/da/formcustomization.inc.php index 29924a1e320..234939a0ee0 100644 --- a/core/lexicon/da/formcustomization.inc.php +++ b/core/lexicon/da/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Valgfri. Værdien af begrænsningfeltet, der skal kontrolleres mod.'; $_lang['constraint_field'] = 'Begrænsningsfelt'; $_lang['constraint_field_desc'] = 'Valgfri. Feltet som denne begrænsning bør anvendes af.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Overordnet panel'; $_lang['containing_panel_desc'] = 'ID\'et for det overordnede panel dette felt befinder sig i. Det er nogle gange nødvendigt for visse regler, så systemet kan vide hvilken form eller panel feltet er i.'; $_lang['deactivate'] = 'Deaktivér'; diff --git a/core/lexicon/de/formcustomization.inc.php b/core/lexicon/de/formcustomization.inc.php index 36282749ffe..52553b1b757 100644 --- a/core/lexicon/de/formcustomization.inc.php +++ b/core/lexicon/de/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. Der Wert der Einschränkungs-Bedingung, der mit dem Wert des Feldes verglichen wird.'; $_lang['constraint_field'] = 'Feld für Einschränkung'; $_lang['constraint_field_desc'] = 'Optional. Das Feld, von dessen Wert die Einschränkung abhängig ist.'; +$_lang['constraint_incomplete_constraint_err'] = 'Um Einschränkungen anzuwenden, muss Einschränkung angegeben werden, damit diese Regel richtig funktioniert.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Die Einstellung #%d im Formular-Anpassungsprofil mit dem Namen „%s“ kann nicht wie erwartet funktionieren, da ein Einschränkungsfeld gesetzt wurde, aber die Einschränkung fehlt.'; +$_lang['constraint_incomplete_field_err'] = 'Um Einschränkungen anzuwenden, muss das Feld zur Einschränkung angegeben werden, damit diese Regel richtig funktioniert.'; +$_lang['constraint_incomplete_field_warn'] = 'Die Einstellung #%d im Formular-Anpassungsprofil mit dem Namen „%s“ kann nicht wie erwartet funktionieren, da eine Einschränkung gesetzt wurde, aber das Einschränkungsfeld fehlt.'; $_lang['containing_panel'] = 'Enthalten in'; $_lang['containing_panel_desc'] = 'Die ID des Formulars, das das Feld enthält. Diese wird manchmal für bestimmte Regeln benötigt, damit das System weiß, in welchem Formular oder Bedienelement das Feld zu finden ist.'; $_lang['deactivate'] = 'Deaktivieren'; diff --git a/core/lexicon/de/setting.inc.php b/core/lexicon/de/setting.inc.php index f5ecbb512b9..2c0969cf8c0 100644 --- a/core/lexicon/de/setting.inc.php +++ b/core/lexicon/de/setting.inc.php @@ -765,8 +765,8 @@ $_lang['setting_upload_translit'] = 'Namen von hochgeladenen Dateien transliterieren?'; $_lang['setting_upload_translit_desc'] = 'Wenn diese Option aktiviert ist, wird der Name einer hochgeladenen Datei gemäß den globalen Transliterationsregeln transliteriert.'; -$_lang['setting_upload_translit_restrict_chars_pattern'] = 'File Name Character Restriction Pattern'; -$_lang['setting_upload_translit_restrict_chars_pattern_desc'] = 'A valid RegEx pattern for restricting characters used in an uploaded file’s name.'; +$_lang['setting_upload_translit_restrict_chars_pattern'] = 'Dateinamen-Zeichenbeschränkungsmuster'; +$_lang['setting_upload_translit_restrict_chars_pattern_desc'] = 'Ein gültiger regulärer Ausdruck zur Einschränkung der in einem Namen einer hochgeladenen Datei erlaubten Zeichen.'; $_lang['setting_use_alias_path'] = 'Suchmaschinenfreundliche Alias-Pfade'; $_lang['setting_use_alias_path_desc'] = 'Wenn Sie diese Einstellung auf „Ja“ setzen, wird der komplette Pfad zur Ressource angezeigt, wenn diese einen Alias hat. Wenn z.B. eine Ressource mit dem Alias „kind“ in einer Container-Ressource mit dem Alias „eltern“ abgelegt ist, wird der komplette Alias-Pfad zu dieser Ressource als „/eltern/kind.html“ angezeigt.
HINWEIS: Wenn Sie diese Option auf „Ja“ setzen (also Alias-Pfade aktivieren), verwenden Referenz-Elemente (wie Bilder, CSS- und JavaScript-Dateien etc.) absolute Pfade, also z.B. „/assets/images” im Gegensatz zu „assets/images“. Dadurch wird verhindert, dass der Browser (oder der Webserver) die relativen Pfade an die Alias-Pfade anhängt.'; diff --git a/core/lexicon/de/topmenu.inc.php b/core/lexicon/de/topmenu.inc.php index 179f8165070..2027cd896d9 100644 --- a/core/lexicon/de/topmenu.inc.php +++ b/core/lexicon/de/topmenu.inc.php @@ -7,7 +7,7 @@ * @subpackage lexicon */ $_lang['about'] = 'Über MODX'; -$_lang['about_desc'] = 'Help!'; +$_lang['about_desc'] = 'Hilfe!'; $_lang['access_permissions'] = 'Zugriffsrechte'; $_lang['access_permissions_desc'] = 'Verwalten Sie die Benutzergruppen-Zugriffsmöglichkeiten auf Ressourcen und Kontexte.'; $_lang['acls'] = 'Zugriffssteuerungslisten (ACLs)'; diff --git a/core/lexicon/de/user.inc.php b/core/lexicon/de/user.inc.php index 183f0a13dbf..3998ac04e41 100644 --- a/core/lexicon/de/user.inc.php +++ b/core/lexicon/de/user.inc.php @@ -25,7 +25,7 @@ $_lang['password_gen_specify'] = 'Ich gebe das Passwort ein:'; $_lang['password_method'] = 'Art der Passwort-Mitteilung'; $_lang['password_method_screen'] = 'Passwort auf dem Bildschirm anzeigen.'; -$_lang['password_gen_user_email_specify'] = 'Let the user choose their own password via email'; +$_lang['password_gen_user_email_specify'] = 'Lassen Sie den Benutzer sein eigenes Passwort per E-Mail wählen'; $_lang['notify_new_user'] = 'Schicken Sie diesem Benutzer eine E-Mail mit den neuen Zugangsdaten für diese Website.'; $_lang['password_new'] = 'Neues Passwort'; $_lang['password_notification'] = 'Passwort-Benachrichtigung'; @@ -198,5 +198,5 @@ $_lang['users'] = 'Benutzer'; $_lang['user_createdon'] = 'Erstellt am'; $_lang['user_createdon_desc'] = 'Das Datum, an dem der Benutzer angelegt wurde.'; -$_lang['user_password_email_subject'] = 'Set up your password'; -$_lang['user_password_email'] = '

Set up your password

We received a request to set up your MODX Revolution password. You can set up your password by clicking the button below and following the instructions on screen.

Set up my password

If you did not send this request, please ignore this email.

'; +$_lang['user_password_email_subject'] = 'Richten Sie Ihr Passwort ein'; +$_lang['user_password_email'] = '

Richten Sie Ihr Passwort ein

Wir haben eine Anfrage erhalten, Ihr MODX-Revolution-Passwort einzurichten. Sie können Ihr Passwort einrichten, indem Sie auf die Schaltfläche unten klicken und den Anweisungen auf dem Bildschirm folgen.

Mein Passwort einrichten

Wenn Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-Mail.

'; diff --git a/core/lexicon/el/formcustomization.inc.php b/core/lexicon/el/formcustomization.inc.php index ad6a2a20ae9..50edb00524d 100644 --- a/core/lexicon/el/formcustomization.inc.php +++ b/core/lexicon/el/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/es/formcustomization.inc.php b/core/lexicon/es/formcustomization.inc.php index 8a6bb3e8826..26a7d4b63d8 100644 --- a/core/lexicon/es/formcustomization.inc.php +++ b/core/lexicon/es/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Opcional. El valor del Campo de Restricción con el cual será comparado.'; $_lang['constraint_field'] = 'Campo de Restricción'; $_lang['constraint_field_desc'] = 'Opcional. El campo al cual deberá aplicarse esta restricción.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Panel Contenedor'; $_lang['containing_panel_desc'] = 'El ID del Panel Contenedor del Formulario donde está el campo. Es necesario para ciertas reglas, para que el sistema pueda identificar en qué formulario o panel situar el campo.'; $_lang['deactivate'] = 'Desactivar'; diff --git a/core/lexicon/et/formcustomization.inc.php b/core/lexicon/et/formcustomization.inc.php index 0a05e4452f5..9dac769291e 100644 --- a/core/lexicon/et/formcustomization.inc.php +++ b/core/lexicon/et/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Valikuline. Constraint Välja väärtus, mille vastu kontrollida.'; $_lang['constraint_field'] = 'Constraint Väli'; $_lang['constraint_field_desc'] = 'Valikuline. Väli, mille kontrollimisel seda constrainti tuleks kasutada.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containimise Paneel'; $_lang['containing_panel_desc'] = 'Contain vorm Paneeli ID milles väli asub. See on mõnikord vajalik kindlatele reeglitele, nii süsteem teab milline vorm või paneel on.'; $_lang['deactivate'] = 'Deaktiveeri'; diff --git a/core/lexicon/fa/formcustomization.inc.php b/core/lexicon/fa/formcustomization.inc.php index 6df266d97aa..e90a0b59d30 100644 --- a/core/lexicon/fa/formcustomization.inc.php +++ b/core/lexicon/fa/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/fi/formcustomization.inc.php b/core/lexicon/fi/formcustomization.inc.php index 6dc51542cd5..3ff80f338d7 100644 --- a/core/lexicon/fi/formcustomization.inc.php +++ b/core/lexicon/fi/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Rajaava kenttä'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/fr/formcustomization.inc.php b/core/lexicon/fr/formcustomization.inc.php index c7613bee54b..83d7494bf16 100644 --- a/core/lexicon/fr/formcustomization.inc.php +++ b/core/lexicon/fr/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Facultatif. La valeur par rapport à laquelle le champ de contrainte doit être vérifié.'; $_lang['constraint_field'] = 'Champ de contrainte'; $_lang['constraint_field_desc'] = 'Facultatif. Le champ sur lequel cette règle doit être appliquée.'; +$_lang['constraint_incomplete_constraint_err'] = 'Pour appliquer des contraintes, la contrainte doit être spécifiée pour que cette règle fonctionne correctement.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Paramétrer #%d dans le profil de personnalisation du formulaire nommé “%s” peut ne pas fonctionner comme prévu car un champ de contrainte a été défini mais la contrainte est manquante.'; +$_lang['constraint_incomplete_field_err'] = 'Pour appliquer des contraintes, la contrainte doit être spécifiée pour que cette règle fonctionne correctement.'; +$_lang['constraint_incomplete_field_warn'] = 'Paramétrer #%d dans le profil de personnalisation du formulaire nommé “%s” peut ne pas fonctionner comme prévu car un champ de contrainte a été défini mais la contrainte est manquante.'; $_lang['containing_panel'] = 'Panneau de contenu'; $_lang['containing_panel_desc'] = 'L\'identifiant du panneau de contenu du formulaire dont le champ fait partie. Ceci est parfois nécessaire pour certaines règles, afin que le système puisse savoir de quel formulaire ou panneau de formulaire le champ fait partie.'; $_lang['deactivate'] = 'Désactiver'; diff --git a/core/lexicon/he/formcustomization.inc.php b/core/lexicon/he/formcustomization.inc.php index e4320861c00..e269e6f88aa 100644 --- a/core/lexicon/he/formcustomization.inc.php +++ b/core/lexicon/he/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/hi/formcustomization.inc.php b/core/lexicon/hi/formcustomization.inc.php index 5036df6db95..4b83a34e86d 100644 --- a/core/lexicon/hi/formcustomization.inc.php +++ b/core/lexicon/hi/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'वैकल्पिक। बाधा फ़ील्ड के खिलाफ जाँच की जानी चाहिए के मूल्य।'; $_lang['constraint_field'] = 'बाधा फ़ील्ड'; $_lang['constraint_field_desc'] = 'वैकल्पिक। फ़ील्ड जो द्वारा इस प्रतिबंध लागू किया जाना चाहिए।'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'पैनल युक्त'; $_lang['containing_panel_desc'] = 'युक्त प्रपत्र पैनल की ID फ़ील्ड में है। ताकि सिस्टम पता कर सके की किस प्रपत्र या पैनल में फ़ील्ड हैं यह कभी कभी कुछ खास नियमों के लिए, आवश्यक है।'; $_lang['deactivate'] = 'निष्क्रिय करें '; diff --git a/core/lexicon/hu/formcustomization.inc.php b/core/lexicon/hu/formcustomization.inc.php index a7217ebcbf4..34f20202c38 100644 --- a/core/lexicon/hu/formcustomization.inc.php +++ b/core/lexicon/hu/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Megszorítási mező'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Megszorítási panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Kikapcsol'; diff --git a/core/lexicon/id/formcustomization.inc.php b/core/lexicon/id/formcustomization.inc.php index e2ddbd0a4ff..200946bf062 100644 --- a/core/lexicon/id/formcustomization.inc.php +++ b/core/lexicon/id/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Opsional. Nilai dari bidang kendala harus diperiksa terhadap resikonya.'; $_lang['constraint_field'] = 'Kendala lapangan'; $_lang['constraint_field_desc'] = 'Opsional. Bidang yang kendala ini harus diterapkan.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Yang mengandung Panel'; $_lang['containing_panel_desc'] = 'ID terkandung dari Panel dimana bidang berada didalamnya. Hal ini kadang-kadang diperlukan untuk aturan-aturan tertentu, sehingga sistem dapat mengetahui apa bentuk atau panel bidang ini di.'; $_lang['deactivate'] = 'Nonaktifkan'; diff --git a/core/lexicon/it/formcustomization.inc.php b/core/lexicon/it/formcustomization.inc.php index 7a155c966c4..13656899eeb 100644 --- a/core/lexicon/it/formcustomization.inc.php +++ b/core/lexicon/it/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Facoltativo. Inserire il valore del Campo Vincolo con cui dovrebbe essere confrontato.'; $_lang['constraint_field'] = 'Campo Vincolo'; $_lang['constraint_field_desc'] = 'Facoltativo. Il Campo a cui applicare il vincolo (es. Template, menutitle ecc.).'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Pannello che lo contiene'; $_lang['containing_panel_desc'] = 'Inserire il nome (ID) del pannello nel quale il campo (sopra) è contenuto. A volte è necessario per determinate regole, in modo che il sistema possa sapere in quale form o pannello è contenuto il campo stesso.'; $_lang['deactivate'] = 'Disattivare'; diff --git a/core/lexicon/ja/formcustomization.inc.php b/core/lexicon/ja/formcustomization.inc.php index 9fe84f235d1..69a743f6edb 100644 --- a/core/lexicon/ja/formcustomization.inc.php +++ b/core/lexicon/ja/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = '任意。有効条件と見なす値をセットします。たとえば「テンプレートIDが4の場合にこのルールを有効にする」の場合「4」をここにセットします。Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = '制約フィールド'; $_lang['constraint_field_desc'] = '任意。制約条件としたいフィールドの名前を記述します。たとえば「template」など。'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'これを含む領域'; $_lang['containing_panel_desc'] = '対象オブジェクト(フィールドやタブ)を含むDIV領域のID名。modx-panel-resource・modx-page-settings・modx-resource-tabsのうちのいずれか。This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = '無効化'; diff --git a/core/lexicon/nl/formcustomization.inc.php b/core/lexicon/nl/formcustomization.inc.php index 946e548c2dd..45ccabc5be4 100644 --- a/core/lexicon/nl/formcustomization.inc.php +++ b/core/lexicon/nl/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optioneel. De waarde van het voorwaarde veld dat gecontroleerd moet worden.'; $_lang['constraint_field'] = 'Veld voorwaarde'; $_lang['constraint_field_desc'] = 'Optioneel. Het veld waar deze voorwaarde op toegepast moet worden.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Bevattend paneel'; $_lang['containing_panel_desc'] = 'Het ID van het bevattende formulier paneel waar het veld zich bevindt. Dit is soms nodig voor bepaalde regels, zodat het systeem weet in welk formulier paneel het veld in zit.'; $_lang['deactivate'] = 'Deactiveer'; diff --git a/core/lexicon/pl/formcustomization.inc.php b/core/lexicon/pl/formcustomization.inc.php index 5f0cff5d7b7..2e690781e5f 100644 --- a/core/lexicon/pl/formcustomization.inc.php +++ b/core/lexicon/pl/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Ogranicz Pole'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Zawierające panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Dezaktywuj'; diff --git a/core/lexicon/pt/formcustomization.inc.php b/core/lexicon/pt/formcustomization.inc.php index 289f3b5adea..6fc45893da2 100644 --- a/core/lexicon/pt/formcustomization.inc.php +++ b/core/lexicon/pt/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Opcional. O valor do Campo Limitador deve ser marcado contra.'; $_lang['constraint_field'] = 'Campo Limitador'; $_lang['constraint_field_desc'] = 'Opcional. O campo onde o limitador deve ser aplicado.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Painel de Destino'; $_lang['containing_panel_desc'] = 'O ID do Painel de Destino onde o campo se encontra. Isto é necessário para algumas regras, para que o sistema saiba em qual painel de formulário o campo se encontra.'; $_lang['deactivate'] = 'Desativar'; diff --git a/core/lexicon/ro/formcustomization.inc.php b/core/lexicon/ro/formcustomization.inc.php index 81906bb3bee..8a82072130e 100644 --- a/core/lexicon/ro/formcustomization.inc.php +++ b/core/lexicon/ro/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/ru/formcustomization.inc.php b/core/lexicon/ru/formcustomization.inc.php index 21b23a253fa..f7b2240996c 100644 --- a/core/lexicon/ru/formcustomization.inc.php +++ b/core/lexicon/ru/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Необязательно. Значение ограничивающего поля, при наличие которого правило будет работать.'; $_lang['constraint_field'] = 'Ограничивающее поле'; $_lang['constraint_field_desc'] = 'Необязательно. Поле при наличии которого правило будет работать.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Родительская панель'; $_lang['containing_panel_desc'] = 'ID панели формы, в которой находится область. Необходим в некоторых правилах для того, чтобы система могла понять в какой форме или панели находится область.'; $_lang['deactivate'] = 'Выключить'; diff --git a/core/lexicon/sl/formcustomization.inc.php b/core/lexicon/sl/formcustomization.inc.php index 38d0abdfd30..d9cc680cfad 100644 --- a/core/lexicon/sl/formcustomization.inc.php +++ b/core/lexicon/sl/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/sv/formcustomization.inc.php b/core/lexicon/sv/formcustomization.inc.php index 1b1b81ce842..556ae7b33d3 100644 --- a/core/lexicon/sv/formcustomization.inc.php +++ b/core/lexicon/sv/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Valfri. Värdet på det restriktionsfält som kontrollen ska göras mot.'; $_lang['constraint_field'] = 'Restriktionsfält'; $_lang['constraint_field_desc'] = 'Valfri. Det fält för vilket denna restriktion ska användas.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Omslutande panel'; $_lang['containing_panel_desc'] = 'ID:t på den formulärpanel som omsluter fältet. Det här behövs ibland för vissa regler så att systemet ska veta vilket formulär eller vilken panel fältet finns i.'; $_lang['deactivate'] = 'Avaktivera'; diff --git a/core/lexicon/th/formcustomization.inc.php b/core/lexicon/th/formcustomization.inc.php index 47e5c751453..d7f2bc8bd9e 100644 --- a/core/lexicon/th/formcustomization.inc.php +++ b/core/lexicon/th/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'ตัวเลือกเสริม ค่าของฟิลด์ข้อจำกัดที่ควรถูกตรวจสอบด้วย'; $_lang['constraint_field'] = 'ฟิลด์ข้อจำกัด'; $_lang['constraint_field_desc'] = 'ตัวเลือกเสริม ฟิลด์ซึ่งข้อจำกัดนี้จะถูกประยุกต์ใช้'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'แผงบรรจุ'; $_lang['containing_panel_desc'] = 'ไอดีของแผงรูปแบบที่บรรจุฟิลด์ไว้ภายใน ในบางครั้งจำเป็นต่อการบรรจุกฎ เผื่อว่าระบบจะรู้จักว่ารูปแบบหรือแผงของฟิลด์อยู่ภายใน'; $_lang['deactivate'] = 'ปิดการใช้งาน'; diff --git a/core/lexicon/tr/formcustomization.inc.php b/core/lexicon/tr/formcustomization.inc.php index 823a3956873..cedd0b991c8 100644 --- a/core/lexicon/tr/formcustomization.inc.php +++ b/core/lexicon/tr/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'İsteğe bağlı. Kontrol edilmesi gereken kısıtlama alanı değeri.'; $_lang['constraint_field'] = 'Kısıtlama alanı'; $_lang['constraint_field_desc'] = 'İsteğe bağlı. Bu kısıtlamanın uygulanacağı alan.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Panel İçeren'; $_lang['containing_panel_desc'] = 'Alanın bulunduğu Form Panelinin kimliği. Bu bazen belirli kurallar için gereklidir, böylece sistem alanın hangi form veya paneli içerdiğini bilebilir.'; $_lang['deactivate'] = 'Devre dışı bırak'; diff --git a/core/lexicon/uk/formcustomization.inc.php b/core/lexicon/uk/formcustomization.inc.php index efcf15a8ba3..2232cc13178 100644 --- a/core/lexicon/uk/formcustomization.inc.php +++ b/core/lexicon/uk/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Не обов\'язково. Значення обмежуючого поля, при наявність якого правило буде працювати. '; $_lang['constraint_field'] = 'Обмежуюче поле'; $_lang['constraint_field_desc'] = 'Не обов\'язково. Поле при наявності якого правило буде працювати. '; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Батьківська панель '; $_lang['containing_panel_desc'] = 'ID панелі форми, в якій знаходиться область. Необхідний в деяких правилах для того, щоб система могла зрозуміти в якій формі або панелі знаходиться область. '; $_lang['deactivate'] = 'Деактивувати'; diff --git a/core/lexicon/yo/formcustomization.inc.php b/core/lexicon/yo/formcustomization.inc.php index 38d0abdfd30..d9cc680cfad 100644 --- a/core/lexicon/yo/formcustomization.inc.php +++ b/core/lexicon/yo/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; diff --git a/core/lexicon/zh/formcustomization.inc.php b/core/lexicon/zh/formcustomization.inc.php index 57a1b1915e3..9a15ac1ff43 100644 --- a/core/lexicon/zh/formcustomization.inc.php +++ b/core/lexicon/zh/formcustomization.inc.php @@ -15,6 +15,10 @@ $_lang['constraint_desc'] = 'Optional. The value of the Constraint Field that should be checked against.'; $_lang['constraint_field'] = 'Constraint Field'; $_lang['constraint_field_desc'] = 'Optional. The field by which this constraint should be applied.'; +$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; +$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; +$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; $_lang['containing_panel'] = 'Containing Panel'; $_lang['containing_panel_desc'] = 'The ID of the containing Form Panel the field is in. This is sometimes necessary for certain rules, so that the system can know what form or panel the field is in.'; $_lang['deactivate'] = 'Deactivate'; From 9e7bb63615f8a9921e657027501f2aaf1be07454 Mon Sep 17 00:00:00 2001 From: Mark Hamstra Date: Tue, 17 Sep 2024 21:29:27 +0100 Subject: [PATCH 02/56] Improve generate password logic (#16521) ### What does it do? Re-up of #15894 Changes password generation method to be more secure. ### Why is it needed? Actually random generation. ### How to test Apply and see passwords still get generated. ### Related issue(s)/PR(s) Re-up of #15894 Fixes #15740 --------- Co-authored-by: crystaldaking Co-authored-by: Jan Peca --- core/src/Revolution/modUser.php | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/core/src/Revolution/modUser.php b/core/src/Revolution/modUser.php index 9cdee5042dd..f7c2b788469 100644 --- a/core/src/Revolution/modUser.php +++ b/core/src/Revolution/modUser.php @@ -898,28 +898,31 @@ public function removeLocks(array $options = []) public function generatePassword($length = null, array $options = []) { if ($length === null) { - $length = $this->xpdo->getOption('password_generated_length', null, 10, true); + $length = (int)$this->xpdo->getOption('password_generated_length', null, 10, true); } - $passwordMinimumLength = $this->xpdo->getOption('password_min_length', null, 8, true); + + $passwordMinimumLength = (int)$this->xpdo->getOption('password_min_length', null, 8, true); if ($length < $passwordMinimumLength) { $length = $passwordMinimumLength; } - $options = array_merge([ - 'allowable_characters' => 'abcdefghjkmnpqrstuvxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789', - 'srand_seed_multiplier' => 1000000, - ], $options); - $ps_len = strlen($options['allowable_characters']); - srand((double)microtime() * $options['srand_seed_multiplier']); + if (empty($options['allowable_characters'])) { + $options['allowable_characters'] = 'abcdefghjkmnpqrstuvxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789'; + } + + $allowableCharactersLength = strlen($options['allowable_characters']); + + $randomBytes = random_bytes($length); + $pass = ''; for ($i = 0; $i < $length; $i++) { - $pass .= $options['allowable_characters'][mt_rand(0, $ps_len - 1)]; + $randomIndex = ord($randomBytes[$i]) % $allowableCharactersLength; + $pass .= $options['allowable_characters'][$randomIndex]; } return $pass; } - /** * Send an email to the user * From 566398419b1f4a38bdde2c22a2ab6c0c51c2b2a5 Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Wed, 18 Sep 2024 16:37:28 -0400 Subject: [PATCH 03/56] Fix/improve messages grid permissions and styles (#16602) ### What does it do? This fixes an incorrect reference to the usergroup view permissions to ensure that recipients list is available to users. A second commit makes a number of code quality improvements and a handful of style improvements to the Create window and the message display in the grid. ### Why is it needed? The ability to create messages is potentially unavailable under certain permissions scenarios (namely one where someone has permission to view groups or roles, but not individual users). ### How to test Make changes to a user's `view_user`, `view_role`, and `usergroup_view` and verify that when at least one of these permissions is given, the user is able to create new messages (the Create button should be enabled). ### Related issue(s)/PR(s) None --------- Co-authored-by: Jason Coward --- _build/templates/default/sass/_forms.scss | 7 +- _build/templates/default/sass/index.scss | 43 ++ .../widgets/security/modx.grid.message.js | 614 ++++++++++-------- manager/templates/default/css/index-min.css | 2 +- manager/templates/default/css/index.css | 129 +++- 5 files changed, 506 insertions(+), 289 deletions(-) diff --git a/_build/templates/default/sass/_forms.scss b/_build/templates/default/sass/_forms.scss index 7497aaacbfb..77c9e97b32c 100644 --- a/_build/templates/default/sass/_forms.scss +++ b/_build/templates/default/sass/_forms.scss @@ -912,7 +912,12 @@ input::-moz-focus-inner { #modx-snippet-tabs, #modx-template-tabs, #modx-tv-tabs .display-switch, -#modx-tv-editor-tabs { +#modx-tv-editor-tabs, +.display-switch { + + &.space-before { + margin-top: 0.75rem; + } .x-form-check-wrap, .x-fieldset-checkbox-toggle legend, diff --git a/_build/templates/default/sass/index.scss b/_build/templates/default/sass/index.scss index b8c635ba901..f52f86e1460 100644 --- a/_build/templates/default/sass/index.scss +++ b/_build/templates/default/sass/index.scss @@ -2062,6 +2062,49 @@ iframe[classname="x-hidden"] { padding: 18px 25px 40px; } +.x-grid3-row-expanded { + .x-grid3-row-body { + .manager-user-message { + display: flex; + flex-direction: column-reverse; + gap: 1rem; + padding: 0.5rem 0.25rem 0; + border-top: 1px dashed rgba($osloGray, 0.5); + .meta { + display: flex; + flex-direction: row; + row-gap: 0.25rem; + line-height: 1.4; + font: $fontSmall; + font-style: italic; + column-gap: .5rem; + justify-content: space-between; + span { + display: block; + } + } + .body { + flex-grow: 1; + p { + font: $fontMedium; + } + } + } + @include grid-media($gtMobile) { + .manager-user-message { + flex-direction: row-reverse; + .meta { + flex-direction: column; + justify-content: normal; + span { + display: inline; + } + } + } + } + } +} + /* Package browser */ .home-panel ol { border-top: 1px solid #cacaca; diff --git a/manager/assets/modext/widgets/security/modx.grid.message.js b/manager/assets/modext/widgets/security/modx.grid.message.js index f2f77450b92..d8d490eb602 100644 --- a/manager/assets/modext/widgets/security/modx.grid.message.js +++ b/manager/assets/modext/widgets/security/modx.grid.message.js @@ -7,46 +7,46 @@ * @xtype modx-panel-messages */ MODx.panel.Messages = function(config = {}) { - Ext.applyIf(config,{ - id: 'modx-panel-message' - ,cls: 'container' - ,bodyStyle: '' - ,defaults: { collapsible: false ,autoHeight: true } - ,url: MODx.config.connector_url - ,baseParams: { + Ext.applyIf(config, { + id: 'modx-panel-message', + cls: 'container', + bodyStyle: '', + defaults: { collapsible: false, autoHeight: true }, + url: MODx.config.connector_url, + baseParams: { action: 'Security/Message/GetList' - } - ,items: [{ - html: _('messages') - ,id: 'modx-messages-header' - ,xtype: 'modx-header' - },MODx.getPageStructure([{ - title: _('messages') - ,id: 'modx-messages-tab' - ,autoHeight: true - ,layout: 'form' - ,defaults: { border: false ,msgTarget: 'side' } - ,items: [{ - layout: 'form' - ,autoHeight: true - ,defaults: { border: false } - ,items: [{ - html: '

' + _('messages_desc') + '

' - ,id: 'modx-messages-msg' - ,xtype: 'modx-description' - },{ - xtype: 'modx-grid-message' - ,cls: 'main-wrapper' - ,user: config.user - ,preventRender: true + }, + items: [{ + html: _('messages'), + id: 'modx-messages-header', + xtype: 'modx-header' + }, MODx.getPageStructure([{ + title: _('messages'), + id: 'modx-messages-tab', + autoHeight: true, + layout: 'form', + defaults: { border: false, msgTarget: 'side' }, + items: [{ + layout: 'form', + autoHeight: true, + defaults: { border: false }, + items: [{ + html: `

${_('messages_desc')}

`, + id: 'modx-messages-msg', + xtype: 'modx-description' + }, { + xtype: 'modx-grid-message', + cls: 'main-wrapper', + user: config.user, + preventRender: true }] }] }])] }); - MODx.panel.Messages.superclass.constructor.call(this,config); + MODx.panel.Messages.superclass.constructor.call(this, config); }; -Ext.extend(MODx.panel.Messages,MODx.FormPanel); -Ext.reg('modx-panel-messages',MODx.panel.Messages); +Ext.extend(MODx.panel.Messages, MODx.FormPanel); +Ext.reg('modx-panel-messages', MODx.panel.Messages); /** * Loads a grid of Messages. @@ -58,30 +58,34 @@ Ext.reg('modx-panel-messages',MODx.panel.Messages); */ MODx.grid.Message = function(config = {}) { this.exp = new Ext.grid.RowExpander({ - tpl : new Ext.Template( - '' - ,''+_('sent_by')+': {sender_name:this.htmlEncode}
'+_('sent_on')+': {date_sent}


' - ,'
' - ,'

{subject:this.htmlEncode}

' - ,'

{message:this.htmlEncode}

' - , { - htmlEncode: function(value){ + tpl: new Ext.Template( + `
+
+

${_('sent_by')}: {sender_name:this.htmlEncode}

+

${_('sent_on')}: {date_sent}

+
+
+

{subject:this.htmlEncode}

+

{message:this.htmlEncode}

+
+
`, + { + htmlEncode: function(value) { return Ext.util.Format.htmlEncode(value); } } ) }); - this.exp.on('expand',this.read,this); - var disabled = !(MODx.perm.view_user || MODx.perm.view_role || MODx.perm.view_usergroup) - Ext.applyIf(config,{ - title: _('messages') - ,id: 'modx-grid-message' - ,url: MODx.config.connector_url - ,baseParams: { + this.exp.on('expand', this.read, this); + Ext.applyIf(config, { + title: _('messages'), + id: 'modx-grid-message', + url: MODx.config.connector_url, + baseParams: { action: 'Security/Message/GetList', type: MODx.request.type || null - } - ,fields: [ + }, + fields: [ 'id', 'type', 'subject', @@ -93,60 +97,60 @@ MODx.grid.Message = function(config = {}) { 'read', 'sender_name', 'recipient_name' - ] - ,autosave: true - ,paging: true - ,plugins: this.exp - ,columns: [this.exp,{ - header: _('id') - ,dataIndex: 'id' - ,width: 30 - },{ - header: _('subject') - ,dataIndex: 'subject' - ,width: 200 - ,renderer: Ext.util.Format.htmlEncode - },{ - header: _('sender') - ,dataIndex: 'sender_name' - ,width: 120 - ,renderer: Ext.util.Format.htmlEncode - },{ - header: _('recipient') - ,dataIndex: 'recipient_name' - ,width: 120 - ,renderer: Ext.util.Format.htmlEncode - },{ - header: _('date_sent') - ,dataIndex: 'date_sent' - ,width: 150 - },{ - header: _('read') - ,dataIndex: 'read' - ,width: 100 - ,editor: { + ], + autosave: true, + paging: true, + plugins: this.exp, + columns: [this.exp, { + header: _('id'), + dataIndex: 'id', + width: 30 + }, { + header: _('subject'), + dataIndex: 'subject', + width: 200, + renderer: Ext.util.Format.htmlEncode + }, { + header: _('sender'), + dataIndex: 'sender_name', + width: 120, + renderer: Ext.util.Format.htmlEncode + }, { + header: _('recipient'), + dataIndex: 'recipient_name', + width: 120, + renderer: Ext.util.Format.htmlEncode + }, { + header: _('date_sent'), + dataIndex: 'date_sent', + width: 150 + }, { + header: _('read'), + dataIndex: 'read', + width: 100, + editor: { xtype: 'combo-boolean', renderer: 'boolean' - } - ,editable: false - }] - ,tbar: [ + }, + editable: false + }], + tbar: [ { - text: _('create') - ,cls: 'primary-button' - ,disabled: disabled - ,scope: this - ,handler: this.newMessage + text: _('create'), + cls: 'primary-button', + disabled: !(MODx.perm.view_user || MODx.perm.view_role || MODx.perm.usergroup_view), + scope: this, + handler: this.newMessage }, '->', { - xtype: 'modx-combo-message-type' - ,name: 'type' - ,itemId: 'filter-type' - ,emptyText: _('filter_by_type') - ,width: 200 - ,value: MODx.request.type || null - ,listeners: { + xtype: 'modx-combo-message-type', + name: 'type', + itemId: 'filter-type', + emptyText: _('filter_by_type'), + width: 200, + value: MODx.request.type || null, + listeners: { render: { fn: function(cmp) { // Maintain default type in URL and in this combo when loading this combo and when clearing all filters @@ -154,8 +158,7 @@ MODx.grid.Message = function(config = {}) { resetDefaults = () => { MODx.util.url.setParams({ type: 'inbox' }); cmp.setValue('inbox'); - } - ; + }; if (!MODx.request.type) { resetDefaults(); } @@ -179,105 +182,116 @@ MODx.grid.Message = function(config = {}) { this.getClearFiltersButton('filter-type, filter-query') ] }); - MODx.grid.Message.superclass.constructor.call(this,config); + MODx.grid.Message.superclass.constructor.call(this, config); }; -Ext.extend(MODx.grid.Message,MODx.grid.Grid,{ - read: function(exp,rec,body,ri) { - var r = rec.data; - if (r.read) return false; +Ext.extend(MODx.grid.Message, MODx.grid.Grid, { + read: function(expanderData, record, body, rowIndex) { + const message = record.data; + if (message.read) { + return false; + } MODx.Ajax.request({ - url: this.config.url - ,params: { - action: 'Security/Message/Read' - ,id: r.id - } - ,listeners: { - 'success': {fn:function(r) { - var r2 = this.getStore().getAt(ri); - r2.set('read',true); - r2.commit(); - this.exp.expandRow(ri); - },scope:this} + url: this.config.url, + params: { + action: 'Security/Message/Read', + id: message.id + }, + listeners: { + success: { + fn: function(response) { + const selectedMessage = this.getStore().getAt(rowIndex); + selectedMessage.set('read', true); + selectedMessage.commit(); + this.exp.expandRow(rowIndex); + }, + scope: this + } } }); - } - ,markUnread: function(btn,e) { - var rec = this.getSelectionModel().getSelected(); + }, + markUnread: function(btn, e) { + const message = this.getSelectionModel().getSelected(); MODx.Ajax.request({ - url: this.config.url - ,params: { - action: 'Security/Message/Unread' - ,id: rec.data.id - } - ,listeners: { - 'success': {fn:function(r) { - rec.set('read',false); - rec.commit(); - },scope:this} + url: this.config.url, + params: { + action: 'Security/Message/Unread', + id: message.data.id + }, + listeners: { + success: { + fn: function(response) { + message.set('read', false); + message.commit(); + }, + scope: this + } } }); - } - ,getMenu: function() { - var r = this.getSelectionModel().getSelected(); - var m = [{ - text: _('reply') - ,scope: this - ,handler: this.reply - },{ - text: _('forward') - ,scope: this - ,handler: this.forward - }]; - if (r.data.read && MODx.user.id != r.data.sender) { - m.push({ - text: _('mark_unread') - ,handler: this.markUnread + }, + getMenu: function() { + const + message = this.getSelectionModel().getSelected(), + senderIsCurrentUser = parseInt(MODx.user.id, 10) === parseInt(message.data.sender, 10), + menu = [{ + text: _('reply'), + scope: this, + handler: this.reply + }, { + text: _('forward'), + scope: this, + handler: this.forward + }] + ; + if (message.data.read && !senderIsCurrentUser) { + menu.push({ + text: _('mark_unread'), + handler: this.markUnread }); - m.push('-'); + menu.push('-'); } - if (MODx.user.id != r.data.sender) { - m.push({ - text: _('delete') - ,handler: this.remove.createDelegate(this, ['message_remove_confirm', 'Security/Message/Remove']) + if (!senderIsCurrentUser) { + menu.push({ + text: _('delete'), + handler: this.remove.createDelegate(this, ['message_remove_confirm', 'Security/Message/Remove']) }); } - return m; - } - ,reply: function(btn,e) { + return menu; + }, + reply: function(btn, e) { this.menu.record = { - type: 'user' - ,user: this.menu.record.sender - ,subject: 'RE: ' + this.menu.record.subject - ,message: '' + type: 'user', + user: this.menu.record.sender, + subject: `RE: ${this.menu.record.subject}`, + message: '' }; - this.loadWindow(btn,e,{ + this.loadWindow(btn, e, { xtype: 'modx-window-message-create' }); - } - ,forward: function(btn,e) { + }, + forward: function(btn, e) { this.menu.record = { - type: 'user' - ,user: '' - ,subject: 'Fwd: ' + this.menu.record.subject - ,message: "\r\n--\r\n" + this.menu.record.message + type: 'user', + user: '', + subject: `Fwd: ${this.menu.record.subject}`, + message: `\r\n--\r\n${this.menu.record.message}` }; - this.loadWindow(btn,e,{ + this.loadWindow(btn, e, { xtype: 'modx-window-message-create' }); - } - ,newMessage: function(btn,e) { + }, + newMessage: function(btn, e) { this.menu.record = { - type: 'user' - ,user: '' - ,subject: '' - ,message: '' + type: 'user', + user: '', + subject: '', + message: '' }; - this.loadWindow(btn,e,{ + this.loadWindow(btn, e, { xtype: 'modx-window-message-create' }); } }); -Ext.reg('modx-grid-message',MODx.grid.Message); +Ext.reg('modx-grid-message', MODx.grid.Message); /** * Generates the new message window. @@ -288,117 +302,160 @@ Ext.reg('modx-grid-message',MODx.grid.Message); * @xtype modx-window-message-create */ MODx.window.CreateMessage = function(config = {}) { - Ext.applyIf(config,{ - title: _('create') - ,url: MODx.config.connector_url - ,action: 'Security/Message/Create' - ,fields: this.getFields() - ,keys: [] + Ext.applyIf(config, { + title: _('create'), + url: MODx.config.connector_url, + action: 'Security/Message/Create', + formDefaults: { + allowBlank: false, + anchor: '100%', + msgTarget: 'under', + validationEvent: 'change', + validateOnBlur: false + }, + fields: this.getFields(), + keys: [] + }); + MODx.window.CreateMessage.superclass.constructor.call(this, config); + this.on({ + afterrender: { + fn: function() { + /* + Force the form the layout again after the auto select of the Type combo, + otherwise the Recipients combo will not size correctly (due for some reason + to the validation effect of allowBlank: false) + */ + this.setWidth(this.getWidth() + 1); + } + }, + show: { + fn: function() { + const form = this.fp.getForm(); + form.findField('type').fireEvent('select'); + form.items.items.forEach(field => { + field.clearInvalid(); + }); + } + } }); - MODx.window.CreateMessage.superclass.constructor.call(this,config); - this.on('show',function() { - this.fp.getForm().findField('type').fireEvent('select'); - },this); }; -Ext.extend(MODx.window.CreateMessage,MODx.Window,{ - tps: ['user','usergroup','role','all'] +Ext.extend(MODx.window.CreateMessage, MODx.Window, { + recipientTypes: ['user', 'usergroup', 'role', 'all'], - ,getFields: function() { - var data = []; + getFields: function() { + const data = []; if (MODx.perm.view_user) { - data.push(['user',_('user')]); - data.push(['usergroup',_('usergroup')]); + data.push(['user', _('user')]); + } + if (MODx.perm.usergroup_view) { + data.push(['usergroup', _('usergroup')]); + } + if (MODx.perm.view_role) { + data.push(['role', _('role')]); + } + if (MODx.perm.view_user) { + data.push(['all', _('all')]); } - if (MODx.perm.view_role) data.push(['role',_('role')]); - if (MODx.perm.view_user) data.push(['all',_('all')]); - var items = [{ - xtype: 'combo' - ,fieldLabel: _('recipient_type') - ,name: 'type' - ,hiddenName: 'type' - ,store: new Ext.data.SimpleStore({ - fields: ['type','disp'] - ,data: data - }) - ,mode: 'local' - ,triggerAction: 'all' - ,displayField: 'disp' - ,valueField: 'type' - ,editable: false - ,value: data[0][0] - ,listeners: { - 'select': {fn:this.showRecipient,scope:this} + const items = [{ + xtype: 'combo', + fieldLabel: _('recipient_type'), + name: 'type', + hiddenName: 'type', + store: new Ext.data.SimpleStore({ + fields: [ + 'type', + 'disp' + ], + data: data + }), + mode: 'local', + triggerAction: 'all', + displayField: 'disp', + valueField: 'type', + editable: false, + value: data[0][0], + listeners: { + select: { + fn: this.showRecipient, + scope: this + } } - ,anchor: '100%' }]; if (MODx.perm.view_user) { items.push({ - xtype: 'modx-combo-user' - , id: 'mc-recipient-user' - , fieldLabel: _('user') - , allowBlank: true - , anchor: '100%' + xtype: 'modx-combo-user', + id: 'mc-recipient-user', + fieldLabel: _('user') }); items.push({ - xtype: 'modx-combo-usergroup' - , id: 'mc-recipient-usergroup' - , fieldLabel: _('usergroup') - , allowBlank: true - , anchor: '100%' + xtype: 'modx-combo-usergroup', + id: 'mc-recipient-usergroup', + fieldLabel: _('usergroup'), + hidden: true + }); + } + if (MODx.perm.view_role) { + items.push({ + xtype: 'modx-combo-role', + id: 'mc-recipient-role', + fieldLabel: _('role'), + hidden: true + }); + } + if (MODx.perm.view_user) { + items.push({ + xtype: 'hidden', + id: 'mc-recipient-all', + name: 'all', + fieldLabel: _('all'), + value: 'all' }); } - if (MODx.perm.view_role) items.push({ - xtype: 'modx-combo-role' - ,id: 'mc-recipient-role' - ,fieldLabel: _('role') - ,allowBlank: true - ,anchor: '100%' - }); - if (MODx.perm.view_user) items.push({ - xtype: 'hidden' - ,id: 'mc-recipient-all' - ,name: 'all' - ,fieldLabel: _('all') - ,value: 'all' - }); - items.push( [{ - xtype: 'textfield' - ,fieldLabel: _('subject') - ,name: 'subject' - ,maxLength: 255 - ,anchor: '100%' - },{ - xtype: 'textarea' - ,fieldLabel: _('message') - ,name: 'message' - ,anchor: '100%' - ,grow: true - },{ - xtype: 'xcheckbox' - ,name: 'sendemail' - ,boxLabel: _('message_send_email') - ,hideLabel: true - ,inputValue: 0 - ,checked: false + items.push([{ + xtype: 'textfield', + fieldLabel: _('subject'), + name: 'subject', + maxLength: 255 + }, { + xtype: 'textarea', + fieldLabel: _('message'), + name: 'message', + grow: true + }, { + xtype: 'xcheckbox', + name: 'sendemail', + ctCls: 'display-switch space-before', + boxLabel: _('message_send_email'), + hideLabel: true, + inputValue: 0, + checked: false }]); return items; - } - ,showRecipient: function(cb,rec,i) { - var form = this.fp.getForm(); - for (var x=0;xem>button:before,.tree-new-chunk>em>button:before,.tree-new-plugin>em>button:before,.tree-new-resource>em>button:before,.tree-new-snippet>em>button:before,.tree-new-static-resource>em>button:before,.tree-new-symlink>em>button:before,.tree-new-template>em>button:before,.tree-new-tv>em>button:before,.tree-new-weblink>em>button:before,.tree-resource:before,.tree-static-resource:before,.tree-symlink:before,.tree-trash>em>button:before,.tree-weblink:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.icon-file_manager button:before,.x-btn-icon.icon-file_upload button:before,.x-btn-icon.icon-folder button:before,.x-btn-icon.icon-page_white button:before,.x-btn-icon.refresh button:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-left a:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before,.x-form-field-wrap .x-form-trigger:before,.x-form-invalid-msg:before,.x-form-item .x-form-element .x-form-invalid-icon:before,.x-form-item label.x-form-item-label .modx-field-utils:before,.x-form-item label.x-form-item-label .modx-tv-reset:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-grid3-check-col-on:before,.x-grid3-check-col:before,.x-grid3-hd-btn:before,.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before,.x-grid3-row-collapsed .x-grid3-row-expander:before,.x-grid3-row-expanded .x-grid3-row-expander:before,.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before,.x-grid-group-hd div.x-grid-group-title:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before,.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before,.x-tab-scroller-left:before,.x-tab-scroller-right:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before,.x-tool:after,.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before,.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900}.crumb_wrapper .crumbs li.first:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.refresh button:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before{bottom:0;color:inherit;font-size:14px;height:100%;left:0;line-height:100%;position:absolute;right:0;text-align:center;top:0;width:100%}#modx-tv-tabs .lt-ie8{*zoom:1}#modx-tv-tabs:after,#modx-tv-tabs:before{content:" ";display:table}#modx-tv-tabs:after{clear:both}.x-splitbar-proxy{background-color:#aaa}.x-color-palette a{border-color:#fff}.x-color-palette a.x-color-palette-sel,.x-color-palette a:hover{background-color:#ebebeb;border-color:#b4b4b4}.x-color-palette em{border-color:#aca899}.loading-indicator{background-image:url(../images/modx-theme/grid/loading.gif);font-size:11px}.x-spotlight{background-color:#ccc}.ext-ie7 .x-plain-body{position:relative}.x-statusbar .x-status-busy{background-image:url(../images/modx-theme/grid/loading.gif)}.x-statusbar .x-status-text-panel{border-color:#dfdfdf #fff #fff #dfdfdf}.x-resizable-handle-southeast{bottom:1px;right:1px}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background-image:url(../images/modx-theme/sizer/e-handle.gif)}.x-resizable-over .x-resizable-handle-north,.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-south{background-image:url(../images/modx-theme/sizer/s-handle.gif)}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background-image:url(../images/modx-theme/sizer/se-handle.gif)}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background-image:url(../images/modx-theme/sizer/nw-handle.gif)}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background-image:url(../images/modx-theme/sizer/ne-handle.gif)}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background-image:url(../images/modx-theme/sizer/sw-handle.gif)}.x-resizable-proxy{border-color:#575757}.x-resizable-overlay{background-color:#fff}.x-grid3{background-color:initial;background-image:none;border:1px solid #e4e9ee;border-radius:3px;overflow:hidden;padding:0}.x-grid-panel .x-panel-mc .x-panel-body{border:0}.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-row td,.x-grid3-summary-row td{border-left:1px solid #0000;padding-left:0}.x-grid3-hd-row td{border-left:1px solid #fff;border-right:none;text-align:initial}.x-grid3-hd-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-summary-first{border-left:0}.x-grid3-hd-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-summary-last{border-right:0}.x-grid-row-loading{background-color:#fff;background-image:url(../images/modx-theme/shared/loading-balls.gif)}.x-grid3-row{border-color:#fff #fff #efefef}.x-grid3-row.highlight-inserted{background-color:#dce0ea}.x-grid3-row-expanded .x-grid3-row-body{word-wrap:break-word;color:#888;margin:0 2px 0 -20px;padding:0 25px 15px}.x-grid3-row-expanded .x-grid3-row-body .desc{word-wrap:break-word}.x-grid3-row-alt{background-color:#f5f6f9}.x-panel-body-noheader .x-grid3-row{border-color:#0000}.x-panel-body-noheader .x-grid3-row-alt{border-bottom:1px solid #eaeaea;border-top:1px solid #eaeaea}.x-panel-body-noheader .x-grid3-row-alt .x-grid3-row-table{border-top:1px solid #0000}.x-grid3-row-over{background-color:#e0e8ef;background-image:none;border-bottom:1px solid #d1d9df}.x-grid3-resize-marker,.x-grid3-resize-proxy{background-color:#777}.x-grid3-header{background:#fff;border-bottom:1px solid #e4e9ee!important;padding:0}.x-panel-body-noheader .x-grid3-header{border:none}.x-grid3-header-offset{padding-left:0}.x-grid3-header .x-grid3-hd-row td{color:dimgray;font-weight:700;text-align:initial}.x-grid3-header-pop{border-left-color:#dfdfdf}.x-grid3-header-pop-inner{background-image:url(../images/modx-theme/grid/hd-pop.gif);border-left-color:#eee}td.sort-asc,td.sort-desc,td.x-grid3-hd-menu-open,td.x-grid3-hd-over{background:#fff;border-left-color:#fff}td.sort-asc .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner,td.x-grid3-hd-over .x-grid3-hd-inner{color:#696969}.sort-asc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_asc.gif)}.sort-desc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_desc.gif)}.x-panel-body-noheader .x-grid3-body{background-color:#fff}.x-grid3-cell-text,.x-grid3-hd-text{color:#515151}.x-grid3-split{background-image:url(../images/modx-theme/grid/grid-split.gif)}.x-grid3-hd-text{color:#464646}.x-dd-drag-proxy .x-grid3-hd-inner{background-color:#f2f2f2;background-image:url(../images/modx-theme/grid/grid3-hrow-over.gif);border-color:#c8c8c8}.col-move-top{background-image:url(../images/modx-theme/grid/col-move-top.gif)}.col-move-bottom{background-image:url(../images/modx-theme/grid/col-move-bottom.gif)}.x-grid3-row-selected{background-color:#f0f0f0;background-image:none;border-bottom:1px solid #e4e4e4!important;border-top:1px solid #e4e4e4!important;color:#565550}.x-grid3-row-last,.x-grid3-row-last .x-grid3-row-selected{border-bottom-color:#0000!important}.x-grid3-cell-selected{background-color:#e0eaef!important;color:#515151}.x-grid3-cell-selected span{color:#515151!important}.x-grid3-cell-selected .x-grid3-cell-text{color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker,.x-grid3-locked td.x-grid3-row-marker{background-color:#d7d9df!important;background-image:url(../images/modx-theme/grid/grid-hrow.gif)!important;border-right-color:#9c9c9c!important;border-top-color:#fff;color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div,.x-grid3-locked td.x-grid3-row-marker div{color:#464646!important}.x-grid3-dirty-cell{background-image:url(../images/modx-theme/grid/dirty.gif)}.x-grid3-bottombar,.x-grid3-topbar{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-bottombar .x-toolbar{border-top-color:#bcbcbc}.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)!important;color:#515151!important}.x-grid3-hd-inner{font-weight:700;padding:10px}.ext-ie .x-grid3-hd-inner{width:auto}.x-grid3-cell-inner,.x-grid3-hd-inner{padding:10px}.x-props-grid .x-grid3-body .x-grid3-td-name{background-color:#fff!important;border-right-color:#eee}.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-asc.gif)}.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-desc.gif)}.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-lock.gif)}.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-unlock.gif)}.x-grid3-hd-btn{background-color:#fff}.x-grid3-hd-btn:before{color:#77899f;content:"\f0d7";font-size:14px;font-style:normal;font-weight:900;left:0;position:absolute;right:0;text-align:center;top:14px}.x-grid3-hd-btn:hover{background-color:#fff}.x-grid3-body .x-grid3-td-expander{background-image:none;text-align:right}.x-grid3-row-collapsed .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-collapsed .x-grid3-row-expander:before{color:#53595f;content:"\f0fe";font-size:14px;font-weight:400}.x-grid3-row-expanded .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-expanded .x-grid3-row-expander:before{color:#53595f;content:"\f146";font-size:14px;font-weight:400}.x-grid3-body .x-grid3-td-checker{background-image:none;padding:10px 0 0}.x-grid3-hd-checker:not(.x-grid3-hd-inner),.x-grid3-row-checker{cursor:pointer}.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before{color:#53595f;content:"\f0c8";display:inline-block;font-size:14px;font-weight:400;padding:3px 5px}.x-grid3-hd-checker-on .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-hd-checker-on .x-grid3-row-checker:before,.x-grid3-row-selected .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-selected .x-grid3-row-checker:before{content:"\f14a";font-weight:400}.x-grid3-body .x-grid3-td-numberer{background-color:#e5e5e5;border-bottom:1px solid #dadada;border-right:1px solid #dadada!important}.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{color:#444;padding-left:10px;padding-top:10px!important}.x-grid3-body .x-grid3-td-row-icon{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)}.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander,.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer{background-image:none}.x-grid3-check-col{cursor:pointer;margin-top:10px}.x-grid3-check-col:before{color:#53595f;content:"\f0c8";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid3-check-col-on{cursor:pointer;margin-top:10px}.x-grid3-check-col-on:before{color:#53595f;content:"\f14a";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1}.x-grid-group-hd{border-bottom-color:#53595f}.x-grid-group-hd div.x-grid-group-title{color:#53595f;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:700;padding:10px 0}.x-grid-group-hd div.x-grid-group-title:before{content:"\f146";font-size:14px;font-style:normal;font-weight:400;padding:0 5px}.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before{content:"\f0fe";font-style:normal;font-weight:400;padding:0 5px}.x-group-by-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-cols-icon{background-image:url(../images/modx-theme/grid/columns.gif)}.x-show-groups-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-grid-empty{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;text-align:center}.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell{border-right-color:#ededed}.x-grid-with-col-lines .x-grid3-row{border-left:0;border-top:0}.x-grid-with-col-lines .x-grid3-row-selected{border-top-color:#e4e4e4}.x-dd-drag-ghost{background-color:#fff;border-color:#ddd #bbb #bbb #dfdfdf;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-no.gif)}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-yes.gif)}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-add.gif)}.x-view-selector{background-color:#d8d8d8;border-color:#8d8d8d}.x-tip{background:#575757;border-radius:3px;max-width:400px;min-width:200px;padding:5px;width:auto!important}.x-tip .x-tip-close{background-image:url(../images/modx-theme/qtip/close.gif)}.x-tip .x-tip-bc,.x-tip .x-tip-bl,.x-tip .x-tip-br,.x-tip .x-tip-ml,.x-tip .x-tip-mr,.x-tip .x-tip-tc,.x-tip .x-tip-tl,.x-tip .x-tip-tr{background-image:none}.x-tip .x-tip-mc{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-ml{background-color:initial}.x-tip .x-tip-header-text{color:#f0f0f0;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-body{color:#f0f0f0;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;width:auto!important}.x-tip img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;max-width:100%;width:100%}.x-form-invalid-tip .x-tip-bc,.x-form-invalid-tip .x-tip-bl,.x-form-invalid-tip .x-tip-br,.x-form-invalid-tip .x-tip-ml,.x-form-invalid-tip .x-tip-mr,.x-form-invalid-tip .x-tip-tc,.x-form-invalid-tip .x-tip-tl,.x-form-invalid-tip .x-tip-tr{background-image:url(../images/modx-theme/form/error-tip-corners.gif)}.x-form-invalid-tip .x-tip-body{background-image:url(../images/modx-theme/form/exclamation.gif)}.x-tip-anchor{background-image:url(../images/modx-theme/qtip/tip-anchor-sprite.gif)}.x-menu{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 4px 6px #00000026}.x-menu-list{padding:0}.x-menu-list li{border:0;margin:0;padding:0}.x-menu-list li:first-child{margin-top:3px}.x-menu-list li:last-child{margin-bottom:3px}.x-menu-list li.x-menu-date-item{margin:0}.x-menu-list li a.x-menu-item{color:#515151;font-size:13px;padding:3px 21px 3px 27px}.x-menu-list li a.x-menu-item:hover{color:#515151}.x-menu-list li.x-menu-item-active{background-color:#f0f0f0}.x-menu-list li.x-menu-item-active a{color:#515151}.x-menu-floating{border-color:#c7c7c7}html[dir=rtl] .x-menu-floating{left:unset!important;right:0}.x-menu-nosep{background-image:none}.x-menu-list-item{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-menu-item-arrow{background-image:url(../images/modx-theme/menu/menu-parent.gif)}.x-menu-sep{background-color:#e4e4e4;border-bottom:none;margin:2px 0}.x-menu-item-active a.x-menu-item{border:0;margin:0}.x-menu-check-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/unchecked.gif)}.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/modx-theme/menu/checked.gif)}.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/group-checked.gif)}.x-menu-group-item .x-menu-item-icon{background-image:none}.x-menu-plain{background-color:#fff!important}.x-cycle-menu .x-menu-item-checked{background-color:#dfdfdf;border-color:#b9b9b9!important}.x-menu-scroller-top{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-menu-scroller-bottom{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-box-ml,.x-box-tl{background-color:#fafafa;background-image:none;color:#393939;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-box-mc p{font-weight:400;margin-bottom:5px}.x-box-tl{border-top:1px solid #dedede}.x-box-ml,.x-box-tl{background-color:#fafafacc}.x-box-bl,.x-box-ml,.x-box-tl{border-left:1px solid #dedede;border-right:1px solid #dedede}.x-box-bl{background-color:#e6e6e6cc;border-bottom:1px solid #dedede}.x-box-mc h3{font-size:14px;font-weight:700}.x-box-bc,.x-box-bl,.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr,.x-box-br,.x-box-mr{background-image:none}.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/modx-theme/box/tb-gray.gif)}.x-box-blue .x-box-mc{background-color:#d8d8d8}.x-box-blue .x-box-mc h3{color:#363636}.x-box-blue .x-box-ml{background-image:url(../images/modx-theme/box/l-gray.gif)}.x-box-blue .x-box-mr{background-image:url(../images/modx-theme/box/r-gray.gif)}#x-debug-browser .x-tree .x-tree-node a span{color:#333;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}#x-debug-browser .x-tree a i{color:#cf1124;font-style:normal}#x-debug-browser .x-tree a em{color:#999}#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background-color:#d8d8d8}.x-panel-body,.x-panel-bwrap{overflow:visible}.x-panel-body{border:0;border-radius:3px}#modx-panel-packages-browser .x-panel-body{border-radius:0}.x-grid-panel .x-panel-body{background-color:#f5f5f5;border:0}.x-grid-panel .x-panel-body-noheader{background-color:initial;border:0;padding:0!important}.x-panel-tl .x-panel-header{color:#6a6a6a;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-panel-tl .x-panel-icon{background-position:0 8px}.x-panel-tc{background-image:none}.x-panel-bl,.x-panel-br,.x-panel-tl,.x-panel-tr{background-image:none;border-bottom-color:#dfdfdf}.x-panel-bc{background-image:none}.x-panel-tc{background-color:#f5f5f5}.x-panel-tl{border:1px solid #e3e3e3;border-bottom:0 #e3e3e3}.x-panel-tl .x-panel-header{border-bottom:1px solid #e4e4e4;padding:10px 0}.x-panel-bc .x-panel-footer{padding-bottom:0}.x-panel-btns{background-color:initial;padding:15px 0 1px}.x-panel-btns td.x-toolbar-cell{padding:0}.x-panel-mc{background-color:#f5f5f5;border-bottom:1px solid #dfdfdf;border-top:1px solid #fafafa;padding:10px 5px}.x-panel-bl,.x-panel-ml,.x-panel-tl{background-color:#f5f5f5;padding-left:8px}.x-panel-ml,.x-panel-mr{background-image:none}.x-panel-bl{border:1px solid #e3e3e3;border-top:0 #e3e3e3;padding-bottom:8px}.x-panel-ml{border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3}.x-panel-mr{padding-right:8px}.x-panel-br,.x-panel-mr,.x-panel-tr{background-color:#f7f7f7}.x-tool{background:none;border-radius:50%;color:#515151;font-size:14px;margin:0 3px 0 0;position:relative;transition:all .3s}.x-tool,.x-tool:after{height:18px;width:18px}.x-tool:after{box-sizing:border-box;left:0;padding-top:2px;position:absolute;text-align:center;top:0;vertical-align:middle}.x-tool:hover{background:#234368;color:#fff}.x-tool.x-tool-toggle:after{content:"\f077";padding-top:2px}.x-tool.x-tool-toggle-over:after,.x-tool.x-tool-toggle:hover:after{content:"\f077"}.x-panel-collapsed .x-tool.x-tool-toggle-over:after,.x-panel-collapsed .x-tool.x-tool-toggle:after,.x-panel-collapsed .x-tool.x-tool-toggle:hover:after{content:"\f078";padding-top:3px}.x-tool.x-tool-close:after{content:"\f00d"}.x-tool.x-tool-minimize:after{content:"\f066"}.x-tool.x-tool-maximize:after{content:"\f065"}.x-tool.x-tool-restore:after{content:"\f066"}.x-tool.x-tool-gear:after{content:"\f013"}.x-tool.x-tool-pin:after{content:"\f111"}.x-tool.x-tool-pin-over:after,.x-tool.x-tool-pin:hover:after,.x-tool.x-tool-unpin:after{content:"\f192"}.x-tool.x-tool-unpin-over:after,.x-tool.x-tool-unpin:hover:after{content:"\f111"}.x-tool.x-tool-right:after{content:"\f054";padding-left:1px}.x-tool.x-tool-left:after{content:"\f053";padding-right:2px}.x-tool.x-tool-up:after{content:"\f077";padding-top:1px}.x-tool.x-tool-down:after{content:"\f078";padding-top:1px}.x-tool.x-tool-minus:after{content:"\f068"}.x-tool.x-tool-plus:after{content:"\f067"}.x-panel-dd-spacer{border-color:#dfdfdf}.x-panel-fbar div,.x-panel-fbar input,.x-panel-fbar label,.x-panel-fbar select,.x-panel-fbar span,.x-panel-fbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-panel-header{border:1px solid silver;border-radius:3px 3px 0 0;font-size:14px;font-weight:700;margin-top:0;padding:10px 10px 8px}.x-portal-space{border-bottom:1px solid #afafaf;padding:0}.x-column-inner{overflow:visible}.x-column-inner>.x-column{margin-right:0;overflow:visible}.x-column-inner>.x-column:not(.x-hide-display)~.x-column{margin-left:15px;margin-right:0}.x-panel-nofooter .x-panel-bc{background-image:none;height:0}.x-panel-ghost{background-color:#dbdbdb}.x-panel-dd-spacer,.x-panel-ghost ul{border-color:#d0d0d0}.x-dlg-mask{background-color:#ccc}.x-html-editor-wrap{background-color:#fff;border-color:#bcbcbc}.x-panel-noborder .x-panel-header-noborder{border-bottom-color:#0000}.x-border-layout-ct{background-color:#fafafa}.x-accordion-hd{background-image:url(../images/modx-theme/panel/light-hd.gif);color:#222;font-weight:400}.x-layout-collapsed{background-color:#e4e4e4;border-color:#dfdfdf;width:7px!important}.x-layout-collapsed-over{background-color:#e6e6e6}.x-layout-split-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-split-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-split-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-layout-split-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-cmini-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-cmini-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-list-header{background-color:#f9f9f9;background-image:url(../images/modx-theme/grid/grid3-hrow.gif)}.x-list-header-inner div em{border-left-color:#dfdfdf}.x-list-body dt em,.x-list-header-inner div em{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-list-over{background-color:#eee}.x-list-selected{background-color:#e7e7e7}.x-list-resizer{border-left-color:#555;border-right-color:#555}.x-list-header-inner em.sort-asc,.x-list-header-inner em.sort-desc{background-image:url(../images/modx-theme/grid/sort-hd.gif);border-color:#dfdfdf}.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-bg.png)}.x-slider-horz .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-thumb.png)}.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-v-bg.png)}.x-slider-vert .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-v-thumb.png)}.x-portal .x-panel-tl .x-panel-header{background:none;font-size:14px;padding:8px 0}.x-portal .x-tool{margin-top:0}.x-portal .x-panel-body{font-weight:400;margin-bottom:5px;padding:0;text-transform:none}.x-portal-space{margin-bottom:5px}.x-grid3-body .x-grid3-td-checker{background-image:none!important}.modx-combo-desc{color:#515151;font-size:.9em;font-style:italic}.modx-combo-title{font-weight:700}.modx-grid-draggable .x-grid3-row{cursor:move}#modx-grid-deprecated-log .x-grid-group-hd div{height:auto}.actions button.primary-button,.primary-button.inline-button,.primary-button.x-btn,.primary-button.x-date-mp-cancel,.primary-button.x-date-mp-ok,.primary-button.x-form-trigger,.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn{background:#6cb24a;box-shadow:none;color:#fff;transition:background-color .2s ease-out}.actions button.x-btn-focus.primary-button:not(.x-btn-over),.x-btn-focus.primary-button.inline-button:not(.x-btn-over),.x-btn-focus.primary-button.x-btn:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.primary-button.x-form-trigger:not(.x-btn-over),.x-btn-focus.primary-button.x-superboxselect-item:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-focus.x-btn:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-focus.x-btn:not(.x-btn-over){background:#6cb24a;color:#fff}.actions button.primary-button:hover,.actions button.x-btn-over.primary-button,.primary-button.inline-button:hover,.primary-button.x-btn:hover,.primary-button.x-date-mp-cancel:hover,.primary-button.x-date-mp-ok:hover,.primary-button.x-form-trigger:hover,.primary-button.x-superboxselect-item:hover,.x-btn-over.primary-button.inline-button,.x-btn-over.primary-button.x-btn,.x-btn-over.primary-button.x-date-mp-cancel,.x-btn-over.primary-button.x-date-mp-ok,.x-btn-over.primary-button.x-form-trigger,.x-btn-over.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:hover,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:hover{background:#528738;box-shadow:none;color:#fff}.actions button.primary-button:active,.actions button.x-btn-click.primary-button,.primary-button.inline-button:active,.primary-button.x-btn:active,.primary-button.x-date-mp-cancel:active,.primary-button.x-date-mp-ok:active,.primary-button.x-form-trigger:active,.primary-button.x-superboxselect-item:active,.x-btn-click.primary-button.inline-button,.x-btn-click.primary-button.x-btn,.x-btn-click.primary-button.x-date-mp-cancel,.x-btn-click.primary-button.x-date-mp-ok,.x-btn-click.primary-button.x-form-trigger,.x-btn-click.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:active,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:active{background:#385c26;box-shadow:none;color:#fff}.actions button.x-item-disabled.primary-button,.x-item-disabled.primary-button.inline-button,.x-item-disabled.primary-button.x-btn,.x-item-disabled.primary-button.x-date-mp-cancel,.x-item-disabled.primary-button.x-date-mp-ok,.x-item-disabled.primary-button.x-form-trigger,.x-item-disabled.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-item-disabled.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-item-disabled.x-btn{background:#6cb24a;box-shadow:none;color:#fff;filter:alpha(opacity=60);opacity:.6}.actions button,.inline-button,.x-btn,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{zoom:1;background-color:#fff;background-repeat:no-repeat;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;color:#515151;cursor:pointer;display:inline-block;*display:inline;line-height:1;padding:10px 15px;position:relative;text-decoration:none;transition:background-color .2s ease-out}.actions .ext-webkit button em,.ext-webkit .actions button em,.ext-webkit .inline-button em,.ext-webkit .x-btn em,.ext-webkit .x-date-mp-cancel em,.ext-webkit .x-date-mp-ok em,.ext-webkit .x-form-trigger em,.ext-webkit .x-superboxselect-item em{font-size:0}.actions button button,.inline-button button,.x-btn button,.x-date-mp-cancel button,.x-date-mp-ok button,.x-date-picker .x-btn button,.x-form-trigger button,.x-superboxselect-item button{background-repeat:no-repeat;color:inherit;cursor:pointer;font-size:13px;font-style:normal;height:16px;line-height:1;min-width:100%;padding:0}.actions .ext-ie8 button button,.ext-ie8 .actions button button,.ext-ie8 .inline-button button,.ext-ie8 .x-btn button,.ext-ie8 .x-date-mp-cancel button,.ext-ie8 .x-date-mp-ok button,.ext-ie8 .x-form-trigger button,.ext-ie8 .x-superboxselect-item button{padding-top:0}.actions button .x-btn-arrow,.actions button .x-btn-split,.inline-button .x-btn-arrow,.inline-button .x-btn-split,.x-btn .x-btn-arrow,.x-btn .x-btn-split,.x-date-mp-cancel .x-btn-arrow,.x-date-mp-cancel .x-btn-split,.x-date-mp-ok .x-btn-arrow,.x-date-mp-ok .x-btn-split,.x-date-picker .x-btn .x-btn-arrow,.x-date-picker .x-btn .x-btn-split,.x-form-trigger .x-btn-arrow,.x-form-trigger .x-btn-split,.x-superboxselect-item .x-btn-arrow,.x-superboxselect-item .x-btn-split{display:block;padding-right:20px;position:relative}.actions button .x-btn-arrow:before,.actions button .x-btn-split:before,.inline-button .x-btn-arrow:before,.inline-button .x-btn-split:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before{color:inherit;content:"\f0d7";font-size:14px;margin-top:0;position:absolute;right:0;top:50%}.actions button .x-btn-arrow button,.actions button .x-btn-split button,.inline-button .x-btn-arrow button,.inline-button .x-btn-split button,.x-btn .x-btn-arrow button,.x-btn .x-btn-split button,.x-date-mp-cancel .x-btn-arrow button,.x-date-mp-cancel .x-btn-split button,.x-date-mp-ok .x-btn-arrow button,.x-date-mp-ok .x-btn-split button,.x-form-trigger .x-btn-arrow button,.x-form-trigger .x-btn-split button,.x-superboxselect-item .x-btn-arrow button,.x-superboxselect-item .x-btn-split button{border-right-color:inherit;border-right-style:solid;border-right-width:1px;padding-right:10px}.actions button.x-btn-focus:not(.x-btn-over),.x-btn-focus.inline-button:not(.x-btn-over),.x-btn-focus.x-btn:not(.x-btn-over),.x-btn-focus.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.x-form-trigger:not(.x-btn-over),.x-btn-focus.x-superboxselect-item:not(.x-btn-over){background:#fff;color:#515151}.actions button.x-btn-click,.actions button.x-btn-over,.actions button:active,.actions button:hover,.inline-button:active,.inline-button:hover,.x-btn-click.inline-button,.x-btn-click.x-btn,.x-btn-click.x-date-mp-cancel,.x-btn-click.x-date-mp-ok,.x-btn-click.x-form-trigger,.x-btn-click.x-superboxselect-item,.x-btn-over.inline-button,.x-btn-over.x-btn,.x-btn-over.x-date-mp-cancel,.x-btn-over.x-date-mp-ok,.x-btn-over.x-form-trigger,.x-btn-over.x-superboxselect-item,.x-btn:active,.x-btn:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:hover,.x-form-trigger:active,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:hover{background-color:#e4e4e4;box-shadow:#dcdcdc;color:#515151}.actions button.x-btn-menu-active .x-btn-split:before,.x-btn-menu-active.inline-button .x-btn-split:before,.x-btn-menu-active.x-btn .x-btn-split:before,.x-btn-menu-active.x-date-mp-cancel .x-btn-split:before,.x-btn-menu-active.x-date-mp-ok .x-btn-split:before,.x-btn-menu-active.x-form-trigger .x-btn-split:before,.x-btn-menu-active.x-superboxselect-item .x-btn-split:before{content:"\f0d8"}.actions button.x-item-disabled,.x-item-disabled.inline-button,.x-item-disabled.x-btn,.x-item-disabled.x-date-mp-cancel,.x-item-disabled.x-date-mp-ok,.x-item-disabled.x-form-trigger,.x-item-disabled.x-superboxselect-item{background-color:#fff;box-shadow:0 0 0 1px #e4e4e4;color:#1e1e1e;filter:alpha(opacity=60);opacity:.6}button{margin:2px}.x-panel-btns .x-btn{margin:0 0 0 7px}.actions{bottom:8px;margin:0;overflow:visible;position:absolute}.actions li{float:left;line-height:.7;margin-right:2px}.actions button,.inline-button,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{box-shadow:0 0 0 1px #dcdcdc;box-sizing:initial;padding:5px}.actions button:active,.actions button:focus,.actions button:hover,.inline-button:active,.inline-button:focus,.inline-button:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:focus,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:focus,.x-date-mp-ok:hover,.x-date-picker .x-btn:active,.x-date-picker .x-btn:focus,.x-date-picker .x-btn:hover,.x-form-trigger:active,.x-form-trigger:focus,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:focus,.x-superboxselect-item:hover{box-shadow:#999}.actions button.yellow,.inline-button.yellow,.x-date-mp-cancel.yellow,.x-date-mp-ok.yellow,.x-date-picker .x-btn.yellow,.x-form-trigger.yellow,.x-superboxselect-item.yellow{background:#fce588;box-shadow:0 0 0 1px #fce588;color:#515151!important}.actions button.yellow:focus,.actions button.yellow:hover,.inline-button.yellow:focus,.inline-button.yellow:hover,.x-date-mp-cancel.yellow:focus,.x-date-mp-cancel.yellow:hover,.x-date-mp-ok.yellow:focus,.x-date-mp-ok.yellow:hover,.x-date-picker .x-btn.yellow:focus,.x-date-picker .x-btn.yellow:hover,.x-form-trigger.yellow:focus,.x-form-trigger.yellow:hover,.x-superboxselect-item.yellow:focus,.x-superboxselect-item.yellow:hover{background:#fbe06f;box-shadow:0 0 0 1px #fbe06f}.actions button.yellow:active,.inline-button.yellow:active,.x-date-mp-cancel.yellow:active,.x-date-mp-ok.yellow:active,.x-date-picker .x-btn.yellow:active,.x-form-trigger.yellow:active,.x-superboxselect-item.yellow:active{background:#fbda56;box-shadow:0 0 0 1px #fbda56}.actions button.orange,.inline-button.orange,.x-date-mp-cancel.orange,.x-date-mp-ok.orange,.x-date-picker .x-btn.orange,.x-form-trigger.orange,.x-superboxselect-item.orange{background:#f0b429;box-shadow:0 0 0 1px #f0b429;color:#fff!important}.actions button.orange:focus,.actions button.orange:hover,.inline-button.orange:focus,.inline-button.orange:hover,.x-date-mp-cancel.orange:focus,.x-date-mp-cancel.orange:hover,.x-date-mp-ok.orange:focus,.x-date-mp-ok.orange:hover,.x-date-picker .x-btn.orange:focus,.x-date-picker .x-btn.orange:hover,.x-form-trigger.orange:focus,.x-form-trigger.orange:hover,.x-superboxselect-item.orange:focus,.x-superboxselect-item.orange:hover{background:#eeac11;box-shadow:0 0 0 1px #eeac11}.actions button.orange:active,.inline-button.orange:active,.x-date-mp-cancel.orange:active,.x-date-mp-ok.orange:active,.x-date-picker .x-btn.orange:active,.x-form-trigger.orange:active,.x-superboxselect-item.orange:active{background:#d79b0f;box-shadow:0 0 0 1px #d79b0f}.actions button.red,.inline-button.red,.x-date-mp-cancel.red,.x-date-mp-ok.red,.x-date-picker .x-btn.red,.x-form-trigger.red,.x-superboxselect-item.red{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff!important}.actions button.red:focus,.actions button.red:hover,.inline-button.red:focus,.inline-button.red:hover,.x-date-mp-cancel.red:focus,.x-date-mp-cancel.red:hover,.x-date-mp-ok.red:focus,.x-date-mp-ok.red:hover,.x-date-picker .x-btn.red:focus,.x-date-picker .x-btn.red:hover,.x-form-trigger.red:focus,.x-form-trigger.red:hover,.x-superboxselect-item.red:focus,.x-superboxselect-item.red:hover{background:#c11022;box-shadow:0 0 0 1px #c11022}.actions button.red:active,.inline-button.red:active,.x-date-mp-cancel.red:active,.x-date-mp-ok.red:active,.x-date-picker .x-btn.red:active,.x-form-trigger.red:active,.x-superboxselect-item.red:active{background:#b30f1f;box-shadow:0 0 0 1px #b30f1f}.actions button.green,.inline-button.green,.x-date-mp-cancel.green,.x-date-mp-ok.green,.x-date-picker .x-btn.green,.x-form-trigger.green,.x-superboxselect-item.green{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff!important}.actions button.green:focus,.actions button.green:hover,.inline-button.green:focus,.inline-button.green:hover,.x-date-mp-cancel.green:focus,.x-date-mp-cancel.green:hover,.x-date-mp-ok.green:focus,.x-date-mp-ok.green:hover,.x-date-picker .x-btn.green:focus,.x-date-picker .x-btn.green:hover,.x-form-trigger.green:focus,.x-form-trigger.green:hover,.x-superboxselect-item.green:focus,.x-superboxselect-item.green:hover{background:#61a043;box-shadow:0 0 0 1px #61a043}.actions button.green:active,.inline-button.green:active,.x-date-mp-cancel.green:active,.x-date-mp-ok.green:active,.x-date-picker .x-btn.green:active,.x-form-trigger.green:active,.x-superboxselect-item.green:active{background:#568e3b;box-shadow:0 0 0 1px #568e3b}.actions button.blue,.inline-button.blue,.x-date-mp-cancel.blue,.x-date-mp-ok.blue,.x-date-picker .x-btn.blue,.x-form-trigger.blue,.x-superboxselect-item.blue{background:#4a90e2;box-shadow:0 0 0 1px #4a90e2;color:#fff!important}.actions button.blue:focus,.actions button.blue:hover,.inline-button.blue:focus,.inline-button.blue:hover,.x-date-mp-cancel.blue:focus,.x-date-mp-cancel.blue:hover,.x-date-mp-ok.blue:focus,.x-date-mp-ok.blue:hover,.x-date-picker .x-btn.blue:focus,.x-date-picker .x-btn.blue:hover,.x-form-trigger.blue:focus,.x-form-trigger.blue:hover,.x-superboxselect-item.blue:focus,.x-superboxselect-item.blue:hover{background:#3483de;box-shadow:0 0 0 1px #3483de}.actions button.blue:active,.inline-button.blue:active,.x-date-mp-cancel.blue:active,.x-date-mp-ok.blue:active,.x-date-picker .x-btn.blue:active,.x-form-trigger.blue:active,.x-superboxselect-item.blue:active{background:#2275d7;box-shadow:0 0 0 1px #2275d7}.x-toolbar .x-form-field-trigger-wrap{background:#fff;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;cursor:pointer;line-height:1}.x-toolbar .x-form-field-trigger-wrap .x-form-text{background:#fff;border:0;margin:0!important}.x-toolbar .x-form-field-trigger-wrap .x-form-trigger:before{margin-top:0}.x-toolbar .x-form-field-trigger-wrap.x-trigger-wrap-focus{box-shadow:0 0 0 1px #999}html[dir=rtl] .x-toolbar-left table{float:right}.x-toolbar .x-toolbar-left-row .x-btn,.x-toolbar .x-toolbar-left-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-left-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-left-row td .x-btn{display:block}.x-toolbar .x-toolbar-left-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-left-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-left-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-left-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-right:0}.x-toolbar .x-toolbar-right-row .x-btn,.x-toolbar .x-toolbar-right-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-right-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-right-row td .x-btn{display:block}.x-toolbar .x-toolbar-right-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-right-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-right-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-right-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-left:0}.x-toolbar .x-form-text{border-radius:3px;font-size:13px!important;padding:8px 13px}.x-toolbar.x-small-editor .x-form-text{padding-top:8px}.x-toolbar .xtb-sep{margin:0;width:0}.x-tree .x-toolbar .x-btn{padding:7px}.x-tree .x-toolbar .x-btn-icon{box-shadow:none;padding:7px}.x-tree .x-toolbar .x-btn-icon.x-btn-over{background:none;box-shadow:none;color:#234368}.x-tree .x-toolbar .x-btn-icon.x-btn-click{background:none;box-shadow:none;color:#1b3451}.x-tree .x-toolbar .x-btn-icon:before{content:none}.x-tree .x-toolbar .x-toolbar-left-row .x-form-field-wrap,.x-tree .x-toolbar .x-toolbar-right-row .x-form-field-wrap{margin-left:6px!important;margin-right:6px}#modx-action-buttons{background:#f1f1f1;border:0;border-radius:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;left:auto;padding:.5rem 1rem;position:fixed;right:0;top:0;z-index:12}#modx-action-buttons .x-toolbar-cell{padding:.25rem}#modx-action-buttons .x-btn{margin:0}#modx-action-buttons #modx-abtn-menu .x-btn-split{padding:0}#modx-action-buttons #modx-abtn-menu .x-btn-split:before{display:none}#modx-action-buttons #modx-abtn-menu .x-btn-split .x-btn-text{border:none;padding:0}#modx-action-buttons .x-toolbar-left{zoom:1;width:auto!important}@media screen and (max-width:960px){#modx-action-buttons{background:#0000;border-radius:0;bottom:auto;left:auto;max-width:100%;padding:0 15px;position:relative;right:auto;top:auto}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-panel-welcome #modx-action-buttons{display:none}#modx-action-buttons .x-toolbar-cell{margin:5px;width:auto}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}.tab-panel-wrapper .x-panel-tbar .x-toolbar-left input,.tab-panel-wrapper .x-panel-tbar .x-toolbar-right input{box-sizing:border-box;height:auto!important;margin-left:0;width:100%}html.ext-strict body #modx-container .x-small-editor .x-form-text{height:auto!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-grid-element-properties .x-toolbar-left{margin-bottom:0}#modx-grid-element-properties .x-toolbar-cell>*{box-sizing:border-box;margin-left:auto;margin-right:auto;width:100%!important}}.x-btn-icon button{font-size:18px;height:18px;position:relative;width:18px}.x-btn-icon.arrow_up button{background:none!important;position:relative}.x-btn-icon.arrow_up button:before{bottom:auto;content:"\f3bf";top:1px}.x-btn-icon.arrow_down button{background:none!important;position:relative}.x-btn-icon.arrow_down button:before{bottom:auto;content:"\f3be";top:1px}.x-btn-icon.refresh button{background:none!important;position:relative}.x-btn-icon.refresh button:before{bottom:auto;content:"\f021";top:1px}.x-btn-icon.icon-folder button:before{content:"\f07b"}.x-btn-icon.icon-page_white button:before{content:"\f15c"}.x-btn-icon.icon-file_upload button:before{content:"\f35b"}.x-btn-icon.icon-file_manager button:before{content:"\f14d"}.x-btn-text-icon button{padding-left:20px!important}.x-html-editor-tb .x-btn{background-color:initial;background-image:none;border:0;box-shadow:none;margin:0}.x-html-editor-tb .x-btn-over{border:0}.x-btn-group{border:1px solid #dbe0e4;border-radius:3px;margin-right:2px;padding:0}.x-btn-group .x-btn{background-color:initial;background-image:none;border:1px solid #0000;box-shadow:0 0 1px #0000}.x-btn-group .x-btn button{color:#868b8f;height:auto!important}.x-btn-group .x-btn-over{background:#dfdfdf;background:#f0f0f0;border:1px solid #dbe0e4}.x-btn-group .x-btn-over button{color:#5b7a98}.x-btn-group .x-btn-click{background-color:#fff;background-image:none;box-shadow:inset 0 0 3px #aaa;margin:0 2px 0 0}.x-btn-group-bwrap{padding:1px 0 0}.x-btn-group-header{background-color:#dbe0e4;color:#73797f;text-shadow:0 1px 0 #fafafa}.x-btn-group-tl,.x-btn-group-tr{background-image:none;padding:0}.x-btn-group-bc,.x-btn-group-bl,.x-btn-group-br,.x-btn-group-ml,.x-btn-group-tc{background-image:none}.x-btn-group-ml{padding-left:1px}.x-btn-group-mr{background-image:none;padding-right:1px}.x-btn em.x-btn-arrow-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-btn em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b.gif)}.x-btn-click em.x-btn-split-bottom,.x-btn-menu-active em.x-btn-split-bottom,.x-btn-over em.x-btn-split-bottom,.x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.x-btn-group-notitle .x-btn-group-tc{background-image:url(../images/modx-theme/button/group-tb.gif)}#modx-leftbar .x-toolbar-ct .x-btn{background:#f1f1f1;border:none;box-shadow:none;color:#515151;display:inline-block;filter:alpha(opacity=100);height:30px;margin:0 3px;opacity:1;padding:0;position:relative;width:25px}#modx-leftbar .x-toolbar-ct .x-btn>em>button{font-size:18px;height:24px;left:2px;overflow:visible;position:absolute;text-shadow:none;top:4px}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over,#modx-leftbar .x-toolbar-ct .x-btn:active,#modx-leftbar .x-toolbar-ct .x-btn:focus,#modx-leftbar .x-toolbar-ct .x-btn:hover{background:none;box-shadow:none;color:#234368}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over button,#modx-leftbar .x-toolbar-ct .x-btn:active button,#modx-leftbar .x-toolbar-ct .x-btn:focus button,#modx-leftbar .x-toolbar-ct .x-btn:hover button{color:inherit}#modx-leftbar .x-toolbar-ct .x-btn span{vertical-align:middle}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn>em>button{font-size:20px}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled{color:#919191!important;filter:alpha(opacity=60); /* !important prevents hover / active styles */opacity:.6}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled button{color:inherit}.tree-new-resource>em>button:before{content:"\f15b"}.tree-new-weblink>em>button:before{content:"\f0c1"}.tree-new-symlink>em>button:before{content:"\f0c5";font-weight:400}.tree-new-static-resource>em>button:before{content:"\f15c";font-weight:400}.tree-trash>em>button:before{content:"\f2ed";font-weight:400}#modx-leftbar .x-toolbar-ct .x-btn .tree-new-symlink>em>button{left:2px;top:4px}#modx-leftbar .x-toolbar-ct .x-btn .tree-new-weblink>em>button{left:2px}.tree-new-template>em>button:before{content:"\f0db"}.tree-new-tv>em>button:before{content:"\f022";font-weight:400}.tree-new-chunk>em>button:before{content:"\f009";font-weight:900}.tree-new-snippet>em>button:before{content:"\f121"}.tree-new-plugin>em>button:before{content:"\f085"}.tree-new-category>em>button:before{content:"\f07b"}.modx-tv .resizable:hover:after,.modx-tv .resizable:hover:before{background-color:#99999940;color:#999}.modx-tv .resizable:after,.modx-tv .resizable:before{background-color:#99999926;color:#adadad;font-size:smaller;margin-right:.25%;pointer-events:none;position:absolute;right:0;text-align:center;width:15px;z-index:2}.modx-tv .resizable:before{bottom:12px;content:"\f106";height:7px;line-height:.9}.modx-tv .resizable:after{border-bottom-right-radius:3px;bottom:4px;content:"\f107";height:8px;line-height:.6}.modx-tv .resizable textarea{resize:vertical}.modx-tv .x-form-textarea:not(div){font-family:inherit}textarea{overflow:auto}.x-form-textarea,textarea.x-form-field{display:block;padding:5px}.modx-code-content,.x-form-textarea,textarea.x-form-field{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.modx-text-content,textarea[name=description],textarea[name=introtext]{font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-text,.x-form-textarea,textarea.x-form-field{background-color:#fff;background-image:none;border:1px solid #e4e4e4;border-radius:3px;max-width:100%;position:relative;transition:border-color .25s}.x-viewport .x-form-textarea .x-form-focus,.x-viewport .x-trigger-wrap-focus,.x-viewport input.x-form-focus,.x-viewport textarea.x-form-focus{border-color:#999}.x-viewport .x-trigger-wrap-open{border-radius:3px 3px 0 0}.x-form-invalid,textarea.x-form-invalid{border-color:#cf1124!important}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}#modx-input-props,#modx-widget-props{padding:15px 0 0}.x-form-item{display:block;margin:0;outline:0 none;position:relative}.x-form-item label.x-form-item-label{color:#515151;font-size:13px;font-weight:700;position:relative}.x-form-item label.x-form-item-label .modx-tv-label-title{display:inline-block}.x-form-item label.x-form-item-label .modx-tv-label-description{display:inline-block;font-style:italic;font-weight:400}.x-form-item label.x-form-item-label .modx-field-utils,.x-form-item label.x-form-item-label .modx-tv-reset{cursor:pointer;display:inline-block;filter:alpha(opacity=0);height:16px;opacity:0;padding:0 0 0 3px;position:relative;right:0;top:0;transition:all .25s;width:16px}.x-form-item label.x-form-item-label .modx-field-utils:before,.x-form-item label.x-form-item-label .modx-tv-reset:before{bottom:2px;box-sizing:border-box;color:#a8a8a8;content:"\f2ea";font-size:14px;height:16px;left:0;position:relative;text-align:center;vertical-align:middle;width:16px}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset:before{content:"\f2ea"}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset:hover:before{color:#6cb24a}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear:before{content:"\f12d";font-size:15px;margin-bottom:4px}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear:hover:before{color:#cf1124}.x-form-item label.x-form-item-label .modx-field-utils:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset:hover:before{color:#6cb24a}.x-form-item label.x-form-item-label .modx-field-utils:active:before,.x-form-item label.x-form-item-label .modx-tv-reset:active:before{color:#1b3451}.x-form-item label.x-form-item-label:hover .modx-field-utils,.x-form-item label.x-form-item-label:hover .modx-tv-reset{filter:alpha(opacity=100);opacity:1}.x-form-item.modx-tv{padding:0!important}.x-form-item .modx-tv-inherited{color:#515151;display:inline-block;font-size:10px;font-style:italic;position:absolute;right:0;top:19px}.x-form-item .modx-tv-image-preview{margin-top:7px}.x-form-item .modx-tv-image-preview img{display:block;max-height:400px;max-width:400px}.x-form-item .modx-tag-list{list-style:none;margin:0;overflow:auto;padding:0}.x-form-item .modx-tag-list .modx-tag-opt{background-color:#e4e4e4;border-radius:0 3px 3px 0;cursor:pointer;display:inline-block;margin:4px 5px 0 10px;padding:1px 5px;position:relative}.x-form-item .modx-tag-list .modx-tag-opt:before{border-color:#0000 #e4e4e4 #0000 #0000;border-style:solid;border-width:10px 10px 10px 0;content:"";height:0;left:-10px;position:absolute;top:0;transform:rotate(1turn);width:0}.x-form-item .modx-tag-list .modx-tag-opt:after{background-color:#fff;border-radius:50%;content:"";height:4px;left:-4px;position:absolute;top:8px;width:4px}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked,.x-form-item .modx-tag-list .modx-tag-opt:hover{background-color:#234368;color:#fff;text-decoration:none}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:before,.x-form-item .modx-tag-list .modx-tag-opt:hover:before{border-color:#0000 #234368 #0000 #0000}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover,.x-form-item .modx-tag-list .modx-tag-opt:hover:hover{background-color:#1b3451}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover:before,.x-form-item .modx-tag-list .modx-tag-opt:hover:hover:before{border-color:#0000 #1b3451 #0000 #0000}.x-form-item .modx-tv-legacy-select{border:1px solid #e4e4e4;border-radius:3px;padding:5px;transition:all .25s}.x-form-item .modx-tv-legacy-select:focus{border:1px solid #1b3451}.x-form-item .modx-tv-legacy-select option[selected]{background-color:#e4e4e4}.x-form-label-left .x-form-item{padding:15px 0 0}.x-form-label-left .x-form-item:first-of-type{padding:0}.x-form-label-left .x-form-item label.x-form-item-label{display:inline-block;margin:0;padding:7px 0}.x-form-label-top .x-form-item{padding:0}.x-form-label-top .x-form-item label.x-form-item-label{display:inline-block;margin:15px 0 4px;padding:0}.x-window .x-form-item .x-form-item-label{padding:10px 0 4px}.x-form-item.x-hide-label{padding-top:10px!important}#modx-resource-content .x-form-item.x-hide-label{padding-top:0!important}.x-form-item.x-hide-label label.x-form-item-label{display:none}.x-form-item.disabled label{color:#a8a8a8}.x-form-item .x-form-element{font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0}.x-form-item .x-form-element .x-form-invalid-icon{color:#cf1124}.x-form-item .x-form-element .x-form-invalid-icon:before{content:"\f071";left:3px;position:absolute}.x-form-item .x-column-inner>.x-column~.x-column{margin-left:5px}.x-form-item .x-column-inner>.x-column .x-form-field-wrap{width:auto!important}.x-form-item .container{margin:0}.x-form-item .x-btn{padding:7px 10px}.desc-under{color:#999;display:block;font-size:12px;font-style:italic;margin:.4em 0 0;transition:color .25s}.desc-under:hover{color:#4d4d4d}.desc-under.toggle-slider-above{margin:.3em 0;padding-left:3.9em}.desc-under .warning{color:#cf1124;overflow:hidden;padding:0}.desc-under .example-list ul{margin:.4em 0}.desc-under .example-list ul li{margin-bottom:.25em;padding-left:1.25em;position:relative}.desc-under .example-list ul li:before{color:#adadad;content:"\f101";left:.2em;position:absolute;top:0}.desc-under .copy-this,.desc-under .example-input{border-radius:2px;padding:0 .3em;transition:width 1s}.desc-under .example-input{background-color:#f6faf5;color:#6e935d}.desc-under .example-input:hover{background-color:#eff6ec;color:#578c3d;cursor:pointer}.desc-under .copy-this{background-color:#f1f6fc;color:#5e8bbf;position:relative}.desc-under .copy-this:hover{background-color:#e7f1fb;color:#1b5ca8;cursor:pointer}.desc-under .copy-this:hover:after{color:#6892c4;content:"\f0c5";cursor:default;margin-left:.5em;position:absolute}.desc-under .copy-this:hover:active,.desc-under .copy-this:hover:active:after{color:#515151}.desc-under .feedback{color:#1b5ca8;font-style:normal;margin-left:1.4rem}.desc-under .feedback.item-copied{opacity:1;transition:opacity 1.5s}.desc-under a{border-bottom:1px dotted #999;color:#999;text-decoration:none}.desc-under a:hover{color:#515151}.desc-under .deemphasize{font-style:normal}.fs-toggle{border-top:1px dashed #e4e4e4;margin-bottom:.5em;margin-top:2em;padding-top:1em}.x-fieldset{border:1px solid #e4e4e4;border-radius:3px!important; - /* !important ensures the border radius, also when the fieldset has a class that sets it to 0 */margin:15px 0 0;overflow:visible;padding:0;position:relative}.x-fieldset .x-fieldset-header{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;margin:0 0 0 10px;padding:0 5px 0 3px;position:relative}.x-fieldset .x-fieldset-header .x-fieldset-header-text{line-height:18px}.x-fieldset .x-fieldset-bwrap .x-fieldset-body{overflow-x:hidden!important;padding:0 10px 10px}.x-fieldset.form-row-wrapper .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-fieldset#tv-input-opts-fs,.x-fieldset#tv-output-opts-fs{border:0;margin:0}.x-fieldset#tv-input-opts-fs .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset-bwrap .x-fieldset-body{padding:0}.x-fieldset#tv-input-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-form-field{font:inherit}.x-form-field.x-form-composite{margin-bottom:0!important}.x-form-field.x-form-composite .x-btn{top:1px!important}.x-static-text-field{color:inherit;font-size:inherit}.x-static-text-field.x-form-focus{border-color:#e4e4e4!important}.x-form-text{line-height:20px;min-height:20px;padding:5px}.x-form-field-wrap{background:#fff;border:1px solid #e4e4e4;border-radius:3px;max-width:100%}.x-form-field-wrap .x-form-text:not(.x-form-invalid){border:0}.x-form-field-wrap .x-form-trigger{border:0;border-radius:0 2px 2px 0;box-shadow:none;height:100%!important;padding:0;position:absolute;right:0;top:0;width:30px}.x-form-field-wrap .x-form-trigger:before{box-sizing:border-box;content:"\f078";filter:alpha(opacity=60);font-size:14px;left:50%;opacity:.8;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .25s;width:30px}.x-form-field-wrap .x-form-trigger.x-form-trigger-click:before,.x-form-field-wrap .x-form-trigger.x-form-trigger-over:before,.x-form-field-wrap .x-form-trigger:active:before,.x-form-field-wrap .x-form-trigger:hover:before{filter:alpha(opacity=100);opacity:1}.x-form-field-wrap .x-form-trigger.x-form-date-trigger:before{content:"\f133";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-time-trigger:before{content:"\f017";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-file-trigger:before{content:"\f15b";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-image-trigger:before{content:"\f1c5";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-code-trigger:before{content:"\f1c9";font-weight:400}.x-form-field-wrap.x-datetime-wrap{background:none;border:0}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time{vertical-align:top}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-invalid-msg,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-invalid-msg{white-space:normal}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-trigger:before{content:"\f133"}.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-trigger:before{content:"\f017"}.x-form-field-wrap.x-form-fileupload-wrap{overflow:visible;position:relative}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file{filter:alpha(opacity=0);min-height:20px;opacity:0;padding:5px;position:absolute;right:0;top:0;z-index:2}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-btn{border-left:1px solid #e4e4e4;border-radius:0 3px 3px 0;box-shadow:none;line-height:0;padding:7px;position:absolute;right:0;top:0;z-index:1}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-text{position:relative;z-index:3}.modx-tv-type-listbox-multiple .x-form-field-wrap{border-color:#fff}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text{border:1px solid #e4e4e4;margin:-1px}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text.x-form-focus{border-color:#999}#x-form-el-modx-user-photo .x-form-file-trigger:before{content:"\f1c5"}.x-fieldset-checkbox-toggle legend,.x-form-check-wrap{height:auto!important;line-height:18px}.x-form-label-left .x-fieldset-checkbox-toggle legend,.x-form-label-left .x-form-check-wrap{padding:7px 0}.x-form-label-top .x-fieldset-checkbox-toggle legend,.x-form-label-top .x-form-check-wrap{padding:0}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label{padding-left:1.9em}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:before{color:#ccc}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:hover:before{color:#999}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-form-check-wrap .x-fieldset-header-text,.x-form-check-wrap .x-form-cb-label{color:#515151;cursor:pointer;display:inline-block;font-weight:400;margin:0;padding-left:1.9em;position:relative;top:0}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text,.ext-ie8 .x-form-check-wrap .x-form-cb-label{padding-left:3px}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text:before,.ext-ie8 .x-form-check-wrap .x-form-cb-label:before{content:""}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before{box-sizing:border-box;content:"";font-size:18px;height:18px;left:0;padding-right:3px;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:focus:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:hover:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-form-check-wrap .x-fieldset-header-text:focus:before,.x-form-check-wrap .x-fieldset-header-text:hover:before,.x-form-check-wrap .x-form-cb-label:focus:before,.x-form-check-wrap .x-form-cb-label:hover:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:active:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-form-check-wrap .x-fieldset-header-text:active:before,.x-form-check-wrap .x-form-cb-label:active:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox,.x-fieldset-checkbox-toggle legend .x-form-radio,.x-fieldset-checkbox-toggle legend input[type=checkbox],.x-form-check-wrap .x-form-checkbox,.x-form-check-wrap .x-form-radio,.x-form-check-wrap input[type=checkbox]{cursor:pointer;height:18px;left:0;opacity:0;position:absolute;top:0;width:18px;z-index:1}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-checkbox,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-radio,.ext-ie8 .x-fieldset-checkbox-toggle legend input[type=checkbox],.ext-ie8 .x-form-check-wrap .x-form-checkbox,.ext-ie8 .x-form-check-wrap .x-form-radio,.ext-ie8 .x-form-check-wrap input[type=checkbox]{height:13px;left:auto;position:relative;top:auto;width:13px}.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:hover+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:focus+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:hover+.x-form-cb-label:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:active+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:active+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:active+.x-form-cb-label:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]+.x-fieldset-header-text:before{content:"\f0c8";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-checkbox:checked+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:checked+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:checked+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:checked+.x-fieldset-header-text:before{content:"\f14a";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio+.x-form-cb-label:before{content:"\f111";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio:checked+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:checked+.x-form-cb-label:before{content:"\f192";font-weight:400}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-chunk-tabs .x-fieldset legend [type=checkbox],#modx-chunk-tabs .x-form-check-wrap [type=checkbox],#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-plugin-tabs .x-fieldset legend [type=checkbox],#modx-plugin-tabs .x-form-check-wrap [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-snippet-tabs .x-fieldset legend [type=checkbox],#modx-snippet-tabs .x-form-check-wrap [type=checkbox],#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-template-tabs .x-fieldset legend [type=checkbox],#modx-template-tabs .x-form-check-wrap [type=checkbox],#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-editor-tabs .x-fieldset legend [type=checkbox],#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]{left:-9999px;position:absolute}html[dir=rtl] #modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]{left:unset;right:-9999px}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label{box-sizing:border-box;cursor:pointer;line-height:1;margin-left:0;padding-left:3.6em;padding-top:.2em;position:relative}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{content:"";font-size:inherit;position:absolute;transition:all .2s ease}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{background:#e4e4e4;border-radius:1.2em;height:1.6em;left:0;top:0;width:3em;z-index:10}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after{background-color:#fff;border-radius:50%;height:1.3em;left:.1em;margin-top:-.65em;top:.8em;width:1.3em;z-index:11}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after{left:1.6em;top:.8em}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before{background-color:#6cb24a;border-color:#6cb24a}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before{background-color:#cf1124;border-color:#cf1124}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before{background-color:#f0b429;border-color:#f0b429}.switch-container{padding-top:1.6rem}.x-form-check-group,.x-form-radio-group{overflow:hidden;padding-bottom:.5em}.x-form-check-group .x-column .x-form-item:first-child,.x-form-radio-group .x-column .x-form-item:first-child{padding:4px 0 0}.x-form-check-group.aggregated-group,.x-form-radio-group.aggregated-group{padding-left:1em;padding-right:1em}.x-superboxselect{margin:0;outline:0;padding:0 5px 5px;position:relative;white-space:normal;width:auto!important}.ext-strict .x-toolbar .x-small-editor .x-superboxselect,.x-superboxselect{height:auto!important}.x-superboxselect ul{cursor:text;min-height:20px;overflow:visible;padding-right:61px;white-space:normal;width:auto!important}.x-toolbar .x-superboxselect ul{margin:-5px 0 0 -5px}.x-superboxselect ul li{margin:5px 5px 0 0;padding:0}.x-superboxselect ul li.x-superboxselect-item{cursor:default;font-size:12px;padding:4px 18px 4px 4px!important;position:relative}.x-superboxselect ul li.x-superboxselect-item.x-superboxselect-item-focus{background-color:#234368;box-shadow:0 0 0 1px #234368;color:#fff}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close{border:0;color:inherit;cursor:pointer;display:inline-block;filter:alpha(opacity=60);height:100%;opacity:.6;outline:0;padding:0;position:absolute;right:0;top:0;transition:opacity .25s;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before{box-sizing:border-box;color:inherit;content:"\f00d";font-size:14px;margin-top:-7px;position:absolute;right:0;text-align:center;top:50%;vertical-align:middle;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:focus,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:hover{filter:alpha(opacity=100);opacity:1}.x-superboxselect ul li.x-superboxselect-input{display:inline-block}.x-superboxselect ul li.x-superboxselect-input input{background:none;border:0;line-height:20px;outline:0}.x-superboxselect.x-superboxselect-stacked li{box-sizing:border-box;margin:5px 0 0;width:100%}.x-superboxselect .x-superboxselect-btns{height:100%;overflow:visible;position:absolute;right:0;top:0;width:61px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-expand{border-radius:0;right:31px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear{border-left:1px solid #e4e4e4}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before{content:"\f00d"}.inline-form{border:0;padding:15px 15px 0}.inline-form label{color:#777;display:block;font-weight:700;margin-bottom:2px}.inline-form input[type=text],.inline-form textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;position:relative;width:97%}.inline-form input[type=text]{font-size:13px;height:20px!important;padding:5px}.modx-tv-description{color:#515151;font-size:10px;line-height:1.2;margin-top:2px!important}.modx-tv-reload-btn{float:right;position:absolute;right:19px;z-index:10}.modx-tv-reload-btn div{z-index:10}.modx-tv-th label{cursor:pointer}.modx-tv-th .tv-description{color:#515151;font-size:11px;font-weight:400}.x-editor .x-form-check-wrap{background-color:#fff}.x-grid-editor .x-form-field-wrap{background:#f6f2f7 url(../images/modx-theme/form/combo-bck.png) repeat-x scroll 0 100%}.x-grid-editor .x-form-field-wrap input{background-color:initial!important}.x-grid-editor .x-form-field-wrap img{background-color:#fff;background-image:url(../images/modx-theme/form/trigger.png)}.x-form-grow-sizer,.x-form-invalid-msg{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-invalid-msg{color:#cf1124;margin-top:2px;min-width:95%;position:relative}.x-form-invalid-msg:before{color:inherit;content:"\f071";left:3px;position:absolute;top:3px}.x-form-empty-field{color:#515151}.x-grid3 .x-small-editor .x-form-field-wrap,.x-grid3 .x-small-editor .x-form-text{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin-top:7px;padding:2px 5px}.x-grid3 .x-small-editor .x-form-field-wrap .x-form-text,.x-grid3 .x-small-editor .x-form-text .x-form-text{margin:0;padding:0}.x-grid3 .x-small-editor .x-form-field-wrap{overflow:hidden}.x-combo-list{border:0;border-radius:3px;overflow:visible}.x-combo-list .x-combo-list-inner{background-color:#fff;border:1px solid #999;border-radius:3px;margin-left:-1px;width:100%!important}.x-combo-list .x-combo-list-item{border:0!important;border-bottom:1px solid #e4e4e4!important;color:#515151;min-height:18.2px;padding:6px 8px}.x-combo-list .x-combo-list-item:last-child{border-bottom-color:#fff!important}.x-combo-list .x-combo-list-item.x-combo-selected{background-color:#e4e4e4;border:0!important;border-bottom:1px solid #e4e4e4!important;color:#1b3451}.x-combo-list .x-combo-list-item.x-combo-list-item-grouped{padding:6px 14px}.x-combo-list .x-combo-list-item .x-combo-list-title{display:block;font-weight:700;margin:0 0 5px}.x-combo-list .x-combo-list-group{border-bottom:1px solid #e4e4e4;color:#515151;font-weight:700;padding:6px 8px}.x-combo-list .x-toolbar{border:0;border-radius:0 0 3px 3px;box-shadow:0 0 0 1px #234368;margin-top:-1px;position:relative}.x-combo-list .x-toolbar .x-toolbar-ct{padding:5px 0 15px}.x-combo-list .x-toolbar .x-toolbar-left table{margin:0 auto}.x-combo-list .x-toolbar .x-toolbar-cell{display:inline-block}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn,.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#0000;box-shadow:none;font-size:10px;line-height:16px;margin-right:2px;min-height:16px;padding:2px}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn{padding:1px;transition:color .25s}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-over,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:focus,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:hover{color:#234368}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-click,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:active{color:#1b3451}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-item-disabled{color:#515151;opacity:.4}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn button:before{left:0;line-height:20px;right:0;top:0}.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#fbfbfb;width:23px}.x-combo-list .x-toolbar .xtb-text{font-size:10px;line-height:1;margin:0 auto;padding:0;text-align:center}.x-combo-list .x-toolbar .x-toolbar-cell:first-child .x-btn{margin-left:1px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{display:none;left:0;position:absolute;right:0;top:2px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{bottom:4px;display:inline-block;left:0;position:absolute;right:0;top:auto}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .x-btn{margin-right:0}.x-combo-list .x-toolbar .x-toolbar-cell:last-child{opacity:0;transition:opacity .25s}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn{bottom:2px;font-size:12px;line-height:1;margin:0;opacity:.4;padding:0;position:absolute;right:1px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn:hover{opacity:1}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button{height:16px;width:16px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button:before{font-size:12px}.x-combo-list .x-toolbar:hover .x-toolbar-cell:last-child{opacity:1}.x-combo-list .x-resizable-handle-southeast{bottom:1px;right:3px}.x-combo-list.modx-superboxselect .x-combo-list-inner{margin-left:0}.x-combo-list-hd{background-image:url(../images/modx-theme/layout/panel-title-light-bg.gif);border-bottom-color:#bcbcbc;color:#464646}.x-combo-list-small{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-date-mp,.x-date-picker{background-color:#fbfbfb}.x-date-mp .x-btn,.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-btn,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{border:0;margin:0 0 0 7px;padding:5px 10px}.x-date-mp .x-btn:first-child,.x-date-mp .x-date-mp-cancel:first-child,.x-date-mp .x-date-mp-ok:first-child,.x-date-picker .x-btn:first-child,.x-date-picker .x-date-mp-cancel:first-child,.x-date-picker .x-date-mp-ok:first-child{margin:0}.x-date-mp .x-btn button,.x-date-mp .x-date-mp-cancel button,.x-date-mp .x-date-mp-ok button,.x-date-picker .x-btn button,.x-date-picker .x-date-mp-cancel button,.x-date-picker .x-date-mp-ok button{font-size:11px;font-style:normal;margin:0}.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{height:16px}.x-date-middle{padding:5px 3px}.x-date-left a,.x-date-mp-ybtn a.x-date-mp-next,.x-date-mp-ybtn a.x-date-mp-prev,.x-date-right a{display:inline-block;filter:alpha(opacity=60);margin:0 auto;opacity:.6;position:relative;transition:opacity .25s}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before{box-sizing:border-box;color:#234368;content:"";font-size:18px;height:18px;left:0;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-date-left a:hover,.x-date-mp-ybtn a.x-date-mp-next:hover,.x-date-mp-ybtn a.x-date-mp-prev:hover,.x-date-right a:hover{filter:alpha(opacity=100);opacity:1}.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-right a:before{content:"\f0da";left:auto;right:0}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-prev:before{content:"\f0d9"}.x-date-inner{margin:0 auto}.x-date-inner th{border-bottom-color:#e4e4e4;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-date-inner td,.x-date-mp td{background-color:#fff;border:0;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:1px}.x-date-inner a,td.x-date-mp-month a,td.x-date-mp-year a{border-radius:3px;color:#999;font:inherit;font-weight:700}td.x-date-mp-month a,td.x-date-mp-year a{margin:0 3px}.x-date-inner .x-date-disabled a:hover,.x-date-inner .x-date-nextday a:hover,.x-date-inner .x-date-prevday a:hover,.x-date-inner a:hover,td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{background-color:#dcdcdc;color:#515151}.x-date-inner .x-date-disabled a{background-color:#e4e4e4;color:#999}.x-date-inner .x-date-active{color:#000}.x-date-inner .x-date-today a{border-color:#234368}.x-date-inner span{font-style:normal}.x-date-inner .x-date-active span,.x-date-inner .x-date-selected span{font-weight:700}.x-date-inner .x-date-selected a,td.x-date-mp-sel a{background-color:#234368;border-color:#fff;color:#fff}.x-date-inner .x-date-nextday a,.x-date-inner .x-date-prevday a{color:#dcdcdc}.x-date-bottom,.x-date-mp-btns{border-top:1px solid #e4e4e4;padding:5px}.x-date-bottom td,.x-date-mp-btns td{background-color:initial;border-top:1px solid #e4e4e4}td.x-date-mp-sep{border-right:1px solid #e4e4e4}.x-date-mmenu{background-color:#eee!important}.x-date-mmenu .x-menu-item{color:#000;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.radio-version .x-form-check-wrap .x-form-cb-label{display:block}.radio-version .x-form-check-wrap .x-form-cb-label .changelog{float:right}.x-form-template-picker .x-form-template-picker-search{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-radio-group{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;height:194px;overflow:auto}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{border-bottom:1px solid #e4e4e4}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category:last-child,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item:last-child{border-bottom:0}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label{display:block}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label:before,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label:before{display:none}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover{background-color:#e4e4e4;color:#1b3451}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-cb-label{padding:10px 14px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-cb-label{font-weight:700!important;padding:10px 8px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-item-disabled{filter:alpha(opacity=100);opacity:1;-moz-opacity:1}.x-form-template-preview{background-color:#fff;background:url(../images/tp-no-preview.png) no-repeat 50%;border:1px solid #e4e4e4;border-radius:3px;height:236px;overflow:hidden}.x-form-template-preview .x-panel-body,.x-form-template-preview .x-panel-bwrap{height:100%;position:relative}.x-form-template-preview .x-form-template-preview-image{height:100%;-o-object-fit:cover;object-fit:cover}.x-form-template-preview .x-form-template-preview-desc{background-color:#000c;bottom:0;color:#fff;left:0;padding:10px 20px;position:absolute;right:0}#modx-tv-tabs{width:100%}.x-tab-panel-noborder{border:1px solid #e2e3de;margin:20px 0;overflow:visible}.x-tab-panel-noborder .x-tab-panel-body-noborder{background-color:#fff;border-radius:3px}.x-tab-panel-footer,.x-tab-panel-header{border:0;position:relative}.x-tab-panel-header ul.x-tab-strip{background-color:initial!important;border:0;margin:0;position:relative;top:1px}.x-tab-panel-footer-plain .x-tab-strip-spacer,.x-tab-panel-header-plain .x-tab-strip-spacer{border:none;height:0}.x-tab-panel .x-tab-panel{padding-top:18px}.x-tab-panel .x-tab-panel.vertical-tabs-panel{padding-top:0}.x-tab-panel .x-tab-panel .x-tab-strip-wrap .x-tab-strip{background-color:#fbfbfb!important}.x-tab-panel-header,.x-tab-strip{padding-left:0}.x-tab-panel-bwrap{border-radius:3px;overflow:visible}.x-tab-panel-bwrap .x-tab-panel-bwrap{box-shadow:none}ul.x-tab-strip li{background-color:initial;border-top-left-radius:3px;border-top-right-radius:3px;color:#53595f;cursor:pointer;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:2.2;margin-left:0;padding:0 12px;position:relative;z-index:5}html[dir=rtl] ul.x-tab-strip li{float:right}ul.x-tab-strip li:hover{background-color:#e4e4e4;color:#000}ul.x-tab-strip li.x-tab-strip-active{background-color:#fff;color:#234368;cursor:default}.vertical-tabs-header ul.x-tab-strip li.x-tab-strip-active{border-radius:0}ul.x-tab-strip li.x-tab-strip-active:hover{background-color:#fff}ul.x-tab-strip li.x-tab-edge{height:0;visibility:hidden}.x-tab-panel,.x-tab-panel-header,.x-tab-strip-wrap{border:none;overflow:visible}.x-tab-strip-wrap{margin:0;overflow:hidden;padding:2px 0 0}.x-tab-strip-closable{padding-right:15px!important}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/modx-theme/tabs/tab-close.gif);right:2px}ul.x-tab-strip-top li:first-child{margin-left:0}ul.x-tab-strip-bottom{background-color:#f4f4f4;border-top-color:#dfdfdf}ul.x-tab-strip-bottom .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-left-bg.gif)}ul.x-tab-strip-bottom .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-left-bg.gif)}.x-tab-panel-body{background-color:#fff;border:0;overflow:visible}.x-tab-scroller-left,.x-tab-scroller-right{border:0}.x-tab-scroller-left:before,.x-tab-scroller-right:before{box-sizing:border-box;color:#515151;content:"";filter:alpha(opacity=100);font-size:28px;margin-top:-20px;opacity:1;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:18px}.x-tab-scroller-left-over:before,.x-tab-scroller-right-over:before{color:#234368}.x-tab-scroller-left-disabled,.x-tab-scroller-right-disabled{cursor:default}.x-tab-scroller-left-disabled:before,.x-tab-scroller-right-disabled:before{color:#515151;filter:alpha(opacity=100);opacity:.4}.x-tab-scroller-left:before{content:"\f0d9"}.x-tab-scroller-right:before{content:"\f0da"}.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar{border-color:#dfdfdf}.x-tab-panel-body-noborder .x-panel-body-noheader:first-child{border-top:0}.x-tab-panel-bbar-noborder .x-toolbar{border-top-color:#0000}.x-tab-panel-tbar-noborder .x-toolbar{border-bottom-color:#0000}.vertical-tabs-panel{background-color:#fff;margin:0;overflow:hidden}.vertical-tabs-panel.wrapped{border:1px solid #e4e4e4}.vertical-tabs-panel .vertical-tabs-header{background:#fff!important;border-right:1px solid #e4e4e4!important;float:left;margin-bottom:-10000px;padding-bottom:10000px!important;width:168px!important}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap{background-color:initial;display:inline-block;line-height:0;margin:0;padding:0;width:auto!important}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip{border:0;display:inline-block;top:0;width:auto}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{border-bottom:1px solid #e4e4e4;border-right:1px solid #e4e4e4;color:#515151;float:none;line-height:1;margin:0;overflow:hidden;padding:10px 15px;transition:background-color .25s,color .25s}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{font-size:12px;padding:8px}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li:hover{background:#fff}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{background:#fff;border-color:#234368 #fff #234368 #234368;box-shadow:none;color:#234368;width:168px}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge{height:0;visibility:hidden}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge .x-tab-strip-text{display:none}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li .x-tab-strip-text{line-height:1.4;padding:2px 0;white-space:pre-wrap}.vertical-tabs-panel .vertical-tabs-header h4{background:#fff;border-bottom:1px solid #e4e4e4;color:#53595f;font-size:16px;padding:15px 0 15px 15px}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-spacer{display:none}.vertical-tabs-panel .x-tab-panel-bwrap{box-shadow:none}.vertical-tabs-panel .x-tab-panel-bwrap .x-tab-panel-body{border-top:0;width:auto!important}.vertical-tabs-panel .x-tab-panel-bwrap .vertical-tabs-body{border:0;padding:15px 20px 15px 15px}.tvs-wrapper.below-content{border-radius:3px;margin:1rem}.tvs-wrapper.below-content .vertical-tabs-panel{border-radius:3px}@media screen and (max-width:960px){.tvs-wrapper.below-content{margin:0}}.window-vtabs .x-panel-mr{padding-right:0}.window-vtabs .vertical-tabs-panel{margin:0;width:100%!important}#modx-split-wrapper .x-border-layout-ct{background:#0000}#modx-leftbar-tabs-xcollapsed{display:none!important}#modx-leftbar{background-color:#fff;min-width:288px;z-index:0}@media screen and (min-width:961px){#modx-leftbar{max-width:50%}}#modx-leftbar .x-toolbar{border:0;padding:0!important}#modx-header{background:#234368;height:100%;max-width:70px;position:absolute;z-index:2}#modx-navbar{display:flex;flex-direction:column;font-weight:700;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:100%;padding:0 5px;z-index:20}#modx-navbar .icon{color:#fff;font-size:20px;line-height:20px;vertical-align:middle}#modx-navbar a,#modx-navbar li{background:#0000;margin:0;padding:0;position:relative;text-align:center;width:100%}#modx-navbar a{color:#fff;cursor:pointer;display:block;font-size:10px;line-height:12px;text-decoration:none}#modx-navbar a .description{font-size:9px;opacity:.7}#modx-navbar a .description,#modx-navbar a .icon,#modx-navbar a .label{display:block;width:100%}#modx-navbar li a:hover{opacity:.7}#modx-navbar #modx-user-menu a .description,#modx-navbar #modx-user-menu a .label{display:none}#modx-navbar #modx-user-menu a #user-username{align-self:center;max-width:7ch;overflow:hidden;padding-top:.25rem;text-overflow:ellipsis;white-space:nowrap}#modx-navbar #modx-leftbar-trigger a,#modx-navbar #modx-manager-search-icon a,#modx-navbar #modx-user-menu a{padding:12px 0}#modx-navbar #modx-topnav{list-style:none;margin:0;padding:0}#modx-navbar #modx-topnav .top:not(#modx-manager-search-icon){border-top:1px solid #ffffff1a}#modx-navbar #modx-topnav>li:not(#modx-home-dashboard):not(#modx-manager-search-icon):not(#modx-leftbar-trigger)>a{display:block;padding:12px 0;position:relative}#modx-navbar #modx-user-menu{margin-top:auto}#modx-navbar #modx-user-menu #user-avatar img{border-radius:20px;display:block;height:40px;margin:auto;width:40px}#modx-navbar #modx-user-menu #limenu-user a{display:flex;flex-direction:column;justify-content:center}#modx-navbar #modx-home-dashboard{border-radius:3px;height:40px;line-height:40px;padding:10px;width:40px}#modx-navbar #modx-site-info{font-size:10px}#modx-navbar #modx-site-info .full_appname,#modx-navbar #modx-site-info .site_name{color:#fff}#modx-navbar #modx-site-info>.info-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#modx-leftbar-trigger{transition:all .2s ease}#modx-leftbar-trigger .icon:before{content:"\f060"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f061"!important}#modx-footer .modx-subnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;box-sizing:border-box;display:block;list-style:none;opacity:0;position:absolute;transition:all .15s ease;visibility:hidden;z-index:10000}#modx-footer .modx-subnav li{background:#fff;border-radius:3px;display:block;margin:0;padding:0;position:relative}#modx-footer .modx-subnav li:not(:first-child){border-top:1px solid #e4e4e4}#modx-footer .modx-subnav li:hover:after{border-right-color:#e4e4e4}#modx-footer .modx-subnav li.sub:after{color:#999;content:"\f0da";font-size:14px;margin-top:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}#modx-footer .modx-subnav li a{background-color:#fff;border-radius:3px;color:#515151;cursor:pointer;display:block;font-weight:700;line-height:1.5;margin:0;padding:8px 15px;text-decoration:none;text-shadow:none;width:270px}#modx-footer .modx-subnav li a .icon{display:inline-block;font-size:18px;opacity:.07;padding-left:5px}#modx-footer .modx-subnav li a span{color:#999;display:block;float:none;font-size:12px;font-weight:400;line-height:1.3;margin-top:6px;width:100%}#modx-footer .modx-subnav li a:hover{background:#e4e4e4;border-bottom-color:#e4e4e4;border-top-color:#e4e4e4;color:#53595f}#modx-footer .modx-subnav li a:hover .description{color:#707070}#modx-footer .modx-subnav.active{opacity:1;visibility:visible}#modx-footer .modx-subnav .modx-subsubnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;list-style:none;position:absolute;z-index:24}#modx-footer .modx-subnav .modx-subsubnav-arrow{border:8px solid #0000;border-right-color:#fff;content:" ";display:none;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10010}#modx-footer .modx-subnav .modx-subsubnav.active+.modx-subsubnav-arrow{display:block}@media screen and (min-width:961px){#modx-footer .modx-subnav .modx-subsubnav{opacity:0;visibility:hidden}#modx-footer .modx-subnav .modx-subsubnav.active{opacity:1;visibility:visible}}#modx-footer .modx-subnav-arrow{border:12px solid #0000;border-right-color:#fff;content:" ";margin-top:-6px;pointer-events:none;position:absolute;right:100%}#modx-footer #language .modx-subsubnav{max-height:calc(100vh - 12px);overflow-x:hidden;overflow-y:auto}@media screen and (max-width:960px){#modx-header{height:auto!important;min-width:100%;position:relative}#modx-navbar{flex-direction:row;flex-wrap:wrap}#modx-navbar #modx-headnav{order:1;width:50%}#modx-navbar #modx-headnav a{line-height:normal!important}#modx-navbar #modx-headnav img{max-width:35px}#modx-navbar #modx-topnav{order:0;width:100%}#modx-navbar #modx-user-menu{flex-direction:row-reverse;flex-wrap:nowrap;margin-top:0;order:2;width:50%}#modx-navbar>ul{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}#modx-navbar>ul>li{flex-basis:50px}#modx-navbar #modx-site-info{display:none}#modx-navbar #modx-home-dashboard{margin:0;padding:5px}#modx-leftbar-trigger .icon{padding:3px 4px}#modx-leftbar-trigger .icon:before{content:"\f062"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f063"!important}#modx-footer .modx-subnav{min-width:300px}#modx-footer .modx-subnav .description{display:none}#modx-footer .modx-subnav li{border-radius:0}#modx-footer .modx-subnav li.sub:after{display:none}#modx-footer .modx-subnav li a{white-space:nowrap;width:auto}#modx-footer .modx-subnav .modx-subsubnav{box-shadow:none;display:block;left:auto;max-height:none!important;overflow-y:initial!important;position:static}#modx-footer .modx-subnav .modx-subsubnav li>a{margin-left:1rem}#modx-footer .modx-subnav-arrow{display:none}#modx-footer .modx-subnav{max-height:calc(100vh - 109px);overflow-x:hidden;overflow-y:auto}}@media (max-height:520px){#modx-footer .modx-subnav .description{display:none}}#modx-manager-search{background:#fff;border-radius:3px 3px 0 0;height:38px;min-width:100px;padding:10px 10px 5px}#modx-manager-search .x-form-text{background:none}#modx-manager-search .x-form-field-wrap{background-image:none;color:#565353;font-size:12px;outline:none!important}#modx-manager-search .x-form-field-wrap .x-form-text{color:#515151;font-weight:400;letter-spacing:0;text-shadow:none}#modx-manager-search .x-form-field-wrap .x-form-empty-field{color:#6a747a}#modx-manager-search .x-form-field-wrap .x-form-trigger{display:none}.modx-manager-search-results{background:#e4e4e4;border:1px solid #e4e4e4;border-radius:0 0 3px 3px;box-shadow:0 4px 10px 0 #0003;box-sizing:border-box;height:auto!important;position:relative;width:402px!important}.modx-manager-search-results .loading-indicator{background:none;color:#515151;font-size:14px;margin:10px 0;text-align:center}.modx-manager-search-results .loading-indicator:before{content:"\f110";margin-right:5px}.modx-manager-search-results .x-combo-list-inner{background:#fff;border:0;margin:0;overflow:auto;width:100%!important}@media screen and (max-width:960px){.modx-manager-search-results .x-combo-list-inner{height:auto!important;line-height:4em}.modx-manager-search-results .x-combo-list-inner .section>*{padding-bottom:.5em;padding-top:.5em}}.modx-manager-search-results .section{border-left:1px solid #ededed;font-size:12px;line-height:12px;margin-left:100px;position:relative;width:auto}.modx-manager-search-results .x-combo-list-item,.modx-manager-search-results h3{color:#515151;line-height:18px;margin:0;padding:4px 6px}.modx-manager-search-results h3{color:#53595f;font-size:11px;font-weight:400;left:-108px;line-height:11px;position:absolute;text-align:right;top:0;width:95px}.modx-manager-search-results a{color:inherit;cursor:pointer;display:inline-block;padding-left:20px;position:relative;text-decoration:none}.modx-manager-search-results i{color:#234368;left:0;position:absolute;top:4px}.modx-manager-search-results em{font-style:normal;opacity:.7}.modx-manager-search-results .x-combo-list-item{overflow:visible;white-space:normal}.modx-manager-search-results .x-combo-list-item a{display:block}.modx-manager-search-results .x-combo-list-item.x-combo-selected,.modx-manager-search-results .x-combo-list-item:hover{background-color:#e4e4e4;border:0;margin-left:0;z-index:10}.modx-manager-search-results .x-combo-list-item.x-combo-selected h3,.modx-manager-search-results .x-combo-list-item:hover h3{left:0}.modx-manager-search-results .x-combo-list-item.x-combo-selected p,.modx-manager-search-results .x-combo-list-item:hover p{border-left-color:#0000}.modx-manager-search-results .x-combo-list-item.x-combo-selected a,.modx-manager-search-results .x-combo-list-item:hover a{color:#515151}.modx-manager-search-results .icon-user{background-image:none!important}.breadcrumbs .panel-desc{margin-top:0}.crumb_wrapper{background:#fbfbfb;border-bottom:1px solid #e4e4e4;border-top:1px solid #e4e4e4;margin-top:15px}.crumb_wrapper .crumbs{height:34px;overflow:hidden}.crumb_wrapper .crumbs li{color:#53595f;float:left;font-size:12px;font-weight:400;line-height:12px;padding:0 0 0 20px;position:relative;z-index:1}.crumb_wrapper .crumbs li.first{padding:0}.crumb_wrapper .crumbs li.first:before{content:"\f015";display:inline-block;font-size:20px;left:0;line-height:34px;position:absolute;text-align:center;text-indent:0;top:0;z-index:2}#packages-breadcrumbs .crumb_wrapper .crumbs li.first:before{content:"\f1b2"}.crumb_wrapper .crumbs li.first:hover:before{color:#fff}.crumb_wrapper .crumbs li.first:hover{background-color:#515151}.crumb_wrapper .crumbs li.first .root{background-color:initial;box-sizing:initial;display:inline-block;line-height:12px;margin:0;padding:12px;text-indent:-999em;width:35px;z-index:3}.crumb_wrapper .crumbs li.first .root:before{display:none}.crumb_wrapper .crumbs li.first .root:hover{background-color:initial}.crumb_wrapper .crumbs li:hover button,.crumb_wrapper .crumbs li:hover span,.crumb_wrapper .crumbs li:hover span:after{background-color:#515151;color:#fff}.crumb_wrapper .crumbs li:hover button:after,.crumb_wrapper .crumbs li:hover span:after{border-color:#fbfbfb #fbfbfb #515151 #515151;border-style:solid;border-width:1px}.crumb_wrapper .crumbs li:hover button:before,.crumb_wrapper .crumbs li:hover span:before{background-color:#515151}.crumb_wrapper .crumbs li:hover+li button:before,.crumb_wrapper .crumbs li:hover+li span:before{border-left-color:#515151}.crumb_wrapper .crumbs li button{background-color:initial;border:0;color:#53595f;cursor:pointer;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;line-height:1;text-decoration:none}.crumb_wrapper .crumbs li span{background-color:#fbfbfb}.crumb_wrapper .crumbs li button,.crumb_wrapper .crumbs li span{display:inline-block;margin:0 0 0 1px;padding:11px 13px 11px 15px;position:relative}.crumb_wrapper .crumbs li button:before,.crumb_wrapper .crumbs li span:before{background-color:initial;border-bottom:50px solid #0000;border-left:30px solid #fbfbfb;border-top:50px solid #0000;content:"";display:inline-block;height:0;left:-33px;margin-top:-50px;padding-right:3px;position:absolute;top:50%;transform:scale(.99999);width:0;z-index:-1}.crumb_wrapper .crumbs li button:after,.crumb_wrapper .crumbs li span:after{background-color:#fbfbfb;border:1px solid #dcdcdc;border-bottom:0;border-left:0;border-radius:3px;content:"";display:inline-block;height:34px;position:absolute;right:-22px;top:0;transform:scaleX(.6) rotate(45deg);width:34px;z-index:-1}.x-toolbar{background-color:#f7f7f7;background-image:none;border-color:#dfdfdf}.x-toolbar .x-toolbar-cell label,.x-toolbar .xtb-text{margin:0 5px 0 7px;padding:0}.x-toolbar .x-item-disabled{filter:alpha(opacity=60);opacity:.6}.x-toolbar td.x-toolbar-cell:first-of-type .xtb-text{margin-left:0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:0}.x-toolbar .x-btn-group-header{line-height:1}.x-toolbar em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-toolbar .x-btn-click em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active em.x-btn-split-bottom,.x-toolbar .x-btn-over em.x-btn-split-bottom,.x-toolbar .x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.ext-ie .x-toolbar-cell .x-form-field-wrap{height:30px}.x-tbar-page-first{background-image:url(../images/modx-theme/grid/page-first.png)!important}.x-tbar-loading{background-image:url(../images/modx-theme/grid/refresh.png)!important}.x-tbar-page-last{background:none!important;position:relative}.x-tbar-page-last:before{content:"\f04e";left:1px;right:auto;top:1px}.x-tbar-page-next{background:none!important;position:relative}.x-tbar-page-next:before{content:"\f0da";font-size:18px;left:1px;line-height:110%;right:auto}.x-tbar-page-prev{background:none!important;position:relative}.x-tbar-page-prev:before{content:"\f0d9";font-size:18px;left:auto;line-height:110%;right:1px}.x-tbar-loading{background:none!important;position:relative}.x-tbar-loading:before{bottom:auto;content:"\f01e";top:1px}.x-tbar-page-first{background:none!important;position:relative}.x-tbar-page-first:before{content:"\f04a";left:auto;right:1px;top:1px}.x-paging-info{color:#444}.x-toolbar-more-icon{background-image:url(../images/modx-theme/toolbar/more.gif)!important}.x-panel-bbar{padding-top:10px}.modx-browser-rte-buttons .x-panel-bbar{background-color:#fff;border-top:1px solid #fff;padding:5px}.modx-browser-rte-buttons .x-panel-bbar .x-toolbar-layout-ct{width:auto!important}.x-panel-bbar .x-toolbar{background-color:initial;border:0;overflow:hidden;padding:2px 0}.x-panel-bbar .x-toolbar .x-form-text{padding:5px 10px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number,.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-size{width:32px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number{margin-right:3px}.x-panel-bbar .x-toolbar .x-btn{margin-right:10px;padding:8px 13px}.modx-browser-rte .x-panel-bbar .x-toolbar .x-btn{margin-right:0;padding:10px 15px}.x-panel-bbar .x-toolbar .xtb-text{margin:0 3px 0 0}.x-panel-tbar{overflow:visible;padding-bottom:4px}.x-panel-tbar .x-toolbar{border:0;overflow:visible;padding:5px 0}.x-panel-tbar .x-toolbar td{vertical-align:bottom}.x-panel-tbar .x-toolbar input.filter-query{bottom:-1px;position:relative}.x-panel-mc .x-panel-tbar .x-toolbar{background-image:none;border:0;padding:15px 0 7px}.x-panel-tbar-noheader .x-toolbar{background-color:initial;background-image:none;border:0;padding:5px 0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{border-radius:3px}.x-html-editor-tb .x-btn-text{background-image:url(../images/modx-theme/editor/tb-sprite.gif)}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{background-color:initial;border-bottom-color:#0000}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-top-color:#0000}#modx-leftbar .x-tab-panel-noborder{margin:0 8px}#modx-leftbar .x-tab-panel-bwrap{border-radius:0 0 3px 3px;position:relative;z-index:1}#modx-leftbar .x-tab-panel-bwrap .x-tab-panel-body-noborder{background:#f1f1f1;border-radius:0 0 3px 3px}@media screen and (max-width:960px){#modx-leftbar #modx-leftbar-tabpanel{margin:0 auto;padding:.5em;width:auto!important}#modx-leftbar{box-shadow:none;height:auto!important;left:auto!important;margin:0 auto 10px;position:relative!important;top:auto!important;width:100%!important}#modx-leftbar #modx-leftbar-header{display:none}#modx-leftbar .x-plain-body{height:auto!important;width:100%!important}}#modx-leftbar .x-panel-tbar{padding:0}#modx-leftbar .x-toolbar{padding:4px 5px 2px 0}#modx-leftbar .x-tree-root-ct{padding:6px}#modx-leftbar .x-tree .x-panel-body{background:#fff;border-radius:0}#modx-tree-usergroup .x-toolbar-left-row{display:flex;flex-wrap:wrap}#modx-resource-tree-tbar .x-toolbar-left .x-btn .tree-new-resource,#modx-tree-element .x-toolbar-left .x-btn .tree-new-template{margin-left:16px}#modx-split-wrapper #modx-leftbar-tabs-xcollapsed,#modx-split-wrapper .x-layout-split{margin-left:-70px}.x-layout-split{overflow:visible;width:8px;z-index:2}.x-layout-split:hover{background:#999}#modx-leftbar-tabs-xcollapsed .x-layout-mini{left:0}#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border-left:5px solid #515151;border-right:0}@media screen and (max-width:960px){#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border:none}}#modx-leftbar-tabs-xcollapsed .x-layout-mini:hover:after{border-left-color:#234368}.modx-tree{padding:0}#modx-file-tree .modx-tree:first-child{padding-top:4px}.x-tree-arrows .x-tree-elbow-end-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-plus{background:none}.x-tree-arrows .x-tree-elbow-end-minus:hover,.x-tree-arrows .x-tree-elbow-end-plus:hover,.x-tree-arrows .x-tree-elbow-minus:hover,.x-tree-arrows .x-tree-elbow-plus:hover{background:#d9d9d9;border-radius:50%}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before{background:#0000 0 0;content:"\f0da";display:inline-block;margin:0;padding-left:4px;padding-right:4px;text-align:center;width:10px}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-minus:before{content:"\f0d7"}.x-tree-node-el{background-position:5px;background-repeat:no-repeat;color:#515151;font:normal 14px/2.25 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 8px}.x-tree-node-el.is_folder{background:#0000}.x-tree-node-el .x-btn{box-shadow:none}.x-tree-node-el .icon{display:inline-block;font-size:1.15em;line-height:.75em;vertical-align:-15%;width:1em}.x-tree-node-el a span{padding-left:7px}.x-tree-node-el a span span{padding-left:0}.x-tree-node-el .icon-plus-circle,.x-tree-node-el .icon-refresh{font-size:1em;vertical-align:0}.unpublished,.unpublished a span,.unpublished a span i.icon,.unpublished a span i.icon-large,.unpublished i.icon,.unpublished i.icon-large{color:#b3b3b3!important;font-style:normal}.hidemenu,.hidemenu a span{color:#999;font-style:italic}.hidemenu a span i.icon,.hidemenu a span i.icon-large,.hidemenu i.icon,.hidemenu i.icon-large{color:#999;font-style:normal}.deleted{color:#af5a6280!important}.deleted i.icon,.deleted i.icon-large{color:#af5a6280!important;font-style:normal}.deleted a span{color:#af5a6280!important;text-decoration:line-through}.element-node-disabled a span{color:#aaa}.x-tree-node{background:#fff;color:#999;position:relative}.x-tree-node .element-node-disabled a span,.x-tree-node .element-node-disabled i.icon,.x-tree-node .x-tree-node-disabled a span,.x-tree-node .x-tree-node-disabled i.icon{color:#aaa}.element-node-locked a span{font-style:inherit}.modx-tree-node-tool-ct{bottom:0;line-height:1.8;position:absolute;right:6px;top:0}html[dir=rtl] .modx-tree-node-tool-ct{left:6px;right:unset}.modx-tree-node-tool-ct .x-btn:focus,.modx-tree-node-tool-ct .x-btn:hover{color:#6cb24a!important}#modx-gr-tree-resource .modx-tree-node-tool-ct,#modx-ih-resource-tree .modx-tree-node-tool-ct{display:none}.x-tree-node-el .modx-tree-node-btn-create{bottom:0;line-height:34px;opacity:0;overflow:hidden;position:absolute;right:6px;top:0;transition:opacity .4s ease-in}html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create{left:6px;right:unset}.x-tree-node-el .modx-tree-node-btn-create .x-btn{color:#515151;opacity:.4;transition:opacity .2s ease-in-out,color .2s ease-in-out}.x-tree-node-el .modx-tree-node-btn-create .x-btn:focus,.x-tree-node-el .modx-tree-node-btn-create .x-btn:hover{color:#6cb24a;opacity:1}#modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create,#modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create{display:none}.x-tree-node-el:focus .modx-tree-node-btn-create,.x-tree-node-el:hover .modx-tree-node-btn-create{opacity:1}.tree-pseudoroot-node.x-tree-node-el{background-color:#f1f1f1;font:500 14px/3 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 5px;position:relative}.tree-pseudoroot-node.x-tree-node-el>.icon,.tree-pseudoroot-node.x-tree-node-el a span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct{filter:alpha(opacity=50);line-height:3;opacity:.5}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct .x-btn{margin-left:2px}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-collapsed{border-bottom:1px solid #e4e4e4}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded>.icon,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-over{background-color:#e4e4e4;color:#53595f}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct{background:#fbfbfb;overflow-x:auto}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct:empty,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct:empty{padding:0}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct{filter:alpha(opacity=100);opacity:1}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct .x-btn{color:inherit}.x-tree-elbow,.x-tree-elbow-end{display:inline-block}#modx-leftbar .icon,.x-tree-node .icon{background:none;border:0;display:inline-block;filter:alpha(opacity=80);margin:0;opacity:.8;padding:3px;text-align:center}#modx-leftbar .icon.icon-code:before,#modx-leftbar .icon.icon-cogs:before,#modx-leftbar .icon.icon-columns:before,#modx-leftbar .icon.icon-folder:before,#modx-leftbar .icon.icon-th-large:before,.x-tree-node .icon.icon-code:before,.x-tree-node .icon.icon-cogs:before,.x-tree-node .icon.icon-columns:before,.x-tree-node .icon.icon-folder:before,.x-tree-node .icon.icon-th-large:before{font-weight:900}#modx-leftbar .icon i,.x-tree-node .icon i{font-style:normal}#modx-leftbar .icon button,.x-tree-node .icon button{display:none}.x-tree-node-ct .x-tree-node .icon{left:-1px;position:relative;top:-1px}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node div.x-tree-drag-insert-below{border-bottom:2px solid #a8c3e2!important}.x-tree-node div.x-tree-drag-insert-above{border-top:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #a8c3e2!important}.x-tree-node .x-tree-drag-append a span,.x-tree-node .x-tree-node-over{background-color:#e4e4e4}.x-tree-node .x-tree-selected{background-color:#d6e7f8}.x-tree-node .x-tree-expanded{background-color:#e4e4e4;color:#234368}.x-tree-node .x-tree-expanded a,.x-tree-node .x-tree-expanded a span{color:#234368}.icon-rss:before{content:"\f09e"}.icon-cal:before,.icon-ical:before,.icon-ics:before,.icon-vcs:before{content:"\f133"}.icon-db:before,.icon-sql:before{content:"\f1c0"}.icon-7z:before,.icon-bz2:before,.icon-dmg:before,.icon-gz:before,.icon-iso:before,.icon-rar:before,.icon-tar:before,.icon-tgz:before,.icon-zip:before{content:"\f1c6"}.icon-backup:before,.icon-bak:before,.icon-bk:before{content:"\f1da"}.icon-bmp:before,.icon-gif:before,.icon-jpeg:before,.icon-jpg:before,.icon-png:before,.icon-svg:before,.icon-tiff:before{content:"\f1c5"}.icon-bat:before,.icon-scr:before,.icon-sh:before{content:"\f120"}.icon-log:before,.icon-txt:before{content:"\f15c"}.icon-aac:before,.icon-aif:before,.icon-aiff:before,.icon-flac:before,.icon-m4a:before,.icon-mp3:before,.icon-ogg:before,.icon-wav:before,.icon-wma:before{content:"\f1c7"}.icon-3gp:before,.icon-avi:before,.icon-fla:before,.icon-flv:before,.icon-m4v:before,.icon-mov:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-swf:before,.icon-wmv:before{content:"\f1c8"}.icon-access:before,.icon-htaccess:before{content:"\f023"}.icon-as:before,.icon-cfm:before,.icon-jar:before,.icon-java:before,.icon-php:before,.icon-rb:before{content:"\f1c9"}.icon-doc:before,.icon-docx:before{content:"\f1c2"}.icon-csv:before,.icon-xls:before,.icon-xlsx:before{content:"\f1c3"}.icon-ppt:before,.icon-pptx:before{content:"\f1c4"}.icon-pdf:before{content:"\f1c1"}.icon-coffeescript:before,.icon-css:before,.icon-htm:before,.icon-html:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-scss:before,.icon-styl:before,.icon-xml:before{content:"\f1c9"}.icon-action{background-image:url(../images/restyle/icons/application_osx_terminal.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-action.x-tree-node-el{background-position:5px 5px!important}.icon-action:before{content:" "}.icon-namespace{background-image:url(../images/restyle/icons/computer.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-namespace.x-tree-node-el{background-position:5px 5px!important}.icon-namespace:before{content:" "}.icon-list-new{background-image:url(../images/restyle/icons/layout_add.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-list-new.x-tree-node-el{background-position:5px 5px!important}.icon-list-new:before{content:" "}.icon-mark-active{background-image:url(../images/restyle/icons/layout_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-active.x-tree-node-el{background-position:5px 5px!important}.icon-mark-active:before{content:" "}.icon-mark-complete{background-image:url(../images/restyle/icons/layout_header.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-complete.x-tree-node-el{background-position:5px 5px!important}.icon-mark-complete:before{content:" "}.icon-package{background-image:url(../images/restyle/icons/package.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;padding-right:5px!important;vertical-align:middle}.icon-package.x-tree-node-el{background-position:5px 5px!important}.icon-package:before{content:" "}.icon-locked{background-image:url(../images/restyle/icons/lock_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-locked.x-tree-node-el{background-position:5px 5px!important}.icon-locked:before{content:" "}.icon-lock{content:"\f023"}#modx-resource-tree-panel .x-accordion-hd{background-position:0 0}#modx-element-tree-panel .x-accordion-hd{background-position:0 -32px}#modx-file-tree-panel .x-accordion-hd{background-position:0 -64px}#modx-static-page-settings .x-accordion-hd{background-position:0 -96px}.x-tree-node-el .x-tree-node-icon{display:inline-block}.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/modx-theme/tree/loading.gif)!important}.x-tree-node-loading a span{color:#444;font-style:italic}.tree-context:before{content:"\f0ac"}.tree-resource:before{content:"\f15b"}.tree-static-resource:before{content:"\f15c"}.tree-weblink:before{content:"\f0c1"}.tree-symlink:before{content:"\f0c5"}.icon-folder:before,.parent-resource:before{content:"\f07b"}.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{content:"\f07c"}.locked-resource:before{content:"\f023"!important}.ext-ie .x-tree-node-el input{height:15px;width:15px}.x-tree-root-ct{border-radius:0;overflow:hidden;padding:0!important}.x-tree-root-node{margin:0}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node .x-tree-node-disabled a span{color:#d1d1d1}.x-tree-node div.x-tree-drag-insert-below{border-bottom-color:#686868}.x-tree-node div.x-tree-drag-insert-above{border-top-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top-color:#686868}.x-tree-node .x-tree-drag-append a span{background-color:#dfdfdf;border-color:#e4e4e4}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-add.gif)}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-over.gif)}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-under.gif)}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-between.gif)}#modx-leftbar-header{align-items:center;box-sizing:border-box;color:#53595f;display:flex;height:57px;justify-content:left;padding:.67rem 1rem}#modx-leftbar-header img{max-height:100%;max-width:33%}#modx-leftbar-header a{color:#53595f;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;text-decoration:none}#modx-leftbar-header a:focus,#modx-leftbar-header a:hover{color:#234368}#modx-leftbar-header a:after{content:"\f06e";font-size:14px;opacity:.5;padding:5px}#modx-leftbar-header img+a{padding-left:.67rem}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip-wrap{margin:0;padding:0}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip{display:flex;width:100%}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li{box-sizing:border-box;flex-grow:1;float:none;margin-left:0;text-align:center}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li#modx-leftbar-tabpanel__modx-trash-link{border-right:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li:hover{color:#234368}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active{background:#f1f1f1}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:after{box-shadow:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:before{background:#0000}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-clear,#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-tab-edge{display:none}#modx-leftbar-tabpanel__modx-trash-link .icon{opacity:.5}#modx-leftbar-tabpanel__modx-trash-link .icon:hover{color:#cf1124}#modx-leftbar-tabpanel__modx-trash-link.active .icon{opacity:1}.modx-browser-rte{background:#fff}.modx-browser-tree{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-tree,.x-window .modx-browser-tree{border-radius:0;border-right:1px solid #e4e4e4;box-shadow:none}.modx-browser-view-ct{background:#fff;border-radius:3px;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-rte .modx-browser-view-ct,.x-window .modx-browser-view-ct{border-radius:0;box-shadow:none}.modx-browser-thumb-wrap{cursor:pointer;float:left;margin:5px;overflow:hidden;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modx-browser-thumb-wrap.x-view-over .modx-browser-placeholder{color:#515151}.modx-browser-thumb-wrap.x-view-over .modx-browser-thumb{border:1px dotted #515151}.modx-browser-thumb-wrap.x-view-selected .modx-browser-placeholder{color:#234368}.modx-browser-thumb-wrap.x-view-selected .modx-browser-thumb{border:1px solid #234368}.modx-browser-thumb{background:#fff;border:1px solid #e4e4e4;height:100px;line-height:100px;padding:5px;width:100px}.modx-browser-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);max-width:100%;vertical-align:middle}.modx-browser-placeholder{color:#dcdcdc;font-size:14px}.details .modx-browser-placeholder{align-items:center;display:flex;font-size:24px;font-weight:700;height:100px;justify-content:center;overflow:hidden;width:100%}.modx-browser-list-item{padding:0 5px}.modx-browser-list-item>span{background-position:0!important;border-bottom:1px solid #e4e4e4;clear:both;display:block;min-height:16px;padding:5px 0 5px 20px;position:relative}.modx-browser-list-item>span:before{font-size:14px;left:2px;position:absolute}.modx-browser-list-item>span span{display:inline-block;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-list-item>span span.file-size,.modx-browser-list-item>span span.image-size{float:right;width:13%}.modx-browser-list-item.x-view-over>span{background:#fbfbfb}.modx-browser-list-item.x-view-selected>span{background:#fbfbfb;color:#234368}.modx-browser-view-ct .loading-indicator{background-position:0;background-repeat:no-repeat;font-size:11px;margin:10px;padding-left:20px}.modx-browser-pathbbar table,.modx-browser-pathbbar tbody,.modx-browser-pathbbar td,.modx-browser-pathbbar tr{display:block}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell{position:relative}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before{content:"\f328";filter:alpha(opacity=60);font-size:14px;left:0;opacity:.6;position:absolute;text-align:center;top:50%;width:30px}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row .modx-browser-filepath{background:#0000;border:0;border-radius:0;border-top:1px solid #e4e4e4;box-sizing:border-box;height:32px!important;margin:0!important;padding-left:30px;width:100%}.modx-browser-details-ct{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-details-ct,.x-window .modx-browser-details-ct{border-left:1px solid #e4e4e4;border-radius:0;box-shadow:none}.modx-browser-detail-thumb{color:#000;cursor:default;padding:5px;position:relative}.modx-browser-detail-thumb.preview{cursor:pointer}.modx-browser-detail-thumb.preview:before{content:"\f002";filter:alpha(opacity=0);font-size:56px;left:0;margin-top:-28px;opacity:0;position:absolute;text-align:center;text-shadow:0 0 10px #0003;top:50%;transition:opacity .25s;width:100%}.modx-browser-detail-thumb.preview:hover:before{filter:alpha(opacity=60);opacity:.6}.modx-browser-detail-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}.modx-browser-details-info{border-top:1px solid #e4e4e4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:15px;text-align:left}.modx-browser-details-info b{color:#53595f;display:block;margin-bottom:2px}.modx-browser-details-info span{display:block;margin-bottom:10px}.modx-browser-fullview{text-align:center}.modx-browser-fullview img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}@media screen and (max-width:960px){.modx-browser{max-height:100%!important;overflow-y:scroll;top:15px!important}.modx-browser-panel{background-color:#fff!important;margin:15px 0!important;min-height:700px;width:100%!important}.modx-browser-tree,.modx-browser-view-ct{max-width:35%!important;width:35%!important}.modx-browser-details-ct,.modx-browser-tree,.modx-browser-view-ct{display:inline-block!important;float:left;left:0!important;padding:0 5px;position:relative!important}.modx-browser-details-ct{max-width:20%!important;width:20%!important}.modx-browser-details-ct *,.modx-browser-tree *,.modx-browser-view-ct *{font-size:12px!important}.modx-browser-details-ct input,.modx-browser-tree input,.modx-browser-view-ct input{padding:5px!important}.modx-browser-tree .x-toolbar-ct tbody tr td{display:table-cell}.modx-browser-view-ct .x-panel-body,.modx-browser-view-ct .x-panel-tbar,.modx-browser-view-ct .x-panel-tbar-noheader,.modx-browser-view-ct .x-panel-tbar .x-toolbar,.modx-browser .x-panel-tbar-noheader,.modx-browser .x-toolbar{width:100%!important}.modx-browser-view-ct .x-panel-tbar .x-toolbar-cell label{line-height:2.2}.modx-browser-thumb-wrap{margin:5px;padding:5px;width:24%}.modx-browser-thumb{height:25px;line-height:25px;max-width:100%;overflow:hidden;padding:0}.modx-browser-thumb img{max-width:100%}.modx-browser-placeholder{height:50px}.modx-browser-details-info{padding:5px}}.x-window{-webkit-backface-visibility:hidden;border-radius:3px;box-shadow:0 0 15px 0 #0003;filter:alpha(opacity=0);opacity:0;overflow:visible;transform:scale(1) translateZ(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.x-window.anim-ready{transform:scale(.7) translateZ(0)}.x-window.zoom-in{filter:alpha(opacity=100);opacity:1;transform:scale(1) translateZ(0)}.x-window.zoom-out{filter:alpha(opacity=0);opacity:0;transform:scale(1.3) translateZ(0)}.ext-ie8 .x-window.x-window-dlg{filter:alpha(opacity=100)}.x-window .x-window-tl,.x-window .x-window-tr{padding:0}.x-window .x-window-tc{z-index:1}.x-window .x-window-tc .x-window-header{background-color:#f4f4f4;border-bottom:1px solid #f4f4f4;border-radius:3px 3px 0 0;color:#515151;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:8px;text-align:center}.x-window .x-window-tc .x-window-header-text{padding-left:24px}.x-window.x-panel-collapsed .x-window-tl{border-bottom:1px solid #dcdcdc}.x-window.x-panel-collapsed .x-window-header{border-radius:3px}.x-window .x-window-bwrap{overflow:visible}.x-window .x-window-bwrap .x-window-ml,.x-window .x-window-bwrap .x-window-mr{padding:0}.x-window .x-window-bwrap .x-window-mc{border:0;padding:0}.x-window .x-window-bwrap .x-window-mc .x-panel-bl,.x-window .x-window-bwrap .x-window-mc .x-panel-mc,.x-window .x-window-bwrap .x-window-mc .x-panel-ml,.x-window .x-window-bwrap .x-window-mc .x-panel-mr,.x-window .x-window-bwrap .x-window-mc .x-panel-tl{background:#0000;border:0;padding:0}.x-window .x-window-body{background-color:#fff!important;border:0;overflow-y:auto;padding:15px}.x-window.modx-window .x-window-body{padding-top:0}.x-window.modx-window.modx-alert .x-window-body,.x-window.modx-window.modx-confirm .x-window-body,.x-window.modx-window.modx-console .x-window-body,.x-window.modx-window .x-window-with-tabs .x-window-body{padding-top:15px}.x-window.modx-window .x-window-tc .x-window-header-text{padding-left:64px}.x-window .x-panel-bwrap{background:#fff;padding:0}.x-window .x-panel-bwrap .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window .x-window-with-tabs .x-window-body{background-color:#fbfbfb!important;overflow:visible}.x-window .x-window-with-tabs .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window form.x-panel-body:first-of-type{overflow:visible!important}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap{padding-top:3px}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap .x-tab-strip{border:0}.x-window .x-tab-panel-bwrap{background:#fff;box-shadow:0 4px 6px #00000026;padding:10px}.x-window .x-tab-panel-bwrap .x-tab-panel-body{overflow-y:auto}.x-window .x-tab-panel-bwrap .x-tab-panel-body .modx-panel .x-panel-bwrap,.x-window .x-window-bl,.x-window .x-window-br{padding:0}.x-window .x-window-bc .x-window-footer{background-color:#fff;border-radius:0 0 3px 3px;border-top:1px solid #fff;box-sizing:border-box;padding:5px 15px 15px;width:100%!important}.x-window.x-window-maximized{margin:0}.x-window.x-window-maximized .x-window-mc,.x-window.x-window-maximized .x-window-tc{padding:0}.x-window.modx-console .modx-console-text{background-color:#fff;border:none;font:12px SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;height:auto!important}.x-window.modx-console .debug{color:#515151}.x-window.modx-console .success{color:#6cb24a}.x-window.modx-console .warn{color:#4a90e2}.x-window.modx-console .error{color:#cf1124}.x-progress-wrap{border:1px solid #6cb24a;width:100%!important}.x-progress-wrap .x-progress-inner{background-color:#fdfefd}.x-progress-wrap .x-progress-bar{background-color:#6cb24a;border:0}.x-progress-wrap .x-progress-text{color:#fff;font-size:11px;font-weight:700}.x-progress-wrap .x-progress-text-back{color:#515151}.ext-el-mask{background-color:#fff;filter:alpha(opacity=0);opacity:0;transition:opacity .25s}.ext-el-mask.fade-in,.x-masked .ext-el-mask{filter:alpha(opacity=50);opacity:.5}.x-masked .ext-el-mask{z-index:9}.ext-mb-icon{display:inline-block;float:left;position:relative;width:40px!important}.ext-mb-icon:before{color:#4a90e2;content:"";font-size:32px;position:absolute;right:0;text-align:left;top:50%;transform:translateY(-50%);width:100%}.ext-mb-icon.ext-mb-info:before{color:#4a90e2;content:"\f05a"}.ext-mb-icon.ext-mb-question:before{color:#4a90e2;content:"\f059"}.ext-mb-icon.ext-mb-warning:before{color:#f0b429;content:"\f071"}.ext-mb-icon.ext-mb-error:before{color:#cf1124;content:"\f057"}.ext-mb-content{display:block;margin-left:0!important}.ext-el-mask-msg{background-color:#fff;border:1px solid #dcdcdc;border-radius:3px;box-shadow:0 4px 6px #00000026;padding:5px;z-index:10}.ext-el-mask-msg div{background-color:initial;border:0;color:#515151;cursor:default;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.ext-el-mask-msg .modx-lockmask div{color:#cf1124}.x-mask-loading div{background-image:url(../images/modx-theme/grid/loading.gif)}.dashboard{display:flex;flex-flow:row wrap;margin:-.5rem 0 0 -1rem!important;padding:0 15px}.dashboard .dashboard-button{background:#fff;border:1px solid #0000;border-radius:3px;display:inline-block;padding:5px 20px;text-decoration:none}.dashboard .dashboard-button-green{background:#6cb24a;border-color:#6cb24a;color:#fff}.dashboard .dashboard-button[disabled]{background-color:#e4e4e4}.dashboard .dashboard-button:not([disabled]):hover{border-color:#e4e4e4}.dashboard .dashboard-block{margin:1rem 0 0 1rem}.dashboard .dashboard-block:not(.headless){background-color:#fff;border-radius:3px}.dashboard .dashboard-block.headless .body{max-height:100%;overflow:visible;padding:0}.dashboard .dashboard-block.quarter{width:calc(25% - 1rem)}.dashboard .dashboard-block.one-third{width:calc(33.33332% - 1rem)}.dashboard .dashboard-block.half{width:calc(50% - 1rem)}.dashboard .dashboard-block.two-thirds{width:calc(66.66668% - 1rem)}.dashboard .dashboard-block.three-quarters{width:calc(75% - 1rem)}.dashboard .dashboard-block.full{width:calc(100% - 1rem)}.dashboard .dashboard-block.double{margin-top:2rem;min-height:250px;width:calc(100% - 1rem)}.dashboard .dashboard-block.double .body{height:100%;max-height:100%}.dashboard .dashboard-block.double .dashboard-buttons{height:100%}.dashboard .dashboard-block.double .dashboard-button{align-items:center}.dashboard .dashboard-block h4{color:#515151;font-size:13px;padding-bottom:2px}.dashboard .dashboard-block em{font-style:italic}.dashboard .dashboard-block strong{font-weight:700}.dashboard .dashboard-block ul{list-style:circle outside;padding:0 0 0 15px}.dashboard .dashboard-block img{max-width:100%}.dashboard .dashboard-block .draggable{cursor:move}.dashboard .dashboard-block .action-buttons{margin-left:auto;margin-right:10px}.dashboard .dashboard-block .action-buttons button{background:#0000;border:none;cursor:pointer;opacity:0}.dashboard .dashboard-block .action-buttons button.hidden{display:none}.dashboard .dashboard-block .body{color:#444;font-size:12px;height:auto;max-height:300px;overflow:auto;padding:10px;position:relative}.dashboard .dashboard-block .body .action-buttons{position:absolute;right:-5px;top:20px}.dashboard .dashboard-block .title-wrapper{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:nowrap}.dashboard .dashboard-block .title-wrapper .title{zoom:1;background:#fff;border-radius:3px;color:#515151;flex-grow:1;font-size:12px;font-weight:700;margin:0;padding:15px 10px}.dashboard .dashboard-block .actions button{height:10px;width:10px}.dashboard .dashboard-block:hover .action-buttons button{opacity:1}.dashboard ul.configcheck{list-style-type:none;padding:0}.dashboard ul.configcheck li{background-color:#fbfbfb;margin-bottom:.5em;margin-top:.5em;padding:1em 1.618em}.dashboard ul.configcheck li h5{color:#cf1124}.dashboard ul.configcheck li p{color:#515151}.dashboard .news_article{border-bottom:1px solid #dfdfdf;overflow:hidden;padding:15px 0}.dashboard .news_article h2 a{text-decoration:none}.dashboard .news_article h2{font-size:18px}.dashboard .news_article .date_stamp{float:right;font-size:12px;font-style:italic}.dashboard .configcheck a,.dashboard .news_article a{text-decoration:underline}.dashboard .configcheck a:hover,.dashboard .news_article a:hover{text-decoration:none}.dashboard .table-wrapper{overflow:auto;width:100%}.dashboard .table-wrapper table{border:1px solid #ddd;border-radius:5px;width:100%}.dashboard .table-wrapper table th{border-bottom:2px solid #f0f0f0;font-weight:700;padding:10px;text-align:initial}.dashboard .table-wrapper table td{border-bottom:1px solid #f0f0f0;padding:10px;vertical-align:center;white-space:nowrap}.dashboard .table-wrapper table td .unpublished{color:#999;font-style:italic}.dashboard .table-wrapper table td .deleted{color:#af5a6280!important;text-decoration:line-through}.dashboard .table-wrapper table tr:last-child td,.dashboard .table-wrapper table tr:last-child td tr:last-child td{border:none}.dashboard .table-wrapper table tr:last-child td tr:last-child td:first-child{border-bottom-left-radius:10px}.dashboard .table-wrapper table tr:last-child td tr:last-child td:last-child{border-bottom-right-radius:10px}.dashboard .widget-footer{border-top:1px solid #f0f0f0;padding-top:10px}.dashboard .widget-footer a{display:block;font-size:14px;padding-bottom:5px;padding-top:5px;text-align:center;text-decoration:none}.dashboard .widget-actions a{border:1px solid #e4e4e4;border-radius:3px;display:inline-block;margin-left:5px;padding:3px 5px;text-decoration:none}.dashboard .widget-actions a:first-child{margin-left:0}.dashboard .widget-actions a:hover{background:#f0f0f0}.dashboard .widget-actions a .icon{display:inline-block;height:12px;text-align:center;width:12px}.dashboard .no-results{color:#999;padding:10px;text-align:center}.dashboard .user-with-avatar{align-items:center;display:flex}.dashboard .user-with-avatar .user-avatar{margin:0 10px}.dashboard .user-with-avatar .user-avatar img{border-radius:50%;width:35px}.dashboard .user-with-avatar .user-name{color:#234368;font-weight:500}.dashboard .user-with-avatar .user-group{color:#999}.dashboard .occurred-date,.dashboard .resource .title{color:#234368;font-weight:500}.dashboard .occurred-time{color:#999}#modx-news-feed-container img{max-width:100%}.dashboard-buttons{display:flex;flex-wrap:wrap;justify-content:center;margin:-1rem 0 0 -1rem;width:calc(100% + 1rem)}.dashboard-buttons .dashboard-button{align-items:center;background-color:#fff;border-radius:3px;color:#53595f;display:flex;flex:1;margin:1rem 0 0 1rem;padding:20px;text-decoration:none}.dashboard-buttons .dashboard-button:hover{color:#000}.dashboard-buttons .dashboard-button:hover .icon{opacity:.7}.dashboard-buttons .dashboard-button-icon{background:#6cb24a33;border:1px solid #6cb24a;border-radius:20px;padding:10px;text-align:center}.dashboard-buttons .dashboard-button-icon .icon{color:#6cb24a;display:block;font-size:16px;font-weight:700;height:16px;text-align:center;width:16px}.dashboard-buttons .dashboard-button-wrapper{padding:0 10px}.dashboard-buttons .dashboard-button-title{font-weight:700}::-webkit-scrollbar,::-webkit-scrollbar-thumb{background-color:initial;border:.25rem solid #0000;border-radius:.5rem;height:1rem;width:1rem}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem #556c881a}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem #556c8833}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:initial}.updates-widget .updates-title{color:#234368;font-weight:500}.updates-widget .updates-updateable{background:#4a90e2;border-radius:20px;color:#fff;display:inline-block;font-weight:700;padding:2px 8px}.updates-widget .updates-available,.updates-widget .updates-ok{border-radius:3px;color:#fff;font-size:10px;padding:3px 8px;text-transform:uppercase}.updates-widget .updates-ok{background:#6cb24a}.updates-widget .updates-available{background:#cf1124}#modx-panel-system-info .x-form-label-left .x-form-item{padding:0 5px}#modx-panel-system-info .x-form-label-left .x-form-item:nth-child(2n){background:#f0f0f0}#modx-panel-system-info .x-form-label-left .x-form-item .x-form-display-field{padding:7px 0}@media screen and (max-width:960px){.dashboard-buttons .dashboard-button{align-items:center;flex-direction:column;flex-wrap:wrap;text-align:center}.dashboard-buttons .dashboard-button-wrapper{margin-left:0;margin-top:5px}.dashboard .dashboard-block.half,.dashboard .dashboard-block.one-third,.dashboard .dashboard-block.quarter,.dashboard .dashboard-block.two-thirds{width:calc(100% - 1rem)}.dashboard-buttons{flex-wrap:wrap}.dashboard-buttons .dashboard-button{padding:10px}.dashboard-buttons .dashboard-button-wrapper{display:none}}.nobg .x-panel-body{background:#0000;padding-right:1.5em}#managerbuttons{margin-bottom:1em;overflow:hidden;width:100%}#managerbuttons ul:after,#managerbuttons ul:before{content:" ";display:table}#managerbuttons ul:after{clear:both}#managerbuttons ul{*zoom:1;margin:0;width:100%}#managerbuttons ul li{box-sizing:border-box;display:table;float:left;margin:0;padding:0 1%;position:relative;width:20%}#managerbuttons ul li:first-child{padding-left:0}#managerbuttons ul li:last-child{padding-right:0}#managerbuttons ul li a{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 1px 0 #e4e4e4;color:#53595f;display:table-cell;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:12px;position:relative;text-align:center;text-decoration:none;vertical-align:middle}#managerbuttons ul li a span{display:block;line-height:1.4}#managerbuttons ul li a span.headline{font-size:12px}#managerbuttons ul li a span.subline{font-weight:400}#managerbuttons ul li a span.icon{display:block;margin:0 auto;padding:0 0 10px;width:auto}#managerbuttons ul li a:hover span.icon{color:#234368}#contactus,#helpBanner{background:#fff;border:1px solid #e4e4e4;box-shadow:0 1px 0 #e4e4e4;box-sizing:border-box;margin:.75em 0 1.75em;padding:18px;width:100%}#contactus h3,#helpBanner h3{margin:0 0 1em}#helpBanner{background-attachment:none;background-image:url(../images/modx-logo-color.svg),none;background-position:97%;background-repeat:no-repeat;background-size:200px;margin-top:1.5em;min-height:112px}#helpBanner #helpLogo{float:right;height:76px;margin-right:1em;width:200px}#contactus{box-sizing:border-box;float:left;width:60%}#contactus form{display:inline}#contactus input[type=email]{box-sizing:border-box;font-size:1.1em;margin-right:4px;padding:.4em;width:70%}#contactus input[type=submit]{border:0;cursor:pointer;font-size:1.1em;padding:6px 10px}#contactus p{color:#132539;margin:1em 0}#contactus form+p{margin:2em 0 0}#contactus a{color:#000;text-decoration:none}#contactus a:hover{text-decoration:underline}#contactus a:hover i{text-decoration:none}#contactus a i{margin:0 15px -6px 0}#mcsignup input.x-btn{padding:10px 15px}.icon.icon-2x{text-align:center;vertical-align:text-bottom;width:22px}#aboutMODX{background:#f0f0f0;box-sizing:border-box;float:left;margin:1em 0 0 2%;min-height:300px;padding:1em;width:38%}#aboutMODX p{line-height:1.6;margin:0 0 1em}#aboutMODX a{color:#234368;margin:-2px -4px;padding:2px 4px}#aboutMODX a:hover{background-color:#234368;color:#fff;text-decoration:none}.trashrow{background-color:#ccc!important}.x-btn-purge-all{color:#cf1124}.x-btn-purge-all:hover{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff}.x-btn-restore-all{color:#6cb24a}.x-btn-restore-all:hover{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff}#changelog-tab p{margin-bottom:.3rem}#changelog-tab h1{color:#595959}#changelog-tab h2{font-weight:700;margin-top:1rem}#changelog-tab ul{margin-bottom:1rem}#modx-package-browser-details-main p{color:#595959;margin-bottom:.3rem}#modx-package-browser-details-main h1,#modx-package-browser-details-main h2,#modx-package-browser-details-main h3,#modx-package-browser-details-main h4,#modx-package-browser-details-main h5,#modx-package-browser-details-main h6{color:#595959;font-weight:700}#modx-package-browser-details-main h1{font-size:1.2em}#modx-package-browser-details-main h2{font-size:1.15em}#modx-package-browser-details-main h3{font-size:1.1em}#modx-package-browser-details-main h4{font-size:1.05em}#modx-package-browser-details-main h5{font-size:1em}#modx-package-browser-details-main h6{font-size:.95em}#modx-package-browser-details-aside h4{text-align:center}#modx-package-browser-details-aside ul li{margin-bottom:.5em}body{-webkit-font-smoothing:antialiased;color:#000;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;scrollbar-color:#e1e3e6 #0000}body a{color:#234368}body a:hover{color:#162a42}h2,h3{color:#515151;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0 0 8px -1px}h3{font:550 15px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}strong{font-weight:700}em{font-style:italic}hr{background-color:#e4e4e4;border:0;color:#e4e4e4;height:1px;margin:20px 0}.aleft{text-align:left}.aright{text-align:right}.right{float:right}.left{float:left}.clear{clear:left}.bold{font-weight:700}.installed{color:#515151}.not-installed{color:#999;font-style:italic}.yellow{color:#fce588!important}.orange{color:#f0b429!important}.error,.red{color:#cf1124!important}.green{color:#6cb24a!important}.blue{color:#4a90e2!important}.primary{color:#6cb24a!important}.centered{text-align:center}.wait{background:#0000 url(../images/style/wait.gif) no-repeat scroll center 55px;color:#53595f;font-size:15px;font-weight:700;padding:20px 10px 60px}.padding{background-color:#fff;padding:11px}.dashed{border-bottom:1px dashed #90b1b9}.x-form-text,textarea.x-form-field{border-color:#e4e4e4}#modx-content,#modx-leftbar{position:absolute;transition:left .2s ease}#modx-leftbar-tabpanel{transition:all .6s ease}#modx-content{left:370px;right:0;width:calc(100% - 370px)}.modx-form p{padding-bottom:10px}.x-layout-mini{left:2px}#modx-resource-content .x-panel-header{margin:0;padding:15px}#modx-resource-content .x-panel-bwrap{border:0}#modx-resource-content .modx-tv .modx-tv-label{clear:none;float:none;padding:15px 0 4px;position:static;width:auto}#modx-content-above .x-panel-bwrap,#modx-content-below .x-panel-bwrap{border:0}.x-tab-panel-header,.x-tab-panel-header .x-tab-strip li{box-sizing:border-box}@media screen and (max-width:960px){.x-viewport{overflow-y:auto}.x-viewport body{height:auto}}#modx-container{background:#f1f1f1;height:100%;width:100%}@media screen and (max-width:960px){#modx-container{height:auto}}@media screen and (max-width:1140px){#modx-page-settings-left,#modx-page-settings-right,#modx-resource-main-left,#modx-resource-main-right{box-sizing:border-box;margin:0 auto 15px;width:100%!important}#modx-page-settings-left .x-panel-body,#modx-page-settings-right .x-panel-body,#modx-resource-main-left .x-panel-body,#modx-resource-main-right .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}@media screen and (max-width:960px){#modx-chunk-form .main-wrapper,#modx-panel-plugin .main-wrapper,#modx-snippet-form .main-wrapper,#modx-template-form .main-wrapper,#modx-tv-tabs .main-wrapper{padding:0;width:100%!important}#modx-chunk-form .main-wrapper>.x-panel-bwrap,#modx-panel-plugin .main-wrapper>.x-panel-bwrap,#modx-snippet-form .main-wrapper>.x-panel-bwrap,#modx-template-form .main-wrapper>.x-panel-bwrap,#modx-tv-tabs .main-wrapper>.x-panel-bwrap{padding:1em}#modx-resource-main-right{margin:15px auto 0}.x-toolbar-ct,.x-toolbar-ct tbody,.x-toolbar-ct tbody tr{display:block}.x-toolbar-ct tbody tr td{display:block;width:100%}.x-toolbar-ct tbody tr td table{width:100%}.x-toolbar-ct tbody tr td table .x-form-field-wrap{margin-left:0!important;margin-right:0!important;width:100%!important}.x-toolbar-ct tbody tr td table .x-btn,.x-toolbar-ct tbody tr td table .x-form-text{box-sizing:border-box;margin-left:0!important;margin-right:0!important;width:100%!important}.x-column{float:none;margin-left:0!important;margin-right:0!important;width:100%!important}#modx-tree-panel-usergroup .main-wrapper{display:inline-block;float:left;max-width:100%;position:relative;width:100%!important}.x-window{left:.5em!important;max-width:100%!important;right:.5em!important;width:auto!important}.x-window .x-window-body{box-sizing:border-box!important;height:auto!important;width:100%!important}.x-window .x-form-field-wrap{width:auto!important}.x-window input{box-sizing:border-box;height:auto!important;width:100%!important}}#modx-template-form .main-wrapper input{max-width:100%!important}@media screen and (max-width:960px){.x-column-inner>.x-column~.x-column{margin-left:0}#modx-import-base-path,.x-form-item label.x-form-item-label[for=modx-import-allowed-extensions],.x-form-item label.x-form-item-label[for=modx-import-base-path],.x-form-item label.x-form-item-label[for=modx-import-element],.x-form-item label.x-form-item-label[for=modx-import-parent],.x-form-item label.x-form-item-label[for=modx-import-resource-class]{float:none;width:auto!important}}#modx-import-allowed-extensions,#modx-import-base-path,#modx-import-element,#modx-import-resource-class{box-sizing:border-box;height:auto;width:100%!important}@media screen and (max-width:960px){#x-form-el-modx-import-allowed-extensions,#x-form-el-modx-import-base-path,#x-form-el-modx-import-element,#x-form-el-modx-import-resource-class{padding-left:0!important;width:100%!important}}.x-panel.drag-n-drop{z-index:0}.x-panel.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat 50%;background-size:50% 50%;bottom:0;content:" ";display:block;left:0;opacity:.1;position:absolute;right:0;top:0;z-index:-5}.x-panel.drag-n-drop>.x-panel-bwrap,.x-panel.drag-over .x-form-field{background:#0000}.x-panel.drag-over:after{background:#6cb24a;border:5px solid #6cb24a;bottom:0;content:"";display:block;left:0;opacity:.1;position:absolute;right:0;top:0}#modx-panel-packages.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat top;background-size:50% 30%;z-index:0}.x-panel-header{background:none;border:none;font-size:16px;margin:0;padding:0 0 10px}#modx-resource-tabs .x-panel-header{border-bottom:1px solid #e4e4e4;color:#515151;display:flex;margin-bottom:5px}#modx-resource-tabs .x-panel-header .x-panel-header-text{flex:1;font-size:14px;order:0}#modx-resource-tabs .x-panel-header .x-tool.x-tool-toggle{margin-left:auto;order:1}#modx-resource-main-left .x-panel-header{border-bottom:0;position:absolute;right:15px;z-index:9}#modx-resource-main-left .x-panel-header .x-panel-header-text{display:none}#modx-resource-main-left .x-panel-animated .x-panel-header,#modx-resource-main-left .x-panel-collapsed .x-panel-header{padding-top:15px!important;position:relative;right:0;width:100%}#modx-resource-main-left .x-panel-animated .x-panel-header .x-panel-header-text,#modx-resource-main-left .x-panel-collapsed .x-panel-header .x-panel-header-text{display:block}#modx-resource-tabs .x-panel-collapsed .x-panel-header{border-color:#0000;margin-bottom:0;padding:0}.x-small-editor .x-form-field{font-size:12px!important}.x-small-editor .x-form-num-field{text-align:left}.grid-row-inactive{color:#999!important}a.x-grid-link{color:#234368;text-decoration:underline}a.x-grid-link:focus,a.x-grid-link:hover{text-decoration:none}.x-editable-column{cursor:default}.x-editable-column:not(.editor-disabled){cursor:pointer}.x-editable-column:not(.editor-disabled):focus,.x-editable-column:not(.editor-disabled):hover{color:#234368}.x-editable-column:not(.editor-disabled):focus>div:after,.x-editable-column:not(.editor-disabled):hover>div:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#234368;content:"\f304";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .5em}.x-editable-column.locked{cursor:default}.x-editable-column.locked:focus>div:after,.x-editable-column.locked:hover>div:after{color:#6b7c90;content:"\f023"}.x-grid-buttons{text-align:center}.x-grid-buttons li{cursor:pointer;display:inline-block;font-size:1.1em;line-height:.7;margin-right:10px}.x-grid-buttons li:last-child{margin-right:0}.x-grid-empty .error-with-icon{color:#cf1124;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.3;padding:1rem}.x-grid-empty .error-with-icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;content:"\f071";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin-right:.5rem}.x-grid-empty .error-with-icon *{color:#09121c;line-height:1.6;text-align:left}.x-grid-empty .error-with-icon .error-status-info{margin:.25rem 0;text-align:center}.x-grid-empty .error-with-icon code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;white-space:pre-line}.xdebug-error{border:none}.xdebug-error tbody td,.xdebug-error tbody th{border-color:#dcdcdc;border-style:solid none none!important;border-width:thin!important;padding:.1rem .25rem}.xdebug-error tbody th{color:#000!important;font-weight:700}.xdebug-error tbody th:first{border-top:none!important}.xdebug-error tbody th[colspan="5"]{border-color:#fff;border-width:thick!important;padding:.5rem 2rem;text-align:center!important}.xdebug-error tbody th[bgcolor^="#f57"]{background:#fdf0f1;font-weight:400}.xdebug-error tbody th[bgcolor^="#e9b"]{background:#234368;color:#fff!important}.xdebug-error tbody td{background-color:#fff}.xdebug-error tbody tr:nth-child(2n) td{background-color:#f0f0f0}.modx-page-header,.modx-page-header div{background-color:initial!important}#modx-panel-trash .modx-page-header,#modx-panel-trash .modx-page-header div,#modx-panel-welcome .modx-page-header,#modx-panel-welcome .modx-page-header div{margin:1rem!important}@media screen and (min-width:961px){#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{box-sizing:border-box;margin-top:1.25rem}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel{margin:0}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{box-sizing:border-box;font-size:18px;font-weight:700;margin-top:1.25rem;padding:0 15px}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{width:100%!important}}#modx-content form.x-panel-body{background-color:initial!important}@media screen and (max-width:960px){#modx-content{left:auto!important;position:relative;top:auto!important;width:auto!important}}#modx-content .modx_error{margin:26px 0 0 15px;width:95%}#modx-content .modx_error h2{margin:0 0 14px}#modx-content .modx_error .error_container{background:#f99;border:2px solid #cf1124;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px}#modx-content .modx_error .error_container ul{list-style:none;margin-left:0;margin-top:6px}#modx-content .modx_error .error_container ul li{margin-bottom:6px}#modx-content .modx_error .error_container ul li:last-child{margin-bottom:0}#modx-content .modx_error .error_container.multiple p:first-child{font-size:1.4em;font-weight:700}@media screen and (max-width:960px){#modx-content .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}#modx-mainpanel{height:100%;position:relative}.x-portal .x-panel-dd-spacer,.x-portlet{margin-bottom:10px}.x-portlet .x-panel-ml{padding-left:2px}.x-portlet .x-panel-mr{padding-right:2px}.x-portlet .x-panel-bl{padding-left:2px}.x-portlet .x-panel-br{padding-right:2px}.x-portlet .x-panel-body{background:#fff}.x-portlet .x-panel-mc{padding-top:2px}.x-portlet .x-panel-bc .x-panel-footer{padding-bottom:2px}.x-portlet .x-panel-nofooter .x-panel-bc{height:2px}.x-portal-space h2{border-bottom:1px solid #d4d4d4;margin:0 0 8px;padding:0 0 2px}.x-column-tree .x-panel-header{border-bottom-width:0;padding:3px 0 0}.x-column-tree .x-panel-header .x-panel-header-text{margin-left:3px}.x-column-tree .x-tree-node,.x-column-tree .x-tree-node-el{zoom:1}.x-column-tree .x-tree-selected{background:#d9e8fb}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle}.x-column-tree .x-tree-node .x-tree-selected a span{background:#0000;color:#515151}.x-tree-col{zoom:1;float:left;overflow:hidden;padding:0 1px}.x-tree-col-text,.x-tree-hd-text{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden;padding:3px 3px 3px 5px;text-overflow:ellipsis;white-space:nowrap}.x-tree-headers{zoom:1;cursor:default;margin-top:3px}.x-tree-hd{border-left:1px solid #eee;border-right:1px solid #d0d0d0;float:left;overflow:hidden}.ux-row-action-cell .x-grid3-cell-inner{padding:1px 0 0}.ext-ie .ux-row-action-item{width:16px}.ext-ie .ux-row-action-text{width:auto}.ux-row-action-item span{background:#0000 url(../images/style/go-next.png) no-repeat scroll 1px 4px;display:inline!important;line-height:24px;margin:0 5px;padding:5px 5px 5px 22px;vertical-align:middle}.icon-uninstall span{background:url(../images/style/delete.png) no-repeat scroll 1px 4px #0000}.package-details span{background:url(../images/style/info.png) no-repeat scroll 1px 4px #0000}.package-download span{background:url(../images/style/download.png) no-repeat scroll 1px 4px #0000}.package-installed span{background:url(../images/style/accept.png) no-repeat scroll 1px 4px #0000}.ext-ie .ux-row-action-item span{width:auto}.x-grid-group-hd div{height:16px;position:relative}.ux-grow-action-item{background-position:0 50%!important;background-repeat:no-repeat;cursor:pointer;float:left;margin:0;min-width:16px;padding:0!important}.ext-ie .ux-grow-action-item{width:16px}.ux-action-right{float:right;margin:0 3px 0 2px;padding:0!important}.ux-grow-action-text{background:#0000 none!important;float:left;margin:0!important;padding:0!important}.ux-row-action-item:hover{background:#dfdfdf;background:linear-gradient(center bottom,#dfdfdf 0,#fff);border:1px solid #9caf78;color:#636f4c!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=$white,endColorstr=$alto,GradientType=0)}.ux-row-action-item:active{background-color:#fff;background-image:none;border-color:#cfcfcf silver #aaa;box-shadow:inset 0 0 3px #aaa;margin:2px 1px 0}.ux-row-action-item:active span{text-shadow:none}.ux-row-action-item{background:linear-gradient(center bottom,#dcdcdc 0,#fcfcfc);background:url(/manager/templates/default/images/modx-theme/form/button-bg.png) repeat-x scroll 0 bottom #dcdcdc;border-collapse:initial;border-color:#cacaca silver #aaa;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 0 1px #0003;color:#444;cursor:pointer;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfcfc,endColorstr=#dcdcdc,GradientType=0);float:left;font-weight:700;margin:2px 1px 0;overflow:hidden;padding:3px;position:relative;text-shadow:0 1px 0 #fafafa}.x-tree-checkbox{background:url(../../../assets/ext3/resources/images/default/form/checkbox.gif) no-repeat 0 0;height:13px;margin:0 1px;vertical-align:middle;width:13px}.x-tree-checkbox-over .x-tree-checkbox{background-position:-13px 0}.x-tree-checkbox-down .x-tree-checkbox{background-position:-26px 0}.x-tree-node-disabled .x-tree-checkbox{background-position:-39px 0}.x-tree-node-checked{background-position:0 -13px}.x-tree-checkbox-over .x-tree-node-checked{background-position:-13px -13px}.x-tree-checkbox-down .x-tree-node-checked{background-position:-26px -13px}.x-tree-node-disabled .x-tree-node-checked{background-position:-39px -13px}.x-tree-node-grayed{background-position:0 -26px}.x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -26px}.x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -26px}.x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -26px}.x-tree-branch-unchecked .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-grayed{background-position:0 0}.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px 0}.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px 0}.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px 0}.x-tree-branch-checked .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-grayed{background-position:0 -13px}.x-tree-branch-checked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -13px}.x-tree-branch-checked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -13px}.x-tree-branch-checked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -13px}.x-rbtn button{background-color:initial;background-position:50%;background-repeat:no-repeat;border:0;cursor:pointer;font-size:1px;height:16px;line-height:1px;margin:0;-moz-outline:0 none;outline:0 none;padding:0;width:24px}.x-rbtn{table-layout:fixed}.x-rbtn td{background-image:url(../images/restyle/icons/rbtn.gif);background-repeat:no-repeat;border:0;height:21px;padding:0;vertical-align:middle;width:24px}.x-rbtn td.x-rbtn-first{background-position:0 0}.x-rbtn td.x-rbtn-item{background-position:0 -42px}.x-rbtn td.x-rbtn-last{background-position:right -21px}.x-rbtn td.x-rbtn-first-active{background-position:0 -63px}.x-rbtn td.x-rbtn-item-active{background-position:0 -105px}.x-rbtn td.x-rbtn-last-active{background-position:right -84px}.ux-up-item{background-color:#f0f0f0;background-image:url(../../../assets/modext/util/filetree/img/white_bg.png);background-repeat:no-repeat;cursor:default;height:17px;line-height:17px;margin-bottom:1px;position:relative}.ux-up-icon-file{float:left;height:16px;margin-right:4px;vertical-align:-3px;width:16px}.ux-up-indicator{background-color:#ff0;filter:alpha(opacity=40);height:17px;opacity:.4;position:absolute;width:40px}.ux-up-icon-state{cursor:pointer;float:right;margin-right:2px;width:16px;z-index:-1}.ux-up-icon-queued{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_get.png)}.ux-up-icon-uploading{background-image:url(../../../../ext2/resources/images/default/grid/wait.gif)}.ux-up-icon-done{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/accept.png)}.ux-up-icon-failed{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/error.png)}.ux-up-icon-stopped{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/stop.png)}.ux-up-text{float:left}.ux-ftm-nodename{color:#515151;cursor:default!important;font-weight:700}.ux-icon-combo-icon{background-position:0 50%;background-repeat:no-repeat;height:14px;width:18px}.ux-icon-combo-input{padding-left:25px}.x-form-field-wrap .ux-icon-combo-icon{left:5px;top:3px}.ux-icon-combo-item{background-position:3px 50%!important;background-repeat:no-repeat!important;padding-left:24px!important}.modx-status-msg{background:#6cb24a;border-radius:3px;bottom:20px;box-sizing:border-box;color:#fff;max-width:360px;padding:15px 15px 15px 65px;position:fixed;right:15px;width:25%;z-index:20000}@media screen and (max-width:960px){.modx-status-msg{max-width:100%}}.modx-status-msg:before{position:relative}.modx-status-msg:after{background:#fff;border-radius:50%;color:#6cb24a;content:"\f00c";display:inline-block;font-size:16px;height:38px;left:15px;line-height:36px;margin-right:13px;position:absolute;text-align:center;top:15px;vertical-align:middle;width:38px}.modx-status-msg h3,.modx-status-msg span{font-size:14px}.modx-status-msg h3{color:#fff;margin:0}.modx-status-msg .has-position-center-center{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:50%;transform:translateY(-50%)}.modx-status-msg .has-position-center-top{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:15px}.modx-status-msg .has-position-right-top{bottom:auto;left:auto;right:15px;top:15px}@media screen and (max-width:960px){.modx-status-msg,.modx-status-msg .has-position-center-center,.modx-status-msg .has-position-center-top,.modx-status-msg .has-position-right-top{border-radius:0;bottom:0;left:0;right:0;top:auto;width:100%}}iframe[classname=x-hidden]{visibility:hidden}html[dir=rtl] .x-hide-offsets,html[dir=rtl] .x-hiden{left:unset;right:-9999px}.ext-ux-uploaddialog-addbtn{background:url(../images/restyle/fileup/file-add.gif) no-repeat 0!important}.ext-ux-uploaddialog-removebtn{background:url(../images/restyle/fileup/file-remove.gif) no-repeat 0!important}.ext-ux-uploaddialog-resetbtn{background:url(../images/restyle/fileup/reset.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstartbtn{background:url(../images/restyle/fileup/upload-start.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstopbtn{background:url(../images/restyle/fileup/upload-stop.gif) no-repeat 0!important}.ext-ux-uploaddialog-indicator-stoped{background:url(../images/restyle/fileup/done.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-indicator-processing{background:url(../images/restyle/fileup/loading.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-state{background-position:50%;background-repeat:no-repeat;text-align:center}.ext-ux-uploaddialog-state-0{background-image:url(../images/restyle/fileup/uncheck.gif)}.ext-ux-uploaddialog-state-1{background-image:url(../images/restyle/fileup/check.gif)}.ext-ux-uploaddialog-state-2{background-image:url(../images/restyle/fileup/failed.gif)}.ext-ux-uploaddialog-state-3{background-image:url(../images/restyle/fileup/file-uploading.gif)}.tq-treegrid .tq-treegrid-col{border:none}.tq-treegrid .tq-treegrid-icons{float:left}.tq-treegrid .x-tree-node-el{line-height:13px;padding:1px 3px 1px 5px}.tq-treegrid .tq-treegrid-static .x-tree-ec-icon{display:none}.tq-treegrid .tq-treegrid-static .x-tree-node-el{cursor:default}.modx-tree-load-msg{color:#000;font-size:.9em;line-height:1;padding:3px;white-space:pre-line}#modx-grid-policy-permissions .x-grid3-cell-inner,#modx-grid-policy-permissions .x-grid3-hd-inner,#modx-grid-template-permissions .x-grid3-cell-inner,#modx-grid-template-permissions .x-grid3-hd-inner{white-space:normal}.container{margin:20px 15px}.container,.x-plain-body,.x-plain-bwrap{overflow:visible}.shadowbox,.x-form-label-left{border-radius:3px}.shadowbox .x-form-label-left,.x-form-label-left .x-form-label-left,.x-tab-panel-bwrap .shadowbox,.x-tab-panel-bwrap .x-form-label-left,.x-window .shadowbox,.x-window .x-form-label-left{border-radius:0;box-shadow:none}.panel-desc{border-bottom:1px solid #f0f0f0;border-radius:0;color:#53595f;line-height:1.5;padding:15px!important}.x-window .panel-desc{margin-bottom:15px;margin-top:0}.panel-desc .x-panel-bwrap{background-color:initial!important}.with-title .panel-desc{margin:0}.panel-desc p{padding:0}.main-wrapper{background-color:#fff;padding:15px}.with-title .main-wrapper{padding:0 15px 10px}.left-col{padding-right:15px}.right-col{padding-left:15px}.modx-page-header{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;order:1;padding:0 15px}@media screen and (max-width:960px){.modx-page-header{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs .breadcrumbs{align-items:baseline;display:flex;flex-wrap:wrap}.modx-header-breadcrumbs .breadcrumbs h2{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0!important;order:1;padding-left:0}@media screen and (max-width:960px){.modx-header-breadcrumbs .breadcrumbs h2{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs ul{align-items:center;display:flex;flex-wrap:wrap;order:0}.modx-header-breadcrumbs ul li{color:#53595f}.modx-header-breadcrumbs ul li,.modx-header-breadcrumbs ul li a{font:normal 18px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-header-breadcrumbs ul li a{text-decoration:none}.modx-header-breadcrumbs ul li a.menu_hidden{font-style:italic}.modx-header-breadcrumbs ul li a.menu_hidden:hover{color:#162a42}.modx-header-breadcrumbs ul li a.not_published{color:#b3b3b3!important}.modx-header-breadcrumbs ul li a.not_published:hover{color:#162a42}.modx-header-breadcrumbs ul li a.deleted{color:#af5a6280!important;text-decoration:line-through}.modx-header-breadcrumbs ul li a.deleted:hover{color:#162a42}.modx-header-breadcrumbs ul li:after{color:#999;content:"\f054";font-size:12px;padding:0 10px}#modx-abtn-delete{color:#cf1124}#modx-abtn-undelete{color:#6cb24a}#modx-abtn-help{color:#234368}#modx-resource-tabs .x-tab-panel-bwrap{box-shadow:none}#modx-resource-tabs .x-tab-panel-body,#modx-resource-tabs .x-tab-panel-bwrap{overflow:visible!important}#modx-resource-settings{background:#f1f1f1}#modx-resource-settings #modx-resource-main-left{background:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;padding:15px;position:relative}#modx-resource-settings .x-panel-collapsed{min-height:18px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel{background:#fff;border-radius:3px;padding:15px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel:not(:last-child){margin-bottom:15px}#modx-resource-settings .main-wrapper{background:#0000;padding:0}#modx-resource-settings .x-datetime-wrap table{width:100%}#modx-resource-settings .x-datetime-wrap table td{max-width:50%!important;width:50%!important}#modx-resource-settings .x-datetime-wrap table td input{width:calc(100% - 30px)}#modx-resource-settings .x-datetime-wrap table td:first-child{padding-right:5px!important}#modx-resource-settings .x-datetime-wrap table td:last-child{padding-left:5px!important}#modx-resource-settings .x-datetime-wrap table .x-form-field-trigger-wrap{width:100%!important}.tvs-wrapper{padding:0}#modx-resource-tvs-div{border-top-width:0;visibility:hidden}.modx-permissions-list{color:#777;font-size:12px}.modx-permissions-list-textarea{background-color:initial!important;border:0!important}.info-list.hide-list{display:none}.info-list .header{color:#626262;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600}.info-list .header:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .25rem}.info-list .header span{font-weight:400}.info-list ul{border:1px dashed #e4e4e4;border-radius:3px;margin-top:.5rem;padding:.5rem}.info-list ul li{color:#6b6b6b;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1;padding:.15rem 0;word-break:break-word}@media screen and (min-width:641px){.info-list ul{-moz-columns:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem}}.x-window .info-list{margin-top:1rem}.x-grid3 .info-list ul{background-color:#fcfbfb;padding-left:1rem;position:relative}.x-grid3-row-alt .x-grid3 .info-list ul{background-color:#f9faff}.x-grid3 .info-list ul:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;background-color:#fff;border-radius:100%;box-shadow:-1px 1px 3px #888;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-size:11px;font-style:normal;font-variant:normal;font-weight:900;height:14px;left:-7px;padding-top:2px;position:absolute;text-align:center;top:-7px;width:14px}.x-grid3 .info-list ul li{font-style:italic}@media screen and (min-width:769px){.x-grid3 .info-list ul{-moz-columns:3;column-count:3}}@media screen and (min-width:1141px){.x-grid3 .info-list ul{-moz-columns:4;column-count:4}}@media screen and (min-width:1401px){.x-grid3 .info-list ul{-moz-columns:5;column-count:5}}.x-selectable,.x-selectable *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}#ux-lightbox{left:0;line-height:0;position:absolute;text-align:center;width:100%;z-index:15000}#ux-lightbox img{height:auto;width:auto}#ux-lightbox a img{border:none}#ux-lightbox-outerImageContainer{background-color:#fff;height:250px;margin:0 auto;position:relative;width:250px}#ux-lightbox-imageContainer{padding:10px}#ux-lightbox-loading{background:url(../images/style/loading.gif) no-repeat scroll center 15% #0000;height:25%;left:0;line-height:0;position:absolute;text-align:center;top:40%;width:100%}#ux-lightbox-hoverNav{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}#ux-lightbox-hoverNav a{outline:medium none}#ux-lightbox-imageContainer>#ux-lightbox-hoverNav{left:0}#ux-lightbox-navNext,#ux-lightbox-navPrev{display:block;height:100%;width:49%}#ux-lightbox-navPrev{float:left;left:0}#ux-lightbox-navPrev:hover,#ux-lightbox-navPrev:visited:hover{background:#0000 url(images/lb-prev.png) no-repeat scroll left 33%}#ux-lightbox-navNext{float:right;right:0}#ux-lightbox-navNext:hover,#ux-lightbox-navNext:visited:hover{background:#0000 url(images/lb-next.png) no-repeat scroll right 33%}#ux-lightbox-outerDataContainer{margin:0 auto;width:100%}#ux-lightbox-dataContainer{background-color:#fff;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10px;overflow:auto}#ux-lightbox-data{color:#666;padding:0 10px}#ux-lightbox-data #ux-lightbox-details{float:left;text-align:left;width:80%}#ux-lightbox-data #ux-lightbox-caption{font-weight:700}#ux-lightbox-data #ux-lightbox-imageNumber{clear:left;display:block;padding-bottom:1em}#ux-lightbox-data #ux-lightbox-navClose{background:#0000 url(../images/style/close.png) no-repeat scroll 0 0;float:right;height:16px;outline:medium none;padding-bottom:.7em;width:16px}#ux-lightbox-overlay,#ux-lightbox-shim{background-color:#515151;border:0;height:500px;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:14999}#ux-lightbox-shim{background-color:initial;z-index:89}.x-panel-body-noheader .x-grid3-row{position:relative}.x-grid3-col-main{padding:10px 5px 35px}.x-grid3-cell-inner .x-grid3-col-main h3{color:#555;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;line-height:1;margin:0 0 5px}.package-installed{color:#515151;filter:alpha(opacity=50);opacity:.5}#modx-grid-package .green{text-align:center}#modx-grid-package .green a{color:#cf1124!important}#modx-grid-package .red{color:#6cb24a!important;text-align:center}.grid-with-buttons .x-grid3-row-expanded .x-grid3-row-body{margin:-45px 2px 0 -20px;padding:18px 25px 40px}.home-panel ol{border-top:1px solid #cacaca}.home-panel ol li{border-bottom:1px solid #e0e0e0}.home-panel ol li:first-child{border-top-color:0 none}.home-panel ol li:last-child{border-bottom:0}.home-panel ol li button{background-color:initial;border:0;color:#53595f;cursor:pointer;display:block;font-size:15px;font-weight:700;padding:12px 20px 12px 6px;position:relative;text-decoration:none}.home-panel ol li:hover button{color:#234368}.home-panel ol li:hover button:before{content:"\f002";filter:alpha(opacity=60);font-size:14px;margin-top:-7px;opacity:.6;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:20px}.home-panel ol li .highlighted{color:#909090;float:right;font-size:10px;padding:13px 10px 0}.home-panel ol li button .ct{color:#aaa;margin-right:10px}.home-panel .one_half{overflow:hidden}.home-panel .desc-wrapper{margin-top:38px}.home-panel .text-wrapper{font-style:normal;max-height:none}.home-panel .provider_name{background-color:#9bb3bf;line-height:1.8}.home-panel .pnl_instructions{margin:20px 0}.home-panel .stats{clear:both;display:inline-block;margin-top:15px}.home-panel .stats p{color:#777;font-size:12px;font-style:italic;line-height:1.5}.pbr-provider-box{float:left;margin-top:10px;width:250px}.pbr-provider-home,.pbr-repository-view,.pbr-tag-view{padding:10px}.pbr-details-right{float:right!important;text-align:right!important}.pbr-thumb-downloaded{filter:alpha(opacity=50);opacity:.5}.one_half{float:left;margin-right:3%;position:relative;width:48%}.last{clear:right;margin-right:0!important}.package-readme{padding:8px 11px 0}#modx-package-browser-home{margin-top:5px;min-height:560px}.empty-text-wrapper{color:#888;font-weight:700;line-height:1.4;padding:12px}.aside-details{background-color:initial;border:1px solid #e4e4e4;border-radius:3px;margin-right:0}.aside-details .selected h5{color:#53595f;font-size:14px;margin:10px 0}.aside-details .selected img{border:1px solid #e4e4e4;border-radius:3px;height:80px;width:90px}.aside-details .item{margin-bottom:25px}.aside-details .item li,.aside-details .item p{color:#888;line-height:1.4}.aside-details .item a{color:#53595f;font-style:italic}.aside-details h4{color:#53595f;font-size:14px;margin:10px 0;text-transform:uppercase}.aside-details .aside-details h4{font-size:12px;margin-top:0}.aside-details .selected{border-bottom:1px solid #e4e4e4;color:#000;padding:15px;text-align:center}.aside-details .description,.aside-details .instructions{background-color:#fbfbfb}.aside-details .description,.aside-details .infos,.aside-details .instructions{color:#53595f;font-size:12px;line-height:1.2;padding:15px}.aside-details .infos ul li{font-size:12px}.aside-details .infos ul li .infoname{color:#999;font-weight:700;width:50%}.aside-details .infos ul li .infovalue{word-wrap:break-word;max-width:50%;padding:0 8px}.aside-details .infos ul li span{display:inline-block;padding:0}.thumb-wrapper{background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;cursor:pointer;float:left;margin:0 15px 15px 0;overflow:hidden;padding:0 0 12px;position:relative;width:250px}.thumb-wrapper,.thumb-wrapper *{box-sizing:border-box}.thumb-wrapper .thumb{background-color:#fff;border-bottom:1px solid #ccc;height:170px;margin:0 auto;position:relative;text-align:center;width:100%}.thumb-wrapper .thumb img{max-height:100%;max-width:100%}.thumb-wrapper .thumb .no-preview{color:#888;display:inline-block;font-size:9px;font-weight:700;padding:31px 15px;text-align:center;text-transform:uppercase}.thumb-wrapper span.downloaded,.thumb-wrapper span.featured{background-color:#6cb24a;color:#fff;font-weight:700;padding:5px 0;position:absolute;text-align:center;text-shadow:none;top:68px;width:100%}.thumb-wrapper span.featured{background-color:#234368;bottom:0;color:#fff;top:auto}.thumb-wrapper span{display:block;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;text-shadow:0 1px 0 #fff;white-space:nowrap}.thumb-wrapper .name{color:#53595f;float:left;font-size:12px;font-weight:700;padding:12px 8px 12px 12px;width:55%}.thumb-wrapper .downloads{color:#999;float:right;font-size:9px;padding:8px 12px 8px 8px;text-align:right;text-transform:uppercase;width:45%}.thumb-wrapper .thumb-description{clear:both;font-size:12px;height:50px;overflow:hidden;padding:0 12px}.thumb-wrapper .thumb-footer{color:#999;font-size:9px;padding:8px 12px 0;text-align:center;text-transform:uppercase}.thumb-wrapper.selected{background-color:#fff;border-color:#234368;padding:0 0 12px}.thumb-wrapper.selected img{border:0}.pbr-thumb{background:#dfdfdf;padding:3px}.pbr-thumb,.pbr-thumb img{height:80px;width:100px}.x-grid3-hd-info-col,.x-grid3-hd-meta-col,.x-grid3-hd-text-col{text-align:center}.x-grid3-col-text-col{font-size:11px;text-align:center}.x-grid3-col-info-col,.x-grid3-col-meta-col{font-size:11px;font-weight:700;text-align:center}.x-grid3-col-meta-col{color:#53595f}.x-grid3-col-info-col{color:#6cb24a}.not-installed .x-grid3-col-info-col{color:#cf1124}.inline-button{-webkit-box-align:center;display:inline;margin:0 auto;padding:8px;text-align:center}.meta-wrapper{word-wrap:break-word;color:grey;max-height:400px;overflow:auto;padding:15px}.meta-wrapper ul{list-style:disc inside;padding-left:15px}.meta-wrapper h1{font-size:1.2em}.meta-wrapper h2{font-size:1.15em}.meta-wrapper h3{font-size:1.1em}.meta-wrapper h4{font-size:1.05em}.meta-wrapper h5{font-size:1em}.meta-wrapper h6{font-size:.95em}.window-no-padding .x-panel-mc,.window-no-padding .x-panel-ml,.window-no-padding .x-panel-mr{padding:0!important}.window-no-padding .x-tab-panel-noborder{margin:0!important}.upload-error{color:#cf1124}.upload-success{color:#6cb24a}.upload-status-text{white-space:normal}.upload-thumb{float:right}.auto-width{width:auto!important}.auto-height{height:auto!important}.x-datetime-inline-editor .x-datetime-wrap{margin-top:0!important} + /* !important ensures the border radius, also when the fieldset has a class that sets it to 0 */margin:15px 0 0;overflow:visible;padding:0;position:relative}.x-fieldset .x-fieldset-header{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;margin:0 0 0 10px;padding:0 5px 0 3px;position:relative}.x-fieldset .x-fieldset-header .x-fieldset-header-text{line-height:18px}.x-fieldset .x-fieldset-bwrap .x-fieldset-body{overflow-x:hidden!important;padding:0 10px 10px}.x-fieldset.form-row-wrapper .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-fieldset#tv-input-opts-fs,.x-fieldset#tv-output-opts-fs{border:0;margin:0}.x-fieldset#tv-input-opts-fs .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset-bwrap .x-fieldset-body{padding:0}.x-fieldset#tv-input-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-form-field{font:inherit}.x-form-field.x-form-composite{margin-bottom:0!important}.x-form-field.x-form-composite .x-btn{top:1px!important}.x-static-text-field{color:inherit;font-size:inherit}.x-static-text-field.x-form-focus{border-color:#e4e4e4!important}.x-form-text{line-height:20px;min-height:20px;padding:5px}.x-form-field-wrap{background:#fff;border:1px solid #e4e4e4;border-radius:3px;max-width:100%}.x-form-field-wrap .x-form-text:not(.x-form-invalid){border:0}.x-form-field-wrap .x-form-trigger{border:0;border-radius:0 2px 2px 0;box-shadow:none;height:100%!important;padding:0;position:absolute;right:0;top:0;width:30px}.x-form-field-wrap .x-form-trigger:before{box-sizing:border-box;content:"\f078";filter:alpha(opacity=60);font-size:14px;left:50%;opacity:.8;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .25s;width:30px}.x-form-field-wrap .x-form-trigger.x-form-trigger-click:before,.x-form-field-wrap .x-form-trigger.x-form-trigger-over:before,.x-form-field-wrap .x-form-trigger:active:before,.x-form-field-wrap .x-form-trigger:hover:before{filter:alpha(opacity=100);opacity:1}.x-form-field-wrap .x-form-trigger.x-form-date-trigger:before{content:"\f133";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-time-trigger:before{content:"\f017";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-file-trigger:before{content:"\f15b";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-image-trigger:before{content:"\f1c5";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-code-trigger:before{content:"\f1c9";font-weight:400}.x-form-field-wrap.x-datetime-wrap{background:none;border:0}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time{vertical-align:top}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-invalid-msg,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-invalid-msg{white-space:normal}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-trigger:before{content:"\f133"}.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-trigger:before{content:"\f017"}.x-form-field-wrap.x-form-fileupload-wrap{overflow:visible;position:relative}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file{filter:alpha(opacity=0);min-height:20px;opacity:0;padding:5px;position:absolute;right:0;top:0;z-index:2}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-btn{border-left:1px solid #e4e4e4;border-radius:0 3px 3px 0;box-shadow:none;line-height:0;padding:7px;position:absolute;right:0;top:0;z-index:1}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-text{position:relative;z-index:3}.modx-tv-type-listbox-multiple .x-form-field-wrap{border-color:#fff}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text{border:1px solid #e4e4e4;margin:-1px}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text.x-form-focus{border-color:#999}#x-form-el-modx-user-photo .x-form-file-trigger:before{content:"\f1c5"}.x-fieldset-checkbox-toggle legend,.x-form-check-wrap{height:auto!important;line-height:18px}.x-form-label-left .x-fieldset-checkbox-toggle legend,.x-form-label-left .x-form-check-wrap{padding:7px 0}.x-form-label-top .x-fieldset-checkbox-toggle legend,.x-form-label-top .x-form-check-wrap{padding:0}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label{padding-left:1.9em}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:before{color:#ccc}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:hover:before{color:#999}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-form-check-wrap .x-fieldset-header-text,.x-form-check-wrap .x-form-cb-label{color:#515151;cursor:pointer;display:inline-block;font-weight:400;margin:0;padding-left:1.9em;position:relative;top:0}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text,.ext-ie8 .x-form-check-wrap .x-form-cb-label{padding-left:3px}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text:before,.ext-ie8 .x-form-check-wrap .x-form-cb-label:before{content:""}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before{box-sizing:border-box;content:"";font-size:18px;height:18px;left:0;padding-right:3px;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:focus:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:hover:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-form-check-wrap .x-fieldset-header-text:focus:before,.x-form-check-wrap .x-fieldset-header-text:hover:before,.x-form-check-wrap .x-form-cb-label:focus:before,.x-form-check-wrap .x-form-cb-label:hover:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:active:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-form-check-wrap .x-fieldset-header-text:active:before,.x-form-check-wrap .x-form-cb-label:active:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox,.x-fieldset-checkbox-toggle legend .x-form-radio,.x-fieldset-checkbox-toggle legend input[type=checkbox],.x-form-check-wrap .x-form-checkbox,.x-form-check-wrap .x-form-radio,.x-form-check-wrap input[type=checkbox]{cursor:pointer;height:18px;left:0;opacity:0;position:absolute;top:0;width:18px;z-index:1}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-checkbox,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-radio,.ext-ie8 .x-fieldset-checkbox-toggle legend input[type=checkbox],.ext-ie8 .x-form-check-wrap .x-form-checkbox,.ext-ie8 .x-form-check-wrap .x-form-radio,.ext-ie8 .x-form-check-wrap input[type=checkbox]{height:13px;left:auto;position:relative;top:auto;width:13px}.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:hover+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:focus+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:hover+.x-form-cb-label:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:active+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:active+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:active+.x-form-cb-label:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]+.x-fieldset-header-text:before{content:"\f0c8";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-checkbox:checked+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:checked+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:checked+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:checked+.x-fieldset-header-text:before{content:"\f14a";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio+.x-form-cb-label:before{content:"\f111";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio:checked+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:checked+.x-form-cb-label:before{content:"\f192";font-weight:400}#modx-chunk-tabs.space-before,#modx-plugin-tabs.space-before,#modx-resource-tabs .display-switch.space-before,#modx-snippet-tabs.space-before,#modx-template-tabs.space-before,#modx-tv-editor-tabs.space-before,#modx-tv-tabs .display-switch.space-before,.display-switch.space-before{margin-top:.75rem}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-chunk-tabs .x-fieldset legend [type=checkbox],#modx-chunk-tabs .x-form-check-wrap [type=checkbox],#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-plugin-tabs .x-fieldset legend [type=checkbox],#modx-plugin-tabs .x-form-check-wrap [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-snippet-tabs .x-fieldset legend [type=checkbox],#modx-snippet-tabs .x-form-check-wrap [type=checkbox],#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-template-tabs .x-fieldset legend [type=checkbox],#modx-template-tabs .x-form-check-wrap [type=checkbox],#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-editor-tabs .x-fieldset legend [type=checkbox],#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],.display-switch .x-fieldset legend [type=checkbox],.display-switch .x-form-check-wrap [type=checkbox]{left:-9999px;position:absolute}html[dir=rtl] #modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] .display-switch .x-form-check-wrap [type=checkbox]{left:unset;right:-9999px}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label{box-sizing:border-box;cursor:pointer;line-height:1;margin-left:0;padding-left:3.6em;padding-top:.2em;position:relative}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{content:"";font-size:inherit;position:absolute;transition:all .2s ease}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{background:#e4e4e4;border-radius:1.2em;height:1.6em;left:0;top:0;width:3em;z-index:10}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after{background-color:#fff;border-radius:50%;height:1.3em;left:.1em;margin-top:-.65em;top:.8em;width:1.3em;z-index:11}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after{left:1.6em;top:.8em}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before{background-color:#6cb24a;border-color:#6cb24a}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before{background-color:#cf1124;border-color:#cf1124}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before{background-color:#f0b429;border-color:#f0b429}.switch-container{padding-top:1.6rem}.x-form-check-group,.x-form-radio-group{overflow:hidden;padding-bottom:.5em}.x-form-check-group .x-column .x-form-item:first-child,.x-form-radio-group .x-column .x-form-item:first-child{padding:4px 0 0}.x-form-check-group.aggregated-group,.x-form-radio-group.aggregated-group{padding-left:1em;padding-right:1em}.x-superboxselect{margin:0;outline:0;padding:0 5px 5px;position:relative;white-space:normal;width:auto!important}.ext-strict .x-toolbar .x-small-editor .x-superboxselect,.x-superboxselect{height:auto!important}.x-superboxselect ul{cursor:text;min-height:20px;overflow:visible;padding-right:61px;white-space:normal;width:auto!important}.x-toolbar .x-superboxselect ul{margin:-5px 0 0 -5px}.x-superboxselect ul li{margin:5px 5px 0 0;padding:0}.x-superboxselect ul li.x-superboxselect-item{cursor:default;font-size:12px;padding:4px 18px 4px 4px!important;position:relative}.x-superboxselect ul li.x-superboxselect-item.x-superboxselect-item-focus{background-color:#234368;box-shadow:0 0 0 1px #234368;color:#fff}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close{border:0;color:inherit;cursor:pointer;display:inline-block;filter:alpha(opacity=60);height:100%;opacity:.6;outline:0;padding:0;position:absolute;right:0;top:0;transition:opacity .25s;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before{box-sizing:border-box;color:inherit;content:"\f00d";font-size:14px;margin-top:-7px;position:absolute;right:0;text-align:center;top:50%;vertical-align:middle;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:focus,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:hover{filter:alpha(opacity=100);opacity:1}.x-superboxselect ul li.x-superboxselect-input{display:inline-block}.x-superboxselect ul li.x-superboxselect-input input{background:none;border:0;line-height:20px;outline:0}.x-superboxselect.x-superboxselect-stacked li{box-sizing:border-box;margin:5px 0 0;width:100%}.x-superboxselect .x-superboxselect-btns{height:100%;overflow:visible;position:absolute;right:0;top:0;width:61px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-expand{border-radius:0;right:31px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear{border-left:1px solid #e4e4e4}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before{content:"\f00d"}.inline-form{border:0;padding:15px 15px 0}.inline-form label{color:#777;display:block;font-weight:700;margin-bottom:2px}.inline-form input[type=text],.inline-form textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;position:relative;width:97%}.inline-form input[type=text]{font-size:13px;height:20px!important;padding:5px}.modx-tv-description{color:#515151;font-size:10px;line-height:1.2;margin-top:2px!important}.modx-tv-reload-btn{float:right;position:absolute;right:19px;z-index:10}.modx-tv-reload-btn div{z-index:10}.modx-tv-th label{cursor:pointer}.modx-tv-th .tv-description{color:#515151;font-size:11px;font-weight:400}.x-editor .x-form-check-wrap{background-color:#fff}.x-grid-editor .x-form-field-wrap{background:#f6f2f7 url(../images/modx-theme/form/combo-bck.png) repeat-x scroll 0 100%}.x-grid-editor .x-form-field-wrap input{background-color:initial!important}.x-grid-editor .x-form-field-wrap img{background-color:#fff;background-image:url(../images/modx-theme/form/trigger.png)}.x-form-grow-sizer,.x-form-invalid-msg{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-invalid-msg{color:#cf1124;margin-top:2px;min-width:95%;position:relative}.x-form-invalid-msg:before{color:inherit;content:"\f071";left:3px;position:absolute;top:3px}.x-form-empty-field{color:#515151}.x-grid3 .x-small-editor .x-form-field-wrap,.x-grid3 .x-small-editor .x-form-text{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin-top:7px;padding:2px 5px}.x-grid3 .x-small-editor .x-form-field-wrap .x-form-text,.x-grid3 .x-small-editor .x-form-text .x-form-text{margin:0;padding:0}.x-grid3 .x-small-editor .x-form-field-wrap{overflow:hidden}.x-combo-list{border:0;border-radius:3px;overflow:visible}.x-combo-list .x-combo-list-inner{background-color:#fff;border:1px solid #999;border-radius:3px;margin-left:-1px;width:100%!important}.x-combo-list .x-combo-list-item{border:0!important;border-bottom:1px solid #e4e4e4!important;color:#515151;min-height:18.2px;padding:6px 8px}.x-combo-list .x-combo-list-item:last-child{border-bottom-color:#fff!important}.x-combo-list .x-combo-list-item.x-combo-selected{background-color:#e4e4e4;border:0!important;border-bottom:1px solid #e4e4e4!important;color:#1b3451}.x-combo-list .x-combo-list-item.x-combo-list-item-grouped{padding:6px 14px}.x-combo-list .x-combo-list-item .x-combo-list-title{display:block;font-weight:700;margin:0 0 5px}.x-combo-list .x-combo-list-group{border-bottom:1px solid #e4e4e4;color:#515151;font-weight:700;padding:6px 8px}.x-combo-list .x-toolbar{border:0;border-radius:0 0 3px 3px;box-shadow:0 0 0 1px #234368;margin-top:-1px;position:relative}.x-combo-list .x-toolbar .x-toolbar-ct{padding:5px 0 15px}.x-combo-list .x-toolbar .x-toolbar-left table{margin:0 auto}.x-combo-list .x-toolbar .x-toolbar-cell{display:inline-block}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn,.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#0000;box-shadow:none;font-size:10px;line-height:16px;margin-right:2px;min-height:16px;padding:2px}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn{padding:1px;transition:color .25s}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-over,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:focus,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:hover{color:#234368}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-click,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:active{color:#1b3451}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-item-disabled{color:#515151;opacity:.4}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn button:before{left:0;line-height:20px;right:0;top:0}.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#fbfbfb;width:23px}.x-combo-list .x-toolbar .xtb-text{font-size:10px;line-height:1;margin:0 auto;padding:0;text-align:center}.x-combo-list .x-toolbar .x-toolbar-cell:first-child .x-btn{margin-left:1px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{display:none;left:0;position:absolute;right:0;top:2px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{bottom:4px;display:inline-block;left:0;position:absolute;right:0;top:auto}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .x-btn{margin-right:0}.x-combo-list .x-toolbar .x-toolbar-cell:last-child{opacity:0;transition:opacity .25s}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn{bottom:2px;font-size:12px;line-height:1;margin:0;opacity:.4;padding:0;position:absolute;right:1px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn:hover{opacity:1}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button{height:16px;width:16px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button:before{font-size:12px}.x-combo-list .x-toolbar:hover .x-toolbar-cell:last-child{opacity:1}.x-combo-list .x-resizable-handle-southeast{bottom:1px;right:3px}.x-combo-list.modx-superboxselect .x-combo-list-inner{margin-left:0}.x-combo-list-hd{background-image:url(../images/modx-theme/layout/panel-title-light-bg.gif);border-bottom-color:#bcbcbc;color:#464646}.x-combo-list-small{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-date-mp,.x-date-picker{background-color:#fbfbfb}.x-date-mp .x-btn,.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-btn,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{border:0;margin:0 0 0 7px;padding:5px 10px}.x-date-mp .x-btn:first-child,.x-date-mp .x-date-mp-cancel:first-child,.x-date-mp .x-date-mp-ok:first-child,.x-date-picker .x-btn:first-child,.x-date-picker .x-date-mp-cancel:first-child,.x-date-picker .x-date-mp-ok:first-child{margin:0}.x-date-mp .x-btn button,.x-date-mp .x-date-mp-cancel button,.x-date-mp .x-date-mp-ok button,.x-date-picker .x-btn button,.x-date-picker .x-date-mp-cancel button,.x-date-picker .x-date-mp-ok button{font-size:11px;font-style:normal;margin:0}.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{height:16px}.x-date-middle{padding:5px 3px}.x-date-left a,.x-date-mp-ybtn a.x-date-mp-next,.x-date-mp-ybtn a.x-date-mp-prev,.x-date-right a{display:inline-block;filter:alpha(opacity=60);margin:0 auto;opacity:.6;position:relative;transition:opacity .25s}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before{box-sizing:border-box;color:#234368;content:"";font-size:18px;height:18px;left:0;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-date-left a:hover,.x-date-mp-ybtn a.x-date-mp-next:hover,.x-date-mp-ybtn a.x-date-mp-prev:hover,.x-date-right a:hover{filter:alpha(opacity=100);opacity:1}.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-right a:before{content:"\f0da";left:auto;right:0}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-prev:before{content:"\f0d9"}.x-date-inner{margin:0 auto}.x-date-inner th{border-bottom-color:#e4e4e4;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-date-inner td,.x-date-mp td{background-color:#fff;border:0;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:1px}.x-date-inner a,td.x-date-mp-month a,td.x-date-mp-year a{border-radius:3px;color:#999;font:inherit;font-weight:700}td.x-date-mp-month a,td.x-date-mp-year a{margin:0 3px}.x-date-inner .x-date-disabled a:hover,.x-date-inner .x-date-nextday a:hover,.x-date-inner .x-date-prevday a:hover,.x-date-inner a:hover,td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{background-color:#dcdcdc;color:#515151}.x-date-inner .x-date-disabled a{background-color:#e4e4e4;color:#999}.x-date-inner .x-date-active{color:#000}.x-date-inner .x-date-today a{border-color:#234368}.x-date-inner span{font-style:normal}.x-date-inner .x-date-active span,.x-date-inner .x-date-selected span{font-weight:700}.x-date-inner .x-date-selected a,td.x-date-mp-sel a{background-color:#234368;border-color:#fff;color:#fff}.x-date-inner .x-date-nextday a,.x-date-inner .x-date-prevday a{color:#dcdcdc}.x-date-bottom,.x-date-mp-btns{border-top:1px solid #e4e4e4;padding:5px}.x-date-bottom td,.x-date-mp-btns td{background-color:initial;border-top:1px solid #e4e4e4}td.x-date-mp-sep{border-right:1px solid #e4e4e4}.x-date-mmenu{background-color:#eee!important}.x-date-mmenu .x-menu-item{color:#000;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.radio-version .x-form-check-wrap .x-form-cb-label{display:block}.radio-version .x-form-check-wrap .x-form-cb-label .changelog{float:right}.x-form-template-picker .x-form-template-picker-search{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-radio-group{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;height:194px;overflow:auto}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{border-bottom:1px solid #e4e4e4}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category:last-child,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item:last-child{border-bottom:0}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label{display:block}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label:before,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label:before{display:none}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover{background-color:#e4e4e4;color:#1b3451}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-cb-label{padding:10px 14px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-cb-label{font-weight:700!important;padding:10px 8px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-item-disabled{filter:alpha(opacity=100);opacity:1;-moz-opacity:1}.x-form-template-preview{background-color:#fff;background:url(../images/tp-no-preview.png) no-repeat 50%;border:1px solid #e4e4e4;border-radius:3px;height:236px;overflow:hidden}.x-form-template-preview .x-panel-body,.x-form-template-preview .x-panel-bwrap{height:100%;position:relative}.x-form-template-preview .x-form-template-preview-image{height:100%;-o-object-fit:cover;object-fit:cover}.x-form-template-preview .x-form-template-preview-desc{background-color:#000c;bottom:0;color:#fff;left:0;padding:10px 20px;position:absolute;right:0}#modx-tv-tabs{width:100%}.x-tab-panel-noborder{border:1px solid #e2e3de;margin:20px 0;overflow:visible}.x-tab-panel-noborder .x-tab-panel-body-noborder{background-color:#fff;border-radius:3px}.x-tab-panel-footer,.x-tab-panel-header{border:0;position:relative}.x-tab-panel-header ul.x-tab-strip{background-color:initial!important;border:0;margin:0;position:relative;top:1px}.x-tab-panel-footer-plain .x-tab-strip-spacer,.x-tab-panel-header-plain .x-tab-strip-spacer{border:none;height:0}.x-tab-panel .x-tab-panel{padding-top:18px}.x-tab-panel .x-tab-panel.vertical-tabs-panel{padding-top:0}.x-tab-panel .x-tab-panel .x-tab-strip-wrap .x-tab-strip{background-color:#fbfbfb!important}.x-tab-panel-header,.x-tab-strip{padding-left:0}.x-tab-panel-bwrap{border-radius:3px;overflow:visible}.x-tab-panel-bwrap .x-tab-panel-bwrap{box-shadow:none}ul.x-tab-strip li{background-color:initial;border-top-left-radius:3px;border-top-right-radius:3px;color:#53595f;cursor:pointer;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:2.2;margin-left:0;padding:0 12px;position:relative;z-index:5}html[dir=rtl] ul.x-tab-strip li{float:right}ul.x-tab-strip li:hover{background-color:#e4e4e4;color:#000}ul.x-tab-strip li.x-tab-strip-active{background-color:#fff;color:#234368;cursor:default}.vertical-tabs-header ul.x-tab-strip li.x-tab-strip-active{border-radius:0}ul.x-tab-strip li.x-tab-strip-active:hover{background-color:#fff}ul.x-tab-strip li.x-tab-edge{height:0;visibility:hidden}.x-tab-panel,.x-tab-panel-header,.x-tab-strip-wrap{border:none;overflow:visible}.x-tab-strip-wrap{margin:0;overflow:hidden;padding:2px 0 0}.x-tab-strip-closable{padding-right:15px!important}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/modx-theme/tabs/tab-close.gif);right:2px}ul.x-tab-strip-top li:first-child{margin-left:0}ul.x-tab-strip-bottom{background-color:#f4f4f4;border-top-color:#dfdfdf}ul.x-tab-strip-bottom .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-left-bg.gif)}ul.x-tab-strip-bottom .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-left-bg.gif)}.x-tab-panel-body{background-color:#fff;border:0;overflow:visible}.x-tab-scroller-left,.x-tab-scroller-right{border:0}.x-tab-scroller-left:before,.x-tab-scroller-right:before{box-sizing:border-box;color:#515151;content:"";filter:alpha(opacity=100);font-size:28px;margin-top:-20px;opacity:1;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:18px}.x-tab-scroller-left-over:before,.x-tab-scroller-right-over:before{color:#234368}.x-tab-scroller-left-disabled,.x-tab-scroller-right-disabled{cursor:default}.x-tab-scroller-left-disabled:before,.x-tab-scroller-right-disabled:before{color:#515151;filter:alpha(opacity=100);opacity:.4}.x-tab-scroller-left:before{content:"\f0d9"}.x-tab-scroller-right:before{content:"\f0da"}.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar{border-color:#dfdfdf}.x-tab-panel-body-noborder .x-panel-body-noheader:first-child{border-top:0}.x-tab-panel-bbar-noborder .x-toolbar{border-top-color:#0000}.x-tab-panel-tbar-noborder .x-toolbar{border-bottom-color:#0000}.vertical-tabs-panel{background-color:#fff;margin:0;overflow:hidden}.vertical-tabs-panel.wrapped{border:1px solid #e4e4e4}.vertical-tabs-panel .vertical-tabs-header{background:#fff!important;border-right:1px solid #e4e4e4!important;float:left;margin-bottom:-10000px;padding-bottom:10000px!important;width:168px!important}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap{background-color:initial;display:inline-block;line-height:0;margin:0;padding:0;width:auto!important}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip{border:0;display:inline-block;top:0;width:auto}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{border-bottom:1px solid #e4e4e4;border-right:1px solid #e4e4e4;color:#515151;float:none;line-height:1;margin:0;overflow:hidden;padding:10px 15px;transition:background-color .25s,color .25s}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{font-size:12px;padding:8px}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li:hover{background:#fff}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{background:#fff;border-color:#234368 #fff #234368 #234368;box-shadow:none;color:#234368;width:168px}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge{height:0;visibility:hidden}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge .x-tab-strip-text{display:none}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li .x-tab-strip-text{line-height:1.4;padding:2px 0;white-space:pre-wrap}.vertical-tabs-panel .vertical-tabs-header h4{background:#fff;border-bottom:1px solid #e4e4e4;color:#53595f;font-size:16px;padding:15px 0 15px 15px}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-spacer{display:none}.vertical-tabs-panel .x-tab-panel-bwrap{box-shadow:none}.vertical-tabs-panel .x-tab-panel-bwrap .x-tab-panel-body{border-top:0;width:auto!important}.vertical-tabs-panel .x-tab-panel-bwrap .vertical-tabs-body{border:0;padding:15px 20px 15px 15px}.tvs-wrapper.below-content{border-radius:3px;margin:1rem}.tvs-wrapper.below-content .vertical-tabs-panel{border-radius:3px}@media screen and (max-width:960px){.tvs-wrapper.below-content{margin:0}}.window-vtabs .x-panel-mr{padding-right:0}.window-vtabs .vertical-tabs-panel{margin:0;width:100%!important}#modx-split-wrapper .x-border-layout-ct{background:#0000}#modx-leftbar-tabs-xcollapsed{display:none!important}#modx-leftbar{background-color:#fff;min-width:288px;z-index:0}@media screen and (min-width:961px){#modx-leftbar{max-width:50%}}#modx-leftbar .x-toolbar{border:0;padding:0!important}#modx-header{background:#234368;height:100%;max-width:70px;position:absolute;z-index:2}#modx-navbar{display:flex;flex-direction:column;font-weight:700;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:100%;padding:0 5px;z-index:20}#modx-navbar .icon{color:#fff;font-size:20px;line-height:20px;vertical-align:middle}#modx-navbar a,#modx-navbar li{background:#0000;margin:0;padding:0;position:relative;text-align:center;width:100%}#modx-navbar a{color:#fff;cursor:pointer;display:block;font-size:10px;line-height:12px;text-decoration:none}#modx-navbar a .description{font-size:9px;opacity:.7}#modx-navbar a .description,#modx-navbar a .icon,#modx-navbar a .label{display:block;width:100%}#modx-navbar li a:hover{opacity:.7}#modx-navbar #modx-user-menu a .description,#modx-navbar #modx-user-menu a .label{display:none}#modx-navbar #modx-user-menu a #user-username{align-self:center;max-width:7ch;overflow:hidden;padding-top:.25rem;text-overflow:ellipsis;white-space:nowrap}#modx-navbar #modx-leftbar-trigger a,#modx-navbar #modx-manager-search-icon a,#modx-navbar #modx-user-menu a{padding:12px 0}#modx-navbar #modx-topnav{list-style:none;margin:0;padding:0}#modx-navbar #modx-topnav .top:not(#modx-manager-search-icon){border-top:1px solid #ffffff1a}#modx-navbar #modx-topnav>li:not(#modx-home-dashboard):not(#modx-manager-search-icon):not(#modx-leftbar-trigger)>a{display:block;padding:12px 0;position:relative}#modx-navbar #modx-user-menu{margin-top:auto}#modx-navbar #modx-user-menu #user-avatar img{border-radius:20px;display:block;height:40px;margin:auto;width:40px}#modx-navbar #modx-user-menu #limenu-user a{display:flex;flex-direction:column;justify-content:center}#modx-navbar #modx-home-dashboard{border-radius:3px;height:40px;line-height:40px;padding:10px;width:40px}#modx-navbar #modx-site-info{font-size:10px}#modx-navbar #modx-site-info .full_appname,#modx-navbar #modx-site-info .site_name{color:#fff}#modx-navbar #modx-site-info>.info-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#modx-leftbar-trigger{transition:all .2s ease}#modx-leftbar-trigger .icon:before{content:"\f060"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f061"!important}#modx-footer .modx-subnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;box-sizing:border-box;display:block;list-style:none;opacity:0;position:absolute;transition:all .15s ease;visibility:hidden;z-index:10000}#modx-footer .modx-subnav li{background:#fff;border-radius:3px;display:block;margin:0;padding:0;position:relative}#modx-footer .modx-subnav li:not(:first-child){border-top:1px solid #e4e4e4}#modx-footer .modx-subnav li:hover:after{border-right-color:#e4e4e4}#modx-footer .modx-subnav li.sub:after{color:#999;content:"\f0da";font-size:14px;margin-top:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}#modx-footer .modx-subnav li a{background-color:#fff;border-radius:3px;color:#515151;cursor:pointer;display:block;font-weight:700;line-height:1.5;margin:0;padding:8px 15px;text-decoration:none;text-shadow:none;width:270px}#modx-footer .modx-subnav li a .icon{display:inline-block;font-size:18px;opacity:.07;padding-left:5px}#modx-footer .modx-subnav li a span{color:#999;display:block;float:none;font-size:12px;font-weight:400;line-height:1.3;margin-top:6px;width:100%}#modx-footer .modx-subnav li a:hover{background:#e4e4e4;border-bottom-color:#e4e4e4;border-top-color:#e4e4e4;color:#53595f}#modx-footer .modx-subnav li a:hover .description{color:#707070}#modx-footer .modx-subnav.active{opacity:1;visibility:visible}#modx-footer .modx-subnav .modx-subsubnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;list-style:none;position:absolute;z-index:24}#modx-footer .modx-subnav .modx-subsubnav-arrow{border:8px solid #0000;border-right-color:#fff;content:" ";display:none;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10010}#modx-footer .modx-subnav .modx-subsubnav.active+.modx-subsubnav-arrow{display:block}@media screen and (min-width:961px){#modx-footer .modx-subnav .modx-subsubnav{opacity:0;visibility:hidden}#modx-footer .modx-subnav .modx-subsubnav.active{opacity:1;visibility:visible}}#modx-footer .modx-subnav-arrow{border:12px solid #0000;border-right-color:#fff;content:" ";margin-top:-6px;pointer-events:none;position:absolute;right:100%}#modx-footer #language .modx-subsubnav{max-height:calc(100vh - 12px);overflow-x:hidden;overflow-y:auto}@media screen and (max-width:960px){#modx-header{height:auto!important;min-width:100%;position:relative}#modx-navbar{flex-direction:row;flex-wrap:wrap}#modx-navbar #modx-headnav{order:1;width:50%}#modx-navbar #modx-headnav a{line-height:normal!important}#modx-navbar #modx-headnav img{max-width:35px}#modx-navbar #modx-topnav{order:0;width:100%}#modx-navbar #modx-user-menu{flex-direction:row-reverse;flex-wrap:nowrap;margin-top:0;order:2;width:50%}#modx-navbar>ul{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}#modx-navbar>ul>li{flex-basis:50px}#modx-navbar #modx-site-info{display:none}#modx-navbar #modx-home-dashboard{margin:0;padding:5px}#modx-leftbar-trigger .icon{padding:3px 4px}#modx-leftbar-trigger .icon:before{content:"\f062"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f063"!important}#modx-footer .modx-subnav{min-width:300px}#modx-footer .modx-subnav .description{display:none}#modx-footer .modx-subnav li{border-radius:0}#modx-footer .modx-subnav li.sub:after{display:none}#modx-footer .modx-subnav li a{white-space:nowrap;width:auto}#modx-footer .modx-subnav .modx-subsubnav{box-shadow:none;display:block;left:auto;max-height:none!important;overflow-y:initial!important;position:static}#modx-footer .modx-subnav .modx-subsubnav li>a{margin-left:1rem}#modx-footer .modx-subnav-arrow{display:none}#modx-footer .modx-subnav{max-height:calc(100vh - 109px);overflow-x:hidden;overflow-y:auto}}@media (max-height:520px){#modx-footer .modx-subnav .description{display:none}}#modx-manager-search{background:#fff;border-radius:3px 3px 0 0;height:38px;min-width:100px;padding:10px 10px 5px}#modx-manager-search .x-form-text{background:none}#modx-manager-search .x-form-field-wrap{background-image:none;color:#565353;font-size:12px;outline:none!important}#modx-manager-search .x-form-field-wrap .x-form-text{color:#515151;font-weight:400;letter-spacing:0;text-shadow:none}#modx-manager-search .x-form-field-wrap .x-form-empty-field{color:#6a747a}#modx-manager-search .x-form-field-wrap .x-form-trigger{display:none}.modx-manager-search-results{background:#e4e4e4;border:1px solid #e4e4e4;border-radius:0 0 3px 3px;box-shadow:0 4px 10px 0 #0003;box-sizing:border-box;height:auto!important;position:relative;width:402px!important}.modx-manager-search-results .loading-indicator{background:none;color:#515151;font-size:14px;margin:10px 0;text-align:center}.modx-manager-search-results .loading-indicator:before{content:"\f110";margin-right:5px}.modx-manager-search-results .x-combo-list-inner{background:#fff;border:0;margin:0;overflow:auto;width:100%!important}@media screen and (max-width:960px){.modx-manager-search-results .x-combo-list-inner{height:auto!important;line-height:4em}.modx-manager-search-results .x-combo-list-inner .section>*{padding-bottom:.5em;padding-top:.5em}}.modx-manager-search-results .section{border-left:1px solid #ededed;font-size:12px;line-height:12px;margin-left:100px;position:relative;width:auto}.modx-manager-search-results .x-combo-list-item,.modx-manager-search-results h3{color:#515151;line-height:18px;margin:0;padding:4px 6px}.modx-manager-search-results h3{color:#53595f;font-size:11px;font-weight:400;left:-108px;line-height:11px;position:absolute;text-align:right;top:0;width:95px}.modx-manager-search-results a{color:inherit;cursor:pointer;display:inline-block;padding-left:20px;position:relative;text-decoration:none}.modx-manager-search-results i{color:#234368;left:0;position:absolute;top:4px}.modx-manager-search-results em{font-style:normal;opacity:.7}.modx-manager-search-results .x-combo-list-item{overflow:visible;white-space:normal}.modx-manager-search-results .x-combo-list-item a{display:block}.modx-manager-search-results .x-combo-list-item.x-combo-selected,.modx-manager-search-results .x-combo-list-item:hover{background-color:#e4e4e4;border:0;margin-left:0;z-index:10}.modx-manager-search-results .x-combo-list-item.x-combo-selected h3,.modx-manager-search-results .x-combo-list-item:hover h3{left:0}.modx-manager-search-results .x-combo-list-item.x-combo-selected p,.modx-manager-search-results .x-combo-list-item:hover p{border-left-color:#0000}.modx-manager-search-results .x-combo-list-item.x-combo-selected a,.modx-manager-search-results .x-combo-list-item:hover a{color:#515151}.modx-manager-search-results .icon-user{background-image:none!important}.breadcrumbs .panel-desc{margin-top:0}.crumb_wrapper{background:#fbfbfb;border-bottom:1px solid #e4e4e4;border-top:1px solid #e4e4e4;margin-top:15px}.crumb_wrapper .crumbs{height:34px;overflow:hidden}.crumb_wrapper .crumbs li{color:#53595f;float:left;font-size:12px;font-weight:400;line-height:12px;padding:0 0 0 20px;position:relative;z-index:1}.crumb_wrapper .crumbs li.first{padding:0}.crumb_wrapper .crumbs li.first:before{content:"\f015";display:inline-block;font-size:20px;left:0;line-height:34px;position:absolute;text-align:center;text-indent:0;top:0;z-index:2}#packages-breadcrumbs .crumb_wrapper .crumbs li.first:before{content:"\f1b2"}.crumb_wrapper .crumbs li.first:hover:before{color:#fff}.crumb_wrapper .crumbs li.first:hover{background-color:#515151}.crumb_wrapper .crumbs li.first .root{background-color:initial;box-sizing:initial;display:inline-block;line-height:12px;margin:0;padding:12px;text-indent:-999em;width:35px;z-index:3}.crumb_wrapper .crumbs li.first .root:before{display:none}.crumb_wrapper .crumbs li.first .root:hover{background-color:initial}.crumb_wrapper .crumbs li:hover button,.crumb_wrapper .crumbs li:hover span,.crumb_wrapper .crumbs li:hover span:after{background-color:#515151;color:#fff}.crumb_wrapper .crumbs li:hover button:after,.crumb_wrapper .crumbs li:hover span:after{border-color:#fbfbfb #fbfbfb #515151 #515151;border-style:solid;border-width:1px}.crumb_wrapper .crumbs li:hover button:before,.crumb_wrapper .crumbs li:hover span:before{background-color:#515151}.crumb_wrapper .crumbs li:hover+li button:before,.crumb_wrapper .crumbs li:hover+li span:before{border-left-color:#515151}.crumb_wrapper .crumbs li button{background-color:initial;border:0;color:#53595f;cursor:pointer;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;line-height:1;text-decoration:none}.crumb_wrapper .crumbs li span{background-color:#fbfbfb}.crumb_wrapper .crumbs li button,.crumb_wrapper .crumbs li span{display:inline-block;margin:0 0 0 1px;padding:11px 13px 11px 15px;position:relative}.crumb_wrapper .crumbs li button:before,.crumb_wrapper .crumbs li span:before{background-color:initial;border-bottom:50px solid #0000;border-left:30px solid #fbfbfb;border-top:50px solid #0000;content:"";display:inline-block;height:0;left:-33px;margin-top:-50px;padding-right:3px;position:absolute;top:50%;transform:scale(.99999);width:0;z-index:-1}.crumb_wrapper .crumbs li button:after,.crumb_wrapper .crumbs li span:after{background-color:#fbfbfb;border:1px solid #dcdcdc;border-bottom:0;border-left:0;border-radius:3px;content:"";display:inline-block;height:34px;position:absolute;right:-22px;top:0;transform:scaleX(.6) rotate(45deg);width:34px;z-index:-1}.x-toolbar{background-color:#f7f7f7;background-image:none;border-color:#dfdfdf}.x-toolbar .x-toolbar-cell label,.x-toolbar .xtb-text{margin:0 5px 0 7px;padding:0}.x-toolbar .x-item-disabled{filter:alpha(opacity=60);opacity:.6}.x-toolbar td.x-toolbar-cell:first-of-type .xtb-text{margin-left:0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:0}.x-toolbar .x-btn-group-header{line-height:1}.x-toolbar em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-toolbar .x-btn-click em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active em.x-btn-split-bottom,.x-toolbar .x-btn-over em.x-btn-split-bottom,.x-toolbar .x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.ext-ie .x-toolbar-cell .x-form-field-wrap{height:30px}.x-tbar-page-first{background-image:url(../images/modx-theme/grid/page-first.png)!important}.x-tbar-loading{background-image:url(../images/modx-theme/grid/refresh.png)!important}.x-tbar-page-last{background:none!important;position:relative}.x-tbar-page-last:before{content:"\f04e";left:1px;right:auto;top:1px}.x-tbar-page-next{background:none!important;position:relative}.x-tbar-page-next:before{content:"\f0da";font-size:18px;left:1px;line-height:110%;right:auto}.x-tbar-page-prev{background:none!important;position:relative}.x-tbar-page-prev:before{content:"\f0d9";font-size:18px;left:auto;line-height:110%;right:1px}.x-tbar-loading{background:none!important;position:relative}.x-tbar-loading:before{bottom:auto;content:"\f01e";top:1px}.x-tbar-page-first{background:none!important;position:relative}.x-tbar-page-first:before{content:"\f04a";left:auto;right:1px;top:1px}.x-paging-info{color:#444}.x-toolbar-more-icon{background-image:url(../images/modx-theme/toolbar/more.gif)!important}.x-panel-bbar{padding-top:10px}.modx-browser-rte-buttons .x-panel-bbar{background-color:#fff;border-top:1px solid #fff;padding:5px}.modx-browser-rte-buttons .x-panel-bbar .x-toolbar-layout-ct{width:auto!important}.x-panel-bbar .x-toolbar{background-color:initial;border:0;overflow:hidden;padding:2px 0}.x-panel-bbar .x-toolbar .x-form-text{padding:5px 10px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number,.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-size{width:32px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number{margin-right:3px}.x-panel-bbar .x-toolbar .x-btn{margin-right:10px;padding:8px 13px}.modx-browser-rte .x-panel-bbar .x-toolbar .x-btn{margin-right:0;padding:10px 15px}.x-panel-bbar .x-toolbar .xtb-text{margin:0 3px 0 0}.x-panel-tbar{overflow:visible;padding-bottom:4px}.x-panel-tbar .x-toolbar{border:0;overflow:visible;padding:5px 0}.x-panel-tbar .x-toolbar td{vertical-align:bottom}.x-panel-tbar .x-toolbar input.filter-query{bottom:-1px;position:relative}.x-panel-mc .x-panel-tbar .x-toolbar{background-image:none;border:0;padding:15px 0 7px}.x-panel-tbar-noheader .x-toolbar{background-color:initial;background-image:none;border:0;padding:5px 0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{border-radius:3px}.x-html-editor-tb .x-btn-text{background-image:url(../images/modx-theme/editor/tb-sprite.gif)}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{background-color:initial;border-bottom-color:#0000}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-top-color:#0000}#modx-leftbar .x-tab-panel-noborder{margin:0 8px}#modx-leftbar .x-tab-panel-bwrap{border-radius:0 0 3px 3px;position:relative;z-index:1}#modx-leftbar .x-tab-panel-bwrap .x-tab-panel-body-noborder{background:#f1f1f1;border-radius:0 0 3px 3px}@media screen and (max-width:960px){#modx-leftbar #modx-leftbar-tabpanel{margin:0 auto;padding:.5em;width:auto!important}#modx-leftbar{box-shadow:none;height:auto!important;left:auto!important;margin:0 auto 10px;position:relative!important;top:auto!important;width:100%!important}#modx-leftbar #modx-leftbar-header{display:none}#modx-leftbar .x-plain-body{height:auto!important;width:100%!important}}#modx-leftbar .x-panel-tbar{padding:0}#modx-leftbar .x-toolbar{padding:4px 5px 2px 0}#modx-leftbar .x-tree-root-ct{padding:6px}#modx-leftbar .x-tree .x-panel-body{background:#fff;border-radius:0}#modx-tree-usergroup .x-toolbar-left-row{display:flex;flex-wrap:wrap}#modx-resource-tree-tbar .x-toolbar-left .x-btn .tree-new-resource,#modx-tree-element .x-toolbar-left .x-btn .tree-new-template{margin-left:16px}#modx-split-wrapper #modx-leftbar-tabs-xcollapsed,#modx-split-wrapper .x-layout-split{margin-left:-70px}.x-layout-split{overflow:visible;width:8px;z-index:2}.x-layout-split:hover{background:#999}#modx-leftbar-tabs-xcollapsed .x-layout-mini{left:0}#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border-left:5px solid #515151;border-right:0}@media screen and (max-width:960px){#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border:none}}#modx-leftbar-tabs-xcollapsed .x-layout-mini:hover:after{border-left-color:#234368}.modx-tree{padding:0}#modx-file-tree .modx-tree:first-child{padding-top:4px}.x-tree-arrows .x-tree-elbow-end-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-plus{background:none}.x-tree-arrows .x-tree-elbow-end-minus:hover,.x-tree-arrows .x-tree-elbow-end-plus:hover,.x-tree-arrows .x-tree-elbow-minus:hover,.x-tree-arrows .x-tree-elbow-plus:hover{background:#d9d9d9;border-radius:50%}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before{background:#0000 0 0;content:"\f0da";display:inline-block;margin:0;padding-left:4px;padding-right:4px;text-align:center;width:10px}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-minus:before{content:"\f0d7"}.x-tree-node-el{background-position:5px;background-repeat:no-repeat;color:#515151;font:normal 14px/2.25 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 8px}.x-tree-node-el.is_folder{background:#0000}.x-tree-node-el .x-btn{box-shadow:none}.x-tree-node-el .icon{display:inline-block;font-size:1.15em;line-height:.75em;vertical-align:-15%;width:1em}.x-tree-node-el a span{padding-left:7px}.x-tree-node-el a span span{padding-left:0}.x-tree-node-el .icon-plus-circle,.x-tree-node-el .icon-refresh{font-size:1em;vertical-align:0}.unpublished,.unpublished a span,.unpublished a span i.icon,.unpublished a span i.icon-large,.unpublished i.icon,.unpublished i.icon-large{color:#b3b3b3!important;font-style:normal}.hidemenu,.hidemenu a span{color:#999;font-style:italic}.hidemenu a span i.icon,.hidemenu a span i.icon-large,.hidemenu i.icon,.hidemenu i.icon-large{color:#999;font-style:normal}.deleted{color:#af5a6280!important}.deleted i.icon,.deleted i.icon-large{color:#af5a6280!important;font-style:normal}.deleted a span{color:#af5a6280!important;text-decoration:line-through}.element-node-disabled a span{color:#aaa}.x-tree-node{background:#fff;color:#999;position:relative}.x-tree-node .element-node-disabled a span,.x-tree-node .element-node-disabled i.icon,.x-tree-node .x-tree-node-disabled a span,.x-tree-node .x-tree-node-disabled i.icon{color:#aaa}.element-node-locked a span{font-style:inherit}.modx-tree-node-tool-ct{bottom:0;line-height:1.8;position:absolute;right:6px;top:0}html[dir=rtl] .modx-tree-node-tool-ct{left:6px;right:unset}.modx-tree-node-tool-ct .x-btn:focus,.modx-tree-node-tool-ct .x-btn:hover{color:#6cb24a!important}#modx-gr-tree-resource .modx-tree-node-tool-ct,#modx-ih-resource-tree .modx-tree-node-tool-ct{display:none}.x-tree-node-el .modx-tree-node-btn-create{bottom:0;line-height:34px;opacity:0;overflow:hidden;position:absolute;right:6px;top:0;transition:opacity .4s ease-in}html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create{left:6px;right:unset}.x-tree-node-el .modx-tree-node-btn-create .x-btn{color:#515151;opacity:.4;transition:opacity .2s ease-in-out,color .2s ease-in-out}.x-tree-node-el .modx-tree-node-btn-create .x-btn:focus,.x-tree-node-el .modx-tree-node-btn-create .x-btn:hover{color:#6cb24a;opacity:1}#modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create,#modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create{display:none}.x-tree-node-el:focus .modx-tree-node-btn-create,.x-tree-node-el:hover .modx-tree-node-btn-create{opacity:1}.tree-pseudoroot-node.x-tree-node-el{background-color:#f1f1f1;font:500 14px/3 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 5px;position:relative}.tree-pseudoroot-node.x-tree-node-el>.icon,.tree-pseudoroot-node.x-tree-node-el a span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct{filter:alpha(opacity=50);line-height:3;opacity:.5}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct .x-btn{margin-left:2px}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-collapsed{border-bottom:1px solid #e4e4e4}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded>.icon,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-over{background-color:#e4e4e4;color:#53595f}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct{background:#fbfbfb;overflow-x:auto}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct:empty,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct:empty{padding:0}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct{filter:alpha(opacity=100);opacity:1}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct .x-btn{color:inherit}.x-tree-elbow,.x-tree-elbow-end{display:inline-block}#modx-leftbar .icon,.x-tree-node .icon{background:none;border:0;display:inline-block;filter:alpha(opacity=80);margin:0;opacity:.8;padding:3px;text-align:center}#modx-leftbar .icon.icon-code:before,#modx-leftbar .icon.icon-cogs:before,#modx-leftbar .icon.icon-columns:before,#modx-leftbar .icon.icon-folder:before,#modx-leftbar .icon.icon-th-large:before,.x-tree-node .icon.icon-code:before,.x-tree-node .icon.icon-cogs:before,.x-tree-node .icon.icon-columns:before,.x-tree-node .icon.icon-folder:before,.x-tree-node .icon.icon-th-large:before{font-weight:900}#modx-leftbar .icon i,.x-tree-node .icon i{font-style:normal}#modx-leftbar .icon button,.x-tree-node .icon button{display:none}.x-tree-node-ct .x-tree-node .icon{left:-1px;position:relative;top:-1px}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node div.x-tree-drag-insert-below{border-bottom:2px solid #a8c3e2!important}.x-tree-node div.x-tree-drag-insert-above{border-top:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #a8c3e2!important}.x-tree-node .x-tree-drag-append a span,.x-tree-node .x-tree-node-over{background-color:#e4e4e4}.x-tree-node .x-tree-selected{background-color:#d6e7f8}.x-tree-node .x-tree-expanded{background-color:#e4e4e4;color:#234368}.x-tree-node .x-tree-expanded a,.x-tree-node .x-tree-expanded a span{color:#234368}.icon-rss:before{content:"\f09e"}.icon-cal:before,.icon-ical:before,.icon-ics:before,.icon-vcs:before{content:"\f133"}.icon-db:before,.icon-sql:before{content:"\f1c0"}.icon-7z:before,.icon-bz2:before,.icon-dmg:before,.icon-gz:before,.icon-iso:before,.icon-rar:before,.icon-tar:before,.icon-tgz:before,.icon-zip:before{content:"\f1c6"}.icon-backup:before,.icon-bak:before,.icon-bk:before{content:"\f1da"}.icon-bmp:before,.icon-gif:before,.icon-jpeg:before,.icon-jpg:before,.icon-png:before,.icon-svg:before,.icon-tiff:before{content:"\f1c5"}.icon-bat:before,.icon-scr:before,.icon-sh:before{content:"\f120"}.icon-log:before,.icon-txt:before{content:"\f15c"}.icon-aac:before,.icon-aif:before,.icon-aiff:before,.icon-flac:before,.icon-m4a:before,.icon-mp3:before,.icon-ogg:before,.icon-wav:before,.icon-wma:before{content:"\f1c7"}.icon-3gp:before,.icon-avi:before,.icon-fla:before,.icon-flv:before,.icon-m4v:before,.icon-mov:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-swf:before,.icon-wmv:before{content:"\f1c8"}.icon-access:before,.icon-htaccess:before{content:"\f023"}.icon-as:before,.icon-cfm:before,.icon-jar:before,.icon-java:before,.icon-php:before,.icon-rb:before{content:"\f1c9"}.icon-doc:before,.icon-docx:before{content:"\f1c2"}.icon-csv:before,.icon-xls:before,.icon-xlsx:before{content:"\f1c3"}.icon-ppt:before,.icon-pptx:before{content:"\f1c4"}.icon-pdf:before{content:"\f1c1"}.icon-coffeescript:before,.icon-css:before,.icon-htm:before,.icon-html:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-scss:before,.icon-styl:before,.icon-xml:before{content:"\f1c9"}.icon-action{background-image:url(../images/restyle/icons/application_osx_terminal.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-action.x-tree-node-el{background-position:5px 5px!important}.icon-action:before{content:" "}.icon-namespace{background-image:url(../images/restyle/icons/computer.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-namespace.x-tree-node-el{background-position:5px 5px!important}.icon-namespace:before{content:" "}.icon-list-new{background-image:url(../images/restyle/icons/layout_add.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-list-new.x-tree-node-el{background-position:5px 5px!important}.icon-list-new:before{content:" "}.icon-mark-active{background-image:url(../images/restyle/icons/layout_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-active.x-tree-node-el{background-position:5px 5px!important}.icon-mark-active:before{content:" "}.icon-mark-complete{background-image:url(../images/restyle/icons/layout_header.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-complete.x-tree-node-el{background-position:5px 5px!important}.icon-mark-complete:before{content:" "}.icon-package{background-image:url(../images/restyle/icons/package.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;padding-right:5px!important;vertical-align:middle}.icon-package.x-tree-node-el{background-position:5px 5px!important}.icon-package:before{content:" "}.icon-locked{background-image:url(../images/restyle/icons/lock_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-locked.x-tree-node-el{background-position:5px 5px!important}.icon-locked:before{content:" "}.icon-lock{content:"\f023"}#modx-resource-tree-panel .x-accordion-hd{background-position:0 0}#modx-element-tree-panel .x-accordion-hd{background-position:0 -32px}#modx-file-tree-panel .x-accordion-hd{background-position:0 -64px}#modx-static-page-settings .x-accordion-hd{background-position:0 -96px}.x-tree-node-el .x-tree-node-icon{display:inline-block}.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/modx-theme/tree/loading.gif)!important}.x-tree-node-loading a span{color:#444;font-style:italic}.tree-context:before{content:"\f0ac"}.tree-resource:before{content:"\f15b"}.tree-static-resource:before{content:"\f15c"}.tree-weblink:before{content:"\f0c1"}.tree-symlink:before{content:"\f0c5"}.icon-folder:before,.parent-resource:before{content:"\f07b"}.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{content:"\f07c"}.locked-resource:before{content:"\f023"!important}.ext-ie .x-tree-node-el input{height:15px;width:15px}.x-tree-root-ct{border-radius:0;overflow:hidden;padding:0!important}.x-tree-root-node{margin:0}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node .x-tree-node-disabled a span{color:#d1d1d1}.x-tree-node div.x-tree-drag-insert-below{border-bottom-color:#686868}.x-tree-node div.x-tree-drag-insert-above{border-top-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top-color:#686868}.x-tree-node .x-tree-drag-append a span{background-color:#dfdfdf;border-color:#e4e4e4}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-add.gif)}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-over.gif)}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-under.gif)}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-between.gif)}#modx-leftbar-header{align-items:center;box-sizing:border-box;color:#53595f;display:flex;height:57px;justify-content:left;padding:.67rem 1rem}#modx-leftbar-header img{max-height:100%;max-width:33%}#modx-leftbar-header a{color:#53595f;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;text-decoration:none}#modx-leftbar-header a:focus,#modx-leftbar-header a:hover{color:#234368}#modx-leftbar-header a:after{content:"\f06e";font-size:14px;opacity:.5;padding:5px}#modx-leftbar-header img+a{padding-left:.67rem}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip-wrap{margin:0;padding:0}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip{display:flex;width:100%}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li{box-sizing:border-box;flex-grow:1;float:none;margin-left:0;text-align:center}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li#modx-leftbar-tabpanel__modx-trash-link{border-right:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li:hover{color:#234368}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active{background:#f1f1f1}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:after{box-shadow:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:before{background:#0000}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-clear,#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-tab-edge{display:none}#modx-leftbar-tabpanel__modx-trash-link .icon{opacity:.5}#modx-leftbar-tabpanel__modx-trash-link .icon:hover{color:#cf1124}#modx-leftbar-tabpanel__modx-trash-link.active .icon{opacity:1}.modx-browser-rte{background:#fff}.modx-browser-tree{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-tree,.x-window .modx-browser-tree{border-radius:0;border-right:1px solid #e4e4e4;box-shadow:none}.modx-browser-view-ct{background:#fff;border-radius:3px;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-rte .modx-browser-view-ct,.x-window .modx-browser-view-ct{border-radius:0;box-shadow:none}.modx-browser-thumb-wrap{cursor:pointer;float:left;margin:5px;overflow:hidden;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modx-browser-thumb-wrap.x-view-over .modx-browser-placeholder{color:#515151}.modx-browser-thumb-wrap.x-view-over .modx-browser-thumb{border:1px dotted #515151}.modx-browser-thumb-wrap.x-view-selected .modx-browser-placeholder{color:#234368}.modx-browser-thumb-wrap.x-view-selected .modx-browser-thumb{border:1px solid #234368}.modx-browser-thumb{background:#fff;border:1px solid #e4e4e4;height:100px;line-height:100px;padding:5px;width:100px}.modx-browser-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);max-width:100%;vertical-align:middle}.modx-browser-placeholder{color:#dcdcdc;font-size:14px}.details .modx-browser-placeholder{align-items:center;display:flex;font-size:24px;font-weight:700;height:100px;justify-content:center;overflow:hidden;width:100%}.modx-browser-list-item{padding:0 5px}.modx-browser-list-item>span{background-position:0!important;border-bottom:1px solid #e4e4e4;clear:both;display:block;min-height:16px;padding:5px 0 5px 20px;position:relative}.modx-browser-list-item>span:before{font-size:14px;left:2px;position:absolute}.modx-browser-list-item>span span{display:inline-block;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-list-item>span span.file-size,.modx-browser-list-item>span span.image-size{float:right;width:13%}.modx-browser-list-item.x-view-over>span{background:#fbfbfb}.modx-browser-list-item.x-view-selected>span{background:#fbfbfb;color:#234368}.modx-browser-view-ct .loading-indicator{background-position:0;background-repeat:no-repeat;font-size:11px;margin:10px;padding-left:20px}.modx-browser-pathbbar table,.modx-browser-pathbbar tbody,.modx-browser-pathbbar td,.modx-browser-pathbbar tr{display:block}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell{position:relative}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before{content:"\f328";filter:alpha(opacity=60);font-size:14px;left:0;opacity:.6;position:absolute;text-align:center;top:50%;width:30px}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row .modx-browser-filepath{background:#0000;border:0;border-radius:0;border-top:1px solid #e4e4e4;box-sizing:border-box;height:32px!important;margin:0!important;padding-left:30px;width:100%}.modx-browser-details-ct{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-details-ct,.x-window .modx-browser-details-ct{border-left:1px solid #e4e4e4;border-radius:0;box-shadow:none}.modx-browser-detail-thumb{color:#000;cursor:default;padding:5px;position:relative}.modx-browser-detail-thumb.preview{cursor:pointer}.modx-browser-detail-thumb.preview:before{content:"\f002";filter:alpha(opacity=0);font-size:56px;left:0;margin-top:-28px;opacity:0;position:absolute;text-align:center;text-shadow:0 0 10px #0003;top:50%;transition:opacity .25s;width:100%}.modx-browser-detail-thumb.preview:hover:before{filter:alpha(opacity=60);opacity:.6}.modx-browser-detail-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}.modx-browser-details-info{border-top:1px solid #e4e4e4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:15px;text-align:left}.modx-browser-details-info b{color:#53595f;display:block;margin-bottom:2px}.modx-browser-details-info span{display:block;margin-bottom:10px}.modx-browser-fullview{text-align:center}.modx-browser-fullview img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}@media screen and (max-width:960px){.modx-browser{max-height:100%!important;overflow-y:scroll;top:15px!important}.modx-browser-panel{background-color:#fff!important;margin:15px 0!important;min-height:700px;width:100%!important}.modx-browser-tree,.modx-browser-view-ct{max-width:35%!important;width:35%!important}.modx-browser-details-ct,.modx-browser-tree,.modx-browser-view-ct{display:inline-block!important;float:left;left:0!important;padding:0 5px;position:relative!important}.modx-browser-details-ct{max-width:20%!important;width:20%!important}.modx-browser-details-ct *,.modx-browser-tree *,.modx-browser-view-ct *{font-size:12px!important}.modx-browser-details-ct input,.modx-browser-tree input,.modx-browser-view-ct input{padding:5px!important}.modx-browser-tree .x-toolbar-ct tbody tr td{display:table-cell}.modx-browser-view-ct .x-panel-body,.modx-browser-view-ct .x-panel-tbar,.modx-browser-view-ct .x-panel-tbar-noheader,.modx-browser-view-ct .x-panel-tbar .x-toolbar,.modx-browser .x-panel-tbar-noheader,.modx-browser .x-toolbar{width:100%!important}.modx-browser-view-ct .x-panel-tbar .x-toolbar-cell label{line-height:2.2}.modx-browser-thumb-wrap{margin:5px;padding:5px;width:24%}.modx-browser-thumb{height:25px;line-height:25px;max-width:100%;overflow:hidden;padding:0}.modx-browser-thumb img{max-width:100%}.modx-browser-placeholder{height:50px}.modx-browser-details-info{padding:5px}}.x-window{-webkit-backface-visibility:hidden;border-radius:3px;box-shadow:0 0 15px 0 #0003;filter:alpha(opacity=0);opacity:0;overflow:visible;transform:scale(1) translateZ(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.x-window.anim-ready{transform:scale(.7) translateZ(0)}.x-window.zoom-in{filter:alpha(opacity=100);opacity:1;transform:scale(1) translateZ(0)}.x-window.zoom-out{filter:alpha(opacity=0);opacity:0;transform:scale(1.3) translateZ(0)}.ext-ie8 .x-window.x-window-dlg{filter:alpha(opacity=100)}.x-window .x-window-tl,.x-window .x-window-tr{padding:0}.x-window .x-window-tc{z-index:1}.x-window .x-window-tc .x-window-header{background-color:#f4f4f4;border-bottom:1px solid #f4f4f4;border-radius:3px 3px 0 0;color:#515151;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:8px;text-align:center}.x-window .x-window-tc .x-window-header-text{padding-left:24px}.x-window.x-panel-collapsed .x-window-tl{border-bottom:1px solid #dcdcdc}.x-window.x-panel-collapsed .x-window-header{border-radius:3px}.x-window .x-window-bwrap{overflow:visible}.x-window .x-window-bwrap .x-window-ml,.x-window .x-window-bwrap .x-window-mr{padding:0}.x-window .x-window-bwrap .x-window-mc{border:0;padding:0}.x-window .x-window-bwrap .x-window-mc .x-panel-bl,.x-window .x-window-bwrap .x-window-mc .x-panel-mc,.x-window .x-window-bwrap .x-window-mc .x-panel-ml,.x-window .x-window-bwrap .x-window-mc .x-panel-mr,.x-window .x-window-bwrap .x-window-mc .x-panel-tl{background:#0000;border:0;padding:0}.x-window .x-window-body{background-color:#fff!important;border:0;overflow-y:auto;padding:15px}.x-window.modx-window .x-window-body{padding-top:0}.x-window.modx-window.modx-alert .x-window-body,.x-window.modx-window.modx-confirm .x-window-body,.x-window.modx-window.modx-console .x-window-body,.x-window.modx-window .x-window-with-tabs .x-window-body{padding-top:15px}.x-window.modx-window .x-window-tc .x-window-header-text{padding-left:64px}.x-window .x-panel-bwrap{background:#fff;padding:0}.x-window .x-panel-bwrap .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window .x-window-with-tabs .x-window-body{background-color:#fbfbfb!important;overflow:visible}.x-window .x-window-with-tabs .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window form.x-panel-body:first-of-type{overflow:visible!important}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap{padding-top:3px}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap .x-tab-strip{border:0}.x-window .x-tab-panel-bwrap{background:#fff;box-shadow:0 4px 6px #00000026;padding:10px}.x-window .x-tab-panel-bwrap .x-tab-panel-body{overflow-y:auto}.x-window .x-tab-panel-bwrap .x-tab-panel-body .modx-panel .x-panel-bwrap,.x-window .x-window-bl,.x-window .x-window-br{padding:0}.x-window .x-window-bc .x-window-footer{background-color:#fff;border-radius:0 0 3px 3px;border-top:1px solid #fff;box-sizing:border-box;padding:5px 15px 15px;width:100%!important}.x-window.x-window-maximized{margin:0}.x-window.x-window-maximized .x-window-mc,.x-window.x-window-maximized .x-window-tc{padding:0}.x-window.modx-console .modx-console-text{background-color:#fff;border:none;font:12px SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;height:auto!important}.x-window.modx-console .debug{color:#515151}.x-window.modx-console .success{color:#6cb24a}.x-window.modx-console .warn{color:#4a90e2}.x-window.modx-console .error{color:#cf1124}.x-progress-wrap{border:1px solid #6cb24a;width:100%!important}.x-progress-wrap .x-progress-inner{background-color:#fdfefd}.x-progress-wrap .x-progress-bar{background-color:#6cb24a;border:0}.x-progress-wrap .x-progress-text{color:#fff;font-size:11px;font-weight:700}.x-progress-wrap .x-progress-text-back{color:#515151}.ext-el-mask{background-color:#fff;filter:alpha(opacity=0);opacity:0;transition:opacity .25s}.ext-el-mask.fade-in,.x-masked .ext-el-mask{filter:alpha(opacity=50);opacity:.5}.x-masked .ext-el-mask{z-index:9}.ext-mb-icon{display:inline-block;float:left;position:relative;width:40px!important}.ext-mb-icon:before{color:#4a90e2;content:"";font-size:32px;position:absolute;right:0;text-align:left;top:50%;transform:translateY(-50%);width:100%}.ext-mb-icon.ext-mb-info:before{color:#4a90e2;content:"\f05a"}.ext-mb-icon.ext-mb-question:before{color:#4a90e2;content:"\f059"}.ext-mb-icon.ext-mb-warning:before{color:#f0b429;content:"\f071"}.ext-mb-icon.ext-mb-error:before{color:#cf1124;content:"\f057"}.ext-mb-content{display:block;margin-left:0!important}.ext-el-mask-msg{background-color:#fff;border:1px solid #dcdcdc;border-radius:3px;box-shadow:0 4px 6px #00000026;padding:5px;z-index:10}.ext-el-mask-msg div{background-color:initial;border:0;color:#515151;cursor:default;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.ext-el-mask-msg .modx-lockmask div{color:#cf1124}.x-mask-loading div{background-image:url(../images/modx-theme/grid/loading.gif)}.dashboard{display:flex;flex-flow:row wrap;margin:-.5rem 0 0 -1rem!important;padding:0 15px}.dashboard .dashboard-button{background:#fff;border:1px solid #0000;border-radius:3px;display:inline-block;padding:5px 20px;text-decoration:none}.dashboard .dashboard-button-green{background:#6cb24a;border-color:#6cb24a;color:#fff}.dashboard .dashboard-button[disabled]{background-color:#e4e4e4}.dashboard .dashboard-button:not([disabled]):hover{border-color:#e4e4e4}.dashboard .dashboard-block{margin:1rem 0 0 1rem}.dashboard .dashboard-block:not(.headless){background-color:#fff;border-radius:3px}.dashboard .dashboard-block.headless .body{max-height:100%;overflow:visible;padding:0}.dashboard .dashboard-block.quarter{width:calc(25% - 1rem)}.dashboard .dashboard-block.one-third{width:calc(33.33332% - 1rem)}.dashboard .dashboard-block.half{width:calc(50% - 1rem)}.dashboard .dashboard-block.two-thirds{width:calc(66.66668% - 1rem)}.dashboard .dashboard-block.three-quarters{width:calc(75% - 1rem)}.dashboard .dashboard-block.full{width:calc(100% - 1rem)}.dashboard .dashboard-block.double{margin-top:2rem;min-height:250px;width:calc(100% - 1rem)}.dashboard .dashboard-block.double .body{height:100%;max-height:100%}.dashboard .dashboard-block.double .dashboard-buttons{height:100%}.dashboard .dashboard-block.double .dashboard-button{align-items:center}.dashboard .dashboard-block h4{color:#515151;font-size:13px;padding-bottom:2px}.dashboard .dashboard-block em{font-style:italic}.dashboard .dashboard-block strong{font-weight:700}.dashboard .dashboard-block ul{list-style:circle outside;padding:0 0 0 15px}.dashboard .dashboard-block img{max-width:100%}.dashboard .dashboard-block .draggable{cursor:move}.dashboard .dashboard-block .action-buttons{margin-left:auto;margin-right:10px}.dashboard .dashboard-block .action-buttons button{background:#0000;border:none;cursor:pointer;opacity:0}.dashboard .dashboard-block .action-buttons button.hidden{display:none}.dashboard .dashboard-block .body{color:#444;font-size:12px;height:auto;max-height:300px;overflow:auto;padding:10px;position:relative}.dashboard .dashboard-block .body .action-buttons{position:absolute;right:-5px;top:20px}.dashboard .dashboard-block .title-wrapper{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:nowrap}.dashboard .dashboard-block .title-wrapper .title{zoom:1;background:#fff;border-radius:3px;color:#515151;flex-grow:1;font-size:12px;font-weight:700;margin:0;padding:15px 10px}.dashboard .dashboard-block .actions button{height:10px;width:10px}.dashboard .dashboard-block:hover .action-buttons button{opacity:1}.dashboard ul.configcheck{list-style-type:none;padding:0}.dashboard ul.configcheck li{background-color:#fbfbfb;margin-bottom:.5em;margin-top:.5em;padding:1em 1.618em}.dashboard ul.configcheck li h5{color:#cf1124}.dashboard ul.configcheck li p{color:#515151}.dashboard .news_article{border-bottom:1px solid #dfdfdf;overflow:hidden;padding:15px 0}.dashboard .news_article h2 a{text-decoration:none}.dashboard .news_article h2{font-size:18px}.dashboard .news_article .date_stamp{float:right;font-size:12px;font-style:italic}.dashboard .configcheck a,.dashboard .news_article a{text-decoration:underline}.dashboard .configcheck a:hover,.dashboard .news_article a:hover{text-decoration:none}.dashboard .table-wrapper{overflow:auto;width:100%}.dashboard .table-wrapper table{border:1px solid #ddd;border-radius:5px;width:100%}.dashboard .table-wrapper table th{border-bottom:2px solid #f0f0f0;font-weight:700;padding:10px;text-align:initial}.dashboard .table-wrapper table td{border-bottom:1px solid #f0f0f0;padding:10px;vertical-align:center;white-space:nowrap}.dashboard .table-wrapper table td .unpublished{color:#999;font-style:italic}.dashboard .table-wrapper table td .deleted{color:#af5a6280!important;text-decoration:line-through}.dashboard .table-wrapper table tr:last-child td,.dashboard .table-wrapper table tr:last-child td tr:last-child td{border:none}.dashboard .table-wrapper table tr:last-child td tr:last-child td:first-child{border-bottom-left-radius:10px}.dashboard .table-wrapper table tr:last-child td tr:last-child td:last-child{border-bottom-right-radius:10px}.dashboard .widget-footer{border-top:1px solid #f0f0f0;padding-top:10px}.dashboard .widget-footer a{display:block;font-size:14px;padding-bottom:5px;padding-top:5px;text-align:center;text-decoration:none}.dashboard .widget-actions a{border:1px solid #e4e4e4;border-radius:3px;display:inline-block;margin-left:5px;padding:3px 5px;text-decoration:none}.dashboard .widget-actions a:first-child{margin-left:0}.dashboard .widget-actions a:hover{background:#f0f0f0}.dashboard .widget-actions a .icon{display:inline-block;height:12px;text-align:center;width:12px}.dashboard .no-results{color:#999;padding:10px;text-align:center}.dashboard .user-with-avatar{align-items:center;display:flex}.dashboard .user-with-avatar .user-avatar{margin:0 10px}.dashboard .user-with-avatar .user-avatar img{border-radius:50%;width:35px}.dashboard .user-with-avatar .user-name{color:#234368;font-weight:500}.dashboard .user-with-avatar .user-group{color:#999}.dashboard .occurred-date,.dashboard .resource .title{color:#234368;font-weight:500}.dashboard .occurred-time{color:#999}#modx-news-feed-container img{max-width:100%}.dashboard-buttons{display:flex;flex-wrap:wrap;justify-content:center;margin:-1rem 0 0 -1rem;width:calc(100% + 1rem)}.dashboard-buttons .dashboard-button{align-items:center;background-color:#fff;border-radius:3px;color:#53595f;display:flex;flex:1;margin:1rem 0 0 1rem;padding:20px;text-decoration:none}.dashboard-buttons .dashboard-button:hover{color:#000}.dashboard-buttons .dashboard-button:hover .icon{opacity:.7}.dashboard-buttons .dashboard-button-icon{background:#6cb24a33;border:1px solid #6cb24a;border-radius:20px;padding:10px;text-align:center}.dashboard-buttons .dashboard-button-icon .icon{color:#6cb24a;display:block;font-size:16px;font-weight:700;height:16px;text-align:center;width:16px}.dashboard-buttons .dashboard-button-wrapper{padding:0 10px}.dashboard-buttons .dashboard-button-title{font-weight:700}::-webkit-scrollbar,::-webkit-scrollbar-thumb{background-color:initial;border:.25rem solid #0000;border-radius:.5rem;height:1rem;width:1rem}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem #556c881a}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem #556c8833}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:initial}.updates-widget .updates-title{color:#234368;font-weight:500}.updates-widget .updates-updateable{background:#4a90e2;border-radius:20px;color:#fff;display:inline-block;font-weight:700;padding:2px 8px}.updates-widget .updates-available,.updates-widget .updates-ok{border-radius:3px;color:#fff;font-size:10px;padding:3px 8px;text-transform:uppercase}.updates-widget .updates-ok{background:#6cb24a}.updates-widget .updates-available{background:#cf1124}#modx-panel-system-info .x-form-label-left .x-form-item{padding:0 5px}#modx-panel-system-info .x-form-label-left .x-form-item:nth-child(2n){background:#f0f0f0}#modx-panel-system-info .x-form-label-left .x-form-item .x-form-display-field{padding:7px 0}@media screen and (max-width:960px){.dashboard-buttons .dashboard-button{align-items:center;flex-direction:column;flex-wrap:wrap;text-align:center}.dashboard-buttons .dashboard-button-wrapper{margin-left:0;margin-top:5px}.dashboard .dashboard-block.half,.dashboard .dashboard-block.one-third,.dashboard .dashboard-block.quarter,.dashboard .dashboard-block.two-thirds{width:calc(100% - 1rem)}.dashboard-buttons{flex-wrap:wrap}.dashboard-buttons .dashboard-button{padding:10px}.dashboard-buttons .dashboard-button-wrapper{display:none}}.nobg .x-panel-body{background:#0000;padding-right:1.5em}#managerbuttons{margin-bottom:1em;overflow:hidden;width:100%}#managerbuttons ul:after,#managerbuttons ul:before{content:" ";display:table}#managerbuttons ul:after{clear:both}#managerbuttons ul{*zoom:1;margin:0;width:100%}#managerbuttons ul li{box-sizing:border-box;display:table;float:left;margin:0;padding:0 1%;position:relative;width:20%}#managerbuttons ul li:first-child{padding-left:0}#managerbuttons ul li:last-child{padding-right:0}#managerbuttons ul li a{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 1px 0 #e4e4e4;color:#53595f;display:table-cell;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:12px;position:relative;text-align:center;text-decoration:none;vertical-align:middle}#managerbuttons ul li a span{display:block;line-height:1.4}#managerbuttons ul li a span.headline{font-size:12px}#managerbuttons ul li a span.subline{font-weight:400}#managerbuttons ul li a span.icon{display:block;margin:0 auto;padding:0 0 10px;width:auto}#managerbuttons ul li a:hover span.icon{color:#234368}#contactus,#helpBanner{background:#fff;border:1px solid #e4e4e4;box-shadow:0 1px 0 #e4e4e4;box-sizing:border-box;margin:.75em 0 1.75em;padding:18px;width:100%}#contactus h3,#helpBanner h3{margin:0 0 1em}#helpBanner{background-attachment:none;background-image:url(../images/modx-logo-color.svg),none;background-position:97%;background-repeat:no-repeat;background-size:200px;margin-top:1.5em;min-height:112px}#helpBanner #helpLogo{float:right;height:76px;margin-right:1em;width:200px}#contactus{box-sizing:border-box;float:left;width:60%}#contactus form{display:inline}#contactus input[type=email]{box-sizing:border-box;font-size:1.1em;margin-right:4px;padding:.4em;width:70%}#contactus input[type=submit]{border:0;cursor:pointer;font-size:1.1em;padding:6px 10px}#contactus p{color:#132539;margin:1em 0}#contactus form+p{margin:2em 0 0}#contactus a{color:#000;text-decoration:none}#contactus a:hover{text-decoration:underline}#contactus a:hover i{text-decoration:none}#contactus a i{margin:0 15px -6px 0}#mcsignup input.x-btn{padding:10px 15px}.icon.icon-2x{text-align:center;vertical-align:text-bottom;width:22px}#aboutMODX{background:#f0f0f0;box-sizing:border-box;float:left;margin:1em 0 0 2%;min-height:300px;padding:1em;width:38%}#aboutMODX p{line-height:1.6;margin:0 0 1em}#aboutMODX a{color:#234368;margin:-2px -4px;padding:2px 4px}#aboutMODX a:hover{background-color:#234368;color:#fff;text-decoration:none}.trashrow{background-color:#ccc!important}.x-btn-purge-all{color:#cf1124}.x-btn-purge-all:hover{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff}.x-btn-restore-all{color:#6cb24a}.x-btn-restore-all:hover{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff}#changelog-tab p{margin-bottom:.3rem}#changelog-tab h1{color:#595959}#changelog-tab h2{font-weight:700;margin-top:1rem}#changelog-tab ul{margin-bottom:1rem}#modx-package-browser-details-main p{color:#595959;margin-bottom:.3rem}#modx-package-browser-details-main h1,#modx-package-browser-details-main h2,#modx-package-browser-details-main h3,#modx-package-browser-details-main h4,#modx-package-browser-details-main h5,#modx-package-browser-details-main h6{color:#595959;font-weight:700}#modx-package-browser-details-main h1{font-size:1.2em}#modx-package-browser-details-main h2{font-size:1.15em}#modx-package-browser-details-main h3{font-size:1.1em}#modx-package-browser-details-main h4{font-size:1.05em}#modx-package-browser-details-main h5{font-size:1em}#modx-package-browser-details-main h6{font-size:.95em}#modx-package-browser-details-aside h4{text-align:center}#modx-package-browser-details-aside ul li{margin-bottom:.5em}body{-webkit-font-smoothing:antialiased;color:#000;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;scrollbar-color:#e1e3e6 #0000}body a{color:#234368}body a:hover{color:#162a42}h2,h3{color:#515151;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0 0 8px -1px}h3{font:550 15px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}strong{font-weight:700}em{font-style:italic}hr{background-color:#e4e4e4;border:0;color:#e4e4e4;height:1px;margin:20px 0}.aleft{text-align:left}.aright{text-align:right}.right{float:right}.left{float:left}.clear{clear:left}.bold{font-weight:700}.installed{color:#515151}.not-installed{color:#999;font-style:italic}.yellow{color:#fce588!important}.orange{color:#f0b429!important}.error,.red{color:#cf1124!important}.green{color:#6cb24a!important}.blue{color:#4a90e2!important}.primary{color:#6cb24a!important}.centered{text-align:center}.wait{background:#0000 url(../images/style/wait.gif) no-repeat scroll center 55px;color:#53595f;font-size:15px;font-weight:700;padding:20px 10px 60px}.padding{background-color:#fff;padding:11px}.dashed{border-bottom:1px dashed #90b1b9}.x-form-text,textarea.x-form-field{border-color:#e4e4e4}#modx-content,#modx-leftbar{position:absolute;transition:left .2s ease}#modx-leftbar-tabpanel{transition:all .6s ease}#modx-content{left:370px;right:0;width:calc(100% - 370px)}.modx-form p{padding-bottom:10px}.x-layout-mini{left:2px}#modx-resource-content .x-panel-header{margin:0;padding:15px}#modx-resource-content .x-panel-bwrap{border:0}#modx-resource-content .modx-tv .modx-tv-label{clear:none;float:none;padding:15px 0 4px;position:static;width:auto}#modx-content-above .x-panel-bwrap,#modx-content-below .x-panel-bwrap{border:0}.x-tab-panel-header,.x-tab-panel-header .x-tab-strip li{box-sizing:border-box}@media screen and (max-width:960px){.x-viewport{overflow-y:auto}.x-viewport body{height:auto}}#modx-container{background:#f1f1f1;height:100%;width:100%}@media screen and (max-width:960px){#modx-container{height:auto}}@media screen and (max-width:1140px){#modx-page-settings-left,#modx-page-settings-right,#modx-resource-main-left,#modx-resource-main-right{box-sizing:border-box;margin:0 auto 15px;width:100%!important}#modx-page-settings-left .x-panel-body,#modx-page-settings-right .x-panel-body,#modx-resource-main-left .x-panel-body,#modx-resource-main-right .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}@media screen and (max-width:960px){#modx-chunk-form .main-wrapper,#modx-panel-plugin .main-wrapper,#modx-snippet-form .main-wrapper,#modx-template-form .main-wrapper,#modx-tv-tabs .main-wrapper{padding:0;width:100%!important}#modx-chunk-form .main-wrapper>.x-panel-bwrap,#modx-panel-plugin .main-wrapper>.x-panel-bwrap,#modx-snippet-form .main-wrapper>.x-panel-bwrap,#modx-template-form .main-wrapper>.x-panel-bwrap,#modx-tv-tabs .main-wrapper>.x-panel-bwrap{padding:1em}#modx-resource-main-right{margin:15px auto 0}.x-toolbar-ct,.x-toolbar-ct tbody,.x-toolbar-ct tbody tr{display:block}.x-toolbar-ct tbody tr td{display:block;width:100%}.x-toolbar-ct tbody tr td table{width:100%}.x-toolbar-ct tbody tr td table .x-form-field-wrap{margin-left:0!important;margin-right:0!important;width:100%!important}.x-toolbar-ct tbody tr td table .x-btn,.x-toolbar-ct tbody tr td table .x-form-text{box-sizing:border-box;margin-left:0!important;margin-right:0!important;width:100%!important}.x-column{float:none;margin-left:0!important;margin-right:0!important;width:100%!important}#modx-tree-panel-usergroup .main-wrapper{display:inline-block;float:left;max-width:100%;position:relative;width:100%!important}.x-window{left:.5em!important;max-width:100%!important;right:.5em!important;width:auto!important}.x-window .x-window-body{box-sizing:border-box!important;height:auto!important;width:100%!important}.x-window .x-form-field-wrap{width:auto!important}.x-window input{box-sizing:border-box;height:auto!important;width:100%!important}}#modx-template-form .main-wrapper input{max-width:100%!important}@media screen and (max-width:960px){.x-column-inner>.x-column~.x-column{margin-left:0}#modx-import-base-path,.x-form-item label.x-form-item-label[for=modx-import-allowed-extensions],.x-form-item label.x-form-item-label[for=modx-import-base-path],.x-form-item label.x-form-item-label[for=modx-import-element],.x-form-item label.x-form-item-label[for=modx-import-parent],.x-form-item label.x-form-item-label[for=modx-import-resource-class]{float:none;width:auto!important}}#modx-import-allowed-extensions,#modx-import-base-path,#modx-import-element,#modx-import-resource-class{box-sizing:border-box;height:auto;width:100%!important}@media screen and (max-width:960px){#x-form-el-modx-import-allowed-extensions,#x-form-el-modx-import-base-path,#x-form-el-modx-import-element,#x-form-el-modx-import-resource-class{padding-left:0!important;width:100%!important}}.x-panel.drag-n-drop{z-index:0}.x-panel.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat 50%;background-size:50% 50%;bottom:0;content:" ";display:block;left:0;opacity:.1;position:absolute;right:0;top:0;z-index:-5}.x-panel.drag-n-drop>.x-panel-bwrap,.x-panel.drag-over .x-form-field{background:#0000}.x-panel.drag-over:after{background:#6cb24a;border:5px solid #6cb24a;bottom:0;content:"";display:block;left:0;opacity:.1;position:absolute;right:0;top:0}#modx-panel-packages.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat top;background-size:50% 30%;z-index:0}.x-panel-header{background:none;border:none;font-size:16px;margin:0;padding:0 0 10px}#modx-resource-tabs .x-panel-header{border-bottom:1px solid #e4e4e4;color:#515151;display:flex;margin-bottom:5px}#modx-resource-tabs .x-panel-header .x-panel-header-text{flex:1;font-size:14px;order:0}#modx-resource-tabs .x-panel-header .x-tool.x-tool-toggle{margin-left:auto;order:1}#modx-resource-main-left .x-panel-header{border-bottom:0;position:absolute;right:15px;z-index:9}#modx-resource-main-left .x-panel-header .x-panel-header-text{display:none}#modx-resource-main-left .x-panel-animated .x-panel-header,#modx-resource-main-left .x-panel-collapsed .x-panel-header{padding-top:15px!important;position:relative;right:0;width:100%}#modx-resource-main-left .x-panel-animated .x-panel-header .x-panel-header-text,#modx-resource-main-left .x-panel-collapsed .x-panel-header .x-panel-header-text{display:block}#modx-resource-tabs .x-panel-collapsed .x-panel-header{border-color:#0000;margin-bottom:0;padding:0}.x-small-editor .x-form-field{font-size:12px!important}.x-small-editor .x-form-num-field{text-align:left}.grid-row-inactive{color:#999!important}a.x-grid-link{color:#234368;text-decoration:underline}a.x-grid-link:focus,a.x-grid-link:hover{text-decoration:none}.x-editable-column{cursor:default}.x-editable-column:not(.editor-disabled){cursor:pointer}.x-editable-column:not(.editor-disabled):focus,.x-editable-column:not(.editor-disabled):hover{color:#234368}.x-editable-column:not(.editor-disabled):focus>div:after,.x-editable-column:not(.editor-disabled):hover>div:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#234368;content:"\f304";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .5em}.x-editable-column.locked{cursor:default}.x-editable-column.locked:focus>div:after,.x-editable-column.locked:hover>div:after{color:#6b7c90;content:"\f023"}.x-grid-buttons{text-align:center}.x-grid-buttons li{cursor:pointer;display:inline-block;font-size:1.1em;line-height:.7;margin-right:10px}.x-grid-buttons li:last-child{margin-right:0}.x-grid-empty .error-with-icon{color:#cf1124;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.3;padding:1rem}.x-grid-empty .error-with-icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;content:"\f071";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin-right:.5rem}.x-grid-empty .error-with-icon *{color:#09121c;line-height:1.6;text-align:left}.x-grid-empty .error-with-icon .error-status-info{margin:.25rem 0;text-align:center}.x-grid-empty .error-with-icon code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;white-space:pre-line}.xdebug-error{border:none}.xdebug-error tbody td,.xdebug-error tbody th{border-color:#dcdcdc;border-style:solid none none!important;border-width:thin!important;padding:.1rem .25rem}.xdebug-error tbody th{color:#000!important;font-weight:700}.xdebug-error tbody th:first{border-top:none!important}.xdebug-error tbody th[colspan="5"]{border-color:#fff;border-width:thick!important;padding:.5rem 2rem;text-align:center!important}.xdebug-error tbody th[bgcolor^="#f57"]{background:#fdf0f1;font-weight:400}.xdebug-error tbody th[bgcolor^="#e9b"]{background:#234368;color:#fff!important}.xdebug-error tbody td{background-color:#fff}.xdebug-error tbody tr:nth-child(2n) td{background-color:#f0f0f0}.modx-page-header,.modx-page-header div{background-color:initial!important}#modx-panel-trash .modx-page-header,#modx-panel-trash .modx-page-header div,#modx-panel-welcome .modx-page-header,#modx-panel-welcome .modx-page-header div{margin:1rem!important}@media screen and (min-width:961px){#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{box-sizing:border-box;margin-top:1.25rem}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel{margin:0}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{box-sizing:border-box;font-size:18px;font-weight:700;margin-top:1.25rem;padding:0 15px}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{width:100%!important}}#modx-content form.x-panel-body{background-color:initial!important}@media screen and (max-width:960px){#modx-content{left:auto!important;position:relative;top:auto!important;width:auto!important}}#modx-content .modx_error{margin:26px 0 0 15px;width:95%}#modx-content .modx_error h2{margin:0 0 14px}#modx-content .modx_error .error_container{background:#f99;border:2px solid #cf1124;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px}#modx-content .modx_error .error_container ul{list-style:none;margin-left:0;margin-top:6px}#modx-content .modx_error .error_container ul li{margin-bottom:6px}#modx-content .modx_error .error_container ul li:last-child{margin-bottom:0}#modx-content .modx_error .error_container.multiple p:first-child{font-size:1.4em;font-weight:700}@media screen and (max-width:960px){#modx-content .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}#modx-mainpanel{height:100%;position:relative}.x-portal .x-panel-dd-spacer,.x-portlet{margin-bottom:10px}.x-portlet .x-panel-ml{padding-left:2px}.x-portlet .x-panel-mr{padding-right:2px}.x-portlet .x-panel-bl{padding-left:2px}.x-portlet .x-panel-br{padding-right:2px}.x-portlet .x-panel-body{background:#fff}.x-portlet .x-panel-mc{padding-top:2px}.x-portlet .x-panel-bc .x-panel-footer{padding-bottom:2px}.x-portlet .x-panel-nofooter .x-panel-bc{height:2px}.x-portal-space h2{border-bottom:1px solid #d4d4d4;margin:0 0 8px;padding:0 0 2px}.x-column-tree .x-panel-header{border-bottom-width:0;padding:3px 0 0}.x-column-tree .x-panel-header .x-panel-header-text{margin-left:3px}.x-column-tree .x-tree-node,.x-column-tree .x-tree-node-el{zoom:1}.x-column-tree .x-tree-selected{background:#d9e8fb}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle}.x-column-tree .x-tree-node .x-tree-selected a span{background:#0000;color:#515151}.x-tree-col{zoom:1;float:left;overflow:hidden;padding:0 1px}.x-tree-col-text,.x-tree-hd-text{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden;padding:3px 3px 3px 5px;text-overflow:ellipsis;white-space:nowrap}.x-tree-headers{zoom:1;cursor:default;margin-top:3px}.x-tree-hd{border-left:1px solid #eee;border-right:1px solid #d0d0d0;float:left;overflow:hidden}.ux-row-action-cell .x-grid3-cell-inner{padding:1px 0 0}.ext-ie .ux-row-action-item{width:16px}.ext-ie .ux-row-action-text{width:auto}.ux-row-action-item span{background:#0000 url(../images/style/go-next.png) no-repeat scroll 1px 4px;display:inline!important;line-height:24px;margin:0 5px;padding:5px 5px 5px 22px;vertical-align:middle}.icon-uninstall span{background:url(../images/style/delete.png) no-repeat scroll 1px 4px #0000}.package-details span{background:url(../images/style/info.png) no-repeat scroll 1px 4px #0000}.package-download span{background:url(../images/style/download.png) no-repeat scroll 1px 4px #0000}.package-installed span{background:url(../images/style/accept.png) no-repeat scroll 1px 4px #0000}.ext-ie .ux-row-action-item span{width:auto}.x-grid-group-hd div{height:16px;position:relative}.ux-grow-action-item{background-position:0 50%!important;background-repeat:no-repeat;cursor:pointer;float:left;margin:0;min-width:16px;padding:0!important}.ext-ie .ux-grow-action-item{width:16px}.ux-action-right{float:right;margin:0 3px 0 2px;padding:0!important}.ux-grow-action-text{background:#0000 none!important;float:left;margin:0!important;padding:0!important}.ux-row-action-item:hover{background:#dfdfdf;background:linear-gradient(center bottom,#dfdfdf 0,#fff);border:1px solid #9caf78;color:#636f4c!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=$white,endColorstr=$alto,GradientType=0)}.ux-row-action-item:active{background-color:#fff;background-image:none;border-color:#cfcfcf silver #aaa;box-shadow:inset 0 0 3px #aaa;margin:2px 1px 0}.ux-row-action-item:active span{text-shadow:none}.ux-row-action-item{background:linear-gradient(center bottom,#dcdcdc 0,#fcfcfc);background:url(/manager/templates/default/images/modx-theme/form/button-bg.png) repeat-x scroll 0 bottom #dcdcdc;border-collapse:initial;border-color:#cacaca silver #aaa;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 0 1px #0003;color:#444;cursor:pointer;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfcfc,endColorstr=#dcdcdc,GradientType=0);float:left;font-weight:700;margin:2px 1px 0;overflow:hidden;padding:3px;position:relative;text-shadow:0 1px 0 #fafafa}.x-tree-checkbox{background:url(../../../assets/ext3/resources/images/default/form/checkbox.gif) no-repeat 0 0;height:13px;margin:0 1px;vertical-align:middle;width:13px}.x-tree-checkbox-over .x-tree-checkbox{background-position:-13px 0}.x-tree-checkbox-down .x-tree-checkbox{background-position:-26px 0}.x-tree-node-disabled .x-tree-checkbox{background-position:-39px 0}.x-tree-node-checked{background-position:0 -13px}.x-tree-checkbox-over .x-tree-node-checked{background-position:-13px -13px}.x-tree-checkbox-down .x-tree-node-checked{background-position:-26px -13px}.x-tree-node-disabled .x-tree-node-checked{background-position:-39px -13px}.x-tree-node-grayed{background-position:0 -26px}.x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -26px}.x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -26px}.x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -26px}.x-tree-branch-unchecked .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-grayed{background-position:0 0}.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px 0}.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px 0}.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px 0}.x-tree-branch-checked .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-grayed{background-position:0 -13px}.x-tree-branch-checked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -13px}.x-tree-branch-checked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -13px}.x-tree-branch-checked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -13px}.x-rbtn button{background-color:initial;background-position:50%;background-repeat:no-repeat;border:0;cursor:pointer;font-size:1px;height:16px;line-height:1px;margin:0;-moz-outline:0 none;outline:0 none;padding:0;width:24px}.x-rbtn{table-layout:fixed}.x-rbtn td{background-image:url(../images/restyle/icons/rbtn.gif);background-repeat:no-repeat;border:0;height:21px;padding:0;vertical-align:middle;width:24px}.x-rbtn td.x-rbtn-first{background-position:0 0}.x-rbtn td.x-rbtn-item{background-position:0 -42px}.x-rbtn td.x-rbtn-last{background-position:right -21px}.x-rbtn td.x-rbtn-first-active{background-position:0 -63px}.x-rbtn td.x-rbtn-item-active{background-position:0 -105px}.x-rbtn td.x-rbtn-last-active{background-position:right -84px}.ux-up-item{background-color:#f0f0f0;background-image:url(../../../assets/modext/util/filetree/img/white_bg.png);background-repeat:no-repeat;cursor:default;height:17px;line-height:17px;margin-bottom:1px;position:relative}.ux-up-icon-file{float:left;height:16px;margin-right:4px;vertical-align:-3px;width:16px}.ux-up-indicator{background-color:#ff0;filter:alpha(opacity=40);height:17px;opacity:.4;position:absolute;width:40px}.ux-up-icon-state{cursor:pointer;float:right;margin-right:2px;width:16px;z-index:-1}.ux-up-icon-queued{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_get.png)}.ux-up-icon-uploading{background-image:url(../../../../ext2/resources/images/default/grid/wait.gif)}.ux-up-icon-done{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/accept.png)}.ux-up-icon-failed{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/error.png)}.ux-up-icon-stopped{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/stop.png)}.ux-up-text{float:left}.ux-ftm-nodename{color:#515151;cursor:default!important;font-weight:700}.ux-icon-combo-icon{background-position:0 50%;background-repeat:no-repeat;height:14px;width:18px}.ux-icon-combo-input{padding-left:25px}.x-form-field-wrap .ux-icon-combo-icon{left:5px;top:3px}.ux-icon-combo-item{background-position:3px 50%!important;background-repeat:no-repeat!important;padding-left:24px!important}.modx-status-msg{background:#6cb24a;border-radius:3px;bottom:20px;box-sizing:border-box;color:#fff;max-width:360px;padding:15px 15px 15px 65px;position:fixed;right:15px;width:25%;z-index:20000}@media screen and (max-width:960px){.modx-status-msg{max-width:100%}}.modx-status-msg:before{position:relative}.modx-status-msg:after{background:#fff;border-radius:50%;color:#6cb24a;content:"\f00c";display:inline-block;font-size:16px;height:38px;left:15px;line-height:36px;margin-right:13px;position:absolute;text-align:center;top:15px;vertical-align:middle;width:38px}.modx-status-msg h3,.modx-status-msg span{font-size:14px}.modx-status-msg h3{color:#fff;margin:0}.modx-status-msg .has-position-center-center{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:50%;transform:translateY(-50%)}.modx-status-msg .has-position-center-top{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:15px}.modx-status-msg .has-position-right-top{bottom:auto;left:auto;right:15px;top:15px}@media screen and (max-width:960px){.modx-status-msg,.modx-status-msg .has-position-center-center,.modx-status-msg .has-position-center-top,.modx-status-msg .has-position-right-top{border-radius:0;bottom:0;left:0;right:0;top:auto;width:100%}}iframe[classname=x-hidden]{visibility:hidden}html[dir=rtl] .x-hide-offsets,html[dir=rtl] .x-hiden{left:unset;right:-9999px}.ext-ux-uploaddialog-addbtn{background:url(../images/restyle/fileup/file-add.gif) no-repeat 0!important}.ext-ux-uploaddialog-removebtn{background:url(../images/restyle/fileup/file-remove.gif) no-repeat 0!important}.ext-ux-uploaddialog-resetbtn{background:url(../images/restyle/fileup/reset.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstartbtn{background:url(../images/restyle/fileup/upload-start.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstopbtn{background:url(../images/restyle/fileup/upload-stop.gif) no-repeat 0!important}.ext-ux-uploaddialog-indicator-stoped{background:url(../images/restyle/fileup/done.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-indicator-processing{background:url(../images/restyle/fileup/loading.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-state{background-position:50%;background-repeat:no-repeat;text-align:center}.ext-ux-uploaddialog-state-0{background-image:url(../images/restyle/fileup/uncheck.gif)}.ext-ux-uploaddialog-state-1{background-image:url(../images/restyle/fileup/check.gif)}.ext-ux-uploaddialog-state-2{background-image:url(../images/restyle/fileup/failed.gif)}.ext-ux-uploaddialog-state-3{background-image:url(../images/restyle/fileup/file-uploading.gif)}.tq-treegrid .tq-treegrid-col{border:none}.tq-treegrid .tq-treegrid-icons{float:left}.tq-treegrid .x-tree-node-el{line-height:13px;padding:1px 3px 1px 5px}.tq-treegrid .tq-treegrid-static .x-tree-ec-icon{display:none}.tq-treegrid .tq-treegrid-static .x-tree-node-el{cursor:default}.modx-tree-load-msg{color:#000;font-size:.9em;line-height:1;padding:3px;white-space:pre-line}#modx-grid-policy-permissions .x-grid3-cell-inner,#modx-grid-policy-permissions .x-grid3-hd-inner,#modx-grid-template-permissions .x-grid3-cell-inner,#modx-grid-template-permissions .x-grid3-hd-inner{white-space:normal}.container{margin:20px 15px}.container,.x-plain-body,.x-plain-bwrap{overflow:visible}.shadowbox,.x-form-label-left{border-radius:3px}.shadowbox .x-form-label-left,.x-form-label-left .x-form-label-left,.x-tab-panel-bwrap .shadowbox,.x-tab-panel-bwrap .x-form-label-left,.x-window .shadowbox,.x-window .x-form-label-left{border-radius:0;box-shadow:none}.panel-desc{border-bottom:1px solid #f0f0f0;border-radius:0;color:#53595f;line-height:1.5;padding:15px!important}.x-window .panel-desc{margin-bottom:15px;margin-top:0}.panel-desc .x-panel-bwrap{background-color:initial!important}.with-title .panel-desc{margin:0}.panel-desc p{padding:0}.main-wrapper{background-color:#fff;padding:15px}.with-title .main-wrapper{padding:0 15px 10px}.left-col{padding-right:15px}.right-col{padding-left:15px}.modx-page-header{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;order:1;padding:0 15px}@media screen and (max-width:960px){.modx-page-header{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs .breadcrumbs{align-items:baseline;display:flex;flex-wrap:wrap}.modx-header-breadcrumbs .breadcrumbs h2{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0!important;order:1;padding-left:0}@media screen and (max-width:960px){.modx-header-breadcrumbs .breadcrumbs h2{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs ul{align-items:center;display:flex;flex-wrap:wrap;order:0}.modx-header-breadcrumbs ul li{color:#53595f}.modx-header-breadcrumbs ul li,.modx-header-breadcrumbs ul li a{font:normal 18px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-header-breadcrumbs ul li a{text-decoration:none}.modx-header-breadcrumbs ul li a.menu_hidden{font-style:italic}.modx-header-breadcrumbs ul li a.menu_hidden:hover{color:#162a42}.modx-header-breadcrumbs ul li a.not_published{color:#b3b3b3!important}.modx-header-breadcrumbs ul li a.not_published:hover{color:#162a42}.modx-header-breadcrumbs ul li a.deleted{color:#af5a6280!important;text-decoration:line-through}.modx-header-breadcrumbs ul li a.deleted:hover{color:#162a42}.modx-header-breadcrumbs ul li:after{color:#999;content:"\f054";font-size:12px;padding:0 10px}#modx-abtn-delete{color:#cf1124}#modx-abtn-undelete{color:#6cb24a}#modx-abtn-help{color:#234368}#modx-resource-tabs .x-tab-panel-bwrap{box-shadow:none}#modx-resource-tabs .x-tab-panel-body,#modx-resource-tabs .x-tab-panel-bwrap{overflow:visible!important}#modx-resource-settings{background:#f1f1f1}#modx-resource-settings #modx-resource-main-left{background:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;padding:15px;position:relative}#modx-resource-settings .x-panel-collapsed{min-height:18px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel{background:#fff;border-radius:3px;padding:15px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel:not(:last-child){margin-bottom:15px}#modx-resource-settings .main-wrapper{background:#0000;padding:0}#modx-resource-settings .x-datetime-wrap table{width:100%}#modx-resource-settings .x-datetime-wrap table td{max-width:50%!important;width:50%!important}#modx-resource-settings .x-datetime-wrap table td input{width:calc(100% - 30px)}#modx-resource-settings .x-datetime-wrap table td:first-child{padding-right:5px!important}#modx-resource-settings .x-datetime-wrap table td:last-child{padding-left:5px!important}#modx-resource-settings .x-datetime-wrap table .x-form-field-trigger-wrap{width:100%!important}.tvs-wrapper{padding:0}#modx-resource-tvs-div{border-top-width:0;visibility:hidden}.modx-permissions-list{color:#777;font-size:12px}.modx-permissions-list-textarea{background-color:initial!important;border:0!important}.info-list.hide-list{display:none}.info-list .header{color:#626262;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600}.info-list .header:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .25rem}.info-list .header span{font-weight:400}.info-list ul{border:1px dashed #e4e4e4;border-radius:3px;margin-top:.5rem;padding:.5rem}.info-list ul li{color:#6b6b6b;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1;padding:.15rem 0;word-break:break-word}@media screen and (min-width:641px){.info-list ul{-moz-columns:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem}}.x-window .info-list{margin-top:1rem}.x-grid3 .info-list ul{background-color:#fcfbfb;padding-left:1rem;position:relative}.x-grid3-row-alt .x-grid3 .info-list ul{background-color:#f9faff}.x-grid3 .info-list ul:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;background-color:#fff;border-radius:100%;box-shadow:-1px 1px 3px #888;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-size:11px;font-style:normal;font-variant:normal;font-weight:900;height:14px;left:-7px;padding-top:2px;position:absolute;text-align:center;top:-7px;width:14px}.x-grid3 .info-list ul li{font-style:italic}@media screen and (min-width:769px){.x-grid3 .info-list ul{-moz-columns:3;column-count:3}}@media screen and (min-width:1141px){.x-grid3 .info-list ul{-moz-columns:4;column-count:4}}@media screen and (min-width:1401px){.x-grid3 .info-list ul{-moz-columns:5;column-count:5}}.x-selectable,.x-selectable *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}#ux-lightbox{left:0;line-height:0;position:absolute;text-align:center;width:100%;z-index:15000}#ux-lightbox img{height:auto;width:auto}#ux-lightbox a img{border:none}#ux-lightbox-outerImageContainer{background-color:#fff;height:250px;margin:0 auto;position:relative;width:250px}#ux-lightbox-imageContainer{padding:10px}#ux-lightbox-loading{background:url(../images/style/loading.gif) no-repeat scroll center 15% #0000;height:25%;left:0;line-height:0;position:absolute;text-align:center;top:40%;width:100%}#ux-lightbox-hoverNav{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}#ux-lightbox-hoverNav a{outline:medium none}#ux-lightbox-imageContainer>#ux-lightbox-hoverNav{left:0}#ux-lightbox-navNext,#ux-lightbox-navPrev{display:block;height:100%;width:49%}#ux-lightbox-navPrev{float:left;left:0}#ux-lightbox-navPrev:hover,#ux-lightbox-navPrev:visited:hover{background:#0000 url(images/lb-prev.png) no-repeat scroll left 33%}#ux-lightbox-navNext{float:right;right:0}#ux-lightbox-navNext:hover,#ux-lightbox-navNext:visited:hover{background:#0000 url(images/lb-next.png) no-repeat scroll right 33%}#ux-lightbox-outerDataContainer{margin:0 auto;width:100%}#ux-lightbox-dataContainer{background-color:#fff;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10px;overflow:auto}#ux-lightbox-data{color:#666;padding:0 10px}#ux-lightbox-data #ux-lightbox-details{float:left;text-align:left;width:80%}#ux-lightbox-data #ux-lightbox-caption{font-weight:700}#ux-lightbox-data #ux-lightbox-imageNumber{clear:left;display:block;padding-bottom:1em}#ux-lightbox-data #ux-lightbox-navClose{background:#0000 url(../images/style/close.png) no-repeat scroll 0 0;float:right;height:16px;outline:medium none;padding-bottom:.7em;width:16px}#ux-lightbox-overlay,#ux-lightbox-shim{background-color:#515151;border:0;height:500px;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:14999}#ux-lightbox-shim{background-color:initial;z-index:89}.x-panel-body-noheader .x-grid3-row{position:relative}.x-grid3-col-main{padding:10px 5px 35px}.x-grid3-cell-inner .x-grid3-col-main h3{color:#555;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;line-height:1;margin:0 0 5px}.package-installed{color:#515151;filter:alpha(opacity=50);opacity:.5}#modx-grid-package .green{text-align:center}#modx-grid-package .green a{color:#cf1124!important}#modx-grid-package .red{color:#6cb24a!important;text-align:center}.grid-with-buttons .x-grid3-row-expanded .x-grid3-row-body{margin:-45px 2px 0 -20px;padding:18px 25px 40px}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{border-top:1px dashed #868b8f80;display:flex;flex-direction:column-reverse;gap:1rem;padding:.5rem .25rem 0}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-direction:row;font-style:italic;line-height:1.4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;justify-content:space-between;row-gap:.25rem}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:block}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body{flex-grow:1}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body p{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media screen and (min-width:641px){.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{flex-direction:row-reverse}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{flex-direction:column;justify-content:normal}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:inline}}.home-panel ol{border-top:1px solid #cacaca}.home-panel ol li{border-bottom:1px solid #e0e0e0}.home-panel ol li:first-child{border-top-color:0 none}.home-panel ol li:last-child{border-bottom:0}.home-panel ol li button{background-color:initial;border:0;color:#53595f;cursor:pointer;display:block;font-size:15px;font-weight:700;padding:12px 20px 12px 6px;position:relative;text-decoration:none}.home-panel ol li:hover button{color:#234368}.home-panel ol li:hover button:before{content:"\f002";filter:alpha(opacity=60);font-size:14px;margin-top:-7px;opacity:.6;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:20px}.home-panel ol li .highlighted{color:#909090;float:right;font-size:10px;padding:13px 10px 0}.home-panel ol li button .ct{color:#aaa;margin-right:10px}.home-panel .one_half{overflow:hidden}.home-panel .desc-wrapper{margin-top:38px}.home-panel .text-wrapper{font-style:normal;max-height:none}.home-panel .provider_name{background-color:#9bb3bf;line-height:1.8}.home-panel .pnl_instructions{margin:20px 0}.home-panel .stats{clear:both;display:inline-block;margin-top:15px}.home-panel .stats p{color:#777;font-size:12px;font-style:italic;line-height:1.5}.pbr-provider-box{float:left;margin-top:10px;width:250px}.pbr-provider-home,.pbr-repository-view,.pbr-tag-view{padding:10px}.pbr-details-right{float:right!important;text-align:right!important}.pbr-thumb-downloaded{filter:alpha(opacity=50);opacity:.5}.one_half{float:left;margin-right:3%;position:relative;width:48%}.last{clear:right;margin-right:0!important}.package-readme{padding:8px 11px 0}#modx-package-browser-home{margin-top:5px;min-height:560px}.empty-text-wrapper{color:#888;font-weight:700;line-height:1.4;padding:12px}.aside-details{background-color:initial;border:1px solid #e4e4e4;border-radius:3px;margin-right:0}.aside-details .selected h5{color:#53595f;font-size:14px;margin:10px 0}.aside-details .selected img{border:1px solid #e4e4e4;border-radius:3px;height:80px;width:90px}.aside-details .item{margin-bottom:25px}.aside-details .item li,.aside-details .item p{color:#888;line-height:1.4}.aside-details .item a{color:#53595f;font-style:italic}.aside-details h4{color:#53595f;font-size:14px;margin:10px 0;text-transform:uppercase}.aside-details .aside-details h4{font-size:12px;margin-top:0}.aside-details .selected{border-bottom:1px solid #e4e4e4;color:#000;padding:15px;text-align:center}.aside-details .description,.aside-details .instructions{background-color:#fbfbfb}.aside-details .description,.aside-details .infos,.aside-details .instructions{color:#53595f;font-size:12px;line-height:1.2;padding:15px}.aside-details .infos ul li{font-size:12px}.aside-details .infos ul li .infoname{color:#999;font-weight:700;width:50%}.aside-details .infos ul li .infovalue{word-wrap:break-word;max-width:50%;padding:0 8px}.aside-details .infos ul li span{display:inline-block;padding:0}.thumb-wrapper{background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;cursor:pointer;float:left;margin:0 15px 15px 0;overflow:hidden;padding:0 0 12px;position:relative;width:250px}.thumb-wrapper,.thumb-wrapper *{box-sizing:border-box}.thumb-wrapper .thumb{background-color:#fff;border-bottom:1px solid #ccc;height:170px;margin:0 auto;position:relative;text-align:center;width:100%}.thumb-wrapper .thumb img{max-height:100%;max-width:100%}.thumb-wrapper .thumb .no-preview{color:#888;display:inline-block;font-size:9px;font-weight:700;padding:31px 15px;text-align:center;text-transform:uppercase}.thumb-wrapper span.downloaded,.thumb-wrapper span.featured{background-color:#6cb24a;color:#fff;font-weight:700;padding:5px 0;position:absolute;text-align:center;text-shadow:none;top:68px;width:100%}.thumb-wrapper span.featured{background-color:#234368;bottom:0;color:#fff;top:auto}.thumb-wrapper span{display:block;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;text-shadow:0 1px 0 #fff;white-space:nowrap}.thumb-wrapper .name{color:#53595f;float:left;font-size:12px;font-weight:700;padding:12px 8px 12px 12px;width:55%}.thumb-wrapper .downloads{color:#999;float:right;font-size:9px;padding:8px 12px 8px 8px;text-align:right;text-transform:uppercase;width:45%}.thumb-wrapper .thumb-description{clear:both;font-size:12px;height:50px;overflow:hidden;padding:0 12px}.thumb-wrapper .thumb-footer{color:#999;font-size:9px;padding:8px 12px 0;text-align:center;text-transform:uppercase}.thumb-wrapper.selected{background-color:#fff;border-color:#234368;padding:0 0 12px}.thumb-wrapper.selected img{border:0}.pbr-thumb{background:#dfdfdf;padding:3px}.pbr-thumb,.pbr-thumb img{height:80px;width:100px}.x-grid3-hd-info-col,.x-grid3-hd-meta-col,.x-grid3-hd-text-col{text-align:center}.x-grid3-col-text-col{font-size:11px;text-align:center}.x-grid3-col-info-col,.x-grid3-col-meta-col{font-size:11px;font-weight:700;text-align:center}.x-grid3-col-meta-col{color:#53595f}.x-grid3-col-info-col{color:#6cb24a}.not-installed .x-grid3-col-info-col{color:#cf1124}.inline-button{-webkit-box-align:center;display:inline;margin:0 auto;padding:8px;text-align:center}.meta-wrapper{word-wrap:break-word;color:grey;max-height:400px;overflow:auto;padding:15px}.meta-wrapper ul{list-style:disc inside;padding-left:15px}.meta-wrapper h1{font-size:1.2em}.meta-wrapper h2{font-size:1.15em}.meta-wrapper h3{font-size:1.1em}.meta-wrapper h4{font-size:1.05em}.meta-wrapper h5{font-size:1em}.meta-wrapper h6{font-size:.95em}.window-no-padding .x-panel-mc,.window-no-padding .x-panel-ml,.window-no-padding .x-panel-mr{padding:0!important}.window-no-padding .x-tab-panel-noborder{margin:0!important}.upload-error{color:#cf1124}.upload-success{color:#6cb24a}.upload-status-text{white-space:normal}.upload-thumb{float:right}.auto-width{width:auto!important}.auto-height{height:auto!important}.x-datetime-inline-editor .x-datetime-wrap{margin-top:0!important} /*# sourceMappingURL=index-min.css.map */ \ No newline at end of file diff --git a/manager/templates/default/css/index.css b/manager/templates/default/css/index.css index 0d4faa3311c..e767aee0769 100644 --- a/manager/templates/default/css/index.css +++ b/manager/templates/default/css/index.css @@ -21592,6 +21592,16 @@ input::-moz-focus-inner { /* .x-form-check-wrap */ /* Special checboxes for resources and tv configs */ +#modx-chunk-tabs.space-before, +#modx-plugin-tabs.space-before, +#modx-resource-tabs .display-switch.space-before, +#modx-snippet-tabs.space-before, +#modx-template-tabs.space-before, +#modx-tv-tabs .display-switch.space-before, +#modx-tv-editor-tabs.space-before, +.display-switch.space-before { + margin-top: 0.75rem; +} #modx-chunk-tabs .x-form-check-wrap [type=checkbox], #modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox], #modx-chunk-tabs .x-fieldset legend [type=checkbox], @@ -21612,7 +21622,10 @@ input::-moz-focus-inner { #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox], #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox], #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox], -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox], +.display-switch .x-form-check-wrap [type=checkbox], +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox], +.display-switch .x-fieldset legend [type=checkbox] { position: absolute; left: -9999px; } @@ -21636,7 +21649,10 @@ html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [ html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox], html[dir=rtl] #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox], html[dir=rtl] #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox], -html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { +html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox], +html[dir=rtl] .display-switch .x-form-check-wrap [type=checkbox], +html[dir=rtl] .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox], +html[dir=rtl] .display-switch .x-fieldset legend [type=checkbox] { right: -9999px; left: unset; } @@ -21680,7 +21696,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text, +.display-switch .x-form-check-wrap [type=checkbox] + .x-form-cb-label, +.display-switch .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text, +.display-switch .x-fieldset legend [type=checkbox] + .x-form-cb-label, +.display-switch .x-fieldset legend [type=checkbox] + .x-fieldset-header-text { position: relative; padding-left: 3.6em; padding-top: 0.2em; @@ -21770,7 +21792,19 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-fieldset legend [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-fieldset legend [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after { content: ""; position: absolute; transition: all 0.2s ease; @@ -21816,7 +21850,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:before, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-form-check-wrap [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:before, +.display-switch .x-fieldset legend [type=checkbox] + .x-form-cb-label:before, +.display-switch .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:before { left: 0; top: 0; width: 3em; @@ -21865,7 +21905,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-form-cb-label:after, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-form-check-wrap [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-form-check-wrap [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox] + .x-fieldset-header-text:after, +.display-switch .x-fieldset legend [type=checkbox] + .x-form-cb-label:after, +.display-switch .x-fieldset legend [type=checkbox] + .x-fieldset-header-text:after { left: 0.1em; top: 0.8em; margin-top: -0.65em; @@ -21915,7 +21961,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:after, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:after, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:after, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:after { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:after, +.display-switch .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:after, +.display-switch .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:after, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:after, +.display-switch .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:after, +.display-switch .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:after { left: 1.6em; top: 0.8em; } @@ -21959,7 +22011,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:before, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:before, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:before, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:before { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:before, +.display-switch .x-form-check-wrap [type=checkbox]:checked + .x-form-cb-label:before, +.display-switch .x-form-check-wrap [type=checkbox]:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-form-cb-label:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset legend [type=checkbox]:checked + .x-form-cb-label:before, +.display-switch .x-fieldset legend [type=checkbox]:checked + .x-fieldset-header-text:before { background-color: #6CB24A; border-color: #6CB24A; } @@ -22003,7 +22061,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-form-cb-label:before, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-fieldset-header-text:before, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-form-cb-label:before, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-fieldset-header-text:before { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked + .x-fieldset-header-text:before, +.display-switch .x-form-check-wrap [type=checkbox].danger:checked + .x-form-cb-label:before, +.display-switch .x-form-check-wrap [type=checkbox].danger:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-form-cb-label:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset legend [type=checkbox].danger:checked + .x-form-cb-label:before, +.display-switch .x-fieldset legend [type=checkbox].danger:checked + .x-fieldset-header-text:before { background-color: #CF1124; border-color: #CF1124; } @@ -22047,7 +22111,13 @@ html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox] { #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-form-cb-label:before, #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-fieldset-header-text:before, #modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-form-cb-label:before, -#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-fieldset-header-text:before { +#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked + .x-fieldset-header-text:before, +.display-switch .x-form-check-wrap [type=checkbox].warning:checked + .x-form-cb-label:before, +.display-switch .x-form-check-wrap [type=checkbox].warning:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-form-cb-label:before, +.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked + .x-fieldset-header-text:before, +.display-switch .x-fieldset legend [type=checkbox].warning:checked + .x-form-cb-label:before, +.display-switch .x-fieldset legend [type=checkbox].warning:checked + .x-fieldset-header-text:before { background-color: #F0B429; border-color: #F0B429; } @@ -28219,6 +28289,45 @@ html[dir=rtl] .x-hide-offsets { padding: 18px 25px 40px; } +.x-grid3-row-expanded .x-grid3-row-body .manager-user-message { + display: flex; + flex-direction: column-reverse; + gap: 1rem; + padding: 0.5rem 0.25rem 0; + border-top: 1px dashed rgba(134, 139, 143, 0.5); +} +.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta { + display: flex; + flex-direction: row; + row-gap: 0.25rem; + line-height: 1.4; + font: normal 11px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-style: italic; + column-gap: 0.5rem; + justify-content: space-between; +} +.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span { + display: block; +} +.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body { + flex-grow: 1; +} +.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body p { + font: normal 12px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} +@media screen and (min-width: 641px) { + .x-grid3-row-expanded .x-grid3-row-body .manager-user-message { + flex-direction: row-reverse; + } + .x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta { + flex-direction: column; + justify-content: normal; + } + .x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span { + display: inline; + } +} + /* Package browser */ .home-panel ol { border-top: 1px solid #cacaca; From 3c0acdef8be151c5eb08bf942f526810cb8cb793 Mon Sep 17 00:00:00 2001 From: halftrainedharry <85392304+halftrainedharry@users.noreply.github.com> Date: Wed, 18 Sep 2024 22:41:09 +0200 Subject: [PATCH 04/56] Fix error suppression for PHP 8+ (#16615) ### What does it do? Adds a check to the custom error handler function, to see if a warning has to be handled. ### Why is it needed? MODX has a custom error handler function. When the error control operator (`@`) is used (e.g. `@exif_read_data()`), the custom error handler still gets called. With **PHP 7.4,** when the error was suppressed by the `@` operator, `error_reporting()` called inside the custom error handler always returned 0. This gets checked here: https://github.com/modxcms/revolution/blob/9e7bb63615f8a9921e657027501f2aaf1be07454/core/src/Revolution/Error/modErrorHandler.php#L61-L63 With **PHP 8**, this is no longer the case: > As of PHP 8.0.0, it returns the value of this (bitwise) expression: E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR | E_PARSE. https://www.php.net/manual/en/language.operators.errorcontrol.php ### How to test For example: - Use PHP 8.0 (or higher) - Open the media browser and navigate to a folder with a picture that doesn't have EXIF headers. - Make sure, that the warning `PHP warning: exif_read_data(...): File not supported` doesn't get logged to the MODX error log anymore. ### Related issue(s)/PR(s) #16420 --- core/src/Revolution/Error/modErrorHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/Revolution/Error/modErrorHandler.php b/core/src/Revolution/Error/modErrorHandler.php index c388adca02f..368bd48645a 100644 --- a/core/src/Revolution/Error/modErrorHandler.php +++ b/core/src/Revolution/Error/modErrorHandler.php @@ -58,7 +58,7 @@ function __construct(modX &$modx, array $stack = []) */ public function handleError($errno, $errstr, $errfile = null, $errline = null, $errcontext = null) { - if (error_reporting() == 0) { + if (error_reporting() == 0 || !(error_reporting() & $errno)) { return false; } From 80c160bd52b65efb683228f6b9a79834e2b58080 Mon Sep 17 00:00:00 2001 From: MODX Bot Date: Wed, 18 Sep 2024 22:42:06 +0200 Subject: [PATCH 05/56] New Crowdin updates (#16616) --- core/lexicon/sv/user.inc.php | 12 ++++++------ setup/lang/sv/default.inc.php | 2 +- setup/lang/sv/upgrades.inc.php | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/lexicon/sv/user.inc.php b/core/lexicon/sv/user.inc.php index e3591d39649..c155ff2632e 100644 --- a/core/lexicon/sv/user.inc.php +++ b/core/lexicon/sv/user.inc.php @@ -25,7 +25,7 @@ $_lang['password_gen_specify'] = 'Låt mig specificera ett lösenord:'; $_lang['password_method'] = 'Metod för visning av lösenord'; $_lang['password_method_screen'] = 'Visa det nya lösenordet på skärmen.'; -$_lang['password_gen_user_email_specify'] = 'Let the user choose their own password via email'; +$_lang['password_gen_user_email_specify'] = 'Låt användaren välja sitt eget lösenord via e-post'; $_lang['notify_new_user'] = 'Skicka ett meddelande till denna användare om dess nya konto för webbplatsen.'; $_lang['password_new'] = 'Nytt lösenord'; $_lang['password_notification'] = 'Lösenordsvisning'; @@ -44,13 +44,13 @@ $_lang['role_err_nf'] = 'Rollen kunde inte hittas.'; $_lang['role_err_nfs'] = 'Kunde inte hitta rollen med ID: [[+role]]'; $_lang['role_err_ns'] = 'Ingen roll angiven!'; -$_lang['role_err_ns_authority'] = 'Please specify an authority level for this role.'; +$_lang['role_err_ns_authority'] = 'Ange en behörighetsnivå för denna roll.'; $_lang['role_err_ns_name'] = 'Ange ett namn för rollen.'; $_lang['role_err_remove'] = 'Ett fel inträffade när rollen skulle tas bort.'; $_lang['role_err_remove_admin'] = 'Rollen du försöker ta bort är administratörsrollen. Den kan inte tas bort!'; $_lang['role_remove'] = 'Ta bort roll'; $_lang['role_remove_confirm'] = 'Är du säker på att du vill ta bort den här rollen?'; -$_lang['role_warn_authority_locked'] = 'This Role’s authority can not be changed because this Role is currently assigned to one or more Access Control List entries.'; +$_lang['role_warn_authority_locked'] = 'Rollens behörighet kan inte ändras eftersom denna roll för närvarande är tilldelad till en eller flera poster i åtkomstkontrolllistan.'; $_lang['roles'] = 'Roller'; $_lang['rrg_drag'] = 'Dra resurser till resursgrupperna här.'; $_lang['ugc_grid_title'] = 'Användargruppsåtkomst till kontexter'; @@ -94,7 +94,7 @@ $_lang['user_err_not_specified_managerstartup'] = 'Ange ett existerande och giltigt dokument-ID för startsidan som visas efter inloggning i hanteraren.'; $_lang['user_err_not_specified_managertheme'] = 'Temat som du angivit för hanteraren har inte laddats upp.'; $_lang['user_err_not_specified_mobnumber'] = 'Ange ett giltigt mobilnummer inklusive riktnummer (om det behövs, tex i USA).'; -$_lang['user_err_not_specified_notification_method'] = 'Please specify a notification method for the new password.'; +$_lang['user_err_not_specified_notification_method'] = 'Ange ett aviseringssätt för det nya lösenordet.'; $_lang['user_err_not_specified_password'] = 'Ange ett lösenord.'; $_lang['user_err_not_specified_phonenumber'] = 'Ange ett giltigt telefonnummer inklusive riktnummer.'; $_lang['user_err_not_specified_resourcedir'] = 'Katalogen du angivit är inte en giltig katalog.'; @@ -198,5 +198,5 @@ $_lang['users'] = 'Användare'; $_lang['user_createdon'] = 'Skapad den'; $_lang['user_createdon_desc'] = 'Det datum då användaren skapades.'; -$_lang['user_password_email_subject'] = 'Set up your password'; -$_lang['user_password_email'] = '

Set up your password

We received a request to set up your MODX Revolution password. You can set up your password by clicking the button below and following the instructions on screen.

Set up my password

If you did not send this request, please ignore this email.

'; +$_lang['user_password_email_subject'] = 'Ställ in ditt lösenord'; +$_lang['user_password_email'] = '

Ställ in ditt lösenord

Vi fick en begäran om att ställa in ditt lösenord för MODX Revolution. Du kan ställa in ditt lösenord genom att klicka på knappen nedan och följa instruktionerna på skärmen.

Ställ in mitt lösenord

Om du inte skickade denna begäran så kan du ignorera detta mail.

'; diff --git a/setup/lang/sv/default.inc.php b/setup/lang/sv/default.inc.php index 192d0711c0d..59fccfd9103 100644 --- a/setup/lang/sv/default.inc.php +++ b/setup/lang/sv/default.inc.php @@ -81,7 +81,7 @@ $_lang['delete_setup_dir'] = 'Bocka för här för att TA BORT installationskatalogen från filsystemet.'; $_lang['dir'] = 'vth'; $_lang['email_err_ns'] = 'E-postadressen är inte korrekt'; -$_lang['err_occ'] = 'Errors have occurred!'; +$_lang['err_occ'] = 'Fel har inträffat!'; $_lang['err_update_table'] = 'Ett fel inträffade när tabellen för klassen [[+class]] uppdaterades'; $_lang['errors_occurred'] = 'Fel inträffade när kärnan skulle installeras. Studera installationsresultaten nedan, korrigera problemen och följ vidare instruktioner.'; $_lang['failed'] = 'Misslyckades!'; diff --git a/setup/lang/sv/upgrades.inc.php b/setup/lang/sv/upgrades.inc.php index 2498802cc99..e8447777fba 100644 --- a/setup/lang/sv/upgrades.inc.php +++ b/setup/lang/sv/upgrades.inc.php @@ -16,7 +16,7 @@ $_lang['alter_usermessage_messageread'] = 'Ändrade `messageread`-fältet i modUserMessage till `läs`.'; $_lang['alter_usermessage_postdate'] = 'Bytte namn på `postdate`-fältet i modUserMessage till `date_sent` och ändrade från INT till DATETIME.'; $_lang['alter_usermessage_subject'] = 'Ändrade `subject`-fältet i modUserMessage från VARCHAR(60) till VARCHAR(255).'; -$_lang['authority_unique_index_error'] = 'Multiple modUserGroup records with the same authority were found. You will need to update these to have unique authority values and then re-run the upgrade.'; +$_lang['authority_unique_index_error'] = 'Flera modUserGroup-poster med samma auktoritet hittades. Du behöver uppdatera dessa för att ha unika auktoritetsvärden och sedan köra om uppgraderingen.'; $_lang['change_column'] = 'Ändrade fältet `[[+old]]` till `[[+new]]` i tabellen [[+table]].'; $_lang['change_default_value'] = 'Ändrade standardvärdet för kolumnen `[[+column]]` till "[[+value]]" i tabellen [[+table]].'; $_lang['connector_acls_removed'] = 'Tog bort kopplingskontextens ACL:er.'; From 1755b988b2dd197fe042ada67c3fe7dc7ec1df4f Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Thu, 19 Sep 2024 16:38:15 -0400 Subject: [PATCH 06/56] Fix Dashboard Updates widget's display of the most recent modx version (#16608) ### What does it do? Added new `SoftwareUpdate` Processors for retrieving available MODX and Extras updates information, utilizing the new upgrades API. This PR is a Phase 1 fix that solves the issue at hand, but also paves the way for a more flexible and comprehensive Updates widget display to be done in a Phase 2 PR. In that next phase, users will be able to control what level of update MODX candidates should be shown (via a few new system settings). The new MODX download functionality provides a direct download instead of a link to the modx.com downloads area. ### Why is it needed? The widget currently incorrectly shows the current -dev version. ### How to test 1. Manually delete session data from the database. 2. Clear browser and MODX caches and verify that the widget displays the correct update version. 3. Test with an up-to-date `-pl` release (currently 3.0.5), a `-dev` release (github 3.0.x or 3.x), and an older `-pl` or `-dev` release (3.0.0 - 3.0.4). This is a little tricky, because you're going to pull down the 3.1.0-dev from github to review. You may want to manually override the installed version in `core/src/Revolution/Processors/SoftwareUpdate/GetList.php` (line 33), setting it to various versions to see what happens in the Dashboard widget (e.g., 3.0.1-pl or 3.0.6-dev, etc.). ### Example (with 3.0.4-dev installed) https://github.com/user-attachments/assets/a74f8872-4047-4307-b1c0-0d522581066d ### Related issue(s)/PR(s) Resolves #16466 --- .../Processors/SoftwareUpdate/Base.php | 75 +++++++++ .../Processors/SoftwareUpdate/GetFile.php | 59 +++++++ .../Processors/SoftwareUpdate/GetList.php | 145 ++++++++++++++++++ .../default/dashboard/widget.updates.php | 73 +++------ manager/controllers/default/welcome.class.php | 3 +- .../templates/default/dashboard/updates.tpl | 70 ++++++++- 6 files changed, 364 insertions(+), 61 deletions(-) create mode 100644 core/src/Revolution/Processors/SoftwareUpdate/Base.php create mode 100644 core/src/Revolution/Processors/SoftwareUpdate/GetFile.php create mode 100644 core/src/Revolution/Processors/SoftwareUpdate/GetList.php diff --git a/core/src/Revolution/Processors/SoftwareUpdate/Base.php b/core/src/Revolution/Processors/SoftwareUpdate/Base.php new file mode 100644 index 00000000000..ca6373c09d7 --- /dev/null +++ b/core/src/Revolution/Processors/SoftwareUpdate/Base.php @@ -0,0 +1,75 @@ +apiClient) { + $this->apiClient = $this->modx->services->get(ClientInterface::class); + $this->apiFactory = $this->modx->services->get(RequestFactoryInterface::class); + } + } + + /** + * Builds the API link used to fetch file data + * + * @param array $requestParams Query parameters + * @param string $targetId An intermediate id used to fetch the actual download link + * @return string The full URI to pass into the upgrades API + */ + public function buildRequestUri(array $requestParams = [], string $targetId = ''): string + { + $uri = $this->apiHost; + /* + When a $targetId is passed in, we are making the final request whose response + reveals the real update file path. Otherwise the request gets a full list of + potential upgrades based on criteria passed in the $requestParams + */ + $uri .= !empty($targetId) + ? str_replace('[downloadId]', $targetId, $this->apiGetFilePath) + : $this->apiGetReleasesPath + ; + if (count($requestParams) > 0) { + $uri .= '?' . http_build_query($requestParams); + } + return $uri; + } +} diff --git a/core/src/Revolution/Processors/SoftwareUpdate/GetFile.php b/core/src/Revolution/Processors/SoftwareUpdate/GetFile.php new file mode 100644 index 00000000000..9fe489d09bf --- /dev/null +++ b/core/src/Revolution/Processors/SoftwareUpdate/GetFile.php @@ -0,0 +1,59 @@ +getProperty('downloadId', null); + $responseData = []; + + if ($downloadId) { + $this->initApiClient(); + + $uri = $this->buildRequestUri(['uuid' => $this->modx->uuid], $downloadId); + $request = $this->apiFactory->createRequest('GET', $uri) + ->withHeader('Accept', 'application/json') + ->withHeader('Content-Type', 'application/json'); + try { + $response = $this->apiClient->sendRequest($request); + } catch (ClientExceptionInterface $e) { + $this->modx->log(modX::LOG_LEVEL_ERROR, $e->getMessage()); + return $this->failure($e->getMessage()); + } + + $fileData = $response->getBody()->getContents(); + + if ($fileData) { + $fileData = json_decode($fileData, true); + if (!empty($fileData['zip_url']) && strpos($fileData['zip_url'], 'http') === 0) { + $name = basename($fileData['zip_url']); + $responseData['filename'] = $name; + $responseData['zip'] = $fileData['zip_url']; + $responseData['status'] = $response->getStatusCode(); + } + } + return $this->success('', $responseData); + } + } +} diff --git a/core/src/Revolution/Processors/SoftwareUpdate/GetList.php b/core/src/Revolution/Processors/SoftwareUpdate/GetList.php new file mode 100644 index 00000000000..54e8c422e92 --- /dev/null +++ b/core/src/Revolution/Processors/SoftwareUpdate/GetList.php @@ -0,0 +1,145 @@ +installedVersionData = $this->modx->getVersionData(); + return parent::initialize(); + } + + public function process() + { + $softwareType = $this->getProperty('softwareType', 'modx'); + $categoryData = [ + 'updateable' => 0 + ]; + if ($softwareType === 'modx') { + $modxData = $this->getModxUpdates(); + if (is_array($modxData)) { + $categoryData = array_merge($categoryData, $modxData); + } + } else { + $extrasData = $this->getExtrasUpdates(); + if (is_array($extrasData)) { + $categoryData = array_merge($categoryData, $extrasData); + } + } + return $this->success('', $categoryData); + } + + /** + * Fetches a list of MODX update candidates + * + * @return array Data indicating whether the current installation is + * updatable and the available releases if so + */ + public function getModxUpdates(): array + { + $this->initApiClient(); + + $uri = $this->buildRequestUri([ + 'current' => $this->installedVersionData['full_version'], + 'level' => 'major', + 'variant' => 'Traditional', + 'prereleases' => 0 + ]); + + $request = $this->apiFactory->createRequest('GET', $uri) + ->withHeader('Accept', 'application/json') + ->withHeader('Content-Type', 'application/json'); + try { + $response = $this->apiClient->sendRequest($request); + } catch (ClientExceptionInterface $e) { + $this->modx->log(modX::LOG_LEVEL_ERROR, 'ClientExceptionInterface Err: ' . $e->getMessage()); + return $this->failure($e->getMessage()); + } + + $listData = $response->getBody()->getContents(); + $categoryData = []; + if ($listData) { + $listData = json_decode($listData, true); + $upgrades = $listData['upgrades']; + $selectedUpgrade = null; + if (!empty($upgrades)) { + $i = 0; + $upgradesCount = count($upgrades); + if ($upgradesCount === 1) { + $categoryData['updateable'] = 1; + $selectedUpgrade = $upgrades; + } else { + foreach ($upgrades as $upgrade) { + $selectedUpgrade = $upgrade; + break; + } + $categoryData['updateable'] = (int)version_compare($this->installedVersionData['full_version'], $upgrade['version'], '<'); + } + if ($categoryData['updateable']) { + /* + NOTE: This is superfluous now, but is done in preparation + for iterating through multiple displayable versions + */ + $categoryData['versions'][$i]['version'] = $selectedUpgrade['version']; + $urlSegments = explode('/', trim($selectedUpgrade['url'], '/')); + $categoryData['versions'][$i]['downloadId'] = $urlSegments[count($urlSegments) - 2]; + + $categoryData['latest']['version'] = $categoryData['versions'][0]['version']; + $categoryData['latest']['downloadId'] = $categoryData['versions'][0]['downloadId']; + } + } + } + return $categoryData; + } + + /** + * Fetches a list of Extras update candidates + * + * @return array Data indicating whether any installed Extras are updatable + * and, if so, providing the names of those that are update candidates + */ + public function getExtrasUpdates(): array + { + $categoryData = []; + $packages = $this->modx->call(modTransportPackage::class, 'listPackages', [$this->modx, 1]); + if ($packages && array_key_exists('collection', $packages)) { + $packagesProcessor = new PackagesGetList($this->modx); + + /** @var modTransportPackage $package */ + foreach ($packages['collection'] as $package) { + $tmp = []; + $tmp = $packagesProcessor->checkForUpdates($package, $tmp); + if (!empty($tmp['updateable'])) { + $categoryData['names'][] = $package->get('package_name'); + $categoryData['updateable']++; + } + } + } + return $categoryData; + } +} diff --git a/manager/controllers/default/dashboard/widget.updates.php b/manager/controllers/default/dashboard/widget.updates.php index decd14df99f..60c41c4030f 100644 --- a/manager/controllers/default/dashboard/widget.updates.php +++ b/manager/controllers/default/dashboard/widget.updates.php @@ -2,9 +2,8 @@ use MODX\Revolution\modX; use MODX\Revolution\modDashboardWidgetInterface; -use MODX\Revolution\Processors\Workspace\Packages\GetList; +use MODX\Revolution\Processors\SoftwareUpdate\GetList as SoftwareUpdateGetList; use MODX\Revolution\Smarty\modSmarty; -use MODX\Revolution\Transport\modTransportPackage; use xPDO\xPDO; /** @@ -13,73 +12,44 @@ */ class modDashboardWidgetUpdates extends modDashboardWidgetInterface { - /** @var modX $modx */ - public $modx; - public $latest_url = 'https://raw.githubusercontent.com/modxcms/revolution/3.x/_build/build.xml'; - public $download_url = 'https://modx.com/download/latest'; public $updatesCacheExpire = 3600; - /** * @return string * @throws Exception */ public function render() { - $processor = new GetList($this->modx); - $updateCacheKey = 'mgr/providers/updates/modx-core'; $updateCacheOptions = [ - xPDO::OPT_CACHE_KEY => $this->modx->cacheManager->getOption('cache_packages_key', null, 'packages'), - xPDO::OPT_CACHE_HANDLER => $this->modx->cacheManager->getOption('cache_packages_handler', null, $this->modx->cacheManager->getOption(xPDO::OPT_CACHE_HANDLER)), + xPDO::OPT_CACHE_KEY => $this->modx->cacheManager->getOption( + 'cache_packages_key', + null, + 'packages' + ), + xPDO::OPT_CACHE_HANDLER => $this->modx->cacheManager->getOption( + 'cache_packages_handler', + null, + $this->modx->cacheManager->getOption(xPDO::OPT_CACHE_HANDLER) + ), ]; if (!$data = $this->modx->cacheManager->get($updateCacheKey, $updateCacheOptions)) { $data = [ - 'modx' => [ - 'updateable' => 0, - ], - 'packages' => [ - 'names' => [], - 'updateable' => 0, - ], + 'modx' => [], + 'extras' => [] ]; - if (function_exists('curl_init')) { - $curl = curl_init(); - curl_setopt($curl, CURLOPT_URL, $this->latest_url); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_TIMEOUT, 1); - $content = curl_exec($curl); - curl_close($curl); - if ($content) { - $xml = new SimpleXMLElement($content); - foreach ($xml->property as $key => $value) { - $name = (string)$value->attributes()->name; - if ($name == 'modx.core.version') { - $data['modx']['version'] = (string)$value->attributes()->value; - } elseif ($name == 'modx.core.release') { - $data['modx']['release'] = (string)$value->attributes()->value; - } - } - } - if (!empty($data['modx']['version']) && !empty($data['modx']['release'])) { - if ($version = $this->modx->getVersionData()) { - $data['modx']['full_version'] = $data['modx']['version'] . '-' . $data['modx']['release']; - $data['modx']['updateable'] = (int)version_compare($version['full_version'], $data['modx']['full_version'], '<'); - } - } + $modxUpdatesProcessor = new SoftwareUpdateGetList($this->modx); + $modxData = $modxUpdatesProcessor->run()->getObject(); + if (is_array($modxData) && array_key_exists('updateable', $modxData)) { + $data['modx'] = $modxData; } - $packages = $this->modx->call(modTransportPackage::class, 'listPackages', [$this->modx, 1, 11, 0]); - /** @var modTransportPackage $package */ - foreach ($packages['collection'] as $package) { - $tmp = []; - $tmp = $processor->checkForUpdates($package, $tmp); - if (!empty($tmp['updateable'])) { - $data['packages']['names'][] = $package->get('package_name'); - $data['packages']['updateable']++; - } + $extrasUpdatesProcessor = new SoftwareUpdateGetList($this->modx, ['softwareType' => 'extras']); + $extrasData = $extrasUpdatesProcessor->run()->getObject(); + if (is_array($extrasData) && array_key_exists('updateable', $extrasData)) { + $data['extras'] = $extrasData; } $this->modx->cacheManager->set($updateCacheKey, $data, $this->updatesCacheExpire, $updateCacheOptions); @@ -92,7 +62,6 @@ public function render() return $this->modx->smarty->fetch('dashboard/updates.tpl'); } - } return 'modDashboardWidgetUpdates'; diff --git a/manager/controllers/default/welcome.class.php b/manager/controllers/default/welcome.class.php index 54ebb89decc..defc69ca174 100644 --- a/manager/controllers/default/welcome.class.php +++ b/manager/controllers/default/welcome.class.php @@ -1,4 +1,5 @@ MODX {if $modx.updateable} - {$modx.full_version} - {$_lang.updates_update} + {$modx.latest.version} + + + {$_lang.download} + + {else} {$_lang.updates_ok} - + {/if} - {if $packages.updateable} + {if $extras.updateable} {$_lang.updates_extras} - {if $packages.updateable > 10}10+{else}{$packages.updateable}{/if} + {if $extras.updateable > 10}10+{else}{$extras.updateable}{/if} {$_lang.updates_available} {$_lang.updates_update} + class="dashboard-button package">{$_lang.updates_update} {else} {$_lang.updates_extras} {$_lang.updates_ok} - + {/if} + +{literal} + + {/literal} \ No newline at end of file From b20737108147ab9d06ce19066299ca9aac4867b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jens=20Wittmann=20=E2=80=93=20Gestaltung=20=26=20Entwicklu?= =?UTF-8?q?ng?= Date: Mon, 23 Sep 2024 17:58:07 +0200 Subject: [PATCH 07/56] Keyboard accessibility improvements (#16613) ### What does it do? Make the MODX manager interface more accessible when using the keyboard ### How to test Minify CSS and compress JS via grunt first. Use the `Tab` key to navigate through the Manager UI. Use the `Esc` key to close the subnavigation. Use the tab key to navigate through the tabs. ### Related issue(s)/PR(s) See #16612 --------- Co-authored-by: Jason Coward --- _build/templates/default/sass/_a11y.scss | 44 +++++++++ _build/templates/default/sass/_dashboard.scss | 3 +- _build/templates/default/sass/_navbar.scss | 9 +- _build/templates/default/sass/_tree.scss | 3 +- _build/templates/default/sass/index.scss | 1 + manager/assets/modext/core/modx.layout.js | 90 ++++++++++++++---- manager/assets/modext/modx.jsgrps-min.js | 6 +- manager/assets/modext/util/utilities.js | 6 +- .../assets/modext/widgets/core/modx.button.js | 4 +- .../assets/modext/widgets/core/modx.tabs.js | 10 +- manager/controllers/default/header.php | 4 +- manager/templates/default/css/index-min.css | 4 +- manager/templates/default/css/index.css | 94 +++++++++++++++---- manager/templates/default/footer.tpl | 4 +- manager/templates/default/header.tpl | 14 ++- 15 files changed, 238 insertions(+), 58 deletions(-) create mode 100644 _build/templates/default/sass/_a11y.scss diff --git a/_build/templates/default/sass/_a11y.scss b/_build/templates/default/sass/_a11y.scss new file mode 100644 index 00000000000..064d46ecdbe --- /dev/null +++ b/_build/templates/default/sass/_a11y.scss @@ -0,0 +1,44 @@ +.ext-webkit { + + * { + + &:focus-visible { + outline: auto !important; + outline-offset: .1em; + + &.x-form-focus { + outline: none !important; + } + } + } + + .x-form-check-wrap:focus-within:has(:focus-visible) { + + label:before { + outline: auto !important; + outline-offset: .1em; + } + } +} + +// skiplinks +.skiplinks { + position: fixed; + top: -100rem; + left: -100rem; + z-index: 99999; + width: 0; + height: 0; + + a { + &:focus, + &:active { + position: fixed; + top: 0; + left: 0; + padding: 1rem; + margin: 1rem; + background-color: white; + } + } +} diff --git a/_build/templates/default/sass/_dashboard.scss b/_build/templates/default/sass/_dashboard.scss index 6e14d19519e..e981c14ce30 100644 --- a/_build/templates/default/sass/_dashboard.scss +++ b/_build/templates/default/sass/_dashboard.scss @@ -174,7 +174,8 @@ } } - &:hover { + &:hover, + &:focus-within { .action-buttons { button { opacity: 1; diff --git a/_build/templates/default/sass/_navbar.scss b/_build/templates/default/sass/_navbar.scss index db9c25b32fa..05300b6f758 100644 --- a/_build/templates/default/sass/_navbar.scss +++ b/_build/templates/default/sass/_navbar.scss @@ -27,7 +27,7 @@ background: $colorSplash; max-width: $navbarWidth; position: absolute; - z-index: 2; + z-index: 9999; height: 100%; } @@ -184,6 +184,7 @@ } } +#modx-header, #modx-footer { .modx-subnav { border: 1px solid $navbarBorder; @@ -194,7 +195,7 @@ box-sizing: border-box; list-style: none; position: absolute; - z-index: 10000; + z-index: 99999999999; opacity: 0; visibility: hidden; transition: all .15s ease; @@ -235,6 +236,7 @@ border-radius: $borderRadius; background-color: $subnavBg; color: $subnavTitleColor; + font-size: 13px; font-weight: bold; line-height: 1.5; margin: 0; @@ -244,6 +246,7 @@ display: block; text-decoration: none; cursor: pointer; + text-align: left; .icon { display: inline-block; @@ -409,6 +412,7 @@ } } + #modx-header, #modx-footer { .modx-subnav { min-width: 300px; @@ -458,6 +462,7 @@ } @media (max-height: 520px) { + #modx-header, #modx-footer { .modx-subnav { .description { diff --git a/_build/templates/default/sass/_tree.scss b/_build/templates/default/sass/_tree.scss index ab1b2e451e8..b8da8923242 100644 --- a/_build/templates/default/sass/_tree.scss +++ b/_build/templates/default/sass/_tree.scss @@ -334,7 +334,8 @@ } &:hover, - &:focus { + &:focus, + &:focus-within { .modx-tree-node-btn-create { opacity: 1.0; } diff --git a/_build/templates/default/sass/index.scss b/_build/templates/default/sass/index.scss index f52f86e1460..df7b202f751 100644 --- a/_build/templates/default/sass/index.scss +++ b/_build/templates/default/sass/index.scss @@ -48,6 +48,7 @@ $fa-css-prefix: fa; @import "help"; @import "trash"; @import "package-management"; +@import "a11y"; .icon { @extend %pseudo-font; diff --git a/manager/assets/modext/core/modx.layout.js b/manager/assets/modext/core/modx.layout.js index 1d9538b176c..3ecd762e6d1 100644 --- a/manager/assets/modext/core/modx.layout.js +++ b/manager/assets/modext/core/modx.layout.js @@ -61,6 +61,16 @@ Ext.extend(MODx.Layout, Ext.Viewport, { */ ,splitBarMargin: 8 + /** + * @property {Array} focusRestoreEls - Set Focus back on the last Element in array on close + */ + ,focusRestoreEls: [] + + /** + * @property {bool} subNavOpen - Check if Subnav is opened + */ + ,subNavOpen: false + /** * @property {Function} getSplitBarMargin - Utility getter for splitBarMargin * @returns {Number} @@ -141,7 +151,7 @@ Ext.extend(MODx.Layout, Ext.Viewport, { ,xtype: 'box' ,id: 'modx-header' ,applyTo: 'modx-header' - ,autoScroll: true + //,autoScroll: true ,width: this.menuBarWidth ,listeners: { afterrender: { fn: this.initPopper, scope: this } @@ -465,10 +475,11 @@ Ext.extend(MODx.Layout, Ext.Viewport, { } } }); - buttons[i].onclick = function(e) { + buttons[i].addEventListener('click', function(e) { e.stopPropagation(); + el.focusRestoreEls.push(this.querySelectorAll('a')[0]); el.showMenu(this); - }; + }); } window.addEventListener('click', function() { el.hideMenu(); @@ -485,6 +496,31 @@ Ext.extend(MODx.Layout, Ext.Viewport, { } else { this.hideMenu(); submenu.classList.add('active'); + setTimeout(() => { + submenu.querySelectorAll('a')[0].focus(); + }, 50); + var focusRestore = (e) => { + setTimeout(() => { + if (this.subNavOpen) { + return; + } + if (!submenu.contains(document.activeElement)) { + this.focusRestoreEls?.pop()?.focus(); + this.hideMenu(); + window.removeEventListener('focusout', focusRestore); + } + }, 1); + }; + var menuArrowKeysNavigation = (e) => { + if (e.code == 'Escape') { + this.hideMenu(); + this.focusRestoreEls[0]?.focus(); + this.focusRestoreEls = []; + window.removeEventListener('keyup', menuArrowKeysNavigation); + } + }; + window.addEventListener('focusout', focusRestore); + window.addEventListener('keyup', menuArrowKeysNavigation); } this.hideSubMenu(); } @@ -494,10 +530,10 @@ Ext.extend(MODx.Layout, Ext.Viewport, { submenus[i].classList.remove('active'); } } - ,initSubPopper: function () { - var buttons = document.getElementById('modx-footer').querySelectorAll('.sub'); + var buttons = document.querySelectorAll('#modx-header .sub, #modx-footer .sub'); var position = window.innerWidth <= 960 ? 'bottom' : 'right'; + var _this = this; for (var i = 0; i < buttons.length; i++) { let popperInstance = null; @@ -539,34 +575,50 @@ Ext.extend(MODx.Layout, Ext.Viewport, { } } - function show(button, menu) { + function show(button) { + var menu = button.getElementsByTagName('ul')[0]; + button.classList.add('active'); menu.classList.add('active'); + _this.focusRestoreEls.push(button.querySelectorAll('a')[0]); + _this.subNavOpen = true; create(button, menu); + var focusRestore = (e) => { + requestAnimationFrame(() => { + if (!menu.contains(document.activeElement)) { + _this.focusRestoreEls?.pop()?.parentNode?.nextSibling?.focus(); + hide(button); + window.removeEventListener('focusout', focusRestore); + } + }); + }; + window.addEventListener('focusout', focusRestore); } - function hide(menu) { - var buttons = menu.querySelectorAll('.sub'); + function hide(button) { + var parentmenu = button.closest('ul'); + button.classList.remove('active'); + var buttons = parentmenu.querySelectorAll('.sub'); for (var i = 0; i < buttons.length; i++) { var submenu = buttons[i].getElementsByTagName('ul')[0]; submenu.classList.remove('active'); submenu.removeAttribute('style'); buttons[i].classList.remove('active'); } + _this.subNavOpen = false; destroy(); } - - buttons[i].onmouseenter = function (e) { + buttons[i].addEventListener('mouseenter', function (e) { e.stopPropagation(); - var submenu = this.getElementsByTagName('ul')[0]; - this.classList.add('active'); - show(this, submenu); - }; - buttons[i].onmouseleave = function (e) { + show(this); + }); + buttons[i].querySelectorAll('a')[0].addEventListener('focus', function (e) { e.stopPropagation(); - var parentmenu = this.closest('ul'); - this.classList.remove('active'); - hide(parentmenu); - }; + show(this.parentNode); + }); + buttons[i].addEventListener('mouseleave', function (e) { + e.stopPropagation(); + hide(this); + }); } } diff --git a/manager/assets/modext/modx.jsgrps-min.js b/manager/assets/modext/modx.jsgrps-min.js index 6f204cdaea4..cf095d292f5 100644 --- a/manager/assets/modext/modx.jsgrps-min.js +++ b/manager/assets/modext/modx.jsgrps-min.js @@ -16,7 +16,7 @@ * */ -Ext.onReady((function(){if("en"==MODx.config.cultureKey)return!1;Date.dayNames=[_("sunday"),_("monday"),_("tuesday"),_("wednesday"),_("thursday"),_("friday"),_("saturday")],Date.monthNames=[_("january"),_("february"),_("march"),_("april"),_("may"),_("june"),_("july"),_("august"),_("september"),_("october"),_("november"),_("december")],Ext.apply(Ext.grid.GridView.prototype,{sortAscText:_("ext_sortasc"),sortDescText:_("ext_sortdesc"),lockText:_("ext_column_lock"),unlockText:_("ext_column_unlock"),columnsText:_("ext_columns"),emptyText:_("ext_emptymsg")}),Ext.apply(Ext.DatePicker.prototype,{todayText:_("today"),todayTip:_("ext_today_tip"),minText:_("ext_mindate"),maxText:_("ext_maxdate"),monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:_("ext_nextmonth"),prevText:_("ext_prevmonth"),monthYearText:_("ext_choosemonth")}),Ext.MessageBox.buttonText={yes:_("yes"),no:_("no"),ok:_("ok"),cancel:_("cancel")},Ext.apply(Ext.PagingToolbar.prototype,{afterPageText:_("ext_afterpage"),beforePageText:_("ext_beforepage"),displayMsg:_("ext_displaying"),emptyMsg:_("ext_emptymsg"),firstText:_("ext_first"),prevText:_("ext_prev"),nextText:_("ext_next"),lastText:_("ext_last"),refreshText:_("ext_refresh")}),Ext.apply(Ext.Updater.prototype,{text:_("loading")}),Ext.apply(Ext.LoadMask.prototype,{msg:_("loading")}),Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype,{splitTip:_("ext_splittip")}),Ext.apply(Ext.form.BasicForm.prototype,{waitTitle:_("please_wait")}),Ext.apply(Ext.form.ComboBox.prototype,{loadingText:_("loading")}),Ext.apply(Ext.form.Field.prototype,{invalidText:_("ext_invalidfield")}),Ext.apply(Ext.form.TextField.prototype,{minLengthText:_("ext_minlenfield"),maxLengthText:_("ext_maxlenfield"),invalidText:_("ext_invalidfield"),blankText:_("field_required")}),Ext.apply(Ext.form.NumberField.prototype,{minText:_("ext_minvalfield"),maxText:_("ext_maxvalfield"),nanText:_("ext_nanfield")}),Ext.apply(Ext.form.DateField.prototype,{disabledDaysText:_("disabled"),disabledDatesText:_("disabled"),minText:_("ext_datemin"),maxText:_("ext_datemax"),invalidText:_("ext_dateinv")}),Ext.apply(Ext.form.VTypes,{emailText:_("ext_inv_email"),urlText:_("ext_inv_url"),alphaText:_("ext_inv_alpha"),alphanumText:_("ext_inv_alphanum")}),Ext.apply(Ext.grid.GroupingView.prototype,{emptyGroupText:_("ext_emptygroup"),groupByText:_("ext_groupby"),showGroupsText:_("ext_showgroups")}),Ext.apply(Ext.grid.PropertyColumnModel.prototype,{nameText:_("name"),valueText:_("value")}),Ext.apply(Ext.form.CheckboxGroup.prototype,{blankText:_("ext_checkboxinv")}),Ext.apply(Ext.form.RadioGroup.prototype,{blankText:_("ext_checkboxinv")}),Ext.apply(Ext.form.TimeField.prototype,{minText:_("ext_timemin"),maxText:_("ext_timemax"),invalidText:_("ext_timeinv")})})),Ext.namespace("MODx.util.Progress"),Ext.namespace("MODx.util.Format"),MODx.util.JSONReader=function(config){config=config||{},Ext.applyIf(config,{successProperty:"success",totalProperty:"total",root:"data"}),MODx.util.JSONReader.superclass.constructor.call(this,config,["id","msg"])},Ext.extend(MODx.util.JSONReader,Ext.data.JsonReader),Ext.reg("modx-json-reader",MODx.util.JSONReader),MODx.util.Progress={id:0,time:function(v,id,msg){msg=msg||_("saving"),MODx.util.Progress.id===id&&v<11&&Ext.MessageBox.updateProgress(v/10,msg)},reset:function(){MODx.util.Progress.id=MODx.util.Progress.id+1}},MODx.util.UrlParams={get(){return this.parse(window.location.search)},set(data){const params=decodeURIComponent(new URLSearchParams(data).toString());params.length?window.history.pushState(params,"",document.location.pathname+"?"+params):window.history.pushState("","",document.location.pathname)},add(key,val){const params=this.get();params[key]=val,this.set(params)},remove(key){const params=this.get();delete params[key],this.set(params)},clear(){this.set({})},parse(str){const params=new URLSearchParams(str);return Object.fromEntries(params.entries())}},MODx.LockMask=function(config){config=config||{},Ext.applyIf(config,{msg:_("locked"),msgCls:"modx-lockmask"}),MODx.LockMask.superclass.constructor.call(this,config.el,config)},Ext.extend(MODx.LockMask,Ext.LoadMask,{locked:!1,toggle:function(){this.locked?(this.hide(),this.locked=!1):(this.show(),this.locked=!0)},lock:function(){this.locked=!0,this.show()},unlock:function(){this.locked=!1,this.hide()}}),Ext.reg("modx-lockmask",MODx.LockMask),Ext.override(Ext.form.NumberField,{strictDecimalPrecision:!1,fixPrecision:function(value){var nan=isNaN(value);return this.allowDecimals&&-1!=this.decimalPrecision&&!nan&&value?this.allowDecimals&&this.strictDecimalPrecision?parseFloat(value).toFixed(this.decimalPrecision):parseFloat(parseFloat(value).toFixed(this.decimalPrecision)):nan?"":value}}),Ext.override(Ext.form.BasicForm,{clearDirty:function(nodeToRecurse){(nodeToRecurse=nodeToRecurse||this)?.items?.each?.((function(f){f.getValue&&(f.items?this.clearDirty(f):f.originalValue!=f.getValue()&&(f.originalValue=f.getValue()))}),this)}}),MODx.StaticTextField=Ext.extend(Ext.form.TextField,{fieldClass:"x-static-text-field",onRender:function(){this.readOnly=!0,this.disabled=!this.initialConfig.submitValue,MODx.StaticTextField.superclass.onRender.apply(this,arguments)}}),Ext.reg("statictextfield",MODx.StaticTextField),MODx.StaticBoolean=Ext.extend(Ext.form.TextField,{fieldClass:"x-static-text-field",onRender:function(tf){this.readOnly=!0,this.disabled=!this.initialConfig.submitValue,MODx.StaticBoolean.superclass.onRender.apply(this,arguments),this.on("change",this.onChange,this)},setValue:function(v){1===v?(this.addClass("green"),v=_("yes")):(this.addClass("red"),v=_("no")),MODx.StaticBoolean.superclass.setValue.apply(this,arguments)}}),Ext.reg("staticboolean",MODx.StaticBoolean),MODx.util.safeHtml=function(input,allowedTags,allowedAttributes){var strip=function(input,allowedTags,allowedAttributes){return input.replace(tags,(function($0,$1){return allowedTags.indexOf("<"+$1.toLowerCase()+">")>-1?$0:""})).replace(attributes,(function($0,$1){return allowedAttributes.indexOf($1.toLowerCase()+",")>-1?$0:""}))};allowedTags=(((allowedTags||"
")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join(""),allowedAttributes=(((allowedAttributes||"href,class")+"").toLowerCase().match(/[a-z\-,]*/g)||[]).join("").concat(",");var length,tags=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,attributes=/([a-z][a-z0-9]*)\s*=\s*".*?"/gi;input=input.replace(/|<\?(?:php)?[\s\S]*?\?>/gi,"").replace(/href(\s*?=\s*?(["'])javascript:.*?\2|\s*?=\s*?javascript:.*?(?![^> ]))/gi,'href="javascript:void(0)"');do{length=input.length,input=strip(input,allowedTags,allowedAttributes)}while(length!==input.length);return input.replace(/on([a-z][a-z0-9]*\s*=)/gi,"on​$1")},Ext.override(Ext.form.Checkbox,{setBoxLabel:function(boxLabel){this.boxLabel=boxLabel,this.rendered&&this.wrap.child(".x-form-cb-label").update(boxLabel)}});var FieldSetonRender=Ext.form.FieldSet.prototype.onRender;Ext.override(Ext.form.FieldSet,{onRender:function(ct,position){if(FieldSetonRender.call(this,ct,position),this.checkboxToggle){var trigger=this.el.dom.getElementsByClassName(this.headerTextCls)[0],elem=this;trigger&&trigger.addEventListener("click",(function(e){elem.checkbox.dom.click(e)}),!1)}}}),Array.prototype.in_array=function(p_val){for(var i=0,l=this.length;i0){this.items.addAll(fields);for(var f=0;f',elbowMarkup=n.attributes.pseudoroot?'':'',buf=['
  • ",'',"
  • "].join("");!0!==bulkRender&&n.nextSibling&&(nel=n.nextSibling.ui.getEl())?this.wrap=Ext.DomHelper.insertHtml("beforeBegin",nel,buf):this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf),this.elNode=this.wrap.childNodes[0],this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0],this.ecNode=cs[1],this.iconNode=cs[2];var index=3;cb&&(this.checkbox=cs[3],this.checkbox.defaultChecked=this.checkbox.checked,index++),this.anchor=cs[index],this.textNode=cs[index].firstChild},renderItemText:function(item){return Ext.util.Format.htmlEncode(item.text)},getChildIndent:function(){if(!this.childIndent){for(var buf=[],p=this.node;p;)(!p.isRoot||p.isRoot&&p.ownerTree.rootVisible)&&!p.attributes.pseudoroot&&(p.isLast()?buf.unshift(''):buf.unshift('')),p=p.parentNode;this.childIndent=buf.join("")}return this.childIndent}}),Ext.override(Ext.form.Action.Submit,{handleResponse:function(response){var m=Ext.decode(response.responseText);if(this.form.errorReader){var rs=this.form.errorReader.read(response),errors=[];if(rs.records)for(var i=0,len=rs.records.length;i0))return defaultValue;10===timestamp.toString().length&&(timestamp*=1e3);var format=[];return!0===date&&format.push(MODx.config.manager_date_format),!0===time&&format.push(MODx.config.manager_time_format),0===format.length?defaultValue:(format=format.join(" "),new Date(timestamp).format(format))},trimCharacters:function(string,charList="",direction="both"){if(charList.length){const trimLeft={find:new RegExp(`^([${charList}]+)([^${charList}]?)(.*)`,"g"),replace:"$2$3"},trimRight={find:new RegExp(`(.*)([^${charList}]+)([${charList}]+)$`,"g"),replace:"$1$2"};switch(direction){case"both":return string.replace(trimLeft.find,trimLeft.replace).replace(trimRight.find,trimRight.replace);case"left":return string.replace(trimLeft.find,trimLeft.replace);case"right":return string.replace(trimRight.find,trimRight.replace)}}return string},trimAndCollapseSpace:function(value){return"string"!=typeof value||Ext.isEmpty(value)?value:value.trim().replace(/\s{2,}/," ")},trimCharSeparatedList:function(list,separator=",",padListItems=!0){let formattedList=this.trimCharacters(list,`${separator}\\s`);return formattedList=this.trimAndCollapseSpace(formattedList),formattedList=formattedList.replace(new RegExp(`\\s*${separator}\\s*`,"g"),separator).replace(new RegExp(`[${separator}]{2,}`,"g"),separator),padListItems?formattedList.replaceAll(separator,`${separator} `):formattedList}},MODx.util.getHeaderBreadCrumbs=function(header,trail){return"string"==typeof header&&(header={id:header,xtype:"modx-header"}),void 0===trail&&(trail=[]),Array.isArray(trail)||(trail=[trail]),{xtype:"modx-breadcrumbs-panel",id:"modx-header-breadcrumbs",cls:"modx-header-breadcrumbs",desc:"",bdMarkup:'',init:function(){this.tpl=new Ext.XTemplate(this.bdMarkup,{compiled:!0})},trail,listeners:{afterrender:function(){this.renderTrail()}},renderTrail:function(){this.tpl.overwrite(this.body.dom.lastElementChild,{trail:this.trail})},updateTrail:function(trail,replace){if(void 0===replace&&(replace=!1),!0===replace)return this.trail=Array.isArray(trail)?trail:[trail],this.renderTrail(),!0;if(Array.isArray(trail)){for(var i=0;i{params.set(param,value)}));const newUrl=url.toString().replace(/%2F/g,"/");window.history.replaceState(stateData,document.title,newUrl)}},clearAllParams:function(stateData={}){if(void 0!==window.history.replaceState){const preserve=["a","id","key","namespace"],preserved=[],urlParts=window.location.href.split("?");urlParts[1].split("&").forEach((param=>{const paramName=param.split("=")[0];preserve.includes(paramName)&&preserved.push(param)}));let newUrl=new URL(`${urlParts[0]}?${preserved.join("&")}`);newUrl=newUrl.toString().replace(/%2F/g,"/"),window.history.replaceState(stateData,document.title,newUrl)}},clearParam:function(reference,referenceIsComponent=!0,stateData={}){if(void 0!==window.history.replaceState){let removeParamName,url=new URL(window.location.href);referenceIsComponent?(removeParamName=this.getParamNameFromCmp(reference),removeParamName="namespace"===removeParamName?"ns":removeParamName):removeParamName=reference.trim(),url.searchParams.delete(removeParamName),url=url.toString().replace(/%2F/g,"/"),window.history.replaceState(stateData,document.title,url)}},getParamNameFromCmp:function(cmp){const param=cmp.itemId.split("-")[1];return"ns"===param?"namespace":param},getParamValue:function(param,setEmptyToString=!1){const key="namespace"===param?"ns":param,emptyValue=setEmptyToString?"":null;return MODx.request[key]?this.decodeParamValue(MODx.request[key]):emptyValue},decodeParamValue:function(value){return value=value.replace(/\+/g," "),decodeURIComponent(value)}},MODx.util.tree={getGroupIdFromNode:function(node){return node.id?node.id.split("_").pop():0}},Ext.util.Format.trimCommas=function(s){var len=(s=s.replace(",,",",")).length;return","==s.substr(len-1,1)&&(s=s.substring(0,len-1)),","==s.substr(0,1)&&(s=s.substring(1)),","==s&&(s=""),s},Ext.ns("Ext.ux.grid"),"function"!=typeof RegExp.escape&&(RegExp.escape=function(s){return"string"!=typeof s?s:s.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")}),Ext.ux.grid.RowActions=function(a){Ext.apply(this,a),this.addEvents("beforeaction","action","beforegroupaction","groupaction"),Ext.ux.grid.RowActions.superclass.constructor.call(this)},Ext.extend(Ext.ux.grid.RowActions,Ext.util.Observable,{actionEvent:"click",autoWidth:!0,dataIndex:"",editable:!1,header:"",isColumn:!0,keepSelection:!1,menuDisabled:!0,sortable:!1,tplGroup:'
    ux-action-right {cls}" style="{style}" qtip="{qtip}">{text}
    ',tplRow:'
    ux-row-action-text" style="{hide}{style}" qtip="{qtip}">{text}
    ',hideMode:"visibility",widthIntercept:4,widthSlope:21,init:function(g){this.grid=g,this.id=this.id||Ext.id();var h=g.getColumnModel().lookup;delete h[void 0],h[this.id]=this,this.tpl||(this.tpl=this.processActions(this.actions)),this.autoWidth&&(this.width=this.widthSlope*this.actions.length+this.widthIntercept,this.fixed=!0);var i=g.getView(),j={scope:this};j[this.actionEvent]=this.onClick,g.afterRender=g.afterRender.createSequence((function(){i.mainBody.on(j),g.on("destroy",this.purgeListeners,this)}),this),this.renderer||(this.renderer=function(a,b,c,d,e,f){return b.css+=(b.css?" ":"")+"ux-row-action-cell",this.tpl.apply(this.getData(a,b,c,d,e,f))}.createDelegate(this)),i.groupTextTpl&&this.groupActions&&(i.interceptMouse=i.interceptMouse.createInterceptor((function(e){if(e.getTarget(".ux-grow-action-item"))return!1})),i.groupTextTpl='
    '+i.groupTextTpl+"
    "+this.processActions(this.groupActions,this.tplGroup).apply()),!0===this.keepSelection&&(g.processEvent=g.processEvent.createInterceptor((function(a,e){if("mousedown"===a)return!this.getAction(e)}),this))},getData:function(a,b,c,d,e,f){return c.data||{}},processActions:function(b,c){var d=[];Ext.each(b,(function(a,i){a.iconCls&&"function"==typeof(a.callback||a.cb)&&(this.callbacks=this.callbacks||{},this.callbacks[a.iconCls]=a.callback||a.cb);var o={cls:a.iconIndex?"{"+a.iconIndex+"}":a.iconCls?a.iconCls:"",qtip:a.qtipIndex?"{"+a.qtipIndex+"}":a.tooltip||a.qtip?a.tooltip||a.qtip:"",text:a.textIndex?"{"+a.textIndex+"}":a.text?a.text:"",hide:a.hideIndex?''+("display"===this.hideMode?"display:none":"visibility:hidden")+";":a.hide?"display"===this.hideMode?"display:none":"visibility:hidden;":"",align:a.align||"right",style:a.style?a.style:""};d.push(o)}),this);var e=new Ext.XTemplate(c||this.tplRow);return new Ext.XTemplate(e.apply({actions:d}))},getAction:function(e){var a=!1,t=e.getTarget(".ux-row-action-item");return t&&(a=t.className.replace(/ux-row-action-item /,""))&&(a=(a=a.replace(/ ux-row-action-text/,"")).trim()),a},onClick:function(e,a){var b=this.grid.getView(),c=e.getTarget(".x-grid3-row"),d=b.findCellIndex(a.parentNode.parentNode),f=this.getAction(e);if(!1!==c&&!1!==d&&!1!==f){var g=this.grid.store.getAt(c.rowIndex);if(this.callbacks&&"function"==typeof this.callbacks[f]&&this.callbacks[f](this.grid,g,f,c.rowIndex,d),!0!==this.eventsSuspended&&!1===this.fireEvent("beforeaction",this.grid,g,f,c.rowIndex,d))return;!0!==this.eventsSuspended&&this.fireEvent("action",this.grid,g,f,c.rowIndex,d)}if(t=e.getTarget(".ux-grow-action-item"),t){var j,h=b.findGroup(a),i=h?h.id.replace(/ext-gen[0-9]+-gp-/,""):null;if(i){var k=new RegExp(RegExp.escape(i));j=(j=this.grid.store.queryBy((function(r){return r._groupId.match(k)})))?j.items:[]}if(f=t.className.replace(/ux-grow-action-item (ux-action-right )*/,""),"function"==typeof this.callbacks[f]&&this.callbacks[f](this.grid,j,f,i),!0!==this.eventsSuspended&&!1===this.fireEvent("beforegroupaction",this.grid,j,f,i))return!1;this.fireEvent("groupaction",this.grid,j,f,i)}}}),Ext.reg("rowactions",Ext.ux.grid.RowActions),Ext.SwitchButton=Ext.extend(Ext.Component,{initComponent:function(){Ext.SwitchButton.superclass.initComponent.call(this);var mc=new Ext.util.MixedCollection;mc.addAll(this.items),this.items=mc,this.addEvents("change"),this.handler&&this.on("change",this.handler,this.scope||this)},onRender:function(ct,position){var el=document.createElement("table");el.cellSpacing=0,el.className="x-rbtn",el.id=this.id;var row=document.createElement("tr");el.appendChild(document.createElement("tbody")).appendChild(row);var count=this.items.length,last=count-1;this.activeItem=this.items.get(this.activeItem);for(var i=0;idata.rowIndex&&this.rowPosition<0&&rindex--,rindex0&&rindex++,rindex>data.rowIndex&&data.selections.length>1&&(rindex-=data.selections.length-1),rindex==data.rowIndex)return!1;if(!self.copy)for(i=0;i=0;i--){var insertIndex=rindex;ds.insert(insertIndex,selections[i])}var sm=this.grid.getSelectionModel();return sm&&sm.selectRecords(data.selections),this.gridDropTarget.fireEvent(self.copy?"afterrowcopy":"afterrowmove",this.gridDropTarget,data.rowIndex,rindex,data.selections),!0},notifyOver:function(dd,e,data){var t=Ext.lib.Event.getTarget(e),rindex=this.grid.getView().findRowIndex(t),keys=this.grid.getStore().data.keys;for(var key in keys)for(var i=0;i0)this.currentRowEl=new Ext.Element(currentRow),this.currentRowEl.addClass("grid-row-insert-below");else if(rindex-1>=0){var previousRow=this.grid.getView().getRow(rindex-1);this.currentRowEl=new Ext.Element(previousRow),this.currentRowEl.addClass("grid-row-insert-below")}else this.currentRowEl.addClass("grid-row-insert-above")}catch(err){console.warn(err),rindex=!1}return!1===rindex?this.dropNotAllowed:this.dropAllowed},notifyOut:function(dd,e,data){this.currentRowEl&&(this.currentRowEl.removeClass("grid-row-insert-above"),this.currentRowEl.removeClass("grid-row-insert-below"))}}),this.targetCfg&&Ext.apply(this.target,this.targetCfg),this.scrollable&&(Ext.dd.ScrollManager.register(grid.getView().getEditorParent()),grid.on({beforedestroy:this.onBeforeDestroy,scope:this,single:!0}))},getTarget:function(){return this.target},getGrid:function(){return this.grid},getCopy:function(){return!!this.copy},setCopy:function(b){this.copy=!!b},onBeforeDestroy:function(grid){Ext.dd.ScrollManager.unregister(grid.getView().getEditorParent())}}),Ext.grid.GridView.prototype.templates||(Ext.grid.GridView.prototype.templates={}),Ext.grid.GridView.prototype.templates.cell=new Ext.Template('','
    {value}
    ',""),MODx.grid||(MODx.grid={}),MODx.grid.ComboColumn=Ext.extend(Ext.grid.Column,{gridId:void 0,constructor:function(cfg){MODx.grid.ComboColumn.superclass.constructor.call(this,cfg),this.renderer=this.editor&&this.editor.triggerAction?MODx.grid.ComboBoxRenderer(this.editor,this.gridId,cfg.renderer):function(value){return value}}}),Ext.grid.Column.types.combocolumn=MODx.grid.ComboColumn,MODx.grid.ComboBoxRenderer=function(combo,gridId,currentRenderer){return function(value,metaData,record,rowIndex,colIndex,store){if(currentRenderer){if("function"==typeof currentRenderer.fn){var scope=!!currentRenderer.scope&¤tRenderer.scope;currentRenderer=currentRenderer.fn.bind(scope)}"function"==typeof currentRenderer&&(value=currentRenderer(value,metaData,record,rowIndex,colIndex,store))}return 0==combo.store.getCount()&&gridId?(combo.store.on("load",(function(){var grid=Ext.getCmp(gridId);grid&&grid.getView().refresh()}),this,{single:!0}),value):function(value){var idx=combo.store.find(combo.valueField,value),rec=combo.store.getAt(idx);return rec?rec.get(combo.displayField):value}(value)}},Ext.Button.buttonTemplate=new Ext.Template(''),Ext.Button.buttonTemplate.compile(),Ext.TabPanel.prototype.itemTpl=new Ext.Template('
  • ','{text}
  • '),Ext.TabPanel.prototype.itemTpl.disableFormats=!0,Ext.TabPanel.prototype.itemTpl.compile(),Ext.namespace("Ext.ux.form"),Ext.ux.form.CheckboxGroup=Ext.extend(Ext.form.CheckboxGroup,{aggregateSubmitField:{},initComponent:function(){const me=this,ct=this.ownerCt;"string"==typeof this.name&&this.name.length>0?(this.aggregateSubmitField=new Ext.form.Hidden({name:this.name}),Ext.ux.form.CheckboxGroup.superclass.initComponent.call(this),this.cls="string"==typeof this.cls&&this.cls.length>0?"aggregated-group "+this.cls:"aggregated-group",Ext.each(this.items,(function(item){if("string"==typeof me.value&&me.value.length>0){me.value.split(",").find((function(v){return v==item.inputValue}))==item.inputValue&&(item.checked=!0),me.aggregateSubmitField.setValue(me.value)}item.listeners={check:{fn:me.setHiddenSubmit,scope:me}},item.submitValue=!1})),ct.add(this.aggregateSubmitField)):console.warning("Ext.ux.form.CheckboxGroup: A name must be specified in this component’s config for its values to be saved.",this)},setHiddenSubmit:function(){const groupOpts=this.items.items;let vals=[];Ext.each(groupOpts,(function(item){item.checked&&vals.push(item.inputValue)})),this.aggregateSubmitField.setValue(vals.join(","))}}),Ext.reg("xcheckboxgroup",Ext.ux.form.CheckboxGroup),Ext.define("AddFieldUtilities.plugin.Class",{alias:"plugin.fieldutilities",init:function(cmp){cmp.on("afterrender",this.afterRender,cmp)},afterRender:function(){const me=this;this.label.createChild({tag:"a",title:_("field_reset"),cls:"modx-field-utils modx-field-reset"}).on("click",(function(){me.reset()}),me),this.label.createChild({tag:"a",title:_("field_clear"),cls:"modx-field-utils modx-field-clear"}).on("click",(function(){switch(this.xtype){case"xcheckboxgroup":case"checkboxgroup":Ext.isArray(this.items.items)&&(Ext.each(this.items.items,(function(item){item.setValue(!1)})),this.doLayout());break;case"checkbox":case"radio":me.setValue(!1);break;default:me.setValue("")}}),me)}}),MODx.util.FileDownload=function(fields){if(Ext.isObject(fields)){var me=this;me.clearCookie=function(){Ext.util.Cookies.set(cookieName,null,new Date("January 1, 1970"),"/"),Ext.util.Cookies.clear(cookieName,"/")},me.randomHex=function(len){const hex="0123456789ABCDEF";let output="";for(let i=0;i0){var result=Ext.decode(frame.dom.contentDocument.body.innerHTML);return result=result||{success:!1,message:_("file_msg_download_error")},me.clearCookie(),failureCallback&&failureCallback(result),void(frame.dom.contentDocument.body.innerHTML="")}}catch(e){console.log(e)}polling?(debug&&console.log("polling "+polling),window.setTimeout((function(){polling--,me.isFinished(successCallback,failureCallback)}),100)):(me.clearCookie(),failureCallback&&failureCallback({success:!1,message:_("file_err_download_timeout")}))};var cookieName="fileDownload"+me.randomHex(16),polling=10*fields.timeout||300,ident=fields.ident||"filedownload-"+Ext.id(),url=fields.url||MODx.config.connector_url,params=fields.params||{},debug=fields.debug||!1,successCallback=fields.success||null,failureCallback=fields.failure||null,body=Ext.getBody(),frame=body.createChild({tag:"iframe",cls:"x-hidden",id:ident+"-iframe",name:ident+"-iframe"}),form=body.createChild({tag:"form",cls:"x-hidden",id:ident+"-form",action:url,target:ident+"-iframe",method:"post"});params.HTTP_MODAUTH=MODx.siteId,"function"==typeof successCallback&&(params.cookieName=cookieName),Ext.iterate(params,(function(name,value){form.createChild({tag:"input",type:"text",cls:"x-hidden",id:ident+"-"+name,name,value})})),form.dom.submit(),(successCallback||failureCallback)&&me.isFinished(successCallback,failureCallback)}},Ext.override(Ext.form.TimeField,{initDate:"2/1/2008"}),Ext.ns("Ext.ux.form"),Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{dateValidator:null,defaultAutoCreate:{tag:"input",type:"hidden"},dtSeparator:" ",hiddenFormat:"Y-m-d H:i:s",otherToNow:!0,timePosition:"right",timeValidator:null,timeWidth:100,dateFormat:"m/d/y",timeFormat:"g:i A",maxDateValue:"",minDateValue:"",timeIncrement:15,maxTimeValue:null,minTimeValue:null,disabledDates:null,hideTime:!1,initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this),this.hasOwnProperty("offset_time")&&!isNaN(this.offset_time)||(this.offset_time=0);var dateConfig=Ext.apply({},{id:this.id+"-date",format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.dateValidator,disabledDates:this.disabledDates||null,disabledDays:this.disabledDays||[],showToday:this.showToday||!0,maxValue:this.maxDateValue||"",minValue:this.minDateValue||"",startDay:this.startDay||0,allowBlank:this.allowBlank,msgTarget:this.msgTarget,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(dateConfig),this.df.ownerCt=this,delete this.dateFormat,delete this.disabledDates,delete this.disabledDays,delete this.maxDateValue,delete this.minDateValue,delete this.startDay;var timeConfig=Ext.apply({},{id:this.id+"-time",format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.timeValidator,increment:this.timeIncrement||15,maxValue:this.maxTimeValue||null,minValue:this.minTimeValue||null,hidden:this.hideTime,allowBlank:this.allowBlank,msgTarget:this.msgTarget,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig),this.tf.ownerCt=this,delete this.timeFormat,delete this.maxTimeValue,delete this.minTimeValue,delete this.timeIncrement,this.relayEvents(this.df,["focus","specialkey","invalid","valid"]),this.relayEvents(this.tf,["focus","specialkey","invalid","valid"]),this.on("specialkey",this.onSpecialKey,this)},onRender:function(ct,position){if(!this.isRendered){var t;switch(Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position),t="below"===this.timePosition||"bellow"===this.timePosition?Ext.DomHelper.append(ct,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-bottom:1px",cls:"ux-datetime-date"}]},{tag:"tr",children:[{tag:"td",cls:"ux-datetime-time"}]}]},!0):Ext.DomHelper.append(ct,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-right:4px",cls:"ux-datetime-date"},{tag:"td",cls:"ux-datetime-time"}]}]},!0),this.tableEl=t,this.wrap=t.wrap({cls:"x-form-field-wrap x-datetime-wrap"}),this.wrap.on("mousedown",this.onMouseDown,this,{delay:10}),this.df.render(t.child("td.ux-datetime-date")),this.tf.render(t.child("td.ux-datetime-time")),this.df.el.swallowEvent(["keydown","keypress"]),this.tf.el.swallowEvent(["keydown","keypress"]),this.msgTarget){case"side":const elp=this.el.findParent(".x-form-element",10,!0);elp&&(this.errorIcon=elp.createChild({cls:"x-form-invalid-icon"}));const o={errorIcon:this.errorIcon,msgTarget:"side",alignErrorIcon:this.alignErrorIcon.createDelegate(this)};Ext.apply(this.df,o),Ext.apply(this.tf,o);break;case"under":const dateMsgElId=`ux-datetime-date-msg-${this.itemId}`,dateMsgWidth=Math.ceil(this.dateWidth-30),dateMsgEl=Ext.DomHelper.append(this.df.container,{tag:"div",cls:"x-form-invalid-msg",style:`display: none; width: ${dateMsgWidth}px;`,id:dateMsgElId}),timeMsgElId=`ux-datetime-time-msg-${this.itemId}`,timeMsgWidth=Math.ceil(this.timeWidth-30),timeMsgEl=Ext.DomHelper.append(this.tf.container,{tag:"div",cls:"x-form-invalid-msg",style:`display: none; width: ${timeMsgWidth}px;`,id:timeMsgElId});this.df.container.appendChild(dateMsgEl),this.tf.container.appendChild(timeMsgEl),this.df.msgTarget=dateMsgElId,this.tf.msgTarget=timeMsgElId}this.el.dom.name=this.hiddenName||this.name||this.id,this.df.el.dom.removeAttribute("name"),this.tf.el.dom.removeAttribute("name"),this.isRendered=!0,this.updateHidden()}},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,"tl-tr",[2,0])},initDateValue:function(){this.dateValue=this.otherToNow?new Date:new Date(1970,0,1,0,0,0)},clearInvalid:function(){this.df.clearInvalid(),this.tf.clearInvalid()},markInvalid:function(msg){this.df.markInvalid(msg),this.tf.markInvalid(msg)},beforeDestroy:function(){this.isRendered&&(this.wrap.removeAllListeners(),this.wrap.remove(),this.tableEl.remove(),this.df.destroy(),this.tf.destroy())},disable:function(){return this.isRendered&&(this.df.disabled=this.disabled,this.df.onDisable(),this.tf.onDisable()),this.disabled=!0,this.df.disabled=!0,this.tf.disabled=!0,this.fireEvent("disable",this),this},enable:function(){return this.rendered&&(this.df.onEnable(),this.tf.onEnable()),this.disabled=!1,this.df.disabled=!1,this.tf.disabled=!1,this.fireEvent("enable",this),this},focus:function(){this.df.focus()},getPositionEl:function(){return this.wrap},getResizeEl:function(){return this.wrap},getValue:function(){return this.dateValue?new Date(this.dateValue):""},isValid:function(){return this.df.isValid()&&this.tf.isValid()},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible()},onBlur:function(f){this.wrapClick&&(f.focus(),this.wrapClick=!1),f===this.df?this.updateDate():this.updateTime(),this.updateHidden(),this.validate(),function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var v=this.getValue();String(v)!==String(this.startValue)&&this.fireEvent("change",this,v,this.startValue),this.hasFocus=!1,this.fireEvent("blur",this)}}.defer(100,this)},onFocus:function(){this.hasFocus||(this.hasFocus=!0,this.startValue=this.getValue(),this.fireEvent("focus",this))},onMouseDown:function(e){this.disabled||(this.wrapClick="td"===e.target.nodeName.toLowerCase())},onSpecialKey:function(t,e){var key=e.getKey();key===e.TAB&&(t!==this.df||e.shiftKey||(this.onBlur(t),e.stopEvent(),this.tf.focus()),t===this.tf&&e.shiftKey&&(this.onBlur(t),e.stopEvent(),this.df.focus()),this.updateValue()),key===e.ENTER&&this.updateValue()},reset:function(){this.df.setValue(this.originalValue),this.tf.setValue(this.originalValue)},setDate:function(date){date&&0!=this.offset_time&&(date=date.add(Date.MINUTE,60*new Number(this.offset_time))),this.df.setValue(date)},setTime:function(date){date&&0!=this.offset_time&&(date=date.add(Date.MINUTE,60*new Number(this.offset_time))),this.tf.setValue(date)},setSize:function(w,h){w&&("below"===this.timePosition?(this.df.setSize(w,h),this.tf.setSize(w,h),Ext.isIE&&(this.df.el.up("td").setWidth(w),this.tf.el.up("td").setWidth(w))):(this.df.setSize(w-this.timeWidth-4,h),this.tf.setSize(this.timeWidth,h),Ext.isIE&&(this.df.el.up("td").setWidth(w-this.timeWidth-4),this.tf.el.up("td").setWidth(this.timeWidth))))},setValue:function(val){if(val||!0!==this.emptyToNow){if(!val)return this.setDate(""),this.setTime(""),void this.updateValue();var da;"number"==typeof val?val=new Date(val):"string"==typeof val&&this.hiddenFormat&&(val=Date.parseDate(val,this.hiddenFormat)),(val=val||new Date(1970,0,1,0,0,0))instanceof Date?(this.setDate(val),this.setTime(val),this.dateValue=new Date(Ext.isIE?val.getTime():val)):(da=val.split(this.dtSeparator),this.setDate(da[0]),da[1]&&(da[2]&&(da[1]+=da[2]),this.setTime(da[1]))),this.updateValue()}else this.setValue(new Date)},setVisible:function(visible){return visible?(this.df.show(),this.tf.show()):(this.df.hide(),this.tf.hide()),this},show:function(){return this.setVisible(!0)},hide:function(){return this.setVisible(!1)},updateDate:function(){var d=this.df.getValue();d?(this.dateValue instanceof Date||(this.initDateValue(),this.tf.getValue()||this.setTime(this.dateValue)),this.dateValue.setMonth(0),this.dateValue.setFullYear(d.getFullYear()),this.dateValue.setMonth(d.getMonth(),d.getDate())):(this.dateValue="",this.setTime(""))},updateTime:function(){let t=this.tf.getValue();!t||t instanceof Date||(t=Date.parseDate(t,this.tf.format)),t&&!this.df.getValue()&&(this.initDateValue(),this.setDate(this.dateValue)),this.dateValue instanceof Date&&(t&&!this.hideTime?(this.dateValue.setHours(t.getHours()),this.dateValue.setMinutes(t.getMinutes()),this.dateValue.setSeconds(t.getSeconds())):(this.dateValue.setHours(0),this.dateValue.setMinutes(0),this.dateValue.setSeconds(0)))},updateHidden:function(){if(this.isRendered){var value="";this.dateValue instanceof Date&&(value=this.dateValue.add(Date.MINUTE,0-60*new Number(this.offset_time)).format(this.hiddenFormat)),this.el.dom.value=value}},updateValue:function(){this.updateDate(),this.updateTime(),this.updateHidden()},validate:function(){return this.df.validate()&&this.tf.validate()},renderer:function(field){var format=field.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;return format+=" "+(field.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat),function(val){return Ext.util.Format.date(val,format)}}}),Ext.reg("xdatetime",Ext.ux.form.DateTime),Ext.namespace("Ext.ux.Utils"),Ext.ux.Utils.EventQueue=function(handler,scope){if(!handler)throw"Handler is required.";this.handler=handler,this.scope=scope||window,this.queue=[],this.is_processing=!1,this.postEvent=function(event,data){data=data||null,this.queue.push({event,data}),this.is_processing||this.process()},this.flushEventQueue=function(){this.queue=[]},this.process=function(){for(;this.queue.length>0;){this.is_processing=!0;var event_data=this.queue.shift();this.handler.call(this.scope,event_data.event,event_data.data)}this.is_processing=!1}},Ext.ux.Utils.FSA=function(initial_state,trans_table,trans_table_scope){this.current_state=initial_state,this.trans_table=trans_table||{},this.trans_table_scope=trans_table_scope||window,Ext.ux.Utils.FSA.superclass.constructor.call(this,this.processEvent,this)},Ext.extend(Ext.ux.Utils.FSA,Ext.ux.Utils.EventQueue,{current_state:null,trans_table:null,trans_table_scope:null,state:function(){return this.current_state},processEvent:function(event,data){var transitions=this.currentStateEventTransitions(event);if(!transitions)throw"State '"+this.current_state+"' has no transition for event '"+event+"'.";for(var i=0,len=transitions.length;i ").compile()},createForm:function(){this.form=Ext.DomHelper.append(this.body,{tag:"form",method:"post",action:this.url,style:"position: absolute; left: -100px; top: -100px; width: 100px; height: 100px; clear: both;"})},createProgressBar:function(){this.progress_bar=this.add(new Ext.ProgressBar({x:0,y:0,anchor:"0",value:0,text:this.i18n.progress_waiting_text}))},createGrid:function(){var store=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.JsonReader({},Ext.ux.UploadDialog.FileRecord),sortInfo:{field:"state",direction:"DESC"},pruneModifiedRecords:!0}),cm=new Ext.grid.ColumnModel([{header:this.i18n.state_col_title,width:this.i18n.state_col_width,resizable:!1,dataIndex:"state",sortable:!0,renderer:this.renderStateCell.createDelegate(this)},{header:this.i18n.filename_col_title,width:this.i18n.filename_col_width,dataIndex:"filename",sortable:!0,renderer:this.renderFilenameCell.createDelegate(this)},{header:this.i18n.note_col_title,width:this.i18n.note_col_width,dataIndex:"note",sortable:!0,renderer:this.renderNoteCell.createDelegate(this)}]);this.grid_panel=new Ext.grid.GridPanel({ds:store,cm,layout:"fit",height:this.height-100,region:"center",x:0,y:22,border:!0,viewConfig:{autoFill:!0,forceFit:!0},bbar:new Ext.Toolbar}),this.grid_panel.on("render",this.onGridRender,this),this.add(this.grid_panel),this.grid_panel.getSelectionModel().on("selectionchange",this.onGridSelectionChange,this)},fillToolbar:function(){var tb=this.grid_panel.getBottomToolbar();tb.x_buttons={},tb.x_buttons.add=tb.addItem(new Ext.ux.UploadDialog.TBBrowseButton({input_name:this.post_var_name,text:this.i18n.add_btn_text,tooltip:this.i18n.add_btn_tip,iconCls:"ext-ux-uploaddialog-addbtn",handler:this.onAddButtonFileSelected,scope:this})),tb.x_buttons.remove=tb.addButton({text:this.i18n.remove_btn_text,tooltip:this.i18n.remove_btn_tip,iconCls:"ext-ux-uploaddialog-removebtn",handler:this.onRemoveButtonClick,scope:this}),tb.x_buttons.reset=tb.addButton({text:this.i18n.reset_btn_text,tooltip:this.i18n.reset_btn_tip,iconCls:"ext-ux-uploaddialog-resetbtn",handler:this.onResetButtonClick,scope:this}),tb.x_buttons.upload=tb.addButton({text:this.i18n.upload_btn_start_text,tooltip:this.i18n.upload_btn_start_tip,iconCls:"ext-ux-uploaddialog-uploadstartbtn",handler:this.onUploadButtonClick,scope:this}),tb.x_buttons.close=tb.addButton({text:this.i18n.close_btn_text,tooltip:this.i18n.close_btn_tip,handler:this.onCloseButtonClick,scope:this})},renderStateCell:function(data,cell,record,row_index,column_index,store){return this.state_tpl.apply({state:data})},renderFilenameCell:function(data,cell,record,row_index,column_index,store){var view=this.grid_panel.getView();return function(){try{Ext.fly(view.getCell(row_index,column_index)).child(".x-grid3-cell-inner").dom.qtip=data}catch(e){}}.defer(1e3),data},renderNoteCell:function(data,cell,record,row_index,column_index,store){var view=this.grid_panel.getView();return function(){try{Ext.fly(view.getCell(row_index,column_index)).child(".x-grid3-cell-inner").dom.qtip=data}catch(e){}}.defer(1e3),data},getFileExtension:function(filename){var result=null,parts=filename.split(".");return parts.length>1&&(result=parts.pop()),result},isPermittedFileType:function(filename){var result=!0;return this.permitted_extensions.length>0&&(result=-1!=this.permitted_extensions.indexOf(this.getFileExtension(filename))),result},isPermittedFile:function(browse_btn){var result=!1,filename=browse_btn.getInputFile().dom.value;return this.isPermittedFileType(filename)?result=!0:(Ext.Msg.alert(this.i18n.error_msgbox_title,String.format(this.i18n.err_file_type_not_permitted,filename,this.permitted_extensions.join(this.i18n.permitted_extensions_join_str))),result=!1),result},fireFileTestEvent:function(browse_btn){return!1!==this.fireEvent("filetest",this,browse_btn.getInputFile().dom.value)},addFileToUploadQueue:function(browse_btn){var input_file=browse_btn.detachInputFile();input_file.appendTo(this.form),input_file.setStyle("width","100px"),input_file.dom.disabled=!0;var store=this.grid_panel.getStore(),fileApi=input_file.dom.files,filename=void 0!==fileApi?fileApi[0].name:input_file.dom.value.replace("C:\\fakepath\\","");store.add(new Ext.ux.UploadDialog.FileRecord({state:Ext.ux.UploadDialog.FileRecord.STATE_QUEUE,filename,note:this.i18n.note_queued_to_upload,input_element:input_file})),this.fsa.postEvent("file-added",input_file.dom.value)},fireFileAddEvent:function(filename){this.fireEvent("fileadd",this,filename)},updateProgressBar:function(){if(this.is_uploading){var queued=this.getQueuedCount(!0),value=1-queued/this.initial_queued_count;this.progress_bar.updateProgress(value,String.format(this.i18n.progress_uploading_text,this.initial_queued_count-queued,this.initial_queued_count))}else this.progress_bar.updateProgress(0,this.i18n.progress_waiting_text)},updateToolbar:function(){var tb=this.grid_panel.getBottomToolbar();this.is_uploading?(tb.x_buttons.remove.disable(),tb.x_buttons.reset.disable(),tb.x_buttons.upload.enable(),this.getAllowCloseOnUpload()||tb.x_buttons.close.disable(),tb.x_buttons.upload.setIconClass("ext-ux-uploaddialog-uploadstopbtn"),tb.x_buttons.upload.setText(this.i18n.upload_btn_stop_text),tb.x_buttons.upload.getEl().child(tb.x_buttons.upload.buttonSelector).dom[tb.x_buttons.upload.tooltipType]=this.i18n.upload_btn_stop_tip):(tb.x_buttons.remove.enable(),tb.x_buttons.reset.enable(),tb.x_buttons.close.enable(),tb.x_buttons.upload.setIconClass("ext-ux-uploaddialog-uploadstartbtn"),tb.x_buttons.upload.setText(this.i18n.upload_btn_start_text),this.getQueuedCount()>0?tb.x_buttons.upload.enable():tb.x_buttons.upload.disable(),this.grid_panel.getSelectionModel().hasSelection()?tb.x_buttons.remove.enable():tb.x_buttons.remove.disable(),this.grid_panel.getStore().getCount()>0?tb.x_buttons.reset.enable():tb.x_buttons.reset.disable())},saveInitialQueuedCount:function(){this.initial_queued_count=this.getQueuedCount()},incInitialQueuedCount:function(){this.initial_queued_count++},setUploadingFlag:function(){this.is_uploading=!0},resetUploadingFlag:function(){this.is_uploading=!1},prepareNextUploadTask:function(){var store=this.grid_panel.getStore(),record=null;store.each((function(r){record||r.get("state")!=Ext.ux.UploadDialog.FileRecord.STATE_QUEUE?r.get("input_element").dom.disabled=!0:record=r})),record.get("input_element").dom.disabled=!1,record.set("state",Ext.ux.UploadDialog.FileRecord.STATE_PROCESSING),record.set("note",this.i18n.note_processing),record.commit(),this.fsa.postEvent("file-upload-start",record)},fireUploadStartEvent:function(){this.fireEvent("uploadstart",this)},removeFiles:function(file_records){for(var store=this.grid_panel.getStore(),i=0,len=file_records.length;i((?:.|\n)*)<\/pre>$/i);filter&&(rt=filter[1]),json_response=Ext.util.JSON.decode(rt)}catch(e){}var data={record:options.record,response:json_response};"success"in json_response&&json_response.success?this.fsa.postEvent("file-upload-success",data):this.fsa.postEvent("file-upload-error",data)},onAjaxFailure:function(response,options){var data={record:options.record,response:{success:!1,error:this.i18n.note_upload_failed}};this.fsa.postEvent("file-upload-failed",data)},startUpload:function(){this.fsa.postEvent("start-upload")},stopUpload:function(){this.fsa.postEvent("stop-upload")},getUrl:function(){return this.url},setUrl:function(url){this.url=url},getBaseParams:function(){return this.base_params},setBaseParams:function(params){this.base_params=params},getUploadAutostart:function(){return this.upload_autostart},setUploadAutostart:function(value){this.upload_autostart=value},getMakeReload:function(){return this.Make_Reload},setMakeReload:function(value){this.Make_Reload=value},getAllowCloseOnUpload:function(){return this.allow_close_on_upload},setAllowCloseOnUpload:function(value){this.allow_close_on_upload},getResetOnHide:function(){return this.reset_on_hide},setResetOnHide:function(value){this.reset_on_hide=value},getPermittedExtensions:function(){return this.permitted_extensions},setPermittedExtensions:function(value){this.permitted_extensions=value},isUploading:function(){return this.is_uploading},isNotEmptyQueue:function(){return this.grid_panel.getStore().getCount()>0},getQueuedCount:function(count_processing){var count=0;return this.grid_panel.getStore().each((function(r){r.get("state")==Ext.ux.UploadDialog.FileRecord.STATE_QUEUE&&count++,count_processing&&r.get("state")==Ext.ux.UploadDialog.FileRecord.STATE_PROCESSING&&count++})),count},hasUnuploadedFiles:function(){return this.getQueuedCount()>0}});var p=Ext.ux.UploadDialog.Dialog.prototype;p.i18n={title:_("upload_files"),state_col_title:_("upf_state"),state_col_width:70,filename_col_title:_("upf_filename"),filename_col_width:230,note_col_title:_("upf_note"),note_col_width:150,add_btn_text:_("upf_add"),add_btn_tip:_("upf_add_desc"),remove_btn_text:_("upf_remove"),remove_btn_tip:_("upf_remove_desc"),reset_btn_text:_("upf_reset"),reset_btn_tip:_("upf_reset_desc"),upload_btn_start_text:_("upf_upload"),upload_btn_start_tip:_("upf_upload_desc"),upload_btn_stop_text:_("upf_abort"),upload_btn_stop_tip:_("upf_abort_desc"),close_btn_text:_("upf_close"),close_btn_tip:_("upf_close_desc"),progress_waiting_text:_("upf_progress_wait"),progress_uploading_text:_("upf_uploading_desc"),error_msgbox_title:_("upf_error"),permitted_extensions_join_str:",",err_file_type_not_permitted:_("upf_err_filetype"),note_queued_to_upload:_("upf_queued"),note_processing:_("upf_uploading"),note_upload_failed:_("upf_err_failed"),note_upload_success:_("upf_success"),note_upload_error:_("upf_upload_err"),note_aborted:_("upf_aborted")}, +Ext.onReady((function(){if("en"==MODx.config.cultureKey)return!1;Date.dayNames=[_("sunday"),_("monday"),_("tuesday"),_("wednesday"),_("thursday"),_("friday"),_("saturday")],Date.monthNames=[_("january"),_("february"),_("march"),_("april"),_("may"),_("june"),_("july"),_("august"),_("september"),_("october"),_("november"),_("december")],Ext.apply(Ext.grid.GridView.prototype,{sortAscText:_("ext_sortasc"),sortDescText:_("ext_sortdesc"),lockText:_("ext_column_lock"),unlockText:_("ext_column_unlock"),columnsText:_("ext_columns"),emptyText:_("ext_emptymsg")}),Ext.apply(Ext.DatePicker.prototype,{todayText:_("today"),todayTip:_("ext_today_tip"),minText:_("ext_mindate"),maxText:_("ext_maxdate"),monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:_("ext_nextmonth"),prevText:_("ext_prevmonth"),monthYearText:_("ext_choosemonth")}),Ext.MessageBox.buttonText={yes:_("yes"),no:_("no"),ok:_("ok"),cancel:_("cancel")},Ext.apply(Ext.PagingToolbar.prototype,{afterPageText:_("ext_afterpage"),beforePageText:_("ext_beforepage"),displayMsg:_("ext_displaying"),emptyMsg:_("ext_emptymsg"),firstText:_("ext_first"),prevText:_("ext_prev"),nextText:_("ext_next"),lastText:_("ext_last"),refreshText:_("ext_refresh")}),Ext.apply(Ext.Updater.prototype,{text:_("loading")}),Ext.apply(Ext.LoadMask.prototype,{msg:_("loading")}),Ext.apply(Ext.layout.BorderLayout.SplitRegion.prototype,{splitTip:_("ext_splittip")}),Ext.apply(Ext.form.BasicForm.prototype,{waitTitle:_("please_wait")}),Ext.apply(Ext.form.ComboBox.prototype,{loadingText:_("loading")}),Ext.apply(Ext.form.Field.prototype,{invalidText:_("ext_invalidfield")}),Ext.apply(Ext.form.TextField.prototype,{minLengthText:_("ext_minlenfield"),maxLengthText:_("ext_maxlenfield"),invalidText:_("ext_invalidfield"),blankText:_("field_required")}),Ext.apply(Ext.form.NumberField.prototype,{minText:_("ext_minvalfield"),maxText:_("ext_maxvalfield"),nanText:_("ext_nanfield")}),Ext.apply(Ext.form.DateField.prototype,{disabledDaysText:_("disabled"),disabledDatesText:_("disabled"),minText:_("ext_datemin"),maxText:_("ext_datemax"),invalidText:_("ext_dateinv")}),Ext.apply(Ext.form.VTypes,{emailText:_("ext_inv_email"),urlText:_("ext_inv_url"),alphaText:_("ext_inv_alpha"),alphanumText:_("ext_inv_alphanum")}),Ext.apply(Ext.grid.GroupingView.prototype,{emptyGroupText:_("ext_emptygroup"),groupByText:_("ext_groupby"),showGroupsText:_("ext_showgroups")}),Ext.apply(Ext.grid.PropertyColumnModel.prototype,{nameText:_("name"),valueText:_("value")}),Ext.apply(Ext.form.CheckboxGroup.prototype,{blankText:_("ext_checkboxinv")}),Ext.apply(Ext.form.RadioGroup.prototype,{blankText:_("ext_checkboxinv")}),Ext.apply(Ext.form.TimeField.prototype,{minText:_("ext_timemin"),maxText:_("ext_timemax"),invalidText:_("ext_timeinv")})})),Ext.namespace("MODx.util.Progress"),Ext.namespace("MODx.util.Format"),MODx.util.JSONReader=function(config){config=config||{},Ext.applyIf(config,{successProperty:"success",totalProperty:"total",root:"data"}),MODx.util.JSONReader.superclass.constructor.call(this,config,["id","msg"])},Ext.extend(MODx.util.JSONReader,Ext.data.JsonReader),Ext.reg("modx-json-reader",MODx.util.JSONReader),MODx.util.Progress={id:0,time:function(v,id,msg){msg=msg||_("saving"),MODx.util.Progress.id===id&&v<11&&Ext.MessageBox.updateProgress(v/10,msg)},reset:function(){MODx.util.Progress.id=MODx.util.Progress.id+1}},MODx.util.UrlParams={get(){return this.parse(window.location.search)},set(data){const params=decodeURIComponent(new URLSearchParams(data).toString());params.length?window.history.pushState(params,"",document.location.pathname+"?"+params):window.history.pushState("","",document.location.pathname)},add(key,val){const params=this.get();params[key]=val,this.set(params)},remove(key){const params=this.get();delete params[key],this.set(params)},clear(){this.set({})},parse(str){const params=new URLSearchParams(str);return Object.fromEntries(params.entries())}},MODx.LockMask=function(config){config=config||{},Ext.applyIf(config,{msg:_("locked"),msgCls:"modx-lockmask"}),MODx.LockMask.superclass.constructor.call(this,config.el,config)},Ext.extend(MODx.LockMask,Ext.LoadMask,{locked:!1,toggle:function(){this.locked?(this.hide(),this.locked=!1):(this.show(),this.locked=!0)},lock:function(){this.locked=!0,this.show()},unlock:function(){this.locked=!1,this.hide()}}),Ext.reg("modx-lockmask",MODx.LockMask),Ext.override(Ext.form.NumberField,{strictDecimalPrecision:!1,fixPrecision:function(value){var nan=isNaN(value);return this.allowDecimals&&-1!=this.decimalPrecision&&!nan&&value?this.allowDecimals&&this.strictDecimalPrecision?parseFloat(value).toFixed(this.decimalPrecision):parseFloat(parseFloat(value).toFixed(this.decimalPrecision)):nan?"":value}}),Ext.override(Ext.form.BasicForm,{clearDirty:function(nodeToRecurse){(nodeToRecurse=nodeToRecurse||this)?.items?.each?.((function(f){f.getValue&&(f.items?this.clearDirty(f):f.originalValue!=f.getValue()&&(f.originalValue=f.getValue()))}),this)}}),MODx.StaticTextField=Ext.extend(Ext.form.TextField,{fieldClass:"x-static-text-field",onRender:function(){this.readOnly=!0,this.disabled=!this.initialConfig.submitValue,MODx.StaticTextField.superclass.onRender.apply(this,arguments)}}),Ext.reg("statictextfield",MODx.StaticTextField),MODx.StaticBoolean=Ext.extend(Ext.form.TextField,{fieldClass:"x-static-text-field",onRender:function(tf){this.readOnly=!0,this.disabled=!this.initialConfig.submitValue,MODx.StaticBoolean.superclass.onRender.apply(this,arguments),this.on("change",this.onChange,this)},setValue:function(v){1===v?(this.addClass("green"),v=_("yes")):(this.addClass("red"),v=_("no")),MODx.StaticBoolean.superclass.setValue.apply(this,arguments)}}),Ext.reg("staticboolean",MODx.StaticBoolean),MODx.util.safeHtml=function(input,allowedTags,allowedAttributes){var strip=function(input,allowedTags,allowedAttributes){return input.replace(tags,(function($0,$1){return allowedTags.indexOf("<"+$1.toLowerCase()+">")>-1?$0:""})).replace(attributes,(function($0,$1){return allowedAttributes.indexOf($1.toLowerCase()+",")>-1?$0:""}))};allowedTags=(((allowedTags||"
    ")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join(""),allowedAttributes=(((allowedAttributes||"href,class")+"").toLowerCase().match(/[a-z\-,]*/g)||[]).join("").concat(",");var length,tags=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,attributes=/([a-z][a-z0-9]*)\s*=\s*".*?"/gi;input=input.replace(/|<\?(?:php)?[\s\S]*?\?>/gi,"").replace(/href(\s*?=\s*?(["'])javascript:.*?\2|\s*?=\s*?javascript:.*?(?![^> ]))/gi,'href="javascript:void(0)"');do{length=input.length,input=strip(input,allowedTags,allowedAttributes)}while(length!==input.length);return input.replace(/on([a-z][a-z0-9]*\s*=)/gi,"on​$1")},Ext.override(Ext.form.Checkbox,{setBoxLabel:function(boxLabel){this.boxLabel=boxLabel,this.rendered&&this.wrap.child(".x-form-cb-label").update(boxLabel)}});var FieldSetonRender=Ext.form.FieldSet.prototype.onRender;Ext.override(Ext.form.FieldSet,{onRender:function(ct,position){if(FieldSetonRender.call(this,ct,position),this.checkboxToggle){var trigger=this.el.dom.getElementsByClassName(this.headerTextCls)[0],elem=this;trigger&&trigger.addEventListener("click",(function(e){elem.checkbox.dom.click(e)}),!1)}}}),Array.prototype.in_array=function(p_val){for(var i=0,l=this.length;i0){this.items.addAll(fields);for(var f=0;f',elbowMarkup=n.attributes.pseudoroot?'':'',buf=['
  • ",'',"
  • "].join("");!0!==bulkRender&&n.nextSibling&&(nel=n.nextSibling.ui.getEl())?this.wrap=Ext.DomHelper.insertHtml("beforeBegin",nel,buf):this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf),this.elNode=this.wrap.childNodes[0],this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.childNodes;this.indentNode=cs[0],this.ecNode=cs[1],this.iconNode=cs[2];var index=3;cb&&(this.checkbox=cs[3],this.checkbox.defaultChecked=this.checkbox.checked,index++),this.anchor=cs[index],this.textNode=cs[index].firstChild},renderItemText:function(item){return Ext.util.Format.htmlEncode(item.text)},getChildIndent:function(){if(!this.childIndent){for(var buf=[],p=this.node;p;)(!p.isRoot||p.isRoot&&p.ownerTree.rootVisible)&&!p.attributes.pseudoroot&&(p.isLast()?buf.unshift(''):buf.unshift('')),p=p.parentNode;this.childIndent=buf.join("")}return this.childIndent}}),Ext.override(Ext.form.Action.Submit,{handleResponse:function(response){var m=Ext.decode(response.responseText);if(this.form.errorReader){var rs=this.form.errorReader.read(response),errors=[];if(rs.records)for(var i=0,len=rs.records.length;i0))return defaultValue;10===timestamp.toString().length&&(timestamp*=1e3);var format=[];return!0===date&&format.push(MODx.config.manager_date_format),!0===time&&format.push(MODx.config.manager_time_format),0===format.length?defaultValue:(format=format.join(" "),new Date(timestamp).format(format))},trimCharacters:function(string,charList="",direction="both"){if(charList.length){const trimLeft={find:new RegExp(`^([${charList}]+)([^${charList}]?)(.*)`,"g"),replace:"$2$3"},trimRight={find:new RegExp(`(.*)([^${charList}]+)([${charList}]+)$`,"g"),replace:"$1$2"};switch(direction){case"both":return string.replace(trimLeft.find,trimLeft.replace).replace(trimRight.find,trimRight.replace);case"left":return string.replace(trimLeft.find,trimLeft.replace);case"right":return string.replace(trimRight.find,trimRight.replace)}}return string},trimAndCollapseSpace:function(value){return"string"!=typeof value||Ext.isEmpty(value)?value:value.trim().replace(/\s{2,}/," ")},trimCharSeparatedList:function(list,separator=",",padListItems=!0){let formattedList=this.trimCharacters(list,`${separator}\\s`);return formattedList=this.trimAndCollapseSpace(formattedList),formattedList=formattedList.replace(new RegExp(`\\s*${separator}\\s*`,"g"),separator).replace(new RegExp(`[${separator}]{2,}`,"g"),separator),padListItems?formattedList.replaceAll(separator,`${separator} `):formattedList}},MODx.util.getHeaderBreadCrumbs=function(header,trail){return"string"==typeof header&&(header={id:header,xtype:"modx-header"}),void 0===trail&&(trail=[]),Array.isArray(trail)||(trail=[trail]),{xtype:"modx-breadcrumbs-panel",id:"modx-header-breadcrumbs",cls:"modx-header-breadcrumbs",desc:"",bdMarkup:'',init:function(){this.tpl=new Ext.XTemplate(this.bdMarkup,{compiled:!0})},trail,listeners:{afterrender:function(){this.renderTrail()}},renderTrail:function(){this.tpl.overwrite(this.body.dom.lastElementChild,{trail:this.trail})},updateTrail:function(trail,replace){if(void 0===replace&&(replace=!1),!0===replace)return this.trail=Array.isArray(trail)?trail:[trail],this.renderTrail(),!0;if(Array.isArray(trail)){for(var i=0;i{params.set(param,value)}));const newUrl=url.toString().replace(/%2F/g,"/");window.history.replaceState(stateData,document.title,newUrl)}},clearAllParams:function(stateData={}){if(void 0!==window.history.replaceState){const preserve=["a","id","key","namespace"],preserved=[],urlParts=window.location.href.split("?");urlParts[1].split("&").forEach((param=>{const paramName=param.split("=")[0];preserve.includes(paramName)&&preserved.push(param)}));let newUrl=new URL(`${urlParts[0]}?${preserved.join("&")}`);newUrl=newUrl.toString().replace(/%2F/g,"/"),window.history.replaceState(stateData,document.title,newUrl)}},clearParam:function(reference,referenceIsComponent=!0,stateData={}){if(void 0!==window.history.replaceState){let removeParamName,url=new URL(window.location.href);referenceIsComponent?(removeParamName=this.getParamNameFromCmp(reference),removeParamName="namespace"===removeParamName?"ns":removeParamName):removeParamName=reference.trim(),url.searchParams.delete(removeParamName),url=url.toString().replace(/%2F/g,"/"),window.history.replaceState(stateData,document.title,url)}},getParamNameFromCmp:function(cmp){const param=cmp.itemId.split("-")[1];return"ns"===param?"namespace":param},getParamValue:function(param,setEmptyToString=!1){const key="namespace"===param?"ns":param,emptyValue=setEmptyToString?"":null;return MODx.request[key]?this.decodeParamValue(MODx.request[key]):emptyValue},decodeParamValue:function(value){return value=value.replace(/\+/g," "),decodeURIComponent(value)}},MODx.util.tree={getGroupIdFromNode:function(node){return node.id?node.id.split("_").pop():0}},Ext.util.Format.trimCommas=function(s){var len=(s=s.replace(",,",",")).length;return","==s.substr(len-1,1)&&(s=s.substring(0,len-1)),","==s.substr(0,1)&&(s=s.substring(1)),","==s&&(s=""),s},Ext.ns("Ext.ux.grid"),"function"!=typeof RegExp.escape&&(RegExp.escape=function(s){return"string"!=typeof s?s:s.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")}),Ext.ux.grid.RowActions=function(a){Ext.apply(this,a),this.addEvents("beforeaction","action","beforegroupaction","groupaction"),Ext.ux.grid.RowActions.superclass.constructor.call(this)},Ext.extend(Ext.ux.grid.RowActions,Ext.util.Observable,{actionEvent:"click",autoWidth:!0,dataIndex:"",editable:!1,header:"",isColumn:!0,keepSelection:!1,menuDisabled:!0,sortable:!1,tplGroup:'
    ux-action-right {cls}" style="{style}" qtip="{qtip}">{text}
    ',tplRow:'
    ux-row-action-text" style="{hide}{style}" qtip="{qtip}">{text}
    ',hideMode:"visibility",widthIntercept:4,widthSlope:21,init:function(g){this.grid=g,this.id=this.id||Ext.id();var h=g.getColumnModel().lookup;delete h[void 0],h[this.id]=this,this.tpl||(this.tpl=this.processActions(this.actions)),this.autoWidth&&(this.width=this.widthSlope*this.actions.length+this.widthIntercept,this.fixed=!0);var i=g.getView(),j={scope:this};j[this.actionEvent]=this.onClick,g.afterRender=g.afterRender.createSequence((function(){i.mainBody.on(j),g.on("destroy",this.purgeListeners,this)}),this),this.renderer||(this.renderer=function(a,b,c,d,e,f){return b.css+=(b.css?" ":"")+"ux-row-action-cell",this.tpl.apply(this.getData(a,b,c,d,e,f))}.createDelegate(this)),i.groupTextTpl&&this.groupActions&&(i.interceptMouse=i.interceptMouse.createInterceptor((function(e){if(e.getTarget(".ux-grow-action-item"))return!1})),i.groupTextTpl='
    '+i.groupTextTpl+"
    "+this.processActions(this.groupActions,this.tplGroup).apply()),!0===this.keepSelection&&(g.processEvent=g.processEvent.createInterceptor((function(a,e){if("mousedown"===a)return!this.getAction(e)}),this))},getData:function(a,b,c,d,e,f){return c.data||{}},processActions:function(b,c){var d=[];Ext.each(b,(function(a,i){a.iconCls&&"function"==typeof(a.callback||a.cb)&&(this.callbacks=this.callbacks||{},this.callbacks[a.iconCls]=a.callback||a.cb);var o={cls:a.iconIndex?"{"+a.iconIndex+"}":a.iconCls?a.iconCls:"",qtip:a.qtipIndex?"{"+a.qtipIndex+"}":a.tooltip||a.qtip?a.tooltip||a.qtip:"",text:a.textIndex?"{"+a.textIndex+"}":a.text?a.text:"",hide:a.hideIndex?''+("display"===this.hideMode?"display:none":"visibility:hidden")+";":a.hide?"display"===this.hideMode?"display:none":"visibility:hidden;":"",align:a.align||"right",style:a.style?a.style:""};d.push(o)}),this);var e=new Ext.XTemplate(c||this.tplRow);return new Ext.XTemplate(e.apply({actions:d}))},getAction:function(e){var a=!1,t=e.getTarget(".ux-row-action-item");return t&&(a=t.className.replace(/ux-row-action-item /,""))&&(a=(a=a.replace(/ ux-row-action-text/,"")).trim()),a},onClick:function(e,a){var b=this.grid.getView(),c=e.getTarget(".x-grid3-row"),d=b.findCellIndex(a.parentNode.parentNode),f=this.getAction(e);if(!1!==c&&!1!==d&&!1!==f){var g=this.grid.store.getAt(c.rowIndex);if(this.callbacks&&"function"==typeof this.callbacks[f]&&this.callbacks[f](this.grid,g,f,c.rowIndex,d),!0!==this.eventsSuspended&&!1===this.fireEvent("beforeaction",this.grid,g,f,c.rowIndex,d))return;!0!==this.eventsSuspended&&this.fireEvent("action",this.grid,g,f,c.rowIndex,d)}if(t=e.getTarget(".ux-grow-action-item"),t){var j,h=b.findGroup(a),i=h?h.id.replace(/ext-gen[0-9]+-gp-/,""):null;if(i){var k=new RegExp(RegExp.escape(i));j=(j=this.grid.store.queryBy((function(r){return r._groupId.match(k)})))?j.items:[]}if(f=t.className.replace(/ux-grow-action-item (ux-action-right )*/,""),"function"==typeof this.callbacks[f]&&this.callbacks[f](this.grid,j,f,i),!0!==this.eventsSuspended&&!1===this.fireEvent("beforegroupaction",this.grid,j,f,i))return!1;this.fireEvent("groupaction",this.grid,j,f,i)}}}),Ext.reg("rowactions",Ext.ux.grid.RowActions),Ext.SwitchButton=Ext.extend(Ext.Component,{initComponent:function(){Ext.SwitchButton.superclass.initComponent.call(this);var mc=new Ext.util.MixedCollection;mc.addAll(this.items),this.items=mc,this.addEvents("change"),this.handler&&this.on("change",this.handler,this.scope||this)},onRender:function(ct,position){var el=document.createElement("table");el.cellSpacing=0,el.className="x-rbtn",el.id=this.id;var row=document.createElement("tr");el.appendChild(document.createElement("tbody")).appendChild(row);var count=this.items.length,last=count-1;this.activeItem=this.items.get(this.activeItem);for(var i=0;idata.rowIndex&&this.rowPosition<0&&rindex--,rindex0&&rindex++,rindex>data.rowIndex&&data.selections.length>1&&(rindex-=data.selections.length-1),rindex==data.rowIndex)return!1;if(!self.copy)for(i=0;i=0;i--){var insertIndex=rindex;ds.insert(insertIndex,selections[i])}var sm=this.grid.getSelectionModel();return sm&&sm.selectRecords(data.selections),this.gridDropTarget.fireEvent(self.copy?"afterrowcopy":"afterrowmove",this.gridDropTarget,data.rowIndex,rindex,data.selections),!0},notifyOver:function(dd,e,data){var t=Ext.lib.Event.getTarget(e),rindex=this.grid.getView().findRowIndex(t),keys=this.grid.getStore().data.keys;for(var key in keys)for(var i=0;i0)this.currentRowEl=new Ext.Element(currentRow),this.currentRowEl.addClass("grid-row-insert-below");else if(rindex-1>=0){var previousRow=this.grid.getView().getRow(rindex-1);this.currentRowEl=new Ext.Element(previousRow),this.currentRowEl.addClass("grid-row-insert-below")}else this.currentRowEl.addClass("grid-row-insert-above")}catch(err){console.warn(err),rindex=!1}return!1===rindex?this.dropNotAllowed:this.dropAllowed},notifyOut:function(dd,e,data){this.currentRowEl&&(this.currentRowEl.removeClass("grid-row-insert-above"),this.currentRowEl.removeClass("grid-row-insert-below"))}}),this.targetCfg&&Ext.apply(this.target,this.targetCfg),this.scrollable&&(Ext.dd.ScrollManager.register(grid.getView().getEditorParent()),grid.on({beforedestroy:this.onBeforeDestroy,scope:this,single:!0}))},getTarget:function(){return this.target},getGrid:function(){return this.grid},getCopy:function(){return!!this.copy},setCopy:function(b){this.copy=!!b},onBeforeDestroy:function(grid){Ext.dd.ScrollManager.unregister(grid.getView().getEditorParent())}}),Ext.grid.GridView.prototype.templates||(Ext.grid.GridView.prototype.templates={}),Ext.grid.GridView.prototype.templates.cell=new Ext.Template('','
    {value}
    ',""),MODx.grid||(MODx.grid={}),MODx.grid.ComboColumn=Ext.extend(Ext.grid.Column,{gridId:void 0,constructor:function(cfg){MODx.grid.ComboColumn.superclass.constructor.call(this,cfg),this.renderer=this.editor&&this.editor.triggerAction?MODx.grid.ComboBoxRenderer(this.editor,this.gridId,cfg.renderer):function(value){return value}}}),Ext.grid.Column.types.combocolumn=MODx.grid.ComboColumn,MODx.grid.ComboBoxRenderer=function(combo,gridId,currentRenderer){return function(value,metaData,record,rowIndex,colIndex,store){if(currentRenderer){if("function"==typeof currentRenderer.fn){var scope=!!currentRenderer.scope&¤tRenderer.scope;currentRenderer=currentRenderer.fn.bind(scope)}"function"==typeof currentRenderer&&(value=currentRenderer(value,metaData,record,rowIndex,colIndex,store))}return 0==combo.store.getCount()&&gridId?(combo.store.on("load",(function(){var grid=Ext.getCmp(gridId);grid&&grid.getView().refresh()}),this,{single:!0}),value):function(value){var idx=combo.store.find(combo.valueField,value),rec=combo.store.getAt(idx);return rec?rec.get(combo.displayField):value}(value)}},Ext.Button.buttonTemplate=new Ext.Template(''),Ext.Button.buttonTemplate.compile(),Ext.TabPanel.prototype.itemTpl=new Ext.Template('
  • ','{text}
  • '),Ext.TabPanel.prototype.itemTpl.disableFormats=!0,Ext.TabPanel.prototype.itemTpl.compile(),Ext.namespace("Ext.ux.form"),Ext.ux.form.CheckboxGroup=Ext.extend(Ext.form.CheckboxGroup,{aggregateSubmitField:{},initComponent:function(){const me=this,ct=this.ownerCt;"string"==typeof this.name&&this.name.length>0?(this.aggregateSubmitField=new Ext.form.Hidden({name:this.name}),Ext.ux.form.CheckboxGroup.superclass.initComponent.call(this),this.cls="string"==typeof this.cls&&this.cls.length>0?"aggregated-group "+this.cls:"aggregated-group",Ext.each(this.items,(function(item){if("string"==typeof me.value&&me.value.length>0){me.value.split(",").find((function(v){return v==item.inputValue}))==item.inputValue&&(item.checked=!0),me.aggregateSubmitField.setValue(me.value)}item.listeners={check:{fn:me.setHiddenSubmit,scope:me}},item.submitValue=!1})),ct.add(this.aggregateSubmitField)):console.warning("Ext.ux.form.CheckboxGroup: A name must be specified in this component’s config for its values to be saved.",this)},setHiddenSubmit:function(){const groupOpts=this.items.items;let vals=[];Ext.each(groupOpts,(function(item){item.checked&&vals.push(item.inputValue)})),this.aggregateSubmitField.setValue(vals.join(","))}}),Ext.reg("xcheckboxgroup",Ext.ux.form.CheckboxGroup),Ext.define("AddFieldUtilities.plugin.Class",{alias:"plugin.fieldutilities",init:function(cmp){cmp.on("afterrender",this.afterRender,cmp)},afterRender:function(){const me=this;this.label.createChild({tag:"a",title:_("field_reset"),cls:"modx-field-utils modx-field-reset"}).on("click",(function(){me.reset()}),me),this.label.createChild({tag:"a",title:_("field_clear"),cls:"modx-field-utils modx-field-clear"}).on("click",(function(){switch(this.xtype){case"xcheckboxgroup":case"checkboxgroup":Ext.isArray(this.items.items)&&(Ext.each(this.items.items,(function(item){item.setValue(!1)})),this.doLayout());break;case"checkbox":case"radio":me.setValue(!1);break;default:me.setValue("")}}),me)}}),MODx.util.FileDownload=function(fields){if(Ext.isObject(fields)){var me=this;me.clearCookie=function(){Ext.util.Cookies.set(cookieName,null,new Date("January 1, 1970"),"/"),Ext.util.Cookies.clear(cookieName,"/")},me.randomHex=function(len){const hex="0123456789ABCDEF";let output="";for(let i=0;i0){var result=Ext.decode(frame.dom.contentDocument.body.innerHTML);return result=result||{success:!1,message:_("file_msg_download_error")},me.clearCookie(),failureCallback&&failureCallback(result),void(frame.dom.contentDocument.body.innerHTML="")}}catch(e){console.log(e)}polling?(debug&&console.log("polling "+polling),window.setTimeout((function(){polling--,me.isFinished(successCallback,failureCallback)}),100)):(me.clearCookie(),failureCallback&&failureCallback({success:!1,message:_("file_err_download_timeout")}))};var cookieName="fileDownload"+me.randomHex(16),polling=10*fields.timeout||300,ident=fields.ident||"filedownload-"+Ext.id(),url=fields.url||MODx.config.connector_url,params=fields.params||{},debug=fields.debug||!1,successCallback=fields.success||null,failureCallback=fields.failure||null,body=Ext.getBody(),frame=body.createChild({tag:"iframe",cls:"x-hidden",id:ident+"-iframe",name:ident+"-iframe"}),form=body.createChild({tag:"form",cls:"x-hidden",id:ident+"-form",action:url,target:ident+"-iframe",method:"post"});params.HTTP_MODAUTH=MODx.siteId,"function"==typeof successCallback&&(params.cookieName=cookieName),Ext.iterate(params,(function(name,value){form.createChild({tag:"input",type:"text",cls:"x-hidden",id:ident+"-"+name,name,value})})),form.dom.submit(),(successCallback||failureCallback)&&me.isFinished(successCallback,failureCallback)}},Ext.override(Ext.form.TimeField,{initDate:"2/1/2008"}),Ext.ns("Ext.ux.form"),Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{dateValidator:null,defaultAutoCreate:{tag:"input",type:"hidden"},dtSeparator:" ",hiddenFormat:"Y-m-d H:i:s",otherToNow:!0,timePosition:"right",timeValidator:null,timeWidth:100,dateFormat:"m/d/y",timeFormat:"g:i A",maxDateValue:"",minDateValue:"",timeIncrement:15,maxTimeValue:null,minTimeValue:null,disabledDates:null,hideTime:!1,initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this),this.hasOwnProperty("offset_time")&&!isNaN(this.offset_time)||(this.offset_time=0);var dateConfig=Ext.apply({},{id:this.id+"-date",format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.dateValidator,disabledDates:this.disabledDates||null,disabledDays:this.disabledDays||[],showToday:this.showToday||!0,maxValue:this.maxDateValue||"",minValue:this.minDateValue||"",startDay:this.startDay||0,allowBlank:this.allowBlank,msgTarget:this.msgTarget,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(dateConfig),this.df.ownerCt=this,delete this.dateFormat,delete this.disabledDates,delete this.disabledDays,delete this.maxDateValue,delete this.minDateValue,delete this.startDay;var timeConfig=Ext.apply({},{id:this.id+"-time",format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.timeValidator,increment:this.timeIncrement||15,maxValue:this.maxTimeValue||null,minValue:this.minTimeValue||null,hidden:this.hideTime,allowBlank:this.allowBlank,msgTarget:this.msgTarget,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(timeConfig),this.tf.ownerCt=this,delete this.timeFormat,delete this.maxTimeValue,delete this.minTimeValue,delete this.timeIncrement,this.relayEvents(this.df,["focus","specialkey","invalid","valid"]),this.relayEvents(this.tf,["focus","specialkey","invalid","valid"]),this.on("specialkey",this.onSpecialKey,this)},onRender:function(ct,position){if(!this.isRendered){var t;switch(Ext.ux.form.DateTime.superclass.onRender.call(this,ct,position),t="below"===this.timePosition||"bellow"===this.timePosition?Ext.DomHelper.append(ct,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-bottom:1px",cls:"ux-datetime-date"}]},{tag:"tr",children:[{tag:"td",cls:"ux-datetime-time"}]}]},!0):Ext.DomHelper.append(ct,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-right:4px",cls:"ux-datetime-date"},{tag:"td",cls:"ux-datetime-time"}]}]},!0),this.tableEl=t,this.wrap=t.wrap({cls:"x-form-field-wrap x-datetime-wrap"}),this.wrap.on("mousedown",this.onMouseDown,this,{delay:10}),this.df.render(t.child("td.ux-datetime-date")),this.tf.render(t.child("td.ux-datetime-time")),this.df.el.swallowEvent(["keydown","keypress"]),this.tf.el.swallowEvent(["keydown","keypress"]),this.msgTarget){case"side":const elp=this.el.findParent(".x-form-element",10,!0);elp&&(this.errorIcon=elp.createChild({cls:"x-form-invalid-icon"}));const o={errorIcon:this.errorIcon,msgTarget:"side",alignErrorIcon:this.alignErrorIcon.createDelegate(this)};Ext.apply(this.df,o),Ext.apply(this.tf,o);break;case"under":const dateMsgElId=`ux-datetime-date-msg-${this.itemId}`,dateMsgWidth=Math.ceil(this.dateWidth-30),dateMsgEl=Ext.DomHelper.append(this.df.container,{tag:"div",cls:"x-form-invalid-msg",style:`display: none; width: ${dateMsgWidth}px;`,id:dateMsgElId}),timeMsgElId=`ux-datetime-time-msg-${this.itemId}`,timeMsgWidth=Math.ceil(this.timeWidth-30),timeMsgEl=Ext.DomHelper.append(this.tf.container,{tag:"div",cls:"x-form-invalid-msg",style:`display: none; width: ${timeMsgWidth}px;`,id:timeMsgElId});this.df.container.appendChild(dateMsgEl),this.tf.container.appendChild(timeMsgEl),this.df.msgTarget=dateMsgElId,this.tf.msgTarget=timeMsgElId}this.el.dom.name=this.hiddenName||this.name||this.id,this.df.el.dom.removeAttribute("name"),this.tf.el.dom.removeAttribute("name"),this.isRendered=!0,this.updateHidden()}},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,"tl-tr",[2,0])},initDateValue:function(){this.dateValue=this.otherToNow?new Date:new Date(1970,0,1,0,0,0)},clearInvalid:function(){this.df.clearInvalid(),this.tf.clearInvalid()},markInvalid:function(msg){this.df.markInvalid(msg),this.tf.markInvalid(msg)},beforeDestroy:function(){this.isRendered&&(this.wrap.removeAllListeners(),this.wrap.remove(),this.tableEl.remove(),this.df.destroy(),this.tf.destroy())},disable:function(){return this.isRendered&&(this.df.disabled=this.disabled,this.df.onDisable(),this.tf.onDisable()),this.disabled=!0,this.df.disabled=!0,this.tf.disabled=!0,this.fireEvent("disable",this),this},enable:function(){return this.rendered&&(this.df.onEnable(),this.tf.onEnable()),this.disabled=!1,this.df.disabled=!1,this.tf.disabled=!1,this.fireEvent("enable",this),this},focus:function(){this.df.focus()},getPositionEl:function(){return this.wrap},getResizeEl:function(){return this.wrap},getValue:function(){return this.dateValue?new Date(this.dateValue):""},isValid:function(){return this.df.isValid()&&this.tf.isValid()},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible()},onBlur:function(f){this.wrapClick&&(f.focus(),this.wrapClick=!1),f===this.df?this.updateDate():this.updateTime(),this.updateHidden(),this.validate(),function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var v=this.getValue();String(v)!==String(this.startValue)&&this.fireEvent("change",this,v,this.startValue),this.hasFocus=!1,this.fireEvent("blur",this)}}.defer(100,this)},onFocus:function(){this.hasFocus||(this.hasFocus=!0,this.startValue=this.getValue(),this.fireEvent("focus",this))},onMouseDown:function(e){this.disabled||(this.wrapClick="td"===e.target.nodeName.toLowerCase())},onSpecialKey:function(t,e){var key=e.getKey();key===e.TAB&&(t!==this.df||e.shiftKey||(this.onBlur(t),e.stopEvent(),this.tf.focus()),t===this.tf&&e.shiftKey&&(this.onBlur(t),e.stopEvent(),this.df.focus()),this.updateValue()),key===e.ENTER&&this.updateValue()},reset:function(){this.df.setValue(this.originalValue),this.tf.setValue(this.originalValue)},setDate:function(date){date&&0!=this.offset_time&&(date=date.add(Date.MINUTE,60*new Number(this.offset_time))),this.df.setValue(date)},setTime:function(date){date&&0!=this.offset_time&&(date=date.add(Date.MINUTE,60*new Number(this.offset_time))),this.tf.setValue(date)},setSize:function(w,h){w&&("below"===this.timePosition?(this.df.setSize(w,h),this.tf.setSize(w,h),Ext.isIE&&(this.df.el.up("td").setWidth(w),this.tf.el.up("td").setWidth(w))):(this.df.setSize(w-this.timeWidth-4,h),this.tf.setSize(this.timeWidth,h),Ext.isIE&&(this.df.el.up("td").setWidth(w-this.timeWidth-4),this.tf.el.up("td").setWidth(this.timeWidth))))},setValue:function(val){if(val||!0!==this.emptyToNow){if(!val)return this.setDate(""),this.setTime(""),void this.updateValue();var da;"number"==typeof val?val=new Date(val):"string"==typeof val&&this.hiddenFormat&&(val=Date.parseDate(val,this.hiddenFormat)),(val=val||new Date(1970,0,1,0,0,0))instanceof Date?(this.setDate(val),this.setTime(val),this.dateValue=new Date(Ext.isIE?val.getTime():val)):(da=val.split(this.dtSeparator),this.setDate(da[0]),da[1]&&(da[2]&&(da[1]+=da[2]),this.setTime(da[1]))),this.updateValue()}else this.setValue(new Date)},setVisible:function(visible){return visible?(this.df.show(),this.tf.show()):(this.df.hide(),this.tf.hide()),this},show:function(){return this.setVisible(!0)},hide:function(){return this.setVisible(!1)},updateDate:function(){var d=this.df.getValue();d?(this.dateValue instanceof Date||(this.initDateValue(),this.tf.getValue()||this.setTime(this.dateValue)),this.dateValue.setMonth(0),this.dateValue.setFullYear(d.getFullYear()),this.dateValue.setMonth(d.getMonth(),d.getDate())):(this.dateValue="",this.setTime(""))},updateTime:function(){let t=this.tf.getValue();!t||t instanceof Date||(t=Date.parseDate(t,this.tf.format)),t&&!this.df.getValue()&&(this.initDateValue(),this.setDate(this.dateValue)),this.dateValue instanceof Date&&(t&&!this.hideTime?(this.dateValue.setHours(t.getHours()),this.dateValue.setMinutes(t.getMinutes()),this.dateValue.setSeconds(t.getSeconds())):(this.dateValue.setHours(0),this.dateValue.setMinutes(0),this.dateValue.setSeconds(0)))},updateHidden:function(){if(this.isRendered){var value="";this.dateValue instanceof Date&&(value=this.dateValue.add(Date.MINUTE,0-60*new Number(this.offset_time)).format(this.hiddenFormat)),this.el.dom.value=value}},updateValue:function(){this.updateDate(),this.updateTime(),this.updateHidden()},validate:function(){return this.df.validate()&&this.tf.validate()},renderer:function(field){var format=field.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;return format+=" "+(field.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat),function(val){return Ext.util.Format.date(val,format)}}}),Ext.reg("xdatetime",Ext.ux.form.DateTime),Ext.namespace("Ext.ux.Utils"),Ext.ux.Utils.EventQueue=function(handler,scope){if(!handler)throw"Handler is required.";this.handler=handler,this.scope=scope||window,this.queue=[],this.is_processing=!1,this.postEvent=function(event,data){data=data||null,this.queue.push({event,data}),this.is_processing||this.process()},this.flushEventQueue=function(){this.queue=[]},this.process=function(){for(;this.queue.length>0;){this.is_processing=!0;var event_data=this.queue.shift();this.handler.call(this.scope,event_data.event,event_data.data)}this.is_processing=!1}},Ext.ux.Utils.FSA=function(initial_state,trans_table,trans_table_scope){this.current_state=initial_state,this.trans_table=trans_table||{},this.trans_table_scope=trans_table_scope||window,Ext.ux.Utils.FSA.superclass.constructor.call(this,this.processEvent,this)},Ext.extend(Ext.ux.Utils.FSA,Ext.ux.Utils.EventQueue,{current_state:null,trans_table:null,trans_table_scope:null,state:function(){return this.current_state},processEvent:function(event,data){var transitions=this.currentStateEventTransitions(event);if(!transitions)throw"State '"+this.current_state+"' has no transition for event '"+event+"'.";for(var i=0,len=transitions.length;i ").compile()},createForm:function(){this.form=Ext.DomHelper.append(this.body,{tag:"form",method:"post",action:this.url,style:"position: absolute; left: -100px; top: -100px; width: 100px; height: 100px; clear: both;"})},createProgressBar:function(){this.progress_bar=this.add(new Ext.ProgressBar({x:0,y:0,anchor:"0",value:0,text:this.i18n.progress_waiting_text}))},createGrid:function(){var store=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.JsonReader({},Ext.ux.UploadDialog.FileRecord),sortInfo:{field:"state",direction:"DESC"},pruneModifiedRecords:!0}),cm=new Ext.grid.ColumnModel([{header:this.i18n.state_col_title,width:this.i18n.state_col_width,resizable:!1,dataIndex:"state",sortable:!0,renderer:this.renderStateCell.createDelegate(this)},{header:this.i18n.filename_col_title,width:this.i18n.filename_col_width,dataIndex:"filename",sortable:!0,renderer:this.renderFilenameCell.createDelegate(this)},{header:this.i18n.note_col_title,width:this.i18n.note_col_width,dataIndex:"note",sortable:!0,renderer:this.renderNoteCell.createDelegate(this)}]);this.grid_panel=new Ext.grid.GridPanel({ds:store,cm,layout:"fit",height:this.height-100,region:"center",x:0,y:22,border:!0,viewConfig:{autoFill:!0,forceFit:!0},bbar:new Ext.Toolbar}),this.grid_panel.on("render",this.onGridRender,this),this.add(this.grid_panel),this.grid_panel.getSelectionModel().on("selectionchange",this.onGridSelectionChange,this)},fillToolbar:function(){var tb=this.grid_panel.getBottomToolbar();tb.x_buttons={},tb.x_buttons.add=tb.addItem(new Ext.ux.UploadDialog.TBBrowseButton({input_name:this.post_var_name,text:this.i18n.add_btn_text,tooltip:this.i18n.add_btn_tip,iconCls:"ext-ux-uploaddialog-addbtn",handler:this.onAddButtonFileSelected,scope:this})),tb.x_buttons.remove=tb.addButton({text:this.i18n.remove_btn_text,tooltip:this.i18n.remove_btn_tip,iconCls:"ext-ux-uploaddialog-removebtn",handler:this.onRemoveButtonClick,scope:this}),tb.x_buttons.reset=tb.addButton({text:this.i18n.reset_btn_text,tooltip:this.i18n.reset_btn_tip,iconCls:"ext-ux-uploaddialog-resetbtn",handler:this.onResetButtonClick,scope:this}),tb.x_buttons.upload=tb.addButton({text:this.i18n.upload_btn_start_text,tooltip:this.i18n.upload_btn_start_tip,iconCls:"ext-ux-uploaddialog-uploadstartbtn",handler:this.onUploadButtonClick,scope:this}),tb.x_buttons.close=tb.addButton({text:this.i18n.close_btn_text,tooltip:this.i18n.close_btn_tip,handler:this.onCloseButtonClick,scope:this})},renderStateCell:function(data,cell,record,row_index,column_index,store){return this.state_tpl.apply({state:data})},renderFilenameCell:function(data,cell,record,row_index,column_index,store){var view=this.grid_panel.getView();return function(){try{Ext.fly(view.getCell(row_index,column_index)).child(".x-grid3-cell-inner").dom.qtip=data}catch(e){}}.defer(1e3),data},renderNoteCell:function(data,cell,record,row_index,column_index,store){var view=this.grid_panel.getView();return function(){try{Ext.fly(view.getCell(row_index,column_index)).child(".x-grid3-cell-inner").dom.qtip=data}catch(e){}}.defer(1e3),data},getFileExtension:function(filename){var result=null,parts=filename.split(".");return parts.length>1&&(result=parts.pop()),result},isPermittedFileType:function(filename){var result=!0;return this.permitted_extensions.length>0&&(result=-1!=this.permitted_extensions.indexOf(this.getFileExtension(filename))),result},isPermittedFile:function(browse_btn){var result=!1,filename=browse_btn.getInputFile().dom.value;return this.isPermittedFileType(filename)?result=!0:(Ext.Msg.alert(this.i18n.error_msgbox_title,String.format(this.i18n.err_file_type_not_permitted,filename,this.permitted_extensions.join(this.i18n.permitted_extensions_join_str))),result=!1),result},fireFileTestEvent:function(browse_btn){return!1!==this.fireEvent("filetest",this,browse_btn.getInputFile().dom.value)},addFileToUploadQueue:function(browse_btn){var input_file=browse_btn.detachInputFile();input_file.appendTo(this.form),input_file.setStyle("width","100px"),input_file.dom.disabled=!0;var store=this.grid_panel.getStore(),fileApi=input_file.dom.files,filename=void 0!==fileApi?fileApi[0].name:input_file.dom.value.replace("C:\\fakepath\\","");store.add(new Ext.ux.UploadDialog.FileRecord({state:Ext.ux.UploadDialog.FileRecord.STATE_QUEUE,filename,note:this.i18n.note_queued_to_upload,input_element:input_file})),this.fsa.postEvent("file-added",input_file.dom.value)},fireFileAddEvent:function(filename){this.fireEvent("fileadd",this,filename)},updateProgressBar:function(){if(this.is_uploading){var queued=this.getQueuedCount(!0),value=1-queued/this.initial_queued_count;this.progress_bar.updateProgress(value,String.format(this.i18n.progress_uploading_text,this.initial_queued_count-queued,this.initial_queued_count))}else this.progress_bar.updateProgress(0,this.i18n.progress_waiting_text)},updateToolbar:function(){var tb=this.grid_panel.getBottomToolbar();this.is_uploading?(tb.x_buttons.remove.disable(),tb.x_buttons.reset.disable(),tb.x_buttons.upload.enable(),this.getAllowCloseOnUpload()||tb.x_buttons.close.disable(),tb.x_buttons.upload.setIconClass("ext-ux-uploaddialog-uploadstopbtn"),tb.x_buttons.upload.setText(this.i18n.upload_btn_stop_text),tb.x_buttons.upload.getEl().child(tb.x_buttons.upload.buttonSelector).dom[tb.x_buttons.upload.tooltipType]=this.i18n.upload_btn_stop_tip):(tb.x_buttons.remove.enable(),tb.x_buttons.reset.enable(),tb.x_buttons.close.enable(),tb.x_buttons.upload.setIconClass("ext-ux-uploaddialog-uploadstartbtn"),tb.x_buttons.upload.setText(this.i18n.upload_btn_start_text),this.getQueuedCount()>0?tb.x_buttons.upload.enable():tb.x_buttons.upload.disable(),this.grid_panel.getSelectionModel().hasSelection()?tb.x_buttons.remove.enable():tb.x_buttons.remove.disable(),this.grid_panel.getStore().getCount()>0?tb.x_buttons.reset.enable():tb.x_buttons.reset.disable())},saveInitialQueuedCount:function(){this.initial_queued_count=this.getQueuedCount()},incInitialQueuedCount:function(){this.initial_queued_count++},setUploadingFlag:function(){this.is_uploading=!0},resetUploadingFlag:function(){this.is_uploading=!1},prepareNextUploadTask:function(){var store=this.grid_panel.getStore(),record=null;store.each((function(r){record||r.get("state")!=Ext.ux.UploadDialog.FileRecord.STATE_QUEUE?r.get("input_element").dom.disabled=!0:record=r})),record.get("input_element").dom.disabled=!1,record.set("state",Ext.ux.UploadDialog.FileRecord.STATE_PROCESSING),record.set("note",this.i18n.note_processing),record.commit(),this.fsa.postEvent("file-upload-start",record)},fireUploadStartEvent:function(){this.fireEvent("uploadstart",this)},removeFiles:function(file_records){for(var store=this.grid_panel.getStore(),i=0,len=file_records.length;i((?:.|\n)*)<\/pre>$/i);filter&&(rt=filter[1]),json_response=Ext.util.JSON.decode(rt)}catch(e){}var data={record:options.record,response:json_response};"success"in json_response&&json_response.success?this.fsa.postEvent("file-upload-success",data):this.fsa.postEvent("file-upload-error",data)},onAjaxFailure:function(response,options){var data={record:options.record,response:{success:!1,error:this.i18n.note_upload_failed}};this.fsa.postEvent("file-upload-failed",data)},startUpload:function(){this.fsa.postEvent("start-upload")},stopUpload:function(){this.fsa.postEvent("stop-upload")},getUrl:function(){return this.url},setUrl:function(url){this.url=url},getBaseParams:function(){return this.base_params},setBaseParams:function(params){this.base_params=params},getUploadAutostart:function(){return this.upload_autostart},setUploadAutostart:function(value){this.upload_autostart=value},getMakeReload:function(){return this.Make_Reload},setMakeReload:function(value){this.Make_Reload=value},getAllowCloseOnUpload:function(){return this.allow_close_on_upload},setAllowCloseOnUpload:function(value){this.allow_close_on_upload},getResetOnHide:function(){return this.reset_on_hide},setResetOnHide:function(value){this.reset_on_hide=value},getPermittedExtensions:function(){return this.permitted_extensions},setPermittedExtensions:function(value){this.permitted_extensions=value},isUploading:function(){return this.is_uploading},isNotEmptyQueue:function(){return this.grid_panel.getStore().getCount()>0},getQueuedCount:function(count_processing){var count=0;return this.grid_panel.getStore().each((function(r){r.get("state")==Ext.ux.UploadDialog.FileRecord.STATE_QUEUE&&count++,count_processing&&r.get("state")==Ext.ux.UploadDialog.FileRecord.STATE_PROCESSING&&count++})),count},hasUnuploadedFiles:function(){return this.getQueuedCount()>0}});var p=Ext.ux.UploadDialog.Dialog.prototype;p.i18n={title:_("upload_files"),state_col_title:_("upf_state"),state_col_width:70,filename_col_title:_("upf_filename"),filename_col_width:230,note_col_title:_("upf_note"),note_col_width:150,add_btn_text:_("upf_add"),add_btn_tip:_("upf_add_desc"),remove_btn_text:_("upf_remove"),remove_btn_tip:_("upf_remove_desc"),reset_btn_text:_("upf_reset"),reset_btn_tip:_("upf_reset_desc"),upload_btn_start_text:_("upf_upload"),upload_btn_start_tip:_("upf_upload_desc"),upload_btn_stop_text:_("upf_abort"),upload_btn_stop_tip:_("upf_abort_desc"),close_btn_text:_("upf_close"),close_btn_tip:_("upf_close_desc"),progress_waiting_text:_("upf_progress_wait"),progress_uploading_text:_("upf_uploading_desc"),error_msgbox_title:_("upf_error"),permitted_extensions_join_str:",",err_file_type_not_permitted:_("upf_err_filetype"),note_queued_to_upload:_("upf_queued"),note_processing:_("upf_uploading"),note_upload_failed:_("upf_err_failed"),note_upload_success:_("upf_success"),note_upload_error:_("upf_upload_err"),note_aborted:_("upf_aborted")}, /*! * Ext JS Library 3.4.0 * Copyright(c) 2006-2011 Sencha Inc. @@ -36,7 +36,7 @@ Ext.ns("Ext.ux.form"),Ext.ux.form.FileUploadField=Ext.extend(Ext.form.TextField, * @license TBA (To be announced) * */ -Ext.ux.form.SuperBoxSelect=function(config){Ext.ux.form.SuperBoxSelect.superclass.constructor.call(this,config),this.addEvents("beforeadditem","additem","newitem","beforeremoveitem","removeitem","clear")},Ext.ux.form.SuperBoxSelect=Ext.extend(Ext.ux.form.SuperBoxSelect,Ext.form.ComboBox,{addNewDataOnBlur:!1,allowAddNewData:!1,allowQueryAll:!0,backspaceDeletesLastItem:!0,classField:null,clearBtnCls:"",clearLastQueryOnEscape:!1,clearOnEscape:!1,displayFieldTpl:null,extraItemCls:"",extraItemStyle:"",expandBtnCls:"",fixFocusOnTabSelect:!0,forceFormValue:!0,forceSameValueQuery:!1,itemDelimiterKey:Ext.EventObject.ENTER,navigateItemsWithTab:!0,pinList:!0,preventDuplicates:!0,queryFilterRe:"",queryValuesDelimiter:"|",queryValuesIndicator:"valuesqry",removeValuesFromStore:!0,renderFieldBtns:!0,stackItems:!1,styleField:null,supressClearValueRemoveEvents:!1,validationEvent:"blur",valueDelimiter:",",initComponent:function(){Ext.apply(this,{items:new Ext.util.MixedCollection(!1),usedRecords:new Ext.util.MixedCollection(!1),addedRecords:[],remoteLookup:[],hideTrigger:!0,grow:!1,resizable:!1,multiSelectMode:!1,preRenderValue:null,filteredQueryData:""}),this.queryFilterRe&&Ext.isString(this.queryFilterRe)&&(this.queryFilterRe=new RegExp(this.queryFilterRe)),this.transform&&this.doTransform(),this.forceFormValue&&this.items.on({add:this.manageNameAttribute,remove:this.manageNameAttribute,clear:this.manageNameAttribute,scope:this}),Ext.ux.form.SuperBoxSelect.superclass.initComponent.call(this),"remote"===this.mode&&this.store&&this.store.on("load",this.onStoreLoad,this)},onRender:function(ct,position){var h=this.hiddenName;this.hiddenName=null,Ext.ux.form.SuperBoxSelect.superclass.onRender.call(this,ct,position),this.hiddenName=h,this.manageNameAttribute();var extraClass=!0===this.stackItems?"x-superboxselect-stacked":"";this.renderFieldBtns&&(extraClass+=" x-superboxselect-display-btns"),this.el.removeClass("x-form-text").addClass("x-superboxselect-input-field"),this.wrapEl=this.el.wrap({tag:"ul"}),this.outerWrapEl=this.wrapEl.wrap({tag:"div",cls:"x-form-text x-superboxselect "+extraClass}),this.inputEl=this.el.wrap({tag:"li",cls:"x-superboxselect-input"}),this.renderFieldBtns&&this.setupFieldButtons().manageClearBtn(),this.setupFormInterception()},doTransform:function(){var s=Ext.getDom(this.transform),transformValues=[];if(!this.store){this.mode="local";for(var d=[],opts=s.options,i=0,len=opts.length;i0&&(this.collapse(),(it=this.items.get(0)).el.focus()),!0):e.getKey()===e.BACKSPACE?(e.stopEvent(),this.currentFocus?(toDestroy=this.currentFocus,this.on("expand",(function(){this.collapse()}),this,{single:!0}),idx=this.items.indexOfKey(toDestroy.key),this.clearCurrentFocus(),idx0?(this.el.removeClass(this.emptyClass),this.setRawValue(""),this):(this.rendered&&this.emptyText&&this.getRawValue().length<1&&(this.setRawValue(this.emptyText),this.el.addClass(this.emptyClass)),this)},removeAllItems:function(){return this.items.each((function(item){item.preDestroy(!0)}),this),this.manageClearBtn(),this},killItems:function(){return this.items.each((function(item){item.kill()}),this),this.resetStore(),this.items.clear(),this.manageClearBtn(),this},resetStore:function(){return this.store.clearFilter(),this.removeValuesFromStore?(this.usedRecords.each((function(rec){this.store.add(rec)}),this),this.usedRecords.clear(),this.store.remoteSort||this.store.sort(this.displayField,"ASC"),this):this},sortStore:function(){var ss=this.store.getSortState();return ss&&ss.field&&this.store.sort(ss.field,ss.direction),this},getCaption:function(dataObject){"string"==typeof this.displayFieldTpl&&(this.displayFieldTpl=new Ext.XTemplate(this.displayFieldTpl));var caption,recordData=dataObject instanceof Ext.data.Record?dataObject.data:dataObject;return this.displayFieldTpl?caption=this.displayFieldTpl.apply(recordData):this.displayField&&(caption=recordData[this.displayField]),caption},addRecord:function(record){var display=record.data[this.displayField],caption=this.getCaption(record),val=record.data[this.valueField],cls=this.classField?record.data[this.classField]:"",style=this.styleField?record.data[this.styleField]:"";this.removeValuesFromStore&&(this.usedRecords.add(val,record),this.store.remove(record)),this.addItemBox(val,display,caption,cls,style),this.fireEvent("additem",this,val,record)},createRecord:function(recordData){if(!this.recordConstructor){var recordFields=[{name:this.valueField},{name:this.displayField}];this.classField&&recordFields.push({name:this.classField}),this.styleField&&recordFields.push({name:this.styleField}),this.recordConstructor=Ext.data.Record.create(recordFields)}return new this.recordConstructor(recordData)},addItems:function(newItemObjects){Ext.isArray(newItemObjects)?Ext.each(newItemObjects,(function(item){this.addItem(item)}),this):this.addItem(newItemObjects)},addNewItem:function(newItemObject){this.addItem(newItemObject,!0)},addItem:function(newItemObject,forcedAdd){var val=newItemObject[this.valueField];if(this.disabled)return!1;if(!this.preventDuplicates||!this.hasValue(val)){var record=this.findRecord(this.valueField,val);if(record)this.addRecord(record);else if(this.allowAddNewData){if("remote"===this.mode)return this.remoteLookup.push(newItemObject),void this.doQuery(val,!1,!1,forcedAdd);var rec=this.createRecord(newItemObject);return this.store.add(rec),this.addRecord(rec),!0}}},addItemBox:function(itemVal,itemDisplay,itemCaption,itemClass,itemStyle){var hConfig,itemKey=Ext.id(null,"sbx-item"),box=new Ext.ux.form.SuperBoxSelectItem({owner:this,disabled:this.disabled,renderTo:this.wrapEl,cls:this.extraItemCls+" "+itemClass,style:function(s){var ret="";switch(typeof s){case"function":ret=s.call();break;case"object":for(var p in s)ret+=p+":"+s[p]+";";break;case"string":ret=s+";"}return ret}(this.extraItemStyle)+" "+itemStyle,caption:itemCaption,display:itemDisplay,value:itemVal,key:itemKey,listeners:{remove:function(item){if(!1===this.fireEvent("beforeremoveitem",this,item.value))return!1;this.items.removeKey(item.key),this.removeValuesFromStore&&this.usedRecords.containsKey(item.value)&&(this.store.add(this.usedRecords.get(item.value)),this.usedRecords.removeKey(item.value),this.sortStore(),this.view&&this.view.render()),this.preventMultipleRemoveEvents||this.fireEvent.defer(250,this,["removeitem",this,item.value,this.findInStore(item.value)])},destroy:function(){this.collapse(),this.autoSize().manageClearBtn().validateValue()},scope:this}});box.render(),hConfig={tag:"input",type:"hidden",value:itemVal,name:this.hiddenName||this.name},this.disabled&&Ext.apply(hConfig,{disabled:"disabled"}),box.hidden=this.el.insertSibling(hConfig,"before"),this.items.add(itemKey,box),this.applyEmptyText().autoSize().manageClearBtn().validateValue()},manageClearBtn:function(){if(!this.renderFieldBtns||!this.rendered)return this;var cls="x-superboxselect-btn-hide";return 0===this.items.getCount()?this.buttonClear.addClass(cls):this.buttonClear.removeClass(cls),this},findInStore:function(val){var index=this.store.find(this.valueField,val);return index>-1&&this.store.getAt(index)},getSelectedRecords:function(){var ret=[];if(this.removeValuesFromStore)ret=this.usedRecords.getRange();else{var vals=[];this.items.each((function(item){vals.push(item.value)})),Ext.each(vals,(function(val){ret.push(this.findInStore(val))}),this)}return ret},findSelectedItem:function(el){var ret;return this.items.each((function(item){if(item.el.dom===el)return ret=item,!1})),ret},findSelectedRecord:function(el){var ret,item=this.findSelectedItem(el);return item&&(ret=this.findSelectedRecordByValue(item.value)),ret},findSelectedRecordByValue:function(val){var ret;return this.removeValuesFromStore?this.usedRecords.each((function(rec){if(rec.get(this.valueField)==val)return ret=rec,!1}),this):ret=this.findInStore(val),ret},getValue:function(){var ret=[];return this.items.each((function(item){ret.push(item.value)})),ret.join(this.valueDelimiter)},getCount:function(){return this.items.getCount()},getValueEx:function(){var ret=[];return this.items.each((function(item){var newItem={};newItem[this.valueField]=item.value,newItem[this.displayField]=item.display,this.classField&&(newItem[this.classField]=item.cls||""),this.styleField&&(newItem[this.styleField]=item.style||""),ret.push(newItem)}),this),ret},initValue:function(){Ext.isObject(this.value)||Ext.isArray(this.value)?(this.setValueEx(this.value),this.originalValue=this.getValue()):Ext.ux.form.SuperBoxSelect.superclass.initValue.call(this),"remote"===this.mode&&(this.setOriginal=!0)},addValue:function(value){if(!Ext.isEmpty(value)){var values=value;if(Ext.isArray(value)||(values=(value=""+value).split(this.valueDelimiter)),Ext.each(values,(function(val){var record=this.findRecord(this.valueField,val);record?this.addRecord(record):"remote"===this.mode&&this.remoteLookup.push(val)}),this),"remote"===this.mode){var q=this.remoteLookup.join(this.queryValuesDelimiter);this.doQuery(q,!1,!0)}}},setValue:function(value){this.rendered?(this.removeAllItems().resetStore(),this.remoteLookup=[],this.addValue(value)):this.value=value},setValueEx:function(data){this.rendered?(this.removeAllItems().resetStore(),Ext.isArray(data)||(data=[data]),this.remoteLookup=[],this.allowAddNewData&&"remote"===this.mode?Ext.each(data,(function(d){var r=this.findRecord(this.valueField,d[this.valueField])||this.createRecord(d);this.addRecord(r)}),this):Ext.each(data,(function(item){this.addItem(item)}),this)):this.value=data},hasValue:function(val){var has=!1;return this.items.each((function(item){if(item.value==val)return has=!0,!1}),this),has},onSelect:function(record,index){if(!1!==this.fireEvent("beforeselect",this,record,index)){var val=record.data[this.valueField];if(this.preventDuplicates&&this.hasValue(val))return;this.setRawValue(""),this.lastSelectionText="",!1!==this.fireEvent("beforeadditem",this,val,record,this.filteredQueryData)&&this.addRecord(record),0!==this.store.getCount()&&this.multiSelectMode?this.restrictHeight():this.collapse()}},onDestroy:function(){this.items.purgeListeners(),this.killItems(),this.allowQueryAll&&Ext.destroy(this.buttonExpand),this.renderFieldBtns&&Ext.destroy(this.buttonClear,this.buttonWrap),Ext.destroy(this.inputEl,this.wrapEl,this.outerWrapEl),Ext.ux.form.SuperBoxSelect.superclass.onDestroy.call(this)},autoSize:function(){if(!this.rendered)return this;this.metrics||(this.metrics=Ext.util.TextMetrics.createInstance(this.el));var v=this.el.dom.value,d=document.createElement("div");""===v&&this.emptyText&&this.items.getCount()<1&&(v=this.emptyText),d.appendChild(document.createTextNode(v)),v=d.innerHTML,d=null,v+=" ";var w=Math.max(this.metrics.getWidth(v)+24,24);return void 0!==this._width&&(w=Math.min(this._width,w)),this.el.setWidth(w),Ext.isIE&&(this.el.dom.style.top="0"),this.fireEvent("autosize",this,w),this},shouldQuery:function(q){if(this.lastQuery){var m=q.match("^"+this.lastQuery);return!(m&&!this.store.getCount())||m[0]!==this.lastQuery}return!0},doQuery:function(q,forceAll,valuesQuery,forcedAdd){if(q=Ext.isEmpty(q)?"":q,this.queryFilterRe){this.filteredQueryData="";var m=q.match(this.queryFilterRe);if(m&&m.length&&(this.filteredQueryData=m[0]),!(q=q.replace(this.queryFilterRe,""))&&m)return}var qe={query:q,forceAll,combo:this,cancel:!1};if(!1===this.fireEvent("beforequery",qe)||qe.cancel)return!1;q=qe.query,(!0===(forceAll=qe.forceAll)||q.length>=this.minChars||valuesQuery&&!Ext.isEmpty(q))&&(forcedAdd||this.forceSameValueQuery||this.shouldQuery(q)?(this.lastQuery=q,"local"==this.mode?(this.selectedIndex=-1,forceAll?this.store.clearFilter():this.store.filter(this.displayField,q),this.onLoad()):(this.store.baseParams[this.queryParam]=q,this.store.baseParams[this.queryValuesIndicator]=valuesQuery,this.store.load({params:this.getParams(q)}),forcedAdd||this.expand())):(this.selectedIndex=-1,this.onLoad()))},onStoreLoad:function(store,records,options){var q=options.params[this.queryParam]||store.baseParams[this.queryParam]||"",isValuesQuery=options.params[this.queryValuesIndicator]||store.baseParams[this.queryValuesIndicator];if(this.removeValuesFromStore&&this.store.each((function(record){this.usedRecords.containsKey(record.get(this.valueField))&&this.store.remove(record)}),this),isValuesQuery){var params=q.split(this.queryValuesDelimiter);Ext.each(params,(function(p){this.remoteLookup.remove(p);var rec=this.findRecord(this.valueField,p);rec&&this.addRecord(rec)}),this),this.setOriginal&&(this.setOriginal=!1,this.originalValue=this.getValue())}""!==q&&this.allowAddNewData&&Ext.each(this.remoteLookup,(function(r){if("object"==typeof r&&r[this.valueField]===q){if(this.remoteLookup.remove(r),records.length&&records[0].get(this.valueField)===q)return void this.addRecord(records[0]);var rec=this.createRecord(r);return this.store.add(rec),this.addRecord(rec),this.addedRecords.push(rec),void function(){this.isExpanded()&&this.collapse()}.defer(10,this)}}),this);var toAdd=[];if(""===q)Ext.each(this.addedRecords,(function(rec){this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField))||toAdd.push(rec)}),this);else{var re=new RegExp(Ext.escapeRe(q)+".*","i");Ext.each(this.addedRecords,(function(rec){this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField))||re.test(rec.get(this.displayField))&&toAdd.push(rec)}),this)}this.store.add(toAdd),this.sortStore(),0===this.store.getCount()&&this.isExpanded()&&this.collapse()}}),Ext.reg("superboxselect",Ext.ux.form.SuperBoxSelect),Ext.ux.form.SuperBoxSelectItem=function(config){Ext.apply(this,config),Ext.ux.form.SuperBoxSelectItem.superclass.constructor.call(this)},Ext.ux.form.SuperBoxSelectItem=Ext.extend(Ext.ux.form.SuperBoxSelectItem,Ext.Component,{initComponent:function(){Ext.ux.form.SuperBoxSelectItem.superclass.initComponent.call(this)},onElClick:function(e){var o=this.owner;if(o.clearCurrentFocus().collapse(),o.navigateItemsWithTab)this.focus();else{o.el.dom.focus();(function(){this.onLnkFocus(),o.currentFocus=this}).defer(10,this)}},onLnkClick:function(e){e&&e.stopEvent(),this.preDestroy(),this.owner.navigateItemsWithTab||this.owner.el.focus()},onLnkFocus:function(){this.el.addClass("x-superboxselect-item-focus"),this.owner.outerWrapEl.addClass("x-form-focus")},onLnkBlur:function(){this.el.removeClass("x-superboxselect-item-focus"),this.owner.outerWrapEl.removeClass("x-form-focus")},enableElListeners:function(){this.el.on("click",this.onElClick,this,{stopEvent:!0}),this.el.addClassOnOver("x-superboxselect-item x-superboxselect-item-hover")},enableLnkListeners:function(){this.lnk.on({click:this.onLnkClick,focus:this.onLnkFocus,blur:this.onLnkBlur,scope:this})},enableAllListeners:function(){this.enableElListeners(),this.enableLnkListeners()},disableAllListeners:function(){this.el.removeAllListeners(),this.lnk.un("click",this.onLnkClick,this),this.lnk.un("focus",this.onLnkFocus,this),this.lnk.un("blur",this.onLnkBlur,this)},onRender:function(ct,position){Ext.ux.form.SuperBoxSelectItem.superclass.onRender.call(this,ct,position);var el=this.el;el&&el.remove(),this.el=el=ct.createChild({tag:"li"},ct.last()),el.addClass("x-superboxselect-item");var btnEl=this.owner.navigateItemsWithTab?"a":"span";this.key;Ext.apply(el,{focus:function(){var c=this.down(btnEl+".x-superboxselect-item-close");c&&c.focus()},preDestroy:function(){this.preDestroy()}.createDelegate(this)}),this.enableElListeners(),el.update(this.caption);var cfg={tag:btnEl,class:"x-superboxselect-item-close",tabIndex:this.owner.navigateItemsWithTab?"0":"-1"};"a"===btnEl&&(cfg.href="#"),this.lnk=el.createChild(cfg),this.disabled?this.disableAllListeners():this.enableLnkListeners(),this.on({disable:this.disableAllListeners,enable:this.enableAllListeners,scope:this}),this.setupKeyMap()},setupKeyMap:function(){this.keyMap=new Ext.KeyMap(this.lnk,[{key:[Ext.EventObject.BACKSPACE,Ext.EventObject.DELETE,Ext.EventObject.SPACE],fn:this.preDestroy,scope:this},{key:[Ext.EventObject.RIGHT,Ext.EventObject.DOWN],fn:function(){this.moveFocus("right")},scope:this},{key:[Ext.EventObject.LEFT,Ext.EventObject.UP],fn:function(){this.moveFocus("left")},scope:this},{key:[Ext.EventObject.HOME],fn:function(){var l=this.owner.items.get(0).el.focus();l&&l.el.focus()},scope:this},{key:[Ext.EventObject.END],fn:function(){this.owner.el.focus()},scope:this},{key:Ext.EventObject.ENTER,fn:function(){}}]),this.keyMap.stopEvent=!0},moveFocus:function(dir){var el=this.el["left"==dir?"prev":"next"]()||this.owner.el;el.focus.defer(100,el)},preDestroy:function(supressEffect){if(!1!==this.fireEvent("remove",this)){var actionDestroy=function(){this.owner.navigateItemsWithTab&&this.moveFocus("right"),this.hidden.remove(),this.hidden=null,this.destroy()};return supressEffect?actionDestroy.call(this):this.el.hide({duration:.2,callback:actionDestroy,scope:this}),this}},kill:function(){this.hidden.remove(),this.hidden=null,this.purgeListeners(),this.destroy()},onDisable:function(){this.hidden&&this.hidden.dom.setAttribute("disabled","disabled"),this.keyMap.disable(),Ext.ux.form.SuperBoxSelectItem.superclass.onDisable.call(this)},onEnable:function(){this.hidden&&this.hidden.dom.removeAttribute("disabled"),this.keyMap.enable(),Ext.ux.form.SuperBoxSelectItem.superclass.onEnable.call(this)},onDestroy:function(){Ext.destroy(this.lnk,this.el),Ext.ux.form.SuperBoxSelectItem.superclass.onDestroy.call(this)}}),MODx.Component=function(config){config=config||{},MODx.Component.superclass.constructor.call(this,config),this.config=config,this._loadForm(),this.config.tabs&&this._loadTabs(),this._loadComponents(),this._loadActionButtons(),MODx.activePage=this},Ext.extend(MODx.Component,Ext.Component,{fields:{},form:null,action:!1,_loadForm:function(){if(!this.config.form)return!1;if(this.form=new Ext.form.BasicForm(Ext.get(this.config.form),{errorReader:MODx.util.JSONReader}),this.config.fields)for(var i in this.config.fields)if(this.config.fields.hasOwnProperty(i)){var f=this.config.fields[i];f.xtype&&(f=Ext.ComponentMgr.create(f)),this.fields[i]=f,this.form.add(f)}return this.form.render()},_loadActionButtons:function(){return!!this.config.buttons&&(this.ab=MODx.load({xtype:"modx-actionbuttons",form:this.form||null,formpanel:this.config.formpanel||null,actions:this.config.actions||null,items:this.config.buttons||[]}),this.ab)},_loadTabs:function(){if(!this.config.tabs)return!1;var o=this.config.tabOptions||{};return Ext.applyIf(o,{xtype:"modx-tabs",renderTo:this.config.tabs_div||"tabs_div",items:this.config.tabs}),MODx.load(o)},_loadComponents:function(){if(!this.config.components)return!1;for(var l=this.config.components.length,cp=Ext.getCmp("modx-content"),i=0;i","<-",""," "];if(-1!=ex.indexOf(el)||el.xtype&&"switch"==el.xtype)MODx.toolbar.ActionButtons.superclass.add.call(this,el);else{var id=el.id||Ext.id();if(Ext.applyIf(el,{xtype:"button",cls:el.icon?"x-btn-icon bmenu":"x-btn-text bmenu",scope:this,disabled:!!el.checkDirty,listeners:{},id}),el.button&&MODx.toolbar.ActionButtons.superclass.add.call(this,el),null===el.handler&&null===el.menu?el.handler=this.checkConfirm:el.confirm&&el.handler?el.handler=function(){Ext.Msg.confirm(_("warning"),el.confirm,(function(e){"yes"===e&&Ext.callback(el.handler,this)}),el.scope||this)}:el.handler||(el.handler=this.handleClick),el.javascript&&(el.listeners.click={fn:this.evalJS,scope:this}),"button"==el.xtype&&(el.listeners.render={fn:function(btn){el.checkDirty&&btn&&this.checkDirtyBtns.push(btn)},scope:this}),el.keys){el.keyMap=new Ext.KeyMap(Ext.get(document));for(var j=0;j{item&&item.validate&&!item.validate()&&(isv=!1)})),isv?(Ext.applyIf(o.params,{action:itm.process}),Ext.apply(f.baseParams,o.params),o.form.on("success",(function(r){if(o.form.clearDirty&&o.form.clearDirty(),MODx.msg.status({title:_("success"),message:r.result.message||_("save_successful"),dontHide:""!=r.result.message}),0!=itm.redirect){var redirect=this.redirect;"function"==typeof itm.redirect&&(redirect=itm.redirect),Ext.callback(redirect,this,[o,itm,r.result],1e3)}this.resetDirtyButtons(r.result)}),this),o.form.submit({headers:{"Powered-By":"MODx",modAuth:MODx.siteId}})):(o.form.fireEvent("failureSubmit"),Ext.Msg.alert(_("error"),_("correct_errors")))}else{var params=itm.params||{};Ext.applyIf(params,o.baseParams||{}),MODx.loadPage("?"+Ext.urlEncode(params))}return!1},resetDirtyButtons:function(r){for(var i=0;i0}},contextmenu:{fn:this._showContextMenu,scope:this}}),Ext.applyIf(config,{store:this.store,singleSelect:!0,overClass:"x-view-over",emptyText:'
    '+_("file_err_filter")+"
    ",closeAction:"hide"}),MODx.DataView.superclass.constructor.call(this,config),this.config=config,this.cm=new Ext.menu.Menu},Ext.extend(MODx.DataView,Ext.DataView,{lookup:{},onLoadException:function(){this.getEl().update('
    '+_("data_err_load")+"
    ")},_addContextMenuItem:function(items){for(var a=items,l=a.length,i=0;i ').compile()}),MODx.Button.superclass.constructor.call(this,config)},Ext.extend(MODx.Button,Ext.Button,{onRender:function(ct,position){this.template||(Ext.Button.buttonTemplate||(Ext.Button.buttonTemplate=new Ext.Template(' '),Ext.Button.buttonTemplate.compile()),this.template=Ext.Button.buttonTemplate);var btn,targs=this.getTemplateArgs();targs.iconCls=this.iconCls,btn=position?this.template.insertBefore(position,targs,!0):this.template.append(ct,targs,!0),this.btnEl=btn.child("i"),this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur}),this.initButtonEl(btn,this.btnEl),Ext.ButtonToggleMgr.register(this)}}),Ext.reg("modx-button",MODx.Button),MODx.SearchBar=function(config){config=config||{},Ext.applyIf(config,{renderTo:"modx-manager-search",listClass:"modx-manager-search-results",emptyText:_("search"),id:"modx-uberbar",maxHeight:this.getViewPortSize(),typeAhead:!0,listAlign:["tl-bl?",[-12,12]],triggerConfig:{tag:"button",id:"modx-uberbar-trigger",type:"submit","aria-label":"Go",cls:"x-form-trigger icon icon-large icon-search"},defaultAutoCreate:{tag:"input",type:"text",size:"24",tabindex:"0",hasfocus:!0,"aria-label":_("search")},hasfocus:!0,minChars:1,displayField:"name",valueField:"_action",width:380,itemSelector:".x-combo-list-item",tpl:new Ext.XTemplate('','
    ','','',"

    {label:htmlEncode}

    ","
    ",'

    {name:htmlEncode} – {description:htmlEncode}

    ',"
    ","
    ",{getClass:function(values){if(values.icon)return values.icon;if(values.class)switch(values.class){case"MODX\\Revolution\\modDocument":return"file";case"MODX\\Revolution\\modSymLink":return"files-o";case"MODX\\Revolution\\modWebLink":return"link";case"MODX\\Revolution\\modStaticResource":return"file-text-o"}switch(values.type){case"resources":return"file";case"chunks":return"th-large";case"templates":return"columns";case"snippets":return"code";case"tvs":return"list-alt";case"plugins":return"cogs";case"users":return"user";case"actions":return"mail-forward"}},getLabel:function(values){return values.label?values.label:_("search_resulttype_"+values.type)}}),store:new Ext.data.JsonStore({url:MODx.config.connector_url,baseParams:{action:"Search/Search"},root:"results",totalProperty:"total",fields:["name","_action","description","type","icon","label","class"],listeners:{beforeload:function(store,options){if(options.params._action)return!1}}}),listeners:{beforequery:{fn:function(){this.tpl.type=null}},focus:this.focusBar,blur:this.blurBar,afterrender:function(){document.getElementById("modx-manager-search").onclick=function(e){e.stopPropagation()}},scope:this}}),MODx.SearchBar.superclass.constructor.call(this,config),this.blur(),this.setKeyMap()},Ext.extend(MODx.SearchBar,Ext.form.ComboBox,{setKeyMap:function(){new Ext.KeyMap(document,{key:27,handler:function(){this.hideBar()},scope:this,stopEvent:!1})},initList:function(){if(!this.list){var cls="x-combo-list",listParent=Ext.getDom(this.getListParent()||Ext.getBody());this.list=new Ext.Layer({parentEl:listParent,shadow:this.shadow,cls:[cls,this.listClass].join(" "),constrain:!1,zindex:this.getZIndex(listParent)}),this.list.on("click",(function(e){e.stopPropagation()}));var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setSize(lw,0),this.list.swallowEvent("mousewheel"),this.assetHeight=0,!1!==this.syncFont&&this.list.setStyle("font-size",this.el.getStyle("font-size")),this.title&&(this.header=this.list.createChild({cls:cls+"-hd",html:this.title}),this.assetHeight+=this.header.getHeight()),this.innerList=this.list.createChild({cls:cls+"-inner"}),this.mon(this.innerList,"mouseover",this.onViewOver,this),this.mon(this.innerList,"mousemove",this.onViewMove,this),this.innerList.setWidth(lw-this.list.getFrameWidth("lr")),this.pageSize&&(this.footer=this.list.createChild({cls:cls+"-ft"}),this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer}),this.assetHeight+=this.footer.getHeight()),this.tpl||(this.tpl='
    {'+this.displayField+"}
    "),this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:!0,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+cls+"-item",emptyText:this.listEmptyText,deferEmptyText:!1}),this.view.on("click",(function(view,index,node,vent){view.select(node),window.event||(window.event=vent),this.onViewClick()}),this),this.bindStore(this.store,!0),this.resizable&&(this.resizer=new Ext.Resizable(this.list,{pinned:!0,handles:"se"}),this.mon(this.resizer,"resize",(function(r,w,h){this.maxHeight=h-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight,this.listWidth=w,this.innerList.setWidth(w-this.list.getFrameWidth("lr")),this.restrictHeight()}),this),this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px"))}},onTypeAhead:function(){},onSelect:function(record,index){var e=Ext.EventObject;e.stopPropagation(),e.preventDefault();var target="?a="+record.data._action;if(e.ctrlKey||e.metaKey||e.shiftKey)return window.open(target);MODx.loadPage(target)},hideBar:function(){},focusBar:function(){this.selectText()},blurBar:function(){},getViewPortSize:function(){var height=300;return void 0!==window.innerHeight&&(height=window.innerHeight),height-70}}),Ext.reg("modx-searchbar",MODx.SearchBar),Ext.namespace("MODx.panel"),MODx.Panel=function(config){config=config||{},Ext.applyIf(config,{cls:"modx-panel",title:""}),MODx.Panel.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.Panel,Ext.Panel),Ext.reg("modx-panel",MODx.Panel),MODx.FormPanel=function(config){config=config||{},Ext.applyIf(config,{autoHeight:!0,collapsible:!0,bodyStyle:"",layout:"anchor",border:!1,header:!1,method:"POST",cls:"modx-form",allowDrop:!0,errorReader:MODx.util.JSONReader,checkDirty:!0,useLoadingMask:!1,defaults:{collapsible:!1,autoHeight:!0,border:!1}}),config.items&&this.addChangeEvent(config.items),MODx.FormPanel.superclass.constructor.call(this,config),this.config=config,this.addEvents({setup:!0,fieldChange:!0,ready:!0,beforeSubmit:!0,success:!0,failure:!0,save:!0,actionNew:!0,actionContinue:!0,actionClose:!0,postReady:!0}),this.getForm().addEvents({success:!0,failure:!0}),this.dropTargets=[],this.on("ready",this.onReady),this.config.useLoadingMask&&this.on("render",(function(){this.mask=new Ext.LoadMask(this.getEl()),this.mask.show()})),this.fireEvent("setup",config)&&this.clearDirty(),this.focusFirstField()},Ext.extend(MODx.FormPanel,Ext.FormPanel,{isReady:!1,defaultValues:[],initialized:!1,isStatic:!1,errorHandlingTabs:[],errorHandlingIgnoreTabs:[],submit:function(o){var fm=this.getForm();return!(!fm.isValid()&&!o.bypassValidCheck)&&((o=o||{}).headers={"Powered-By":"MODx",modAuth:MODx.siteId},this.fireEvent("beforeSubmit",{form:fm,options:o,config:this.config})&&fm.submit({waitMsg:this.config.saveMsg||_("saving"),scope:this,headers:o.headers,clientValidation:!o.bypassValidCheck,failure:function(f,a){this.fireEvent("failure",{form:f,result:a.result,options:o,config:this.config})&&MODx.form.Handler.errorExt(a.result,f)},success:function(f,a){this.config.success&&Ext.callback(this.config.success,this.config.scope||this,[f,a]),this.fireEvent("success",{form:f,result:a.result,options:o,config:this.config}),this.clearDirty(),this.fireEvent("setup",this.config);var lastActiveEle=Ext.state.Manager.get("curFocus");if(lastActiveEle&&""!=lastActiveEle){Ext.state.Manager.clear("curFocus");var initFocus=document.getElementById(lastActiveEle);initFocus&&initFocus.focus()}}}),!0)},failure:function(o){if(this.warnUnsavedChanges=!0,-1!==this.getForm().baseParams.action.search(/\/create/i)){const btn=Ext.getCmp("modx-abtn-save");btn&&btn.enable()}this.fireEvent("failureSubmit")},focusFirstField:function(){if(this.getForm().items.getCount()>0){var fld=this.findFirstTextField();fld&&fld.focus(!1,200)}},findFirstTextField:function(i){i=i||0;var fld=this.getForm().items.itemAt(i);return!!fld&&((fld.isXType("combo")||fld.isXType("checkbox")||fld.isXType("radio")||fld.isXType("displayfield")||fld.isXType("statictextfield")||fld.isXType("hidden"))&&(i+=1,fld=this.findFirstTextField(i)),fld)},addChangeEvent:function(items){if(!items)return!1;"object"==typeof items&&items.items&&(items=items.items);for(var f=0;f{fieldKey=fieldKey.trim();const fieldCmpId=`modx-${formId}-${fieldKey}-file`,sourceKey=Ext.isEmpty(sharedSourceKey)?fieldKey:sharedSourceKey,sourceCmpId=`modx-${formId}-${sourceKey}-source`,fieldCmp=Ext.getCmp(fieldCmpId),sourceCmp=Ext.getCmp(sourceCmpId);fieldCmp&&sourceCmp&&(fieldCmp.config.source=sourceCmp.getValue())}))},destroy:function(){for(var i=0;i0&&keys.forEach((function(key){map.hasOwnProperty(key)&&"string"==typeof map[key].id?tabIds.push(map[key].id):"modx-panel-resource-tv"==key&&1==MODx.config.tvs_below_content&&tabIds.push(key)})),tabIds},showErroredTab:function(targetForms,tabsId){const mainTabs=Ext.getCmp(tabsId),searchTabs=this.getTabIdsFromKeys(mainTabs.items.map,targetForms);let component,mainTabName=null,mainTabIndex=null,erroredNode=null;mainTabs.items.length>mainTabs.initialConfig.items.length&&mainTabs.items.keys.forEach((function(key){mainTabs.items.map[key].hasOwnProperty("id")&&(this.errorHandlingIgnoreTabs.includes(mainTabs.items.map[key].id)||searchTabs.includes(mainTabs.items.map[key].id)||searchTabs.push(mainTabs.items.map[key].id))}),this);for(let i=0;i0&&erroredFlds[0].id},insertTagCopyUtility:function(cmp,elType){const helpTag=cmp.getEl().child(".example-replace-name"),elTag=cmp.getEl().child(".copy-this");let tagText,nameVal=cmp.previousSibling().getValue();helpTag&&(nameVal.length>0&&(helpTag.update(nameVal),tagText=elTag.dom.innerText),helpTag.on({click:function(){if(nameVal=cmp.previousSibling().getValue(),nameVal.length>0){tagText=elTag.dom.innerText;const tmp=document.createElement("textarea");if(tmp.value=tagText,document.body.appendChild(tmp),tmp.select(),document.execCommand("copy")){const feedback=document.createElement("span");feedback.className="element-panel feedback item-copied",feedback.textContent=_(elType+"_tag_copied"),elTag.insertSibling(feedback,"after"),setTimeout((function(){feedback.style.opacity=0,setTimeout((function(){feedback.remove()}),1200)}),10)}tmp.remove()}}}))},onChangeStaticSource:function(cmp,elType){const isStatic=Ext.getCmp(`modx-${elType}-static`).getValue(),staticFileField=Ext.getCmp(`modx-${elType}-static-file`),staticFile=staticFileField.getValue(),staticDir=staticFile.slice(0,staticFile.lastIndexOf("/")+1),staticFileFieldId=staticFileField.id,staticFileFieldContainer=Ext.getCmp(staticFileField.ownerCt.id),itemKey=staticFileFieldContainer.items.keys.indexOf(staticFileFieldId),previousSource=this.previousFileSource||0,currentSource=cmp.getValue(),currentRecord={static:isStatic,static_file:staticFile,source:currentSource,openTo:staticDir};let newStaticFile,changeFieldType=!1,updateFieldSource=!1;if("template"===elType)var newPreviewFileField,staticPreviewFileField=Ext.getCmp(`modx-${elType}-preview-file`),staticPreviewFile=staticPreviewFileField.getValue(),staticPreviewDir=staticPreviewFile.slice(0,staticPreviewFile.lastIndexOf("/")+1),staticPreviewFileFieldId=staticPreviewFileField.id,staticPreviewFileFieldContainer=Ext.getCmp(staticPreviewFileField.ownerCt.id),previewItemKey=staticPreviewFileFieldContainer.items.keys.indexOf(staticPreviewFileFieldId),currentPreviewRecord={static:isStatic,preview_file:staticPreviewFile,source:currentSource,openTo:staticPreviewDir};this.previousFileSource=currentSource,previousSource>0&&0==currentSource?(newStaticFile=this.getStaticFileField(elType,currentRecord,!1),"template"===elType&&(newPreviewFileField=this.getTemplatePreviewImageField(currentPreviewRecord,!1)),changeFieldType=!0):0==previousSource&¤tSource>0?(newStaticFile=this.getStaticFileField(elType,currentRecord),"template"===elType&&(newPreviewFileField=this.getTemplatePreviewImageField(currentPreviewRecord)),changeFieldType=!0,updateFieldSource=!0):updateFieldSource=!0,updateFieldSource&&(changeFieldType?(newStaticFile.source=currentSource,"template"===elType&&(newPreviewFileField.source=currentSource)):(staticFileField.config.source=currentSource,"template"===elType&&(staticPreviewFileField.config.source=currentSource))),changeFieldType&&(staticFileField.clearInvalid(),staticFileField.destroy(),staticFileFieldContainer.insert(itemKey,newStaticFile),"template"===elType&&(staticPreviewFileField.clearInvalid(),staticPreviewFileField.destroy(),staticPreviewFileFieldContainer.insert(previewItemKey,newPreviewFileField)),this.doLayout())},getStaticFileField:function(elType,record,loadBrowserField=!0){const sharedConfig={fieldLabel:_("static_file"),description:MODx.expandHelp?"":_("static_file_desc"),name:"static_file",id:`modx-${elType}-static-file`,maxLength:255,anchor:"100%",value:record.static_file||""};let finalConfig;return(0===record.source||!record.hasOwnProperty("source")&&Ext.isEmpty(MODx.config.default_media_source))&&(loadBrowserField=!1),finalConfig=loadBrowserField?Object.assign(sharedConfig,{xtype:"modx-combo-browser",browserEl:"modx-browser",triggerClass:"x-form-code-trigger",source:null!=record.source?record.source:MODx.config.default_media_source,openTo:record.openTo||""}):Object.assign(sharedConfig,{xtype:"textfield"}),record.static||(finalConfig.hidden=!0),finalConfig},getTemplatePreviewImageField:function(record,loadBrowserField=!0){const sharedConfig={fieldLabel:_("template_preview"),description:MODx.expandHelp?"":_("template_preview_description"),name:"preview_file",id:"modx-template-preview-file",allowedFileTypes:"jpg,jpeg,png,gif,bmp",maxLength:255,anchor:"100%",value:record.preview_file||""};let finalConfig;return(0===record.source||!record.hasOwnProperty("source")&&Ext.isEmpty(MODx.config.default_media_source))&&(loadBrowserField=!1),finalConfig=loadBrowserField?Object.assign(sharedConfig,{xtype:"modx-combo-browser",browserEl:"modx-browser",triggerClass:"x-form-image-trigger",source:null!=record.source?record.source:MODx.config.default_media_source,openTo:record.openTo||""}):Object.assign(sharedConfig,{xtype:"textfield"}),finalConfig},toggleFieldVisibility:function(ctrlId,containerId,fieldIds,ctrlValToShow,addSibling){const ctrlCmp=Ext.getCmp(ctrlId),containerCmp=Ext.getCmp(containerId);if(!ctrlCmp||void 0===ctrlCmp)return console.error(`toggleFieldVisibility: Could not get the control component with the id '${ctrlId}'`),!1;if(containerId&&(!containerCmp||void 0===containerCmp))return console.error(`toggleFieldVisibility: Could not get the container component with the id '${containerId}'`),!1;addSibling=!1!==addSibling,ctrlValToShow=!1!==ctrlValToShow;const showVal="combo-boolean"===ctrlCmp.xtype?ctrlCmp.getValue():ctrlCmp.checked,show=!1===ctrlValToShow?!showVal:showVal;show?(containerCmp.show(),containerCmp.doLayout()):containerCmp.hide(),fieldIds.forEach((field=>{const fieldCmp=Ext.getCmp(field),sibling=fieldCmp.nextSibling(),siblingIsHelp=sibling&&"label"===sibling.xtype;fieldCmp&&(show?(fieldCmp.show(),addSibling&&siblingIsHelp&&sibling.show()):(fieldCmp.hide(),addSibling&&siblingIsHelp&&sibling.hide()))}))},formatMainPanelTitle:function(formId,record,realtimeValue=null,returnBaseTitle=!1){let title="",baseTitle="";const modeCreate=!(record.hasOwnProperty("id")&&record.id>0),prefixSeparator=modeCreate&&!realtimeValue?"":": ",prefix=(modeCreate?_("create")+" ":_("edit")+" ")+_("resource"===formId?"document":formId)+prefixSeparator;if(!Ext.isEmpty(record)){const postfix=MODx.perm.tree_show_resource_ids&&!Ext.isEmpty(record.id)?` (${record.id})`:"";if("resource"===formId){const headerCmp=Ext.getCmp("modx-header-breadcrumbs");title=realtimeValue||record.pagetitle,baseTitle=this.encodeTitle(title,!1),title=void 0===title?prefix:this.encodeTitle(title)+postfix,headerCmp?headerCmp.updateHeader(title):Ext.getCmp("modx-resource-header").el.dom.innerText=title}else{const headerCmpId=`modx-${formId}-header`;realtimeValue?baseTitle=this.encodeTitle(realtimeValue):(title="template"===formId?record.templatename:record.name,baseTitle=this.encodeTitle(title)),title=void 0===title?prefix:prefix+baseTitle+postfix,Ext.getCmp(headerCmpId).getEl().update(title)}}if(returnBaseTitle)return baseTitle},encodeTitle:function(title,htmlEncode=!0){return title&&(title=htmlEncode?Ext.util.Format.htmlEncode(Ext.util.Format.stripTags(title)):Ext.util.Format.stripTags(title)),title},getElementProperties:function(properties){if(!Ext.isEmpty(properties)){const gridCmp=Ext.getCmp("modx-grid-element-properties");gridCmp&&(gridCmp.defaultProperties=properties,gridCmp.getStore().loadData(properties))}}}),Ext.reg("modx-formpanel",MODx.FormPanel),MODx.panel.Wizard=function(config){config=config||{},Ext.applyIf(config,{layout:"card",activeItem:0,resizable:!0,collapsible:!0,maximizable:!0,autoHeight:!0,width:750,firstPanel:"",lastPanel:"",defaults:{border:!1},modal:!0,txtFinish:_("finish"),txtNext:_("next"),txtBack:_("back"),bbar:[{id:"pi-btn-bck",itemId:"btn-back",text:config.txtBack||_("back"),handler:this.navHandler.createDelegate(this,[-1]),scope:this,disabled:!0},{id:"pi-btn-fwd",itemId:"btn-fwd",text:config.txtNext||_("next"),handler:this.navHandler.createDelegate(this,[1]),scope:this}]}),MODx.panel.Wizard.superclass.constructor.call(this,config),this.config=config,this.lastActiveItem=this.config.firstPanel,this._go()},Ext.extend(MODx.panel.Wizard,Ext.Panel,{windows:{},_go:function(){this.getBottomToolbar().items.item(1).setText(this.config.txtNext),this.proceed(this.config.firstPanel)},navHandler:function(dir){this.doLayout();var a=this.getLayout().activeItem;-1==dir?this.proceed(a.config.back||a.config.id):a.submit({scope:this,proceed:this.proceed})},proceed:function(id){this.doLayout(),this.getLayout().setActiveItem(id),id==this.config.firstPanel?(this.getBottomToolbar().items.item(0).setDisabled(!0),this.getBottomToolbar().items.item(1).setText(this.config.txtNext)):id==this.config.lastPanel?this.getBottomToolbar().items.item(1).setText(this.config.txtFinish):(this.getBottomToolbar().items.item(0).setDisabled(!1),this.getBottomToolbar().items.item(1).setText(this.config.txtNext))}}),Ext.reg("modx-panel-wizard",MODx.panel.Wizard),MODx.panel.WizardPanel=function(config){config=config||{},Ext.applyIf(config,{wizard:null,checkDirty:!1,bodyStyle:"padding: 3em 3em",hideMode:"offsets"}),MODx.panel.WizardPanel.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.WizardPanel,MODx.FormPanel),Ext.reg("modx-wizard-panel",MODx.panel.WizardPanel),MODx.PanelSpacer={html:"
    ",border:!1},MODx.TemplatePanel=function(config){config=config||{},Ext.applyIf(config,{frame:!1,startingMarkup:'

    {text}

    ',startingText:"Loading...",markup:null,plain:!0,border:!1}),MODx.TemplatePanel.superclass.constructor.call(this,config),this.on("render",this.init,this)},Ext.extend(MODx.TemplatePanel,Ext.Panel,{init:function(){this.defaultMarkup=new Ext.XTemplate(this.startingMarkup,{compiled:!0}),this.reset(),this.tpl=new Ext.XTemplate(this.markup,{compiled:!0})},reset:function(){this.body.hide(),this.defaultMarkup.overwrite(this.body,{text:this.startingText}),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)},updateDetail:function(data){this.body.hide(),this.tpl.overwrite(this.body,data),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)}}),Ext.reg("modx-template-panel",MODx.TemplatePanel),MODx.BreadcrumbsPanel=function(config){config=config||{},Ext.applyIf(config,{frame:!1,plain:!0,border:!1,desc:"This the description part of this panel",bdMarkup:"
      {text}

    {text}

    ",root:{text:"Home",className:"first",root:!0,pnl:""},bodyCssClass:"breadcrumbs"}),MODx.BreadcrumbsPanel.superclass.constructor.call(this,config),this.on("render",this.init,this)},Ext.extend(MODx.BreadcrumbsPanel,Ext.Panel,{data:{trail:[]},init:function(){this.tpl=new Ext.XTemplate(this.bdMarkup,{compiled:!0}),this.reset(this.desc),this.body.on("click",this.onClick,this)},getResetText:function(srcInstance){if("object"!=typeof srcInstance||null==srcInstance)return srcInstance;var newInstance=srcInstance.constructor();for(var i in srcInstance)newInstance[i]=this.getResetText(srcInstance[i]);return newInstance.hasOwnProperty("pnl")&&delete newInstance.pnl,newInstance},updateDetail:function(data){(this.data=data,data.hasOwnProperty("trail"))&&data.trail.unshift(this.root);this._updatePanel(data)},getData:function(){return this.data},reset:function(msg){void 0===this.resetText&&(this.resetText=this.getResetText(this.root)),this.data={text:msg,trail:[this.resetText]},this._updatePanel(this.data)},onClick:function(e){for(var target=e.getTarget(),index=1,parent=target.parentElement;null!=(parent=parent.previousSibling);)index+=1;for(var remove=this.data.trail.length-index;remove>0;)this.data.trail.pop(),remove-=1;if(elm=target.className.split(" ")[0],""!=elm&&"controlBtn"==elm){var panel=target.className.split(" ")[1];if("install"==panel){var last=this.data.trail[this.data.trail.length-1];if(null!=last&&null!=last.rec)return this.data.trail.pop(),void Ext.getCmp("modx-package-grid").install(last.rec)}else Ext.getCmp(panel).activate()}},_updatePanel:function(data){this.body.hide(),this.tpl.overwrite(this.body,data),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)}}),Ext.reg("modx-breadcrumbs-panel",MODx.BreadcrumbsPanel),Ext.override(Ext.TabPanel,{onStripMouseDown:function(e){if(0!==e.button)return;e.preventDefault();const t=this.findTargets(e);t.close?!1!==t.item.fireEvent("beforeclose",t.item)&&(t.item.fireEvent("close",t.item),this.remove(t.item)):t.item&&t.item!==this.activeTab&&(this.tabClicked=!0,this.setActiveTab(t.item))}}),MODx.Tabs=function(config={}){Ext.applyIf(config,{enableTabScroll:!0,layoutOnTabChange:!0,plain:!0,deferredRender:!0,hideMode:"offsets",defaults:{autoHeight:!0,hideMode:"offsets",border:!0,autoWidth:!0,bodyCssClass:"tab-panel-wrapper"},activeTab:0,tabClicked:!1,border:!1,autoScroll:!0,autoHeight:!0,cls:"modx-tabs"}),MODx.Tabs.superclass.constructor.call(this,config),this.config=config,this.on({afterrender:function(tabPanel){if(MODx.request&&Object.prototype.hasOwnProperty.call(MODx.request,"tab")){const tabId=parseInt(MODx.request.tab,10);"modx-leftbar-tabpanel"!==this.id&&this.setActiveTab(tabId)}tabPanel.on({beforetabchange:function(tabPanelCmp,newTab,currentTab){if(this.tabClicked&&newTab&¤tTab&&newTab.id!==currentTab.id){const resetVerticalTabPanelFilters="modx-vtabs"===currentTab.items?.items[0]?.xtype||"modx-vtabs"===currentTab.ownerCt?.xtype,changedBetweenVtabs="modx-vtabs"===newTab.ownerCt?.xtype&&"modx-vtabs"===currentTab.ownerCt?.xtype;if("modx-usergroup-permissions-panel"===newTab.itemId&&!this.stateful){const vTabPanel=newTab.items?.items[0];vTabPanel&&"modx-vtabs"===vTabPanel.xtype&&vTabPanel.setActiveTab(0)}this.clearFiltersBeforeChange(currentTab,resetVerticalTabPanelFilters,changedBetweenVtabs)}}})}})},Ext.extend(MODx.Tabs,Ext.TabPanel,{findGridObject:function(itemsSource){const grid=itemsSource.find((obj=>Object.entries(obj).find((([key,value])=>"xtype"===key&&value.includes("-grid-")))));if(grid)return grid;const nextItemsSource=itemsSource?.items;nextItemsSource&&this.findGridObject(nextItemsSource)},clearFiltersBeforeChange:function(tabObj,resetVtabFilters,changedVtabs){let itemsSource,gridObj=null;if(itemsSource=resetVtabFilters?changedVtabs?tabObj.items:tabObj.items.items[0].activeTab.items:tabObj.items,itemsSource.length>0&&(gridObj=this.findGridObject(itemsSource),!gridObj)){let customItemsSource=null;itemsSource?.map["modx-tree-panel-usergroup"]?customItemsSource=itemsSource.map["modx-tree-panel-usergroup"].items:itemsSource?.map["packages-breadcrumbs"]&&(customItemsSource=itemsSource.map["card-container"].items.map["modx-panel-packages"].items),customItemsSource&&(gridObj=this.findGridObject(customItemsSource))}if(gridObj){const toolbar=gridObj.getTopToolbar(),filterIds=[];toolbar&&toolbar.items.items.length>0&&toolbar.items.items.forEach((cmp=>{cmp.xtype&&(cmp.xtype.includes("combo")||"textfield"===cmp.xtype)&&cmp.itemId&&filterIds.push(cmp.itemId)})),filterIds.length>0&&gridObj.clearGridFilters(filterIds)}}}),Ext.reg("modx-tabs",MODx.Tabs),MODx.VerticalTabs=function(config={}){Ext.applyIf(config,{cls:"vertical-tabs-panel",headerCfg:{tag:"div",cls:"x-tab-panel-header vertical-tabs-header"},bwrapCfg:{tag:"div",cls:"x-tab-panel-bwrap vertical-tabs-bwrap"},defaults:{bodyCssClass:"vertical-tabs-body",autoScroll:!0,autoHeight:!0,autoWidth:!0,layout:"form"}}),MODx.VerticalTabs.superclass.constructor.call(this,config),this.config=config,this.on({afterrender:function(){if(MODx.request&&Object.prototype.hasOwnProperty.call(MODx.request,"vtab")){const tabId=parseInt(MODx.request.vtab,10);this.setActiveTab(tabId)}}})},Ext.extend(MODx.VerticalTabs,MODx.Tabs),Ext.reg("modx-vtabs",MODx.VerticalTabs),Ext.Window.prototype.floating={shadow:!1},Ext.override(Ext.Window,{animShow:function(){this.afterShow();var win=this;setTimeout((function(){win.el.hasClass("anim-ready")||(win.el.addClass("anim-ready"),setTimeout((function(){void 0!==win.mask&&(win.mask instanceof Ext.Element?win.mask.addClass("fade-in"):win.mask.el.addClass("fade-in")),win.el.addClass("zoom-in")}),250))}),300)},animHide:function(){this.afterHide()},onShow:function(){if(this.el.hasClass("x-window-dlg"))this.mask.addClass("fade-in"),this.el.applyStyles({opacity:1});else{this.addClass("anim-ready");var win=this;setTimeout((function(){void 0!==win.mask&&(win.mask instanceof Ext.Element?win.mask.addClass("fade-in"):win.mask.el.addClass("fade-in")),win.el.addClass("zoom-in")}),250)}},onHide:function(){if(this.el.hasClass("zoom-in")){this.el.removeClass("zoom-in"),void 0!==this.mask&&(this.mask instanceof Ext.Element?this.mask.removeClass("fade-in"):this.mask.el.removeClass("fade-in")),this.addClass("zoom-out");var win=this;setTimeout((function(){win.isDestroyed||(win.el.hide(),win.el.removeClass("zoom-out"),win.el.removeClass("anim-ready"))}),250)}else this.el.hasClass("x-window-dlg")&&(this.el.applyStyles({opacity:0}),void 0!==this.mask&&(this.mask instanceof Ext.Element?this.mask.removeClass("fade-in"):this.mask.el.removeClass("fade-in")))}}),MODx.Window=function(config){config=config||{},Ext.applyIf(config,{modal:!1,layout:"auto",closeAction:"hide",shadow:!0,resizable:!0,collapsible:!0,maximizable:!0,autoHeight:!1,autoScroll:!0,allowDrop:!0,width:400,constrain:!0,constrainHeader:!0,cls:"modx-window",buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){"close"!==config.closeAction?this.hide():this.close()}},{text:config.saveBtnText||_("save"),cls:"primary-button",scope:this,handler:this.submit}],record:{},keys:[{key:Ext.EventObject.ENTER,fn:function(keyCode,event){var elem=event.getTarget(),component=Ext.getCmp(elem.id);if(component instanceof Ext.form.TextArea)return component.append("\n");this.submit()},scope:this}]}),MODx.Window.superclass.constructor.call(this,config),this.options=config,this.config=config,this.addEvents({success:!0,failure:!0,beforeSubmit:!0,updateWindow:!1}),this._loadForm(),this.on("show",(function(){this.config.blankValues&&this.fp.getForm().reset(),this.config.allowDrop&&this.loadDropZones(),this.syncSize(),this.focusFirstField()}),this),this.on("afterrender",(function(){this.originalHeight=this.el.getHeight(),this.toolsHeight=this.originalHeight-this.body.getHeight()+50,this.resizeWindow()})),Ext.EventManager.onWindowResize(this.resizeWindow,this)},Ext.extend(MODx.Window,Ext.Window,{_loadForm:function(){if(this.checkIfLoaded(this.config.record||null))return!1;var r=this.config.record;if(this.config.fields)for(var l=this.config.fields.length,i=0;i0){var fld=this.findFirstTextField();fld&&fld.focus(!1,200)}},findFirstTextField:function(i){i=i||0;var fld=this.fp.getForm().items.itemAt(i);return!!fld&&((fld.isXType("combo")||fld.isXType("checkbox")||fld.isXType("radio")||fld.isXType("displayfield")||fld.isXType("statictextfield")||fld.isXType("hidden"))&&(i+=1,fld=this.findFirstTextField(i)),fld)},submit:function(close){close=!1!==close;var f=this.fp.getForm();f.isValid()&&this.fireEvent("beforeSubmit",f.getValues())&&f.submit({waitMsg:this.config.waitMsg||_("saving"),submitEmptyText:!1!==this.config.submitEmptyText,scope:this,failure:function(frm,a){this.fireEvent("failure",{f:frm,a})&&MODx.form.Handler.errorExt(a.result,frm),this.doLayout()},success:function(frm,a){this.config.success&&Ext.callback(this.config.success,this.config.scope||this,[frm,a]),this.fireEvent("success",{f:frm,a}),close&&("close"!==this.config.closeAction?this.hide():this.close()),this.doLayout()}})},createForm:function(config){return Ext.applyIf(this.config,{formFrame:!0,border:!1,bodyBorder:!1,autoHeight:!0}),config=config||{},Ext.applyIf(config,{labelAlign:this.config.labelAlign||"top",labelWidth:this.config.labelWidth||100,labelSeparator:this.config.labelSeparator||"",frame:this.config.formFrame,border:this.config.border,bodyBorder:this.config.bodyBorder,autoHeight:this.config.autoHeight,anchor:"100% 100%",errorReader:MODx.util.JSONReader,defaults:this.config.formDefaults||{msgTarget:this.config.msgTarget||"under"},url:this.config.url,baseParams:this.config.baseParams||{},fileUpload:this.config.fileUpload||!1}),new Ext.FormPanel(config)},renderForm:function(){this.fp.on("destroy",(function(){Ext.EventManager.removeResizeListener(this.resizeWindow,this)}),this),this.add(this.fp)},checkIfLoaded:function(r){return r=r||{},!(!this.fp||!this.fp.getForm())&&(this.fp.getForm().reset(),this.fp.getForm().setValues(r),!0)},setValues:function(r){if(null===r)return!1;this.fp.getForm().setValues(r)},reset:function(){this.fp.getForm().reset()},hideField:function(f){f.disable(),f.hide();var d=f.getEl().up(".x-form-item");d&&d.setDisplayed(!1)},showField:function(f){f.enable(),f.show();var d=f.getEl().up(".x-form-item");d&&d.setDisplayed(!0)},loadDropZones:function(){if(this._dzLoaded)return!1;this.fp.getForm().items.each((function(fld){fld.isFormField&&(fld.isXType("textfield")||fld.isXType("textarea"))&&!fld.isXType("combo")&&new MODx.load({xtype:"modx-treedrop",target:fld,targetEl:fld.getEl().dom})})),this._dzLoaded=!0},resizeWindow:function(){var viewHeight=Ext.getBody().getViewSize().height,el=this.fp.getForm().el;viewHeight
    {name:htmlEncode}',"
    {description:htmlEncode}
    ")}),MODx.combo.UserGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.UserGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-usergroup",MODx.combo.UserGroup),MODx.combo.UserGroupRole=function(config){config=config||{},Ext.applyIf(config,{name:"role",hiddenName:"role",displayField:"name",valueField:"id",fields:["name","id"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetList"}}),MODx.combo.UserGroupRole.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.UserGroupRole,MODx.combo.ComboBox),Ext.reg("modx-combo-usergrouprole",MODx.combo.UserGroupRole),MODx.combo.EventGroup=function(config){config=config||{},Ext.applyIf(config,{name:"group",hiddenName:"group",displayField:"name",valueField:"name",fields:["name"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/Event/GroupList"},tpl:new Ext.XTemplate('
    {name:htmlEncode}',"
    ")}),MODx.combo.EventGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.EventGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-eventgroup",MODx.combo.EventGroup),MODx.combo.ResourceGroup=function(config){config=config||{},Ext.applyIf(config,{name:"resourcegroup",hiddenName:"resourcegroup",displayField:"name",valueField:"id",fields:["name","id"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/ResourceGroup/GetList"}}),MODx.combo.ResourceGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ResourceGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-resourcegroup",MODx.combo.ResourceGroup),MODx.combo.Context=function(config){config=config||{},Ext.applyIf(config,{name:"context",hiddenName:"context",displayField:"key",valueField:"key",fields:["key","name"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Context/GetList",exclude:config.exclude||""},tpl:new Ext.XTemplate('
    {name:htmlEncode} ({key:htmlEncode})
    ')}),MODx.combo.Context.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Context,MODx.combo.ComboBox),Ext.reg("modx-combo-context",MODx.combo.Context),MODx.combo.Policy=function(config){config=config||{},Ext.applyIf(config,{name:"policy",hiddenName:"policy",displayField:"name",valueField:"id",fields:["id","name","permissions"],allowBlank:!1,editable:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Access/Policy/GetList"}}),MODx.combo.Policy.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Policy,MODx.combo.ComboBox),Ext.reg("modx-combo-policy",MODx.combo.Policy),MODx.combo.Template=function(config){config=config||{},Ext.applyIf(config,{url:MODx.config.connector_url,baseParams:{action:"Element/Template/GetList",combo:!0},fields:["id","templatename","description","category_name","preview","time"],name:"template",hiddenName:"template",displayField:"templatename",valueField:"id",pageSize:20,allowBlank:!0,editable:!0,typeAhead:!0,tpl:new Ext.XTemplate('
    {this.label:htmlEncode}
    {templatename:htmlEncode}
    {description:htmlEncode()}
    ',{group:null,label:null,getGroup:function(label,time){var group=time+"_"+label;return group===this.group||Ext.isEmpty(group)?null:(this.group=group,this.label=label)}})}),MODx.combo.Template.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Template,MODx.combo.ComboBox),Ext.reg("modx-combo-template",MODx.combo.Template),MODx.combo.Category=function(config){config=config||{},Ext.applyIf(config,{name:"category",hiddenName:"category",displayField:"name",valueField:"id",fields:["id","category","parent","name"],forceSelection:!0,typeAhead:!1,allowBlank:!0,editable:!1,enableKeyEvents:!0,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Element/Category/GetList",showNone:!0,limit:0}}),MODx.combo.Category.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Category,MODx.combo.ComboBox,{_onblur:function(t,e){var v=this.getRawValue();this.setRawValue(v),this.setValue(v,!0)}}),Ext.reg("modx-combo-category",MODx.combo.Category),MODx.combo.Language=function(config){config=config||{},Ext.applyIf(config,{name:"language",hiddenName:"language",displayField:"name",valueField:"name",fields:["name"],typeAhead:!0,minChars:1,editable:!0,allowBlank:!0,url:MODx.config.connector_url,baseParams:{action:"System/Language/GetList"}}),MODx.combo.Language.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Language,MODx.combo.ComboBox),Ext.reg("modx-combo-language",MODx.combo.Language),MODx.combo.Charset=function(config){config=config||{},Ext.applyIf(config,{name:"charset",hiddenName:"charset",displayField:"text",valueField:"value",fields:["value","text"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,url:MODx.config.connector_url,baseParams:{action:"System/Charset/GetList"}}),MODx.combo.Charset.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Charset,MODx.combo.ComboBox),Ext.reg("modx-combo-charset",MODx.combo.Charset),MODx.combo.RTE=function(config){config=config||{},Ext.applyIf(config,{name:"rte",hiddenName:"rte",displayField:"value",valueField:"value",fields:["value"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,url:MODx.config.connector_url,baseParams:{action:"System/Rte/GetList"}}),MODx.combo.RTE.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.RTE,MODx.combo.ComboBox),Ext.reg("modx-combo-rte",MODx.combo.RTE),MODx.combo.Role=function(config){config=config||{},Ext.applyIf(config,{name:"role",hiddenName:"role",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetList",addNone:!0}}),MODx.combo.Role.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Role,MODx.combo.ComboBox),Ext.reg("modx-combo-role",MODx.combo.Role),MODx.combo.ContentType=function(config){config=config||{},Ext.applyIf(config,{name:"content_type",hiddenName:"content_type",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/ContentType/GetList"}}),MODx.combo.ContentType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ContentType,MODx.combo.ComboBox),Ext.reg("modx-combo-content-type",MODx.combo.ContentType),MODx.combo.ContentDisposition=function(config){config=config||{},Ext.applyIf(config,{store:new Ext.data.SimpleStore({fields:["d","v"],data:[[_("inline"),0],[_("attachment"),1]]}),name:"content_dispo",hiddenName:"content_dispo",displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,pageSize:20,selectOnFocus:!1,preventRender:!0}),MODx.combo.ContentDisposition.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ContentDisposition,MODx.combo.ComboBox),Ext.reg("modx-combo-content-disposition",MODx.combo.ContentDisposition),MODx.combo.ClassDerivatives=function(config){config=config||{},Ext.applyIf(config,{name:"class",hiddenName:"class",url:MODx.config.connector_url,baseParams:{action:"System/Derivatives/GetList",class:"MODX\\Revolution\\modResource"},displayField:"name",valueField:"id",fields:["id","name"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20}),MODx.combo.ClassDerivatives.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ClassDerivatives,MODx.combo.ComboBox),Ext.reg("modx-combo-class-derivatives",MODx.combo.ClassDerivatives),MODx.combo.Namespace=function(config){config=config||{},Ext.applyIf(config,{name:"namespace",hiddenName:"namespace",typeAhead:!0,minChars:1,queryParam:"query",editable:!0,allowBlank:!0,preselectValue:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Workspace/PackageNamespace/GetList"},fields:["name"],displayField:"name",valueField:"name"}),MODx.combo.Namespace.superclass.constructor.call(this,config),!1!==config.preselectValue&&(this.store.on("load",this.preselectFirstValue,this,{single:!0}),this.store.load())},Ext.extend(MODx.combo.Namespace,MODx.combo.ComboBox,{preselectFirstValue:function(r){var item;if(""==this.config.preselectValue)item=r.getAt(0);else{var found=r.find("name",this.config.preselectValue);item=-1!=found?r.getAt(found):r.getAt(0)}item&&(this.setValue(item.data.name),this.fireEvent("select",this,item))}}),Ext.reg("modx-combo-namespace",MODx.combo.Namespace),MODx.combo.Browser=function(config){config=config||{},Ext.applyIf(config,{width:400,triggerAction:"all",triggerClass:"x-form-file-trigger",source:config.source||MODx.config.default_media_source}),MODx.combo.Browser.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.combo.Browser,Ext.form.TriggerField,{browser:null,onTriggerClick:function(btn){return!this.disabled&&(this.browser=MODx.load({xtype:"modx-browser",closeAction:"close",id:Ext.id(),multiple:!0,source:this.config.source||MODx.config.default_media_source,hideFiles:this.config.hideFiles||!1,rootVisible:this.config.rootVisible||!1,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web",openTo:this.config.openTo||"",rootId:this.config.rootId||"/",hideSourceCombo:this.config.hideSourceCombo||!1,listeners:{select:{fn:function(data){this.setValue(data.relativeUrl),this.fireEvent("select",data)},scope:this}}}),this.browser.show(btn),!0)},onDestroy:function(){MODx.combo.Browser.superclass.onDestroy.call(this)}}),Ext.reg("modx-combo-browser",MODx.combo.Browser),MODx.combo.Country=function(config){config=config||{},Ext.applyIf(config,{name:"country",hiddenName:"country",url:MODx.config.connector_url,baseParams:{action:"System/Country/GetList",combo:!0},displayField:"country",valueField:"iso",fields:["iso","country","value"],editable:!0,typeAhead:!0}),MODx.combo.Country.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Country,MODx.combo.ComboBox),Ext.reg("modx-combo-country",MODx.combo.Country),MODx.combo.Gender=function(config){config=config||{},Ext.applyIf(config,{store:new Ext.data.SimpleStore({fields:["d","v"],data:[["",0],[_("user_male"),1],[_("user_female"),2],[_("user_other"),3]]}),displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,selectOnFocus:!1}),MODx.combo.Gender.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Gender,Ext.form.ComboBox),Ext.reg("modx-combo-gender",MODx.combo.Gender),MODx.combo.PropertySet=function(config){config=config||{},Ext.applyIf(config,{name:"propertyset",hiddenName:"propertyset",url:MODx.config.connector_url,baseParams:{action:"Element/PropertySet/GetList"},displayField:"name",valueField:"id",fields:["id","name"],editable:!1,pageSize:20,width:300}),MODx.combo.PropertySet.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.PropertySet,MODx.combo.ComboBox),Ext.reg("modx-combo-property-set",MODx.combo.PropertySet),MODx.ChangeParentField=function(config){config=config||{},Ext.applyIf(config,{triggerAction:"all",editable:!1,readOnly:!1,formpanel:"modx-panel-resource",parentcmp:"modx-resource-parent-hidden",contextcmp:"modx-resource-context-key",currentid:MODx.request.id}),MODx.ChangeParentField.superclass.constructor.call(this,config),this.config=config,this.on("click",this.onTriggerClick,this),this.addEvents({end:!0}),this.on("end",this.end,this)},Ext.extend(MODx.ChangeParentField,Ext.form.TriggerField,{oldValue:!1,oldDisplayValue:!1,end:function(p){var t=Ext.getCmp("modx-resource-tree");t&&(p.d=p.d||p.v,t.removeListener("click",this.handleChangeParent,this),t.on("click",t._handleClick,t),t.disableHref=!1,MODx.debug("Setting parent to: "+p.v),Ext.getCmp(this.config.parentcmp).setValue(p.v),this.setValue(p.d),this.oldValue=!1,"modx-template-picker-parent-id"!==this.config.parentcmp&&Ext.getCmp(this.config.formpanel).fireEvent("fieldChange"))},onTriggerClick:function(){if(this.disabled)return!1;if(this.oldValue)return this.fireEvent("end",{v:this.oldValue,d:this.oldDisplayValue}),!1;if(MODx.debug("onTriggerClick"),!Ext.getCmp("modx-resource-tree")){MODx.debug("no tree found, trying to activate");var tp=Ext.getCmp("modx-leftbar-tabpanel");return tp?(tp.on("tabchange",(function(tbp,tab){"modx-resource-tree-ct"==tab.id&&this.disableTreeClick()}),this),tp.activate("modx-resource-tree-ct")):MODx.debug("no tabpanel"),!1}this.disableTreeClick()},disableTreeClick:function(){return MODx.debug("Disabling tree click"),t=Ext.getCmp("modx-resource-tree"),t?(this.oldDisplayValue=this.getValue(),this.oldValue=Ext.getCmp(this.config.parentcmp).getValue(),this.setValue(_("resource_parent_select_node")),t.expand(),t.removeListener("click",t._handleClick),t.on("click",this.handleChangeParent,this),t.disableHref=!0,!0):(MODx.debug("No tree found in disableTreeClick!"),!1)},handleChangeParent:function(node,e){var t=Ext.getCmp("modx-resource-tree");if(!t)return!1;t.disableHref=!0;var id=node.id.split("_");if((id=id[1])==this.config.currentid)return MODx.msg.alert("",_("resource_err_own_parent")),!1;var ctxf=Ext.getCmp(this.config.contextcmp);if(ctxf){var ctxv=ctxf.getValue();node.attributes&&node.attributes.ctx!=ctxv&&ctxf.setValue(node.attributes.ctx)}return this.fireEvent("end",{v:"modContext"!=node.attributes.type?id:node.attributes.pk,d:Ext.util.Format.stripTags(node.text)}),e.preventDefault(),e.stopEvent(),!0}}),Ext.reg("modx-field-parent-change",MODx.ChangeParentField),MODx.combo.TVWidget=function(config){config=config||{},Ext.applyIf(config,{name:"widget",hiddenName:"widget",displayField:"name",valueField:"value",fields:["value","name"],editable:!1,url:MODx.config.connector_url,baseParams:{action:"Element/TemplateVar/Renders/GetOutputs"},value:"default"}),MODx.combo.TVWidget.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TVWidget,MODx.combo.ComboBox),Ext.reg("modx-combo-tv-widget",MODx.combo.TVWidget),MODx.combo.TVInputType=function(config){config=config||{},Ext.applyIf(config,{name:"type",hiddenName:"type",displayField:"name",valueField:"value",editable:!1,fields:["value","name"],url:MODx.config.connector_url,baseParams:{action:"Element/TemplateVar/Renders/GetInputs"},value:"text"}),MODx.combo.TVInputType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TVInputType,MODx.combo.ComboBox),Ext.reg("modx-combo-tv-input-type",MODx.combo.TVInputType),MODx.combo.Dashboard=function(config){config=config||{},Ext.applyIf(config,{name:"dashboard",hiddenName:"dashboard",displayField:"name",valueField:"id",fields:["id","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/Dashboard/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.Dashboard.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Dashboard,MODx.combo.ComboBox),Ext.reg("modx-combo-dashboard",MODx.combo.Dashboard),MODx.combo.MediaSource=function(config){config=config||{},Ext.applyIf(config,{name:"source",hiddenName:"source",displayField:"name",valueField:"id",fields:["id","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Source/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.MediaSource.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.MediaSource,MODx.combo.ComboBox),Ext.reg("modx-combo-source",MODx.combo.MediaSource),MODx.combo.MediaSourceType=function(config){config=config||{},Ext.applyIf(config,{name:"class_key",hiddenName:"class_key",displayField:"name",valueField:"class",fields:["id","class","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Source/Type/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.MediaSourceType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.MediaSourceType,MODx.combo.ComboBox),Ext.reg("modx-combo-source-type",MODx.combo.MediaSourceType),MODx.combo.Authority=function(config){config=config||{},Ext.applyIf(config,{name:"authority",hiddenName:"authority",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetAuthorityList",addNone:!0}}),MODx.combo.Authority.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Authority,MODx.combo.ComboBox),Ext.reg("modx-combo-authority",MODx.combo.Authority),MODx.combo.ManagerTheme=function(config){config=config||{},Ext.applyIf(config,{name:"theme",hiddenName:"theme",displayField:"theme",valueField:"theme",fields:["theme"],url:MODx.config.connector_url,baseParams:{action:"Workspace/Theme/GetList"},typeAhead:!1,editable:!1}),MODx.combo.ManagerTheme.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ManagerTheme,MODx.combo.ComboBox),Ext.reg("modx-combo-manager-theme",MODx.combo.ManagerTheme),MODx.combo.SettingKey=function(config){config=config||{},Ext.applyIf(config,{name:"key",hiddenName:"key",displayField:"key",valueField:"key",fields:["key"],url:MODx.config.connector_url,baseParams:{action:"System/Settings/GetList"},triggerAction:"all",editable:!0,forceSelection:!1,pageSize:20}),MODx.combo.SettingKey.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.SettingKey,MODx.combo.ComboBox),Ext.reg("modx-combo-setting-key",MODx.combo.SettingKey),MODx.combo.Visibility=function(config){config=config||{},Ext.applyIf(config,{name:"visibility",hiddenName:"visibility",store:new Ext.data.SimpleStore({fields:["d","v"],data:[[_("file_folder_visibility_public"),"public"],[_("file_folder_visibility_private"),"private"]]}),displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,selectOnFocus:!1,preventRender:!0,forceSelection:!0,enableKeyEvents:!0}),MODx.combo.Visibility.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Visibility,MODx.combo.ComboBox),Ext.reg("modx-combo-visibility",MODx.combo.Visibility),MODx.combo.Permission=function(config){config=config||{},Ext.applyIf(config,{name:"permission",hiddenName:"permission",displayField:"name",valueField:"name",fields:["name","description"],editable:!0,typeAhead:!1,forceSelection:!1,enableKeyEvents:!0,autoSelect:!1,pageSize:20,tpl:new Ext.XTemplate('
    {name:htmlEncode}','

    {description:htmlEncode}

    '),url:MODx.config.connector_url,baseParams:{action:"Security/Access/Permission/GetList"}}),MODx.combo.Permission.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Permission,MODx.combo.ComboBox),Ext.reg("modx-combo-permission",MODx.combo.Permission),Ext.namespace("MODx.grid"),MODx.grid.Grid=function(config={}){if(this.config=config,this._loadStore(),this._loadColumnModel(),Ext.applyIf(config,{store:this.store,cm:this.cm,sm:new Ext.grid.RowSelectionModel({singleSelect:!0}),paging:!!config.bbar,loadMask:!0,autoHeight:!0,collapsible:!0,stripeRows:!0,header:!1,cls:"modx-grid",preventRender:!0,preventSaveRefresh:!0,showPerPage:!0,stateful:!1,showActionsColumn:!0,disableContextMenuAction:!1,menuConfig:{defaultAlign:"tl-b?",enableScrolling:!1},viewConfig:{forceFit:!0,enableRowBody:!0,autoFill:!0,showPreview:!0,scrollOffset:0,emptyText:config.emptyText||_("ext_emptymsg")},groupingConfig:{enableGroupingMenu:!0}}),config.paging){var pgItms=config.showPerPage?[_("per_page")+":",{xtype:"textfield",cls:"x-tbar-page-size",value:config.pageSize||parseInt(MODx.config.default_per_page)||20,listeners:{change:{fn:this.onChangePerPage,scope:this},render:{fn:function(cmp){new Ext.KeyMap(cmp.getEl(),{key:Ext.EventObject.ENTER,fn:this.blur,scope:cmp})},scope:this}}}]:[];if(config.pagingItems)for(var i=0;i 1 ? "'+(config.pluralText||_("records"))+'" : "'+(config.singleText||_("record"))+'"]})'};Ext.applyIf(config.groupingConfig,groupingConfig),Ext.applyIf(config,{view:new Ext.grid.GroupingView(config.groupingConfig)})}if(config.tbar)for(var ix=0;ix1)return!1;return!0};config.columns&&Array.isArray(config.columns)&&(void 0===config.actionsColumnWidth&&isPercentage(config.columns)&&(defaultActionsColumnWidth=.1),config.columns.push({id:"modx-actions",width:config.actionsColumnWidth||defaultActionsColumnWidth,menuDisabled:!0,renderer:this.actionsColumnRenderer.bind(this)})),config.cm&&config.cm.columns&&Array.isArray(config.cm.columns)&&(void 0===config.actionsColumnWidth&&isPercentage(config.cm.columns)&&(defaultActionsColumnWidth=.1),config.cm.columns.push({id:"modx-actions",width:config.actionsColumnWidth||defaultActionsColumnWidth,menuDisabled:!0,renderer:this.actionsColumnRenderer.bind(this)}))}MODx.grid.Grid.superclass.constructor.call(this,config),this._loadMenu(config),this.addEvents("beforeRemoveRow","afterRemoveRow","afterAutoSave"),this.autosave&&this.on("afterAutoSave",this.onAfterAutoSave,this),config.preventRender||this.render(),this.on({render:{fn:function(){const topToolbar=this.getTopToolbar();topToolbar&&topToolbar.initialConfig.cls&&"has-nested-filters"==topToolbar.initialConfig.cls&&(this.hasNestedFilters=!0)},scope:this},rowcontextmenu:{fn:this._showMenu,scope:this}}),config.autosave&&this.on("afteredit",this.saveRecord,this),config.paging&&config.grouping&&this.getBottomToolbar().bind(this.store),config.paging||config.hasOwnProperty("pageSize")||(config.pageSize=0),this.getStore().load({params:{start:config.pageStart||0,limit:config.hasOwnProperty("pageSize")?config.pageSize:parseInt(MODx.config.default_per_page)||20}}),this.getStore().on("exception",this.onStoreException,this),this.config=config,this.on("click",this.onClickHandler,this)},Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{windows:{},onStoreException:function(dataProxy,type,action,options,response){const responseStatusCode=response.status||"Unknown",responseStatusText=Ext.isEmpty(response.statusText)?"":`(${response.statusText})`;let output="",msg="";if(Ext.isEmpty(response.responseText))output=200!==responseStatusCode?`
    ${responseStatusCode} ${responseStatusText}
    `:"";else try{const responseText=Ext.decode(response.responseText);responseText&&responseText.message&&(output=responseText.message)}catch(e){output=response.responseText}output?MODx.config.debug>0?(output=MODx.util.safeHtml(output,"
    ","class,colspan,rowspan"),msg=_("error_grid_get_content_toscreen",{message:`
    ${output}
    `})):(msg=_("error_grid_get_content_tolog"),output=Ext.util.Format.stripTags(output).replaceAll(">",">").replaceAll("<","<"),console.error(output)):msg=_("error_grid_get_content_no_msg"),this.getView().emptyText=`
    ${msg}
    `,this.getView().refresh(!1)},saveRecord:function(e){e.record.data.menu=null;var p=this.config.saveParams||{};Ext.apply(e.record.data,p);var d=Ext.util.JSON.encode(e.record.data),url=this.config.saveUrl||this.config.url||this.config.connector;MODx.Ajax.request({url,params:{action:this.config.save_action||"updateFromGrid",data:d},listeners:{success:{fn:function(r){if(this.config.save_callback&&Ext.callback(this.config.save_callback,this.config.scope||this,[r]),e.record.commit(),!this.config.preventSaveRefresh){new Ext.util.DelayedTask((()=>this.refresh())).delay(200)}this.fireEvent("afterAutoSave",r)},scope:this},failure:{fn:function(r){e.record.reject(),this.fireEvent("afterAutoSave",r)},scope:this}}})},onAfterAutoSave:function(response){if(!response.success&&""===response.message){var msg="";response.data.length&&Ext.each(response.data,(function(data,index,list){msg+=(""!=msg?"
    ":"")+data.msg}),this),Ext.isEmpty(msg)&&(msg=this.autosaveErrorMsg||_("error")),MODx.msg.alert(_("error"),msg)}},onChangePerPage:function(tf,nv){if(Ext.isEmpty(nv))return!1;nv=parseInt(nv),this.getBottomToolbar().pageSize=nv,this.store.load({params:{start:0,limit:nv}})},loadWindow:function(btn,e,win,or){var r=this.menu.record;this.windows[win.xtype]&&!win.force||(Ext.applyIf(win,{record:win.blankValues?{}:r,grid:this,listeners:{success:{fn:win.success||this.refresh,scope:win.scope||this}}}),or&&Ext.apply(win,or),this.windows[win.xtype]=Ext.ComponentMgr.create(win)),this.windows[win.xtype].setValues&&!0!==win.blankValues&&null!=r&&this.windows[win.xtype].setValues(r),this.windows[win.xtype].show(e.target)},confirm:function(type,text){var p={action:type},k=this.config.primaryKey||"id";p[k]=this.menu.record[k],MODx.msg.confirm({title:_(type),text:_(text)||_("confirm_remove"),url:this.config.url,params:p,listeners:{success:{fn:this.refresh,scope:this}}})},remove:function(text,action){if(this.destroying)return MODx.grid.Grid.superclass.remove.apply(this,arguments);var r=this.menu.record;text=text||"confirm_remove";var p=this.config.saveParams||{};Ext.apply(p,{action:action||"remove"});var k=this.config.primaryKey||"id";p[k]=r[k],this.fireEvent("beforeRemoveRow",r)&&MODx.msg.confirm({title:_("warning"),text:_(text,r),url:this.config.url,params:p,listeners:{success:{fn:function(){this.removeActiveRow(r)},scope:this}}})},removeActiveRow:function(r){if(this.fireEvent("afterRemoveRow",r)){var rx=this.getSelectionModel().getSelected();this.getStore().remove(rx)}},_loadMenu:function(){this.menu=new Ext.menu.Menu(this.config.menuConfig)},_showMenu:function(g,ri,e){if(e.stopEvent(),e.preventDefault(),this.menu.record=this.getStore().getAt(ri).data,this.getSelectionModel().isSelected(ri)||this.getSelectionModel().selectRow(ri),this.menu.removeAll(),this.getMenu){var m=this.getMenu(g,ri,e);m&&m.length&&m.length>0&&this.addContextMenuItem(m)}(!m||m.length<=0)&&this.menu.record.menu&&this.addContextMenuItem(this.menu.record.menu),this.menu.items.length>0&&this.menu.showAt(e.xy)},_loadStore:function(){this.config.grouping?this.store=new Ext.data.GroupingStore({url:this.config.url,baseParams:this.config.baseParams||{action:this.config.action||"getList"},reader:new Ext.data.JsonReader({totalProperty:"total",root:"results",fields:this.config.fields}),sortInfo:{field:this.config.sortBy||"id",direction:this.config.sortDir||"ASC"},remoteSort:this.config.remoteSort||!1,remoteGroup:this.config.remoteGroup||!1,groupField:this.config.groupBy||"name",groupDir:this.config.groupDir||"ASC",storeId:this.config.storeId||Ext.id(),autoDestroy:!0,listeners:{beforeload:function(store,options){store.groupField===store.sortInfo.field&&store.groupDir!==store.sortInfo.direction&&(store.groupDir=store.sortInfo.direction,store.baseParams.groupDir=store.sortInfo.direction)},load:function(store,records,options){const cmp=Ext.getCmp("modx-content");cmp&&cmp.doLayout()},groupchange:{fn:function(store,groupField){store.groupDir=this.config.groupDir||"ASC",store.baseParams.groupDir=store.groupDir,store.sortInfo.direction=this.config.sortDir||"ASC",store.load()},scope:this}}}):this.store=new Ext.data.JsonStore({url:this.config.url,baseParams:this.config.baseParams||{action:this.config.action||"getList"},fields:this.config.fields,root:"results",totalProperty:"total",remoteSort:this.config.remoteSort||!1,storeId:this.config.storeId||Ext.id(),autoDestroy:!0,listeners:{load:function(){const cmp=Ext.getCmp("modx-content");cmp&&cmp.doLayout()}}})},_loadColumnModel:function(){if(this.config.columns){for(var c=this.config.columns,i=0;i
    ',{compiled:!0})},actionsColumnRenderer:function(value,metaData,record,rowIndex,colIndex,store){var actions=this.getActions.apply(this,[record,rowIndex,colIndex,store]);return!0!==this.config.disableContextMenuAction&&actions.push({text:_("context_menu"),action:"contextMenu",icon:"gear"}),this._getActionsColumnTpl().apply({actions})},renderLink:function(v,attr){var el=new Ext.Element(document.createElement("a"));for(var i in el.addClass("x-grid-link"),el.dom.title=_("edit"),attr)el.dom[i]=attr[i];return el.dom.innerHTML=Ext.util.Format.htmlEncode(v),el.dom.outerHTML},checkEditable:function(e){this.checkCellIsEditable(e)},checkCellIsEditable:function(e){if(-1===(e.record.data.perm||"").indexOf("edit"))return!1;switch(e.grid.xtype){case"modx-grid-role":{const isAuthorityField="authority"===e.field;if(e.record.json.isAssigned&&isAuthorityField)return!1;break}}return!0},setEditableCellClasses:function(record,lockConditions=[],lockedClasses="locked",conditionsRequireAll=!0){const permissions=record.data.perm.trim(),hasEditPermission=permissions.split(" ").includes("edit");let classes="",shouldLock=!1;return lockConditions.length>0&&(shouldLock=conditionsRequireAll?lockConditions.every((condition=>!0===Boolean(condition))):lockConditions.some((condition=>!0===Boolean(condition)))),Ext.isEmpty(permissions)?classes="editor-disabled":hasEditPermission&&shouldLock&&(classes=lockedClasses),classes},getLinkTemplate:function(controllerPath,displayValueIndex,options={}){Ext.applyIf(options,{linkParams:[],linkClass:"x-grid-link",linkTitle:_("edit"),linkTarget:"_blank"});let params="";return controllerPath=0===controllerPath.indexOf("?a=")?controllerPath:`?a=${controllerPath}`,options.linkParams.length>0&&(params=[],options.linkParams.forEach((param=>{params.push(`${param.key}={${param.valueIndex}}`)})),params=`&${params.join("&")}`),new Ext.Template(`{${displayValueIndex}:htmlEncode}`,{compiled:!0})},getActions:function(record,rowIndex,colIndex,store){return[]},onClickHandler:function(e){var target=e.getTarget();if(target.classList.contains("x-grid-action")&&target.dataset.action){var actionHandler="action"+target.dataset.action.charAt(0).toUpperCase()+target.dataset.action.slice(1);if(this[actionHandler]&&"function"==typeof this[actionHandler]||this[actionHandler=target.dataset.action]&&"function"==typeof this[actionHandler]){var record=this.getSelectionModel().getSelected(),recordIndex=this.store.indexOf(record);this.menu.record=record.data,this[actionHandler](record,recordIndex,e)}}},actionContextMenu:function(record,recordIndex,e){this._showMenu(this,recordIndex,e)},makeUrl:function(){if(Array.isArray(this.config.urlFilters)&&this.config.urlFilters.length>0){var s=this.getStore(),p={a:MODx.request.a};MODx.request.id&&(p.id=MODx.request.id),MODx.request.key&&(p.key=MODx.request.key);for(var i=0;i0&&window.history.replaceState(this.getStore().baseParams,document.title,this.makeUrl())},findTabPanel:function(referenceCmp){if(!referenceCmp.hasOwnProperty("ownerCt"))return console.error("MODx.grid.Grid::findTabPanel: This component must have an ownerCt to find its tab panel."),!1;const container=referenceCmp.ownerCt;return container.hasOwnProperty("xtype")&&container.xtype.includes("tabs")?container:this.findTabPanel(container)},hasNestedFilters:!1,currentLanguage:MODx.config.cultureKey||"en",applyRequestFilter:function(tabPanelIndex,requestKey="policy",tabPanelType="vtab",setEmptyToString=!1){const emptyVal=setEmptyToString?"":null;return Object.prototype.hasOwnProperty.call(MODx.request,tabPanelType)&&parseInt(MODx.request[tabPanelType],10)===tabPanelIndex&&Object.prototype.hasOwnProperty.call(MODx.request,requestKey)?MODx.util.url.getParamValue(requestKey):emptyVal},applyGridFilter:function(cmp,param="query"){const filterValue=cmp.getValue(),store=this.getStore(),urlParams={},tabPanel=this.findTabPanel(this),bottomToolbar=this.getBottomToolbar();let parentTabItems,activeParentTabIdx,hasParentTabPanel=!1;if(Ext.isEmpty(filterValue)?MODx.request[param]?urlParams[param]=MODx.request[param]:MODx.util.url.clearParam(cmp):urlParams[param]=filterValue,"ns"==param?store.baseParams.namespace=filterValue:store.baseParams[param]=filterValue,tabPanel){if("modx-vtabs"==tabPanel.xtype){const parentTabPanel=this.findTabPanel(tabPanel);if(parentTabPanel){const activeParentTab=parentTabPanel.getActiveTab();hasParentTabPanel=!0,parentTabItems=parentTabPanel.items,activeParentTabIdx=parentTabItems.indexOf(activeParentTab)}}const activeTab=tabPanel.getActiveTab(),tabItems=tabPanel.items,activeTabIdx=tabItems.indexOf(activeTab);hasParentTabPanel?(tabItems.length>1&&(urlParams.vtab=activeTabIdx),parentTabItems.length>1&&(urlParams.tab=activeParentTabIdx)):tabItems.length>1&&(urlParams.tab=activeTabIdx)}store.load(),MODx.util.url.setParams(urlParams),bottomToolbar&&bottomToolbar.changePage(1)},clearGridFilters:function(items){const store=this.getStore(),bottomToolbar=this.getBottomToolbar();(Array.isArray(items)?items:items.split(",")).forEach((item=>{const itemData=item.replace(/\s+/g,"").split(":"),itemId=itemData[0],itemDefaultVal=2==itemData.length?itemData[1]:null,cmp=this.getFilterComponent(itemId),param=MODx.util.url.getParamNameFromCmp(cmp),isCombo=cmp?.xtype?.includes("combo");if(isCombo?""===itemDefaultVal?cmp.setValue(null):cmp.setValue(itemDefaultVal):cmp.setValue(""),!Ext.isEmpty(itemDefaultVal)){Object.keys(cmp.baseParams).forEach((param=>{switch(param){case"namespace":cmp.baseParams[param]="core";break;case"topic":cmp.baseParams[param]="default"}}))}isCombo&&"local"!==cmp.mode&&cmp.getStore().load(),store.baseParams[param]=itemDefaultVal})),store.load(),MODx.util.url.clearAllParams(),bottomToolbar&&bottomToolbar.changePage(1)},hasNestedFilters:!1,getFilterComponent:function(filterId){const topToolbar=this.getTopToolbar(),cmp=this.hasNestedFilters&&"filter-query"!==filterId?topToolbar.find("itemId",`${filterId}-container`)[0].getComponent(filterId):topToolbar.getComponent(filterId);if(void 0!==cmp)return cmp;console.error(`getFilterComponent: The filter component with itemId '${filterId}' could not be retrieved.`)},refreshFilterOptions:function(filterData=[],clearDependentParams=!0){filterData.length>0&&(filterData.forEach((data=>{const filter=this.getFilterComponent(data.filterId);if(filter){const store=filter.getStore();if(filter.setValue(""),store){if(data.hasOwnProperty("dependentParams")){(Array.isArray(data.dependentParams)?data.dependentParams:data.dependentParams.split(",")).forEach((param=>{clearDependentParams&&store.baseParams.hasOwnProperty(param)&&(store.baseParams[param]="")}))}store.load()}}})),this.refresh())},updateDependentFilter:function(filterId,paramKey,paramValue,clearValue=!1){const filter=this.getFilterComponent(filterId),filterStore=filter?filter.getStore():null;filterStore&&"string"==typeof paramKey&&(clearValue&&filter.setValue(""),filterStore.baseParams[paramKey]=paramValue,filterStore.load())},getQueryFilterField:function(filterSpec="filter-query",implementation="default"){let queryValue="";const filterSpecs=filterSpec.split(":"),filterId=filterSpecs[0].trim();return queryValue=2===filterSpecs.length?filterSpecs[1]:MODx.request.query?MODx.util.url.decodeParamValue(MODx.request.query):"",{xtype:"textfield",itemId:filterId,emptyText:_("search"),value:queryValue,cls:"filter-query",listeners:{change:{fn:function(cmp,newValue,oldValue){this.applyGridFilter(cmp);const usergroupTree=Ext.getCmp("modx-tree-usergroup");if("user-group-users"===implementation&&usergroupTree){const selectedNode=usergroupTree.getSelectionModel().getSelectedNode(),groupId=MODx.util.tree.getGroupIdFromNode(selectedNode);MODx.util.url.setParams({group:groupId})}},scope:this},afterrender:{fn:function(cmp){MODx.request.query&&this.applyGridFilter(cmp)},scope:this},render:{fn:function(cmp){new Ext.KeyMap(cmp.getEl(),{key:Ext.EventObject.ENTER,fn:this.blur,scope:cmp})},scope:this}}}},getClearFiltersButton:function(filters="filter-query",dependentFilterResets=null){if(Ext.isEmpty(filters))return console.error("MODx.grid.Grid::getClearFiltersButton: There was a problem creating the Clear Filter button because the supplied filters list is invalid."),{};const config={text:_("filter_clear"),itemId:"filter-clear",listeners:{click:{fn:function(cmp){if(cmp.dependentResets){cmp.dependentResets.split(",").forEach((reset=>{const[filterId,filterDataIndex]=reset.split(":").map((item=>item.trim()));this.updateDependentFilter(filterId,filterDataIndex,"",!0)}))}this.clearGridFilters(filters)},scope:this},mouseout:{fn:function(evt){this.removeClass("x-btn-focus")}}}};return dependentFilterResets&&(config.dependentResets=dependentFilterResets),config}}),MODx.grid.LocalGrid=function(config){if((config=config||{}).grouping&&Ext.applyIf(config,{view:new Ext.grid.GroupingView({forceFit:!0,scrollOffset:0,hideGroupedColumn:!!config.hideGroupedColumn,groupTextTpl:config.groupTextTpl||'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "'+(config.pluralText||_("records"))+'" : "'+(config.singleText||_("record"))+'"]})'})}),config.tbar)for(var i=0;i
    ',{compiled:!0})},actionsColumnRenderer:function(value,metaData,record,rowIndex,colIndex,store){var actions=this.getActions.apply(this,arguments);return!0!==this.config.disableContextMenuAction&&actions.push({text:_("context_menu"),action:"contextMenu",icon:"gear"}),this._getActionsColumnTpl().apply({actions})},renderLink:function(v,attr){var el=new Ext.Element(document.createElement("a"));for(var i in el.addClass("x-grid-link"),el.dom.title=_("edit"),attr)el.dom[i]=attr[i];return el.dom.innerHTML=Ext.util.Format.htmlEncode(v),el.dom.outerHTML},getActions:function(value,metaData,record,rowIndex,colIndex,store){return[]},onClick:function(e){var target=e.getTarget();if(target.classList.contains("x-grid-action")&&target.dataset.action){var actionHandler="action"+target.dataset.action.charAt(0).toUpperCase()+target.dataset.action.slice(1);if(this[actionHandler]&&"function"==typeof this[actionHandler]||this[actionHandler=target.dataset.action]&&"function"==typeof this[actionHandler]){var record=this.getSelectionModel().getSelected(),recordIndex=this.store.indexOf(record);this.menu.record=record.data,this[actionHandler](record,recordIndex,e)}}},actionContextMenu:function(record,recordIndex,e){this._showMenu(this,recordIndex,e)}}),Ext.reg("grid-local",MODx.grid.LocalGrid),Ext.reg("modx-grid-local",MODx.grid.LocalGrid), +Ext.ux.form.SuperBoxSelect=function(config){Ext.ux.form.SuperBoxSelect.superclass.constructor.call(this,config),this.addEvents("beforeadditem","additem","newitem","beforeremoveitem","removeitem","clear")},Ext.ux.form.SuperBoxSelect=Ext.extend(Ext.ux.form.SuperBoxSelect,Ext.form.ComboBox,{addNewDataOnBlur:!1,allowAddNewData:!1,allowQueryAll:!0,backspaceDeletesLastItem:!0,classField:null,clearBtnCls:"",clearLastQueryOnEscape:!1,clearOnEscape:!1,displayFieldTpl:null,extraItemCls:"",extraItemStyle:"",expandBtnCls:"",fixFocusOnTabSelect:!0,forceFormValue:!0,forceSameValueQuery:!1,itemDelimiterKey:Ext.EventObject.ENTER,navigateItemsWithTab:!0,pinList:!0,preventDuplicates:!0,queryFilterRe:"",queryValuesDelimiter:"|",queryValuesIndicator:"valuesqry",removeValuesFromStore:!0,renderFieldBtns:!0,stackItems:!1,styleField:null,supressClearValueRemoveEvents:!1,validationEvent:"blur",valueDelimiter:",",initComponent:function(){Ext.apply(this,{items:new Ext.util.MixedCollection(!1),usedRecords:new Ext.util.MixedCollection(!1),addedRecords:[],remoteLookup:[],hideTrigger:!0,grow:!1,resizable:!1,multiSelectMode:!1,preRenderValue:null,filteredQueryData:""}),this.queryFilterRe&&Ext.isString(this.queryFilterRe)&&(this.queryFilterRe=new RegExp(this.queryFilterRe)),this.transform&&this.doTransform(),this.forceFormValue&&this.items.on({add:this.manageNameAttribute,remove:this.manageNameAttribute,clear:this.manageNameAttribute,scope:this}),Ext.ux.form.SuperBoxSelect.superclass.initComponent.call(this),"remote"===this.mode&&this.store&&this.store.on("load",this.onStoreLoad,this)},onRender:function(ct,position){var h=this.hiddenName;this.hiddenName=null,Ext.ux.form.SuperBoxSelect.superclass.onRender.call(this,ct,position),this.hiddenName=h,this.manageNameAttribute();var extraClass=!0===this.stackItems?"x-superboxselect-stacked":"";this.renderFieldBtns&&(extraClass+=" x-superboxselect-display-btns"),this.el.removeClass("x-form-text").addClass("x-superboxselect-input-field"),this.wrapEl=this.el.wrap({tag:"ul"}),this.outerWrapEl=this.wrapEl.wrap({tag:"div",cls:"x-form-text x-superboxselect "+extraClass}),this.inputEl=this.el.wrap({tag:"li",cls:"x-superboxselect-input"}),this.renderFieldBtns&&this.setupFieldButtons().manageClearBtn(),this.setupFormInterception()},doTransform:function(){var s=Ext.getDom(this.transform),transformValues=[];if(!this.store){this.mode="local";for(var d=[],opts=s.options,i=0,len=opts.length;i0&&(this.collapse(),(it=this.items.get(0)).el.focus()),!0):e.getKey()===e.BACKSPACE?(e.stopEvent(),this.currentFocus?(toDestroy=this.currentFocus,this.on("expand",(function(){this.collapse()}),this,{single:!0}),idx=this.items.indexOfKey(toDestroy.key),this.clearCurrentFocus(),idx0?(this.el.removeClass(this.emptyClass),this.setRawValue(""),this):(this.rendered&&this.emptyText&&this.getRawValue().length<1&&(this.setRawValue(this.emptyText),this.el.addClass(this.emptyClass)),this)},removeAllItems:function(){return this.items.each((function(item){item.preDestroy(!0)}),this),this.manageClearBtn(),this},killItems:function(){return this.items.each((function(item){item.kill()}),this),this.resetStore(),this.items.clear(),this.manageClearBtn(),this},resetStore:function(){return this.store.clearFilter(),this.removeValuesFromStore?(this.usedRecords.each((function(rec){this.store.add(rec)}),this),this.usedRecords.clear(),this.store.remoteSort||this.store.sort(this.displayField,"ASC"),this):this},sortStore:function(){var ss=this.store.getSortState();return ss&&ss.field&&this.store.sort(ss.field,ss.direction),this},getCaption:function(dataObject){"string"==typeof this.displayFieldTpl&&(this.displayFieldTpl=new Ext.XTemplate(this.displayFieldTpl));var caption,recordData=dataObject instanceof Ext.data.Record?dataObject.data:dataObject;return this.displayFieldTpl?caption=this.displayFieldTpl.apply(recordData):this.displayField&&(caption=recordData[this.displayField]),caption},addRecord:function(record){var display=record.data[this.displayField],caption=this.getCaption(record),val=record.data[this.valueField],cls=this.classField?record.data[this.classField]:"",style=this.styleField?record.data[this.styleField]:"";this.removeValuesFromStore&&(this.usedRecords.add(val,record),this.store.remove(record)),this.addItemBox(val,display,caption,cls,style),this.fireEvent("additem",this,val,record)},createRecord:function(recordData){if(!this.recordConstructor){var recordFields=[{name:this.valueField},{name:this.displayField}];this.classField&&recordFields.push({name:this.classField}),this.styleField&&recordFields.push({name:this.styleField}),this.recordConstructor=Ext.data.Record.create(recordFields)}return new this.recordConstructor(recordData)},addItems:function(newItemObjects){Ext.isArray(newItemObjects)?Ext.each(newItemObjects,(function(item){this.addItem(item)}),this):this.addItem(newItemObjects)},addNewItem:function(newItemObject){this.addItem(newItemObject,!0)},addItem:function(newItemObject,forcedAdd){var val=newItemObject[this.valueField];if(this.disabled)return!1;if(!this.preventDuplicates||!this.hasValue(val)){var record=this.findRecord(this.valueField,val);if(record)this.addRecord(record);else if(this.allowAddNewData){if("remote"===this.mode)return this.remoteLookup.push(newItemObject),void this.doQuery(val,!1,!1,forcedAdd);var rec=this.createRecord(newItemObject);return this.store.add(rec),this.addRecord(rec),!0}}},addItemBox:function(itemVal,itemDisplay,itemCaption,itemClass,itemStyle){var hConfig,itemKey=Ext.id(null,"sbx-item"),box=new Ext.ux.form.SuperBoxSelectItem({owner:this,disabled:this.disabled,renderTo:this.wrapEl,cls:this.extraItemCls+" "+itemClass,style:function(s){var ret="";switch(typeof s){case"function":ret=s.call();break;case"object":for(var p in s)ret+=p+":"+s[p]+";";break;case"string":ret=s+";"}return ret}(this.extraItemStyle)+" "+itemStyle,caption:itemCaption,display:itemDisplay,value:itemVal,key:itemKey,listeners:{remove:function(item){if(!1===this.fireEvent("beforeremoveitem",this,item.value))return!1;this.items.removeKey(item.key),this.removeValuesFromStore&&this.usedRecords.containsKey(item.value)&&(this.store.add(this.usedRecords.get(item.value)),this.usedRecords.removeKey(item.value),this.sortStore(),this.view&&this.view.render()),this.preventMultipleRemoveEvents||this.fireEvent.defer(250,this,["removeitem",this,item.value,this.findInStore(item.value)])},destroy:function(){this.collapse(),this.autoSize().manageClearBtn().validateValue()},scope:this}});box.render(),hConfig={tag:"input",type:"hidden",value:itemVal,name:this.hiddenName||this.name},this.disabled&&Ext.apply(hConfig,{disabled:"disabled"}),box.hidden=this.el.insertSibling(hConfig,"before"),this.items.add(itemKey,box),this.applyEmptyText().autoSize().manageClearBtn().validateValue()},manageClearBtn:function(){if(!this.renderFieldBtns||!this.rendered)return this;var cls="x-superboxselect-btn-hide";return 0===this.items.getCount()?this.buttonClear.addClass(cls):this.buttonClear.removeClass(cls),this},findInStore:function(val){var index=this.store.find(this.valueField,val);return index>-1&&this.store.getAt(index)},getSelectedRecords:function(){var ret=[];if(this.removeValuesFromStore)ret=this.usedRecords.getRange();else{var vals=[];this.items.each((function(item){vals.push(item.value)})),Ext.each(vals,(function(val){ret.push(this.findInStore(val))}),this)}return ret},findSelectedItem:function(el){var ret;return this.items.each((function(item){if(item.el.dom===el)return ret=item,!1})),ret},findSelectedRecord:function(el){var ret,item=this.findSelectedItem(el);return item&&(ret=this.findSelectedRecordByValue(item.value)),ret},findSelectedRecordByValue:function(val){var ret;return this.removeValuesFromStore?this.usedRecords.each((function(rec){if(rec.get(this.valueField)==val)return ret=rec,!1}),this):ret=this.findInStore(val),ret},getValue:function(){var ret=[];return this.items.each((function(item){ret.push(item.value)})),ret.join(this.valueDelimiter)},getCount:function(){return this.items.getCount()},getValueEx:function(){var ret=[];return this.items.each((function(item){var newItem={};newItem[this.valueField]=item.value,newItem[this.displayField]=item.display,this.classField&&(newItem[this.classField]=item.cls||""),this.styleField&&(newItem[this.styleField]=item.style||""),ret.push(newItem)}),this),ret},initValue:function(){Ext.isObject(this.value)||Ext.isArray(this.value)?(this.setValueEx(this.value),this.originalValue=this.getValue()):Ext.ux.form.SuperBoxSelect.superclass.initValue.call(this),"remote"===this.mode&&(this.setOriginal=!0)},addValue:function(value){if(!Ext.isEmpty(value)){var values=value;if(Ext.isArray(value)||(values=(value=""+value).split(this.valueDelimiter)),Ext.each(values,(function(val){var record=this.findRecord(this.valueField,val);record?this.addRecord(record):"remote"===this.mode&&this.remoteLookup.push(val)}),this),"remote"===this.mode){var q=this.remoteLookup.join(this.queryValuesDelimiter);this.doQuery(q,!1,!0)}}},setValue:function(value){this.rendered?(this.removeAllItems().resetStore(),this.remoteLookup=[],this.addValue(value)):this.value=value},setValueEx:function(data){this.rendered?(this.removeAllItems().resetStore(),Ext.isArray(data)||(data=[data]),this.remoteLookup=[],this.allowAddNewData&&"remote"===this.mode?Ext.each(data,(function(d){var r=this.findRecord(this.valueField,d[this.valueField])||this.createRecord(d);this.addRecord(r)}),this):Ext.each(data,(function(item){this.addItem(item)}),this)):this.value=data},hasValue:function(val){var has=!1;return this.items.each((function(item){if(item.value==val)return has=!0,!1}),this),has},onSelect:function(record,index){if(!1!==this.fireEvent("beforeselect",this,record,index)){var val=record.data[this.valueField];if(this.preventDuplicates&&this.hasValue(val))return;this.setRawValue(""),this.lastSelectionText="",!1!==this.fireEvent("beforeadditem",this,val,record,this.filteredQueryData)&&this.addRecord(record),0!==this.store.getCount()&&this.multiSelectMode?this.restrictHeight():this.collapse()}},onDestroy:function(){this.items.purgeListeners(),this.killItems(),this.allowQueryAll&&Ext.destroy(this.buttonExpand),this.renderFieldBtns&&Ext.destroy(this.buttonClear,this.buttonWrap),Ext.destroy(this.inputEl,this.wrapEl,this.outerWrapEl),Ext.ux.form.SuperBoxSelect.superclass.onDestroy.call(this)},autoSize:function(){if(!this.rendered)return this;this.metrics||(this.metrics=Ext.util.TextMetrics.createInstance(this.el));var v=this.el.dom.value,d=document.createElement("div");""===v&&this.emptyText&&this.items.getCount()<1&&(v=this.emptyText),d.appendChild(document.createTextNode(v)),v=d.innerHTML,d=null,v+=" ";var w=Math.max(this.metrics.getWidth(v)+24,24);return void 0!==this._width&&(w=Math.min(this._width,w)),this.el.setWidth(w),Ext.isIE&&(this.el.dom.style.top="0"),this.fireEvent("autosize",this,w),this},shouldQuery:function(q){if(this.lastQuery){var m=q.match("^"+this.lastQuery);return!(m&&!this.store.getCount())||m[0]!==this.lastQuery}return!0},doQuery:function(q,forceAll,valuesQuery,forcedAdd){if(q=Ext.isEmpty(q)?"":q,this.queryFilterRe){this.filteredQueryData="";var m=q.match(this.queryFilterRe);if(m&&m.length&&(this.filteredQueryData=m[0]),!(q=q.replace(this.queryFilterRe,""))&&m)return}var qe={query:q,forceAll,combo:this,cancel:!1};if(!1===this.fireEvent("beforequery",qe)||qe.cancel)return!1;q=qe.query,(!0===(forceAll=qe.forceAll)||q.length>=this.minChars||valuesQuery&&!Ext.isEmpty(q))&&(forcedAdd||this.forceSameValueQuery||this.shouldQuery(q)?(this.lastQuery=q,"local"==this.mode?(this.selectedIndex=-1,forceAll?this.store.clearFilter():this.store.filter(this.displayField,q),this.onLoad()):(this.store.baseParams[this.queryParam]=q,this.store.baseParams[this.queryValuesIndicator]=valuesQuery,this.store.load({params:this.getParams(q)}),forcedAdd||this.expand())):(this.selectedIndex=-1,this.onLoad()))},onStoreLoad:function(store,records,options){var q=options.params[this.queryParam]||store.baseParams[this.queryParam]||"",isValuesQuery=options.params[this.queryValuesIndicator]||store.baseParams[this.queryValuesIndicator];if(this.removeValuesFromStore&&this.store.each((function(record){this.usedRecords.containsKey(record.get(this.valueField))&&this.store.remove(record)}),this),isValuesQuery){var params=q.split(this.queryValuesDelimiter);Ext.each(params,(function(p){this.remoteLookup.remove(p);var rec=this.findRecord(this.valueField,p);rec&&this.addRecord(rec)}),this),this.setOriginal&&(this.setOriginal=!1,this.originalValue=this.getValue())}""!==q&&this.allowAddNewData&&Ext.each(this.remoteLookup,(function(r){if("object"==typeof r&&r[this.valueField]===q){if(this.remoteLookup.remove(r),records.length&&records[0].get(this.valueField)===q)return void this.addRecord(records[0]);var rec=this.createRecord(r);return this.store.add(rec),this.addRecord(rec),this.addedRecords.push(rec),void function(){this.isExpanded()&&this.collapse()}.defer(10,this)}}),this);var toAdd=[];if(""===q)Ext.each(this.addedRecords,(function(rec){this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField))||toAdd.push(rec)}),this);else{var re=new RegExp(Ext.escapeRe(q)+".*","i");Ext.each(this.addedRecords,(function(rec){this.preventDuplicates&&this.usedRecords.containsKey(rec.get(this.valueField))||re.test(rec.get(this.displayField))&&toAdd.push(rec)}),this)}this.store.add(toAdd),this.sortStore(),0===this.store.getCount()&&this.isExpanded()&&this.collapse()}}),Ext.reg("superboxselect",Ext.ux.form.SuperBoxSelect),Ext.ux.form.SuperBoxSelectItem=function(config){Ext.apply(this,config),Ext.ux.form.SuperBoxSelectItem.superclass.constructor.call(this)},Ext.ux.form.SuperBoxSelectItem=Ext.extend(Ext.ux.form.SuperBoxSelectItem,Ext.Component,{initComponent:function(){Ext.ux.form.SuperBoxSelectItem.superclass.initComponent.call(this)},onElClick:function(e){var o=this.owner;if(o.clearCurrentFocus().collapse(),o.navigateItemsWithTab)this.focus();else{o.el.dom.focus();(function(){this.onLnkFocus(),o.currentFocus=this}).defer(10,this)}},onLnkClick:function(e){e&&e.stopEvent(),this.preDestroy(),this.owner.navigateItemsWithTab||this.owner.el.focus()},onLnkFocus:function(){this.el.addClass("x-superboxselect-item-focus"),this.owner.outerWrapEl.addClass("x-form-focus")},onLnkBlur:function(){this.el.removeClass("x-superboxselect-item-focus"),this.owner.outerWrapEl.removeClass("x-form-focus")},enableElListeners:function(){this.el.on("click",this.onElClick,this,{stopEvent:!0}),this.el.addClassOnOver("x-superboxselect-item x-superboxselect-item-hover")},enableLnkListeners:function(){this.lnk.on({click:this.onLnkClick,focus:this.onLnkFocus,blur:this.onLnkBlur,scope:this})},enableAllListeners:function(){this.enableElListeners(),this.enableLnkListeners()},disableAllListeners:function(){this.el.removeAllListeners(),this.lnk.un("click",this.onLnkClick,this),this.lnk.un("focus",this.onLnkFocus,this),this.lnk.un("blur",this.onLnkBlur,this)},onRender:function(ct,position){Ext.ux.form.SuperBoxSelectItem.superclass.onRender.call(this,ct,position);var el=this.el;el&&el.remove(),this.el=el=ct.createChild({tag:"li"},ct.last()),el.addClass("x-superboxselect-item");var btnEl=this.owner.navigateItemsWithTab?"a":"span";this.key;Ext.apply(el,{focus:function(){var c=this.down(btnEl+".x-superboxselect-item-close");c&&c.focus()},preDestroy:function(){this.preDestroy()}.createDelegate(this)}),this.enableElListeners(),el.update(this.caption);var cfg={tag:btnEl,class:"x-superboxselect-item-close",tabIndex:this.owner.navigateItemsWithTab?"0":"-1"};"a"===btnEl&&(cfg.href="#"),this.lnk=el.createChild(cfg),this.disabled?this.disableAllListeners():this.enableLnkListeners(),this.on({disable:this.disableAllListeners,enable:this.enableAllListeners,scope:this}),this.setupKeyMap()},setupKeyMap:function(){this.keyMap=new Ext.KeyMap(this.lnk,[{key:[Ext.EventObject.BACKSPACE,Ext.EventObject.DELETE,Ext.EventObject.SPACE],fn:this.preDestroy,scope:this},{key:[Ext.EventObject.RIGHT,Ext.EventObject.DOWN],fn:function(){this.moveFocus("right")},scope:this},{key:[Ext.EventObject.LEFT,Ext.EventObject.UP],fn:function(){this.moveFocus("left")},scope:this},{key:[Ext.EventObject.HOME],fn:function(){var l=this.owner.items.get(0).el.focus();l&&l.el.focus()},scope:this},{key:[Ext.EventObject.END],fn:function(){this.owner.el.focus()},scope:this},{key:Ext.EventObject.ENTER,fn:function(){}}]),this.keyMap.stopEvent=!0},moveFocus:function(dir){var el=this.el["left"==dir?"prev":"next"]()||this.owner.el;el.focus.defer(100,el)},preDestroy:function(supressEffect){if(!1!==this.fireEvent("remove",this)){var actionDestroy=function(){this.owner.navigateItemsWithTab&&this.moveFocus("right"),this.hidden.remove(),this.hidden=null,this.destroy()};return supressEffect?actionDestroy.call(this):this.el.hide({duration:.2,callback:actionDestroy,scope:this}),this}},kill:function(){this.hidden.remove(),this.hidden=null,this.purgeListeners(),this.destroy()},onDisable:function(){this.hidden&&this.hidden.dom.setAttribute("disabled","disabled"),this.keyMap.disable(),Ext.ux.form.SuperBoxSelectItem.superclass.onDisable.call(this)},onEnable:function(){this.hidden&&this.hidden.dom.removeAttribute("disabled"),this.keyMap.enable(),Ext.ux.form.SuperBoxSelectItem.superclass.onEnable.call(this)},onDestroy:function(){Ext.destroy(this.lnk,this.el),Ext.ux.form.SuperBoxSelectItem.superclass.onDestroy.call(this)}}),MODx.Component=function(config){config=config||{},MODx.Component.superclass.constructor.call(this,config),this.config=config,this._loadForm(),this.config.tabs&&this._loadTabs(),this._loadComponents(),this._loadActionButtons(),MODx.activePage=this},Ext.extend(MODx.Component,Ext.Component,{fields:{},form:null,action:!1,_loadForm:function(){if(!this.config.form)return!1;if(this.form=new Ext.form.BasicForm(Ext.get(this.config.form),{errorReader:MODx.util.JSONReader}),this.config.fields)for(var i in this.config.fields)if(this.config.fields.hasOwnProperty(i)){var f=this.config.fields[i];f.xtype&&(f=Ext.ComponentMgr.create(f)),this.fields[i]=f,this.form.add(f)}return this.form.render()},_loadActionButtons:function(){return!!this.config.buttons&&(this.ab=MODx.load({xtype:"modx-actionbuttons",form:this.form||null,formpanel:this.config.formpanel||null,actions:this.config.actions||null,items:this.config.buttons||[]}),this.ab)},_loadTabs:function(){if(!this.config.tabs)return!1;var o=this.config.tabOptions||{};return Ext.applyIf(o,{xtype:"modx-tabs",renderTo:this.config.tabs_div||"tabs_div",items:this.config.tabs}),MODx.load(o)},_loadComponents:function(){if(!this.config.components)return!1;for(var l=this.config.components.length,cp=Ext.getCmp("modx-content"),i=0;i","<-",""," "];if(-1!=ex.indexOf(el)||el.xtype&&"switch"==el.xtype)MODx.toolbar.ActionButtons.superclass.add.call(this,el);else{var id=el.id||Ext.id();if(Ext.applyIf(el,{xtype:"button",cls:el.icon?"x-btn-icon bmenu":"x-btn-text bmenu",scope:this,disabled:!!el.checkDirty,listeners:{},id}),el.button&&MODx.toolbar.ActionButtons.superclass.add.call(this,el),null===el.handler&&null===el.menu?el.handler=this.checkConfirm:el.confirm&&el.handler?el.handler=function(){Ext.Msg.confirm(_("warning"),el.confirm,(function(e){"yes"===e&&Ext.callback(el.handler,this)}),el.scope||this)}:el.handler||(el.handler=this.handleClick),el.javascript&&(el.listeners.click={fn:this.evalJS,scope:this}),"button"==el.xtype&&(el.listeners.render={fn:function(btn){el.checkDirty&&btn&&this.checkDirtyBtns.push(btn)},scope:this}),el.keys){el.keyMap=new Ext.KeyMap(Ext.get(document));for(var j=0;j{item&&item.validate&&!item.validate()&&(isv=!1)})),isv?(Ext.applyIf(o.params,{action:itm.process}),Ext.apply(f.baseParams,o.params),o.form.on("success",(function(r){if(o.form.clearDirty&&o.form.clearDirty(),MODx.msg.status({title:_("success"),message:r.result.message||_("save_successful"),dontHide:""!=r.result.message}),0!=itm.redirect){var redirect=this.redirect;"function"==typeof itm.redirect&&(redirect=itm.redirect),Ext.callback(redirect,this,[o,itm,r.result],1e3)}this.resetDirtyButtons(r.result)}),this),o.form.submit({headers:{"Powered-By":"MODx",modAuth:MODx.siteId}})):(o.form.fireEvent("failureSubmit"),Ext.Msg.alert(_("error"),_("correct_errors")))}else{var params=itm.params||{};Ext.applyIf(params,o.baseParams||{}),MODx.loadPage("?"+Ext.urlEncode(params))}return!1},resetDirtyButtons:function(r){for(var i=0;i0}},contextmenu:{fn:this._showContextMenu,scope:this}}),Ext.applyIf(config,{store:this.store,singleSelect:!0,overClass:"x-view-over",emptyText:'
    '+_("file_err_filter")+"
    ",closeAction:"hide"}),MODx.DataView.superclass.constructor.call(this,config),this.config=config,this.cm=new Ext.menu.Menu},Ext.extend(MODx.DataView,Ext.DataView,{lookup:{},onLoadException:function(){this.getEl().update('
    '+_("data_err_load")+"
    ")},_addContextMenuItem:function(items){for(var a=items,l=a.length,i=0;i ').compile()}),MODx.Button.superclass.constructor.call(this,config)},Ext.extend(MODx.Button,Ext.Button,{onRender:function(ct,position){this.template||(Ext.Button.buttonTemplate||(Ext.Button.buttonTemplate=new Ext.Template(' '),Ext.Button.buttonTemplate.compile()),this.template=Ext.Button.buttonTemplate);var btn,targs=this.getTemplateArgs();targs.iconCls=this.iconCls,btn=position?this.template.insertBefore(position,targs,!0):this.template.append(ct,targs,!0),this.btnEl=btn.child("i"),this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur}),this.initButtonEl(btn,this.btnEl),Ext.ButtonToggleMgr.register(this)}}),Ext.reg("modx-button",MODx.Button),MODx.SearchBar=function(config){config=config||{},Ext.applyIf(config,{renderTo:"modx-manager-search",listClass:"modx-manager-search-results",emptyText:_("search"),id:"modx-uberbar",maxHeight:this.getViewPortSize(),typeAhead:!0,listAlign:["tl-bl?",[-12,12]],triggerConfig:{tag:"button",id:"modx-uberbar-trigger",type:"submit","aria-label":"Go",cls:"x-form-trigger icon icon-large icon-search"},defaultAutoCreate:{tag:"input",type:"text",size:"24",tabindex:"0",hasfocus:!0,"aria-label":_("search")},hasfocus:!0,minChars:1,displayField:"name",valueField:"_action",width:380,itemSelector:".x-combo-list-item",tpl:new Ext.XTemplate('','
    ','','',"

    {label:htmlEncode}

    ","
    ",'

    {name:htmlEncode} – {description:htmlEncode}

    ',"
    ","
    ",{getClass:function(values){if(values.icon)return values.icon;if(values.class)switch(values.class){case"MODX\\Revolution\\modDocument":return"file";case"MODX\\Revolution\\modSymLink":return"files-o";case"MODX\\Revolution\\modWebLink":return"link";case"MODX\\Revolution\\modStaticResource":return"file-text-o"}switch(values.type){case"resources":return"file";case"chunks":return"th-large";case"templates":return"columns";case"snippets":return"code";case"tvs":return"list-alt";case"plugins":return"cogs";case"users":return"user";case"actions":return"mail-forward"}},getLabel:function(values){return values.label?values.label:_("search_resulttype_"+values.type)}}),store:new Ext.data.JsonStore({url:MODx.config.connector_url,baseParams:{action:"Search/Search"},root:"results",totalProperty:"total",fields:["name","_action","description","type","icon","label","class"],listeners:{beforeload:function(store,options){if(options.params._action)return!1}}}),listeners:{beforequery:{fn:function(){this.tpl.type=null}},focus:this.focusBar,blur:this.blurBar,afterrender:function(){document.getElementById("modx-manager-search").onclick=function(e){e.stopPropagation()}},scope:this}}),MODx.SearchBar.superclass.constructor.call(this,config),this.blur(),this.setKeyMap()},Ext.extend(MODx.SearchBar,Ext.form.ComboBox,{setKeyMap:function(){new Ext.KeyMap(document,{key:27,handler:function(){this.hideBar()},scope:this,stopEvent:!1})},initList:function(){if(!this.list){var cls="x-combo-list",listParent=Ext.getDom(this.getListParent()||Ext.getBody());this.list=new Ext.Layer({parentEl:listParent,shadow:this.shadow,cls:[cls,this.listClass].join(" "),constrain:!1,zindex:this.getZIndex(listParent)}),this.list.on("click",(function(e){e.stopPropagation()}));var lw=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setSize(lw,0),this.list.swallowEvent("mousewheel"),this.assetHeight=0,!1!==this.syncFont&&this.list.setStyle("font-size",this.el.getStyle("font-size")),this.title&&(this.header=this.list.createChild({cls:cls+"-hd",html:this.title}),this.assetHeight+=this.header.getHeight()),this.innerList=this.list.createChild({cls:cls+"-inner"}),this.mon(this.innerList,"mouseover",this.onViewOver,this),this.mon(this.innerList,"mousemove",this.onViewMove,this),this.innerList.setWidth(lw-this.list.getFrameWidth("lr")),this.pageSize&&(this.footer=this.list.createChild({cls:cls+"-ft"}),this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer}),this.assetHeight+=this.footer.getHeight()),this.tpl||(this.tpl='
    {'+this.displayField+"}
    "),this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:!0,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+cls+"-item",emptyText:this.listEmptyText,deferEmptyText:!1}),this.view.on("click",(function(view,index,node,vent){view.select(node),window.event||(window.event=vent),this.onViewClick()}),this),this.bindStore(this.store,!0),this.resizable&&(this.resizer=new Ext.Resizable(this.list,{pinned:!0,handles:"se"}),this.mon(this.resizer,"resize",(function(r,w,h){this.maxHeight=h-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight,this.listWidth=w,this.innerList.setWidth(w-this.list.getFrameWidth("lr")),this.restrictHeight()}),this),this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px"))}},onTypeAhead:function(){},onSelect:function(record,index){var e=Ext.EventObject;e.stopPropagation(),e.preventDefault();var target="?a="+record.data._action;if(e.ctrlKey||e.metaKey||e.shiftKey)return window.open(target);MODx.loadPage(target)},hideBar:function(){},focusBar:function(){this.selectText()},blurBar:function(){},getViewPortSize:function(){var height=300;return void 0!==window.innerHeight&&(height=window.innerHeight),height-70}}),Ext.reg("modx-searchbar",MODx.SearchBar),Ext.namespace("MODx.panel"),MODx.Panel=function(config){config=config||{},Ext.applyIf(config,{cls:"modx-panel",title:""}),MODx.Panel.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.Panel,Ext.Panel),Ext.reg("modx-panel",MODx.Panel),MODx.FormPanel=function(config){config=config||{},Ext.applyIf(config,{autoHeight:!0,collapsible:!0,bodyStyle:"",layout:"anchor",border:!1,header:!1,method:"POST",cls:"modx-form",allowDrop:!0,errorReader:MODx.util.JSONReader,checkDirty:!0,useLoadingMask:!1,defaults:{collapsible:!1,autoHeight:!0,border:!1}}),config.items&&this.addChangeEvent(config.items),MODx.FormPanel.superclass.constructor.call(this,config),this.config=config,this.addEvents({setup:!0,fieldChange:!0,ready:!0,beforeSubmit:!0,success:!0,failure:!0,save:!0,actionNew:!0,actionContinue:!0,actionClose:!0,postReady:!0}),this.getForm().addEvents({success:!0,failure:!0}),this.dropTargets=[],this.on("ready",this.onReady),this.config.useLoadingMask&&this.on("render",(function(){this.mask=new Ext.LoadMask(this.getEl()),this.mask.show()})),this.fireEvent("setup",config)&&this.clearDirty(),this.focusFirstField()},Ext.extend(MODx.FormPanel,Ext.FormPanel,{isReady:!1,defaultValues:[],initialized:!1,isStatic:!1,errorHandlingTabs:[],errorHandlingIgnoreTabs:[],submit:function(o){var fm=this.getForm();return!(!fm.isValid()&&!o.bypassValidCheck)&&((o=o||{}).headers={"Powered-By":"MODx",modAuth:MODx.siteId},this.fireEvent("beforeSubmit",{form:fm,options:o,config:this.config})&&fm.submit({waitMsg:this.config.saveMsg||_("saving"),scope:this,headers:o.headers,clientValidation:!o.bypassValidCheck,failure:function(f,a){this.fireEvent("failure",{form:f,result:a.result,options:o,config:this.config})&&MODx.form.Handler.errorExt(a.result,f)},success:function(f,a){this.config.success&&Ext.callback(this.config.success,this.config.scope||this,[f,a]),this.fireEvent("success",{form:f,result:a.result,options:o,config:this.config}),this.clearDirty(),this.fireEvent("setup",this.config);var lastActiveEle=Ext.state.Manager.get("curFocus");if(lastActiveEle&&""!=lastActiveEle){Ext.state.Manager.clear("curFocus");var initFocus=document.getElementById(lastActiveEle);initFocus&&initFocus.focus()}}}),!0)},failure:function(o){if(this.warnUnsavedChanges=!0,-1!==this.getForm().baseParams.action.search(/\/create/i)){const btn=Ext.getCmp("modx-abtn-save");btn&&btn.enable()}this.fireEvent("failureSubmit")},focusFirstField:function(){if(this.getForm().items.getCount()>0){var fld=this.findFirstTextField();fld&&fld.focus(!1,200)}},findFirstTextField:function(i){i=i||0;var fld=this.getForm().items.itemAt(i);return!!fld&&((fld.isXType("combo")||fld.isXType("checkbox")||fld.isXType("radio")||fld.isXType("displayfield")||fld.isXType("statictextfield")||fld.isXType("hidden"))&&(i+=1,fld=this.findFirstTextField(i)),fld)},addChangeEvent:function(items){if(!items)return!1;"object"==typeof items&&items.items&&(items=items.items);for(var f=0;f{fieldKey=fieldKey.trim();const fieldCmpId=`modx-${formId}-${fieldKey}-file`,sourceKey=Ext.isEmpty(sharedSourceKey)?fieldKey:sharedSourceKey,sourceCmpId=`modx-${formId}-${sourceKey}-source`,fieldCmp=Ext.getCmp(fieldCmpId),sourceCmp=Ext.getCmp(sourceCmpId);fieldCmp&&sourceCmp&&(fieldCmp.config.source=sourceCmp.getValue())}))},destroy:function(){for(var i=0;i0&&keys.forEach((function(key){map.hasOwnProperty(key)&&"string"==typeof map[key].id?tabIds.push(map[key].id):"modx-panel-resource-tv"==key&&1==MODx.config.tvs_below_content&&tabIds.push(key)})),tabIds},showErroredTab:function(targetForms,tabsId){const mainTabs=Ext.getCmp(tabsId),searchTabs=this.getTabIdsFromKeys(mainTabs.items.map,targetForms);let component,mainTabName=null,mainTabIndex=null,erroredNode=null;mainTabs.items.length>mainTabs.initialConfig.items.length&&mainTabs.items.keys.forEach((function(key){mainTabs.items.map[key].hasOwnProperty("id")&&(this.errorHandlingIgnoreTabs.includes(mainTabs.items.map[key].id)||searchTabs.includes(mainTabs.items.map[key].id)||searchTabs.push(mainTabs.items.map[key].id))}),this);for(let i=0;i0&&erroredFlds[0].id},insertTagCopyUtility:function(cmp,elType){const helpTag=cmp.getEl().child(".example-replace-name"),elTag=cmp.getEl().child(".copy-this");let tagText,nameVal=cmp.previousSibling().getValue();helpTag&&(nameVal.length>0&&(helpTag.update(nameVal),tagText=elTag.dom.innerText),helpTag.on({click:function(){if(nameVal=cmp.previousSibling().getValue(),nameVal.length>0){tagText=elTag.dom.innerText;const tmp=document.createElement("textarea");if(tmp.value=tagText,document.body.appendChild(tmp),tmp.select(),document.execCommand("copy")){const feedback=document.createElement("span");feedback.className="element-panel feedback item-copied",feedback.textContent=_(elType+"_tag_copied"),elTag.insertSibling(feedback,"after"),setTimeout((function(){feedback.style.opacity=0,setTimeout((function(){feedback.remove()}),1200)}),10)}tmp.remove()}}}))},onChangeStaticSource:function(cmp,elType){const isStatic=Ext.getCmp(`modx-${elType}-static`).getValue(),staticFileField=Ext.getCmp(`modx-${elType}-static-file`),staticFile=staticFileField.getValue(),staticDir=staticFile.slice(0,staticFile.lastIndexOf("/")+1),staticFileFieldId=staticFileField.id,staticFileFieldContainer=Ext.getCmp(staticFileField.ownerCt.id),itemKey=staticFileFieldContainer.items.keys.indexOf(staticFileFieldId),previousSource=this.previousFileSource||0,currentSource=cmp.getValue(),currentRecord={static:isStatic,static_file:staticFile,source:currentSource,openTo:staticDir};let newStaticFile,changeFieldType=!1,updateFieldSource=!1;if("template"===elType)var newPreviewFileField,staticPreviewFileField=Ext.getCmp(`modx-${elType}-preview-file`),staticPreviewFile=staticPreviewFileField.getValue(),staticPreviewDir=staticPreviewFile.slice(0,staticPreviewFile.lastIndexOf("/")+1),staticPreviewFileFieldId=staticPreviewFileField.id,staticPreviewFileFieldContainer=Ext.getCmp(staticPreviewFileField.ownerCt.id),previewItemKey=staticPreviewFileFieldContainer.items.keys.indexOf(staticPreviewFileFieldId),currentPreviewRecord={static:isStatic,preview_file:staticPreviewFile,source:currentSource,openTo:staticPreviewDir};this.previousFileSource=currentSource,previousSource>0&&0==currentSource?(newStaticFile=this.getStaticFileField(elType,currentRecord,!1),"template"===elType&&(newPreviewFileField=this.getTemplatePreviewImageField(currentPreviewRecord,!1)),changeFieldType=!0):0==previousSource&¤tSource>0?(newStaticFile=this.getStaticFileField(elType,currentRecord),"template"===elType&&(newPreviewFileField=this.getTemplatePreviewImageField(currentPreviewRecord)),changeFieldType=!0,updateFieldSource=!0):updateFieldSource=!0,updateFieldSource&&(changeFieldType?(newStaticFile.source=currentSource,"template"===elType&&(newPreviewFileField.source=currentSource)):(staticFileField.config.source=currentSource,"template"===elType&&(staticPreviewFileField.config.source=currentSource))),changeFieldType&&(staticFileField.clearInvalid(),staticFileField.destroy(),staticFileFieldContainer.insert(itemKey,newStaticFile),"template"===elType&&(staticPreviewFileField.clearInvalid(),staticPreviewFileField.destroy(),staticPreviewFileFieldContainer.insert(previewItemKey,newPreviewFileField)),this.doLayout())},getStaticFileField:function(elType,record,loadBrowserField=!0){const sharedConfig={fieldLabel:_("static_file"),description:MODx.expandHelp?"":_("static_file_desc"),name:"static_file",id:`modx-${elType}-static-file`,maxLength:255,anchor:"100%",value:record.static_file||""};let finalConfig;return(0===record.source||!record.hasOwnProperty("source")&&Ext.isEmpty(MODx.config.default_media_source))&&(loadBrowserField=!1),finalConfig=loadBrowserField?Object.assign(sharedConfig,{xtype:"modx-combo-browser",browserEl:"modx-browser",triggerClass:"x-form-code-trigger",source:null!=record.source?record.source:MODx.config.default_media_source,openTo:record.openTo||""}):Object.assign(sharedConfig,{xtype:"textfield"}),record.static||(finalConfig.hidden=!0),finalConfig},getTemplatePreviewImageField:function(record,loadBrowserField=!0){const sharedConfig={fieldLabel:_("template_preview"),description:MODx.expandHelp?"":_("template_preview_description"),name:"preview_file",id:"modx-template-preview-file",allowedFileTypes:"jpg,jpeg,png,gif,bmp",maxLength:255,anchor:"100%",value:record.preview_file||""};let finalConfig;return(0===record.source||!record.hasOwnProperty("source")&&Ext.isEmpty(MODx.config.default_media_source))&&(loadBrowserField=!1),finalConfig=loadBrowserField?Object.assign(sharedConfig,{xtype:"modx-combo-browser",browserEl:"modx-browser",triggerClass:"x-form-image-trigger",source:null!=record.source?record.source:MODx.config.default_media_source,openTo:record.openTo||""}):Object.assign(sharedConfig,{xtype:"textfield"}),finalConfig},toggleFieldVisibility:function(ctrlId,containerId,fieldIds,ctrlValToShow,addSibling){const ctrlCmp=Ext.getCmp(ctrlId),containerCmp=Ext.getCmp(containerId);if(!ctrlCmp||void 0===ctrlCmp)return console.error(`toggleFieldVisibility: Could not get the control component with the id '${ctrlId}'`),!1;if(containerId&&(!containerCmp||void 0===containerCmp))return console.error(`toggleFieldVisibility: Could not get the container component with the id '${containerId}'`),!1;addSibling=!1!==addSibling,ctrlValToShow=!1!==ctrlValToShow;const showVal="combo-boolean"===ctrlCmp.xtype?ctrlCmp.getValue():ctrlCmp.checked,show=!1===ctrlValToShow?!showVal:showVal;show?(containerCmp.show(),containerCmp.doLayout()):containerCmp.hide(),fieldIds.forEach((field=>{const fieldCmp=Ext.getCmp(field),sibling=fieldCmp.nextSibling(),siblingIsHelp=sibling&&"label"===sibling.xtype;fieldCmp&&(show?(fieldCmp.show(),addSibling&&siblingIsHelp&&sibling.show()):(fieldCmp.hide(),addSibling&&siblingIsHelp&&sibling.hide()))}))},formatMainPanelTitle:function(formId,record,realtimeValue=null,returnBaseTitle=!1){let title="",baseTitle="";const modeCreate=!(record.hasOwnProperty("id")&&record.id>0),prefixSeparator=modeCreate&&!realtimeValue?"":": ",prefix=(modeCreate?_("create")+" ":_("edit")+" ")+_("resource"===formId?"document":formId)+prefixSeparator;if(!Ext.isEmpty(record)){const postfix=MODx.perm.tree_show_resource_ids&&!Ext.isEmpty(record.id)?` (${record.id})`:"";if("resource"===formId){const headerCmp=Ext.getCmp("modx-header-breadcrumbs");title=realtimeValue||record.pagetitle,baseTitle=this.encodeTitle(title,!1),title=void 0===title?prefix:this.encodeTitle(title)+postfix,headerCmp?headerCmp.updateHeader(title):Ext.getCmp("modx-resource-header").el.dom.innerText=title}else{const headerCmpId=`modx-${formId}-header`;realtimeValue?baseTitle=this.encodeTitle(realtimeValue):(title="template"===formId?record.templatename:record.name,baseTitle=this.encodeTitle(title)),title=void 0===title?prefix:prefix+baseTitle+postfix,Ext.getCmp(headerCmpId).getEl().update(title)}}if(returnBaseTitle)return baseTitle},encodeTitle:function(title,htmlEncode=!0){return title&&(title=htmlEncode?Ext.util.Format.htmlEncode(Ext.util.Format.stripTags(title)):Ext.util.Format.stripTags(title)),title},getElementProperties:function(properties){if(!Ext.isEmpty(properties)){const gridCmp=Ext.getCmp("modx-grid-element-properties");gridCmp&&(gridCmp.defaultProperties=properties,gridCmp.getStore().loadData(properties))}}}),Ext.reg("modx-formpanel",MODx.FormPanel),MODx.panel.Wizard=function(config){config=config||{},Ext.applyIf(config,{layout:"card",activeItem:0,resizable:!0,collapsible:!0,maximizable:!0,autoHeight:!0,width:750,firstPanel:"",lastPanel:"",defaults:{border:!1},modal:!0,txtFinish:_("finish"),txtNext:_("next"),txtBack:_("back"),bbar:[{id:"pi-btn-bck",itemId:"btn-back",text:config.txtBack||_("back"),handler:this.navHandler.createDelegate(this,[-1]),scope:this,disabled:!0},{id:"pi-btn-fwd",itemId:"btn-fwd",text:config.txtNext||_("next"),handler:this.navHandler.createDelegate(this,[1]),scope:this}]}),MODx.panel.Wizard.superclass.constructor.call(this,config),this.config=config,this.lastActiveItem=this.config.firstPanel,this._go()},Ext.extend(MODx.panel.Wizard,Ext.Panel,{windows:{},_go:function(){this.getBottomToolbar().items.item(1).setText(this.config.txtNext),this.proceed(this.config.firstPanel)},navHandler:function(dir){this.doLayout();var a=this.getLayout().activeItem;-1==dir?this.proceed(a.config.back||a.config.id):a.submit({scope:this,proceed:this.proceed})},proceed:function(id){this.doLayout(),this.getLayout().setActiveItem(id),id==this.config.firstPanel?(this.getBottomToolbar().items.item(0).setDisabled(!0),this.getBottomToolbar().items.item(1).setText(this.config.txtNext)):id==this.config.lastPanel?this.getBottomToolbar().items.item(1).setText(this.config.txtFinish):(this.getBottomToolbar().items.item(0).setDisabled(!1),this.getBottomToolbar().items.item(1).setText(this.config.txtNext))}}),Ext.reg("modx-panel-wizard",MODx.panel.Wizard),MODx.panel.WizardPanel=function(config){config=config||{},Ext.applyIf(config,{wizard:null,checkDirty:!1,bodyStyle:"padding: 3em 3em",hideMode:"offsets"}),MODx.panel.WizardPanel.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.WizardPanel,MODx.FormPanel),Ext.reg("modx-wizard-panel",MODx.panel.WizardPanel),MODx.PanelSpacer={html:"
    ",border:!1},MODx.TemplatePanel=function(config){config=config||{},Ext.applyIf(config,{frame:!1,startingMarkup:'

    {text}

    ',startingText:"Loading...",markup:null,plain:!0,border:!1}),MODx.TemplatePanel.superclass.constructor.call(this,config),this.on("render",this.init,this)},Ext.extend(MODx.TemplatePanel,Ext.Panel,{init:function(){this.defaultMarkup=new Ext.XTemplate(this.startingMarkup,{compiled:!0}),this.reset(),this.tpl=new Ext.XTemplate(this.markup,{compiled:!0})},reset:function(){this.body.hide(),this.defaultMarkup.overwrite(this.body,{text:this.startingText}),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)},updateDetail:function(data){this.body.hide(),this.tpl.overwrite(this.body,data),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)}}),Ext.reg("modx-template-panel",MODx.TemplatePanel),MODx.BreadcrumbsPanel=function(config){config=config||{},Ext.applyIf(config,{frame:!1,plain:!0,border:!1,desc:"This the description part of this panel",bdMarkup:"
      {text}

    {text}

    ",root:{text:"Home",className:"first",root:!0,pnl:""},bodyCssClass:"breadcrumbs"}),MODx.BreadcrumbsPanel.superclass.constructor.call(this,config),this.on("render",this.init,this)},Ext.extend(MODx.BreadcrumbsPanel,Ext.Panel,{data:{trail:[]},init:function(){this.tpl=new Ext.XTemplate(this.bdMarkup,{compiled:!0}),this.reset(this.desc),this.body.on("click",this.onClick,this)},getResetText:function(srcInstance){if("object"!=typeof srcInstance||null==srcInstance)return srcInstance;var newInstance=srcInstance.constructor();for(var i in srcInstance)newInstance[i]=this.getResetText(srcInstance[i]);return newInstance.hasOwnProperty("pnl")&&delete newInstance.pnl,newInstance},updateDetail:function(data){(this.data=data,data.hasOwnProperty("trail"))&&data.trail.unshift(this.root);this._updatePanel(data)},getData:function(){return this.data},reset:function(msg){void 0===this.resetText&&(this.resetText=this.getResetText(this.root)),this.data={text:msg,trail:[this.resetText]},this._updatePanel(this.data)},onClick:function(e){for(var target=e.getTarget(),index=1,parent=target.parentElement;null!=(parent=parent.previousSibling);)index+=1;for(var remove=this.data.trail.length-index;remove>0;)this.data.trail.pop(),remove-=1;if(elm=target.className.split(" ")[0],""!=elm&&"controlBtn"==elm){var panel=target.className.split(" ")[1];if("install"==panel){var last=this.data.trail[this.data.trail.length-1];if(null!=last&&null!=last.rec)return this.data.trail.pop(),void Ext.getCmp("modx-package-grid").install(last.rec)}else Ext.getCmp(panel).activate()}},_updatePanel:function(data){this.body.hide(),this.tpl.overwrite(this.body,data),this.body.slideIn("r",{stopFx:!0,duration:.2}),setTimeout((function(){Ext.getCmp("modx-content").doLayout()}),500)}}),Ext.reg("modx-breadcrumbs-panel",MODx.BreadcrumbsPanel),Ext.override(Ext.TabPanel,{onStripMouseDown:function(e){if(0!==e.button)return;e.preventDefault();const t=this.findTargets(e);t.close?!1!==t.item.fireEvent("beforeclose",t.item)&&(t.item.fireEvent("close",t.item),this.remove(t.item)):t.item&&t.item!==this.activeTab&&(this.tabClicked=!0,this.setActiveTab(t.item))}}),MODx.Tabs=function(config={}){Ext.applyIf(config,{enableTabScroll:!0,layoutOnTabChange:!0,plain:!0,deferredRender:!0,hideMode:"offsets",defaults:{autoHeight:!0,hideMode:"offsets",border:!0,autoWidth:!0,bodyCssClass:"tab-panel-wrapper"},activeTab:0,tabClicked:!1,border:!1,autoScroll:!0,autoHeight:!0,cls:"modx-tabs",itemTpl:new Ext.XTemplate('
  • ','','','{text}',"","
  • ")}),MODx.Tabs.superclass.constructor.call(this,config),this.config=config,this.on({afterrender:function(tabPanel){if(MODx.request&&Object.prototype.hasOwnProperty.call(MODx.request,"tab")){const tabId=parseInt(MODx.request.tab,10);"modx-leftbar-tabpanel"!==this.id&&this.setActiveTab(tabId)}tabPanel.on({beforetabchange:function(tabPanelCmp,newTab,currentTab){if(this.tabClicked&&newTab&¤tTab&&newTab.id!==currentTab.id){const resetVerticalTabPanelFilters="modx-vtabs"===currentTab.items?.items[0]?.xtype||"modx-vtabs"===currentTab.ownerCt?.xtype,changedBetweenVtabs="modx-vtabs"===newTab.ownerCt?.xtype&&"modx-vtabs"===currentTab.ownerCt?.xtype;if("modx-usergroup-permissions-panel"===newTab.itemId&&!this.stateful){const vTabPanel=newTab.items?.items[0];vTabPanel&&"modx-vtabs"===vTabPanel.xtype&&vTabPanel.setActiveTab(0)}this.clearFiltersBeforeChange(currentTab,resetVerticalTabPanelFilters,changedBetweenVtabs)}}})}})},Ext.extend(MODx.Tabs,Ext.TabPanel,{findGridObject:function(itemsSource){const grid=itemsSource.find((obj=>Object.entries(obj).find((([key,value])=>"xtype"===key&&value.includes("-grid-")))));if(grid)return grid;const nextItemsSource=itemsSource?.items;nextItemsSource&&this.findGridObject(nextItemsSource)},clearFiltersBeforeChange:function(tabObj,resetVtabFilters,changedVtabs){let itemsSource,gridObj=null;if(itemsSource=resetVtabFilters?changedVtabs?tabObj.items:tabObj.items.items[0].activeTab.items:tabObj.items,itemsSource.length>0&&(gridObj=this.findGridObject(itemsSource),!gridObj)){let customItemsSource=null;itemsSource?.map["modx-tree-panel-usergroup"]?customItemsSource=itemsSource.map["modx-tree-panel-usergroup"].items:itemsSource?.map["packages-breadcrumbs"]&&(customItemsSource=itemsSource.map["card-container"].items.map["modx-panel-packages"].items),customItemsSource&&(gridObj=this.findGridObject(customItemsSource))}if(gridObj){const toolbar=gridObj.getTopToolbar(),filterIds=[];toolbar&&toolbar.items.items.length>0&&toolbar.items.items.forEach((cmp=>{cmp.xtype&&(cmp.xtype.includes("combo")||"textfield"===cmp.xtype)&&cmp.itemId&&filterIds.push(cmp.itemId)})),filterIds.length>0&&gridObj.clearGridFilters(filterIds)}}}),Ext.reg("modx-tabs",MODx.Tabs),MODx.VerticalTabs=function(config={}){Ext.applyIf(config,{cls:"vertical-tabs-panel",headerCfg:{tag:"div",cls:"x-tab-panel-header vertical-tabs-header"},bwrapCfg:{tag:"div",cls:"x-tab-panel-bwrap vertical-tabs-bwrap"},defaults:{bodyCssClass:"vertical-tabs-body",autoScroll:!0,autoHeight:!0,autoWidth:!0,layout:"form"}}),MODx.VerticalTabs.superclass.constructor.call(this,config),this.config=config,this.on({afterrender:function(){if(MODx.request&&Object.prototype.hasOwnProperty.call(MODx.request,"vtab")){const tabId=parseInt(MODx.request.vtab,10);this.setActiveTab(tabId)}}})},Ext.extend(MODx.VerticalTabs,MODx.Tabs),Ext.reg("modx-vtabs",MODx.VerticalTabs),Ext.Window.prototype.floating={shadow:!1},Ext.override(Ext.Window,{animShow:function(){this.afterShow();var win=this;setTimeout((function(){win.el.hasClass("anim-ready")||(win.el.addClass("anim-ready"),setTimeout((function(){void 0!==win.mask&&(win.mask instanceof Ext.Element?win.mask.addClass("fade-in"):win.mask.el.addClass("fade-in")),win.el.addClass("zoom-in")}),250))}),300)},animHide:function(){this.afterHide()},onShow:function(){if(this.el.hasClass("x-window-dlg"))this.mask.addClass("fade-in"),this.el.applyStyles({opacity:1});else{this.addClass("anim-ready");var win=this;setTimeout((function(){void 0!==win.mask&&(win.mask instanceof Ext.Element?win.mask.addClass("fade-in"):win.mask.el.addClass("fade-in")),win.el.addClass("zoom-in")}),250)}},onHide:function(){if(this.el.hasClass("zoom-in")){this.el.removeClass("zoom-in"),void 0!==this.mask&&(this.mask instanceof Ext.Element?this.mask.removeClass("fade-in"):this.mask.el.removeClass("fade-in")),this.addClass("zoom-out");var win=this;setTimeout((function(){win.isDestroyed||(win.el.hide(),win.el.removeClass("zoom-out"),win.el.removeClass("anim-ready"))}),250)}else this.el.hasClass("x-window-dlg")&&(this.el.applyStyles({opacity:0}),void 0!==this.mask&&(this.mask instanceof Ext.Element?this.mask.removeClass("fade-in"):this.mask.el.removeClass("fade-in")))}}),MODx.Window=function(config){config=config||{},Ext.applyIf(config,{modal:!1,layout:"auto",closeAction:"hide",shadow:!0,resizable:!0,collapsible:!0,maximizable:!0,autoHeight:!1,autoScroll:!0,allowDrop:!0,width:400,constrain:!0,constrainHeader:!0,cls:"modx-window",buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){"close"!==config.closeAction?this.hide():this.close()}},{text:config.saveBtnText||_("save"),cls:"primary-button",scope:this,handler:this.submit}],record:{},keys:[{key:Ext.EventObject.ENTER,fn:function(keyCode,event){var elem=event.getTarget(),component=Ext.getCmp(elem.id);if(component instanceof Ext.form.TextArea)return component.append("\n");this.submit()},scope:this}]}),MODx.Window.superclass.constructor.call(this,config),this.options=config,this.config=config,this.addEvents({success:!0,failure:!0,beforeSubmit:!0,updateWindow:!1}),this._loadForm(),this.on("show",(function(){this.config.blankValues&&this.fp.getForm().reset(),this.config.allowDrop&&this.loadDropZones(),this.syncSize(),this.focusFirstField()}),this),this.on("afterrender",(function(){this.originalHeight=this.el.getHeight(),this.toolsHeight=this.originalHeight-this.body.getHeight()+50,this.resizeWindow()})),Ext.EventManager.onWindowResize(this.resizeWindow,this)},Ext.extend(MODx.Window,Ext.Window,{_loadForm:function(){if(this.checkIfLoaded(this.config.record||null))return!1;var r=this.config.record;if(this.config.fields)for(var l=this.config.fields.length,i=0;i0){var fld=this.findFirstTextField();fld&&fld.focus(!1,200)}},findFirstTextField:function(i){i=i||0;var fld=this.fp.getForm().items.itemAt(i);return!!fld&&((fld.isXType("combo")||fld.isXType("checkbox")||fld.isXType("radio")||fld.isXType("displayfield")||fld.isXType("statictextfield")||fld.isXType("hidden"))&&(i+=1,fld=this.findFirstTextField(i)),fld)},submit:function(close){close=!1!==close;var f=this.fp.getForm();f.isValid()&&this.fireEvent("beforeSubmit",f.getValues())&&f.submit({waitMsg:this.config.waitMsg||_("saving"),submitEmptyText:!1!==this.config.submitEmptyText,scope:this,failure:function(frm,a){this.fireEvent("failure",{f:frm,a})&&MODx.form.Handler.errorExt(a.result,frm),this.doLayout()},success:function(frm,a){this.config.success&&Ext.callback(this.config.success,this.config.scope||this,[frm,a]),this.fireEvent("success",{f:frm,a}),close&&("close"!==this.config.closeAction?this.hide():this.close()),this.doLayout()}})},createForm:function(config){return Ext.applyIf(this.config,{formFrame:!0,border:!1,bodyBorder:!1,autoHeight:!0}),config=config||{},Ext.applyIf(config,{labelAlign:this.config.labelAlign||"top",labelWidth:this.config.labelWidth||100,labelSeparator:this.config.labelSeparator||"",frame:this.config.formFrame,border:this.config.border,bodyBorder:this.config.bodyBorder,autoHeight:this.config.autoHeight,anchor:"100% 100%",errorReader:MODx.util.JSONReader,defaults:this.config.formDefaults||{msgTarget:this.config.msgTarget||"under"},url:this.config.url,baseParams:this.config.baseParams||{},fileUpload:this.config.fileUpload||!1}),new Ext.FormPanel(config)},renderForm:function(){this.fp.on("destroy",(function(){Ext.EventManager.removeResizeListener(this.resizeWindow,this)}),this),this.add(this.fp)},checkIfLoaded:function(r){return r=r||{},!(!this.fp||!this.fp.getForm())&&(this.fp.getForm().reset(),this.fp.getForm().setValues(r),!0)},setValues:function(r){if(null===r)return!1;this.fp.getForm().setValues(r)},reset:function(){this.fp.getForm().reset()},hideField:function(f){f.disable(),f.hide();var d=f.getEl().up(".x-form-item");d&&d.setDisplayed(!1)},showField:function(f){f.enable(),f.show();var d=f.getEl().up(".x-form-item");d&&d.setDisplayed(!0)},loadDropZones:function(){if(this._dzLoaded)return!1;this.fp.getForm().items.each((function(fld){fld.isFormField&&(fld.isXType("textfield")||fld.isXType("textarea"))&&!fld.isXType("combo")&&new MODx.load({xtype:"modx-treedrop",target:fld,targetEl:fld.getEl().dom})})),this._dzLoaded=!0},resizeWindow:function(){var viewHeight=Ext.getBody().getViewSize().height,el=this.fp.getForm().el;viewHeight
    {name:htmlEncode}',"
    {description:htmlEncode}
    ")}),MODx.combo.UserGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.UserGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-usergroup",MODx.combo.UserGroup),MODx.combo.UserGroupRole=function(config){config=config||{},Ext.applyIf(config,{name:"role",hiddenName:"role",displayField:"name",valueField:"id",fields:["name","id"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetList"}}),MODx.combo.UserGroupRole.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.UserGroupRole,MODx.combo.ComboBox),Ext.reg("modx-combo-usergrouprole",MODx.combo.UserGroupRole),MODx.combo.EventGroup=function(config){config=config||{},Ext.applyIf(config,{name:"group",hiddenName:"group",displayField:"name",valueField:"name",fields:["name"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/Event/GroupList"},tpl:new Ext.XTemplate('
    {name:htmlEncode}',"
    ")}),MODx.combo.EventGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.EventGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-eventgroup",MODx.combo.EventGroup),MODx.combo.ResourceGroup=function(config){config=config||{},Ext.applyIf(config,{name:"resourcegroup",hiddenName:"resourcegroup",displayField:"name",valueField:"id",fields:["name","id"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/ResourceGroup/GetList"}}),MODx.combo.ResourceGroup.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ResourceGroup,MODx.combo.ComboBox),Ext.reg("modx-combo-resourcegroup",MODx.combo.ResourceGroup),MODx.combo.Context=function(config){config=config||{},Ext.applyIf(config,{name:"context",hiddenName:"context",displayField:"key",valueField:"key",fields:["key","name"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Context/GetList",exclude:config.exclude||""},tpl:new Ext.XTemplate('
    {name:htmlEncode} ({key:htmlEncode})
    ')}),MODx.combo.Context.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Context,MODx.combo.ComboBox),Ext.reg("modx-combo-context",MODx.combo.Context),MODx.combo.Policy=function(config){config=config||{},Ext.applyIf(config,{name:"policy",hiddenName:"policy",displayField:"name",valueField:"id",fields:["id","name","permissions"],allowBlank:!1,editable:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Access/Policy/GetList"}}),MODx.combo.Policy.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Policy,MODx.combo.ComboBox),Ext.reg("modx-combo-policy",MODx.combo.Policy),MODx.combo.Template=function(config){config=config||{},Ext.applyIf(config,{url:MODx.config.connector_url,baseParams:{action:"Element/Template/GetList",combo:!0},fields:["id","templatename","description","category_name","preview","time"],name:"template",hiddenName:"template",displayField:"templatename",valueField:"id",pageSize:20,allowBlank:!0,editable:!0,typeAhead:!0,tpl:new Ext.XTemplate('
    {this.label:htmlEncode}
    {templatename:htmlEncode}
    {description:htmlEncode()}
    ',{group:null,label:null,getGroup:function(label,time){var group=time+"_"+label;return group===this.group||Ext.isEmpty(group)?null:(this.group=group,this.label=label)}})}),MODx.combo.Template.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Template,MODx.combo.ComboBox),Ext.reg("modx-combo-template",MODx.combo.Template),MODx.combo.Category=function(config){config=config||{},Ext.applyIf(config,{name:"category",hiddenName:"category",displayField:"name",valueField:"id",fields:["id","category","parent","name"],forceSelection:!0,typeAhead:!1,allowBlank:!0,editable:!1,enableKeyEvents:!0,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Element/Category/GetList",showNone:!0,limit:0}}),MODx.combo.Category.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Category,MODx.combo.ComboBox,{_onblur:function(t,e){var v=this.getRawValue();this.setRawValue(v),this.setValue(v,!0)}}),Ext.reg("modx-combo-category",MODx.combo.Category),MODx.combo.Language=function(config){config=config||{},Ext.applyIf(config,{name:"language",hiddenName:"language",displayField:"name",valueField:"name",fields:["name"],typeAhead:!0,minChars:1,editable:!0,allowBlank:!0,url:MODx.config.connector_url,baseParams:{action:"System/Language/GetList"}}),MODx.combo.Language.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Language,MODx.combo.ComboBox),Ext.reg("modx-combo-language",MODx.combo.Language),MODx.combo.Charset=function(config){config=config||{},Ext.applyIf(config,{name:"charset",hiddenName:"charset",displayField:"text",valueField:"value",fields:["value","text"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,url:MODx.config.connector_url,baseParams:{action:"System/Charset/GetList"}}),MODx.combo.Charset.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Charset,MODx.combo.ComboBox),Ext.reg("modx-combo-charset",MODx.combo.Charset),MODx.combo.RTE=function(config){config=config||{},Ext.applyIf(config,{name:"rte",hiddenName:"rte",displayField:"value",valueField:"value",fields:["value"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,url:MODx.config.connector_url,baseParams:{action:"System/Rte/GetList"}}),MODx.combo.RTE.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.RTE,MODx.combo.ComboBox),Ext.reg("modx-combo-rte",MODx.combo.RTE),MODx.combo.Role=function(config){config=config||{},Ext.applyIf(config,{name:"role",hiddenName:"role",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetList",addNone:!0}}),MODx.combo.Role.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Role,MODx.combo.ComboBox),Ext.reg("modx-combo-role",MODx.combo.Role),MODx.combo.ContentType=function(config){config=config||{},Ext.applyIf(config,{name:"content_type",hiddenName:"content_type",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/ContentType/GetList"}}),MODx.combo.ContentType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ContentType,MODx.combo.ComboBox),Ext.reg("modx-combo-content-type",MODx.combo.ContentType),MODx.combo.ContentDisposition=function(config){config=config||{},Ext.applyIf(config,{store:new Ext.data.SimpleStore({fields:["d","v"],data:[[_("inline"),0],[_("attachment"),1]]}),name:"content_dispo",hiddenName:"content_dispo",displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,pageSize:20,selectOnFocus:!1,preventRender:!0}),MODx.combo.ContentDisposition.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ContentDisposition,MODx.combo.ComboBox),Ext.reg("modx-combo-content-disposition",MODx.combo.ContentDisposition),MODx.combo.ClassDerivatives=function(config){config=config||{},Ext.applyIf(config,{name:"class",hiddenName:"class",url:MODx.config.connector_url,baseParams:{action:"System/Derivatives/GetList",class:"MODX\\Revolution\\modResource"},displayField:"name",valueField:"id",fields:["id","name"],forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20}),MODx.combo.ClassDerivatives.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ClassDerivatives,MODx.combo.ComboBox),Ext.reg("modx-combo-class-derivatives",MODx.combo.ClassDerivatives),MODx.combo.Namespace=function(config){config=config||{},Ext.applyIf(config,{name:"namespace",hiddenName:"namespace",typeAhead:!0,minChars:1,queryParam:"query",editable:!0,allowBlank:!0,preselectValue:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Workspace/PackageNamespace/GetList"},fields:["name"],displayField:"name",valueField:"name"}),MODx.combo.Namespace.superclass.constructor.call(this,config),!1!==config.preselectValue&&(this.store.on("load",this.preselectFirstValue,this,{single:!0}),this.store.load())},Ext.extend(MODx.combo.Namespace,MODx.combo.ComboBox,{preselectFirstValue:function(r){var item;if(""==this.config.preselectValue)item=r.getAt(0);else{var found=r.find("name",this.config.preselectValue);item=-1!=found?r.getAt(found):r.getAt(0)}item&&(this.setValue(item.data.name),this.fireEvent("select",this,item))}}),Ext.reg("modx-combo-namespace",MODx.combo.Namespace),MODx.combo.Browser=function(config){config=config||{},Ext.applyIf(config,{width:400,triggerAction:"all",triggerClass:"x-form-file-trigger",source:config.source||MODx.config.default_media_source}),MODx.combo.Browser.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.combo.Browser,Ext.form.TriggerField,{browser:null,onTriggerClick:function(btn){return!this.disabled&&(this.browser=MODx.load({xtype:"modx-browser",closeAction:"close",id:Ext.id(),multiple:!0,source:this.config.source||MODx.config.default_media_source,hideFiles:this.config.hideFiles||!1,rootVisible:this.config.rootVisible||!1,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web",openTo:this.config.openTo||"",rootId:this.config.rootId||"/",hideSourceCombo:this.config.hideSourceCombo||!1,listeners:{select:{fn:function(data){this.setValue(data.relativeUrl),this.fireEvent("select",data)},scope:this}}}),this.browser.show(btn),!0)},onDestroy:function(){MODx.combo.Browser.superclass.onDestroy.call(this)}}),Ext.reg("modx-combo-browser",MODx.combo.Browser),MODx.combo.Country=function(config){config=config||{},Ext.applyIf(config,{name:"country",hiddenName:"country",url:MODx.config.connector_url,baseParams:{action:"System/Country/GetList",combo:!0},displayField:"country",valueField:"iso",fields:["iso","country","value"],editable:!0,typeAhead:!0}),MODx.combo.Country.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Country,MODx.combo.ComboBox),Ext.reg("modx-combo-country",MODx.combo.Country),MODx.combo.Gender=function(config){config=config||{},Ext.applyIf(config,{store:new Ext.data.SimpleStore({fields:["d","v"],data:[["",0],[_("user_male"),1],[_("user_female"),2],[_("user_other"),3]]}),displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,selectOnFocus:!1}),MODx.combo.Gender.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Gender,Ext.form.ComboBox),Ext.reg("modx-combo-gender",MODx.combo.Gender),MODx.combo.PropertySet=function(config){config=config||{},Ext.applyIf(config,{name:"propertyset",hiddenName:"propertyset",url:MODx.config.connector_url,baseParams:{action:"Element/PropertySet/GetList"},displayField:"name",valueField:"id",fields:["id","name"],editable:!1,pageSize:20,width:300}),MODx.combo.PropertySet.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.PropertySet,MODx.combo.ComboBox),Ext.reg("modx-combo-property-set",MODx.combo.PropertySet),MODx.ChangeParentField=function(config){config=config||{},Ext.applyIf(config,{triggerAction:"all",editable:!1,readOnly:!1,formpanel:"modx-panel-resource",parentcmp:"modx-resource-parent-hidden",contextcmp:"modx-resource-context-key",currentid:MODx.request.id}),MODx.ChangeParentField.superclass.constructor.call(this,config),this.config=config,this.on("click",this.onTriggerClick,this),this.addEvents({end:!0}),this.on("end",this.end,this)},Ext.extend(MODx.ChangeParentField,Ext.form.TriggerField,{oldValue:!1,oldDisplayValue:!1,end:function(p){var t=Ext.getCmp("modx-resource-tree");t&&(p.d=p.d||p.v,t.removeListener("click",this.handleChangeParent,this),t.on("click",t._handleClick,t),t.disableHref=!1,MODx.debug("Setting parent to: "+p.v),Ext.getCmp(this.config.parentcmp).setValue(p.v),this.setValue(p.d),this.oldValue=!1,"modx-template-picker-parent-id"!==this.config.parentcmp&&Ext.getCmp(this.config.formpanel).fireEvent("fieldChange"))},onTriggerClick:function(){if(this.disabled)return!1;if(this.oldValue)return this.fireEvent("end",{v:this.oldValue,d:this.oldDisplayValue}),!1;if(MODx.debug("onTriggerClick"),!Ext.getCmp("modx-resource-tree")){MODx.debug("no tree found, trying to activate");var tp=Ext.getCmp("modx-leftbar-tabpanel");return tp?(tp.on("tabchange",(function(tbp,tab){"modx-resource-tree-ct"==tab.id&&this.disableTreeClick()}),this),tp.activate("modx-resource-tree-ct")):MODx.debug("no tabpanel"),!1}this.disableTreeClick()},disableTreeClick:function(){return MODx.debug("Disabling tree click"),t=Ext.getCmp("modx-resource-tree"),t?(this.oldDisplayValue=this.getValue(),this.oldValue=Ext.getCmp(this.config.parentcmp).getValue(),this.setValue(_("resource_parent_select_node")),t.expand(),t.removeListener("click",t._handleClick),t.on("click",this.handleChangeParent,this),t.disableHref=!0,!0):(MODx.debug("No tree found in disableTreeClick!"),!1)},handleChangeParent:function(node,e){var t=Ext.getCmp("modx-resource-tree");if(!t)return!1;t.disableHref=!0;var id=node.id.split("_");if((id=id[1])==this.config.currentid)return MODx.msg.alert("",_("resource_err_own_parent")),!1;var ctxf=Ext.getCmp(this.config.contextcmp);if(ctxf){var ctxv=ctxf.getValue();node.attributes&&node.attributes.ctx!=ctxv&&ctxf.setValue(node.attributes.ctx)}return this.fireEvent("end",{v:"modContext"!=node.attributes.type?id:node.attributes.pk,d:Ext.util.Format.stripTags(node.text)}),e.preventDefault(),e.stopEvent(),!0}}),Ext.reg("modx-field-parent-change",MODx.ChangeParentField),MODx.combo.TVWidget=function(config){config=config||{},Ext.applyIf(config,{name:"widget",hiddenName:"widget",displayField:"name",valueField:"value",fields:["value","name"],editable:!1,url:MODx.config.connector_url,baseParams:{action:"Element/TemplateVar/Renders/GetOutputs"},value:"default"}),MODx.combo.TVWidget.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TVWidget,MODx.combo.ComboBox),Ext.reg("modx-combo-tv-widget",MODx.combo.TVWidget),MODx.combo.TVInputType=function(config){config=config||{},Ext.applyIf(config,{name:"type",hiddenName:"type",displayField:"name",valueField:"value",editable:!1,fields:["value","name"],url:MODx.config.connector_url,baseParams:{action:"Element/TemplateVar/Renders/GetInputs"},value:"text"}),MODx.combo.TVInputType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TVInputType,MODx.combo.ComboBox),Ext.reg("modx-combo-tv-input-type",MODx.combo.TVInputType),MODx.combo.Dashboard=function(config){config=config||{},Ext.applyIf(config,{name:"dashboard",hiddenName:"dashboard",displayField:"name",valueField:"id",fields:["id","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"System/Dashboard/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.Dashboard.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Dashboard,MODx.combo.ComboBox),Ext.reg("modx-combo-dashboard",MODx.combo.Dashboard),MODx.combo.MediaSource=function(config){config=config||{},Ext.applyIf(config,{name:"source",hiddenName:"source",displayField:"name",valueField:"id",fields:["id","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Source/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.MediaSource.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.MediaSource,MODx.combo.ComboBox),Ext.reg("modx-combo-source",MODx.combo.MediaSource),MODx.combo.MediaSourceType=function(config){config=config||{},Ext.applyIf(config,{name:"class_key",hiddenName:"class_key",displayField:"name",valueField:"class",fields:["id","class","name","description"],pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Source/Type/GetList"},tpl:new Ext.XTemplate('','
    ','

    {name:htmlEncode}

    ','

    {description:htmlEncode}

    ',"
    ")}),MODx.combo.MediaSourceType.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.MediaSourceType,MODx.combo.ComboBox),Ext.reg("modx-combo-source-type",MODx.combo.MediaSourceType),MODx.combo.Authority=function(config){config=config||{},Ext.applyIf(config,{name:"authority",hiddenName:"authority",forceSelection:!0,typeAhead:!1,editable:!1,allowBlank:!1,pageSize:20,url:MODx.config.connector_url,baseParams:{action:"Security/Role/GetAuthorityList",addNone:!0}}),MODx.combo.Authority.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Authority,MODx.combo.ComboBox),Ext.reg("modx-combo-authority",MODx.combo.Authority),MODx.combo.ManagerTheme=function(config){config=config||{},Ext.applyIf(config,{name:"theme",hiddenName:"theme",displayField:"theme",valueField:"theme",fields:["theme"],url:MODx.config.connector_url,baseParams:{action:"Workspace/Theme/GetList"},typeAhead:!1,editable:!1}),MODx.combo.ManagerTheme.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.ManagerTheme,MODx.combo.ComboBox),Ext.reg("modx-combo-manager-theme",MODx.combo.ManagerTheme),MODx.combo.SettingKey=function(config){config=config||{},Ext.applyIf(config,{name:"key",hiddenName:"key",displayField:"key",valueField:"key",fields:["key"],url:MODx.config.connector_url,baseParams:{action:"System/Settings/GetList"},triggerAction:"all",editable:!0,forceSelection:!1,pageSize:20}),MODx.combo.SettingKey.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.SettingKey,MODx.combo.ComboBox),Ext.reg("modx-combo-setting-key",MODx.combo.SettingKey),MODx.combo.Visibility=function(config){config=config||{},Ext.applyIf(config,{name:"visibility",hiddenName:"visibility",store:new Ext.data.SimpleStore({fields:["d","v"],data:[[_("file_folder_visibility_public"),"public"],[_("file_folder_visibility_private"),"private"]]}),displayField:"d",valueField:"v",mode:"local",triggerAction:"all",editable:!1,selectOnFocus:!1,preventRender:!0,forceSelection:!0,enableKeyEvents:!0}),MODx.combo.Visibility.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Visibility,MODx.combo.ComboBox),Ext.reg("modx-combo-visibility",MODx.combo.Visibility),MODx.combo.Permission=function(config){config=config||{},Ext.applyIf(config,{name:"permission",hiddenName:"permission",displayField:"name",valueField:"name",fields:["name","description"],editable:!0,typeAhead:!1,forceSelection:!1,enableKeyEvents:!0,autoSelect:!1,pageSize:20,tpl:new Ext.XTemplate('
    {name:htmlEncode}','

    {description:htmlEncode}

    '),url:MODx.config.connector_url,baseParams:{action:"Security/Access/Permission/GetList"}}),MODx.combo.Permission.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.Permission,MODx.combo.ComboBox),Ext.reg("modx-combo-permission",MODx.combo.Permission),Ext.namespace("MODx.grid"),MODx.grid.Grid=function(config={}){if(this.config=config,this._loadStore(),this._loadColumnModel(),Ext.applyIf(config,{store:this.store,cm:this.cm,sm:new Ext.grid.RowSelectionModel({singleSelect:!0}),paging:!!config.bbar,loadMask:!0,autoHeight:!0,collapsible:!0,stripeRows:!0,header:!1,cls:"modx-grid",preventRender:!0,preventSaveRefresh:!0,showPerPage:!0,stateful:!1,showActionsColumn:!0,disableContextMenuAction:!1,menuConfig:{defaultAlign:"tl-b?",enableScrolling:!1},viewConfig:{forceFit:!0,enableRowBody:!0,autoFill:!0,showPreview:!0,scrollOffset:0,emptyText:config.emptyText||_("ext_emptymsg")},groupingConfig:{enableGroupingMenu:!0}}),config.paging){var pgItms=config.showPerPage?[_("per_page")+":",{xtype:"textfield",cls:"x-tbar-page-size",value:config.pageSize||parseInt(MODx.config.default_per_page)||20,listeners:{change:{fn:this.onChangePerPage,scope:this},render:{fn:function(cmp){new Ext.KeyMap(cmp.getEl(),{key:Ext.EventObject.ENTER,fn:this.blur,scope:cmp})},scope:this}}}]:[];if(config.pagingItems)for(var i=0;i 1 ? "'+(config.pluralText||_("records"))+'" : "'+(config.singleText||_("record"))+'"]})'};Ext.applyIf(config.groupingConfig,groupingConfig),Ext.applyIf(config,{view:new Ext.grid.GroupingView(config.groupingConfig)})}if(config.tbar)for(var ix=0;ix1)return!1;return!0};config.columns&&Array.isArray(config.columns)&&(void 0===config.actionsColumnWidth&&isPercentage(config.columns)&&(defaultActionsColumnWidth=.1),config.columns.push({id:"modx-actions",width:config.actionsColumnWidth||defaultActionsColumnWidth,menuDisabled:!0,renderer:this.actionsColumnRenderer.bind(this)})),config.cm&&config.cm.columns&&Array.isArray(config.cm.columns)&&(void 0===config.actionsColumnWidth&&isPercentage(config.cm.columns)&&(defaultActionsColumnWidth=.1),config.cm.columns.push({id:"modx-actions",width:config.actionsColumnWidth||defaultActionsColumnWidth,menuDisabled:!0,renderer:this.actionsColumnRenderer.bind(this)}))}MODx.grid.Grid.superclass.constructor.call(this,config),this._loadMenu(config),this.addEvents("beforeRemoveRow","afterRemoveRow","afterAutoSave"),this.autosave&&this.on("afterAutoSave",this.onAfterAutoSave,this),config.preventRender||this.render(),this.on({render:{fn:function(){const topToolbar=this.getTopToolbar();topToolbar&&topToolbar.initialConfig.cls&&"has-nested-filters"==topToolbar.initialConfig.cls&&(this.hasNestedFilters=!0)},scope:this},rowcontextmenu:{fn:this._showMenu,scope:this}}),config.autosave&&this.on("afteredit",this.saveRecord,this),config.paging&&config.grouping&&this.getBottomToolbar().bind(this.store),config.paging||config.hasOwnProperty("pageSize")||(config.pageSize=0),this.getStore().load({params:{start:config.pageStart||0,limit:config.hasOwnProperty("pageSize")?config.pageSize:parseInt(MODx.config.default_per_page)||20}}),this.getStore().on("exception",this.onStoreException,this),this.config=config,this.on("click",this.onClickHandler,this)},Ext.extend(MODx.grid.Grid,Ext.grid.EditorGridPanel,{windows:{},onStoreException:function(dataProxy,type,action,options,response){const responseStatusCode=response.status||"Unknown",responseStatusText=Ext.isEmpty(response.statusText)?"":`(${response.statusText})`;let output="",msg="";if(Ext.isEmpty(response.responseText))output=200!==responseStatusCode?`
    ${responseStatusCode} ${responseStatusText}
    `:"";else try{const responseText=Ext.decode(response.responseText);responseText&&responseText.message&&(output=responseText.message)}catch(e){output=response.responseText}output?MODx.config.debug>0?(output=MODx.util.safeHtml(output,"
    ","class,colspan,rowspan"),msg=_("error_grid_get_content_toscreen",{message:`
    ${output}
    `})):(msg=_("error_grid_get_content_tolog"),output=Ext.util.Format.stripTags(output).replaceAll(">",">").replaceAll("<","<"),console.error(output)):msg=_("error_grid_get_content_no_msg"),this.getView().emptyText=`
    ${msg}
    `,this.getView().refresh(!1)},saveRecord:function(e){e.record.data.menu=null;var p=this.config.saveParams||{};Ext.apply(e.record.data,p);var d=Ext.util.JSON.encode(e.record.data),url=this.config.saveUrl||this.config.url||this.config.connector;MODx.Ajax.request({url,params:{action:this.config.save_action||"updateFromGrid",data:d},listeners:{success:{fn:function(r){if(this.config.save_callback&&Ext.callback(this.config.save_callback,this.config.scope||this,[r]),e.record.commit(),!this.config.preventSaveRefresh){new Ext.util.DelayedTask((()=>this.refresh())).delay(200)}this.fireEvent("afterAutoSave",r)},scope:this},failure:{fn:function(r){e.record.reject(),this.fireEvent("afterAutoSave",r)},scope:this}}})},onAfterAutoSave:function(response){if(!response.success&&""===response.message){var msg="";response.data.length&&Ext.each(response.data,(function(data,index,list){msg+=(""!=msg?"
    ":"")+data.msg}),this),Ext.isEmpty(msg)&&(msg=this.autosaveErrorMsg||_("error")),MODx.msg.alert(_("error"),msg)}},onChangePerPage:function(tf,nv){if(Ext.isEmpty(nv))return!1;nv=parseInt(nv),this.getBottomToolbar().pageSize=nv,this.store.load({params:{start:0,limit:nv}})},loadWindow:function(btn,e,win,or){var r=this.menu.record;this.windows[win.xtype]&&!win.force||(Ext.applyIf(win,{record:win.blankValues?{}:r,grid:this,listeners:{success:{fn:win.success||this.refresh,scope:win.scope||this}}}),or&&Ext.apply(win,or),this.windows[win.xtype]=Ext.ComponentMgr.create(win)),this.windows[win.xtype].setValues&&!0!==win.blankValues&&null!=r&&this.windows[win.xtype].setValues(r),this.windows[win.xtype].show(e.target)},confirm:function(type,text){var p={action:type},k=this.config.primaryKey||"id";p[k]=this.menu.record[k],MODx.msg.confirm({title:_(type),text:_(text)||_("confirm_remove"),url:this.config.url,params:p,listeners:{success:{fn:this.refresh,scope:this}}})},remove:function(text,action){if(this.destroying)return MODx.grid.Grid.superclass.remove.apply(this,arguments);var r=this.menu.record;text=text||"confirm_remove";var p=this.config.saveParams||{};Ext.apply(p,{action:action||"remove"});var k=this.config.primaryKey||"id";p[k]=r[k],this.fireEvent("beforeRemoveRow",r)&&MODx.msg.confirm({title:_("warning"),text:_(text,r),url:this.config.url,params:p,listeners:{success:{fn:function(){this.removeActiveRow(r)},scope:this}}})},removeActiveRow:function(r){if(this.fireEvent("afterRemoveRow",r)){var rx=this.getSelectionModel().getSelected();this.getStore().remove(rx)}},_loadMenu:function(){this.menu=new Ext.menu.Menu(this.config.menuConfig)},_showMenu:function(g,ri,e){if(e.stopEvent(),e.preventDefault(),this.menu.record=this.getStore().getAt(ri).data,this.getSelectionModel().isSelected(ri)||this.getSelectionModel().selectRow(ri),this.menu.removeAll(),this.getMenu){var m=this.getMenu(g,ri,e);m&&m.length&&m.length>0&&this.addContextMenuItem(m)}(!m||m.length<=0)&&this.menu.record.menu&&this.addContextMenuItem(this.menu.record.menu),this.menu.items.length>0&&this.menu.showAt(e.xy)},_loadStore:function(){this.config.grouping?this.store=new Ext.data.GroupingStore({url:this.config.url,baseParams:this.config.baseParams||{action:this.config.action||"getList"},reader:new Ext.data.JsonReader({totalProperty:"total",root:"results",fields:this.config.fields}),sortInfo:{field:this.config.sortBy||"id",direction:this.config.sortDir||"ASC"},remoteSort:this.config.remoteSort||!1,remoteGroup:this.config.remoteGroup||!1,groupField:this.config.groupBy||"name",groupDir:this.config.groupDir||"ASC",storeId:this.config.storeId||Ext.id(),autoDestroy:!0,listeners:{beforeload:function(store,options){store.groupField===store.sortInfo.field&&store.groupDir!==store.sortInfo.direction&&(store.groupDir=store.sortInfo.direction,store.baseParams.groupDir=store.sortInfo.direction)},load:function(store,records,options){const cmp=Ext.getCmp("modx-content");cmp&&cmp.doLayout()},groupchange:{fn:function(store,groupField){store.groupDir=this.config.groupDir||"ASC",store.baseParams.groupDir=store.groupDir,store.sortInfo.direction=this.config.sortDir||"ASC",store.load()},scope:this}}}):this.store=new Ext.data.JsonStore({url:this.config.url,baseParams:this.config.baseParams||{action:this.config.action||"getList"},fields:this.config.fields,root:"results",totalProperty:"total",remoteSort:this.config.remoteSort||!1,storeId:this.config.storeId||Ext.id(),autoDestroy:!0,listeners:{load:function(){const cmp=Ext.getCmp("modx-content");cmp&&cmp.doLayout()}}})},_loadColumnModel:function(){if(this.config.columns){for(var c=this.config.columns,i=0;i
    ',{compiled:!0})},actionsColumnRenderer:function(value,metaData,record,rowIndex,colIndex,store){var actions=this.getActions.apply(this,[record,rowIndex,colIndex,store]);return!0!==this.config.disableContextMenuAction&&actions.push({text:_("context_menu"),action:"contextMenu",icon:"gear"}),this._getActionsColumnTpl().apply({actions})},renderLink:function(v,attr){var el=new Ext.Element(document.createElement("a"));for(var i in el.addClass("x-grid-link"),el.dom.title=_("edit"),attr)el.dom[i]=attr[i];return el.dom.innerHTML=Ext.util.Format.htmlEncode(v),el.dom.outerHTML},checkEditable:function(e){this.checkCellIsEditable(e)},checkCellIsEditable:function(e){if(-1===(e.record.data.perm||"").indexOf("edit"))return!1;switch(e.grid.xtype){case"modx-grid-role":{const isAuthorityField="authority"===e.field;if(e.record.json.isAssigned&&isAuthorityField)return!1;break}}return!0},setEditableCellClasses:function(record,lockConditions=[],lockedClasses="locked",conditionsRequireAll=!0){const permissions=record.data.perm.trim(),hasEditPermission=permissions.split(" ").includes("edit");let classes="",shouldLock=!1;return lockConditions.length>0&&(shouldLock=conditionsRequireAll?lockConditions.every((condition=>!0===Boolean(condition))):lockConditions.some((condition=>!0===Boolean(condition)))),Ext.isEmpty(permissions)?classes="editor-disabled":hasEditPermission&&shouldLock&&(classes=lockedClasses),classes},getLinkTemplate:function(controllerPath,displayValueIndex,options={}){Ext.applyIf(options,{linkParams:[],linkClass:"x-grid-link",linkTitle:_("edit"),linkTarget:"_blank"});let params="";return controllerPath=0===controllerPath.indexOf("?a=")?controllerPath:`?a=${controllerPath}`,options.linkParams.length>0&&(params=[],options.linkParams.forEach((param=>{params.push(`${param.key}={${param.valueIndex}}`)})),params=`&${params.join("&")}`),new Ext.Template(`{${displayValueIndex}:htmlEncode}`,{compiled:!0})},getActions:function(record,rowIndex,colIndex,store){return[]},onClickHandler:function(e){var target=e.getTarget();if(target.classList.contains("x-grid-action")&&target.dataset.action){var actionHandler="action"+target.dataset.action.charAt(0).toUpperCase()+target.dataset.action.slice(1);if(this[actionHandler]&&"function"==typeof this[actionHandler]||this[actionHandler=target.dataset.action]&&"function"==typeof this[actionHandler]){var record=this.getSelectionModel().getSelected(),recordIndex=this.store.indexOf(record);this.menu.record=record.data,this[actionHandler](record,recordIndex,e)}}},actionContextMenu:function(record,recordIndex,e){this._showMenu(this,recordIndex,e)},makeUrl:function(){if(Array.isArray(this.config.urlFilters)&&this.config.urlFilters.length>0){var s=this.getStore(),p={a:MODx.request.a};MODx.request.id&&(p.id=MODx.request.id),MODx.request.key&&(p.key=MODx.request.key);for(var i=0;i0&&window.history.replaceState(this.getStore().baseParams,document.title,this.makeUrl())},findTabPanel:function(referenceCmp){if(!referenceCmp.hasOwnProperty("ownerCt"))return console.error("MODx.grid.Grid::findTabPanel: This component must have an ownerCt to find its tab panel."),!1;const container=referenceCmp.ownerCt;return container.hasOwnProperty("xtype")&&container.xtype.includes("tabs")?container:this.findTabPanel(container)},hasNestedFilters:!1,currentLanguage:MODx.config.cultureKey||"en",applyRequestFilter:function(tabPanelIndex,requestKey="policy",tabPanelType="vtab",setEmptyToString=!1){const emptyVal=setEmptyToString?"":null;return Object.prototype.hasOwnProperty.call(MODx.request,tabPanelType)&&parseInt(MODx.request[tabPanelType],10)===tabPanelIndex&&Object.prototype.hasOwnProperty.call(MODx.request,requestKey)?MODx.util.url.getParamValue(requestKey):emptyVal},applyGridFilter:function(cmp,param="query"){const filterValue=cmp.getValue(),store=this.getStore(),urlParams={},tabPanel=this.findTabPanel(this),bottomToolbar=this.getBottomToolbar();let parentTabItems,activeParentTabIdx,hasParentTabPanel=!1;if(Ext.isEmpty(filterValue)?MODx.request[param]?urlParams[param]=MODx.request[param]:MODx.util.url.clearParam(cmp):urlParams[param]=filterValue,"ns"==param?store.baseParams.namespace=filterValue:store.baseParams[param]=filterValue,tabPanel){if("modx-vtabs"==tabPanel.xtype){const parentTabPanel=this.findTabPanel(tabPanel);if(parentTabPanel){const activeParentTab=parentTabPanel.getActiveTab();hasParentTabPanel=!0,parentTabItems=parentTabPanel.items,activeParentTabIdx=parentTabItems.indexOf(activeParentTab)}}const activeTab=tabPanel.getActiveTab(),tabItems=tabPanel.items,activeTabIdx=tabItems.indexOf(activeTab);hasParentTabPanel?(tabItems.length>1&&(urlParams.vtab=activeTabIdx),parentTabItems.length>1&&(urlParams.tab=activeParentTabIdx)):tabItems.length>1&&(urlParams.tab=activeTabIdx)}store.load(),MODx.util.url.setParams(urlParams),bottomToolbar&&bottomToolbar.changePage(1)},clearGridFilters:function(items){const store=this.getStore(),bottomToolbar=this.getBottomToolbar();(Array.isArray(items)?items:items.split(",")).forEach((item=>{const itemData=item.replace(/\s+/g,"").split(":"),itemId=itemData[0],itemDefaultVal=2==itemData.length?itemData[1]:null,cmp=this.getFilterComponent(itemId),param=MODx.util.url.getParamNameFromCmp(cmp),isCombo=cmp?.xtype?.includes("combo");if(isCombo?""===itemDefaultVal?cmp.setValue(null):cmp.setValue(itemDefaultVal):cmp.setValue(""),!Ext.isEmpty(itemDefaultVal)){Object.keys(cmp.baseParams).forEach((param=>{switch(param){case"namespace":cmp.baseParams[param]="core";break;case"topic":cmp.baseParams[param]="default"}}))}isCombo&&"local"!==cmp.mode&&cmp.getStore().load(),store.baseParams[param]=itemDefaultVal})),store.load(),MODx.util.url.clearAllParams(),bottomToolbar&&bottomToolbar.changePage(1)},hasNestedFilters:!1,getFilterComponent:function(filterId){const topToolbar=this.getTopToolbar(),cmp=this.hasNestedFilters&&"filter-query"!==filterId?topToolbar.find("itemId",`${filterId}-container`)[0].getComponent(filterId):topToolbar.getComponent(filterId);if(void 0!==cmp)return cmp;console.error(`getFilterComponent: The filter component with itemId '${filterId}' could not be retrieved.`)},refreshFilterOptions:function(filterData=[],clearDependentParams=!0){filterData.length>0&&(filterData.forEach((data=>{const filter=this.getFilterComponent(data.filterId);if(filter){const store=filter.getStore();if(filter.setValue(""),store){if(data.hasOwnProperty("dependentParams")){(Array.isArray(data.dependentParams)?data.dependentParams:data.dependentParams.split(",")).forEach((param=>{clearDependentParams&&store.baseParams.hasOwnProperty(param)&&(store.baseParams[param]="")}))}store.load()}}})),this.refresh())},updateDependentFilter:function(filterId,paramKey,paramValue,clearValue=!1){const filter=this.getFilterComponent(filterId),filterStore=filter?filter.getStore():null;filterStore&&"string"==typeof paramKey&&(clearValue&&filter.setValue(""),filterStore.baseParams[paramKey]=paramValue,filterStore.load())},getQueryFilterField:function(filterSpec="filter-query",implementation="default"){let queryValue="";const filterSpecs=filterSpec.split(":"),filterId=filterSpecs[0].trim();return queryValue=2===filterSpecs.length?filterSpecs[1]:MODx.request.query?MODx.util.url.decodeParamValue(MODx.request.query):"",{xtype:"textfield",itemId:filterId,emptyText:_("search"),value:queryValue,cls:"filter-query",listeners:{change:{fn:function(cmp,newValue,oldValue){this.applyGridFilter(cmp);const usergroupTree=Ext.getCmp("modx-tree-usergroup");if("user-group-users"===implementation&&usergroupTree){const selectedNode=usergroupTree.getSelectionModel().getSelectedNode(),groupId=MODx.util.tree.getGroupIdFromNode(selectedNode);MODx.util.url.setParams({group:groupId})}},scope:this},afterrender:{fn:function(cmp){MODx.request.query&&this.applyGridFilter(cmp)},scope:this},render:{fn:function(cmp){new Ext.KeyMap(cmp.getEl(),{key:Ext.EventObject.ENTER,fn:this.blur,scope:cmp})},scope:this}}}},getClearFiltersButton:function(filters="filter-query",dependentFilterResets=null){if(Ext.isEmpty(filters))return console.error("MODx.grid.Grid::getClearFiltersButton: There was a problem creating the Clear Filter button because the supplied filters list is invalid."),{};const config={text:_("filter_clear"),itemId:"filter-clear",listeners:{click:{fn:function(cmp){if(cmp.dependentResets){cmp.dependentResets.split(",").forEach((reset=>{const[filterId,filterDataIndex]=reset.split(":").map((item=>item.trim()));this.updateDependentFilter(filterId,filterDataIndex,"",!0)}))}this.clearGridFilters(filters)},scope:this},mouseout:{fn:function(evt){this.removeClass("x-btn-focus")}}}};return dependentFilterResets&&(config.dependentResets=dependentFilterResets),config}}),MODx.grid.LocalGrid=function(config){if((config=config||{}).grouping&&Ext.applyIf(config,{view:new Ext.grid.GroupingView({forceFit:!0,scrollOffset:0,hideGroupedColumn:!!config.hideGroupedColumn,groupTextTpl:config.groupTextTpl||'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "'+(config.pluralText||_("records"))+'" : "'+(config.singleText||_("record"))+'"]})'})}),config.tbar)for(var i=0;i
    ',{compiled:!0})},actionsColumnRenderer:function(value,metaData,record,rowIndex,colIndex,store){var actions=this.getActions.apply(this,arguments);return!0!==this.config.disableContextMenuAction&&actions.push({text:_("context_menu"),action:"contextMenu",icon:"gear"}),this._getActionsColumnTpl().apply({actions})},renderLink:function(v,attr){var el=new Ext.Element(document.createElement("a"));for(var i in el.addClass("x-grid-link"),el.dom.title=_("edit"),attr)el.dom[i]=attr[i];return el.dom.innerHTML=Ext.util.Format.htmlEncode(v),el.dom.outerHTML},getActions:function(value,metaData,record,rowIndex,colIndex,store){return[]},onClick:function(e){var target=e.getTarget();if(target.classList.contains("x-grid-action")&&target.dataset.action){var actionHandler="action"+target.dataset.action.charAt(0).toUpperCase()+target.dataset.action.slice(1);if(this[actionHandler]&&"function"==typeof this[actionHandler]||this[actionHandler=target.dataset.action]&&"function"==typeof this[actionHandler]){var record=this.getSelectionModel().getSelected(),recordIndex=this.store.indexOf(record);this.menu.record=record.data,this[actionHandler](record,recordIndex,e)}}},actionContextMenu:function(record,recordIndex,e){this._showMenu(this,recordIndex,e)}}),Ext.reg("grid-local",MODx.grid.LocalGrid),Ext.reg("modx-grid-local",MODx.grid.LocalGrid), /*! * Ext JS Library 3.4.0 * Copyright(c) 2006-2011 Sencha Inc. @@ -47,4 +47,4 @@ Ext.ns("Ext.ux.grid"),Ext.ux.grid.RowExpander=Ext.extend(Ext.util.Observable,{ex /*! FileAPI 2.0.25 - BSD | git://github.com/mailru/FileAPI.git * FileAPI — a set of javascript tools for working with files. Multiupload, drag'n'drop and chunked file upload. Images: crop, resize and auto orientation by EXIF. */ -function(window){"use strict";var CanvasPrototype=window.HTMLCanvasElement&&window.HTMLCanvasElement.prototype,hasBlobConstructor=window.Blob&&function(){try{return Boolean(new Blob)}catch(e){return!1}}(),hasArrayBufferViewSupport=hasBlobConstructor&&window.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(e){return!1}}(),BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,dataURLtoBlob=(hasBlobConstructor||BlobBuilder)&&window.atob&&window.ArrayBuffer&&window.Uint8Array&&function(dataURI){var byteString,arrayBuffer,intArray,i,mimeString,bb;for(byteString=dataURI.split(",")[0].indexOf("base64")>=0?atob(dataURI.split(",")[1]):decodeURIComponent(dataURI.split(",")[1]),arrayBuffer=new ArrayBuffer(byteString.length),intArray=new Uint8Array(arrayBuffer),i=0;i0,dataURLtoBlob=window.dataURLtoBlob,_rimg=/img/i,_rcanvas=/canvas/i,_rimgcanvas=/img|canvas/i,_rinput=/input/i,_rdata=/^data:[^,]+,/,_toString={}.toString,Math=window.Math,_SIZE_CONST=function(pow){return(pow=new window.Number(Math.pow(1024,pow))).from=function(sz){return Math.round(sz*this)},pow},_elEvents={},_infoReader=[],_readerEvents="abort progress error load loadend",_xhrPropsExport="status statusText readyState response responseXML responseText responseBody".split(" "),_isArray=function(ar){return ar&&"length"in ar},_each=function(obj,fn,ctx){if(obj)if(_isArray(obj))for(var i=0,n=obj.length;i=_length&&!_fail&&queue.end()},isFail:function(){return _fail},fail:function(){!_fail&&fn(_fail=!0)},end:function(){_end||(_end=!0,fn())}};return queue},each:_each,afor:function(array,callback){var i=0,n=array.length;_isArray(array)&&n--?function _next(){callback(n!=i&&_next,array[i],i++)}():callback(!1)},extend:_extend,isFile:function(file){return"[object File]"===_toString.call(file)},isBlob:function(blob){return this.isFile(blob)||"[object Blob]"===_toString.call(blob)},isCanvas:function(el){return el&&_rcanvas.test(el.nodeName)},getFilesFilter:function(filter){return(filter="string"==typeof filter?filter:filter.getAttribute&&filter.getAttribute("accept")||"")?new RegExp("("+filter.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(file,fn){api.isCanvas(file)?_emit(file,fn,"load",api.toDataURL(file)):_readAs(file,fn,"DataURL")},readAsBinaryString:function(file,fn){_hasSupportReadAs("BinaryString")?_readAs(file,fn,"BinaryString"):_readAs(file,(function(evt){if("load"==evt.type)try{evt.result=api.toBinaryString(evt.result)}catch(e){evt.type="error",evt.message=e.toString()}fn(evt)}),"DataURL")},readAsArrayBuffer:function(file,fn){_readAs(file,fn,"ArrayBuffer")},readAsText:function(file,encoding,fn){fn||(fn=encoding,encoding="utf-8"),_readAs(file,fn,"Text",encoding)},toDataURL:function(el,type){return"string"==typeof el?el:el.toDataURL?el.toDataURL(type||"image/png"):void 0},toBinaryString:function(val){return window.atob(api.toDataURL(val).replace(_rdata,""))},readAsImage:function(file,fn,progress){if(api.isBlob(file))if(apiURL){var data=apiURL.createObjectURL(file);undefined===data?_emit(file,fn,"error"):api.readAsImage(data,fn,progress)}else api.readAsDataURL(file,(function(evt){"load"==evt.type?api.readAsImage(evt.result,fn,progress):(progress||"error"==evt.type)&&_emit(file,fn,evt,null,{loaded:evt.loaded,total:evt.total})}));else if(api.isCanvas(file))_emit(file,fn,"load",file);else if(_rimg.test(file.nodeName))if(file.complete)_emit(file,fn,"load",file);else{_one(file,"error abort load",(function _fn(evt){"load"==evt.type&&apiURL&&apiURL.revokeObjectURL(file.src),_off(file,"error abort load",_fn),_emit(file,fn,evt,file)}))}else if(file.iframe)_emit(file,fn,{type:"error"});else{var img=api.newImage(file.dataURL||file);api.readAsImage(img,fn,progress)}},checkFileObj:function(name){var file={},accept=api.accept;return"object"==typeof name?file=name:file.name=(name+"").split(/\\|\//g).pop(),null==file.type&&(file.type=file.name.split(".").pop()),_each(accept,(function(ext,type){((ext=new RegExp(ext.replace(/\s/g,"|"),"i")).test(file.type)||api.ext2mime[file.type])&&(file.type=api.ext2mime[file.type]||type.split("/")[0]+"/"+file.type)})),file},getDropFiles:function(evt,callback){var items,files=[],all=[],dataTransfer=_getDataTransfer(evt),transFiles=dataTransfer.files,transItems=dataTransfer.items,entrySupport=_isArray(transItems)&&transItems[0]&&_getAsEntry(transItems[0]),queue=api.queue((function(){callback(files,all)}));if(entrySupport)if(normalize&&transFiles){var file,entry,i=transFiles.length;for(items=new Array(i);i--;){file=transFiles[i];try{entry=_getAsEntry(transItems[i])}catch(err){api.log("[err] getDropFiles: ",err),entry=null}_isEntry(entry)&&(entry.isDirectory||entry.isFile&&file.name==file.name.normalize("NFC"))?items[i]=entry:items[i]=file}}else items=transItems;else items=transFiles;_each(items||[],(function(item){queue.inc();try{entrySupport&&_isEntry(item)?_readEntryAsFiles(item,(function(err,entryFiles,allEntries){err?api.log("[err] getDropFiles:",err):files.push.apply(files,entryFiles),all.push.apply(all,allEntries),queue.next()})):function(file,callback){if(!file.type&&(safari||file.size%4096==0&&file.size<=102400))if(FileReader)try{var reader=new FileReader;_one(reader,_readerEvents,(function(evt){var isFile="error"!=evt.type;isFile?(null!=reader.readyState&&reader.readyState!==reader.LOADING||reader.abort(),callback(isFile)):callback(!1,reader.error)})),reader.readAsDataURL(file)}catch(err){callback(!1,err)}else callback(null,new Error("FileReader is not supported"));else callback(!0)}(item,(function(yes,err){yes?files.push(item):item.error=err,all.push(item),queue.next()}))}catch(err){queue.next(),api.log("[err] getDropFiles: ",err)}})),queue.check()},getFiles:function(input,filter,callback){var files=[];return callback?(api.filterFiles(api.getFiles(input),filter,callback),null):(input.jquery&&(input.each((function(){files=files.concat(api.getFiles(this))})),input=files,files=[]),"string"==typeof filter&&(filter=api.getFilesFilter(filter)),input.originalEvent?input=_fixEvent(input.originalEvent):input.srcElement&&(input=_fixEvent(input)),input.dataTransfer?input=input.dataTransfer:input.target&&(input=input.target),input.files?(files=input.files,html5||(files[0].blob=input,files[0].iframe=!0)):!html5&&isInputFile(input)?api.trim(input.value)&&((files=[api.checkFileObj(input.value)])[0].blob=input,files[0].iframe=!0):_isArray(input)&&(files=input),api.filter(files,(function(file){return!filter||filter.test(file.name)})))},getTotalSize:function(files){for(var size=0,i=files&&files.length;i--;)size+=files[i].size;return size},getInfo:function(file,fn){var info={},readers=_infoReader.concat();api.isBlob(file)?function _next(){var reader=readers.shift();reader?reader.test(file.type)?reader(file,(function(err,res){err?fn(err):(_extend(info,res),_next())})):_next():fn(!1,info)}():fn("not_support_info",info)},addInfoReader:function(mime,fn){fn.test=function(type){return mime.test(type)},_infoReader.push(fn)},filter:function(input,fn){for(var val,result=[],i=0,n=input.length;i>2,enc2=(3&byte1)<<4|byte2>>4;isNaN(byte2)?enc3=enc4=64:(enc3=(15&byte2)<<2|byte3>>6,enc4=isNaN(byte3)?64:63&byte3),outStr+=b64.charAt(enc1)+b64.charAt(enc2)+b64.charAt(enc3)+b64.charAt(enc4)}return outStr}};function _emit(target,fn,name,res,ext){var evt={type:name.type||name,target,result:res};_extend(evt,ext),fn(evt)}function _hasSupportReadAs(method){return FileReader&&!!FileReader.prototype["readAs"+method]}function _readAs(file,fn,method,encoding){if(api.isBlob(file)&&_hasSupportReadAs(method)){var Reader=new FileReader;_on(Reader,_readerEvents,(function _fn(evt){var type=evt.type;"progress"==type?_emit(file,fn,evt,evt.target.result,{loaded:evt.loaded,total:evt.total}):"loadend"==type?(_off(Reader,_readerEvents,_fn),Reader=null):_emit(file,fn,evt,evt.target.result)}));try{encoding?Reader["readAs"+method](file,encoding):Reader["readAs"+method](file)}catch(err){_emit(file,fn,"error",undefined,{error:err.toString()})}}else _emit(file,fn,"error",undefined,{error:"filreader_not_support_"+method})}function _isEntry(item){return item&&(item.isFile||item.isDirectory)}function _getAsEntry(item){var entry;return item.getAsEntry?entry=item.getAsEntry():item.webkitGetAsEntry&&(entry=item.webkitGetAsEntry()),entry}function _readEntryAsFiles(entry,callback){if(entry)if(entry.isFile)entry.file((function(file){file.fullPath=entry.fullPath,callback(!1,[file],[file])}),(function(err){entry.error=err,callback("FileError.code: "+err.code,[],[entry])}));else if(entry.isDirectory){var reader=entry.createReader(),firstAttempt=!0,files=[],all=[entry],onerror=function(err){entry.error=err,callback("DirectoryError.code: "+err.code,files,all)};reader.readEntries((function ondone(entries){firstAttempt&&(firstAttempt=!1,entries.length||(entry.error=new Error("directory is empty"))),entries.length?api.afor(entries,(function(next,entry){_readEntryAsFiles(entry,(function(err,entryFiles,allEntries){err||(files=files.concat(entryFiles)),all=all.concat(allEntries),next?next():reader.readEntries(ondone,onerror)}))})):callback(!1,files,all)}),onerror)}else _readEntryAsFiles(_getAsEntry(entry),callback);else{var err=new Error("invalid entry");(entry=new Object(entry)).error=err,callback(err.message,[],[entry])}}function isInputFile(el){return _rinput.test(el&&el.tagName)}function _getDataTransfer(evt){return(evt.originalEvent||evt||"").dataTransfer||{}}api.addInfoReader(/^image/,(function(file,callback){if(!file.__dimensions){var defer=file.__dimensions=api.defer();api.readAsImage(file,(function(evt){var img=evt.target;defer.resolve("load"!=evt.type&&"error",{width:img.width,height:img.height}),img.src=api.EMPTY_PNG,img=null}))}file.__dimensions.then(callback)})),api.event.dnd=function(el,onHover,onDrop){var _id,_type;onDrop||(onDrop=onHover,onHover=api.F),FileReader?(_on(el,"dragenter dragleave dragover",onHover.ff=onHover.ff||function(evt){for(var types=_getDataTransfer(evt).types,i=types&&types.length,debounceTrigger=!1;i--;)if(~types[i].indexOf("File")){evt.preventDefault(),_type!==evt.type&&("dragleave"!=(_type=evt.type)&&onHover.call(evt.currentTarget,!0,evt),debounceTrigger=!0);break}debounceTrigger&&(clearTimeout(_id),_id=setTimeout((function(){onHover.call(evt.currentTarget,"dragleave"!=_type,evt)}),50))}),_on(el,"drop",onDrop.ff=onDrop.ff||function(evt){evt.preventDefault(),_type=0,api.getDropFiles(evt,(function(files,all){onDrop.call(evt.currentTarget,files,all,evt)})),onHover.call(evt.currentTarget,!1,evt)})):api.log("Drag'n'Drop -- not supported")},api.event.dnd.off=function(el,onHover,onDrop){_off(el,"dragenter dragleave dragover",onHover.ff),_off(el,"drop",onDrop.ff)},jQuery&&!jQuery.fn.dnd&&(jQuery.fn.dnd=function(onHover,onDrop){return this.each((function(){api.event.dnd(this,onHover,onDrop)}))},jQuery.fn.offdnd=function(onHover,onDrop){return this.each((function(){api.event.dnd.off(this,onHover,onDrop)}))}),window.FileAPI=_extend(api,window.FileAPI),api.log("FileAPI: "+api.version),api.log("protocol: "+window.location.protocol),api.log("doctype: ["+doctype.name+"] "+doctype.publicId+" "+doctype.systemId),_each(document.getElementsByTagName("meta"),(function(meta){/x-ua-compatible/i.test(meta.getAttribute("http-equiv"))&&api.log("meta.http-equiv: "+meta.getAttribute("content"))}));try{_supportConsoleLog=!!console.log,_supportConsoleLogApply=!!console.log.apply}catch(err){}api.flashUrl||(api.flashUrl=api.staticPath+"FileAPI.flash.swf"),api.flashImageUrl||(api.flashImageUrl=api.staticPath+"FileAPI.flash.image.swf"),api.flashWebcamUrl||(api.flashWebcamUrl=api.staticPath+"FileAPI.flash.camera.swf")}(window),function(api,document,undef){"use strict";var min=Math.min,round=Math.round,getCanvas=function(){return document.createElement("canvas")},support=!1,exifOrientation={8:270,3:180,6:90,7:270,4:180,5:90};try{support=getCanvas().toDataURL("image/png").indexOf("data:image/png")>-1}catch(e){}function Image(file){if(file instanceof Image){var img=new Image(file.file);return api.extend(img.matrix,file.matrix),img}if(!(this instanceof Image))return new Image(file);this.file=file,this.size=file.size||100,this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0,quality:1,filter:0}}Image.prototype={image:!0,constructor:Image,set:function(attrs){return api.extend(this.matrix,attrs),this},crop:function(x,y,w,h){return undefined===w&&(w=x,h=y,x=y=0),this.set({sx:x,sy:y,sw:w,sh:h||w})},resize:function(w,h,strategy){return/min|max|height|width/.test(h)&&(strategy=h,h=w),this.set({dw:w,dh:h||w,resize:strategy})},preview:function(w,h){return this.resize(w,h||w,"preview")},rotate:function(deg){return this.set({deg})},filter:function(filter){return this.set({filter})},overlay:function(images){return this.set({overlay:images})},clone:function(){return new Image(this)},_load:function(image,fn){var self=this;/img|video/i.test(image.nodeName)?fn.call(self,null,image):api.readAsImage(image,(function(evt){fn.call(self,"load"!=evt.type,evt.result)}))},_apply:function(image,fn){var copy,canvas=getCanvas(),m=this.getMatrix(image),ctx=canvas.getContext("2d"),width=image.videoWidth||image.width,height=image.videoHeight||image.height,deg=m.deg,dw=m.dw,dh=m.dh,w=width,h=height,filter=m.filter,buffer=image,overlay=m.overlay,queue=api.queue((function(){image.src=api.EMPTY_PNG,fn(!1,canvas)})),renderImageToCanvas=api.renderImageToCanvas;for(deg-=360*Math.floor(deg/360),image._type=this.file.type;m.multipass&&min(w/dw,h/dh)>2;)w=w/2+.5|0,h=h/2+.5|0,(copy=getCanvas()).width=w,copy.height=h,buffer!==image?(renderImageToCanvas(copy,buffer,0,0,buffer.width,buffer.height,0,0,w,h),buffer=copy):(renderImageToCanvas(buffer=copy,image,m.sx,m.sy,m.sw,m.sh,0,0,w,h),m.sx=m.sy=m.sw=m.sh=0);canvas.width=deg%180?dh:dw,canvas.height=deg%180?dw:dh,canvas.type=m.type,canvas.quality=m.quality,ctx.rotate(deg*Math.PI/180),renderImageToCanvas(ctx.canvas,buffer,m.sx,m.sy,m.sw||buffer.width,m.sh||buffer.height,180==deg||270==deg?-dw:0,90==deg||180==deg?-dh:0,dw,dh),dw=canvas.width,dh=canvas.height,overlay&&api.each([].concat(overlay),(function(over){queue.inc();var img=new window.Image,fn=function(){var x=0|over.x,y=0|over.y,w=over.w||img.width,h=over.h||img.height,rel=over.rel;x=1==rel||4==rel||7==rel?(dw-w+x)/2:2==rel||5==rel||8==rel?dw-(w+x):x,y=3==rel||4==rel||5==rel?(dh-h+y)/2:rel>=6?dh-(h+y):y,api.event.off(img,"error load abort",fn);try{ctx.globalAlpha=over.opacity||1,ctx.drawImage(img,x,y,w,h)}catch(er){}queue.next()};api.event.on(img,"error load abort",fn),img.src=over.src,img.complete&&fn()})),filter&&(queue.inc(),Image.applyFilter(canvas,filter,queue.next)),queue.check()},getMatrix:function(image){var w,h,m=api.extend({},this.matrix),sw=m.sw=m.sw||image.videoWidth||image.naturalWidth||image.width,sh=m.sh=m.sh||image.videoHeight||image.naturalHeight||image.height,dw=m.dw=m.dw||sw,dh=m.dh=m.dh||sh,sf=sw/sh,df=dw/dh,strategy=m.resize;"preview"==strategy?dw==sw&&dh==sh||(df>=sf?h=(w=sw)/df:w=(h=sh)*df,w==sw&&h==sh||(m.sx=~~((sw-w)/2),m.sy=~~((sh-h)/2),sw=w,sh=h)):"height"==strategy?dw=dh*sf:"width"==strategy?dh=dw/sf:strategy&&(sw>dw||sh>dh?"min"==strategy?(dw=round(sf=df?min(sw,dw):dh*sf),dh=round(sf>=df?dw/sf:min(sh,dh))):(dw=sw,dh=sh));return m.sw=sw,m.sh=sh,m.dw=dw,m.dh=dh,m.multipass=api.multiPassResize,m},_trans:function(fn){this._load(this.file,(function(err,image){if(err)fn(err);else try{this._apply(image,fn)}catch(err){api.log("[err] FileAPI.Image.fn._apply:",err),fn(err)}}))},get:function(fn){if(api.support.transform){var _this=this,matrix=_this.matrix;"auto"==matrix.deg?api.getInfo(_this.file,(function(err,info){matrix.deg=exifOrientation[info&&info.exif&&info.exif.Orientation]||0,_this._trans(fn)})):_this._trans(fn)}else fn("not_support_transform");return this},toData:function(fn){return this.get(fn)}},Image.exifOrientation=exifOrientation,Image.transform=function(file,transform,autoOrientation,fn){function _transform(err,img){var images={},queue=api.queue((function(err){fn(err,images)}));err?queue.fail():api.each(transform,(function(params,name){if(!queue.isFail()){var ImgTrans=new Image(img.nodeType?img:file),isFn="function"==typeof params;if(isFn?params(img,ImgTrans):params.width?ImgTrans[params.preview?"preview":"resize"](params.width,params.height,params.strategy):params.maxWidth&&(img.width>params.maxWidth||img.height>params.maxHeight)&&ImgTrans.resize(params.maxWidth,params.maxHeight,"max"),params.crop){var crop=params.crop;ImgTrans.crop(0|crop.x,0|crop.y,crop.w||crop.width,crop.h||crop.height)}undefined===params.rotate&&autoOrientation&&(params.rotate="auto"),ImgTrans.set({type:ImgTrans.matrix.type||params.type||file.type||"image/png"}),isFn||ImgTrans.set({deg:params.rotate,overlay:params.overlay,filter:params.filter,quality:params.quality||1}),queue.inc(),ImgTrans.toData((function(err,image){err?queue.fail():(images[name]=image,queue.next())}))}}))}file.width?_transform(!1,file):api.getInfo(file,_transform)},api.each(["TOP","CENTER","BOTTOM"],(function(x,i){api.each(["LEFT","CENTER","RIGHT"],(function(y,j){Image[x+"_"+y]=3*i+j,Image[y+"_"+x]=3*i+j}))})),Image.toCanvas=function(el){var canvas=document.createElement("canvas");return canvas.width=el.videoWidth||el.width,canvas.height=el.videoHeight||el.height,canvas.getContext("2d").drawImage(el,0,0),canvas},Image.fromDataURL=function(dataURL,size,callback){var img=api.newImage(dataURL);api.extend(img,size),callback(img)},Image.applyFilter=function(canvas,filter,doneFn){"function"==typeof filter?filter(canvas,doneFn):window.Caman&&window.Caman("IMG"==canvas.tagName?Image.toCanvas(canvas):canvas,(function(){"string"==typeof filter?this[filter]():api.each(filter,(function(val,method){this[method](val)}),this),this.render(doneFn)}))},api.renderImageToCanvas=function(canvas,img,sx,sy,sw,sh,dx,dy,dw,dh){try{return canvas.getContext("2d").drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh)}catch(ex){throw api.log("renderImageToCanvas failed"),ex}},api.support.canvas=api.support.transform=support,api.Image=Image}(FileAPI,document),function(factory){"use strict";!function(loadImage){if(!window.navigator||!window.navigator.platform||!/iP(hone|od|ad)/.test(window.navigator.platform))return;var originalRenderMethod=loadImage.renderImageToCanvas;loadImage.detectSubsampling=function(img){var canvas,context;return img.width*img.height>1048576&&((canvas=document.createElement("canvas")).width=canvas.height=1,(context=canvas.getContext("2d")).drawImage(img,1-img.width,0),0===context.getImageData(0,0,1,1).data[3])},loadImage.detectVerticalSquash=function(img,subsampled){var data,sy,ey,py,naturalHeight=img.naturalHeight||img.height,canvas=document.createElement("canvas"),context=canvas.getContext("2d");for(subsampled&&(naturalHeight/=2),canvas.width=1,canvas.height=naturalHeight,context.drawImage(img,0,0),data=context.getImageData(0,0,1,naturalHeight).data,sy=0,ey=naturalHeight,py=naturalHeight;py>sy;)0===data[4*(py-1)+3]?ey=py:sy=py,py=ey+sy>>1;return py/naturalHeight||1},loadImage.renderImageToCanvas=function(canvas,img,sourceX,sourceY,sourceWidth,sourceHeight,destX,destY,destWidth,destHeight){if("image/jpeg"===img._type){var subsampled,vertSquashRatio,tileX,tileY,context=canvas.getContext("2d"),tmpCanvas=document.createElement("canvas"),tileSize=1024,tmpContext=tmpCanvas.getContext("2d");if(tmpCanvas.width=tileSize,tmpCanvas.height=tileSize,context.save(),(subsampled=loadImage.detectSubsampling(img))&&(sourceX/=2,sourceY/=2,sourceWidth/=2,sourceHeight/=2),vertSquashRatio=loadImage.detectVerticalSquash(img,subsampled),subsampled||1!==vertSquashRatio){for(sourceY*=vertSquashRatio,destWidth=Math.ceil(tileSize*destWidth/sourceWidth),destHeight=Math.ceil(tileSize*destHeight/sourceHeight/vertSquashRatio),destY=0,tileY=0;tileY0&&1==api.filter(this.items,(function(item){return item.file})).length,api.support.html5?api.formData&&!this.multipart&&FormData?options._chunked?(api.log("FileAPI.Form.toPlainData"),this.toPlainData(fn)):(api.log("FileAPI.Form.toFormData"),this.toFormData(fn)):(api.log("FileAPI.Form.toMultipartData"),this.toMultipartData(fn)):(api.log("FileAPI.Form.toHtmlData"),this.toHtmlData(fn))},_to:function(data,complete,next,arg){var queue=api.queue((function(){complete(data)}));this.each((function(file){try{next(file,data,queue,arg)}catch(err){api.log("FileAPI.Form._to: "+err.message),complete(err)}})),queue.check()},toHtmlData:function(fn){this._to(document.createDocumentFragment(),fn,(function(file,data){var hidden,blob=file.blob;file.file?(api.reset(blob,!0),blob.name=file.name,blob.disabled=!1,data.appendChild(blob)):((hidden=document.createElement("input")).name=file.name,hidden.type="hidden",hidden.value=blob,data.appendChild(hidden))}))},toPlainData:function(fn){this._to({},fn,(function(file,data,queue){file.file&&(data.type=file.file),file.blob.toBlob?(queue.inc(),_convertFile(file,(function(file,blob){data.name=file.name,data.file=blob,data.size=blob.length,data.type=file.type,queue.next()}))):file.file?(data.name=file.blob.name,data.file=file.blob,data.size=file.blob.size,data.type=file.type):(data.params||(data.params=[]),data.params.push(encodeURIComponent(file.name)+"="+encodeURIComponent(file.blob))),data.start=-1,data.end=data.file&&data.file.FileAPIReadPosition||-1,data.retry=0}))},toFormData:function(fn){this._to(new FormData,fn,(function(file,data,queue){file.blob&&file.blob.toBlob?(queue.inc(),_convertFile(file,(function(file,blob){data.append(file.name,blob,file.file),queue.next()}))):file.file?data.append(file.name,file.blob,file.file):data.append(file.name,file.blob),file.file&&data.append("_"+file.name,file.file)}))},toMultipartData:function(fn){this._to([],fn,(function(file,data,queue,boundary){queue.inc(),_convertFile(file,(function(file,blob){data.push("--_"+boundary+'\r\nContent-Disposition: form-data; name="'+file.name+'"'+(file.file?'; filename="'+encodeURIComponent(file.file)+'"':"")+(file.file?"\r\nContent-Type: "+(file.type||"application/octet-stream"):"")+"\r\n\r\n"+(file.file?blob:encodeURIComponent(blob))+"\r\n"),queue.next()}),!0)}),api.expando)}},api.Form=Form}(FileAPI,window),function(window,api){"use strict";var noop=function(){},document=window.document,XHR=function(options){this.uid=api.uid(),this.xhr={abort:noop,getResponseHeader:noop,getAllResponseHeaders:noop},this.options=options},_xhrResponsePostfix={"":1,XML:1,Text:1,Body:1};XHR.prototype={status:0,statusText:"",constructor:XHR,getResponseHeader:function(name){return this.xhr.getResponseHeader(name)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(status,statusText){var _this=this,options=_this.options;_this.end=_this.abort=noop,_this.status=status,statusText&&(_this.statusText=statusText),api.log("xhr.end:",status,statusText),options.complete(200!=status&&201!=status&&(_this.statusText||"unknown"),_this),_this.xhr&&_this.xhr.node&&setTimeout((function(){var node=_this.xhr.node;try{node.parentNode.removeChild(node)}catch(e){}try{delete window[_this.uid]}catch(e){}window[_this.uid]=_this.xhr.node=null}),9)},abort:function(){this.end(0,"abort"),this.xhr&&(this.xhr.aborted=!0,this.xhr.abort())},send:function(FormData){var _this=this,options=this.options;FormData.toData((function(data){data instanceof Error?_this.end(0,data.message):(options.upload(options,_this),_this._send.call(_this,options,data))}),options)},_send:function(options,data){var xhr,_this=this,uid=_this.uid,onLoadFnName=_this.uid+"Load",url=options.url;if(api.log("XHR._send:",data),options.cache||(url+=(~url.indexOf("?")?"&":"?")+api.uid()),data.nodeName){var jsonp=options.jsonp;url=url.replace(/([a-z]+)=(\?)/i,"$1="+uid),options.upload(options,_this);var onPostMessage=function(evt){if(~url.indexOf(evt.origin))try{var result=api.parseJSON(evt.data);result.id==uid&&complete(result.status,result.statusText,result.response)}catch(err){complete(0,err.message)}},complete=window[uid]=function(status,statusText,response){_this.readyState=4,_this.responseText=response,_this.end(status,statusText),api.event.off(window,"message",onPostMessage),window[uid]=xhr=transport=window[onLoadFnName]=null};_this.xhr.abort=function(){try{transport.stop?transport.stop():transport.contentWindow.stop?transport.contentWindow.stop():transport.contentWindow.document.execCommand("Stop")}catch(er){}complete(0,"abort")},api.event.on(window,"message",onPostMessage),window[onLoadFnName]=function(){try{var win=transport.contentWindow,doc=win.document,result=win.result||api.parseJSON(doc.body.innerHTML);complete(result.status,result.statusText,result.response)}catch(e){api.log("[transport.onload]",e)}},(xhr=document.createElement("div")).innerHTML='
    '+(jsonp&&options.url.indexOf("=?")<0?'':"")+"
    ";var form=xhr.getElementsByTagName("form")[0],transport=xhr.getElementsByTagName("iframe")[0];form.appendChild(data),api.log(form.parentNode.innerHTML),document.body.appendChild(xhr),_this.xhr.node=xhr,_this.readyState=2;try{form.submit()}catch(err){api.log("iframe.error: "+err)}form=null}else{if(url=url.replace(/([a-z]+)=(\?)&?/i,""),this.xhr&&this.xhr.aborted)return void api.log("Error: already aborted");if(xhr=_this.xhr=api.getXHR(),data.params&&(url+=(url.indexOf("?")<0?"?":"&")+data.params.join("&")),xhr.open("POST",url,!0),api.withCredentials&&(xhr.withCredentials="true"),options.headers&&options.headers["X-Requested-With"]||xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),api.each(options.headers,(function(val,key){xhr.setRequestHeader(key,val)})),options._chunked){xhr.upload&&xhr.upload.addEventListener("progress",api.throttle((function(evt){data.retry||options.progress({type:evt.type,total:data.size,loaded:data.start+evt.loaded,totalSize:data.size},_this,options)}),100),!1),xhr.onreadystatechange=function(){var lkb=parseInt(xhr.getResponseHeader("X-Last-Known-Byte"),10);if(_this.status=xhr.status,_this.statusText=xhr.statusText,_this.readyState=xhr.readyState,4==xhr.readyState){for(var k in _xhrResponsePostfix)_this["response"+k]=xhr["response"+k];if(xhr.onreadystatechange=null,!xhr.status||xhr.status-201>0)if(api.log("Error: "+xhr.status),(!xhr.status&&!xhr.aborted||500==xhr.status||416==xhr.status)&&++data.retry<=options.chunkUploadRetry){var delay=xhr.status?0:api.chunkNetworkDownRetryTimeout;options.pause(data.file,options),api.log("X-Last-Known-Byte: "+lkb),lkb?data.end=lkb:(data.end=data.start-1,416==xhr.status&&(data.end=data.end-options.chunkSize)),setTimeout((function(){_this._send(options,data)}),delay)}else _this.end(xhr.status);else data.retry=0,data.end==data.size-1?_this.end(xhr.status):(api.log("X-Last-Known-Byte: "+lkb),lkb&&(data.end=lkb),data.file.FileAPIReadPosition=data.end,setTimeout((function(){_this._send(options,data)}),0));xhr=null}},data.start=data.end+1,data.end=Math.max(Math.min(data.start+options.chunkSize,data.size)-1,data.start);var file=data.file,slice=(file.slice||file.mozSlice||file.webkitSlice).call(file,data.start,data.end+1);data.size&&!slice.size?setTimeout((function(){_this.end(-1)})):(xhr.setRequestHeader("Content-Range","bytes "+data.start+"-"+data.end+"/"+data.size),xhr.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(data.name)),xhr.setRequestHeader("Content-Type",data.type||"application/octet-stream"),xhr.send(slice)),file=slice=null}else if(xhr.upload&&xhr.upload.addEventListener("progress",api.throttle((function(evt){options.progress(evt,_this,options)}),100),!1),xhr.onreadystatechange=function(){if(_this.status=xhr.status,_this.statusText=xhr.statusText,_this.readyState=xhr.readyState,4==xhr.readyState){for(var k in _xhrResponsePostfix)_this["response"+k]=xhr["response"+k];if(xhr.onreadystatechange=null,!xhr.status||xhr.status>201)if(api.log("Error: "+xhr.status),(!xhr.status&&!xhr.aborted||500==xhr.status)&&(options.retry||0)=0?val+"px":val}Camera.Shot=Shot,api.Camera=Camera}(window,FileAPI),function(window,jQuery,api){"use strict";var document=window.document,location=window.location,navigator=window.navigator,_each=api.each;api.support.flash=!1,api.support.flash&&(!api.html5||!api.support.html5||api.cors&&!api.support.cors||api.media&&!api.support.media||api.insecureChrome)&&function(){var _attr=api.uid(),_retry=0,_files={},_rhttp=/^https?:/i,flash={_fn:{},init:function(){var child=document.body&&document.body.firstChild;if(child)do{if(1==child.nodeType){api.log("FlashAPI.state: awaiting");var dummy=document.createElement("div");return dummy.id="_"+_attr,_css(dummy,{top:1,right:1,width:5,height:5,position:"absolute",zIndex:"2147483647"}),child.parentNode.insertBefore(dummy,child),void flash.publish(dummy,_attr)}}while(child=child.nextSibling);_retry<10&&setTimeout(flash.init,50*++_retry)},publish:function(el,id,opts){opts=opts||{},el.innerHTML=_makeFlashHTML({id,src:_getUrl(api.flashUrl,"r="+api.version),wmode:opts.camera?"":"transparent",flashvars:"callback="+(opts.onEvent||"FileAPI.Flash.onEvent")+"&flashId="+id+"&storeKey="+navigator.userAgent.match(/\d/gi).join("")+"_"+api.version+(flash.isReady||(api.pingUrl?"&ping="+api.pingUrl:""))+"&timeout="+api.flashAbortTimeout+(opts.camera?"&useCamera="+_getUrl(api.flashWebcamUrl):"")+"&debug="+(api.debug?"1":"")})},ready:function(){api.log("FlashAPI.state: ready"),flash.ready=api.F,flash.isReady=!0,flash.patch(),flash.patchCamera&&flash.patchCamera(),api.event.on(document,"mouseover",flash.mouseover),api.event.on(document,"click",(function(evt){flash.mouseover(evt)&&(evt.preventDefault?evt.preventDefault():evt.returnValue=!0)}))},getEl:function(){return document.getElementById("_"+_attr)},getWrapper:function(node){do{if(/js-fileapi-wrapper/.test(node.className))return node}while((node=node.parentNode)&&node!==document.body)},mouseover:function(evt){var target=api.event.fix(evt).target;if(/input/i.test(target.nodeName)&&"file"==target.type&&!target.disabled){var state=target.getAttribute(_attr),wrapper=flash.getWrapper(target);if(api.multiFlash){if("i"==state||"r"==state)return!1;if("p"!=state){target.setAttribute(_attr,"i");var dummy=document.createElement("div");if(!wrapper)return void api.log("[err] FlashAPI.mouseover: js-fileapi-wrapper not found");_css(dummy,{top:0,left:0,width:target.offsetWidth,height:target.offsetHeight,zIndex:"2147483647",position:"absolute"}),wrapper.appendChild(dummy),flash.publish(dummy,api.uid()),target.setAttribute(_attr,"p")}return!0}if(wrapper){var box=function(el){var box=el.getBoundingClientRect(),body=document.body,docEl=(el&&el.ownerDocument).documentElement;return{top:box.top+(window.pageYOffset||docEl.scrollTop)-(docEl.clientTop||body.clientTop||0),left:box.left+(window.pageXOffset||docEl.scrollLeft)-(docEl.clientLeft||body.clientLeft||0),width:box.right-box.left,height:box.bottom-box.top}}(wrapper);_css(flash.getEl(),box),flash.curInp=target}}else/object|embed/i.test(target.nodeName)||_css(flash.getEl(),{top:1,left:1,width:5,height:5})},onEvent:function(evt){var type=evt.type;if("ready"==type){try{flash.getInput(evt.flashId).setAttribute(_attr,"r")}catch(e){}return flash.ready(),setTimeout((function(){flash.mouseenter(evt)}),50),!0}"ping"===type?api.log("(flash -> js).ping:",[evt.status,evt.savedStatus],evt.error):"log"===type?api.log("(flash -> js).log:",evt.target):type in flash&&setTimeout((function(){api.log("FlashAPI.event."+evt.type+":",evt),flash[type](evt)}),1)},mouseenter:function(evt){var node=flash.getInput(evt.flashId);if(node){flash.cmd(evt,"multiple",null!=node.getAttribute("multiple"));var accept=[],exts={};_each((node.getAttribute("accept")||"").split(/,\s*/),(function(mime){api.accept[mime]&&_each(api.accept[mime].split(" "),(function(ext){exts[ext]=1}))})),_each(exts,(function(i,ext){accept.push(ext)})),flash.cmd(evt,"accept",accept.length?accept.join(",")+","+accept.join(",").toUpperCase():"*")}},get:function(id){return document[id]||window[id]||document.embeds[id]},getInput:function(id){if(!api.multiFlash)return flash.curInp;try{var node=flash.getWrapper(flash.get(id));if(node)return node.getElementsByTagName("input")[0]}catch(e){api.log('[err] Can not find "input" by flashId:',id,e)}},select:function(evt){var event,inp=flash.getInput(evt.flashId),uid=api.uid(inp),files=evt.target.files;_each(files,(function(file){api.checkFileObj(file)})),_files[uid]=files,document.createEvent?((event=document.createEvent("Event")).files=files,event.initEvent("change",!0,!0),inp.dispatchEvent(event)):jQuery?jQuery(inp).trigger({type:"change",files}):((event=document.createEventObject()).files=files,inp.fireEvent("onchange",event))},cmd:function(id,name,data,last){try{return api.log("(js -> flash)."+name+":",data),flash.get(id.flashId||id).cmd(name,data)}catch(err){api.log("(js -> flash).onError:",err.toString()),last||setTimeout((function(){flash.cmd(id,name,data,!0)}),50)}},patch:function(){api.flashEngine=!0,_inherit(api,{getFiles:function(input,filter,callback){if(callback)return api.filterFiles(api.getFiles(input),filter,callback),null;var files=api.isArray(input)?input:_files[api.uid(input.target||input.srcElement||input)];return files?(filter&&(filter=api.getFilesFilter(filter),files=api.filter(files,(function(file){return filter.test(file.name)}))),files):this.parent.apply(this,arguments)},getInfo:function(file,fn){if(_isHtmlFile(file))this.parent.apply(this,arguments);else if(file.isShot)fn(null,file.info={width:file.width,height:file.height});else{if(!file.__info){var defer=file.__info=api.defer();flash.cmd(file,"getFileInfo",{id:file.id,callback:_wrap((function _(err,info){_unwrap(_),defer.resolve(err,file.info=info)}))})}file.__info.then(fn)}}}),api.support.transform=!0,api.Image&&_inherit(api.Image.prototype,{get:function(fn,scaleMode){return this.set({scaleMode:scaleMode||"noScale"}),this.parent(fn)},_load:function(file,fn){if(api.log("FlashAPI.Image._load:",file),_isHtmlFile(file))this.parent.apply(this,arguments);else{var _this=this;api.getInfo(file,(function(err){fn.call(_this,err,file)}))}},_apply:function(file,fn){if(api.log("FlashAPI.Image._apply:",file),_isHtmlFile(file))this.parent.apply(this,arguments);else{var m=this.getMatrix(file.info),doneFn=fn;flash.cmd(file,"imageTransform",{id:file.id,matrix:m,callback:_wrap((function _(err,base64){api.log("FlashAPI.Image._apply.callback:",err),_unwrap(_),err?doneFn(err):api.support.html5||api.support.dataURI&&!(base64.length>3e4)?(m.filter&&(doneFn=function(err,img){err?fn(err):api.Image.applyFilter(img,m.filter,(function(){fn(err,this.canvas)}))}),api.newImage("data:"+file.type+";base64,"+base64,doneFn)):_makeFlashImage({width:m.deg%180?m.dh:m.dw,height:m.deg%180?m.dw:m.dh,scale:m.scaleMode},base64,doneFn)}))})}},toData:function(fn){var file=this.file,info=file.info,matrix=this.getMatrix(info);api.log("FlashAPI.Image.toData"),_isHtmlFile(file)?this.parent.apply(this,arguments):("auto"==matrix.deg&&(matrix.deg=api.Image.exifOrientation[info&&info.exif&&info.exif.Orientation]||0),fn.call(this,!file.info,{id:file.id,flashId:file.flashId,name:file.name,type:file.type,matrix}))}}),api.Image&&_inherit(api.Image,{fromDataURL:function(dataURL,size,callback){!api.support.dataURI||dataURL.length>3e4?_makeFlashImage(api.extend({scale:"exactFit"},size),dataURL.replace(/^data:[^,]+,/,""),(function(err,el){callback(el)})):this.parent(dataURL,size,callback)}}),_inherit(api.Form.prototype,{toData:function(fn){for(var items=this.items,i=items.length;i--;)if(items[i].file&&_isHtmlFile(items[i].blob))return this.parent.apply(this,arguments);api.log("FlashAPI.Form.toData"),fn(items)}}),_inherit(api.XHR.prototype,{_send:function(options,formData){if(formData.nodeName||formData.append&&api.support.html5||api.isArray(formData)&&"string"==typeof formData[0])return this.parent.apply(this,arguments);var flashId,fileId,data={},files={},_this=this;if(_each(formData,(function(item){item.file?(files[item.name]=item=_getFileDescr(item.blob),fileId=item.id,flashId=item.flashId):data[item.name]=item.blob})),fileId||(flashId=_attr),!flashId)return api.log("[err] FlashAPI._send: flashId -- undefined"),this.parent.apply(this,arguments);api.log("FlashAPI.XHR._send: "+flashId+" -> "+fileId),_this.xhr={headers:{},abort:function(){flash.cmd(flashId,"abort",{id:fileId})},getResponseHeader:function(name){return this.headers[name]},getAllResponseHeaders:function(){return this.headers}};var queue=api.queue((function(){flash.cmd(flashId,"upload",{url:_getUrl(options.url.replace(/([a-z]+)=(\?)&?/i,"")),data,files:fileId?files:null,headers:options.headers||{},callback:_wrap((function upload(evt){var type=evt.type,result=evt.result;api.log("FlashAPI.upload."+type),"progress"==type?(evt.loaded=Math.min(evt.loaded,evt.total),evt.lengthComputable=!0,options.progress(evt)):"complete"==type?(_unwrap(upload),"string"==typeof result&&(_this.responseText=result.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")),_this.end(evt.status||200)):"abort"!=type&&"error"!=type||(_this.end(evt.status||0,evt.message),_unwrap(upload))}))})}));_each(files,(function(file){queue.inc(),api.getInfo(file,queue.next)})),queue.check()}})}};function _makeFlashHTML(opts){return('').replace(/#(\w+)#/gi,(function(a,name){return opts[name]}))}function _css(el,css){var key,val;if(el&&el.style)for(key in css){"number"==typeof(val=css[key])&&(val+="px");try{el.style[key]=val}catch(e){}}}function _inherit(obj,methods){_each(methods,(function(fn,name){var prev=obj[name];obj[name]=function(){return this.parent=prev,fn.apply(this,arguments)}}))}function _isHtmlFile(file){return file&&!file.flashId}function _wrap(fn){var id=fn.wid=api.uid();return flash._fn[id]=fn,"FileAPI.Flash._fn."+id}function _unwrap(fn){try{flash._fn[fn.wid]=null,delete flash._fn[fn.wid]}catch(e){}}function _getUrl(url,params){if(!_rhttp.test(url)){if(/^\.\//.test(url)||"/"!=url.charAt(0)){var path=location.pathname;url=((path=path.substr(0,path.lastIndexOf("/")))+"/"+url).replace("/./","/")}"//"!=url.substr(0,2)&&(url="//"+location.host+url),_rhttp.test(url)||(url=location.protocol+url)}return params&&(url+=(/\?/.test(url)?"&":"?")+params),url}function _makeFlashImage(opts,base64,fn){var key,flashId=api.uid(),el=document.createElement("div"),attempts=10;for(key in opts)el.setAttribute(key,opts[key]),el[key]=opts[key];_css(el,opts),opts.width="100%",opts.height="100%",el.innerHTML=_makeFlashHTML(api.extend({id:flashId,src:_getUrl(api.flashImageUrl,"r="+api.uid()),wmode:"opaque",flashvars:"scale="+opts.scale+"&callback="+_wrap((function _(){return _unwrap(_),--attempts>0&&function(){try{flash.get(flashId).setImage(base64)}catch(e){api.log('[err] FlashAPI.Preview.setImage -- can not set "base64":',e)}}(),!0}))},opts)),fn(!1,el),el=null}function _getFileDescr(file){return{id:file.id,name:file.name,matrix:file.matrix,flashId:file.flashId}}api.Flash=flash,api.newImage("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",(function(err,img){api.support.dataURI=!(1!=img.width||1!=img.height),flash.init()}))}()}(window,window.jQuery,FileAPI),function(window,jQuery,api){"use strict";var _each=api.each,_cameraQueue=[];!api.support.flash||!api.media||api.support.media&&api.html5&&!api.insecureChrome||function(){function _wrap(fn){var id=fn.wid=api.uid();return api.Flash._fn[id]=fn,"FileAPI.Flash._fn."+id}function _unwrap(fn){try{api.Flash._fn[fn.wid]=null,delete api.Flash._fn[fn.wid]}catch(e){}}var flash=api.Flash;api.extend(api.Flash,{patchCamera:function(){api.Camera.fallback=function(el,options,callback){var camId=api.uid();api.log("FlashAPI.Camera.publish: "+camId),flash.publish(el,camId,api.extend(options,{camera:!0,onEvent:_wrap((function _(evt){"camera"===evt.type&&(_unwrap(_),evt.error?(api.log("FlashAPI.Camera.publish.error: "+evt.error),callback(evt.error)):(api.log("FlashAPI.Camera.publish.success: "+camId),callback(null)))}))}))},_each(_cameraQueue,(function(args){api.Camera.fallback.apply(api.Camera,args)})),_cameraQueue=[],api.extend(api.Camera.prototype,{_id:function(){return this.video.id},start:function(callback){var _this=this;flash.cmd(this._id(),"camera.on",{callback:_wrap((function _(evt){_unwrap(_),evt.error?(api.log("FlashAPI.camera.on.error: "+evt.error),callback(evt.error,_this)):(api.log("FlashAPI.camera.on.success: "+_this._id()),_this._active=!0,callback(null,_this))}))})},stop:function(){this._active=!1,flash.cmd(this._id(),"camera.off")},shot:function(){api.log("FlashAPI.Camera.shot:",this._id());var shot=api.Flash.cmd(this._id(),"shot",{});return shot.type="image/png",shot.flashId=this._id(),shot.isShot=!0,new api.Camera.Shot(shot)}})}}),api.Camera.fallback=function(){_cameraQueue.push(arguments)}}()}(window,window.jQuery,FileAPI),"function"==typeof define&&define.amd&&define("FileAPI",[],(function(){return FileAPI})),function(){Ext.namespace("MODx.util.MultiUploadDialog");var maxFileSize=parseInt(MODx.config.upload_maxsize,10),permittedFileTypes=MODx.config.upload_files.toLowerCase().split(",");FileAPI.debug=!1,FileAPI.support.flash=!1,FileAPI.staticPath=MODx.config.manager_url+"assets/fileapi/";var api={humanFileSize:function(bytes,si){var thresh=si?1e3:1024;if(bytes=thresh);return bytes.toFixed(1)+" "+units[u]},getFileExtension:function(filename){var result="",parts=filename.split(".");return parts.length>1&&(result=parts.pop()),result},isFileSizePermitted:function(size){return size<=maxFileSize},formatBytes:function(size,unit){return unit=unit||FileAPI.MB,Math.round(100*(size/unit+1e-5))/100},isFileTypePermitted:function(filename,extensions){var ext=this.getFileExtension(filename);return extensions.indexOf(ext.toLowerCase())>-1}};MODx.util.MultiUploadDialog.Upload=function(config){Ext.applyIf(config,{url:MODx.config.connector_url,permitted_extensions:permittedFileTypes,base_params:{action:"Browser/File/Upload",wctx:MODx.ctx||"",source:1}}),MODx.util.MultiUploadDialog.Upload.superclass.constructor.call(this,config)},Ext.extend(MODx.util.MultiUploadDialog.Upload,Ext.Component,{errors:{},initComponent:function(){this.input_file=document.createElement("input"),this.input_file.type="file",this.input_file.name=this.input_name||Ext.id(this.el),this.input_file.hidden=!0,this.input_file.multiple=!0,this.input_file.accept="."+this.permitted_extensions.join(",."),this.input_file.addEventListener("change",this.onInputFileChange.bind(this)),this.input_file.addEventListener("click",(function(e){e.stopPropagation()})),document.getElementsByTagName("body")[0].appendChild(this.input_file)},addDropZone:function(dnd,browser){var el=dnd.getEl().dom,upload=this;el.className+=" drag-n-drop",FileAPI.event.dnd(el,(function(over){over?el.className.match(/drag-over/)||(el.className+=" drag-over"):el.className=el.className.replace(" drag-over","")}),(function(files){upload.startUpload(files,browser)}))},setBaseParams:function(params){this.base_params=Ext.apply(this.base_params,params)},show:function(){this.fireEvent("show"),this.input_file.click()},onInputFileChange:function(e){var files=FileAPI.getFiles(e);this.input_file.value="",this.startUpload(files,this.browser)},startUpload:function(files,browser){var upload=this,approved=[];if(this.fireEvent("beforeupload",files),FileAPI.each(files,(function(file){api.isFileSizePermitted(file.size)?api.isFileTypePermitted(file.name,upload.permitted_extensions)?approved.push(file):upload.addError(file.name,_("upload.notpermitted.extension",{ext:api.getFileExtension(file.name)})):upload.addError(file.name,_("upload.notpermitted.filesize",{size:api.humanFileSize(file.size),max:api.humanFileSize(maxFileSize)}))})),!approved.length)return this.showErrors(),!1;this.progress=Ext.MessageBox.progress(_("please_wait")),FileAPI.upload({url:this.url,data:Ext.apply(this.base_params,{HTTP_MODAUTH:MODx.siteId}),files:{file:approved},fileprogress:function(e,file){upload.progress&&(upload.progress.updateText(file.name),upload.progress.updateProgress(e.loaded/e.total))},filecomplete:function(err,xhr,file){if(err)401!==xhr.status&&(upload.fireEvent("uploadfailed",err,xhr,file),MODx.msg.alert(_("upload.msg.title.error"),err));else{var r=Ext.util.JSON.decode(xhr.response);r.success||upload.addError(file.name,r.message)}},complete:function(err,xhr){err?upload.fireEvent("uploadfailed",xhr):(upload.fireEvent("uploadsuccess"),upload.progress&&upload.progress.hide(),void 0!==browser&&void 0!==browser.run&&browser.run()),upload.showErrors()}})},addError:function(key,message){this.errors[key]=message},showErrors:function(){var errors="";for(var i in this.errors)this.errors.hasOwnProperty(i)&&(errors+=this.errors[i]+"
    ");""!=errors&&MODx.msg.alert(_("error"),errors),this.errors={}}}),MODx.util.MultiUploadDialog.BrowseButton=Ext.extend(Ext.Button,{input_name:"file",input_file:null,original_handler:null,original_scope:null,initComponent:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.initComponent.call(this),this.original_handler=this.handler||null,this.original_scope=this.scope||window,this.handler=null,this.scope=null},onRender:function(ct,position){MODx.util.MultiUploadDialog.BrowseButton.superclass.onRender.call(this,ct,position),this.createInputFile()},createInputFile:function(){var button_container=this.el.child("button").wrap();this.input_file=button_container.createChild({tag:"input",type:"file",size:1,name:this.input_name||Ext.id(this.el),style:"cursor: pointer; display: inline-block; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%;",multiple:!0}),this.handleMouseEvents&&(this.input_file.on("mouseover",this.onMouseOver,this),this.input_file.on("mousedown",this.onMouseDown,this)),this.tooltip&&("object"==typeof this.tooltip?Ext.QuickTips.register(Ext.apply({target:this.input_file},this.tooltip)):this.input_file.dom[this.tooltipType]=this.tooltip),this.input_file.on("change",this.onInputFileChange,this),this.input_file.on("click",(function(e){e.stopPropagation()}))},detachInputFile:function(no_create){var result=this.input_file;return"object"==typeof this.tooltip?Ext.QuickTips.unregister(this.input_file):this.input_file.dom[this.tooltipType]=null,this.input_file.removeAllListeners(),this.input_file=null,result},getInputFile:function(){return this.input_file},disable:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.disable.call(this),this.input_file.dom.disabled=!0},enable:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.enable.call(this),this.input_file.dom.disabled=!1},destroy:function(){var input_file=this.detachInputFile(!0);input_file.remove(),input_file=null,MODx.util.MultiUploadDialog.BrowseButton.superclass.destroy.call(this)},reset:function(){var form=new Ext.Element(document.createElement("form")),buttonParent=this.input_file.parent();form.appendChild(this.input_file),form.dom.reset(),buttonParent.appendChild(this.input_file)},onInputFileChange:function(ev){this.original_handler&&this.original_handler.call(this.original_scope,this,ev),this.fireEvent("click",this,ev)}}),Ext.reg("multiupload-browse-btn",MODx.util.MultiUploadDialog.BrowseButton),MODx.util.MultiUploadDialog.FilesGrid=function(config){config=config||{},Ext.applyIf(config,{height:300,autoScroll:!0,border:!1,fields:["name","size","file","permitted","message","uploaded"],paging:!1,remoteSort:!1,viewConfig:{forceFit:!0,getRowClass:function(record,index,rowParams){return record.get("permitted")?record.get("uploaded")?"upload-success":void 0:"upload-error"}},sortInfo:{field:"name",direction:"ASC"},deferRowRender:!0,anchor:"100%",autoExpandColumn:"state",columns:[{header:_("upload.columns.file"),dataIndex:"name",sortable:!0,width:200,renderer:function(value,meta,record){var id=Ext.id();return FileAPI.Image(record.get("file")).resize(100,50,"max").get((function(err,img){err||(img=new Ext.Element(img).addClass("upload-thumb"),Ext.get(id).insertFirst(img))})),'

    '+value+"

    "}},{header:_("upload.columns.state"),id:"state",width:100,renderer:function(value,meta,record){if(!record.get("permitted")||record.get("uploaded"))return'

    '+record.get("message")+"

    ";var id=Ext.id();return function(){record.progressbar=new Ext.ProgressBar({renderTo:id,value:0,text:"0 / "+record.get("size")})}.defer(25),'
    '}}],getMenu:function(){return[{text:_("upload.contextmenu.remove_entry"),handler:this.removeFile}]}}),MODx.util.MultiUploadDialog.FilesGrid.superclass.constructor.call(this,config)},Ext.extend(MODx.util.MultiUploadDialog.FilesGrid,MODx.grid.LocalGrid,{removeFile:function(){var selected=this.getSelectionModel().getSelections();this.getStore().remove(selected)}}),Ext.reg("multiupload-grid-files",MODx.util.MultiUploadDialog.FilesGrid),MODx.util.MultiUploadDialog.Dialog=function(config){this.filesGridId=Ext.id(),config=config||{},Ext.applyIf(config,{permitted_extensions:permittedFileTypes,autoHeight:!0,width:600,closeAction:"hide",layout:"anchor",listeners:{show:{fn:this.onShow},hide:{fn:this.onHide}},items:[{xtype:"multiupload-grid-files",id:this.filesGridId,anchor:"100%"}],buttons:[{xtype:"multiupload-browse-btn",text:_("upload.buttons.choose"),cls:"primary-button",listeners:{click:{scope:this,fn:function(btn,ev){var files=FileAPI.getFiles(ev);this.addFiles(files),btn.reset()}}}},{xtype:"splitbutton",text:_("upload.buttons.clear"),listeners:{click:{scope:this,fn:this.clearStore}},menu:new Ext.menu.Menu({items:[{text:_("upload.clear_list.all"),listeners:{click:{scope:this,fn:this.clearStore}}},{text:_("upload.clear_list.notpermitted"),listeners:{click:{scope:this,fn:this.clearNotPermittedItems}}}]})},{xtype:"button",text:_("upload.buttons.upload"),cls:"primary-button",listeners:{click:{scope:this,fn:this.startUpload}}},{xtype:"button",text:_("upload.buttons.close"),listeners:{click:{scope:this,fn:this.hideDialog}}}]}),MODx.util.MultiUploadDialog.Dialog.superclass.constructor.call(this,config)};var originalWindowOnShow=Ext.Window.prototype.onShow,originalWindowOnHide=Ext.Window.prototype.onHide;Ext.extend(MODx.util.MultiUploadDialog.Dialog,Ext.Window,{addFiles:function(files){var store=Ext.getCmp(this.filesGridId).getStore(),dialog=this;FileAPI.each(files,(function(file){var permitted=!0,message="";api.isFileSizePermitted(file.size)||(message=_("upload.notpermitted.filesize",{size:api.humanFileSize(file.size),max:api.humanFileSize(maxFileSize)}),permitted=!1),api.isFileTypePermitted(file.name,dialog.permitted_extensions)||(message=_("upload.notpermitted.extension",{ext:api.getFileExtension(file.name)}),permitted=!1);var data={name:file.name,size:api.humanFileSize(file.size),file,permitted,message,uploaded:!1},p=new store.recordType(data);store.insert(0,p)}))},startUpload:function(){var dialog=this,files=[],params=Ext.apply(this.base_params,{HTTP_MODAUTH:MODx.siteId});Ext.getCmp(this.filesGridId).getStore().each((function(){var file=this.get("file");this.get("permitted")&&!this.get("uploaded")&&(file.record=this,files.push(file))}));FileAPI.upload({url:this.url,data:params,files:{file:files},fileprogress:function(evt,file){file.record.progressbar.updateProgress(evt.loaded/evt.total,_("upload.upload_progress",{loaded:api.humanFileSize(evt.loaded),total:file.record.get("size")}),!0)},filecomplete:function(err,xhr,file,options){if(err)401!==xhr.status&&MODx.msg.alert(_("upload.msg.title.error"),err);else{var resp=Ext.util.JSON.decode(xhr.response);resp.success?(file.record.set("uploaded",!0),file.record.set("message",_("upload.upload.success"))):(file.record.set("permitted",!1),file.record.set("message",resp.message))}},complete:function(err,xhr){dialog.fireEvent("uploadsuccess")}})},removeEntry:function(record){Ext.getCmp(this.filesGridId).getStore().remove(record)},clearStore:function(){Ext.getCmp(this.filesGridId).getStore().removeAll()},clearNotPermittedItems:function(){var store=Ext.getCmp(this.filesGridId).getStore(),notPermitted=store.query("permitted",!1);store.remove(notPermitted.getRange())},hideDialog:function(){this.hide()},onDDrag:function(ev){ev&&ev.preventDefault()},onDDrop:function(ev){ev&&ev.preventDefault();var dialog=this;FileAPI.getDropFiles(ev.browserEvent,(function(files){files.length&&dialog.addFiles(files)}))},onShow:function(){var ret=originalWindowOnShow.apply(this,arguments),store=Ext.getCmp(this.filesGridId).getStore();return store.removeAll(),this.isDDSet||(this.el.on("dragenter",this.onDDrag,this),this.el.on("dragover",this.onDDrag,this),this.el.on("dragleave",this.onDDrag,this),this.el.on("drop",this.onDDrop,this),this.isDDSet=!0),ret},onHide:function(){var ret=originalWindowOnHide.apply(this,arguments);return this.el.un("dragenter",this.onDDrag,this),this.el.un("dragover",this.onDDrag,this),this.el.un("dragleave",this.onDDrag,this),this.el.un("drop",this.onDDrop,this),this.isDDSet=!1,ret},setBaseParams:function(params){this.base_params=params,this.setTitle(_("upload.title.destination_path",{path:this.base_params.path}))}}),Ext.reg("multiupload-window-dialog",MODx.util.MultiUploadDialog.Dialog)}(),Ext.namespace("MODx.tree"),MODx.tree.Tree=function(config){var tl,root;if(config=config||{},Ext.applyIf(config,{baseParams:{},action:"getNodes",loaderConfig:{}}),config.action&&(config.baseParams.action=config.action),config.loaderConfig.dataUrl=config.url,config.loaderConfig.baseParams=config.baseParams,Ext.applyIf(config.loaderConfig,{preloadChildren:!0,clearOnLoad:!0}),this.config=config,this.config.url?((tl=new MODx.tree.TreeLoader(config.loaderConfig)).on("beforeload",(function(l,node){tl.dataUrl=this.config.url+"?action="+this.config.action+"&id="+node.attributes.id,node.attributes.type&&(tl.dataUrl+="&type="+node.attributes.type)}),this),tl.on("load",this.onLoad,this),root={nodeType:"async",text:config.root_name||config.rootName||"",qtip:config.root_qtip||config.rootQtip||"",draggable:!1,id:config.root_id||config.rootId||"root",pseudoroot:!0,attributes:{pseudoroot:!0},cls:"tree-pseudoroot-node",iconCls:config.root_iconCls||config.rootIconCls||""}):(tl=new Ext.tree.TreeLoader({preloadChildren:!0,baseAttrs:{uiProvider:MODx.tree.CheckboxNodeUI}}),root=new Ext.tree.TreeNode({text:this.config.rootName||"",draggable:!1,id:this.config.rootId||"root",children:this.config.data||[],pseudoroot:!0})),Ext.applyIf(config,{useArrows:!0,autoScroll:!0,animate:!0,enableDD:!0,enableDrop:!0,ddAppendOnly:!1,containerScroll:!0,collapsible:!0,border:!1,autoHeight:!0,rootVisible:!0,loader:tl,header:!1,hideBorders:!0,bodyBorder:!1,cls:"modx-tree",root,preventRender:!1,stateful:!0,menuConfig:{defaultAlign:"tl-b?",enableScrolling:!1,listeners:{show:function(){var node=this.activeNode;node&&node.ui.addClass("x-tree-selected")},hide:function(){var node=this.activeNode;node&&(node.isSelected()||node.ui&&node.ui.removeClass("x-tree-selected"))}}}}),!0!==config.remoteToolbar||void 0!==config.tbar&&null!==config.tbar){var tb=this.getToolbar();if(config.tbar&&config.useDefaultToolbar)for(var i=0;i150&&(w=this.config.width),el.setWidth(w),this.doLayout()}},setup:function(config){config.listeners=config.listeners||{},config.listeners.render={fn:function(){!1===config.autoExpandRoot&&config.hasOwnProperty("autoExpandRoot")||this.root.expand();var tl=this.getLoader();Ext.apply(tl,{fullMask:new Ext.LoadMask(this.getEl())}),tl.fullMask.removeMask=!1,tl.on({load:function(){this.fullMask.hide()},loadexception:function(){this.fullMask.hide()},beforeload:function(){this.fullMask.show()},scope:tl})},scope:this},MODx.tree.Tree.superclass.constructor.call(this,config),this.addEvents("afterSort","beforeSort","refresh"),this.cm=new Ext.menu.Menu(config.menuConfig),this.on("contextmenu",this._showContextMenu,this),this.on("beforenodedrop",this._handleDrop,this),this.on("nodedragover",this._handleDrop,this),this.on("nodedrop",this._handleDrag,this),this.on("click",this._saveState,this),this.on("contextmenu",this._saveState,this),this.on("click",this._handleClick,this),this.treestate_id=this.config.id||Ext.id(),this.on("load",this._initExpand,this,{single:!0}),this.on("expandnode",this._saveState,this),this.on("collapsenode",this._saveState,this),this.on("expandnode",(function(){var cnt=Ext.getCmp("modx-content");cnt&&cnt.doLayout()}),this)},_initExpand:function(){var treeState=Ext.state.Manager.get(this.treestate_id);if(Ext.isEmpty(treeState)&&this.root)this.root.expand(),this.root.firstChild&&this.config.expandFirst&&this.root.firstChild.expand();else for(var i=0;i"+node.attributes.text+"
    ",target:this}),node,handler:function(btn,evt){evt.stopPropagation(evt),node.getOwnerTree().handleDirectCreateClick(node)},iconCls:"icon-plus-circle",renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e)},mouseout:function(button,e){button.tooltip.onTargetOut(e)}}})}},_showContextMenu:function(node,e){var m;this.cm.activeNode=node,this.cm.removeAll();var handled=!1;if(!Ext.isEmpty(node.attributes.treeHandler)||node.isRoot&&!Ext.isEmpty(node.childNodes[0].attributes.treeHandler)){var h=Ext.getCmp(node.isRoot?node.childNodes[0].attributes.treeHandler:node.attributes.treeHandler);h&&(node.isRoot&&(node.attributes.type="root"),m=h.getMenu(this,node,e),handled=!0)}handled||(this.getMenu?m=this.getMenu(node,e):node.attributes.menu&&node.attributes.menu.items&&(m=node.attributes.menu.items)),m&&m.length>0&&(this.addContextMenuItem(m),this.cm.showAt(e.xy)),e.preventDefault(),e.stopEvent()},hasNode:function(t,n){return t.findChild("id",n.id)||!0===t.leaf&&t.parentNode.findChild("id",n.id)},refresh:function(func,scope,args){var treeState=Ext.state.Manager.get(this.treestate_id);return this.root.reload(),this.fireEvent("refresh",{}),void 0===treeState?this.root.expand():Ext.isArray(treeState)&&Ext.each(treeState,(function(path,idx){this.expandPath(path)}),this),func&&(scope=scope||this,args=args||[],this.root.on("load",(function(){Ext.callback(func,scope,args)}),scope)),!0},removeChildren:function(node){for(;node.firstChild;){var c=node.firstChild;node.removeChild(c),c.destroy()}},loadRemoteData:function(data){for(var c in this.removeChildren(this.getRootNode()),data)"object"==typeof data[c]&&this.getRootNode().appendChild(data[c])},reloadNode:function(n){this.getLoader().load(n),n.expand()},remove:function(text,substr,split){if(this.destroying)return MODx.tree.Tree.superclass.remove.apply(this,arguments);var node=this.cm.activeNode,id=this._extractId(node.id,substr,split),p={action:this.config.removeAction||"remove"},pk=this.config.primaryKey||"id";p[pk]=id,MODx.msg.confirm({title:this.config.removeTitle||_("warning"),text:_(text),url:this.config.url,params:p,listeners:{success:{fn:this.refresh,scope:this}}})},_extractId:function(id,substr,split){return split=split||!1,!1!==(substr=substr||!1)&&(id=node.id.substr(substr)),!1!==split&&(id=(id=node.id.split("_"))[split]),id},expandNodes:function(){this.root&&(this.root.expand(),this.root.expandChildNodes(!0))},collapseNodes:function(){this.root&&(this.root.collapseChildNodes(!0),this.root.collapse())},_saveState:function(n){if(!this.stateful)return!0;var i,s=Ext.state.Manager.get(this.treestate_id),p=n.getPath();if(s=Ext.isObject(s)||Ext.isArray(s)?s.slice():[s],!Ext.isEmpty(p)&&null!=p){if(n.expanded){if(Ext.isString(p)&&-1===s.indexOf(p)){var sr,f=!1;for(i=0;is[i].length&&(f=!0):s.splice(i,1);f||s.push(p)}}else for(s=s.remove(p),i=0;i{let node=this.getNodeById(encodeURIComponent(dir));node||(node=this.getRootNode()),node.select(),this.cm.activeNode=node}))}}),Ext.reg("modx-tree",MODx.tree.Tree),window.BTNS=[],MODx.tree.TreeLoader=function(config){(config=config||{}).id=config.id||Ext.id(),Ext.applyIf(config,{}),MODx.tree.TreeLoader.superclass.constructor.call(this,config)},Ext.extend(MODx.tree.TreeLoader,Ext.tree.TreeLoader,{processResponse:function(response,node,callback,scope){var json=response.responseText;if("string"==typeof json&&(json=Ext.decode(json)),void 0!==json.results?response.responseText=Ext.encode(json.results):void 0!==json.object&&(response.responseText=Ext.encode(json.object)),void 0!==json.success&&void 0!==json.message&&0==json.success){if("object"==typeof json.message){var msg=[];for(var i in json.message)json.message.hasOwnProperty(i)&&msg.push(json.message[i]);json.message=msg.join("\n")}MODx.msg.alert(_("alert"),json.message)}Ext.tree.TreeLoader.prototype.processResponse.call(this,response,node,callback,scope)}}),Ext.reg("modx-tree-treeloader",MODx.tree.TreeLoader),Ext.dd.DragDropMgr.getZIndex=function(element){var z,body=document.body,zIndex=-1,overTargetEl=element;for(element=Ext.getDom(element);element!==body;){if(!element){this._remove(overTargetEl);break}isNaN(z=Number(Ext.fly(element).getStyle("zIndex")))||(zIndex=z),element=element.parentNode}return zIndex},MODx.TreeDrop=function(config){config=config||{},Ext.applyIf(config,{id:"modx-treedrop",ddGroup:"modx-treedrop-dd"}),MODx.TreeDrop.superclass.constructor.call(this,config),this.config=config,this.setup()},Ext.extend(MODx.TreeDrop,Ext.Component,{setup:function(){var ddTarget=this.config.target,ddTargetEl=this.config.targetEl,cfg=this.config;this.targetEl=new Ext.dd.DropTarget(this.config.targetEl,{ddGroup:this.config.ddGroup,notifyEnter:function(ddSource,e,data){if(ddTarget.getEl){var el=ddTarget.getEl();el&&el.isVisible()&&(el.frame(),el.focus())}},notifyDrop:function(ddSource,e,data){if(!data.node||!data.node.attributes||!data.node.attributes.type)return!1;if("MODX\\Revolution\\modResource"!=data.node.attributes.type&&1!=data.node.attributes.leaf)return!1;var v="",win=!1;switch(data.node.attributes.type){case"MODX\\Revolution\\modResource":v="[[~"+data.node.attributes.pk+"]]";break;case"snippet":case"chunk":case"tv":win=!0;break;case"file":v=data.node.attributes.url;break;default:var dh=Ext.getCmp(data.node.attributes.type+"-drop-handler");return!!dh&&dh.handle(data,{ddTargetEl,cfg,iframe:cfg.iframe,iframeEl:cfg.iframeEl,onInsert:cfg.onInsert,panel:cfg.panel})}if(win)MODx.loadInsertElement({pk:data.node.attributes.pk,classKey:data.node.attributes.classKey,name:data.node.attributes.name,output:v,ddTargetEl,cfg,iframe:cfg.iframe,iframeEl:cfg.iframeEl,onInsert:cfg.onInsert,panel:cfg.panel});else if(cfg.iframe)MODx.insertForRTE(v,cfg);else{var el=Ext.get(ddTargetEl);if("modx-static-content"==el.dom.id&&(v=v.substring(1),Ext.getCmp(el.dom.id).setValue("")),"modx-symlink-content"==el.dom.id||"modx-weblink-content"==el.dom.id)Ext.getCmp(el.dom.id).setValue(""),void 0!==typeof data.node.attributes.pk&&void 0!==data.node.attributes.pk?MODx.insertAtCursor(ddTargetEl,data.node.attributes.pk,cfg.onInsert):MODx.insertAtCursor(ddTargetEl,v,cfg.onInsert);else if("modx-resource-parent"==el.dom.id){v=data.node.attributes.pk;var p,pf=Ext.getCmp("modx-resource-parent");if(v==pf.currentid)return MODx.msg.alert("",_("resource_err_own_parent")),!1;pf.setValue(v),Ext.getCmp(pf.parentcmp).setValue(v),(p=Ext.getCmp(pf.formpanel))&&p.markDirty()}else MODx.insertAtCursor(ddTargetEl,v,cfg.onInsert);if(cfg.panel)(p=Ext.getCmp(cfg.panel))&&p.markDirty()}return!0}}),this.targetEl.addToGroup("modx-treedrop-elements-dd"),this.targetEl.addToGroup("modx-treedrop-sources-dd")}}),Ext.reg("modx-treedrop",MODx.TreeDrop),MODx.loadInsertElement=function(r){MODx.InsertElementWindow&&(MODx.InsertElementWindow.hide(),MODx.InsertElementWindow.destroy()),MODx.InsertElementWindow=MODx.load({xtype:"modx-window-insert-element",record:r,listeners:{success:{fn:function(){},scope:this},hide:{fn:function(){this.destroy()}}}}),MODx.InsertElementWindow.setValues(r),MODx.InsertElementWindow.show()},MODx.insertAtCursor=function(myField,myValue,h){if(!Ext.isEmpty(h)){var z=h(myValue);null!=z&&(myValue=z)}if(myField.blur(),document.selection)sel=document.selection.createRange(),sel.text=myValue;else if(myField.selectionStart||"0"==myField.selectionStart){var startPos=myField.selectionStart,endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)+myValue+myField.value.substring(endPos,myField.value.length),myField.selectionStart=startPos+myValue.length,myField.selectionEnd=myField.selectionStart}else myField.value+=myValue;myField.focus()},MODx.insertForRTE=function(v,cfg){var fn=cfg.onInsert||!1;if(fn)fn(v,cfg);else{if("object"==typeof cfg.iframeEl)var doc=cfg.iframeEl;else doc=window.frames[0].document.getElementById(cfg.iframeEl);doc.value?doc.value=doc.value+v:doc.innerHTML=doc.innerHTML+v}},MODx.insertIntoContent=function(v,opt){opt.iframe?MODx.insertForRTE(v,opt.cfg):MODx.insertAtCursor(opt.ddTargetEl,v)},MODx.window.InsertElement=function(config){config=config||{};var resourceCmp=Ext.get("modx-resource-id"),resourceId=null!==resourceCmp?resourceCmp.getValue():0;Ext.applyIf(config,{title:_("select_el_opts"),id:"modx-window-insert-element",width:522,labelAlign:"left",labelWidth:160,url:MODx.config.connector_url,action:"Element/Template/Create",fields:[{xtype:"hidden",name:"pk",id:"modx-dise-pk"},{xtype:"hidden",name:"classKey",id:"modx-dise-classkey"},{xtype:"xcheckbox",fieldLabel:_("cached"),name:"cached",id:"modx-dise-cached",inputValue:1,checked:!0},{xtype:"modx-combo-property-set",fieldLabel:_("property_set"),name:"propertyset",id:"modx-dise-propset",width:300,baseParams:{action:"Element/PropertySet/GetList",showAssociated:!0,elementId:config.record.pk,elementType:config.record.classKey},listeners:{render:{fn:function(){Ext.getCmp("modx-dise-propset").getStore().load(),Ext.getCmp("modx-dise-propset").value="0"},scope:this},select:{fn:this.changePropertySet,scope:this}}},{id:"modx-dise-proplist",autoLoad:{url:MODx.config.connector_url,params:{action:"Element/GetInsertProperties",classKey:config.record.classKey,pk:config.record.pk,resourceId,propertySet:0},scripts:!0,callback:this.onPropFormLoad,scope:this},style:"display: none;"},{xtype:"fieldset",title:_("properties"),height:.6*Ext.getBody().getViewSize().height,collapsible:!0,autoScroll:!0,items:[{html:'
    ',id:"modx-iprops-container"}]}],modps:[]}),MODx.window.InsertElement.superclass.constructor.call(this,config),this.on("show",(function(){this.center(),this.mask=new Ext.LoadMask(Ext.get("modx-iprops-container"),{msg:_("loading")}),this.mask.show()}),this)},Ext.extend(MODx.window.InsertElement,MODx.Window,{changePropertySet:function(cb){var fp=Ext.getCmp("modx-iprops-fp");fp&&fp.destroy();var resourceCmp=Ext.get("modx-resource-id"),resourceId=null!==resourceCmp?resourceCmp.getValue():0;Ext.getCmp("modx-dise-proplist").getUpdater().update({url:MODx.config.connector_url,params:{action:"Element/GetInsertProperties",classKey:this.config.record.classKey,pk:this.config.record.pk,resourceId,propertySet:cb.getValue()},scripts:!0,callback:this.onPropFormLoad,scope:this}),this.modps=[],this.mask.show()},createStore:function(data){return new Ext.data.SimpleStore({fields:["v","d"],data})},onPropFormLoad:function(el,s,r){this.mask.hide();var vs=Ext.decode(r.responseText);if(!vs||vs.length<=0)return!1;for(var i=0;i]+)>)/gi,"")))}var menuindexField=Ext.getCmp("modx-resource-menuindex");menuindexField&&void 0!==o.result.object.menuindex&&menuindexField.setValue(o.result.object.menuindex);var isfolderFieldCmb=Ext.getCmp("modx-resource-isfolder");isfolderFieldCmb&&"boolean"==typeof o.result.object.isfolder&&isfolderFieldCmb.setValue(o.result.object.isfolder)}},_handleDrop:function(e){var dropNode=e.dropNode,targetParent=e.target;if(null!==targetParent.findChild("id",dropNode.attributes.id))return!1;if("modContext"==dropNode.attributes.type&&(targetParent.getDepth()>1||targetParent.attributes.id==targetParent.attributes.pk+"_0"&&"append"==e.point))return!1;if("modContext"!==dropNode.attributes.type&&targetParent.getDepth()<=1&&"append"!==e.point)return!1;if(null==MODx.config.resource_classes_drop[targetParent.attributes.classKey]){if(targetParent.attributes.hide_children_in_tree)return!1}else if(0==MODx.config.resource_classes_drop[targetParent.attributes.classKey])return!1;return"root"!=dropNode.attributes.text&&""!==dropNode.attributes.text&&"root"!=targetParent.attributes.text&&""!==targetParent.attributes.text},getContextSettingForNode:function(node,ctx,setting,dv){var val=dv||null;if("modContext"!=node.attributes.type){var cn=node.getOwnerTree().getRootNode().findChild("ctx",ctx,!1);cn&&(val=cn.attributes.settings[setting])}else val=node.attributes.settings[setting];return val},quickCreate:function(itm,e,cls,ctx,p){var r={class_key:cls=cls||"MODX\\Revolution\\modDocument",context_key:ctx||"web",parent:p||0,template:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"default_template",MODx.config.default_template)),richtext:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"richtext_default",MODx.config.richtext_default)),hidemenu:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"hidemenu_default",MODx.config.hidemenu_default)),searchable:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"search_default",MODx.config.search_default)),cacheable:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"cache_default",MODx.config.cache_default)),published:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"publish_default",MODx.config.publish_default)),content_type:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"default_content_type",MODx.config.default_content_type))};if("modContext"!=this.cm.activeNode.attributes.type){var cn=this.cm.activeNode.getOwnerTree().getRootNode().findChild("ctx",ctx,!1);cn&&(r.template=cn.attributes.settings.default_template)}else r.template=this.cm.activeNode.attributes.settings.default_template;var w=MODx.load({xtype:"modx-window-quick-create-modResource",record:r,listeners:{success:{fn:function(){this.refreshNode(this.cm.activeNode.id,this.cm.activeNode.childNodes.length>0)},scope:this},hide:{fn:function(){this.destroy()}},show:{fn:function(){this.center()}}}});w.setValues(r),w.show(e.target,(function(){Ext.isSafari?w.setPosition(null,30):w.center()}),this)},quickUpdate:function(itm,e,cls){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Resource/Get",id:this.cm.activeNode.attributes.pk,skipFormatDates:!0},listeners:{success:{fn:function(r){var pr=r.object;pr.class_key=cls;var w=MODx.load({xtype:"modx-window-quick-update-modResource",record:pr,listeners:{success:{fn:function(r){this.refreshNode(this.cm.activeNode.id);var newTitle=''+r.f.findField("pagetitle").getValue()+" ("+w.record.id+")";w.setTitle(w.title.replace(//,newTitle))},scope:this},hide:{fn:function(){this.destroy()}}}});w.title+=': '+Ext.util.Format.htmlEncode(w.record.pagetitle)+" ("+w.record.id+")",w.setValues(r.object),w.show(e.target,(function(){Ext.isSafari?w.setPosition(null,30):w.center()}),this)},scope:this}}})},_getModContextMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+" ("+a.ctx+")",handler:function(){return!1},header:!0}),m.push("-"),m.push({text:_("refresh_context"),handler:function(){this.refreshNode(this.cm.activeNode.id,!0)}}),ui.hasClass("pedit")&&m.push({text:_("edit_context"),handler:function(){var at=this.cm.activeNode.attributes;this.loadAction("a=context/update&key="+at.pk)}}),ui.hasClass("pnew")&&m.push({text:_("duplicate_context"),handler:this.duplicateContext}),ui.hasClass("pdelete")&&(m.push("-"),m.push({text:_("remove_context"),handler:this.removeContext})),ui.hasClass("pnewdoc")&&(m.push("-"),this._getCreateMenus(m,"0",ui)),ui.hasClass("x-tree-node-leaf")||(m.push("-"),m.push(this._getSortMenu())),m},overviewResource:function(){this.loadAction("a=resource/data")},quickUpdateResource:function(itm,e){this.quickUpdate(itm,e,itm.classKey)},editResource:function(){this.loadAction("a=resource/update")},_getModResourceMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pview")&&m.push({text:_("resource_overview"),handler:this.overviewResource}),ui.hasClass("pedit")&&m.push({text:_("resource_edit"),handler:this.editResource}),ui.hasClass("pqupdate")&&m.push({text:_("quick_update_resource"),classKey:a.classKey,handler:this.quickUpdateResource}),ui.hasClass("pduplicate")&&m.push({text:_("resource_duplicate"),handler:this.duplicateResource}),m.push({text:_("resource_refresh"),handler:this.refreshResource,scope:this}),ui.hasClass("pnew")&&(m.push("-"),this._getCreateMenus(m,null,ui)),ui.hasClass("psave")&&(m.push("-"),ui.hasClass("ppublish")&&ui.hasClass("unpublished")?m.push({text:_("resource_publish"),handler:this.publishDocument}):ui.hasClass("punpublish")&&m.push({text:_("resource_unpublish"),handler:this.unpublishDocument}),ui.hasClass("pundelete")&&ui.hasClass("deleted")?m.push({text:_("resource_undelete"),handler:this.undeleteDocument}):ui.hasClass("pdelete")&&!ui.hasClass("deleted")&&m.push({text:_("resource_delete"),handler:this.deleteDocument})),ui.hasClass("x-tree-node-leaf")||(m.push("-"),m.push(this._getSortMenu())),ui.hasClass("pview")&&""!=a.preview_url&&(m.push("-"),m.push({text:_("resource_view"),handler:this.preview})),m},refreshResource:function(){this.refreshNode(this.cm.activeNode.id)},createResourceHere:function(itm){var at=this.cm.activeNode.attributes,parent=itm.usePk?itm.usePk:at.pk;parseInt(MODx.config.enable_template_picker_in_tree)?MODx.createResource({class_key:itm.classKey,parent,context_key:at.ctx||MODx.config.default_context}):this.loadAction("a=resource/create&class_key="+itm.classKey+"&parent="+parent+(at.ctx?"&context_key="+at.ctx:""))},createResource:function(itm,e){var at=this.cm.activeNode.attributes,p=itm.usePk?itm.usePk:at.pk;this.quickCreate(itm,e,itm.classKey,at.ctx,p)},_getCreateMenus:function(m,pk,ui){var types=MODx.config.resource_classes,o=this.fireEvent("loadCreateMenus",types);Ext.isObject(o)&&Ext.apply(types,o);var coreTypes=["MODXRevolutionmodDocument","MODXRevolutionmodWebLink","MODXRevolutionmodSymLink","MODXRevolutionmodStaticResource"],ct=[],qct=[];for(var k in types)(-1==coreTypes.indexOf(k)||ui.hasClass("pnew_"+k))&&(ct.push({text:types[k].text_create_here,classKey:k,usePk:pk||!1,handler:this.createResourceHere,scope:this}),ui&&ui.hasClass("pqcreate")&&qct.push({text:types[k].text_create,classKey:k,handler:this.createResource,scope:this}));return m.push({text:_("create"),handler:function(){return!1},menu:{items:ct}}),ui&&ui.hasClass("pqcreate")&&m.push({text:_("quick_create"),handler:function(){return!1},menu:{items:qct}}),m},_handleDrag:function(dropEvent){var encNodes=Ext.encode(function simplifyNodes(node){for(var resultNode={},kids=node.childNodes,len=kids.length,i=0;i[[*pagetitle]]

    "+_("resource_pagetitle_help"),anchor:"100%",allowBlank:!1},{xtype:"textfield",name:"longtitle",id:"modx-"+this.ident+"-longtitle",fieldLabel:_("resource_longtitle"),description:"[[*longtitle]]
    "+_("resource_longtitle_help"),anchor:"100%"},{xtype:"textarea",name:"description",id:"modx-"+this.ident+"-description",fieldLabel:_("resource_description"),description:"[[*description]]
    "+_("resource_description_help"),anchor:"100%",grow:!1,height:50},{xtype:"textarea",name:"introtext",id:"modx-"+this.ident+"-introtext",fieldLabel:_("resource_summary"),description:"[[*introtext]]
    "+_("resource_summary_help"),anchor:"100%",height:50}]},{columnWidth:.4,border:!1,layout:"form",items:[{xtype:"modx-combo-template",name:"template",id:"modx-"+this.ident+"-template",fieldLabel:_("resource_template"),description:"[[*template]]
    "+_("resource_template_help"),editable:!1,anchor:"100%",baseParams:{action:"Element/Template/GetList",combo:!0},value:MODx.config.default_template},{xtype:"textfield",name:"alias",id:"modx-"+this.ident+"-alias",fieldLabel:_("resource_alias"),description:"[[*alias]]
    "+_("resource_alias_help"),anchor:"100%"},{xtype:"textfield",name:"menutitle",id:"modx-"+this.ident+"-menutitle",fieldLabel:_("resource_menutitle"),description:"[[*menutitle]]
    "+_("resource_menutitle_help"),anchor:"100%"},{xtype:"textfield",fieldLabel:_("resource_link_attributes"),description:"[[*link_attributes]]
    "+_("resource_link_attributes_help"),name:"link_attributes",id:"modx-"+this.ident+"-attributes",maxLength:255,anchor:"100%"},{xtype:"xcheckbox",boxLabel:_("resource_hide_from_menus"),description:"[[*hidemenu]]
    "+_("resource_hide_from_menus_help"),hideLabel:!0,name:"hidemenu",id:"modx-"+this.ident+"-hidemenu",inputValue:1,checked:"1"==MODx.config.hidemenu_default?1:0},{xtype:"xcheckbox",boxLabel:_("resource_published"),description:"[[*published]]
    "+_("resource_published_help"),hideLabel:!0,name:"published",id:"modx-"+this.ident+"-published",inputValue:1,checked:"1"==MODx.config.publish_default?1:0},{xtype:"xcheckbox",boxLabel:_("deleted"),description:"[[*deleted]]
    "+_("resource_delete"),hideLabel:!0,name:"deleted",id:"modx-"+this.ident+"-deleted",inputValue:1,checked:"1"==MODx.config.deleted_default?1:0}]}]},MODx.getQRContentField(this.ident,config.record.class_key)]},{id:"modx-"+this.ident+"-settings",title:_("settings"),layout:"form",cls:"modx-panel",autoHeight:!0,forceLayout:!0,labelWidth:100,defaults:{autoHeight:!0,border:!1},items:MODx.getQRSettings(this.ident,config.record)}]}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}]}),MODx.window.QuickCreateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickCreateResource,MODx.Window),Ext.reg("modx-window-quick-create-modResource",MODx.window.QuickCreateResource),MODx.window.QuickUpdateResource=function(config){config=config||{},this.ident=config.ident||"qur"+Ext.id(),Ext.applyIf(config,{title:_("quick_update_resource"),id:this.ident,action:"Resource/Update",buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){this.hide()}},{text:config.saveBtnText||_("save"),scope:this,handler:function(){this.submit(!1)}},{text:config.saveBtnText||_("save_and_close"),cls:"primary-button",scope:this,handler:this.submit}]}),MODx.window.QuickUpdateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickUpdateResource,MODx.window.QuickCreateResource),Ext.reg("modx-window-quick-update-modResource",MODx.window.QuickUpdateResource),MODx.getQRContentField=function(id,cls){id=id||"qur",cls=cls||"MODX\\Revolution\\modDocument";Ext.getBody().getViewSize();var o={};switch(cls){case"MODX\\Revolution\\modSymLink":o={xtype:"textfield",fieldLabel:_("symlink"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255};break;case"MODX\\Revolution\\modWebLink":o={xtype:"textfield",fieldLabel:_("weblink"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255,value:""};break;case"MODX\\Revolution\\modStaticResource":o={xtype:"modx-combo-browser",browserEl:"modx-browser",prependPath:!1,prependUrl:!1,fieldLabel:_("static_resource"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255,value:"",listeners:{select:{fn:function(data){"/"==data.url.substring(0,1)&&Ext.getCmp("modx-"+id+"-content").setValue(data.url.substring(1))},scope:this}}};break;default:o={xtype:"textarea",name:"content",id:"modx-"+id+"-content",fieldLabel:_("content"),labelSeparator:"",anchor:"100%",style:"min-height: 200px",grow:!0}}return o},MODx.getQRSettings=function(id,va){return[{layout:"column",border:!1,anchor:"100%",defaults:{labelSeparator:"",labelAlign:"top",border:!1,layout:"form"},items:[{columnWidth:.5,items:[{xtype:"hidden",name:"parent",id:"modx-"+(id=id||"qur")+"-parent",value:va.parent},{xtype:"hidden",name:"context_key",id:"modx-"+id+"-context_key",value:va.context_key},{xtype:"hidden",name:"class_key",id:"modx-"+id+"-class_key",value:va.class_key},{xtype:"hidden",name:"publishedon",id:"modx-"+id+"-publishedon",value:va.publishedon},{xtype:"modx-field-parent-change",fieldLabel:_("resource_parent"),description:"[[*parent]]
    "+_("resource_parent_help"),name:"parent-cmb",id:"modx-"+id+"-parent-change",value:va.parent||0,anchor:"100%",parentcmp:"modx-"+id+"-parent",contextcmp:"modx-"+id+"-context_key",currentid:va.id||0},{xtype:"modx-combo-class-derivatives",fieldLabel:_("resource_type"),description:"[[*class_key]]
    ",name:"class_key",hiddenName:"class_key",id:"modx-"+id+"-class-key",anchor:"100%",value:null!=va.class_key?va.class_key:"MODX\\Revolution\\modDocument"},{xtype:"modx-combo-content-type",fieldLabel:_("resource_content_type"),description:"[[*content_type]]
    "+_("resource_content_type_help"),name:"content_type",hiddenName:"content_type",id:"modx-"+id+"-type",anchor:"100%",value:null!=va.content_type?va.content_type:MODx.config.default_content_type||1},{xtype:"modx-combo-content-disposition",fieldLabel:_("resource_contentdispo"),description:"[[*content_dispo]]
    "+_("resource_contentdispo_help"),name:"content_dispo",hiddenName:"content_dispo",id:"modx-"+id+"-dispo",anchor:"100%",value:null!=va.content_dispo?va.content_dispo:0},{xtype:"numberfield",fieldLabel:_("resource_menuindex"),description:"[[*menuindex]]
    "+_("resource_menuindex_help"),name:"menuindex",id:"modx-"+id+"-menuindex",width:75,value:va.menuindex||0}]},{columnWidth:.5,items:[{xtype:"xdatetime",fieldLabel:_("resource_publishedon"),description:"[[*publishedon]]
    "+_("resource_publishedon_help"),name:"publishedon",id:"modx-"+id+"-publishedon",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.publishedon},{xtype:va.canpublish?"xdatetime":"hidden",fieldLabel:_("resource_publishdate"),description:"[[*pub_date]]
    "+_("resource_publishdate_help"),name:"pub_date",id:"modx-"+id+"-pub-date",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.pub_date},{xtype:va.canpublish?"xdatetime":"hidden",fieldLabel:_("resource_unpublishdate"),description:"[[*unpub_date]]
    "+_("resource_unpublishdate_help"),name:"unpub_date",id:"modx-"+id+"-unpub-date",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.unpub_date},{xtype:"xcheckbox",boxLabel:_("resource_folder"),description:_("resource_folder_help"),hideLabel:!0,name:"isfolder",id:"modx-"+id+"-isfolder",inputValue:1,checked:null!=va.isfolder&&va.isfolder},{xtype:"xcheckbox",boxLabel:_("resource_show_in_tree"),description:_("resource_show_in_tree_help"),hideLabel:!0,name:"show_in_tree",id:"modx-"+id+"-show_in_tree",inputValue:1,checked:null!=va.show_in_tree?va.show_in_tree:1},{xtype:"xcheckbox",boxLabel:_("resource_hide_children_in_tree"),description:_("resource_hide_children_in_tree_help"),hideLabel:!0,name:"hide_children_in_tree",id:"modx-"+id+"-hide_children_in_tree",inputValue:1,checked:null!=va.hide_children_in_tree&&va.hide_children_in_tree},{xtype:"xcheckbox",boxLabel:_("resource_alias_visible"),description:_("resource_alias_visible_help"),hideLabel:!0,name:"alias_visible",id:"modx-"+id+"-alias-visible",inputValue:1,checked:null!=va.alias_visible?va.alias_visible:1},{xtype:"xcheckbox",boxLabel:_("resource_uri_override"),description:_("resource_uri_override_help"),hideLabel:!0,name:"uri_override",id:"modx-"+id+"-uri-override",value:1,checked:!!parseInt(va.uri_override),listeners:{check:{fn:MODx.handleFreezeUri}}},{xtype:"textfield",fieldLabel:_("resource_uri"),description:"[[*uri]]
    "+_("resource_uri_help"),name:"uri",id:"modx-"+id+"-uri",maxLength:255,anchor:"100%",value:va.uri||"",hidden:!va.uri_override},{xtype:"xcheckbox",boxLabel:_("resource_richtext"),description:_("resource_richtext_help"),hideLabel:!0,name:"richtext",id:"modx-"+id+"-richtext",inputValue:1,checked:void 0!==va.richtext?va.richtext?1:0:"1"==MODx.config.richtext_default?1:0},{xtype:"xcheckbox",boxLabel:_("resource_searchable"),description:_("resource_searchable_help"),hideLabel:!0,name:"searchable",id:"modx-"+id+"-searchable",inputValue:1,checked:void 0!==va.searchable?va.searchable?1:0:"1"==MODx.config.search_default?1:0,listeners:{check:{fn:MODx.handleQUCB}}},{xtype:"xcheckbox",boxLabel:_("resource_cacheable"),description:_("resource_cacheable_help"),hideLabel:!0,name:"cacheable",id:"modx-"+id+"-cacheable",inputValue:1,checked:void 0!==va.cacheable?va.cacheable?1:0:"1"==MODx.config.cache_default?1:0},{xtype:"xcheckbox",name:"clearCache",id:"modx-"+id+"-clearcache",boxLabel:_("resource_syncsite"),description:_("resource_syncsite_help"),hideLabel:!0,inputValue:1,checked:void 0!==va.clearCache?va.clearCache?1:0:"1"==MODx.config.syncsite_default?1:0}]}]}]},MODx.handleQUCB=function(cb){var h=Ext.getCmp(cb.id+"-hd");cb.checked&&h?(cb.setValue(1),h.setValue(1)):h&&(cb.setValue(0),h.setValue(0))},MODx.handleFreezeUri=function(cb){var uri=Ext.getCmp(cb.id.replace("-override",""));if(!uri)return!1;cb.checked?uri.show():uri.hide()},Ext.override(Ext.tree.AsyncTreeNode,{listeners:{click:{fn:function(){return console.log("Clicked me!",arguments),!1},scope:this}}}),MODx.window.CreateResource=function(config={}){this.ident=config.ident||`tplpick${Ext.id()}`;const id=this.ident,requireAlias=parseInt(MODx.config.friendly_urls,10)&&!parseInt(MODx.config.automatic_alias,10),aliasLength=parseInt(MODx.config.friendly_alias_max_length,10)||0,resourceDetail=[{columnWidth:requireAlias?.33:.5,items:[{xtype:"modx-combo-class-derivatives",fieldLabel:_("resource_type"),description:MODx.expandHelp?"":_("resource_type_help"),name:"class_key",hiddenName:"class_key",anchor:"100%",allowBlank:!1,value:config.record.class_key||"MODX\\Revolution\\modDocument"}]},{columnWidth:requireAlias?.33:.5,items:[{xtype:"modx-field-parent-change",fieldLabel:_("resource_parent"),description:`[[*parent]]
    ${_("resource_parent_help")}`,name:"parent-cmb",id:`modx-${id}-parent-change`,value:config.record.parent||0,anchor:"100%",parentcmp:"modx-template-picker-parent-id",contextcmp:"modx-template-picker-parent-context",currentid:id}]}];requireAlias&&resourceDetail.push({columnWidth:.34,defaults:{anchor:"100%",enableKeyEvents:!0,validationEvent:"change",validateOnBlur:!1,msgTarget:"under"},items:[{xtype:"textfield",fieldLabel:_("resource_alias"),name:"alias",allowBlank:!1,maxLength:aliasLength>191||0===aliasLength?191:aliasLength,value:config.record.alias||"",listeners:{afterrender:function(){this.clearInvalid()}}}]}),Ext.applyIf(config,{autoHeight:!0,title:_("document_new"),url:MODx.config.connector_url,baseParams:{action:"Resource/Create"},width:600,fields:[{xtype:"textfield",fieldLabel:_("resource_pagetitle"),description:MODx.expandHelp?"":_("resource_pagetitle_help"),name:"pagetitle",maxLength:191,anchor:"100%",allowBlank:!1,validationEvent:"change",validateOnBlur:!1,value:config.record.pagetitle||"",listeners:{afterrender:function(){this.clearInvalid()}}},{xtype:"hidden",name:"parent",id:"modx-template-picker-parent-id"},{xtype:"hidden",name:"context_key",id:"modx-template-picker-parent-context"},{layout:"column",defaults:{layout:"form",labelSeparator:""},items:resourceDetail},{xtype:"modx-panel-template-picker",fieldLabel:_("resource_template"),description:MODx.expandHelp?"":_("resource_template_help"),name:"template",value:config.record.template||MODx.config.default_template}]}),MODx.window.CreateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.CreateResource,MODx.Window),Ext.reg("modx-window-create-resource",MODx.window.CreateResource),MODx.panel.TemplatePicker=function(config){config=config||{},Ext.applyIf(config,{xtype:"panel",layout:"form",labelSeparator:"",items:[{layout:"column",defaults:{layout:"form",labelSeparator:""},items:[{columnWidth:.4,items:[{xtype:"modx-combo-template-picker",id:"modx-resource-template-picker",name:"template",value:config.record||MODx.config.default_template,listeners:{select:{fn:this.setPreview,scope:this}}}]},{columnWidth:.6,items:[{xtype:"modx-panel-template-preview",id:"modx-resource-template-preview"}]}]}]}),MODx.panel.TemplatePicker.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.TemplatePicker,Ext.Panel,{setPreview:function(record){Ext.getCmp("modx-resource-template-preview").setPreview(record)}}),Ext.reg("modx-panel-template-picker",MODx.panel.TemplatePicker),MODx.combo.TemplatePicker=function(config){config=config||{},Ext.applyIf(config,{cls:"x-form-template-picker",layout:"form",defaults:{hideLabel:!0},items:[{xtype:"textfield",itemCls:"x-form-template-picker-search",cls:"x-form-field-search",anchor:"100%",emptyText:_("search"),listeners:{keyup:{fn:this.filterItems,scope:this}},enableKeyEvents:!0}],store:new Ext.data.JsonStore({url:MODx.config.connector_url,baseParams:{action:"Element/Template/GetList",combo:!0,limit:0},root:"results",totalProperty:"total",fields:["id","templatename","description","category_name","preview"],errorReader:MODx.util.JSONReader,autoDestroy:!0,autoLoad:!0,listeners:{load:{fn:this.loadItems,scope:this},loadexception:{fn:function(o,trans,resp){var status=_("code")+": "+resp.status+" "+resp.statusText+"
    ";MODx.msg.alert(_("error"),status+resp.responseText)}}}})}),MODx.combo.TemplatePicker.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TemplatePicker,Ext.Panel,{loadItems:function(store,data){var value=this.value,items=[],category="";Ext.each(data,(function(record){category!==record.data.category_name&&(Ext.isEmpty(record.data.category_name)||items.push({hideLabel:!0,boxLabel:record.data.category_name,disabled:!0,itemCls:"x-form-template-picker-category"})),items.push({hideLabel:!0,boxLabel:record.data.templatename,name:this.name||"template",inputValue:record.data.id,itemCls:"x-form-template-picker-item",record,checked:record.data.id==value}),category=record.data.category_name}),this),this.add({xtype:"radiogroup",id:"modx-template-picker-templates",itemCls:"x-form-template-picker-templates",columns:1,items,listeners:{render:{fn:function(cmp){const record=cmp.getValue()?.record;record&&this.fireEvent("select",record)},scope:this},change:{fn:function(cmp,checked){checked.record&&this.fireEvent("select",checked.record)},scope:this}}}),this.doLayout()},filterItems:function(tf){void 0!==(panel=Ext.getCmp("modx-template-picker-templates"))&&panel.items.each((function(object){if(!Ext.isEmpty(tf.getValue())&&object.record){var regex=new RegExp(tf.getValue(),"i");-1===object.record.data.templatename.search(regex)?object.hide():object.show()}else object.show()}))}}),Ext.reg("modx-combo-template-picker",MODx.combo.TemplatePicker),MODx.panel.TemplatePreview=function(config){config=config||{},Ext.applyIf(config,{cls:"x-form-template-preview"}),MODx.panel.TemplatePreview.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.TemplatePreview,Ext.Panel,{setPreview:function(record){if(this.removeAll(),""==record.data.preview||void 0===record.data.preview){this.addClass("x-form-template-preview-empty");var html=""}else{this.removeClass("x-form-template-preview-empty");html=''+record.data.templatename+''}this.add({xtype:"box",autoEl:{tag:"div",cls:"x-form-template-preview-image",html},hidden:""==record.data.image},{xtype:"box",autoEl:{tag:"div",cls:"x-form-template-preview-desc",html:"

    "+record.data.description+"

    "},hidden:""==record.data.description}),this.doLayout()}}),Ext.reg("modx-panel-template-preview",MODx.panel.TemplatePreview),MODx.tree.Element=function(config){config=config||{},Ext.applyIf(config,{rootVisible:!1,enableDD:!Ext.isEmpty(MODx.config.enable_dragdrop),ddGroup:"modx-treedrop-elements-dd",title:"",url:MODx.config.connector_url,action:"Element/GetNodes",sortAction:"Element/Sort",baseParams:{currentElement:MODx.request.id||0,currentAction:MODx.request.a||0}}),MODx.tree.Element.superclass.constructor.call(this,config),this.on("afterSort",this.afterSort)},Ext.extend(MODx.tree.Element,MODx.tree.Tree,{forms:{},windows:{},stores:{},getToolbar:function(){return[]},createCategory:function(n,e){var r={};this.cm.activeNode&&this.cm.activeNode.attributes.data&&(r.parent=this.cm.activeNode.attributes.data.id),MODx.load({xtype:"modx-window-category-create",record:r,listeners:{success:{fn:function(){var node=this.cm.activeNode?this.cm.activeNode.id:"n_category",self=-1!==node.indexOf("_category_");this.refreshNode(node,self)},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},renameCategory:function(itm,e){var r=this.cm.activeNode.attributes.data,w=MODx.load({xtype:"modx-window-category-rename",record:r,listeners:{success:{fn:function(r){var c=r.a.result.object,n=this.cm.activeNode;n.setText(c.category+" ("+c.id+")"),Ext.get(n.getUI().getEl()).frame(),n.attributes.data.id=c.id,n.attributes.data.category=c.category,n.attributes.data.rank=c.rank},scope:this},hide:{fn:function(){this.destroy()}}}});w.show(e.target)},removeCategory:function(itm,e){var id=this.cm.activeNode.attributes.data.id;MODx.msg.confirm({title:_("warning"),text:_("category_confirm_delete"),url:MODx.config.connector_url,params:{action:"Element/Category/Remove",id},listeners:{success:{fn:function(){this.cm.activeNode.remove()},scope:this}}})},duplicateElement:function(itm,e,id,type){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"element/"+type+"/get",id},listeners:{success:{fn:function(results){var rec={id,type,name:_("duplicate_of",{name:this.cm.activeNode.attributes.name}),caption:_("duplicate_of",{name:this.cm.activeNode.attributes.caption}),category:results.object.category,source:results.object.source,static:results.object.static,static_file:results.object.static_file};MODx.load({xtype:"modx-window-element-duplicate",record:rec,redirect:!1,listeners:{success:{fn:function(r){var response=Ext.decode(r.a.response.responseText);response.object.redirect?MODx.loadPage("element/"+rec.type+"/update","id="+response.object.id):this.refreshNode(this.cm.activeNode.id)},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},extractElementIdentifiersFromActiveNode:function(activeNode){let startIndex;const extractedData={};switch(!0){case 0===activeNode.id.indexOf("n_type_"):startIndex=7;break;case 0===activeNode.id.indexOf("n_c_"):startIndex=4;break;default:startIndex=2}const identifiers=activeNode.id.substr(startIndex).split("_");switch([extractedData.type]=identifiers,identifiers.length){case 4:return{...extractedData,elementId:parseInt(identifiers[2],10),categoryId:parseInt(identifiers[3],10)};case 3:return{...extractedData,categoryId:parseInt(identifiers[2],10)};case 1:return extractedData}return!1},removeElement:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.msg.confirm({title:_("warning"),text:_("remove_this_confirm",{type:_(elementIdentifiers.type),name:this.cm.activeNode.attributes.name}),url:MODx.config.connector_url,params:{action:`element/${elementIdentifiers.type}/remove`,id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.cm.activeNode.remove(),MODx.request.a===`element/${elementIdentifiers.type}/update`&&parseInt(MODx.request.id,10)===elementIdentifiers.elementId&&MODx.loadPage("welcome")},scope:this}}})},activatePlugin:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Element/Plugin/Activate",id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.refreshParentNode()},scope:this}}})},deactivatePlugin:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Element/Plugin/Deactivate",id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.refreshParentNode()},scope:this}}})},quickCreate:function(itm,e,type){var r={category:this.cm.activeNode.attributes.pk||""},w=MODx.load({xtype:"modx-window-quick-create-"+type,record:r,listeners:{success:{fn:function(){this.refreshNode(this.cm.activeNode.id,!0)},scope:this},hide:{fn:function(){this.destroy()}}}});w.setValues(r),w.show(e.target)},quickUpdate:function(itm,e,type){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"element/"+type+"/get",id:this.cm.activeNode.attributes.pk},listeners:{success:{fn:function(r){var nameField="template"==type?"templatename":"name",w=MODx.load({xtype:"modx-window-quick-update-"+type,record:r.object,listeners:{success:{fn:function(r){this.refreshNode(this.cm.activeNode.id);var newTitle=''+r.f.findField(nameField).getValue()+" ("+w.record.id+")";w.setTitle(w.title.replace(//,newTitle))},scope:this},hide:{fn:function(){this.destroy()}}}});w.title+=': '+w.record[nameField]+" ("+w.record.id+")",w.setValues(r.object),w.show(e.target)},scope:this}}})},_createElement:function(itm,e,t){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);return this.redirect(`?a=element/${elementIdentifiers.type}/create&category=${elementIdentifiers.categoryId}`),this.cm.hide(),!1},afterSort:function(o){var tn=o.event.target.attributes;if("category"==tn.type){var dn=o.event.dropNode.attributes;"n_category"!=tn.id&&"category"==dn.type?o.event.target.expand():(this.refreshNode(o.event.target.attributes.id,!0),this.refreshNode("n_type_"+o.event.dropNode.attributes.type,!0))}},_handleDrop:function(e){var target=e.target;return"above"!=e.point&&"below"!=e.point&&(("MODX\\Revolution\\modCategory"==target.attributes.classKey||"root"==target.attributes.classKey)&&(!!this.isCorrectType(e.dropNode,target)&&("category"==target.attributes.type&&"append"==e.point||target.getDepth()>0)))},isCorrectType:function(dropNode,targetNode){var r=!1;return targetNode.attributes.type==dropNode.attributes.type&&(targetNode.parentNode&&("folder"==dropNode.attributes.cls&&"folder"==targetNode.attributes.cls&&dropNode.parentNode.id==targetNode.parentNode.id||"file"==targetNode.attributes.cls)||(r=!0)),r},_showContextMenu:function(n,e){if(this.cm.activeNode=n,this.cm.removeAll(),n.attributes.menu&&n.attributes.menu.items)this.addContextMenuItem(n.attributes.menu.items),this.cm.show(n.getUI().getEl(),"t?");else{var m=[];switch(n.attributes.classKey){case"root":m=this._getRootMenu(n);break;case"MODX\\Revolution\\modCategory":m=this._getCategoryMenu(n);break;default:m=this._getElementMenu(n)}this.addContextMenuItem(m),this.cm.showAt(e.xy)}e.stopEvent()},_getQuickCreateMenu:function(n,m){for(var t,ui=n.getUI(),mn=[],types=["template","tv","chunk","snippet","plugin"],i=0;i0&&m.push({text:_("quick_create"),handler:function(){return!1},menu:{items:mn}}),m},_getElementMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pedit")&&(m.push({text:_("edit_"+a.type),type:a.type,pk:a.pk,handler:function(itm,e){MODx.loadPage("element/"+itm.type+"/update","id="+itm.pk)}}),m.push({text:_("quick_update_"+a.type),type:a.type,handler:function(itm,e){this.quickUpdate(itm,e,itm.type)}}),"MODX\\Revolution\\modPlugin"===a.classKey&&(a.active?m.push({text:_("plugin_deactivate"),type:a.type,handler:this.deactivatePlugin}):m.push({text:_("plugin_activate"),type:a.type,handler:this.activatePlugin}))),ui.hasClass("pnew")&&m.push({text:_("duplicate_"+a.type),pk:a.pk,type:a.type,handler:function(itm,e){this.duplicateElement(itm,e,itm.pk,itm.type)}}),ui.hasClass("pdelete")&&(m.push("-"),m.push({text:_("remove_"+a.type),handler:this.removeElement})),m.push("-"),ui.hasClass("pnew")&&m.push({text:_("add_to_category_"+a.type),handler:this._createElement}),ui.hasClass("pnewcat")&&m.push({text:_("category_create"),handler:this.createCategory}),m},_getCategoryMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pnewcat")&&m.push({text:_("category_create"),handler:this.createCategory}),ui.hasClass("peditcat")&&m.push({text:_("category_rename"),handler:this.renameCategory}),m.length>2&&m.push("-"),ui.hasClass("pnew_"+a.type)&&m.push({text:_("add_to_category_"+a.type),handler:this._createElement}),this._getQuickCreateMenu(n,m),ui.hasClass("pdelcat")&&(m.push("-"),m.push({text:_("category_remove"),handler:this.removeCategory})),m},_getRootMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];if(ui.hasClass("pnew")&&(m.push({text:_("new_"+a.type),handler:this._createElement}),m.push({text:_("quick_create_"+a.type),type:a.type,handler:function(itm,e){this.quickCreate(itm,e,itm.type)}})),ui.hasClass("pnewcat")&&(ui.hasClass("pnew")&&m.push("-"),m.push({text:_("category_create"),handler:this.createCategory})),n.isLoaded()){var childNodes=n.childNodes;childNodes.some((function(child){return!child.leaf}))&&(m.push("-"),n.isExpanded()&&childNodes.some((function(child){return child.isExpanded()}))&&m.push({text:_("collapse_all"),handler:function(){n.collapseChildNodes()}}),m.push({text:_("expand_all"),handler:function(){n.isExpandable()&&n.expand(!0)}}))}return m},handleCreateClick:function(node){this.cm.activeNode=node,"category"!=this.cm.activeNode.id.substr(2).split("_")[0]?this._createElement(null,null,null):this.createCategory(null,{target:this})}}),Ext.reg("modx-tree-element",MODx.tree.Element),MODx.tree.Directory=function(config){(config=config||{}).id=config.id||Ext.id(),Ext.applyIf(config,{rootVisible:!0,rootName:"Filesystem",rootId:"/",title:_("files"),ddAppendOnly:!0,ddGroup:"modx-treedrop-sources-dd",url:MODx.config.connector_url,hideSourceCombo:!1,baseParams:{hideFiles:config.hideFiles||!1,hideTooltips:config.hideTooltips||!1,wctx:MODx.ctx||"web",currentAction:MODx.request.a||0,currentFile:MODx.request.file||"",source:config.source||0},action:"Browser/Directory/GetList",primaryKey:"dir",useDefaultToolbar:!0,autoExpandRoot:!1,tbar:[{cls:"x-btn-icon icon-folder",tooltip:{text:_("file_folder_create")},handler:this.createDirectory,scope:this,hidden:!MODx.perm.directory_create},{cls:"x-btn-icon icon-page_white",tooltip:{text:_("file_create")},handler:this.quickCreateFile,scope:this,hidden:!MODx.perm.file_create},{cls:"x-btn-icon icon-file_upload",tooltip:{text:_("upload_files")},handler:this.uploadFiles,scope:this,hidden:!MODx.perm.file_upload},"->",{cls:"x-btn-icon icon-file_manager",tooltip:{text:_("modx_browser")},handler:this.loadFileManager,scope:this,hidden:!(MODx.perm.file_manager&&!MODx.browserOpen)}],tbarCfg:{id:config.id+"-tbar"}}),MODx.tree.Directory.superclass.constructor.call(this,config),this.addEvents({beforeUpload:!0,afterUpload:!0,afterQuickCreate:!0,afterRename:!0,afterRemove:!0,fileBrowserSelect:!0,changeSource:!0,afterSort:!0}),this.on("click",(function(n,e){n.select(),this.cm.activeNode=n}),this),this.on("render",(function(){var el=Ext.get(this.config.id);el.createChild({tag:"div",id:this.config.id+"_tb"}),el.createChild({tag:"div",id:this.config.id+"_filter"}),this.addSourceToolbar()}),this),this.on("show",(function(){if(!this.config.hideSourceCombo)try{this.sourceCombo.show()}catch(e){}}),this),this._init(),this.on("afterrender",this.showRefresh,this),this.on("afterSort",this._handleAfterDrop,this),this.on("click",(function(e){null!=this.uploader&&this.uploader.setBaseParams({path:e.id})})),this.uploader=new MODx.util.MultiUploadDialog.Upload({url:MODx.config.connector_url,base_params:{action:"Browser/File/Upload",wctx:MODx.ctx||"",source:this.getSource()}}),this.uploader.on("beforeupload",this.beforeUpload,this),this.uploader.on("uploadsuccess",this.uploadSuccess,this),this.uploader.on("uploaderror",this.uploadError,this),this.uploader.on("uploadfailed",this.uploadFailed,this)},Ext.extend(MODx.tree.Directory,MODx.tree.Tree,{windows:{},getRootMenu:function(node){var menu=[];return MODx.perm.directory_create&&menu.push({text:_("file_folder_create"),handler:this.createDirectory,scope:this}),MODx.perm.file_create&&menu.push({text:_("file_create"),handler:this.createFile,scope:this}),MODx.perm.file_upload&&menu.push({text:_("upload_files"),handler:this.uploadFiles,scope:this}),node.ownerTree.el.hasClass("pupdate")&&menu.push(["-",{text:_("edit"),handler:function(){MODx.loadPage("source/update","id="+node.ownerTree.source)}}]),menu},_showContextMenu:function(node,e){this.cm.activeNode=node,this.cm.removeAll();var m=[];m.push({text:""+node.attributes.text+"",handler:function(){return!1},header:!0}),m.push("-"),node.isRoot?m=m.concat(this.getRootMenu(node)):node.attributes.menu&&node.attributes.menu.items&&(m=m.concat(node.attributes.menu.items)),m&&m.length>0&&(this.addContextMenuItem(m),this.cm.showAt(e.xy)),e.preventDefault(),e.stopEvent()},showRefresh:function(){var node=this.getRootNode(),inlineButtonsLang=this.getInlineButtonsLang(node),elId=node.ui.elNode.id+"_tools",el=document.createElement("div");el.id=elId,el.className="modx-tree-node-tool-ct",node.ui.elNode.appendChild(el),MODx.load({xtype:"modx-button",text:"",scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.refresh,target:this}),node,handler:function(btn,evt){evt.stopPropagation(evt),node.reload()},iconCls:"icon-refresh",renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e)},mouseout:function(button,e){button.tooltip.onTargetOut(e)}}})},addSourceToolbar:function(){if(this.sourceCombo=new MODx.combo.MediaSource({value:this.config.source||MODx.config.default_media_source,listWidth:236,listeners:{select:{fn:this.changeSource,scope:this},loaded:{fn:function(combo){var rec=combo.store.getById(this.config.source),rn=this.getRootNode();rn&&rec&&rn.setText(rec.data.name)},scope:this}}}),this.searchBar=new Ext.Toolbar({renderTo:this.tbar,id:this.config.id+"-sourcebar",items:[this.sourceCombo]}),this.on("resize",(function(){this.sourceCombo.setWidth(this.getWidth()-12)}),this),this.config.hideSourceCombo)try{this.sourceCombo.hide()}catch(e){}},changeSource:function(sel){this.cm.activeNode="";var s=sel.getValue(),rn=this.getRootNode();rn&&rn.setText(sel.getRawValue()),this.config.baseParams.source=s,this.fireEvent("changeSource",s),this.refresh()},_init:function(){var treeState=Ext.state.Manager.get(this.treestate_id);this.root.getPath("text")!==treeState&&this.root.expand()},_initExpand:function(){var treeState=Ext.state.Manager.get(this.treestate_id);Ext.isEmpty(this.config.openTo)?this.expandPath(treeState,"text"):this.selectPath("/"+_("files")+"/"+this.config.openTo,"text")},_saveState:function(n){n.expanded||n.isRoot||(n=n.parentNode),n.id==this.config.openTo&&n.select();var p=n.getPath("text");Ext.state.Manager.set(this.treestate_id,p)},_handleAfterDrop:function(o,r){var targetNode=o.event.target,dropNode=o.event.dropNode;if("append"==o.event.point&&targetNode){var ui=targetNode.getUI();ui.addClass("haschildren"),ui.removeClass("icon-resource")}if("resource/update"===MODx.request.a&&dropNode.attributes.pk==MODx.request.id){var parentFieldCmb=Ext.getCmp("modx-resource-parent"),parentFieldHidden=Ext.getCmp("modx-resource-parent-hidden");parentFieldCmb&&parentFieldHidden&&(parentFieldHidden.setValue(dropNode.parentNode.attributes.pk),parentFieldCmb.setValue(dropNode.parentNode.attributes.text.replace(/(<([^>]+)>)/gi,"")))}targetNode.reload(!0)},_handleDrag:function(dropEvent){var from=dropEvent.dropNode.attributes.id,to=dropEvent.target.attributes.id,orgSource="number"==typeof dropEvent.dropNode.attributes.sid?dropEvent.dropNode.attributes.sid:this.config.baseParams.source,destSource="number"==typeof dropEvent.target.attributes.sid?dropEvent.target.attributes.sid:0;destSource||(destSource=dropEvent.tree.source),MODx.Ajax.request({url:this.config.url,params:{source:orgSource,from,destSource,to,action:this.config.sortAction||"Browser/Directory/Sort",point:dropEvent.point},listeners:{success:{fn:function(r){var el=dropEvent.dropNode.getUI().getTextEl();el&&Ext.get(el).frame(),this.fireEvent("afterSort",{event:dropEvent,result:r})},scope:this},failure:{fn:function(r){return MODx.form.Handler.errorJSON(r),this.refresh(),""!=r.message?MODx.msg.alert(_("error"),r.message):r.data&&r.data[0]&&MODx.msg.alert(r.data[0].id,r.data[0].msg),!1},scope:this}}})},getPath:function(node){let path=node?.attributes?.path||"";return path=path.replace(/^[\/\.]*/,""),path+"/"},editFile:function(itm,e){MODx.loadPage("system/file/edit","file="+this.cm.activeNode.attributes.id+"&source="+this.config.source)},openFile:function(itm,e){this.cm.activeNode.attributes.urlExternal&&window.open(this.cm.activeNode.attributes.urlExternal)},quickUpdateFile:function(itm,e){var node=this.cm.activeNode;MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Get",file:node.attributes.id,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:function(response){var r={file:node.attributes.id,name:node.text,path:node.attributes.pathRelative,source:this.getSource(),content:response.object.content};MODx.load({xtype:"modx-window-file-quick-update",record:r,listeners:{hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},createFile:function(itm,e){var active=this.cm.activeNode,dir="";if(active&&active.attributes)if(active.isRoot||"dir"===active.attributes.type)dir=active.attributes.id;else if("file"===active.attributes.type){var path=active.attributes.path;dir=path.substr(0,path.lastIndexOf("/")+1)}MODx.loadPage("system/file/create","directory="+dir+"&source="+this.getSource())},quickCreateFile:function(itm,e){var node=this.cm.activeNode,r={directory:node?decodeURIComponent(node.attributes.id):"/",source:this.getSource()};MODx.load({xtype:"modx-window-file-quick-create",record:r,listeners:{success:{fn:function(r){this.fireEvent("afterQuickCreate"),this.refreshActiveNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},browser:null,loadFileManager:function(btn,e){var refresh=!1;null===this.browser?this.browser=MODx.load({xtype:"modx-browser",hideFiles:MODx.config.modx_browser_tree_hide_files,rootId:"/",wctx:MODx.ctx,source:this.config.baseParams.source,listeners:{select:{fn:function(data){this.fireEvent("fileBrowserSelect",data)},scope:this}}}):refresh=!0,this.browser&&(this.browser.setSource(this.config.baseParams.source),refresh&&this.browser.win.tree.refresh(),this.browser.show())},renameNode:function(field,nv,ov){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Rename",new_name:nv,old_name:ov,file:this.treeEditor.editNode.id,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:function(r){this.fireEvent("afterRename"),this.refreshActiveNode()},scope:this}}})},renameDirectory:function(item,e){var node=this.cm.activeNode,r={old_name:node.text,name:node.text,path:node.attributes.pathRelative,source:this.getSource()};MODx.load({xtype:"modx-window-directory-rename",record:r,listeners:{success:{fn:this.refreshParentNode,scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},renameFile:function(item,e){var node=this.cm.activeNode,r={old_name:node.text,name:node.text,path:node.attributes.pathRelative,source:this.getSource()};MODx.load({xtype:"modx-window-file-rename",record:r,listeners:{success:{fn:function(r){this.fireEvent("afterRename"),this.refreshParentNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},createDirectory:function(item,e){var node=!(!this.cm||!this.cm.activeNode)&&this.cm.activeNode,r={parent:node&&"dir"==node.attributes.type?node.attributes.pathRelative:"/",source:this.getSource()};MODx.load({xtype:"modx-window-directory-create",record:r,listeners:{success:{fn:function(){var parent=Ext.getCmp("folder-parent").getValue();this.cm.activeNode&&"constructor"===this.cm.activeNode.constructor.name||""===parent||"/"===parent?this.refresh():this.refreshActiveNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e?e.target:Ext.getBody())},setVisibility:function(item,e){var node=this.cm.activeNode,r={path:node.attributes.path,visibility:node.attributes.visibility,source:this.getSource()};MODx.load({xtype:"modx-window-set-visibility",record:r,listeners:{success:{fn:this.refreshParentNode,scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},removeDirectory:function(item,e){var node=this.cm.activeNode,directory=node.attributes.text;MODx.msg.confirm({text:_("file_folder_remove_confirm",{directory}),url:MODx.config.connector_url,params:{action:"Browser/Directory/Remove",dir:node.attributes.path,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:this._afterRemove,scope:this}}})},removeFile:function(item,e){var node=this.cm.activeNode,fileName=node.attributes.text,filePath=node.attributes.pathRelative;MODx.msg.confirm({text:_("file_remove_confirm",{file:fileName}),url:MODx.config.connector_url,params:{action:"Browser/File/Remove",file:filePath,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:this._afterRemove,scope:this}}})},_afterRemove:function(){this.fireEvent("afterRemove"),this.refreshParentNode(),this.cm.activeNode=null},unpackFile:function(item,e){var node=this.cm.activeNode;MODx.msg.confirm({text:_("file_download_unzip")+" "+node.attributes.id,url:MODx.config.connectors_url,params:{action:"Browser/File/Unpack",file:node.attributes.id,wctx:MODx.ctx||"",source:this.getSource(),path:node.attributes.directory},listeners:{success:{fn:this.refreshParentNode,scope:this}}})},downloadFile:function(item,e){var node=this.cm.activeNode;MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Download",file:node.attributes.pathRelative,wctx:MODx.ctx||"",source:this.getSource()},listeners:{failure:{fn:function(r){MODx.msg.alert(_("alert"),r.message)},scope:this},success:{fn:function(r){Ext.isEmpty(r.object.url)||(location.href=MODx.config.connector_url+"?action=Browser/File/Download&download=1&file="+r.object.url+"&HTTP_MODAUTH="+MODx.siteId+"&source="+this.getSource()+"&wctx="+MODx.ctx)},scope:this}}})},copyRelativePath:function(item,e){var node=this.cm.activeNode,dummyRelativePathInput=document.createElement("input");document.body.appendChild(dummyRelativePathInput),dummyRelativePathInput.setAttribute("value",node.attributes.pathRelative),dummyRelativePathInput.select(),document.execCommand("copy"),document.body.removeChild(dummyRelativePathInput)},getSource:function(){return this.config.baseParams.source},uploadFiles:function(){this.uploader.setBaseParams({source:this.getSource()}),this.uploader.browser=MODx.config.browserview,this.uploader.show()},uploadError:function(dlg,file,data,rec){},uploadFailed:function(dlg,file,rec){},uploadSuccess:function(){if(this.cm.activeNode){var node=this.cm.activeNode;if(node.isLeaf()){var pn=node.isLeaf()?node.parentNode:node;pn?pn.reload():node.id.match(/.*?\/$/)&&this.refreshActiveNode(),this.fireEvent("afterUpload",node)}else this.refreshActiveNode()}else this.refresh(),this.fireEvent("afterUpload")},beforeUpload:function(){var path=this.config.openTo||this.config.rootId||"/";this.cm.activeNode&&(path=this.getPath(this.cm.activeNode),this.cm.activeNode.isLeaf()&&(path=this.getPath(this.cm.activeNode.parentNode))),this.uploader.setBaseParams({action:"Browser/File/Upload",path,wctx:MODx.ctx||"",source:this.getSource()}),this.fireEvent("beforeUpload",this.cm.activeNode)}}),Ext.reg("modx-tree-directory",MODx.tree.Directory),MODx.window.CreateDirectory=function(config){config=config||{},Ext.applyIf(config,{title:_("file_folder_create"),url:MODx.config.connector_url,action:"Browser/Directory/Create",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{fieldLabel:_("file_folder_parent"),id:"folder-parent",name:"parent",xtype:"textfield",anchor:"100%"},{xtype:"label",forId:"folder-parent",html:_("file_folder_parent_desc"),cls:"desc-under"}]}),MODx.window.CreateDirectory.superclass.constructor.call(this,config)},Ext.extend(MODx.window.CreateDirectory,MODx.Window),Ext.reg("modx-window-directory-create",MODx.window.CreateDirectory),MODx.window.SetVisibility=function(config){config=config||{},Ext.applyIf(config,{title:_("file_folder_visibility"),url:MODx.config.connector_url,action:"Browser/Visibility",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{name:"path",fieldLabel:_("file_folder_path"),xtype:"statictextfield",anchor:"100%",submitValue:!0},{fieldLabel:_("file_folder_visibility_label"),name:"visibility",xtype:"modx-combo-visibility",anchor:"100%",allowBlank:!1},{hideLabel:!0,xtype:"displayfield",value:_("file_folder_visibility_desc"),anchor:"100%",allowBlank:!1}]}),MODx.window.SetVisibility.superclass.constructor.call(this,config)},Ext.extend(MODx.window.SetVisibility,MODx.Window),Ext.reg("modx-window-set-visibility",MODx.window.SetVisibility),MODx.window.RenameDirectory=function(config){config=config||{},Ext.applyIf(config,{title:_("rename"),url:MODx.config.connector_url,action:"Browser/Directory/Rename",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",submitValue:!0,anchor:"100%"},{fieldLabel:_("old_name"),name:"old_name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("new_name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1}]}),MODx.window.RenameDirectory.superclass.constructor.call(this,config)},Ext.extend(MODx.window.RenameDirectory,MODx.Window),Ext.reg("modx-window-directory-rename",MODx.window.RenameDirectory),MODx.window.RenameFile=function(config){config=config||{},Ext.applyIf(config,{title:_("rename"),url:MODx.config.connector_url,action:"Browser/File/Rename",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",submitValue:!0,anchor:"100%"},{fieldLabel:_("old_name"),name:"old_name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("new_name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{name:"dir",xtype:"hidden"}]}),MODx.window.RenameFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.RenameFile,MODx.Window),Ext.reg("modx-window-file-rename",MODx.window.RenameFile),MODx.window.QuickUpdateFile=function(config){config=config||{},Ext.applyIf(config,{title:_("file_quick_update"),width:600,layout:"anchor",url:MODx.config.connector_url,action:"Browser/File/Update",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{xtype:"hidden",name:"file"},{fieldLabel:_("name"),name:"name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("content"),xtype:"textarea",name:"content",anchor:"100%",height:200}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}],buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){this.hide()}},{text:config.saveBtnText||_("save"),scope:this,handler:function(){this.submit(!1)}},{text:config.saveBtnText||_("save_and_close"),cls:"primary-button",scope:this,handler:this.submit}]}),MODx.window.QuickUpdateFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickUpdateFile,MODx.Window),Ext.reg("modx-window-file-quick-update",MODx.window.QuickUpdateFile),MODx.window.QuickCreateFile=function(config){config=config||{},Ext.applyIf(config,{title:_("file_quick_create"),width:600,layout:"anchor",url:MODx.config.connector_url,action:"Browser/File/Create",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("directory"),name:"directory",submitValue:!0,xtype:"statictextfield",anchor:"100%"},{xtype:"label",html:_("file_folder_parent_desc"),cls:"desc-under"},{fieldLabel:_("name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{fieldLabel:_("content"),xtype:"textarea",name:"content",anchor:"100%",height:200}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}]}),MODx.window.QuickCreateFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickCreateFile,MODx.Window),Ext.reg("modx-window-file-quick-create",MODx.window.QuickCreateFile),MODx.panel.FileTree=function(config){config=config||{},Ext.applyIf(config,{_treePrefix:"source-tree-",autoHeight:!0,defaults:{autoHeight:!0,border:!1}}),MODx.panel.FileTree.superclass.constructor.call(this,config),this.on("render",this.getSourceList,this)},Ext.extend(MODx.panel.FileTree,Ext.Container,{getSourceList:function(){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Source/GetList",limit:0},listeners:{success:{fn:function(data){this.onSourceListReceived(data.results)},scope:this},failure:{fn:function(data){return data.total>0&&null!=data.results&&this.onSourceListReceived(data.results),!1},scope:this}}})},onSourceListReceived:function(sources){for(var k=0;k=0&&rect.left>=0&&rect.top<=height&&(image.src=image.getAttribute("data-src"),delete this.thumbnails[i])}}},refresh:function(){MODx.DataView.prototype.refresh.call(this),this.thumbnails=Array.prototype.slice.call(document.querySelectorAll("img[data-src]")),this.lazyLoad()},listeners:{selectionchange:{fn:this.showDetails,scope:this,buffer:100},dblclick:config.onSelect||{fn:Ext.emptyFn,scope:this},render:{fn:this.sortStore,scope:this},afterrender:{fn:function(){this.getEl().parent().on("scroll",(function(){this.lazyLoad()}),this),null!=this.tree&&null!=this.tree.uploader&&this.tree.uploader.addDropZone(this.ownerCt,this),MODx.config.browserview=this},scope:this}},prepareData:this.formatData.createDelegate(this),multiSelect:!0}),MODx.browser.View.superclass.constructor.call(this,config)},Ext.extend(MODx.browser.View,MODx.DataView,{templates:{},run:function(p){(p=p||{}).dir&&(this.dir=p.dir),Ext.applyIf(p,{action:"Browser/Directory/GetFiles",dir:this.dir,source:this.config.source||MODx.config.default_media_source}),this.mask=new Ext.LoadMask(Ext.getBody(),{msg:_("loading")}),this.mask.show(),this.store.load({params:p,callback:function(rec,options,success){this.mask.hide(),this.refresh(),Ext.getCmp(this.ident+"-filepath").setValue(""),this.select(0)},scope:this})},editFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.loadPage("system/file/edit","file="+data.pathRelative+"&source="+this.config.source)},quickUpdateFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Get",file:data.pathRelative,wctx:MODx.ctx||"",source:this.config.source},listeners:{success:{fn:function(response){var r={file:data.pathRelative,name:data.name,path:decodeURIComponent(data.pathRelative),source:this.config.source,content:response.object.content};MODx.load({xtype:"modx-window-file-quick-update",record:r,listeners:{hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},renameFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],r={old_name:data.name,name:data.name,path:data.pathRelative,source:this.config.source};MODx.load({xtype:"modx-window-file-rename",record:r,listeners:{success:{fn:function(r){this.config.tree.refreshParentNode(),this.run()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},downloadFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Download",file:data.pathRelative,wctx:MODx.ctx||"",source:this.config.source},listeners:{failure:{fn:function(r){MODx.msg.alert(_("alert"),r.message)},scope:this},success:{fn:function(r){Ext.isEmpty(r.object.url)||(location.href=MODx.config.connector_url+"?action=Browser/File/Download&download=1&file="+r.object.url+"&HTTP_MODAUTH="+MODx.siteId+"&source="+this.config.source+"&wctx="+MODx.ctx)},scope:this}}})},copyRelativePath:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],dummyRelativePathInput=document.createElement("input");document.body.appendChild(dummyRelativePathInput),dummyRelativePathInput.setAttribute("value",data.pathRelative),dummyRelativePathInput.select(),document.execCommand("copy"),document.body.removeChild(dummyRelativePathInput)},removeFile:function(){var files=[],filesNames=[],selected=this.getSelectedRecords();for(var i in selected)selected.hasOwnProperty(i)&&(files.push(selected[i].id),filesNames.push(selected[i].data.name));MODx.msg.confirm({text:_("file_remove_confirm",{file:filesNames.pop()}),url:MODx.config.connector_url,params:{action:"Browser/File/Remove",file:files.pop(),source:this.config.source,wctx:this.config.wctx||"web"},listeners:{success:{fn:function(r){this.config.tree&&(this.config.tree.cm.activeNode&&this.config.tree.cm.activeNode.id.match(/.*?\/$/)?this.config.tree.refreshParentNode():this.config.tree.refresh()),this.run()},scope:this}}})},setTemplate:function(tpl){"list"===tpl?(this.tpl=this.templates.list,this.itemSelector="div.modx-browser-list-item"):(this.tpl=this.templates.thumb,this.itemSelector="div.modx-browser-thumb-wrap"),this.refresh(),this.select(0)},setVisibility:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],r={path:decodeURIComponent(data.pathRelative),visibility:data.visibility,source:this.config.source};MODx.load({xtype:"modx-window-set-visibility",record:r,listeners:{success:{fn:function(){this.run()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},sortStore:function(){var v=MODx.config.modx_browser_default_sort||"name";this.store.sort(v,"name"==v?"ASC":"DESC"),this.select(0)},showDetails:function(){var node=this.getSelectedNodes(),detailPanel=Ext.getCmp(this.config.ident+"-img-detail-panel").body,okBtn=Ext.getCmp(this.ident+"-ok-btn"),keys=Object.keys(node);if(node&&node.length>0){node=node[keys[keys.length-1]],okBtn&&okBtn.enable();var data=this.lookup[node.id];this.config.tree.getNodeById(data.pathRelative)&&(this.config.tree.cm.activeNode=this.config.tree.getNodeById(data.pathRelative),this.config.tree.getSelectionModel().select(this.config.tree.getNodeById(data.pathRelative))),Ext.getCmp(this.ident+"-filepath").setValue((-1===data.fullRelativeUrl.indexOf("http")?"/":"")+data.fullRelativeUrl),detailPanel.hide(),this.templates.details.overwrite(detailPanel,data),detailPanel.slideIn("l",{stopFx:!0,duration:".2"})}else okBtn&&okBtn.disable(),detailPanel.update("")},showFullView:function(name,ident){var data=this.lookup[name];if(data){this.fvWin||(this.fvWin=new Ext.Window({layout:"fit",width:600,height:450,bodyStyle:"padding: 0;",closeAction:"hide",plain:!0,items:[{id:this.ident+"modx-view-item-full",cls:"modx-browser-fullview",html:""}],buttons:[{text:_("close"),cls:"primary-button",handler:function(){this.fvWin.hide()},scope:this}]})),this.fvWin.show();var ratio=data.image_width>800?800/data.image_width:1,w=data.image_width<250?250:data.image_width>800?800:data.image_width,hfit=data.image_height*ratio+this.fvWin.footer.dom.clientHeight+1+this.fvWin.header.dom.clientHeight+1,h=data.image_height<200?200:data.image_height>600?hfit>600?600:hfit:data.image_height;this.fvWin.setSize(w,h),this.fvWin.center(),this.fvWin.setTitle(data.name),Ext.get(this.ident+"modx-view-item-full").update(''+data.name+'")}},formatData:function(data){var size;return data.shortName=Ext.util.Format.ellipsis(data.name,18),data.sizeString=0!=data.size?(size=data.size)<1024?size+" "+_("file_size_bytes"):Math.round(10*size/1024)/10+" "+_("file_size_kilobytes"):0,data.imageSizeString=0!=data.preview?data.original_width+"x"+data.original_height+"px":0,data.imageSizeString="xpx"===data.imageSizeString?0:data.imageSizeString,data.dateString=Ext.isEmpty(data.lastmod)?0:new Date(data.lastmod).format(MODx.config.manager_date_format+" "+MODx.config.manager_time_format),this.lookup[data.name]=data,data},_initTemplates:function(){this.templates.thumb=new Ext.XTemplate('','
    ','','
    ',' {name:htmlEncode}',"
    ","
    ",'','
    ',' \t
    .{ext}
    ',"
    ","
    "," {shortName:htmlEncode}","
    ","
    "),this.templates.thumb.compile(),this.templates.list=new Ext.XTemplate('','
    ',' ',' {name:htmlEncode}',' ',' {sizeString}'," ",' ',' {imageSizeString}'," "," ","
    ","
    "),this.templates.list.compile(),this.templates.details=new Ext.XTemplate('
    ',' ',' ','
    ",' {name:htmlEncode}',"
    ","
    ",' ','
    ','
    .{ext}
    ',"
    ","
    ",'
    '," "+_("file_name")+":"," {name:htmlEncode}",' '," "+_("file_size")+":"," {sizeString}"," ",' '," "+_("image_size")+":"," {imageSizeString}"," ",' '," "+_("file_last_modified")+":"," {dateString}"," ",' '," "+_("visibility")+":"," {visibility}"," ","
    ","
    ","
    "),this.templates.details.compile()},_showContextMenu:function(v,i,n,e){e.preventDefault(),this.select(n.id);var data=this.lookup[n.id],m=this.cm;if(m.removeAll(),data.menu){var menu=[];if(this.getSelectedRecords().length>1)for(var ii=0;ii{MODx.browser.onPopState(e,this)},Ext.applyIf(config,{title:_("modx_browser")+" ("+(MODx.ctx?MODx.ctx:"web")+")",cls:"modx-browser modx-browser-window",layout:"border",minWidth:500,minHeight:300,width:"90%",height:.9*Ext.getBody().getViewSize().height,modal:!1,closeAction:"hide",border:!1,items:[{id:this.ident+"-browser-tree",cls:"modx-browser-tree",region:"west",width:250,height:"100%",items:this.tree,autoScroll:!0,split:!0,border:!1},{id:this.ident+"-browser-view",cls:"modx-browser-view-ct",region:"center",autoScroll:!0,border:!1,items:this.view,tbar:this.getToolbar(),bbar:this.getPathbar()},{id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",region:"east",split:!0,border:!1,width:250}],buttons:[{id:this.ident+"-cancel-btn",text:_("cancel"),handler:this.close,scope:this},{id:this.ident+"-ok-btn",text:_("ok"),cls:"primary-button",handler:this.onSelect,scope:this}],keys:{key:27,handler:this.hide,scope:this}}),MODx.browser.Window.superclass.constructor.call(this,config),this.config=config,this.addEvents({select:!0,hide:!0}),this.on("hide",(()=>{MODx.util.UrlParams.remove("source"),MODx.util.UrlParams.remove("dir")}))},Ext.extend(MODx.browser.Window,Ext.Window,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),dir:decodeURIComponent(dir)}),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(){const selNodes=this.view.getSelectedNodes(),callback=this.config.onSelect||this.onSelectHandler,lookup=this.view.lookup,scope=this.config.scope,source=parseInt(this.config.source||MODx.config.default_media_source);this.hide(this.config.animEl||null,(function(){callback&&selNodes.forEach((selNode=>{try{let selData=lookup[selNode.id];selData.source=source,Ext.callback(callback,scope||this,[selData]),this.fireEvent("select",selData)}catch(e){console.error("Error processing MODx.Browser onSelect callback:",e)}}))}),scope)},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-browser-window",MODx.browser.Window),MODx.Media=function(config){config=config||{},this.ident=config.ident||Ext.id(),MODx.browserOpen=!0,this.tree=MODx.load({xtype:"modx-tree-directory",onUpload:function(){this.view.run()},scope:this,source:config.source||MODx.util.UrlParams.get().source||MODx.config.default_media_source,originalSource:config.source||MODx.config.default_media_source,hideFiles:config.hideFiles||MODx.config.modx_browser_tree_hide_files,hideTooltips:config.hideTooltips||MODx.config.modx_browser_tree_hide_tooltips||!0,openTo:config.openTo||MODx.util.UrlParams.get().dir||"",ident:this.ident,rootIconCls:MODx.config.mgr_source_icon,rootId:config.rootId||"/",rootName:_("files"),rootVisible:null==config.rootVisible||!Ext.isEmpty(config.rootId),id:this.ident+"-tree",hideSourceCombo:config.hideSourceCombo||!1,useDefaultToolbar:!1,listeners:{afterUpload:{fn:function(){this.view.run()},scope:this},afterQuickCreate:{fn:function(){this.view.run()},scope:this},afterRename:{fn:function(){this.view.run()},scope:this},afterRemove:{fn:function(){this.view.run()},scope:this},changeSource:{fn:function(s){this.config.source=s,this.view.config.source=s,this.view.baseParams.source=s,this.view.dir="/",this.view.run(),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),source:s,dir:"/"})},scope:this},afterrender:{fn:function(tree){tree.root.expand()},scope:this},beforeclick:{fn:function(node,e){if(node.leaf)return this.view.select(this.view.store.indexOfId("/"+node.attributes.url)),this.view.dir!==node.parentNode.id&&this.load(node.parentNode.id),!1;this.load(node.id)},scope:this},load:{fn:function({childNodes}){const dir=MODx.util.History.get().dir;if(dir)for(const childNode of childNodes)if(dir===decodeURIComponent(childNode.id)){childNode.on("load",(()=>{childNode.select(),this.tree.cm.activeNode=childNode}));break}},scope:this},load:{fn:function(){const dir=MODx.util.UrlParams.get().dir;dir&&this.tree.expandTreePath(dir)},scope:this}}}),this.view=MODx.load({xtype:"modx-browser-view",onSelect:{fn:this.onSelect,scope:this},source:config.source||MODx.util.UrlParams.get().source||MODx.config.default_media_source,originalSource:config.source||MODx.config.default_media_source,allowedFileTypes:config.allowedFileTypes||"",wctx:config.wctx||"web",openTo:config.openTo||MODx.util.UrlParams.get().dir||"",ident:this.ident,id:this.ident+"-view",tree:this.tree}),window.onpopstate=e=>{MODx.browser.onPopState(e,this)},Ext.applyIf(config,{cls:"modx-browser modx-browser-panel",layout:"border",width:"100%",height:"100%",style:"background-color: transparent",border:!1,items:[{region:"west",width:250,items:this.tree,id:this.ident+"-browser-tree",cls:"modx-browser-tree",autoScroll:!0,split:!0,margins:"10 0 10 18"},{region:"center",layout:"fit",items:this.view,id:this.ident+"-browser-view",cls:"modx-browser-view-ct",autoScroll:!0,border:!1,tbar:this.getToolbar(),bbar:this.getPathbar(),margins:"10 0 10 0"},{region:"east",width:250,id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",split:!0,margins:"10 10 10 0"}]}),MODx.Media.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.Media,Ext.Container,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),dir:decodeURIComponent(dir)}),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(data){},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-media-view",MODx.Media),MODx.browser.RTE=function(config){config=config||{},this.ident=config.ident||Ext.id(),MODx.browserOpen=!0,Ext.Ajax.defaultHeaders={modAuth:config.auth},Ext.Ajax.extraParams={HTTP_MODAUTH:config.auth},this.tree=MODx.load({xtype:"modx-tree-directory",onUpload:function(){this.view.run()},scope:this,source:config.source||MODx.config.default_media_source,hideFiles:config.hideFiles||MODx.config.modx_browser_tree_hide_files,hideTooltips:config.hideTooltips||MODx.config.modx_browser_tree_hide_tooltips||!0,openTo:config.openTo||"",ident:this.ident,rootIconCls:MODx.config.mgr_source_icon,rootId:config.rootId||"/",rootName:_("files"),rootVisible:null==config.rootVisible||!Ext.isEmpty(config.rootId),id:this.ident+"-tree",hideSourceCombo:config.hideSourceCombo||!1,useDefaultToolbar:!1,listeners:{afterUpload:{fn:function(){this.view.run()},scope:this},afterQuickCreate:{fn:function(){this.view.run()},scope:this},afterRename:{fn:function(){this.view.run()},scope:this},afterRemove:{fn:function(){this.view.run()},scope:this},changeSource:{fn:function(s){this.config.source=s,this.view.config.source=s,this.view.baseParams.source=s,this.view.dir="/",this.view.run()},scope:this},afterrender:{fn:function(tree){tree.root.expand()},scope:this},beforeclick:{fn:function(node,e){if(node.leaf)return this.view.select(this.view.store.indexOfId("/"+node.attributes.url)),this.view.dir!==node.parentNode.id&&this.load(node.parentNode.id),!1;this.load(node.id)},scope:this}}}),this.view=MODx.load({xtype:"modx-browser-view",onSelect:{fn:this.onSelect,scope:this},source:config.source||MODx.config.default_media_source,allowedFileTypes:config.allowedFileTypes||"",wctx:config.wctx||"web",openTo:config.openTo||"",multiSelect:config.multiSelect||!1,ident:this.ident,id:this.ident+"-view",tree:this.tree}),Ext.applyIf(config,{title:_("modx_browser"),cls:"modx-browser modx-browser-rte",layout:"border",renderTo:document.body,id:this.ident+"-viewport",onSelect:MODx.onBrowserReturn||function(data){},items:[{id:this.ident+"-browser-tree",cls:"modx-browser-tree",region:"west",width:250,height:"100%",split:!0,items:this.tree,autoScroll:!0},{id:this.ident+"-browser-view",cls:"modx-browser-view-ct",region:"center",autoScroll:!0,width:450,items:this.view,tbar:this.getToolbar(),bbar:this.getPathbar()},{id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",region:"east",split:!0,width:200,minWidth:200,maxWidth:300},{id:this.ident+"-south",cls:"modx-browser-rte-buttons",region:"south",split:!1,bbar:["->",{xtype:"button",id:this.ident+"-cancel-btn",text:_("cancel"),minWidth:75,handler:this.onCancel,scope:this},{xtype:"button",id:this.ident+"-ok-btn",text:_("ok"),cls:"primary-button",minWidth:75,handler:this.onSelect,scope:this}]}]}),MODx.browser.RTE.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.browser.RTE,Ext.Viewport,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(){const selNodes=this.view.getSelectedNodes(),callback=this.config.onSelect||this.onSelectHandler,lookup=this.view.lookup,scope=this.config.scope,source=parseInt(this.config.source||MODx.config.default_media_source);callback&&selNodes.forEach((selNode=>{try{let selData=lookup[selNode.id];selData.source=source,Ext.callback(callback,scope||this,[selData]),this.fireEvent("select",selData)}catch(e){console.error("Error processing MODx.Browser onSelect callback:",e)}})),window.top.opener&&(window.top.close(),window.top.opener.focus())},onCancel:function(){var callback=this.config.onSelect||this.onSelectHandler,scope=this.config.scope;Ext.callback(callback,scope||this,[null]),this.fireEvent("select",null),window.top.opener&&(window.top.close(),window.top.opener.focus())},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-browser-rte",MODx.browser.RTE),MODx.browser.onPopState=function({state},{tree,view}){const params=MODx.util.UrlParams.parse(state),defaultSource=view.config.originalSource,source=params.source||defaultSource;tree.sourceCombo&&!tree.config.hideSourceCombo&&source!==tree.sourceCombo.getValue()?(tree.config.source=source,tree.baseParams.source=source,tree.dir=params.dir||"/",tree.sourceCombo.getStore().load({scope:tree,callback(){tree.sourceCombo.setValue(source),tree.refresh();const root=tree.getRootNode();root&&root.setText(tree.sourceCombo.getRawValue()),view.run({dir:params.dir||"/",source,allowedFileTypes:view.config.allowedFileTypes||"",wctx:view.config.wctx||"web"}),tree.expandTreePath(params.dir||"/")}})):(view.run({dir:params.dir||"/",source,allowedFileTypes:view.config.allowedFileTypes||"",wctx:view.config.wctx||"web"}),tree.expandTreePath(params.dir||"/"))},Ext.apply(Ext,{isFirebug:window.console&&window.console.firebug}),MODx.Layout=function(config={}){Ext.BLANK_IMAGE_URL=MODx.config.manager_url+"assets/ext3/resources/images/default/s.gif",Ext.Ajax.defaultHeaders={modAuth:config.auth},Ext.Ajax.extraParams={HTTP_MODAUTH:config.auth},MODx.siteId=config.auth,MODx.expandHelp=!!+MODx.config.inline_help;const sp=new MODx.HttpProvider;Ext.state.Manager.setProvider(sp),sp.initState(MODx.defaultState),config.showTree=!1,config.search&&new MODx.SearchBar,Ext.applyIf(config,{layout:"border",id:"modx-layout",stateSave:!0,items:this.buildLayout(config)}),MODx.Layout.superclass.constructor.call(this,config),this.config=config,this.addEvents({afterLayout:!0,loadKeyMap:!0,loadTabs:!0}),this.loadKeys(),config.showTree||Ext.getCmp("modx-leftbar-tabs").collapse(!1),this.fireEvent("afterLayout")},Ext.extend(MODx.Layout,Ext.Viewport,{menuBarWidth:70,splitBarMargin:8,getSplitBarMargin:function(){return this.splitBarMargin},buildLayout:function(config){var items=[],north=this.getNorth(config),west=this.getWest(config),center=this.getCenter(config),south=this.getSouth(config),east=this.getEast(config);return north&&Ext.isObject(north)&&items.push(north),west&&Ext.isObject(west)&&items.push(west),center&&Ext.isObject(center)&&items.push(center),south&&Ext.isObject(south)&&items.push(south),east&&Ext.isObject(east)&&items.push(east),items},getNorth:function(config){return window.innerWidth<=640&&{xtype:"box",region:"north",applyTo:"modx-header",listeners:{afterrender:this.initPopper,scope:this}}},getWest:function(config){return window.innerWidth<=640?this.getTree(config):{region:"west",xtype:"box",id:"modx-header",applyTo:"modx-header",autoScroll:!0,width:this.menuBarWidth,listeners:{afterrender:{fn:this.initPopper,scope:this}}}},getCenter:function(config){const center={region:"center",applyTo:"modx-content",padding:"0 1px 0 0",margins:{top:0,right:0,bottom:0,left:0},style:"width:100%",bodyStyle:"background-color:transparent;",id:"modx-content",autoScroll:!0};if(window.innerWidth<=640)return center;const tree=this.getTree(config);return center.margins.right=-this.menuBarWidth,tree.margins={left:this.menuBarWidth},{region:"center",layout:"border",id:"modx-split-wrapper",items:[tree,center],listeners:{render:{fn:function(cmp){cmp.collapsed||(cmp.items.map["modx-content"].margins.left=-this.getSplitBarMargin())},scope:this}}}},getSouth:function(config){},getEast:function(config){},getTree:function(config){const tabs=[],layout=this;MODx.perm.resource_tree&&(tabs.push({title:_("resources"),xtype:"modx-tree-resource",id:"modx-resource-tree"}),config.showTree=!0),MODx.perm.element_tree&&(tabs.push({title:_("elements"),xtype:"modx-tree-element",id:"modx-tree-element"}),config.showTree=!0),MODx.perm.file_tree&&(tabs.push({title:_("files"),xtype:"modx-panel-filetree",id:"modx-file-tree"}),config.showTree=!0);return{region:"west",applyTo:"modx-leftbar",id:"modx-leftbar-tabs",split:!0,width:300,minSize:280,autoScroll:!0,unstyled:!0,useSplitTips:!0,monitorResize:!0,layout:"anchor",headerCfg:window.innerWidth<=640?{}:{tag:"div",cls:"none",id:"modx-leftbar-header",html:MODx.config.site_name},items:[{xtype:"modx-tabs",plain:!0,defaults:{autoScroll:!0,fitToFrame:!0},id:"modx-leftbar-tabpanel",border:!1,activeTab:0,stateful:!0,stateEvents:["tabchange"],getState:function(){return{activeTab:this.items.indexOf(this.getActiveTab())}},items:tabs,listeners:{afterrender:function(){const baseTabs=this,header=Ext.get("modx-leftbar-header");if(MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Resource/GetToolbar"},listeners:{success:{fn:function(response){const trashTrigger=Object.values(response.object).find((item=>"emptifier"===item.id));if(trashTrigger){const trashTab=baseTabs.add({id:"modx-trash-link",title:'',handler:trashTrigger.handler});trashTrigger.disabled||trashTab.tabEl.classList.add("active"),trashTrigger.tooltip&&(trashTab.tooltip=new Ext.ToolTip({target:new Ext.Element(trashTab.tabEl),title:trashTrigger.tooltip}))}},scope:this}}}),header){let html="";const el=document.createElement("a");""!==MODx.config.manager_logo&&void 0!==MODx.config.manager_logo&&(html+=''),el.href=MODx.config.default_site_url||MODx.config.site_url,el.title=MODx.config.site_name,el.innerText=Ext.util.Format.ellipsis(MODx.config.site_name,45,!0),el.target="_blank",html+=el.outerHTML,header.dom.innerHTML=html}},beforetabchange:{fn:function(panel,tab){if(tab&&"modx-trash-link"==tab.id){if(tab.tabEl.classList.contains("active")){var tree=Ext.getCmp("modx-resource-tree");tree&&tree.redirect("?a=resource/trash")}return!1}},scope:this}}}],getState:function(){return{collapsed:this.collapsed,width:this.width}},collapse:function(animate){if(this.collapsed||this.el.hasFxBlock()||!1===this.fireEvent("beforecollapse",this,animate))return;const contentRegion=Ext.getCmp("modx-content");if(contentRegion&&(contentRegion.margins.left=0,Ext.getCmp("modx-layout").doLayout()),animate&&window.innerWidth>960){Ext.getCmp("modx-leftbar-tabpanel").getEl().dom.style.opacity=0,this.el.dom.style.left="-"+this.el.dom.style.width}else this.el.dom.style.display="none";return this.collapsed=!0,this.saveState(),this.fireEvent("collapse",this),this},expand:function(animate){if(!this.collapsed||this.el.hasFxBlock()||!1===this.fireEvent("beforeexpand",this,animate))return;const contentRegion=Ext.getCmp("modx-content");if(contentRegion&&(contentRegion.margins.left=-layout.getSplitBarMargin()),animate&&window.innerWidth>960){const tree=Ext.getCmp("modx-leftbar-tabpanel").getEl();window.setTimeout((()=>{tree.dom.style.visibility="visible",tree.dom.style.opacity=1}),100)}else this.el.dom.style.display="";return this.collapsed=!1,this.saveState(),this.fireEvent("expand",this),this},listeners:{beforestatesave:{fn:this.onBeforeSaveState,scope:this},afterrender:function(){const trigger=Ext.get("modx-leftbar-trigger");this.collapsed&&trigger.addClass("collapsed"),trigger.on("click",(function(){this.collapsed?(trigger.removeClass("collapsed"),this.expand(!0)):(trigger.addClass("collapsed"),this.collapse(!0))}),this)}}}},initPopper:function(){for(var el=this,buttons=document.getElementById("modx-navbar").getElementsByClassName("top"),position=window.innerWidth<=960?"bottom":"right",i=0;i960&&this.initSubPopper()},showMenu:function(el){var submenu=document.getElementById(el.id+"-submenu");submenu.classList.contains("active")?submenu.classList.remove("active"):(this.hideMenu(),submenu.classList.add("active")),this.hideSubMenu()},hideMenu:function(){for(var submenus=document.getElementsByClassName("modx-subnav"),i=0;i=0?atob(dataURI.split(",")[1]):decodeURIComponent(dataURI.split(",")[1]),arrayBuffer=new ArrayBuffer(byteString.length),intArray=new Uint8Array(arrayBuffer),i=0;i0,dataURLtoBlob=window.dataURLtoBlob,_rimg=/img/i,_rcanvas=/canvas/i,_rimgcanvas=/img|canvas/i,_rinput=/input/i,_rdata=/^data:[^,]+,/,_toString={}.toString,Math=window.Math,_SIZE_CONST=function(pow){return(pow=new window.Number(Math.pow(1024,pow))).from=function(sz){return Math.round(sz*this)},pow},_elEvents={},_infoReader=[],_readerEvents="abort progress error load loadend",_xhrPropsExport="status statusText readyState response responseXML responseText responseBody".split(" "),_isArray=function(ar){return ar&&"length"in ar},_each=function(obj,fn,ctx){if(obj)if(_isArray(obj))for(var i=0,n=obj.length;i=_length&&!_fail&&queue.end()},isFail:function(){return _fail},fail:function(){!_fail&&fn(_fail=!0)},end:function(){_end||(_end=!0,fn())}};return queue},each:_each,afor:function(array,callback){var i=0,n=array.length;_isArray(array)&&n--?function _next(){callback(n!=i&&_next,array[i],i++)}():callback(!1)},extend:_extend,isFile:function(file){return"[object File]"===_toString.call(file)},isBlob:function(blob){return this.isFile(blob)||"[object Blob]"===_toString.call(blob)},isCanvas:function(el){return el&&_rcanvas.test(el.nodeName)},getFilesFilter:function(filter){return(filter="string"==typeof filter?filter:filter.getAttribute&&filter.getAttribute("accept")||"")?new RegExp("("+filter.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(file,fn){api.isCanvas(file)?_emit(file,fn,"load",api.toDataURL(file)):_readAs(file,fn,"DataURL")},readAsBinaryString:function(file,fn){_hasSupportReadAs("BinaryString")?_readAs(file,fn,"BinaryString"):_readAs(file,(function(evt){if("load"==evt.type)try{evt.result=api.toBinaryString(evt.result)}catch(e){evt.type="error",evt.message=e.toString()}fn(evt)}),"DataURL")},readAsArrayBuffer:function(file,fn){_readAs(file,fn,"ArrayBuffer")},readAsText:function(file,encoding,fn){fn||(fn=encoding,encoding="utf-8"),_readAs(file,fn,"Text",encoding)},toDataURL:function(el,type){return"string"==typeof el?el:el.toDataURL?el.toDataURL(type||"image/png"):void 0},toBinaryString:function(val){return window.atob(api.toDataURL(val).replace(_rdata,""))},readAsImage:function(file,fn,progress){if(api.isBlob(file))if(apiURL){var data=apiURL.createObjectURL(file);undefined===data?_emit(file,fn,"error"):api.readAsImage(data,fn,progress)}else api.readAsDataURL(file,(function(evt){"load"==evt.type?api.readAsImage(evt.result,fn,progress):(progress||"error"==evt.type)&&_emit(file,fn,evt,null,{loaded:evt.loaded,total:evt.total})}));else if(api.isCanvas(file))_emit(file,fn,"load",file);else if(_rimg.test(file.nodeName))if(file.complete)_emit(file,fn,"load",file);else{_one(file,"error abort load",(function _fn(evt){"load"==evt.type&&apiURL&&apiURL.revokeObjectURL(file.src),_off(file,"error abort load",_fn),_emit(file,fn,evt,file)}))}else if(file.iframe)_emit(file,fn,{type:"error"});else{var img=api.newImage(file.dataURL||file);api.readAsImage(img,fn,progress)}},checkFileObj:function(name){var file={},accept=api.accept;return"object"==typeof name?file=name:file.name=(name+"").split(/\\|\//g).pop(),null==file.type&&(file.type=file.name.split(".").pop()),_each(accept,(function(ext,type){((ext=new RegExp(ext.replace(/\s/g,"|"),"i")).test(file.type)||api.ext2mime[file.type])&&(file.type=api.ext2mime[file.type]||type.split("/")[0]+"/"+file.type)})),file},getDropFiles:function(evt,callback){var items,files=[],all=[],dataTransfer=_getDataTransfer(evt),transFiles=dataTransfer.files,transItems=dataTransfer.items,entrySupport=_isArray(transItems)&&transItems[0]&&_getAsEntry(transItems[0]),queue=api.queue((function(){callback(files,all)}));if(entrySupport)if(normalize&&transFiles){var file,entry,i=transFiles.length;for(items=new Array(i);i--;){file=transFiles[i];try{entry=_getAsEntry(transItems[i])}catch(err){api.log("[err] getDropFiles: ",err),entry=null}_isEntry(entry)&&(entry.isDirectory||entry.isFile&&file.name==file.name.normalize("NFC"))?items[i]=entry:items[i]=file}}else items=transItems;else items=transFiles;_each(items||[],(function(item){queue.inc();try{entrySupport&&_isEntry(item)?_readEntryAsFiles(item,(function(err,entryFiles,allEntries){err?api.log("[err] getDropFiles:",err):files.push.apply(files,entryFiles),all.push.apply(all,allEntries),queue.next()})):function(file,callback){if(!file.type&&(safari||file.size%4096==0&&file.size<=102400))if(FileReader)try{var reader=new FileReader;_one(reader,_readerEvents,(function(evt){var isFile="error"!=evt.type;isFile?(null!=reader.readyState&&reader.readyState!==reader.LOADING||reader.abort(),callback(isFile)):callback(!1,reader.error)})),reader.readAsDataURL(file)}catch(err){callback(!1,err)}else callback(null,new Error("FileReader is not supported"));else callback(!0)}(item,(function(yes,err){yes?files.push(item):item.error=err,all.push(item),queue.next()}))}catch(err){queue.next(),api.log("[err] getDropFiles: ",err)}})),queue.check()},getFiles:function(input,filter,callback){var files=[];return callback?(api.filterFiles(api.getFiles(input),filter,callback),null):(input.jquery&&(input.each((function(){files=files.concat(api.getFiles(this))})),input=files,files=[]),"string"==typeof filter&&(filter=api.getFilesFilter(filter)),input.originalEvent?input=_fixEvent(input.originalEvent):input.srcElement&&(input=_fixEvent(input)),input.dataTransfer?input=input.dataTransfer:input.target&&(input=input.target),input.files?(files=input.files,html5||(files[0].blob=input,files[0].iframe=!0)):!html5&&isInputFile(input)?api.trim(input.value)&&((files=[api.checkFileObj(input.value)])[0].blob=input,files[0].iframe=!0):_isArray(input)&&(files=input),api.filter(files,(function(file){return!filter||filter.test(file.name)})))},getTotalSize:function(files){for(var size=0,i=files&&files.length;i--;)size+=files[i].size;return size},getInfo:function(file,fn){var info={},readers=_infoReader.concat();api.isBlob(file)?function _next(){var reader=readers.shift();reader?reader.test(file.type)?reader(file,(function(err,res){err?fn(err):(_extend(info,res),_next())})):_next():fn(!1,info)}():fn("not_support_info",info)},addInfoReader:function(mime,fn){fn.test=function(type){return mime.test(type)},_infoReader.push(fn)},filter:function(input,fn){for(var val,result=[],i=0,n=input.length;i>2,enc2=(3&byte1)<<4|byte2>>4;isNaN(byte2)?enc3=enc4=64:(enc3=(15&byte2)<<2|byte3>>6,enc4=isNaN(byte3)?64:63&byte3),outStr+=b64.charAt(enc1)+b64.charAt(enc2)+b64.charAt(enc3)+b64.charAt(enc4)}return outStr}};function _emit(target,fn,name,res,ext){var evt={type:name.type||name,target,result:res};_extend(evt,ext),fn(evt)}function _hasSupportReadAs(method){return FileReader&&!!FileReader.prototype["readAs"+method]}function _readAs(file,fn,method,encoding){if(api.isBlob(file)&&_hasSupportReadAs(method)){var Reader=new FileReader;_on(Reader,_readerEvents,(function _fn(evt){var type=evt.type;"progress"==type?_emit(file,fn,evt,evt.target.result,{loaded:evt.loaded,total:evt.total}):"loadend"==type?(_off(Reader,_readerEvents,_fn),Reader=null):_emit(file,fn,evt,evt.target.result)}));try{encoding?Reader["readAs"+method](file,encoding):Reader["readAs"+method](file)}catch(err){_emit(file,fn,"error",undefined,{error:err.toString()})}}else _emit(file,fn,"error",undefined,{error:"filreader_not_support_"+method})}function _isEntry(item){return item&&(item.isFile||item.isDirectory)}function _getAsEntry(item){var entry;return item.getAsEntry?entry=item.getAsEntry():item.webkitGetAsEntry&&(entry=item.webkitGetAsEntry()),entry}function _readEntryAsFiles(entry,callback){if(entry)if(entry.isFile)entry.file((function(file){file.fullPath=entry.fullPath,callback(!1,[file],[file])}),(function(err){entry.error=err,callback("FileError.code: "+err.code,[],[entry])}));else if(entry.isDirectory){var reader=entry.createReader(),firstAttempt=!0,files=[],all=[entry],onerror=function(err){entry.error=err,callback("DirectoryError.code: "+err.code,files,all)};reader.readEntries((function ondone(entries){firstAttempt&&(firstAttempt=!1,entries.length||(entry.error=new Error("directory is empty"))),entries.length?api.afor(entries,(function(next,entry){_readEntryAsFiles(entry,(function(err,entryFiles,allEntries){err||(files=files.concat(entryFiles)),all=all.concat(allEntries),next?next():reader.readEntries(ondone,onerror)}))})):callback(!1,files,all)}),onerror)}else _readEntryAsFiles(_getAsEntry(entry),callback);else{var err=new Error("invalid entry");(entry=new Object(entry)).error=err,callback(err.message,[],[entry])}}function isInputFile(el){return _rinput.test(el&&el.tagName)}function _getDataTransfer(evt){return(evt.originalEvent||evt||"").dataTransfer||{}}api.addInfoReader(/^image/,(function(file,callback){if(!file.__dimensions){var defer=file.__dimensions=api.defer();api.readAsImage(file,(function(evt){var img=evt.target;defer.resolve("load"!=evt.type&&"error",{width:img.width,height:img.height}),img.src=api.EMPTY_PNG,img=null}))}file.__dimensions.then(callback)})),api.event.dnd=function(el,onHover,onDrop){var _id,_type;onDrop||(onDrop=onHover,onHover=api.F),FileReader?(_on(el,"dragenter dragleave dragover",onHover.ff=onHover.ff||function(evt){for(var types=_getDataTransfer(evt).types,i=types&&types.length,debounceTrigger=!1;i--;)if(~types[i].indexOf("File")){evt.preventDefault(),_type!==evt.type&&("dragleave"!=(_type=evt.type)&&onHover.call(evt.currentTarget,!0,evt),debounceTrigger=!0);break}debounceTrigger&&(clearTimeout(_id),_id=setTimeout((function(){onHover.call(evt.currentTarget,"dragleave"!=_type,evt)}),50))}),_on(el,"drop",onDrop.ff=onDrop.ff||function(evt){evt.preventDefault(),_type=0,api.getDropFiles(evt,(function(files,all){onDrop.call(evt.currentTarget,files,all,evt)})),onHover.call(evt.currentTarget,!1,evt)})):api.log("Drag'n'Drop -- not supported")},api.event.dnd.off=function(el,onHover,onDrop){_off(el,"dragenter dragleave dragover",onHover.ff),_off(el,"drop",onDrop.ff)},jQuery&&!jQuery.fn.dnd&&(jQuery.fn.dnd=function(onHover,onDrop){return this.each((function(){api.event.dnd(this,onHover,onDrop)}))},jQuery.fn.offdnd=function(onHover,onDrop){return this.each((function(){api.event.dnd.off(this,onHover,onDrop)}))}),window.FileAPI=_extend(api,window.FileAPI),api.log("FileAPI: "+api.version),api.log("protocol: "+window.location.protocol),api.log("doctype: ["+doctype.name+"] "+doctype.publicId+" "+doctype.systemId),_each(document.getElementsByTagName("meta"),(function(meta){/x-ua-compatible/i.test(meta.getAttribute("http-equiv"))&&api.log("meta.http-equiv: "+meta.getAttribute("content"))}));try{_supportConsoleLog=!!console.log,_supportConsoleLogApply=!!console.log.apply}catch(err){}api.flashUrl||(api.flashUrl=api.staticPath+"FileAPI.flash.swf"),api.flashImageUrl||(api.flashImageUrl=api.staticPath+"FileAPI.flash.image.swf"),api.flashWebcamUrl||(api.flashWebcamUrl=api.staticPath+"FileAPI.flash.camera.swf")}(window),function(api,document,undef){"use strict";var min=Math.min,round=Math.round,getCanvas=function(){return document.createElement("canvas")},support=!1,exifOrientation={8:270,3:180,6:90,7:270,4:180,5:90};try{support=getCanvas().toDataURL("image/png").indexOf("data:image/png")>-1}catch(e){}function Image(file){if(file instanceof Image){var img=new Image(file.file);return api.extend(img.matrix,file.matrix),img}if(!(this instanceof Image))return new Image(file);this.file=file,this.size=file.size||100,this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0,quality:1,filter:0}}Image.prototype={image:!0,constructor:Image,set:function(attrs){return api.extend(this.matrix,attrs),this},crop:function(x,y,w,h){return undefined===w&&(w=x,h=y,x=y=0),this.set({sx:x,sy:y,sw:w,sh:h||w})},resize:function(w,h,strategy){return/min|max|height|width/.test(h)&&(strategy=h,h=w),this.set({dw:w,dh:h||w,resize:strategy})},preview:function(w,h){return this.resize(w,h||w,"preview")},rotate:function(deg){return this.set({deg})},filter:function(filter){return this.set({filter})},overlay:function(images){return this.set({overlay:images})},clone:function(){return new Image(this)},_load:function(image,fn){var self=this;/img|video/i.test(image.nodeName)?fn.call(self,null,image):api.readAsImage(image,(function(evt){fn.call(self,"load"!=evt.type,evt.result)}))},_apply:function(image,fn){var copy,canvas=getCanvas(),m=this.getMatrix(image),ctx=canvas.getContext("2d"),width=image.videoWidth||image.width,height=image.videoHeight||image.height,deg=m.deg,dw=m.dw,dh=m.dh,w=width,h=height,filter=m.filter,buffer=image,overlay=m.overlay,queue=api.queue((function(){image.src=api.EMPTY_PNG,fn(!1,canvas)})),renderImageToCanvas=api.renderImageToCanvas;for(deg-=360*Math.floor(deg/360),image._type=this.file.type;m.multipass&&min(w/dw,h/dh)>2;)w=w/2+.5|0,h=h/2+.5|0,(copy=getCanvas()).width=w,copy.height=h,buffer!==image?(renderImageToCanvas(copy,buffer,0,0,buffer.width,buffer.height,0,0,w,h),buffer=copy):(renderImageToCanvas(buffer=copy,image,m.sx,m.sy,m.sw,m.sh,0,0,w,h),m.sx=m.sy=m.sw=m.sh=0);canvas.width=deg%180?dh:dw,canvas.height=deg%180?dw:dh,canvas.type=m.type,canvas.quality=m.quality,ctx.rotate(deg*Math.PI/180),renderImageToCanvas(ctx.canvas,buffer,m.sx,m.sy,m.sw||buffer.width,m.sh||buffer.height,180==deg||270==deg?-dw:0,90==deg||180==deg?-dh:0,dw,dh),dw=canvas.width,dh=canvas.height,overlay&&api.each([].concat(overlay),(function(over){queue.inc();var img=new window.Image,fn=function(){var x=0|over.x,y=0|over.y,w=over.w||img.width,h=over.h||img.height,rel=over.rel;x=1==rel||4==rel||7==rel?(dw-w+x)/2:2==rel||5==rel||8==rel?dw-(w+x):x,y=3==rel||4==rel||5==rel?(dh-h+y)/2:rel>=6?dh-(h+y):y,api.event.off(img,"error load abort",fn);try{ctx.globalAlpha=over.opacity||1,ctx.drawImage(img,x,y,w,h)}catch(er){}queue.next()};api.event.on(img,"error load abort",fn),img.src=over.src,img.complete&&fn()})),filter&&(queue.inc(),Image.applyFilter(canvas,filter,queue.next)),queue.check()},getMatrix:function(image){var w,h,m=api.extend({},this.matrix),sw=m.sw=m.sw||image.videoWidth||image.naturalWidth||image.width,sh=m.sh=m.sh||image.videoHeight||image.naturalHeight||image.height,dw=m.dw=m.dw||sw,dh=m.dh=m.dh||sh,sf=sw/sh,df=dw/dh,strategy=m.resize;"preview"==strategy?dw==sw&&dh==sh||(df>=sf?h=(w=sw)/df:w=(h=sh)*df,w==sw&&h==sh||(m.sx=~~((sw-w)/2),m.sy=~~((sh-h)/2),sw=w,sh=h)):"height"==strategy?dw=dh*sf:"width"==strategy?dh=dw/sf:strategy&&(sw>dw||sh>dh?"min"==strategy?(dw=round(sf=df?min(sw,dw):dh*sf),dh=round(sf>=df?dw/sf:min(sh,dh))):(dw=sw,dh=sh));return m.sw=sw,m.sh=sh,m.dw=dw,m.dh=dh,m.multipass=api.multiPassResize,m},_trans:function(fn){this._load(this.file,(function(err,image){if(err)fn(err);else try{this._apply(image,fn)}catch(err){api.log("[err] FileAPI.Image.fn._apply:",err),fn(err)}}))},get:function(fn){if(api.support.transform){var _this=this,matrix=_this.matrix;"auto"==matrix.deg?api.getInfo(_this.file,(function(err,info){matrix.deg=exifOrientation[info&&info.exif&&info.exif.Orientation]||0,_this._trans(fn)})):_this._trans(fn)}else fn("not_support_transform");return this},toData:function(fn){return this.get(fn)}},Image.exifOrientation=exifOrientation,Image.transform=function(file,transform,autoOrientation,fn){function _transform(err,img){var images={},queue=api.queue((function(err){fn(err,images)}));err?queue.fail():api.each(transform,(function(params,name){if(!queue.isFail()){var ImgTrans=new Image(img.nodeType?img:file),isFn="function"==typeof params;if(isFn?params(img,ImgTrans):params.width?ImgTrans[params.preview?"preview":"resize"](params.width,params.height,params.strategy):params.maxWidth&&(img.width>params.maxWidth||img.height>params.maxHeight)&&ImgTrans.resize(params.maxWidth,params.maxHeight,"max"),params.crop){var crop=params.crop;ImgTrans.crop(0|crop.x,0|crop.y,crop.w||crop.width,crop.h||crop.height)}undefined===params.rotate&&autoOrientation&&(params.rotate="auto"),ImgTrans.set({type:ImgTrans.matrix.type||params.type||file.type||"image/png"}),isFn||ImgTrans.set({deg:params.rotate,overlay:params.overlay,filter:params.filter,quality:params.quality||1}),queue.inc(),ImgTrans.toData((function(err,image){err?queue.fail():(images[name]=image,queue.next())}))}}))}file.width?_transform(!1,file):api.getInfo(file,_transform)},api.each(["TOP","CENTER","BOTTOM"],(function(x,i){api.each(["LEFT","CENTER","RIGHT"],(function(y,j){Image[x+"_"+y]=3*i+j,Image[y+"_"+x]=3*i+j}))})),Image.toCanvas=function(el){var canvas=document.createElement("canvas");return canvas.width=el.videoWidth||el.width,canvas.height=el.videoHeight||el.height,canvas.getContext("2d").drawImage(el,0,0),canvas},Image.fromDataURL=function(dataURL,size,callback){var img=api.newImage(dataURL);api.extend(img,size),callback(img)},Image.applyFilter=function(canvas,filter,doneFn){"function"==typeof filter?filter(canvas,doneFn):window.Caman&&window.Caman("IMG"==canvas.tagName?Image.toCanvas(canvas):canvas,(function(){"string"==typeof filter?this[filter]():api.each(filter,(function(val,method){this[method](val)}),this),this.render(doneFn)}))},api.renderImageToCanvas=function(canvas,img,sx,sy,sw,sh,dx,dy,dw,dh){try{return canvas.getContext("2d").drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh)}catch(ex){throw api.log("renderImageToCanvas failed"),ex}},api.support.canvas=api.support.transform=support,api.Image=Image}(FileAPI,document),function(factory){"use strict";!function(loadImage){if(!window.navigator||!window.navigator.platform||!/iP(hone|od|ad)/.test(window.navigator.platform))return;var originalRenderMethod=loadImage.renderImageToCanvas;loadImage.detectSubsampling=function(img){var canvas,context;return img.width*img.height>1048576&&((canvas=document.createElement("canvas")).width=canvas.height=1,(context=canvas.getContext("2d")).drawImage(img,1-img.width,0),0===context.getImageData(0,0,1,1).data[3])},loadImage.detectVerticalSquash=function(img,subsampled){var data,sy,ey,py,naturalHeight=img.naturalHeight||img.height,canvas=document.createElement("canvas"),context=canvas.getContext("2d");for(subsampled&&(naturalHeight/=2),canvas.width=1,canvas.height=naturalHeight,context.drawImage(img,0,0),data=context.getImageData(0,0,1,naturalHeight).data,sy=0,ey=naturalHeight,py=naturalHeight;py>sy;)0===data[4*(py-1)+3]?ey=py:sy=py,py=ey+sy>>1;return py/naturalHeight||1},loadImage.renderImageToCanvas=function(canvas,img,sourceX,sourceY,sourceWidth,sourceHeight,destX,destY,destWidth,destHeight){if("image/jpeg"===img._type){var subsampled,vertSquashRatio,tileX,tileY,context=canvas.getContext("2d"),tmpCanvas=document.createElement("canvas"),tileSize=1024,tmpContext=tmpCanvas.getContext("2d");if(tmpCanvas.width=tileSize,tmpCanvas.height=tileSize,context.save(),(subsampled=loadImage.detectSubsampling(img))&&(sourceX/=2,sourceY/=2,sourceWidth/=2,sourceHeight/=2),vertSquashRatio=loadImage.detectVerticalSquash(img,subsampled),subsampled||1!==vertSquashRatio){for(sourceY*=vertSquashRatio,destWidth=Math.ceil(tileSize*destWidth/sourceWidth),destHeight=Math.ceil(tileSize*destHeight/sourceHeight/vertSquashRatio),destY=0,tileY=0;tileY0&&1==api.filter(this.items,(function(item){return item.file})).length,api.support.html5?api.formData&&!this.multipart&&FormData?options._chunked?(api.log("FileAPI.Form.toPlainData"),this.toPlainData(fn)):(api.log("FileAPI.Form.toFormData"),this.toFormData(fn)):(api.log("FileAPI.Form.toMultipartData"),this.toMultipartData(fn)):(api.log("FileAPI.Form.toHtmlData"),this.toHtmlData(fn))},_to:function(data,complete,next,arg){var queue=api.queue((function(){complete(data)}));this.each((function(file){try{next(file,data,queue,arg)}catch(err){api.log("FileAPI.Form._to: "+err.message),complete(err)}})),queue.check()},toHtmlData:function(fn){this._to(document.createDocumentFragment(),fn,(function(file,data){var hidden,blob=file.blob;file.file?(api.reset(blob,!0),blob.name=file.name,blob.disabled=!1,data.appendChild(blob)):((hidden=document.createElement("input")).name=file.name,hidden.type="hidden",hidden.value=blob,data.appendChild(hidden))}))},toPlainData:function(fn){this._to({},fn,(function(file,data,queue){file.file&&(data.type=file.file),file.blob.toBlob?(queue.inc(),_convertFile(file,(function(file,blob){data.name=file.name,data.file=blob,data.size=blob.length,data.type=file.type,queue.next()}))):file.file?(data.name=file.blob.name,data.file=file.blob,data.size=file.blob.size,data.type=file.type):(data.params||(data.params=[]),data.params.push(encodeURIComponent(file.name)+"="+encodeURIComponent(file.blob))),data.start=-1,data.end=data.file&&data.file.FileAPIReadPosition||-1,data.retry=0}))},toFormData:function(fn){this._to(new FormData,fn,(function(file,data,queue){file.blob&&file.blob.toBlob?(queue.inc(),_convertFile(file,(function(file,blob){data.append(file.name,blob,file.file),queue.next()}))):file.file?data.append(file.name,file.blob,file.file):data.append(file.name,file.blob),file.file&&data.append("_"+file.name,file.file)}))},toMultipartData:function(fn){this._to([],fn,(function(file,data,queue,boundary){queue.inc(),_convertFile(file,(function(file,blob){data.push("--_"+boundary+'\r\nContent-Disposition: form-data; name="'+file.name+'"'+(file.file?'; filename="'+encodeURIComponent(file.file)+'"':"")+(file.file?"\r\nContent-Type: "+(file.type||"application/octet-stream"):"")+"\r\n\r\n"+(file.file?blob:encodeURIComponent(blob))+"\r\n"),queue.next()}),!0)}),api.expando)}},api.Form=Form}(FileAPI,window),function(window,api){"use strict";var noop=function(){},document=window.document,XHR=function(options){this.uid=api.uid(),this.xhr={abort:noop,getResponseHeader:noop,getAllResponseHeaders:noop},this.options=options},_xhrResponsePostfix={"":1,XML:1,Text:1,Body:1};XHR.prototype={status:0,statusText:"",constructor:XHR,getResponseHeader:function(name){return this.xhr.getResponseHeader(name)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(status,statusText){var _this=this,options=_this.options;_this.end=_this.abort=noop,_this.status=status,statusText&&(_this.statusText=statusText),api.log("xhr.end:",status,statusText),options.complete(200!=status&&201!=status&&(_this.statusText||"unknown"),_this),_this.xhr&&_this.xhr.node&&setTimeout((function(){var node=_this.xhr.node;try{node.parentNode.removeChild(node)}catch(e){}try{delete window[_this.uid]}catch(e){}window[_this.uid]=_this.xhr.node=null}),9)},abort:function(){this.end(0,"abort"),this.xhr&&(this.xhr.aborted=!0,this.xhr.abort())},send:function(FormData){var _this=this,options=this.options;FormData.toData((function(data){data instanceof Error?_this.end(0,data.message):(options.upload(options,_this),_this._send.call(_this,options,data))}),options)},_send:function(options,data){var xhr,_this=this,uid=_this.uid,onLoadFnName=_this.uid+"Load",url=options.url;if(api.log("XHR._send:",data),options.cache||(url+=(~url.indexOf("?")?"&":"?")+api.uid()),data.nodeName){var jsonp=options.jsonp;url=url.replace(/([a-z]+)=(\?)/i,"$1="+uid),options.upload(options,_this);var onPostMessage=function(evt){if(~url.indexOf(evt.origin))try{var result=api.parseJSON(evt.data);result.id==uid&&complete(result.status,result.statusText,result.response)}catch(err){complete(0,err.message)}},complete=window[uid]=function(status,statusText,response){_this.readyState=4,_this.responseText=response,_this.end(status,statusText),api.event.off(window,"message",onPostMessage),window[uid]=xhr=transport=window[onLoadFnName]=null};_this.xhr.abort=function(){try{transport.stop?transport.stop():transport.contentWindow.stop?transport.contentWindow.stop():transport.contentWindow.document.execCommand("Stop")}catch(er){}complete(0,"abort")},api.event.on(window,"message",onPostMessage),window[onLoadFnName]=function(){try{var win=transport.contentWindow,doc=win.document,result=win.result||api.parseJSON(doc.body.innerHTML);complete(result.status,result.statusText,result.response)}catch(e){api.log("[transport.onload]",e)}},(xhr=document.createElement("div")).innerHTML='
    '+(jsonp&&options.url.indexOf("=?")<0?'':"")+"
    ";var form=xhr.getElementsByTagName("form")[0],transport=xhr.getElementsByTagName("iframe")[0];form.appendChild(data),api.log(form.parentNode.innerHTML),document.body.appendChild(xhr),_this.xhr.node=xhr,_this.readyState=2;try{form.submit()}catch(err){api.log("iframe.error: "+err)}form=null}else{if(url=url.replace(/([a-z]+)=(\?)&?/i,""),this.xhr&&this.xhr.aborted)return void api.log("Error: already aborted");if(xhr=_this.xhr=api.getXHR(),data.params&&(url+=(url.indexOf("?")<0?"?":"&")+data.params.join("&")),xhr.open("POST",url,!0),api.withCredentials&&(xhr.withCredentials="true"),options.headers&&options.headers["X-Requested-With"]||xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),api.each(options.headers,(function(val,key){xhr.setRequestHeader(key,val)})),options._chunked){xhr.upload&&xhr.upload.addEventListener("progress",api.throttle((function(evt){data.retry||options.progress({type:evt.type,total:data.size,loaded:data.start+evt.loaded,totalSize:data.size},_this,options)}),100),!1),xhr.onreadystatechange=function(){var lkb=parseInt(xhr.getResponseHeader("X-Last-Known-Byte"),10);if(_this.status=xhr.status,_this.statusText=xhr.statusText,_this.readyState=xhr.readyState,4==xhr.readyState){for(var k in _xhrResponsePostfix)_this["response"+k]=xhr["response"+k];if(xhr.onreadystatechange=null,!xhr.status||xhr.status-201>0)if(api.log("Error: "+xhr.status),(!xhr.status&&!xhr.aborted||500==xhr.status||416==xhr.status)&&++data.retry<=options.chunkUploadRetry){var delay=xhr.status?0:api.chunkNetworkDownRetryTimeout;options.pause(data.file,options),api.log("X-Last-Known-Byte: "+lkb),lkb?data.end=lkb:(data.end=data.start-1,416==xhr.status&&(data.end=data.end-options.chunkSize)),setTimeout((function(){_this._send(options,data)}),delay)}else _this.end(xhr.status);else data.retry=0,data.end==data.size-1?_this.end(xhr.status):(api.log("X-Last-Known-Byte: "+lkb),lkb&&(data.end=lkb),data.file.FileAPIReadPosition=data.end,setTimeout((function(){_this._send(options,data)}),0));xhr=null}},data.start=data.end+1,data.end=Math.max(Math.min(data.start+options.chunkSize,data.size)-1,data.start);var file=data.file,slice=(file.slice||file.mozSlice||file.webkitSlice).call(file,data.start,data.end+1);data.size&&!slice.size?setTimeout((function(){_this.end(-1)})):(xhr.setRequestHeader("Content-Range","bytes "+data.start+"-"+data.end+"/"+data.size),xhr.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(data.name)),xhr.setRequestHeader("Content-Type",data.type||"application/octet-stream"),xhr.send(slice)),file=slice=null}else if(xhr.upload&&xhr.upload.addEventListener("progress",api.throttle((function(evt){options.progress(evt,_this,options)}),100),!1),xhr.onreadystatechange=function(){if(_this.status=xhr.status,_this.statusText=xhr.statusText,_this.readyState=xhr.readyState,4==xhr.readyState){for(var k in _xhrResponsePostfix)_this["response"+k]=xhr["response"+k];if(xhr.onreadystatechange=null,!xhr.status||xhr.status>201)if(api.log("Error: "+xhr.status),(!xhr.status&&!xhr.aborted||500==xhr.status)&&(options.retry||0)=0?val+"px":val}Camera.Shot=Shot,api.Camera=Camera}(window,FileAPI),function(window,jQuery,api){"use strict";var document=window.document,location=window.location,navigator=window.navigator,_each=api.each;api.support.flash=!1,api.support.flash&&(!api.html5||!api.support.html5||api.cors&&!api.support.cors||api.media&&!api.support.media||api.insecureChrome)&&function(){var _attr=api.uid(),_retry=0,_files={},_rhttp=/^https?:/i,flash={_fn:{},init:function(){var child=document.body&&document.body.firstChild;if(child)do{if(1==child.nodeType){api.log("FlashAPI.state: awaiting");var dummy=document.createElement("div");return dummy.id="_"+_attr,_css(dummy,{top:1,right:1,width:5,height:5,position:"absolute",zIndex:"2147483647"}),child.parentNode.insertBefore(dummy,child),void flash.publish(dummy,_attr)}}while(child=child.nextSibling);_retry<10&&setTimeout(flash.init,50*++_retry)},publish:function(el,id,opts){opts=opts||{},el.innerHTML=_makeFlashHTML({id,src:_getUrl(api.flashUrl,"r="+api.version),wmode:opts.camera?"":"transparent",flashvars:"callback="+(opts.onEvent||"FileAPI.Flash.onEvent")+"&flashId="+id+"&storeKey="+navigator.userAgent.match(/\d/gi).join("")+"_"+api.version+(flash.isReady||(api.pingUrl?"&ping="+api.pingUrl:""))+"&timeout="+api.flashAbortTimeout+(opts.camera?"&useCamera="+_getUrl(api.flashWebcamUrl):"")+"&debug="+(api.debug?"1":"")})},ready:function(){api.log("FlashAPI.state: ready"),flash.ready=api.F,flash.isReady=!0,flash.patch(),flash.patchCamera&&flash.patchCamera(),api.event.on(document,"mouseover",flash.mouseover),api.event.on(document,"click",(function(evt){flash.mouseover(evt)&&(evt.preventDefault?evt.preventDefault():evt.returnValue=!0)}))},getEl:function(){return document.getElementById("_"+_attr)},getWrapper:function(node){do{if(/js-fileapi-wrapper/.test(node.className))return node}while((node=node.parentNode)&&node!==document.body)},mouseover:function(evt){var target=api.event.fix(evt).target;if(/input/i.test(target.nodeName)&&"file"==target.type&&!target.disabled){var state=target.getAttribute(_attr),wrapper=flash.getWrapper(target);if(api.multiFlash){if("i"==state||"r"==state)return!1;if("p"!=state){target.setAttribute(_attr,"i");var dummy=document.createElement("div");if(!wrapper)return void api.log("[err] FlashAPI.mouseover: js-fileapi-wrapper not found");_css(dummy,{top:0,left:0,width:target.offsetWidth,height:target.offsetHeight,zIndex:"2147483647",position:"absolute"}),wrapper.appendChild(dummy),flash.publish(dummy,api.uid()),target.setAttribute(_attr,"p")}return!0}if(wrapper){var box=function(el){var box=el.getBoundingClientRect(),body=document.body,docEl=(el&&el.ownerDocument).documentElement;return{top:box.top+(window.pageYOffset||docEl.scrollTop)-(docEl.clientTop||body.clientTop||0),left:box.left+(window.pageXOffset||docEl.scrollLeft)-(docEl.clientLeft||body.clientLeft||0),width:box.right-box.left,height:box.bottom-box.top}}(wrapper);_css(flash.getEl(),box),flash.curInp=target}}else/object|embed/i.test(target.nodeName)||_css(flash.getEl(),{top:1,left:1,width:5,height:5})},onEvent:function(evt){var type=evt.type;if("ready"==type){try{flash.getInput(evt.flashId).setAttribute(_attr,"r")}catch(e){}return flash.ready(),setTimeout((function(){flash.mouseenter(evt)}),50),!0}"ping"===type?api.log("(flash -> js).ping:",[evt.status,evt.savedStatus],evt.error):"log"===type?api.log("(flash -> js).log:",evt.target):type in flash&&setTimeout((function(){api.log("FlashAPI.event."+evt.type+":",evt),flash[type](evt)}),1)},mouseenter:function(evt){var node=flash.getInput(evt.flashId);if(node){flash.cmd(evt,"multiple",null!=node.getAttribute("multiple"));var accept=[],exts={};_each((node.getAttribute("accept")||"").split(/,\s*/),(function(mime){api.accept[mime]&&_each(api.accept[mime].split(" "),(function(ext){exts[ext]=1}))})),_each(exts,(function(i,ext){accept.push(ext)})),flash.cmd(evt,"accept",accept.length?accept.join(",")+","+accept.join(",").toUpperCase():"*")}},get:function(id){return document[id]||window[id]||document.embeds[id]},getInput:function(id){if(!api.multiFlash)return flash.curInp;try{var node=flash.getWrapper(flash.get(id));if(node)return node.getElementsByTagName("input")[0]}catch(e){api.log('[err] Can not find "input" by flashId:',id,e)}},select:function(evt){var event,inp=flash.getInput(evt.flashId),uid=api.uid(inp),files=evt.target.files;_each(files,(function(file){api.checkFileObj(file)})),_files[uid]=files,document.createEvent?((event=document.createEvent("Event")).files=files,event.initEvent("change",!0,!0),inp.dispatchEvent(event)):jQuery?jQuery(inp).trigger({type:"change",files}):((event=document.createEventObject()).files=files,inp.fireEvent("onchange",event))},cmd:function(id,name,data,last){try{return api.log("(js -> flash)."+name+":",data),flash.get(id.flashId||id).cmd(name,data)}catch(err){api.log("(js -> flash).onError:",err.toString()),last||setTimeout((function(){flash.cmd(id,name,data,!0)}),50)}},patch:function(){api.flashEngine=!0,_inherit(api,{getFiles:function(input,filter,callback){if(callback)return api.filterFiles(api.getFiles(input),filter,callback),null;var files=api.isArray(input)?input:_files[api.uid(input.target||input.srcElement||input)];return files?(filter&&(filter=api.getFilesFilter(filter),files=api.filter(files,(function(file){return filter.test(file.name)}))),files):this.parent.apply(this,arguments)},getInfo:function(file,fn){if(_isHtmlFile(file))this.parent.apply(this,arguments);else if(file.isShot)fn(null,file.info={width:file.width,height:file.height});else{if(!file.__info){var defer=file.__info=api.defer();flash.cmd(file,"getFileInfo",{id:file.id,callback:_wrap((function _(err,info){_unwrap(_),defer.resolve(err,file.info=info)}))})}file.__info.then(fn)}}}),api.support.transform=!0,api.Image&&_inherit(api.Image.prototype,{get:function(fn,scaleMode){return this.set({scaleMode:scaleMode||"noScale"}),this.parent(fn)},_load:function(file,fn){if(api.log("FlashAPI.Image._load:",file),_isHtmlFile(file))this.parent.apply(this,arguments);else{var _this=this;api.getInfo(file,(function(err){fn.call(_this,err,file)}))}},_apply:function(file,fn){if(api.log("FlashAPI.Image._apply:",file),_isHtmlFile(file))this.parent.apply(this,arguments);else{var m=this.getMatrix(file.info),doneFn=fn;flash.cmd(file,"imageTransform",{id:file.id,matrix:m,callback:_wrap((function _(err,base64){api.log("FlashAPI.Image._apply.callback:",err),_unwrap(_),err?doneFn(err):api.support.html5||api.support.dataURI&&!(base64.length>3e4)?(m.filter&&(doneFn=function(err,img){err?fn(err):api.Image.applyFilter(img,m.filter,(function(){fn(err,this.canvas)}))}),api.newImage("data:"+file.type+";base64,"+base64,doneFn)):_makeFlashImage({width:m.deg%180?m.dh:m.dw,height:m.deg%180?m.dw:m.dh,scale:m.scaleMode},base64,doneFn)}))})}},toData:function(fn){var file=this.file,info=file.info,matrix=this.getMatrix(info);api.log("FlashAPI.Image.toData"),_isHtmlFile(file)?this.parent.apply(this,arguments):("auto"==matrix.deg&&(matrix.deg=api.Image.exifOrientation[info&&info.exif&&info.exif.Orientation]||0),fn.call(this,!file.info,{id:file.id,flashId:file.flashId,name:file.name,type:file.type,matrix}))}}),api.Image&&_inherit(api.Image,{fromDataURL:function(dataURL,size,callback){!api.support.dataURI||dataURL.length>3e4?_makeFlashImage(api.extend({scale:"exactFit"},size),dataURL.replace(/^data:[^,]+,/,""),(function(err,el){callback(el)})):this.parent(dataURL,size,callback)}}),_inherit(api.Form.prototype,{toData:function(fn){for(var items=this.items,i=items.length;i--;)if(items[i].file&&_isHtmlFile(items[i].blob))return this.parent.apply(this,arguments);api.log("FlashAPI.Form.toData"),fn(items)}}),_inherit(api.XHR.prototype,{_send:function(options,formData){if(formData.nodeName||formData.append&&api.support.html5||api.isArray(formData)&&"string"==typeof formData[0])return this.parent.apply(this,arguments);var flashId,fileId,data={},files={},_this=this;if(_each(formData,(function(item){item.file?(files[item.name]=item=_getFileDescr(item.blob),fileId=item.id,flashId=item.flashId):data[item.name]=item.blob})),fileId||(flashId=_attr),!flashId)return api.log("[err] FlashAPI._send: flashId -- undefined"),this.parent.apply(this,arguments);api.log("FlashAPI.XHR._send: "+flashId+" -> "+fileId),_this.xhr={headers:{},abort:function(){flash.cmd(flashId,"abort",{id:fileId})},getResponseHeader:function(name){return this.headers[name]},getAllResponseHeaders:function(){return this.headers}};var queue=api.queue((function(){flash.cmd(flashId,"upload",{url:_getUrl(options.url.replace(/([a-z]+)=(\?)&?/i,"")),data,files:fileId?files:null,headers:options.headers||{},callback:_wrap((function upload(evt){var type=evt.type,result=evt.result;api.log("FlashAPI.upload."+type),"progress"==type?(evt.loaded=Math.min(evt.loaded,evt.total),evt.lengthComputable=!0,options.progress(evt)):"complete"==type?(_unwrap(upload),"string"==typeof result&&(_this.responseText=result.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")),_this.end(evt.status||200)):"abort"!=type&&"error"!=type||(_this.end(evt.status||0,evt.message),_unwrap(upload))}))})}));_each(files,(function(file){queue.inc(),api.getInfo(file,queue.next)})),queue.check()}})}};function _makeFlashHTML(opts){return('').replace(/#(\w+)#/gi,(function(a,name){return opts[name]}))}function _css(el,css){var key,val;if(el&&el.style)for(key in css){"number"==typeof(val=css[key])&&(val+="px");try{el.style[key]=val}catch(e){}}}function _inherit(obj,methods){_each(methods,(function(fn,name){var prev=obj[name];obj[name]=function(){return this.parent=prev,fn.apply(this,arguments)}}))}function _isHtmlFile(file){return file&&!file.flashId}function _wrap(fn){var id=fn.wid=api.uid();return flash._fn[id]=fn,"FileAPI.Flash._fn."+id}function _unwrap(fn){try{flash._fn[fn.wid]=null,delete flash._fn[fn.wid]}catch(e){}}function _getUrl(url,params){if(!_rhttp.test(url)){if(/^\.\//.test(url)||"/"!=url.charAt(0)){var path=location.pathname;url=((path=path.substr(0,path.lastIndexOf("/")))+"/"+url).replace("/./","/")}"//"!=url.substr(0,2)&&(url="//"+location.host+url),_rhttp.test(url)||(url=location.protocol+url)}return params&&(url+=(/\?/.test(url)?"&":"?")+params),url}function _makeFlashImage(opts,base64,fn){var key,flashId=api.uid(),el=document.createElement("div"),attempts=10;for(key in opts)el.setAttribute(key,opts[key]),el[key]=opts[key];_css(el,opts),opts.width="100%",opts.height="100%",el.innerHTML=_makeFlashHTML(api.extend({id:flashId,src:_getUrl(api.flashImageUrl,"r="+api.uid()),wmode:"opaque",flashvars:"scale="+opts.scale+"&callback="+_wrap((function _(){return _unwrap(_),--attempts>0&&function(){try{flash.get(flashId).setImage(base64)}catch(e){api.log('[err] FlashAPI.Preview.setImage -- can not set "base64":',e)}}(),!0}))},opts)),fn(!1,el),el=null}function _getFileDescr(file){return{id:file.id,name:file.name,matrix:file.matrix,flashId:file.flashId}}api.Flash=flash,api.newImage("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",(function(err,img){api.support.dataURI=!(1!=img.width||1!=img.height),flash.init()}))}()}(window,window.jQuery,FileAPI),function(window,jQuery,api){"use strict";var _each=api.each,_cameraQueue=[];!api.support.flash||!api.media||api.support.media&&api.html5&&!api.insecureChrome||function(){function _wrap(fn){var id=fn.wid=api.uid();return api.Flash._fn[id]=fn,"FileAPI.Flash._fn."+id}function _unwrap(fn){try{api.Flash._fn[fn.wid]=null,delete api.Flash._fn[fn.wid]}catch(e){}}var flash=api.Flash;api.extend(api.Flash,{patchCamera:function(){api.Camera.fallback=function(el,options,callback){var camId=api.uid();api.log("FlashAPI.Camera.publish: "+camId),flash.publish(el,camId,api.extend(options,{camera:!0,onEvent:_wrap((function _(evt){"camera"===evt.type&&(_unwrap(_),evt.error?(api.log("FlashAPI.Camera.publish.error: "+evt.error),callback(evt.error)):(api.log("FlashAPI.Camera.publish.success: "+camId),callback(null)))}))}))},_each(_cameraQueue,(function(args){api.Camera.fallback.apply(api.Camera,args)})),_cameraQueue=[],api.extend(api.Camera.prototype,{_id:function(){return this.video.id},start:function(callback){var _this=this;flash.cmd(this._id(),"camera.on",{callback:_wrap((function _(evt){_unwrap(_),evt.error?(api.log("FlashAPI.camera.on.error: "+evt.error),callback(evt.error,_this)):(api.log("FlashAPI.camera.on.success: "+_this._id()),_this._active=!0,callback(null,_this))}))})},stop:function(){this._active=!1,flash.cmd(this._id(),"camera.off")},shot:function(){api.log("FlashAPI.Camera.shot:",this._id());var shot=api.Flash.cmd(this._id(),"shot",{});return shot.type="image/png",shot.flashId=this._id(),shot.isShot=!0,new api.Camera.Shot(shot)}})}}),api.Camera.fallback=function(){_cameraQueue.push(arguments)}}()}(window,window.jQuery,FileAPI),"function"==typeof define&&define.amd&&define("FileAPI",[],(function(){return FileAPI})),function(){Ext.namespace("MODx.util.MultiUploadDialog");var maxFileSize=parseInt(MODx.config.upload_maxsize,10),permittedFileTypes=MODx.config.upload_files.toLowerCase().split(",");FileAPI.debug=!1,FileAPI.support.flash=!1,FileAPI.staticPath=MODx.config.manager_url+"assets/fileapi/";var api={humanFileSize:function(bytes,si){var thresh=si?1e3:1024;if(bytes=thresh);return bytes.toFixed(1)+" "+units[u]},getFileExtension:function(filename){var result="",parts=filename.split(".");return parts.length>1&&(result=parts.pop()),result},isFileSizePermitted:function(size){return size<=maxFileSize},formatBytes:function(size,unit){return unit=unit||FileAPI.MB,Math.round(100*(size/unit+1e-5))/100},isFileTypePermitted:function(filename,extensions){var ext=this.getFileExtension(filename);return extensions.indexOf(ext.toLowerCase())>-1}};MODx.util.MultiUploadDialog.Upload=function(config){Ext.applyIf(config,{url:MODx.config.connector_url,permitted_extensions:permittedFileTypes,base_params:{action:"Browser/File/Upload",wctx:MODx.ctx||"",source:1}}),MODx.util.MultiUploadDialog.Upload.superclass.constructor.call(this,config)},Ext.extend(MODx.util.MultiUploadDialog.Upload,Ext.Component,{errors:{},initComponent:function(){this.input_file=document.createElement("input"),this.input_file.type="file",this.input_file.name=this.input_name||Ext.id(this.el),this.input_file.hidden=!0,this.input_file.multiple=!0,this.input_file.accept="."+this.permitted_extensions.join(",."),this.input_file.addEventListener("change",this.onInputFileChange.bind(this)),this.input_file.addEventListener("click",(function(e){e.stopPropagation()})),document.getElementsByTagName("body")[0].appendChild(this.input_file)},addDropZone:function(dnd,browser){var el=dnd.getEl().dom,upload=this;el.className+=" drag-n-drop",FileAPI.event.dnd(el,(function(over){over?el.className.match(/drag-over/)||(el.className+=" drag-over"):el.className=el.className.replace(" drag-over","")}),(function(files){upload.startUpload(files,browser)}))},setBaseParams:function(params){this.base_params=Ext.apply(this.base_params,params)},show:function(){this.fireEvent("show"),this.input_file.click()},onInputFileChange:function(e){var files=FileAPI.getFiles(e);this.input_file.value="",this.startUpload(files,this.browser)},startUpload:function(files,browser){var upload=this,approved=[];if(this.fireEvent("beforeupload",files),FileAPI.each(files,(function(file){api.isFileSizePermitted(file.size)?api.isFileTypePermitted(file.name,upload.permitted_extensions)?approved.push(file):upload.addError(file.name,_("upload.notpermitted.extension",{ext:api.getFileExtension(file.name)})):upload.addError(file.name,_("upload.notpermitted.filesize",{size:api.humanFileSize(file.size),max:api.humanFileSize(maxFileSize)}))})),!approved.length)return this.showErrors(),!1;this.progress=Ext.MessageBox.progress(_("please_wait")),FileAPI.upload({url:this.url,data:Ext.apply(this.base_params,{HTTP_MODAUTH:MODx.siteId}),files:{file:approved},fileprogress:function(e,file){upload.progress&&(upload.progress.updateText(file.name),upload.progress.updateProgress(e.loaded/e.total))},filecomplete:function(err,xhr,file){if(err)401!==xhr.status&&(upload.fireEvent("uploadfailed",err,xhr,file),MODx.msg.alert(_("upload.msg.title.error"),err));else{var r=Ext.util.JSON.decode(xhr.response);r.success||upload.addError(file.name,r.message)}},complete:function(err,xhr){err?upload.fireEvent("uploadfailed",xhr):(upload.fireEvent("uploadsuccess"),upload.progress&&upload.progress.hide(),void 0!==browser&&void 0!==browser.run&&browser.run()),upload.showErrors()}})},addError:function(key,message){this.errors[key]=message},showErrors:function(){var errors="";for(var i in this.errors)this.errors.hasOwnProperty(i)&&(errors+=this.errors[i]+"
    ");""!=errors&&MODx.msg.alert(_("error"),errors),this.errors={}}}),MODx.util.MultiUploadDialog.BrowseButton=Ext.extend(Ext.Button,{input_name:"file",input_file:null,original_handler:null,original_scope:null,initComponent:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.initComponent.call(this),this.original_handler=this.handler||null,this.original_scope=this.scope||window,this.handler=null,this.scope=null},onRender:function(ct,position){MODx.util.MultiUploadDialog.BrowseButton.superclass.onRender.call(this,ct,position),this.createInputFile()},createInputFile:function(){var button_container=this.el.child("button").wrap();this.input_file=button_container.createChild({tag:"input",type:"file",size:1,name:this.input_name||Ext.id(this.el),style:"cursor: pointer; display: inline-block; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%;",multiple:!0}),this.handleMouseEvents&&(this.input_file.on("mouseover",this.onMouseOver,this),this.input_file.on("mousedown",this.onMouseDown,this)),this.tooltip&&("object"==typeof this.tooltip?Ext.QuickTips.register(Ext.apply({target:this.input_file},this.tooltip)):this.input_file.dom[this.tooltipType]=this.tooltip),this.input_file.on("change",this.onInputFileChange,this),this.input_file.on("click",(function(e){e.stopPropagation()}))},detachInputFile:function(no_create){var result=this.input_file;return"object"==typeof this.tooltip?Ext.QuickTips.unregister(this.input_file):this.input_file.dom[this.tooltipType]=null,this.input_file.removeAllListeners(),this.input_file=null,result},getInputFile:function(){return this.input_file},disable:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.disable.call(this),this.input_file.dom.disabled=!0},enable:function(){MODx.util.MultiUploadDialog.BrowseButton.superclass.enable.call(this),this.input_file.dom.disabled=!1},destroy:function(){var input_file=this.detachInputFile(!0);input_file.remove(),input_file=null,MODx.util.MultiUploadDialog.BrowseButton.superclass.destroy.call(this)},reset:function(){var form=new Ext.Element(document.createElement("form")),buttonParent=this.input_file.parent();form.appendChild(this.input_file),form.dom.reset(),buttonParent.appendChild(this.input_file)},onInputFileChange:function(ev){this.original_handler&&this.original_handler.call(this.original_scope,this,ev),this.fireEvent("click",this,ev)}}),Ext.reg("multiupload-browse-btn",MODx.util.MultiUploadDialog.BrowseButton),MODx.util.MultiUploadDialog.FilesGrid=function(config){config=config||{},Ext.applyIf(config,{height:300,autoScroll:!0,border:!1,fields:["name","size","file","permitted","message","uploaded"],paging:!1,remoteSort:!1,viewConfig:{forceFit:!0,getRowClass:function(record,index,rowParams){return record.get("permitted")?record.get("uploaded")?"upload-success":void 0:"upload-error"}},sortInfo:{field:"name",direction:"ASC"},deferRowRender:!0,anchor:"100%",autoExpandColumn:"state",columns:[{header:_("upload.columns.file"),dataIndex:"name",sortable:!0,width:200,renderer:function(value,meta,record){var id=Ext.id();return FileAPI.Image(record.get("file")).resize(100,50,"max").get((function(err,img){err||(img=new Ext.Element(img).addClass("upload-thumb"),Ext.get(id).insertFirst(img))})),'

    '+value+"

    "}},{header:_("upload.columns.state"),id:"state",width:100,renderer:function(value,meta,record){if(!record.get("permitted")||record.get("uploaded"))return'

    '+record.get("message")+"

    ";var id=Ext.id();return function(){record.progressbar=new Ext.ProgressBar({renderTo:id,value:0,text:"0 / "+record.get("size")})}.defer(25),'
    '}}],getMenu:function(){return[{text:_("upload.contextmenu.remove_entry"),handler:this.removeFile}]}}),MODx.util.MultiUploadDialog.FilesGrid.superclass.constructor.call(this,config)},Ext.extend(MODx.util.MultiUploadDialog.FilesGrid,MODx.grid.LocalGrid,{removeFile:function(){var selected=this.getSelectionModel().getSelections();this.getStore().remove(selected)}}),Ext.reg("multiupload-grid-files",MODx.util.MultiUploadDialog.FilesGrid),MODx.util.MultiUploadDialog.Dialog=function(config){this.filesGridId=Ext.id(),config=config||{},Ext.applyIf(config,{permitted_extensions:permittedFileTypes,autoHeight:!0,width:600,closeAction:"hide",layout:"anchor",listeners:{show:{fn:this.onShow},hide:{fn:this.onHide}},items:[{xtype:"multiupload-grid-files",id:this.filesGridId,anchor:"100%"}],buttons:[{xtype:"multiupload-browse-btn",text:_("upload.buttons.choose"),cls:"primary-button",listeners:{click:{scope:this,fn:function(btn,ev){var files=FileAPI.getFiles(ev);this.addFiles(files),btn.reset()}}}},{xtype:"splitbutton",text:_("upload.buttons.clear"),listeners:{click:{scope:this,fn:this.clearStore}},menu:new Ext.menu.Menu({items:[{text:_("upload.clear_list.all"),listeners:{click:{scope:this,fn:this.clearStore}}},{text:_("upload.clear_list.notpermitted"),listeners:{click:{scope:this,fn:this.clearNotPermittedItems}}}]})},{xtype:"button",text:_("upload.buttons.upload"),cls:"primary-button",listeners:{click:{scope:this,fn:this.startUpload}}},{xtype:"button",text:_("upload.buttons.close"),listeners:{click:{scope:this,fn:this.hideDialog}}}]}),MODx.util.MultiUploadDialog.Dialog.superclass.constructor.call(this,config)};var originalWindowOnShow=Ext.Window.prototype.onShow,originalWindowOnHide=Ext.Window.prototype.onHide;Ext.extend(MODx.util.MultiUploadDialog.Dialog,Ext.Window,{addFiles:function(files){var store=Ext.getCmp(this.filesGridId).getStore(),dialog=this;FileAPI.each(files,(function(file){var permitted=!0,message="";api.isFileSizePermitted(file.size)||(message=_("upload.notpermitted.filesize",{size:api.humanFileSize(file.size),max:api.humanFileSize(maxFileSize)}),permitted=!1),api.isFileTypePermitted(file.name,dialog.permitted_extensions)||(message=_("upload.notpermitted.extension",{ext:api.getFileExtension(file.name)}),permitted=!1);var data={name:file.name,size:api.humanFileSize(file.size),file,permitted,message,uploaded:!1},p=new store.recordType(data);store.insert(0,p)}))},startUpload:function(){var dialog=this,files=[],params=Ext.apply(this.base_params,{HTTP_MODAUTH:MODx.siteId});Ext.getCmp(this.filesGridId).getStore().each((function(){var file=this.get("file");this.get("permitted")&&!this.get("uploaded")&&(file.record=this,files.push(file))}));FileAPI.upload({url:this.url,data:params,files:{file:files},fileprogress:function(evt,file){file.record.progressbar.updateProgress(evt.loaded/evt.total,_("upload.upload_progress",{loaded:api.humanFileSize(evt.loaded),total:file.record.get("size")}),!0)},filecomplete:function(err,xhr,file,options){if(err)401!==xhr.status&&MODx.msg.alert(_("upload.msg.title.error"),err);else{var resp=Ext.util.JSON.decode(xhr.response);resp.success?(file.record.set("uploaded",!0),file.record.set("message",_("upload.upload.success"))):(file.record.set("permitted",!1),file.record.set("message",resp.message))}},complete:function(err,xhr){dialog.fireEvent("uploadsuccess")}})},removeEntry:function(record){Ext.getCmp(this.filesGridId).getStore().remove(record)},clearStore:function(){Ext.getCmp(this.filesGridId).getStore().removeAll()},clearNotPermittedItems:function(){var store=Ext.getCmp(this.filesGridId).getStore(),notPermitted=store.query("permitted",!1);store.remove(notPermitted.getRange())},hideDialog:function(){this.hide()},onDDrag:function(ev){ev&&ev.preventDefault()},onDDrop:function(ev){ev&&ev.preventDefault();var dialog=this;FileAPI.getDropFiles(ev.browserEvent,(function(files){files.length&&dialog.addFiles(files)}))},onShow:function(){var ret=originalWindowOnShow.apply(this,arguments),store=Ext.getCmp(this.filesGridId).getStore();return store.removeAll(),this.isDDSet||(this.el.on("dragenter",this.onDDrag,this),this.el.on("dragover",this.onDDrag,this),this.el.on("dragleave",this.onDDrag,this),this.el.on("drop",this.onDDrop,this),this.isDDSet=!0),ret},onHide:function(){var ret=originalWindowOnHide.apply(this,arguments);return this.el.un("dragenter",this.onDDrag,this),this.el.un("dragover",this.onDDrag,this),this.el.un("dragleave",this.onDDrag,this),this.el.un("drop",this.onDDrop,this),this.isDDSet=!1,ret},setBaseParams:function(params){this.base_params=params,this.setTitle(_("upload.title.destination_path",{path:this.base_params.path}))}}),Ext.reg("multiupload-window-dialog",MODx.util.MultiUploadDialog.Dialog)}(),Ext.namespace("MODx.tree"),MODx.tree.Tree=function(config){var tl,root;if(config=config||{},Ext.applyIf(config,{baseParams:{},action:"getNodes",loaderConfig:{}}),config.action&&(config.baseParams.action=config.action),config.loaderConfig.dataUrl=config.url,config.loaderConfig.baseParams=config.baseParams,Ext.applyIf(config.loaderConfig,{preloadChildren:!0,clearOnLoad:!0}),this.config=config,this.config.url?((tl=new MODx.tree.TreeLoader(config.loaderConfig)).on("beforeload",(function(l,node){tl.dataUrl=this.config.url+"?action="+this.config.action+"&id="+node.attributes.id,node.attributes.type&&(tl.dataUrl+="&type="+node.attributes.type)}),this),tl.on("load",this.onLoad,this),root={nodeType:"async",text:config.root_name||config.rootName||"",qtip:config.root_qtip||config.rootQtip||"",draggable:!1,id:config.root_id||config.rootId||"root",pseudoroot:!0,attributes:{pseudoroot:!0},cls:"tree-pseudoroot-node",iconCls:config.root_iconCls||config.rootIconCls||""}):(tl=new Ext.tree.TreeLoader({preloadChildren:!0,baseAttrs:{uiProvider:MODx.tree.CheckboxNodeUI}}),root=new Ext.tree.TreeNode({text:this.config.rootName||"",draggable:!1,id:this.config.rootId||"root",children:this.config.data||[],pseudoroot:!0})),Ext.applyIf(config,{useArrows:!0,autoScroll:!0,animate:!0,enableDD:!0,enableDrop:!0,ddAppendOnly:!1,containerScroll:!0,collapsible:!0,border:!1,autoHeight:!0,rootVisible:!0,loader:tl,header:!1,hideBorders:!0,bodyBorder:!1,cls:"modx-tree",root,preventRender:!1,stateful:!0,menuConfig:{defaultAlign:"tl-b?",enableScrolling:!1,listeners:{show:function(){var node=this.activeNode;node&&node.ui.addClass("x-tree-selected")},hide:function(){var node=this.activeNode;node&&(node.isSelected()||node.ui&&node.ui.removeClass("x-tree-selected"))}}}}),!0!==config.remoteToolbar||void 0!==config.tbar&&null!==config.tbar){var tb=this.getToolbar();if(config.tbar&&config.useDefaultToolbar)for(var i=0;i150&&(w=this.config.width),el.setWidth(w),this.doLayout()}},setup:function(config){config.listeners=config.listeners||{},config.listeners.render={fn:function(){!1===config.autoExpandRoot&&config.hasOwnProperty("autoExpandRoot")||this.root.expand();var tl=this.getLoader();Ext.apply(tl,{fullMask:new Ext.LoadMask(this.getEl())}),tl.fullMask.removeMask=!1,tl.on({load:function(){this.fullMask.hide()},loadexception:function(){this.fullMask.hide()},beforeload:function(){this.fullMask.show()},scope:tl})},scope:this},MODx.tree.Tree.superclass.constructor.call(this,config),this.addEvents("afterSort","beforeSort","refresh"),this.cm=new Ext.menu.Menu(config.menuConfig),this.on("contextmenu",this._showContextMenu,this),this.on("beforenodedrop",this._handleDrop,this),this.on("nodedragover",this._handleDrop,this),this.on("nodedrop",this._handleDrag,this),this.on("click",this._saveState,this),this.on("contextmenu",this._saveState,this),this.on("click",this._handleClick,this),this.treestate_id=this.config.id||Ext.id(),this.on("load",this._initExpand,this,{single:!0}),this.on("expandnode",this._saveState,this),this.on("collapsenode",this._saveState,this),this.on("expandnode",(function(){var cnt=Ext.getCmp("modx-content");cnt&&cnt.doLayout()}),this)},_initExpand:function(){var treeState=Ext.state.Manager.get(this.treestate_id);if(Ext.isEmpty(treeState)&&this.root)this.root.expand(),this.root.firstChild&&this.config.expandFirst&&this.root.firstChild.expand();else for(var i=0;i"+node.attributes.text+"",target:this}),node,handler:function(btn,evt){evt.stopPropagation(evt),node.getOwnerTree().handleDirectCreateClick(node)},iconCls:"icon-plus-circle",renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e)},mouseout:function(button,e){button.tooltip.onTargetOut(e)}}})}},_showContextMenu:function(node,e){var m;this.cm.activeNode=node,this.cm.removeAll();var handled=!1;if(!Ext.isEmpty(node.attributes.treeHandler)||node.isRoot&&!Ext.isEmpty(node.childNodes[0].attributes.treeHandler)){var h=Ext.getCmp(node.isRoot?node.childNodes[0].attributes.treeHandler:node.attributes.treeHandler);h&&(node.isRoot&&(node.attributes.type="root"),m=h.getMenu(this,node,e),handled=!0)}handled||(this.getMenu?m=this.getMenu(node,e):node.attributes.menu&&node.attributes.menu.items&&(m=node.attributes.menu.items)),m&&m.length>0&&(this.addContextMenuItem(m),this.cm.showAt(e.xy)),e.preventDefault(),e.stopEvent()},hasNode:function(t,n){return t.findChild("id",n.id)||!0===t.leaf&&t.parentNode.findChild("id",n.id)},refresh:function(func,scope,args){var treeState=Ext.state.Manager.get(this.treestate_id);return this.root.reload(),this.fireEvent("refresh",{}),void 0===treeState?this.root.expand():Ext.isArray(treeState)&&Ext.each(treeState,(function(path,idx){this.expandPath(path)}),this),func&&(scope=scope||this,args=args||[],this.root.on("load",(function(){Ext.callback(func,scope,args)}),scope)),!0},removeChildren:function(node){for(;node.firstChild;){var c=node.firstChild;node.removeChild(c),c.destroy()}},loadRemoteData:function(data){for(var c in this.removeChildren(this.getRootNode()),data)"object"==typeof data[c]&&this.getRootNode().appendChild(data[c])},reloadNode:function(n){this.getLoader().load(n),n.expand()},remove:function(text,substr,split){if(this.destroying)return MODx.tree.Tree.superclass.remove.apply(this,arguments);var node=this.cm.activeNode,id=this._extractId(node.id,substr,split),p={action:this.config.removeAction||"remove"},pk=this.config.primaryKey||"id";p[pk]=id,MODx.msg.confirm({title:this.config.removeTitle||_("warning"),text:_(text),url:this.config.url,params:p,listeners:{success:{fn:this.refresh,scope:this}}})},_extractId:function(id,substr,split){return split=split||!1,!1!==(substr=substr||!1)&&(id=node.id.substr(substr)),!1!==split&&(id=(id=node.id.split("_"))[split]),id},expandNodes:function(){this.root&&(this.root.expand(),this.root.expandChildNodes(!0))},collapseNodes:function(){this.root&&(this.root.collapseChildNodes(!0),this.root.collapse())},_saveState:function(n){if(!this.stateful)return!0;var i,s=Ext.state.Manager.get(this.treestate_id),p=n.getPath();if(s=Ext.isObject(s)||Ext.isArray(s)?s.slice():[s],!Ext.isEmpty(p)&&null!=p){if(n.expanded){if(Ext.isString(p)&&-1===s.indexOf(p)){var sr,f=!1;for(i=0;is[i].length&&(f=!0):s.splice(i,1);f||s.push(p)}}else for(s=s.remove(p),i=0;i{let node=this.getNodeById(encodeURIComponent(dir));node||(node=this.getRootNode()),node.select(),this.cm.activeNode=node}))}}),Ext.reg("modx-tree",MODx.tree.Tree),window.BTNS=[],MODx.tree.TreeLoader=function(config){(config=config||{}).id=config.id||Ext.id(),Ext.applyIf(config,{}),MODx.tree.TreeLoader.superclass.constructor.call(this,config)},Ext.extend(MODx.tree.TreeLoader,Ext.tree.TreeLoader,{processResponse:function(response,node,callback,scope){var json=response.responseText;if("string"==typeof json&&(json=Ext.decode(json)),void 0!==json.results?response.responseText=Ext.encode(json.results):void 0!==json.object&&(response.responseText=Ext.encode(json.object)),void 0!==json.success&&void 0!==json.message&&0==json.success){if("object"==typeof json.message){var msg=[];for(var i in json.message)json.message.hasOwnProperty(i)&&msg.push(json.message[i]);json.message=msg.join("\n")}MODx.msg.alert(_("alert"),json.message)}Ext.tree.TreeLoader.prototype.processResponse.call(this,response,node,callback,scope)}}),Ext.reg("modx-tree-treeloader",MODx.tree.TreeLoader),Ext.dd.DragDropMgr.getZIndex=function(element){var z,body=document.body,zIndex=-1,overTargetEl=element;for(element=Ext.getDom(element);element!==body;){if(!element){this._remove(overTargetEl);break}isNaN(z=Number(Ext.fly(element).getStyle("zIndex")))||(zIndex=z),element=element.parentNode}return zIndex},MODx.TreeDrop=function(config){config=config||{},Ext.applyIf(config,{id:"modx-treedrop",ddGroup:"modx-treedrop-dd"}),MODx.TreeDrop.superclass.constructor.call(this,config),this.config=config,this.setup()},Ext.extend(MODx.TreeDrop,Ext.Component,{setup:function(){var ddTarget=this.config.target,ddTargetEl=this.config.targetEl,cfg=this.config;this.targetEl=new Ext.dd.DropTarget(this.config.targetEl,{ddGroup:this.config.ddGroup,notifyEnter:function(ddSource,e,data){if(ddTarget.getEl){var el=ddTarget.getEl();el&&el.isVisible()&&(el.frame(),el.focus())}},notifyDrop:function(ddSource,e,data){if(!data.node||!data.node.attributes||!data.node.attributes.type)return!1;if("MODX\\Revolution\\modResource"!=data.node.attributes.type&&1!=data.node.attributes.leaf)return!1;var v="",win=!1;switch(data.node.attributes.type){case"MODX\\Revolution\\modResource":v="[[~"+data.node.attributes.pk+"]]";break;case"snippet":case"chunk":case"tv":win=!0;break;case"file":v=data.node.attributes.url;break;default:var dh=Ext.getCmp(data.node.attributes.type+"-drop-handler");return!!dh&&dh.handle(data,{ddTargetEl,cfg,iframe:cfg.iframe,iframeEl:cfg.iframeEl,onInsert:cfg.onInsert,panel:cfg.panel})}if(win)MODx.loadInsertElement({pk:data.node.attributes.pk,classKey:data.node.attributes.classKey,name:data.node.attributes.name,output:v,ddTargetEl,cfg,iframe:cfg.iframe,iframeEl:cfg.iframeEl,onInsert:cfg.onInsert,panel:cfg.panel});else if(cfg.iframe)MODx.insertForRTE(v,cfg);else{var el=Ext.get(ddTargetEl);if("modx-static-content"==el.dom.id&&(v=v.substring(1),Ext.getCmp(el.dom.id).setValue("")),"modx-symlink-content"==el.dom.id||"modx-weblink-content"==el.dom.id)Ext.getCmp(el.dom.id).setValue(""),void 0!==typeof data.node.attributes.pk&&void 0!==data.node.attributes.pk?MODx.insertAtCursor(ddTargetEl,data.node.attributes.pk,cfg.onInsert):MODx.insertAtCursor(ddTargetEl,v,cfg.onInsert);else if("modx-resource-parent"==el.dom.id){v=data.node.attributes.pk;var p,pf=Ext.getCmp("modx-resource-parent");if(v==pf.currentid)return MODx.msg.alert("",_("resource_err_own_parent")),!1;pf.setValue(v),Ext.getCmp(pf.parentcmp).setValue(v),(p=Ext.getCmp(pf.formpanel))&&p.markDirty()}else MODx.insertAtCursor(ddTargetEl,v,cfg.onInsert);if(cfg.panel)(p=Ext.getCmp(cfg.panel))&&p.markDirty()}return!0}}),this.targetEl.addToGroup("modx-treedrop-elements-dd"),this.targetEl.addToGroup("modx-treedrop-sources-dd")}}),Ext.reg("modx-treedrop",MODx.TreeDrop),MODx.loadInsertElement=function(r){MODx.InsertElementWindow&&(MODx.InsertElementWindow.hide(),MODx.InsertElementWindow.destroy()),MODx.InsertElementWindow=MODx.load({xtype:"modx-window-insert-element",record:r,listeners:{success:{fn:function(){},scope:this},hide:{fn:function(){this.destroy()}}}}),MODx.InsertElementWindow.setValues(r),MODx.InsertElementWindow.show()},MODx.insertAtCursor=function(myField,myValue,h){if(!Ext.isEmpty(h)){var z=h(myValue);null!=z&&(myValue=z)}if(myField.blur(),document.selection)sel=document.selection.createRange(),sel.text=myValue;else if(myField.selectionStart||"0"==myField.selectionStart){var startPos=myField.selectionStart,endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)+myValue+myField.value.substring(endPos,myField.value.length),myField.selectionStart=startPos+myValue.length,myField.selectionEnd=myField.selectionStart}else myField.value+=myValue;myField.focus()},MODx.insertForRTE=function(v,cfg){var fn=cfg.onInsert||!1;if(fn)fn(v,cfg);else{if("object"==typeof cfg.iframeEl)var doc=cfg.iframeEl;else doc=window.frames[0].document.getElementById(cfg.iframeEl);doc.value?doc.value=doc.value+v:doc.innerHTML=doc.innerHTML+v}},MODx.insertIntoContent=function(v,opt){opt.iframe?MODx.insertForRTE(v,opt.cfg):MODx.insertAtCursor(opt.ddTargetEl,v)},MODx.window.InsertElement=function(config){config=config||{};var resourceCmp=Ext.get("modx-resource-id"),resourceId=null!==resourceCmp?resourceCmp.getValue():0;Ext.applyIf(config,{title:_("select_el_opts"),id:"modx-window-insert-element",width:522,labelAlign:"left",labelWidth:160,url:MODx.config.connector_url,action:"Element/Template/Create",fields:[{xtype:"hidden",name:"pk",id:"modx-dise-pk"},{xtype:"hidden",name:"classKey",id:"modx-dise-classkey"},{xtype:"xcheckbox",fieldLabel:_("cached"),name:"cached",id:"modx-dise-cached",inputValue:1,checked:!0},{xtype:"modx-combo-property-set",fieldLabel:_("property_set"),name:"propertyset",id:"modx-dise-propset",width:300,baseParams:{action:"Element/PropertySet/GetList",showAssociated:!0,elementId:config.record.pk,elementType:config.record.classKey},listeners:{render:{fn:function(){Ext.getCmp("modx-dise-propset").getStore().load(),Ext.getCmp("modx-dise-propset").value="0"},scope:this},select:{fn:this.changePropertySet,scope:this}}},{id:"modx-dise-proplist",autoLoad:{url:MODx.config.connector_url,params:{action:"Element/GetInsertProperties",classKey:config.record.classKey,pk:config.record.pk,resourceId,propertySet:0},scripts:!0,callback:this.onPropFormLoad,scope:this},style:"display: none;"},{xtype:"fieldset",title:_("properties"),height:.6*Ext.getBody().getViewSize().height,collapsible:!0,autoScroll:!0,items:[{html:'
    ',id:"modx-iprops-container"}]}],modps:[]}),MODx.window.InsertElement.superclass.constructor.call(this,config),this.on("show",(function(){this.center(),this.mask=new Ext.LoadMask(Ext.get("modx-iprops-container"),{msg:_("loading")}),this.mask.show()}),this)},Ext.extend(MODx.window.InsertElement,MODx.Window,{changePropertySet:function(cb){var fp=Ext.getCmp("modx-iprops-fp");fp&&fp.destroy();var resourceCmp=Ext.get("modx-resource-id"),resourceId=null!==resourceCmp?resourceCmp.getValue():0;Ext.getCmp("modx-dise-proplist").getUpdater().update({url:MODx.config.connector_url,params:{action:"Element/GetInsertProperties",classKey:this.config.record.classKey,pk:this.config.record.pk,resourceId,propertySet:cb.getValue()},scripts:!0,callback:this.onPropFormLoad,scope:this}),this.modps=[],this.mask.show()},createStore:function(data){return new Ext.data.SimpleStore({fields:["v","d"],data})},onPropFormLoad:function(el,s,r){this.mask.hide();var vs=Ext.decode(r.responseText);if(!vs||vs.length<=0)return!1;for(var i=0;i]+)>)/gi,"")))}var menuindexField=Ext.getCmp("modx-resource-menuindex");menuindexField&&void 0!==o.result.object.menuindex&&menuindexField.setValue(o.result.object.menuindex);var isfolderFieldCmb=Ext.getCmp("modx-resource-isfolder");isfolderFieldCmb&&"boolean"==typeof o.result.object.isfolder&&isfolderFieldCmb.setValue(o.result.object.isfolder)}},_handleDrop:function(e){var dropNode=e.dropNode,targetParent=e.target;if(null!==targetParent.findChild("id",dropNode.attributes.id))return!1;if("modContext"==dropNode.attributes.type&&(targetParent.getDepth()>1||targetParent.attributes.id==targetParent.attributes.pk+"_0"&&"append"==e.point))return!1;if("modContext"!==dropNode.attributes.type&&targetParent.getDepth()<=1&&"append"!==e.point)return!1;if(null==MODx.config.resource_classes_drop[targetParent.attributes.classKey]){if(targetParent.attributes.hide_children_in_tree)return!1}else if(0==MODx.config.resource_classes_drop[targetParent.attributes.classKey])return!1;return"root"!=dropNode.attributes.text&&""!==dropNode.attributes.text&&"root"!=targetParent.attributes.text&&""!==targetParent.attributes.text},getContextSettingForNode:function(node,ctx,setting,dv){var val=dv||null;if("modContext"!=node.attributes.type){var cn=node.getOwnerTree().getRootNode().findChild("ctx",ctx,!1);cn&&(val=cn.attributes.settings[setting])}else val=node.attributes.settings[setting];return val},quickCreate:function(itm,e,cls,ctx,p){var r={class_key:cls=cls||"MODX\\Revolution\\modDocument",context_key:ctx||"web",parent:p||0,template:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"default_template",MODx.config.default_template)),richtext:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"richtext_default",MODx.config.richtext_default)),hidemenu:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"hidemenu_default",MODx.config.hidemenu_default)),searchable:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"search_default",MODx.config.search_default)),cacheable:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"cache_default",MODx.config.cache_default)),published:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"publish_default",MODx.config.publish_default)),content_type:parseInt(this.getContextSettingForNode(this.cm.activeNode,ctx,"default_content_type",MODx.config.default_content_type))};if("modContext"!=this.cm.activeNode.attributes.type){var cn=this.cm.activeNode.getOwnerTree().getRootNode().findChild("ctx",ctx,!1);cn&&(r.template=cn.attributes.settings.default_template)}else r.template=this.cm.activeNode.attributes.settings.default_template;var w=MODx.load({xtype:"modx-window-quick-create-modResource",record:r,listeners:{success:{fn:function(){this.refreshNode(this.cm.activeNode.id,this.cm.activeNode.childNodes.length>0)},scope:this},hide:{fn:function(){this.destroy()}},show:{fn:function(){this.center()}}}});w.setValues(r),w.show(e.target,(function(){Ext.isSafari?w.setPosition(null,30):w.center()}),this)},quickUpdate:function(itm,e,cls){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Resource/Get",id:this.cm.activeNode.attributes.pk,skipFormatDates:!0},listeners:{success:{fn:function(r){var pr=r.object;pr.class_key=cls;var w=MODx.load({xtype:"modx-window-quick-update-modResource",record:pr,listeners:{success:{fn:function(r){this.refreshNode(this.cm.activeNode.id);var newTitle=''+r.f.findField("pagetitle").getValue()+" ("+w.record.id+")";w.setTitle(w.title.replace(//,newTitle))},scope:this},hide:{fn:function(){this.destroy()}}}});w.title+=': '+Ext.util.Format.htmlEncode(w.record.pagetitle)+" ("+w.record.id+")",w.setValues(r.object),w.show(e.target,(function(){Ext.isSafari?w.setPosition(null,30):w.center()}),this)},scope:this}}})},_getModContextMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+" ("+a.ctx+")",handler:function(){return!1},header:!0}),m.push("-"),m.push({text:_("refresh_context"),handler:function(){this.refreshNode(this.cm.activeNode.id,!0)}}),ui.hasClass("pedit")&&m.push({text:_("edit_context"),handler:function(){var at=this.cm.activeNode.attributes;this.loadAction("a=context/update&key="+at.pk)}}),ui.hasClass("pnew")&&m.push({text:_("duplicate_context"),handler:this.duplicateContext}),ui.hasClass("pdelete")&&(m.push("-"),m.push({text:_("remove_context"),handler:this.removeContext})),ui.hasClass("pnewdoc")&&(m.push("-"),this._getCreateMenus(m,"0",ui)),ui.hasClass("x-tree-node-leaf")||(m.push("-"),m.push(this._getSortMenu())),m},overviewResource:function(){this.loadAction("a=resource/data")},quickUpdateResource:function(itm,e){this.quickUpdate(itm,e,itm.classKey)},editResource:function(){this.loadAction("a=resource/update")},_getModResourceMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pview")&&m.push({text:_("resource_overview"),handler:this.overviewResource}),ui.hasClass("pedit")&&m.push({text:_("resource_edit"),handler:this.editResource}),ui.hasClass("pqupdate")&&m.push({text:_("quick_update_resource"),classKey:a.classKey,handler:this.quickUpdateResource}),ui.hasClass("pduplicate")&&m.push({text:_("resource_duplicate"),handler:this.duplicateResource}),m.push({text:_("resource_refresh"),handler:this.refreshResource,scope:this}),ui.hasClass("pnew")&&(m.push("-"),this._getCreateMenus(m,null,ui)),ui.hasClass("psave")&&(m.push("-"),ui.hasClass("ppublish")&&ui.hasClass("unpublished")?m.push({text:_("resource_publish"),handler:this.publishDocument}):ui.hasClass("punpublish")&&m.push({text:_("resource_unpublish"),handler:this.unpublishDocument}),ui.hasClass("pundelete")&&ui.hasClass("deleted")?m.push({text:_("resource_undelete"),handler:this.undeleteDocument}):ui.hasClass("pdelete")&&!ui.hasClass("deleted")&&m.push({text:_("resource_delete"),handler:this.deleteDocument})),ui.hasClass("x-tree-node-leaf")||(m.push("-"),m.push(this._getSortMenu())),ui.hasClass("pview")&&""!=a.preview_url&&(m.push("-"),m.push({text:_("resource_view"),handler:this.preview})),m},refreshResource:function(){this.refreshNode(this.cm.activeNode.id)},createResourceHere:function(itm){var at=this.cm.activeNode.attributes,parent=itm.usePk?itm.usePk:at.pk;parseInt(MODx.config.enable_template_picker_in_tree)?MODx.createResource({class_key:itm.classKey,parent,context_key:at.ctx||MODx.config.default_context}):this.loadAction("a=resource/create&class_key="+itm.classKey+"&parent="+parent+(at.ctx?"&context_key="+at.ctx:""))},createResource:function(itm,e){var at=this.cm.activeNode.attributes,p=itm.usePk?itm.usePk:at.pk;this.quickCreate(itm,e,itm.classKey,at.ctx,p)},_getCreateMenus:function(m,pk,ui){var types=MODx.config.resource_classes,o=this.fireEvent("loadCreateMenus",types);Ext.isObject(o)&&Ext.apply(types,o);var coreTypes=["MODXRevolutionmodDocument","MODXRevolutionmodWebLink","MODXRevolutionmodSymLink","MODXRevolutionmodStaticResource"],ct=[],qct=[];for(var k in types)(-1==coreTypes.indexOf(k)||ui.hasClass("pnew_"+k))&&(ct.push({text:types[k].text_create_here,classKey:k,usePk:pk||!1,handler:this.createResourceHere,scope:this}),ui&&ui.hasClass("pqcreate")&&qct.push({text:types[k].text_create,classKey:k,handler:this.createResource,scope:this}));return m.push({text:_("create"),handler:function(){return!1},menu:{items:ct}}),ui&&ui.hasClass("pqcreate")&&m.push({text:_("quick_create"),handler:function(){return!1},menu:{items:qct}}),m},_handleDrag:function(dropEvent){var encNodes=Ext.encode(function simplifyNodes(node){for(var resultNode={},kids=node.childNodes,len=kids.length,i=0;i[[*pagetitle]]
    "+_("resource_pagetitle_help"),anchor:"100%",allowBlank:!1},{xtype:"textfield",name:"longtitle",id:"modx-"+this.ident+"-longtitle",fieldLabel:_("resource_longtitle"),description:"[[*longtitle]]
    "+_("resource_longtitle_help"),anchor:"100%"},{xtype:"textarea",name:"description",id:"modx-"+this.ident+"-description",fieldLabel:_("resource_description"),description:"[[*description]]
    "+_("resource_description_help"),anchor:"100%",grow:!1,height:50},{xtype:"textarea",name:"introtext",id:"modx-"+this.ident+"-introtext",fieldLabel:_("resource_summary"),description:"[[*introtext]]
    "+_("resource_summary_help"),anchor:"100%",height:50}]},{columnWidth:.4,border:!1,layout:"form",items:[{xtype:"modx-combo-template",name:"template",id:"modx-"+this.ident+"-template",fieldLabel:_("resource_template"),description:"[[*template]]
    "+_("resource_template_help"),editable:!1,anchor:"100%",baseParams:{action:"Element/Template/GetList",combo:!0},value:MODx.config.default_template},{xtype:"textfield",name:"alias",id:"modx-"+this.ident+"-alias",fieldLabel:_("resource_alias"),description:"[[*alias]]
    "+_("resource_alias_help"),anchor:"100%"},{xtype:"textfield",name:"menutitle",id:"modx-"+this.ident+"-menutitle",fieldLabel:_("resource_menutitle"),description:"[[*menutitle]]
    "+_("resource_menutitle_help"),anchor:"100%"},{xtype:"textfield",fieldLabel:_("resource_link_attributes"),description:"[[*link_attributes]]
    "+_("resource_link_attributes_help"),name:"link_attributes",id:"modx-"+this.ident+"-attributes",maxLength:255,anchor:"100%"},{xtype:"xcheckbox",boxLabel:_("resource_hide_from_menus"),description:"[[*hidemenu]]
    "+_("resource_hide_from_menus_help"),hideLabel:!0,name:"hidemenu",id:"modx-"+this.ident+"-hidemenu",inputValue:1,checked:"1"==MODx.config.hidemenu_default?1:0},{xtype:"xcheckbox",boxLabel:_("resource_published"),description:"[[*published]]
    "+_("resource_published_help"),hideLabel:!0,name:"published",id:"modx-"+this.ident+"-published",inputValue:1,checked:"1"==MODx.config.publish_default?1:0},{xtype:"xcheckbox",boxLabel:_("deleted"),description:"[[*deleted]]
    "+_("resource_delete"),hideLabel:!0,name:"deleted",id:"modx-"+this.ident+"-deleted",inputValue:1,checked:"1"==MODx.config.deleted_default?1:0}]}]},MODx.getQRContentField(this.ident,config.record.class_key)]},{id:"modx-"+this.ident+"-settings",title:_("settings"),layout:"form",cls:"modx-panel",autoHeight:!0,forceLayout:!0,labelWidth:100,defaults:{autoHeight:!0,border:!1},items:MODx.getQRSettings(this.ident,config.record)}]}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}]}),MODx.window.QuickCreateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickCreateResource,MODx.Window),Ext.reg("modx-window-quick-create-modResource",MODx.window.QuickCreateResource),MODx.window.QuickUpdateResource=function(config){config=config||{},this.ident=config.ident||"qur"+Ext.id(),Ext.applyIf(config,{title:_("quick_update_resource"),id:this.ident,action:"Resource/Update",buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){this.hide()}},{text:config.saveBtnText||_("save"),scope:this,handler:function(){this.submit(!1)}},{text:config.saveBtnText||_("save_and_close"),cls:"primary-button",scope:this,handler:this.submit}]}),MODx.window.QuickUpdateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickUpdateResource,MODx.window.QuickCreateResource),Ext.reg("modx-window-quick-update-modResource",MODx.window.QuickUpdateResource),MODx.getQRContentField=function(id,cls){id=id||"qur",cls=cls||"MODX\\Revolution\\modDocument";Ext.getBody().getViewSize();var o={};switch(cls){case"MODX\\Revolution\\modSymLink":o={xtype:"textfield",fieldLabel:_("symlink"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255};break;case"MODX\\Revolution\\modWebLink":o={xtype:"textfield",fieldLabel:_("weblink"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255,value:""};break;case"MODX\\Revolution\\modStaticResource":o={xtype:"modx-combo-browser",browserEl:"modx-browser",prependPath:!1,prependUrl:!1,fieldLabel:_("static_resource"),name:"content",id:"modx-"+id+"-content",anchor:"100%",maxLength:255,value:"",listeners:{select:{fn:function(data){"/"==data.url.substring(0,1)&&Ext.getCmp("modx-"+id+"-content").setValue(data.url.substring(1))},scope:this}}};break;default:o={xtype:"textarea",name:"content",id:"modx-"+id+"-content",fieldLabel:_("content"),labelSeparator:"",anchor:"100%",style:"min-height: 200px",grow:!0}}return o},MODx.getQRSettings=function(id,va){return[{layout:"column",border:!1,anchor:"100%",defaults:{labelSeparator:"",labelAlign:"top",border:!1,layout:"form"},items:[{columnWidth:.5,items:[{xtype:"hidden",name:"parent",id:"modx-"+(id=id||"qur")+"-parent",value:va.parent},{xtype:"hidden",name:"context_key",id:"modx-"+id+"-context_key",value:va.context_key},{xtype:"hidden",name:"class_key",id:"modx-"+id+"-class_key",value:va.class_key},{xtype:"hidden",name:"publishedon",id:"modx-"+id+"-publishedon",value:va.publishedon},{xtype:"modx-field-parent-change",fieldLabel:_("resource_parent"),description:"[[*parent]]
    "+_("resource_parent_help"),name:"parent-cmb",id:"modx-"+id+"-parent-change",value:va.parent||0,anchor:"100%",parentcmp:"modx-"+id+"-parent",contextcmp:"modx-"+id+"-context_key",currentid:va.id||0},{xtype:"modx-combo-class-derivatives",fieldLabel:_("resource_type"),description:"[[*class_key]]
    ",name:"class_key",hiddenName:"class_key",id:"modx-"+id+"-class-key",anchor:"100%",value:null!=va.class_key?va.class_key:"MODX\\Revolution\\modDocument"},{xtype:"modx-combo-content-type",fieldLabel:_("resource_content_type"),description:"[[*content_type]]
    "+_("resource_content_type_help"),name:"content_type",hiddenName:"content_type",id:"modx-"+id+"-type",anchor:"100%",value:null!=va.content_type?va.content_type:MODx.config.default_content_type||1},{xtype:"modx-combo-content-disposition",fieldLabel:_("resource_contentdispo"),description:"[[*content_dispo]]
    "+_("resource_contentdispo_help"),name:"content_dispo",hiddenName:"content_dispo",id:"modx-"+id+"-dispo",anchor:"100%",value:null!=va.content_dispo?va.content_dispo:0},{xtype:"numberfield",fieldLabel:_("resource_menuindex"),description:"[[*menuindex]]
    "+_("resource_menuindex_help"),name:"menuindex",id:"modx-"+id+"-menuindex",width:75,value:va.menuindex||0}]},{columnWidth:.5,items:[{xtype:"xdatetime",fieldLabel:_("resource_publishedon"),description:"[[*publishedon]]
    "+_("resource_publishedon_help"),name:"publishedon",id:"modx-"+id+"-publishedon",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.publishedon},{xtype:va.canpublish?"xdatetime":"hidden",fieldLabel:_("resource_publishdate"),description:"[[*pub_date]]
    "+_("resource_publishdate_help"),name:"pub_date",id:"modx-"+id+"-pub-date",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.pub_date},{xtype:va.canpublish?"xdatetime":"hidden",fieldLabel:_("resource_unpublishdate"),description:"[[*unpub_date]]
    "+_("resource_unpublishdate_help"),name:"unpub_date",id:"modx-"+id+"-unpub-date",allowBlank:!0,dateFormat:MODx.config.manager_date_format,timeFormat:MODx.config.manager_time_format,startDay:parseInt(MODx.config.manager_week_start),dateWidth:153,timeWidth:153,offset_time:MODx.config.server_offset_time,value:va.unpub_date},{xtype:"xcheckbox",boxLabel:_("resource_folder"),description:_("resource_folder_help"),hideLabel:!0,name:"isfolder",id:"modx-"+id+"-isfolder",inputValue:1,checked:null!=va.isfolder&&va.isfolder},{xtype:"xcheckbox",boxLabel:_("resource_show_in_tree"),description:_("resource_show_in_tree_help"),hideLabel:!0,name:"show_in_tree",id:"modx-"+id+"-show_in_tree",inputValue:1,checked:null!=va.show_in_tree?va.show_in_tree:1},{xtype:"xcheckbox",boxLabel:_("resource_hide_children_in_tree"),description:_("resource_hide_children_in_tree_help"),hideLabel:!0,name:"hide_children_in_tree",id:"modx-"+id+"-hide_children_in_tree",inputValue:1,checked:null!=va.hide_children_in_tree&&va.hide_children_in_tree},{xtype:"xcheckbox",boxLabel:_("resource_alias_visible"),description:_("resource_alias_visible_help"),hideLabel:!0,name:"alias_visible",id:"modx-"+id+"-alias-visible",inputValue:1,checked:null!=va.alias_visible?va.alias_visible:1},{xtype:"xcheckbox",boxLabel:_("resource_uri_override"),description:_("resource_uri_override_help"),hideLabel:!0,name:"uri_override",id:"modx-"+id+"-uri-override",value:1,checked:!!parseInt(va.uri_override),listeners:{check:{fn:MODx.handleFreezeUri}}},{xtype:"textfield",fieldLabel:_("resource_uri"),description:"[[*uri]]
    "+_("resource_uri_help"),name:"uri",id:"modx-"+id+"-uri",maxLength:255,anchor:"100%",value:va.uri||"",hidden:!va.uri_override},{xtype:"xcheckbox",boxLabel:_("resource_richtext"),description:_("resource_richtext_help"),hideLabel:!0,name:"richtext",id:"modx-"+id+"-richtext",inputValue:1,checked:void 0!==va.richtext?va.richtext?1:0:"1"==MODx.config.richtext_default?1:0},{xtype:"xcheckbox",boxLabel:_("resource_searchable"),description:_("resource_searchable_help"),hideLabel:!0,name:"searchable",id:"modx-"+id+"-searchable",inputValue:1,checked:void 0!==va.searchable?va.searchable?1:0:"1"==MODx.config.search_default?1:0,listeners:{check:{fn:MODx.handleQUCB}}},{xtype:"xcheckbox",boxLabel:_("resource_cacheable"),description:_("resource_cacheable_help"),hideLabel:!0,name:"cacheable",id:"modx-"+id+"-cacheable",inputValue:1,checked:void 0!==va.cacheable?va.cacheable?1:0:"1"==MODx.config.cache_default?1:0},{xtype:"xcheckbox",name:"clearCache",id:"modx-"+id+"-clearcache",boxLabel:_("resource_syncsite"),description:_("resource_syncsite_help"),hideLabel:!0,inputValue:1,checked:void 0!==va.clearCache?va.clearCache?1:0:"1"==MODx.config.syncsite_default?1:0}]}]}]},MODx.handleQUCB=function(cb){var h=Ext.getCmp(cb.id+"-hd");cb.checked&&h?(cb.setValue(1),h.setValue(1)):h&&(cb.setValue(0),h.setValue(0))},MODx.handleFreezeUri=function(cb){var uri=Ext.getCmp(cb.id.replace("-override",""));if(!uri)return!1;cb.checked?uri.show():uri.hide()},Ext.override(Ext.tree.AsyncTreeNode,{listeners:{click:{fn:function(){return console.log("Clicked me!",arguments),!1},scope:this}}}),MODx.window.CreateResource=function(config={}){this.ident=config.ident||`tplpick${Ext.id()}`;const id=this.ident,requireAlias=parseInt(MODx.config.friendly_urls,10)&&!parseInt(MODx.config.automatic_alias,10),aliasLength=parseInt(MODx.config.friendly_alias_max_length,10)||0,resourceDetail=[{columnWidth:requireAlias?.33:.5,items:[{xtype:"modx-combo-class-derivatives",fieldLabel:_("resource_type"),description:MODx.expandHelp?"":_("resource_type_help"),name:"class_key",hiddenName:"class_key",anchor:"100%",allowBlank:!1,value:config.record.class_key||"MODX\\Revolution\\modDocument"}]},{columnWidth:requireAlias?.33:.5,items:[{xtype:"modx-field-parent-change",fieldLabel:_("resource_parent"),description:`[[*parent]]
    ${_("resource_parent_help")}`,name:"parent-cmb",id:`modx-${id}-parent-change`,value:config.record.parent||0,anchor:"100%",parentcmp:"modx-template-picker-parent-id",contextcmp:"modx-template-picker-parent-context",currentid:id}]}];requireAlias&&resourceDetail.push({columnWidth:.34,defaults:{anchor:"100%",enableKeyEvents:!0,validationEvent:"change",validateOnBlur:!1,msgTarget:"under"},items:[{xtype:"textfield",fieldLabel:_("resource_alias"),name:"alias",allowBlank:!1,maxLength:aliasLength>191||0===aliasLength?191:aliasLength,value:config.record.alias||"",listeners:{afterrender:function(){this.clearInvalid()}}}]}),Ext.applyIf(config,{autoHeight:!0,title:_("document_new"),url:MODx.config.connector_url,baseParams:{action:"Resource/Create"},width:600,fields:[{xtype:"textfield",fieldLabel:_("resource_pagetitle"),description:MODx.expandHelp?"":_("resource_pagetitle_help"),name:"pagetitle",maxLength:191,anchor:"100%",allowBlank:!1,validationEvent:"change",validateOnBlur:!1,value:config.record.pagetitle||"",listeners:{afterrender:function(){this.clearInvalid()}}},{xtype:"hidden",name:"parent",id:"modx-template-picker-parent-id"},{xtype:"hidden",name:"context_key",id:"modx-template-picker-parent-context"},{layout:"column",defaults:{layout:"form",labelSeparator:""},items:resourceDetail},{xtype:"modx-panel-template-picker",fieldLabel:_("resource_template"),description:MODx.expandHelp?"":_("resource_template_help"),name:"template",value:config.record.template||MODx.config.default_template}]}),MODx.window.CreateResource.superclass.constructor.call(this,config)},Ext.extend(MODx.window.CreateResource,MODx.Window),Ext.reg("modx-window-create-resource",MODx.window.CreateResource),MODx.panel.TemplatePicker=function(config){config=config||{},Ext.applyIf(config,{xtype:"panel",layout:"form",labelSeparator:"",items:[{layout:"column",defaults:{layout:"form",labelSeparator:""},items:[{columnWidth:.4,items:[{xtype:"modx-combo-template-picker",id:"modx-resource-template-picker",name:"template",value:config.record||MODx.config.default_template,listeners:{select:{fn:this.setPreview,scope:this}}}]},{columnWidth:.6,items:[{xtype:"modx-panel-template-preview",id:"modx-resource-template-preview"}]}]}]}),MODx.panel.TemplatePicker.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.TemplatePicker,Ext.Panel,{setPreview:function(record){Ext.getCmp("modx-resource-template-preview").setPreview(record)}}),Ext.reg("modx-panel-template-picker",MODx.panel.TemplatePicker),MODx.combo.TemplatePicker=function(config){config=config||{},Ext.applyIf(config,{cls:"x-form-template-picker",layout:"form",defaults:{hideLabel:!0},items:[{xtype:"textfield",itemCls:"x-form-template-picker-search",cls:"x-form-field-search",anchor:"100%",emptyText:_("search"),listeners:{keyup:{fn:this.filterItems,scope:this}},enableKeyEvents:!0}],store:new Ext.data.JsonStore({url:MODx.config.connector_url,baseParams:{action:"Element/Template/GetList",combo:!0,limit:0},root:"results",totalProperty:"total",fields:["id","templatename","description","category_name","preview"],errorReader:MODx.util.JSONReader,autoDestroy:!0,autoLoad:!0,listeners:{load:{fn:this.loadItems,scope:this},loadexception:{fn:function(o,trans,resp){var status=_("code")+": "+resp.status+" "+resp.statusText+"
    ";MODx.msg.alert(_("error"),status+resp.responseText)}}}})}),MODx.combo.TemplatePicker.superclass.constructor.call(this,config)},Ext.extend(MODx.combo.TemplatePicker,Ext.Panel,{loadItems:function(store,data){var value=this.value,items=[],category="";Ext.each(data,(function(record){category!==record.data.category_name&&(Ext.isEmpty(record.data.category_name)||items.push({hideLabel:!0,boxLabel:record.data.category_name,disabled:!0,itemCls:"x-form-template-picker-category"})),items.push({hideLabel:!0,boxLabel:record.data.templatename,name:this.name||"template",inputValue:record.data.id,itemCls:"x-form-template-picker-item",record,checked:record.data.id==value}),category=record.data.category_name}),this),this.add({xtype:"radiogroup",id:"modx-template-picker-templates",itemCls:"x-form-template-picker-templates",columns:1,items,listeners:{render:{fn:function(cmp){const record=cmp.getValue()?.record;record&&this.fireEvent("select",record)},scope:this},change:{fn:function(cmp,checked){checked.record&&this.fireEvent("select",checked.record)},scope:this}}}),this.doLayout()},filterItems:function(tf){void 0!==(panel=Ext.getCmp("modx-template-picker-templates"))&&panel.items.each((function(object){if(!Ext.isEmpty(tf.getValue())&&object.record){var regex=new RegExp(tf.getValue(),"i");-1===object.record.data.templatename.search(regex)?object.hide():object.show()}else object.show()}))}}),Ext.reg("modx-combo-template-picker",MODx.combo.TemplatePicker),MODx.panel.TemplatePreview=function(config){config=config||{},Ext.applyIf(config,{cls:"x-form-template-preview"}),MODx.panel.TemplatePreview.superclass.constructor.call(this,config)},Ext.extend(MODx.panel.TemplatePreview,Ext.Panel,{setPreview:function(record){if(this.removeAll(),""==record.data.preview||void 0===record.data.preview){this.addClass("x-form-template-preview-empty");var html=""}else{this.removeClass("x-form-template-preview-empty");html=''+record.data.templatename+''}this.add({xtype:"box",autoEl:{tag:"div",cls:"x-form-template-preview-image",html},hidden:""==record.data.image},{xtype:"box",autoEl:{tag:"div",cls:"x-form-template-preview-desc",html:"

    "+record.data.description+"

    "},hidden:""==record.data.description}),this.doLayout()}}),Ext.reg("modx-panel-template-preview",MODx.panel.TemplatePreview),MODx.tree.Element=function(config){config=config||{},Ext.applyIf(config,{rootVisible:!1,enableDD:!Ext.isEmpty(MODx.config.enable_dragdrop),ddGroup:"modx-treedrop-elements-dd",title:"",url:MODx.config.connector_url,action:"Element/GetNodes",sortAction:"Element/Sort",baseParams:{currentElement:MODx.request.id||0,currentAction:MODx.request.a||0}}),MODx.tree.Element.superclass.constructor.call(this,config),this.on("afterSort",this.afterSort)},Ext.extend(MODx.tree.Element,MODx.tree.Tree,{forms:{},windows:{},stores:{},getToolbar:function(){return[]},createCategory:function(n,e){var r={};this.cm.activeNode&&this.cm.activeNode.attributes.data&&(r.parent=this.cm.activeNode.attributes.data.id),MODx.load({xtype:"modx-window-category-create",record:r,listeners:{success:{fn:function(){var node=this.cm.activeNode?this.cm.activeNode.id:"n_category",self=-1!==node.indexOf("_category_");this.refreshNode(node,self)},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},renameCategory:function(itm,e){var r=this.cm.activeNode.attributes.data,w=MODx.load({xtype:"modx-window-category-rename",record:r,listeners:{success:{fn:function(r){var c=r.a.result.object,n=this.cm.activeNode;n.setText(c.category+" ("+c.id+")"),Ext.get(n.getUI().getEl()).frame(),n.attributes.data.id=c.id,n.attributes.data.category=c.category,n.attributes.data.rank=c.rank},scope:this},hide:{fn:function(){this.destroy()}}}});w.show(e.target)},removeCategory:function(itm,e){var id=this.cm.activeNode.attributes.data.id;MODx.msg.confirm({title:_("warning"),text:_("category_confirm_delete"),url:MODx.config.connector_url,params:{action:"Element/Category/Remove",id},listeners:{success:{fn:function(){this.cm.activeNode.remove()},scope:this}}})},duplicateElement:function(itm,e,id,type){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"element/"+type+"/get",id},listeners:{success:{fn:function(results){var rec={id,type,name:_("duplicate_of",{name:this.cm.activeNode.attributes.name}),caption:_("duplicate_of",{name:this.cm.activeNode.attributes.caption}),category:results.object.category,source:results.object.source,static:results.object.static,static_file:results.object.static_file};MODx.load({xtype:"modx-window-element-duplicate",record:rec,redirect:!1,listeners:{success:{fn:function(r){var response=Ext.decode(r.a.response.responseText);response.object.redirect?MODx.loadPage("element/"+rec.type+"/update","id="+response.object.id):this.refreshNode(this.cm.activeNode.id)},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},extractElementIdentifiersFromActiveNode:function(activeNode){let startIndex;const extractedData={};switch(!0){case 0===activeNode.id.indexOf("n_type_"):startIndex=7;break;case 0===activeNode.id.indexOf("n_c_"):startIndex=4;break;default:startIndex=2}const identifiers=activeNode.id.substr(startIndex).split("_");switch([extractedData.type]=identifiers,identifiers.length){case 4:return{...extractedData,elementId:parseInt(identifiers[2],10),categoryId:parseInt(identifiers[3],10)};case 3:return{...extractedData,categoryId:parseInt(identifiers[2],10)};case 1:return extractedData}return!1},removeElement:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.msg.confirm({title:_("warning"),text:_("remove_this_confirm",{type:_(elementIdentifiers.type),name:this.cm.activeNode.attributes.name}),url:MODx.config.connector_url,params:{action:`element/${elementIdentifiers.type}/remove`,id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.cm.activeNode.remove(),MODx.request.a===`element/${elementIdentifiers.type}/update`&&parseInt(MODx.request.id,10)===elementIdentifiers.elementId&&MODx.loadPage("welcome")},scope:this}}})},activatePlugin:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Element/Plugin/Activate",id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.refreshParentNode()},scope:this}}})},deactivatePlugin:function(itm,e){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Element/Plugin/Deactivate",id:elementIdentifiers.elementId},listeners:{success:{fn:function(){this.refreshParentNode()},scope:this}}})},quickCreate:function(itm,e,type){var r={category:this.cm.activeNode.attributes.pk||""},w=MODx.load({xtype:"modx-window-quick-create-"+type,record:r,listeners:{success:{fn:function(){this.refreshNode(this.cm.activeNode.id,!0)},scope:this},hide:{fn:function(){this.destroy()}}}});w.setValues(r),w.show(e.target)},quickUpdate:function(itm,e,type){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"element/"+type+"/get",id:this.cm.activeNode.attributes.pk},listeners:{success:{fn:function(r){var nameField="template"==type?"templatename":"name",w=MODx.load({xtype:"modx-window-quick-update-"+type,record:r.object,listeners:{success:{fn:function(r){this.refreshNode(this.cm.activeNode.id);var newTitle=''+r.f.findField(nameField).getValue()+" ("+w.record.id+")";w.setTitle(w.title.replace(//,newTitle))},scope:this},hide:{fn:function(){this.destroy()}}}});w.title+=': '+w.record[nameField]+" ("+w.record.id+")",w.setValues(r.object),w.show(e.target)},scope:this}}})},_createElement:function(itm,e,t){const elementIdentifiers=this.extractElementIdentifiersFromActiveNode(this.cm.activeNode);return this.redirect(`?a=element/${elementIdentifiers.type}/create&category=${elementIdentifiers.categoryId}`),this.cm.hide(),!1},afterSort:function(o){var tn=o.event.target.attributes;if("category"==tn.type){var dn=o.event.dropNode.attributes;"n_category"!=tn.id&&"category"==dn.type?o.event.target.expand():(this.refreshNode(o.event.target.attributes.id,!0),this.refreshNode("n_type_"+o.event.dropNode.attributes.type,!0))}},_handleDrop:function(e){var target=e.target;return"above"!=e.point&&"below"!=e.point&&(("MODX\\Revolution\\modCategory"==target.attributes.classKey||"root"==target.attributes.classKey)&&(!!this.isCorrectType(e.dropNode,target)&&("category"==target.attributes.type&&"append"==e.point||target.getDepth()>0)))},isCorrectType:function(dropNode,targetNode){var r=!1;return targetNode.attributes.type==dropNode.attributes.type&&(targetNode.parentNode&&("folder"==dropNode.attributes.cls&&"folder"==targetNode.attributes.cls&&dropNode.parentNode.id==targetNode.parentNode.id||"file"==targetNode.attributes.cls)||(r=!0)),r},_showContextMenu:function(n,e){if(this.cm.activeNode=n,this.cm.removeAll(),n.attributes.menu&&n.attributes.menu.items)this.addContextMenuItem(n.attributes.menu.items),this.cm.show(n.getUI().getEl(),"t?");else{var m=[];switch(n.attributes.classKey){case"root":m=this._getRootMenu(n);break;case"MODX\\Revolution\\modCategory":m=this._getCategoryMenu(n);break;default:m=this._getElementMenu(n)}this.addContextMenuItem(m),this.cm.showAt(e.xy)}e.stopEvent()},_getQuickCreateMenu:function(n,m){for(var t,ui=n.getUI(),mn=[],types=["template","tv","chunk","snippet","plugin"],i=0;i0&&m.push({text:_("quick_create"),handler:function(){return!1},menu:{items:mn}}),m},_getElementMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pedit")&&(m.push({text:_("edit_"+a.type),type:a.type,pk:a.pk,handler:function(itm,e){MODx.loadPage("element/"+itm.type+"/update","id="+itm.pk)}}),m.push({text:_("quick_update_"+a.type),type:a.type,handler:function(itm,e){this.quickUpdate(itm,e,itm.type)}}),"MODX\\Revolution\\modPlugin"===a.classKey&&(a.active?m.push({text:_("plugin_deactivate"),type:a.type,handler:this.deactivatePlugin}):m.push({text:_("plugin_activate"),type:a.type,handler:this.activatePlugin}))),ui.hasClass("pnew")&&m.push({text:_("duplicate_"+a.type),pk:a.pk,type:a.type,handler:function(itm,e){this.duplicateElement(itm,e,itm.pk,itm.type)}}),ui.hasClass("pdelete")&&(m.push("-"),m.push({text:_("remove_"+a.type),handler:this.removeElement})),m.push("-"),ui.hasClass("pnew")&&m.push({text:_("add_to_category_"+a.type),handler:this._createElement}),ui.hasClass("pnewcat")&&m.push({text:_("category_create"),handler:this.createCategory}),m},_getCategoryMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];return m.push({text:""+a.text+"",handler:function(){return!1},header:!0}),m.push("-"),ui.hasClass("pnewcat")&&m.push({text:_("category_create"),handler:this.createCategory}),ui.hasClass("peditcat")&&m.push({text:_("category_rename"),handler:this.renameCategory}),m.length>2&&m.push("-"),ui.hasClass("pnew_"+a.type)&&m.push({text:_("add_to_category_"+a.type),handler:this._createElement}),this._getQuickCreateMenu(n,m),ui.hasClass("pdelcat")&&(m.push("-"),m.push({text:_("category_remove"),handler:this.removeCategory})),m},_getRootMenu:function(n){var a=n.attributes,ui=n.getUI(),m=[];if(ui.hasClass("pnew")&&(m.push({text:_("new_"+a.type),handler:this._createElement}),m.push({text:_("quick_create_"+a.type),type:a.type,handler:function(itm,e){this.quickCreate(itm,e,itm.type)}})),ui.hasClass("pnewcat")&&(ui.hasClass("pnew")&&m.push("-"),m.push({text:_("category_create"),handler:this.createCategory})),n.isLoaded()){var childNodes=n.childNodes;childNodes.some((function(child){return!child.leaf}))&&(m.push("-"),n.isExpanded()&&childNodes.some((function(child){return child.isExpanded()}))&&m.push({text:_("collapse_all"),handler:function(){n.collapseChildNodes()}}),m.push({text:_("expand_all"),handler:function(){n.isExpandable()&&n.expand(!0)}}))}return m},handleCreateClick:function(node){this.cm.activeNode=node,"category"!=this.cm.activeNode.id.substr(2).split("_")[0]?this._createElement(null,null,null):this.createCategory(null,{target:this})}}),Ext.reg("modx-tree-element",MODx.tree.Element),MODx.tree.Directory=function(config){(config=config||{}).id=config.id||Ext.id(),Ext.applyIf(config,{rootVisible:!0,rootName:"Filesystem",rootId:"/",title:_("files"),ddAppendOnly:!0,ddGroup:"modx-treedrop-sources-dd",url:MODx.config.connector_url,hideSourceCombo:!1,baseParams:{hideFiles:config.hideFiles||!1,hideTooltips:config.hideTooltips||!1,wctx:MODx.ctx||"web",currentAction:MODx.request.a||0,currentFile:MODx.request.file||"",source:config.source||0},action:"Browser/Directory/GetList",primaryKey:"dir",useDefaultToolbar:!0,autoExpandRoot:!1,tbar:[{cls:"x-btn-icon icon-folder",tooltip:{text:_("file_folder_create")},handler:this.createDirectory,scope:this,hidden:!MODx.perm.directory_create},{cls:"x-btn-icon icon-page_white",tooltip:{text:_("file_create")},handler:this.quickCreateFile,scope:this,hidden:!MODx.perm.file_create},{cls:"x-btn-icon icon-file_upload",tooltip:{text:_("upload_files")},handler:this.uploadFiles,scope:this,hidden:!MODx.perm.file_upload},"->",{cls:"x-btn-icon icon-file_manager",tooltip:{text:_("modx_browser")},handler:this.loadFileManager,scope:this,hidden:!(MODx.perm.file_manager&&!MODx.browserOpen)}],tbarCfg:{id:config.id+"-tbar"}}),MODx.tree.Directory.superclass.constructor.call(this,config),this.addEvents({beforeUpload:!0,afterUpload:!0,afterQuickCreate:!0,afterRename:!0,afterRemove:!0,fileBrowserSelect:!0,changeSource:!0,afterSort:!0}),this.on("click",(function(n,e){n.select(),this.cm.activeNode=n}),this),this.on("render",(function(){var el=Ext.get(this.config.id);el.createChild({tag:"div",id:this.config.id+"_tb"}),el.createChild({tag:"div",id:this.config.id+"_filter"}),this.addSourceToolbar()}),this),this.on("show",(function(){if(!this.config.hideSourceCombo)try{this.sourceCombo.show()}catch(e){}}),this),this._init(),this.on("afterrender",this.showRefresh,this),this.on("afterSort",this._handleAfterDrop,this),this.on("click",(function(e){null!=this.uploader&&this.uploader.setBaseParams({path:e.id})})),this.uploader=new MODx.util.MultiUploadDialog.Upload({url:MODx.config.connector_url,base_params:{action:"Browser/File/Upload",wctx:MODx.ctx||"",source:this.getSource()}}),this.uploader.on("beforeupload",this.beforeUpload,this),this.uploader.on("uploadsuccess",this.uploadSuccess,this),this.uploader.on("uploaderror",this.uploadError,this),this.uploader.on("uploadfailed",this.uploadFailed,this)},Ext.extend(MODx.tree.Directory,MODx.tree.Tree,{windows:{},getRootMenu:function(node){var menu=[];return MODx.perm.directory_create&&menu.push({text:_("file_folder_create"),handler:this.createDirectory,scope:this}),MODx.perm.file_create&&menu.push({text:_("file_create"),handler:this.createFile,scope:this}),MODx.perm.file_upload&&menu.push({text:_("upload_files"),handler:this.uploadFiles,scope:this}),node.ownerTree.el.hasClass("pupdate")&&menu.push(["-",{text:_("edit"),handler:function(){MODx.loadPage("source/update","id="+node.ownerTree.source)}}]),menu},_showContextMenu:function(node,e){this.cm.activeNode=node,this.cm.removeAll();var m=[];m.push({text:""+node.attributes.text+"",handler:function(){return!1},header:!0}),m.push("-"),node.isRoot?m=m.concat(this.getRootMenu(node)):node.attributes.menu&&node.attributes.menu.items&&(m=m.concat(node.attributes.menu.items)),m&&m.length>0&&(this.addContextMenuItem(m),this.cm.showAt(e.xy)),e.preventDefault(),e.stopEvent()},showRefresh:function(){var node=this.getRootNode(),inlineButtonsLang=this.getInlineButtonsLang(node),elId=node.ui.elNode.id+"_tools",el=document.createElement("div");el.id=elId,el.className="modx-tree-node-tool-ct",node.ui.elNode.appendChild(el),MODx.load({xtype:"modx-button",text:"",scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.refresh,target:this}),node,handler:function(btn,evt){evt.stopPropagation(evt),node.reload()},iconCls:"icon-refresh",renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e)},mouseout:function(button,e){button.tooltip.onTargetOut(e)}}})},addSourceToolbar:function(){if(this.sourceCombo=new MODx.combo.MediaSource({value:this.config.source||MODx.config.default_media_source,listWidth:236,listeners:{select:{fn:this.changeSource,scope:this},loaded:{fn:function(combo){var rec=combo.store.getById(this.config.source),rn=this.getRootNode();rn&&rec&&rn.setText(rec.data.name)},scope:this}}}),this.searchBar=new Ext.Toolbar({renderTo:this.tbar,id:this.config.id+"-sourcebar",items:[this.sourceCombo]}),this.on("resize",(function(){this.sourceCombo.setWidth(this.getWidth()-12)}),this),this.config.hideSourceCombo)try{this.sourceCombo.hide()}catch(e){}},changeSource:function(sel){this.cm.activeNode="";var s=sel.getValue(),rn=this.getRootNode();rn&&rn.setText(sel.getRawValue()),this.config.baseParams.source=s,this.fireEvent("changeSource",s),this.refresh()},_init:function(){var treeState=Ext.state.Manager.get(this.treestate_id);this.root.getPath("text")!==treeState&&this.root.expand()},_initExpand:function(){var treeState=Ext.state.Manager.get(this.treestate_id);Ext.isEmpty(this.config.openTo)?this.expandPath(treeState,"text"):this.selectPath("/"+_("files")+"/"+this.config.openTo,"text")},_saveState:function(n){n.expanded||n.isRoot||(n=n.parentNode),n.id==this.config.openTo&&n.select();var p=n.getPath("text");Ext.state.Manager.set(this.treestate_id,p)},_handleAfterDrop:function(o,r){var targetNode=o.event.target,dropNode=o.event.dropNode;if("append"==o.event.point&&targetNode){var ui=targetNode.getUI();ui.addClass("haschildren"),ui.removeClass("icon-resource")}if("resource/update"===MODx.request.a&&dropNode.attributes.pk==MODx.request.id){var parentFieldCmb=Ext.getCmp("modx-resource-parent"),parentFieldHidden=Ext.getCmp("modx-resource-parent-hidden");parentFieldCmb&&parentFieldHidden&&(parentFieldHidden.setValue(dropNode.parentNode.attributes.pk),parentFieldCmb.setValue(dropNode.parentNode.attributes.text.replace(/(<([^>]+)>)/gi,"")))}targetNode.reload(!0)},_handleDrag:function(dropEvent){var from=dropEvent.dropNode.attributes.id,to=dropEvent.target.attributes.id,orgSource="number"==typeof dropEvent.dropNode.attributes.sid?dropEvent.dropNode.attributes.sid:this.config.baseParams.source,destSource="number"==typeof dropEvent.target.attributes.sid?dropEvent.target.attributes.sid:0;destSource||(destSource=dropEvent.tree.source),MODx.Ajax.request({url:this.config.url,params:{source:orgSource,from,destSource,to,action:this.config.sortAction||"Browser/Directory/Sort",point:dropEvent.point},listeners:{success:{fn:function(r){var el=dropEvent.dropNode.getUI().getTextEl();el&&Ext.get(el).frame(),this.fireEvent("afterSort",{event:dropEvent,result:r})},scope:this},failure:{fn:function(r){return MODx.form.Handler.errorJSON(r),this.refresh(),""!=r.message?MODx.msg.alert(_("error"),r.message):r.data&&r.data[0]&&MODx.msg.alert(r.data[0].id,r.data[0].msg),!1},scope:this}}})},getPath:function(node){let path=node?.attributes?.path||"";return path=path.replace(/^[\/\.]*/,""),path+"/"},editFile:function(itm,e){MODx.loadPage("system/file/edit","file="+this.cm.activeNode.attributes.id+"&source="+this.config.source)},openFile:function(itm,e){this.cm.activeNode.attributes.urlExternal&&window.open(this.cm.activeNode.attributes.urlExternal)},quickUpdateFile:function(itm,e){var node=this.cm.activeNode;MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Get",file:node.attributes.id,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:function(response){var r={file:node.attributes.id,name:node.text,path:node.attributes.pathRelative,source:this.getSource(),content:response.object.content};MODx.load({xtype:"modx-window-file-quick-update",record:r,listeners:{hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},createFile:function(itm,e){var active=this.cm.activeNode,dir="";if(active&&active.attributes)if(active.isRoot||"dir"===active.attributes.type)dir=active.attributes.id;else if("file"===active.attributes.type){var path=active.attributes.path;dir=path.substr(0,path.lastIndexOf("/")+1)}MODx.loadPage("system/file/create","directory="+dir+"&source="+this.getSource())},quickCreateFile:function(itm,e){var node=this.cm.activeNode,r={directory:node?decodeURIComponent(node.attributes.id):"/",source:this.getSource()};MODx.load({xtype:"modx-window-file-quick-create",record:r,listeners:{success:{fn:function(r){this.fireEvent("afterQuickCreate"),this.refreshActiveNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},browser:null,loadFileManager:function(btn,e){var refresh=!1;null===this.browser?this.browser=MODx.load({xtype:"modx-browser",hideFiles:MODx.config.modx_browser_tree_hide_files,rootId:"/",wctx:MODx.ctx,source:this.config.baseParams.source,listeners:{select:{fn:function(data){this.fireEvent("fileBrowserSelect",data)},scope:this}}}):refresh=!0,this.browser&&(this.browser.setSource(this.config.baseParams.source),refresh&&this.browser.win.tree.refresh(),this.browser.show())},renameNode:function(field,nv,ov){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Rename",new_name:nv,old_name:ov,file:this.treeEditor.editNode.id,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:function(r){this.fireEvent("afterRename"),this.refreshActiveNode()},scope:this}}})},renameDirectory:function(item,e){var node=this.cm.activeNode,r={old_name:node.text,name:node.text,path:node.attributes.pathRelative,source:this.getSource()};MODx.load({xtype:"modx-window-directory-rename",record:r,listeners:{success:{fn:this.refreshParentNode,scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},renameFile:function(item,e){var node=this.cm.activeNode,r={old_name:node.text,name:node.text,path:node.attributes.pathRelative,source:this.getSource()};MODx.load({xtype:"modx-window-file-rename",record:r,listeners:{success:{fn:function(r){this.fireEvent("afterRename"),this.refreshParentNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},createDirectory:function(item,e){var node=!(!this.cm||!this.cm.activeNode)&&this.cm.activeNode,r={parent:node&&"dir"==node.attributes.type?node.attributes.pathRelative:"/",source:this.getSource()};MODx.load({xtype:"modx-window-directory-create",record:r,listeners:{success:{fn:function(){var parent=Ext.getCmp("folder-parent").getValue();this.cm.activeNode&&"constructor"===this.cm.activeNode.constructor.name||""===parent||"/"===parent?this.refresh():this.refreshActiveNode()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e?e.target:Ext.getBody())},setVisibility:function(item,e){var node=this.cm.activeNode,r={path:node.attributes.path,visibility:node.attributes.visibility,source:this.getSource()};MODx.load({xtype:"modx-window-set-visibility",record:r,listeners:{success:{fn:this.refreshParentNode,scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},removeDirectory:function(item,e){var node=this.cm.activeNode,directory=node.attributes.text;MODx.msg.confirm({text:_("file_folder_remove_confirm",{directory}),url:MODx.config.connector_url,params:{action:"Browser/Directory/Remove",dir:node.attributes.path,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:this._afterRemove,scope:this}}})},removeFile:function(item,e){var node=this.cm.activeNode,fileName=node.attributes.text,filePath=node.attributes.pathRelative;MODx.msg.confirm({text:_("file_remove_confirm",{file:fileName}),url:MODx.config.connector_url,params:{action:"Browser/File/Remove",file:filePath,wctx:MODx.ctx||"",source:this.getSource()},listeners:{success:{fn:this._afterRemove,scope:this}}})},_afterRemove:function(){this.fireEvent("afterRemove"),this.refreshParentNode(),this.cm.activeNode=null},unpackFile:function(item,e){var node=this.cm.activeNode;MODx.msg.confirm({text:_("file_download_unzip")+" "+node.attributes.id,url:MODx.config.connectors_url,params:{action:"Browser/File/Unpack",file:node.attributes.id,wctx:MODx.ctx||"",source:this.getSource(),path:node.attributes.directory},listeners:{success:{fn:this.refreshParentNode,scope:this}}})},downloadFile:function(item,e){var node=this.cm.activeNode;MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Download",file:node.attributes.pathRelative,wctx:MODx.ctx||"",source:this.getSource()},listeners:{failure:{fn:function(r){MODx.msg.alert(_("alert"),r.message)},scope:this},success:{fn:function(r){Ext.isEmpty(r.object.url)||(location.href=MODx.config.connector_url+"?action=Browser/File/Download&download=1&file="+r.object.url+"&HTTP_MODAUTH="+MODx.siteId+"&source="+this.getSource()+"&wctx="+MODx.ctx)},scope:this}}})},copyRelativePath:function(item,e){var node=this.cm.activeNode,dummyRelativePathInput=document.createElement("input");document.body.appendChild(dummyRelativePathInput),dummyRelativePathInput.setAttribute("value",node.attributes.pathRelative),dummyRelativePathInput.select(),document.execCommand("copy"),document.body.removeChild(dummyRelativePathInput)},getSource:function(){return this.config.baseParams.source},uploadFiles:function(){this.uploader.setBaseParams({source:this.getSource()}),this.uploader.browser=MODx.config.browserview,this.uploader.show()},uploadError:function(dlg,file,data,rec){},uploadFailed:function(dlg,file,rec){},uploadSuccess:function(){if(this.cm.activeNode){var node=this.cm.activeNode;if(node.isLeaf()){var pn=node.isLeaf()?node.parentNode:node;pn?pn.reload():node.id.match(/.*?\/$/)&&this.refreshActiveNode(),this.fireEvent("afterUpload",node)}else this.refreshActiveNode()}else this.refresh(),this.fireEvent("afterUpload")},beforeUpload:function(){var path=this.config.openTo||this.config.rootId||"/";this.cm.activeNode&&(path=this.getPath(this.cm.activeNode),this.cm.activeNode.isLeaf()&&(path=this.getPath(this.cm.activeNode.parentNode))),this.uploader.setBaseParams({action:"Browser/File/Upload",path,wctx:MODx.ctx||"",source:this.getSource()}),this.fireEvent("beforeUpload",this.cm.activeNode)}}),Ext.reg("modx-tree-directory",MODx.tree.Directory),MODx.window.CreateDirectory=function(config){config=config||{},Ext.applyIf(config,{title:_("file_folder_create"),url:MODx.config.connector_url,action:"Browser/Directory/Create",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{fieldLabel:_("file_folder_parent"),id:"folder-parent",name:"parent",xtype:"textfield",anchor:"100%"},{xtype:"label",forId:"folder-parent",html:_("file_folder_parent_desc"),cls:"desc-under"}]}),MODx.window.CreateDirectory.superclass.constructor.call(this,config)},Ext.extend(MODx.window.CreateDirectory,MODx.Window),Ext.reg("modx-window-directory-create",MODx.window.CreateDirectory),MODx.window.SetVisibility=function(config){config=config||{},Ext.applyIf(config,{title:_("file_folder_visibility"),url:MODx.config.connector_url,action:"Browser/Visibility",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{name:"path",fieldLabel:_("file_folder_path"),xtype:"statictextfield",anchor:"100%",submitValue:!0},{fieldLabel:_("file_folder_visibility_label"),name:"visibility",xtype:"modx-combo-visibility",anchor:"100%",allowBlank:!1},{hideLabel:!0,xtype:"displayfield",value:_("file_folder_visibility_desc"),anchor:"100%",allowBlank:!1}]}),MODx.window.SetVisibility.superclass.constructor.call(this,config)},Ext.extend(MODx.window.SetVisibility,MODx.Window),Ext.reg("modx-window-set-visibility",MODx.window.SetVisibility),MODx.window.RenameDirectory=function(config){config=config||{},Ext.applyIf(config,{title:_("rename"),url:MODx.config.connector_url,action:"Browser/Directory/Rename",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",submitValue:!0,anchor:"100%"},{fieldLabel:_("old_name"),name:"old_name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("new_name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1}]}),MODx.window.RenameDirectory.superclass.constructor.call(this,config)},Ext.extend(MODx.window.RenameDirectory,MODx.Window),Ext.reg("modx-window-directory-rename",MODx.window.RenameDirectory),MODx.window.RenameFile=function(config){config=config||{},Ext.applyIf(config,{title:_("rename"),url:MODx.config.connector_url,action:"Browser/File/Rename",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",submitValue:!0,anchor:"100%"},{fieldLabel:_("old_name"),name:"old_name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("new_name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{name:"dir",xtype:"hidden"}]}),MODx.window.RenameFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.RenameFile,MODx.Window),Ext.reg("modx-window-file-rename",MODx.window.RenameFile),MODx.window.QuickUpdateFile=function(config){config=config||{},Ext.applyIf(config,{title:_("file_quick_update"),width:600,layout:"anchor",url:MODx.config.connector_url,action:"Browser/File/Update",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{xtype:"hidden",name:"file"},{fieldLabel:_("name"),name:"name",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("path"),name:"path",xtype:"statictextfield",anchor:"100%"},{fieldLabel:_("content"),xtype:"textarea",name:"content",anchor:"100%",height:200}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}],buttons:[{text:config.cancelBtnText||_("cancel"),scope:this,handler:function(){this.hide()}},{text:config.saveBtnText||_("save"),scope:this,handler:function(){this.submit(!1)}},{text:config.saveBtnText||_("save_and_close"),cls:"primary-button",scope:this,handler:this.submit}]}),MODx.window.QuickUpdateFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickUpdateFile,MODx.Window),Ext.reg("modx-window-file-quick-update",MODx.window.QuickUpdateFile),MODx.window.QuickCreateFile=function(config){config=config||{},Ext.applyIf(config,{title:_("file_quick_create"),width:600,layout:"anchor",url:MODx.config.connector_url,action:"Browser/File/Create",fields:[{xtype:"hidden",name:"wctx",value:MODx.ctx||""},{xtype:"hidden",name:"source"},{fieldLabel:_("directory"),name:"directory",submitValue:!0,xtype:"statictextfield",anchor:"100%"},{xtype:"label",html:_("file_folder_parent_desc"),cls:"desc-under"},{fieldLabel:_("name"),name:"name",xtype:"textfield",anchor:"100%",allowBlank:!1},{fieldLabel:_("content"),xtype:"textarea",name:"content",anchor:"100%",height:200}],keys:[{key:Ext.EventObject.ENTER,shift:!0,fn:this.submit,scope:this}]}),MODx.window.QuickCreateFile.superclass.constructor.call(this,config)},Ext.extend(MODx.window.QuickCreateFile,MODx.Window),Ext.reg("modx-window-file-quick-create",MODx.window.QuickCreateFile),MODx.panel.FileTree=function(config){config=config||{},Ext.applyIf(config,{_treePrefix:"source-tree-",autoHeight:!0,defaults:{autoHeight:!0,border:!1}}),MODx.panel.FileTree.superclass.constructor.call(this,config),this.on("render",this.getSourceList,this)},Ext.extend(MODx.panel.FileTree,Ext.Container,{getSourceList:function(){MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Source/GetList",limit:0},listeners:{success:{fn:function(data){this.onSourceListReceived(data.results)},scope:this},failure:{fn:function(data){return data.total>0&&null!=data.results&&this.onSourceListReceived(data.results),!1},scope:this}}})},onSourceListReceived:function(sources){for(var k=0;k=0&&rect.left>=0&&rect.top<=height&&(image.src=image.getAttribute("data-src"),delete this.thumbnails[i])}}},refresh:function(){MODx.DataView.prototype.refresh.call(this),this.thumbnails=Array.prototype.slice.call(document.querySelectorAll("img[data-src]")),this.lazyLoad()},listeners:{selectionchange:{fn:this.showDetails,scope:this,buffer:100},dblclick:config.onSelect||{fn:Ext.emptyFn,scope:this},render:{fn:this.sortStore,scope:this},afterrender:{fn:function(){this.getEl().parent().on("scroll",(function(){this.lazyLoad()}),this),null!=this.tree&&null!=this.tree.uploader&&this.tree.uploader.addDropZone(this.ownerCt,this),MODx.config.browserview=this},scope:this}},prepareData:this.formatData.createDelegate(this),multiSelect:!0}),MODx.browser.View.superclass.constructor.call(this,config)},Ext.extend(MODx.browser.View,MODx.DataView,{templates:{},run:function(p){(p=p||{}).dir&&(this.dir=p.dir),Ext.applyIf(p,{action:"Browser/Directory/GetFiles",dir:this.dir,source:this.config.source||MODx.config.default_media_source}),this.mask=new Ext.LoadMask(Ext.getBody(),{msg:_("loading")}),this.mask.show(),this.store.load({params:p,callback:function(rec,options,success){this.mask.hide(),this.refresh(),Ext.getCmp(this.ident+"-filepath").setValue(""),this.select(0)},scope:this})},editFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.loadPage("system/file/edit","file="+data.pathRelative+"&source="+this.config.source)},quickUpdateFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Get",file:data.pathRelative,wctx:MODx.ctx||"",source:this.config.source},listeners:{success:{fn:function(response){var r={file:data.pathRelative,name:data.name,path:decodeURIComponent(data.pathRelative),source:this.config.source,content:response.object.content};MODx.load({xtype:"modx-window-file-quick-update",record:r,listeners:{hide:{fn:function(){this.destroy()}}}}).show(e.target)},scope:this}}})},renameFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],r={old_name:data.name,name:data.name,path:data.pathRelative,source:this.config.source};MODx.load({xtype:"modx-window-file-rename",record:r,listeners:{success:{fn:function(r){this.config.tree.refreshParentNode(),this.run()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},downloadFile:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id];MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Browser/File/Download",file:data.pathRelative,wctx:MODx.ctx||"",source:this.config.source},listeners:{failure:{fn:function(r){MODx.msg.alert(_("alert"),r.message)},scope:this},success:{fn:function(r){Ext.isEmpty(r.object.url)||(location.href=MODx.config.connector_url+"?action=Browser/File/Download&download=1&file="+r.object.url+"&HTTP_MODAUTH="+MODx.siteId+"&source="+this.config.source+"&wctx="+MODx.ctx)},scope:this}}})},copyRelativePath:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],dummyRelativePathInput=document.createElement("input");document.body.appendChild(dummyRelativePathInput),dummyRelativePathInput.setAttribute("value",data.pathRelative),dummyRelativePathInput.select(),document.execCommand("copy"),document.body.removeChild(dummyRelativePathInput)},removeFile:function(){var files=[],filesNames=[],selected=this.getSelectedRecords();for(var i in selected)selected.hasOwnProperty(i)&&(files.push(selected[i].id),filesNames.push(selected[i].data.name));MODx.msg.confirm({text:_("file_remove_confirm",{file:filesNames.pop()}),url:MODx.config.connector_url,params:{action:"Browser/File/Remove",file:files.pop(),source:this.config.source,wctx:this.config.wctx||"web"},listeners:{success:{fn:function(r){this.config.tree&&(this.config.tree.cm.activeNode&&this.config.tree.cm.activeNode.id.match(/.*?\/$/)?this.config.tree.refreshParentNode():this.config.tree.refresh()),this.run()},scope:this}}})},setTemplate:function(tpl){"list"===tpl?(this.tpl=this.templates.list,this.itemSelector="div.modx-browser-list-item"):(this.tpl=this.templates.thumb,this.itemSelector="div.modx-browser-thumb-wrap"),this.refresh(),this.select(0)},setVisibility:function(item,e){var node=this.cm.activeNode,data=this.lookup[node.id],r={path:decodeURIComponent(data.pathRelative),visibility:data.visibility,source:this.config.source};MODx.load({xtype:"modx-window-set-visibility",record:r,listeners:{success:{fn:function(){this.run()},scope:this},hide:{fn:function(){this.destroy()}}}}).show(e.target)},sortStore:function(){var v=MODx.config.modx_browser_default_sort||"name";this.store.sort(v,"name"==v?"ASC":"DESC"),this.select(0)},showDetails:function(){var node=this.getSelectedNodes(),detailPanel=Ext.getCmp(this.config.ident+"-img-detail-panel").body,okBtn=Ext.getCmp(this.ident+"-ok-btn"),keys=Object.keys(node);if(node&&node.length>0){node=node[keys[keys.length-1]],okBtn&&okBtn.enable();var data=this.lookup[node.id];this.config.tree.getNodeById(data.pathRelative)&&(this.config.tree.cm.activeNode=this.config.tree.getNodeById(data.pathRelative),this.config.tree.getSelectionModel().select(this.config.tree.getNodeById(data.pathRelative))),Ext.getCmp(this.ident+"-filepath").setValue((-1===data.fullRelativeUrl.indexOf("http")?"/":"")+data.fullRelativeUrl),detailPanel.hide(),this.templates.details.overwrite(detailPanel,data),detailPanel.slideIn("l",{stopFx:!0,duration:".2"})}else okBtn&&okBtn.disable(),detailPanel.update("")},showFullView:function(name,ident){var data=this.lookup[name];if(data){this.fvWin||(this.fvWin=new Ext.Window({layout:"fit",width:600,height:450,bodyStyle:"padding: 0;",closeAction:"hide",plain:!0,items:[{id:this.ident+"modx-view-item-full",cls:"modx-browser-fullview",html:""}],buttons:[{text:_("close"),cls:"primary-button",handler:function(){this.fvWin.hide()},scope:this}]})),this.fvWin.show();var ratio=data.image_width>800?800/data.image_width:1,w=data.image_width<250?250:data.image_width>800?800:data.image_width,hfit=data.image_height*ratio+this.fvWin.footer.dom.clientHeight+1+this.fvWin.header.dom.clientHeight+1,h=data.image_height<200?200:data.image_height>600?hfit>600?600:hfit:data.image_height;this.fvWin.setSize(w,h),this.fvWin.center(),this.fvWin.setTitle(data.name),Ext.get(this.ident+"modx-view-item-full").update(''+data.name+'")}},formatData:function(data){var size;return data.shortName=Ext.util.Format.ellipsis(data.name,18),data.sizeString=0!=data.size?(size=data.size)<1024?size+" "+_("file_size_bytes"):Math.round(10*size/1024)/10+" "+_("file_size_kilobytes"):0,data.imageSizeString=0!=data.preview?data.original_width+"x"+data.original_height+"px":0,data.imageSizeString="xpx"===data.imageSizeString?0:data.imageSizeString,data.dateString=Ext.isEmpty(data.lastmod)?0:new Date(data.lastmod).format(MODx.config.manager_date_format+" "+MODx.config.manager_time_format),this.lookup[data.name]=data,data},_initTemplates:function(){this.templates.thumb=new Ext.XTemplate('','
    ','','
    ',' {name:htmlEncode}',"
    ","
    ",'','
    ',' \t
    .{ext}
    ',"
    ","
    "," {shortName:htmlEncode}","
    ","
    "),this.templates.thumb.compile(),this.templates.list=new Ext.XTemplate('','
    ',' ',' {name:htmlEncode}',' ',' {sizeString}'," ",' ',' {imageSizeString}'," "," ","
    ","
    "),this.templates.list.compile(),this.templates.details=new Ext.XTemplate('
    ',' ',' ','
    ",' {name:htmlEncode}',"
    ","
    ",' ','
    ','
    .{ext}
    ',"
    ","
    ",'
    '," "+_("file_name")+":"," {name:htmlEncode}",' '," "+_("file_size")+":"," {sizeString}"," ",' '," "+_("image_size")+":"," {imageSizeString}"," ",' '," "+_("file_last_modified")+":"," {dateString}"," ",' '," "+_("visibility")+":"," {visibility}"," ","
    ","
    ","
    "),this.templates.details.compile()},_showContextMenu:function(v,i,n,e){e.preventDefault(),this.select(n.id);var data=this.lookup[n.id],m=this.cm;if(m.removeAll(),data.menu){var menu=[];if(this.getSelectedRecords().length>1)for(var ii=0;ii{MODx.browser.onPopState(e,this)},Ext.applyIf(config,{title:_("modx_browser")+" ("+(MODx.ctx?MODx.ctx:"web")+")",cls:"modx-browser modx-browser-window",layout:"border",minWidth:500,minHeight:300,width:"90%",height:.9*Ext.getBody().getViewSize().height,modal:!1,closeAction:"hide",border:!1,items:[{id:this.ident+"-browser-tree",cls:"modx-browser-tree",region:"west",width:250,height:"100%",items:this.tree,autoScroll:!0,split:!0,border:!1},{id:this.ident+"-browser-view",cls:"modx-browser-view-ct",region:"center",autoScroll:!0,border:!1,items:this.view,tbar:this.getToolbar(),bbar:this.getPathbar()},{id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",region:"east",split:!0,border:!1,width:250}],buttons:[{id:this.ident+"-cancel-btn",text:_("cancel"),handler:this.close,scope:this},{id:this.ident+"-ok-btn",text:_("ok"),cls:"primary-button",handler:this.onSelect,scope:this}],keys:{key:27,handler:this.hide,scope:this}}),MODx.browser.Window.superclass.constructor.call(this,config),this.config=config,this.addEvents({select:!0,hide:!0}),this.on("hide",(()=>{MODx.util.UrlParams.remove("source"),MODx.util.UrlParams.remove("dir")}))},Ext.extend(MODx.browser.Window,Ext.Window,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),dir:decodeURIComponent(dir)}),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(){const selNodes=this.view.getSelectedNodes(),callback=this.config.onSelect||this.onSelectHandler,lookup=this.view.lookup,scope=this.config.scope,source=parseInt(this.config.source||MODx.config.default_media_source);this.hide(this.config.animEl||null,(function(){callback&&selNodes.forEach((selNode=>{try{let selData=lookup[selNode.id];selData.source=source,Ext.callback(callback,scope||this,[selData]),this.fireEvent("select",selData)}catch(e){console.error("Error processing MODx.Browser onSelect callback:",e)}}))}),scope)},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-browser-window",MODx.browser.Window),MODx.Media=function(config){config=config||{},this.ident=config.ident||Ext.id(),MODx.browserOpen=!0,this.tree=MODx.load({xtype:"modx-tree-directory",onUpload:function(){this.view.run()},scope:this,source:config.source||MODx.util.UrlParams.get().source||MODx.config.default_media_source,originalSource:config.source||MODx.config.default_media_source,hideFiles:config.hideFiles||MODx.config.modx_browser_tree_hide_files,hideTooltips:config.hideTooltips||MODx.config.modx_browser_tree_hide_tooltips||!0,openTo:config.openTo||MODx.util.UrlParams.get().dir||"",ident:this.ident,rootIconCls:MODx.config.mgr_source_icon,rootId:config.rootId||"/",rootName:_("files"),rootVisible:null==config.rootVisible||!Ext.isEmpty(config.rootId),id:this.ident+"-tree",hideSourceCombo:config.hideSourceCombo||!1,useDefaultToolbar:!1,listeners:{afterUpload:{fn:function(){this.view.run()},scope:this},afterQuickCreate:{fn:function(){this.view.run()},scope:this},afterRename:{fn:function(){this.view.run()},scope:this},afterRemove:{fn:function(){this.view.run()},scope:this},changeSource:{fn:function(s){this.config.source=s,this.view.config.source=s,this.view.baseParams.source=s,this.view.dir="/",this.view.run(),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),source:s,dir:"/"})},scope:this},afterrender:{fn:function(tree){tree.root.expand()},scope:this},beforeclick:{fn:function(node,e){if(node.leaf)return this.view.select(this.view.store.indexOfId("/"+node.attributes.url)),this.view.dir!==node.parentNode.id&&this.load(node.parentNode.id),!1;this.load(node.id)},scope:this},load:{fn:function({childNodes}){const dir=MODx.util.History.get().dir;if(dir)for(const childNode of childNodes)if(dir===decodeURIComponent(childNode.id)){childNode.on("load",(()=>{childNode.select(),this.tree.cm.activeNode=childNode}));break}},scope:this},load:{fn:function(){const dir=MODx.util.UrlParams.get().dir;dir&&this.tree.expandTreePath(dir)},scope:this}}}),this.view=MODx.load({xtype:"modx-browser-view",onSelect:{fn:this.onSelect,scope:this},source:config.source||MODx.util.UrlParams.get().source||MODx.config.default_media_source,originalSource:config.source||MODx.config.default_media_source,allowedFileTypes:config.allowedFileTypes||"",wctx:config.wctx||"web",openTo:config.openTo||MODx.util.UrlParams.get().dir||"",ident:this.ident,id:this.ident+"-view",tree:this.tree}),window.onpopstate=e=>{MODx.browser.onPopState(e,this)},Ext.applyIf(config,{cls:"modx-browser modx-browser-panel",layout:"border",width:"100%",height:"100%",style:"background-color: transparent",border:!1,items:[{region:"west",width:250,items:this.tree,id:this.ident+"-browser-tree",cls:"modx-browser-tree",autoScroll:!0,split:!0,margins:"10 0 10 18"},{region:"center",layout:"fit",items:this.view,id:this.ident+"-browser-view",cls:"modx-browser-view-ct",autoScroll:!0,border:!1,tbar:this.getToolbar(),bbar:this.getPathbar(),margins:"10 0 10 0"},{region:"east",width:250,id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",split:!0,margins:"10 10 10 0"}]}),MODx.Media.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.Media,Ext.Container,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),MODx.util.UrlParams.set({...MODx.util.UrlParams.get(),dir:decodeURIComponent(dir)}),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(data){},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-media-view",MODx.Media),MODx.browser.RTE=function(config){config=config||{},this.ident=config.ident||Ext.id(),MODx.browserOpen=!0,Ext.Ajax.defaultHeaders={modAuth:config.auth},Ext.Ajax.extraParams={HTTP_MODAUTH:config.auth},this.tree=MODx.load({xtype:"modx-tree-directory",onUpload:function(){this.view.run()},scope:this,source:config.source||MODx.config.default_media_source,hideFiles:config.hideFiles||MODx.config.modx_browser_tree_hide_files,hideTooltips:config.hideTooltips||MODx.config.modx_browser_tree_hide_tooltips||!0,openTo:config.openTo||"",ident:this.ident,rootIconCls:MODx.config.mgr_source_icon,rootId:config.rootId||"/",rootName:_("files"),rootVisible:null==config.rootVisible||!Ext.isEmpty(config.rootId),id:this.ident+"-tree",hideSourceCombo:config.hideSourceCombo||!1,useDefaultToolbar:!1,listeners:{afterUpload:{fn:function(){this.view.run()},scope:this},afterQuickCreate:{fn:function(){this.view.run()},scope:this},afterRename:{fn:function(){this.view.run()},scope:this},afterRemove:{fn:function(){this.view.run()},scope:this},changeSource:{fn:function(s){this.config.source=s,this.view.config.source=s,this.view.baseParams.source=s,this.view.dir="/",this.view.run()},scope:this},afterrender:{fn:function(tree){tree.root.expand()},scope:this},beforeclick:{fn:function(node,e){if(node.leaf)return this.view.select(this.view.store.indexOfId("/"+node.attributes.url)),this.view.dir!==node.parentNode.id&&this.load(node.parentNode.id),!1;this.load(node.id)},scope:this}}}),this.view=MODx.load({xtype:"modx-browser-view",onSelect:{fn:this.onSelect,scope:this},source:config.source||MODx.config.default_media_source,allowedFileTypes:config.allowedFileTypes||"",wctx:config.wctx||"web",openTo:config.openTo||"",multiSelect:config.multiSelect||!1,ident:this.ident,id:this.ident+"-view",tree:this.tree}),Ext.applyIf(config,{title:_("modx_browser"),cls:"modx-browser modx-browser-rte",layout:"border",renderTo:document.body,id:this.ident+"-viewport",onSelect:MODx.onBrowserReturn||function(data){},items:[{id:this.ident+"-browser-tree",cls:"modx-browser-tree",region:"west",width:250,height:"100%",split:!0,items:this.tree,autoScroll:!0},{id:this.ident+"-browser-view",cls:"modx-browser-view-ct",region:"center",autoScroll:!0,width:450,items:this.view,tbar:this.getToolbar(),bbar:this.getPathbar()},{id:this.ident+"-img-detail-panel",cls:"modx-browser-details-ct",region:"east",split:!0,width:200,minWidth:200,maxWidth:300},{id:this.ident+"-south",cls:"modx-browser-rte-buttons",region:"south",split:!1,bbar:["->",{xtype:"button",id:this.ident+"-cancel-btn",text:_("cancel"),minWidth:75,handler:this.onCancel,scope:this},{xtype:"button",id:this.ident+"-ok-btn",text:_("ok"),cls:"primary-button",minWidth:75,handler:this.onSelect,scope:this}]}]}),MODx.browser.RTE.superclass.constructor.call(this,config),this.config=config},Ext.extend(MODx.browser.RTE,Ext.Viewport,{returnEl:null,filter:function(){var filter=Ext.getCmp(this.ident+"filter");this.view.store.filter("name",filter.getValue(),!0),this.view.select(0)},load:function(dir){dir=dir||(Ext.isEmpty(this.config.openTo)?"":this.config.openTo),this.view.run({dir,source:this.config.source,allowedFileTypes:this.config.allowedFileTypes||"",wctx:this.config.wctx||"web"}),this.sortStore()},sortStore:function(){var v=Ext.getCmp(this.ident+"sortSelect").getValue();this.view.store.sort(v,"name"==v?"ASC":"DESC"),this.view.select(0)},changeViewmode:function(){var v=Ext.getCmp(this.ident+"viewSelect").getValue();this.view.setTemplate(v),this.view.select(0)},reset:function(){this.rendered&&(Ext.getCmp(this.ident+"filter").reset(),this.view.getEl().dom.scrollTop=0),this.view.store.clearFilter(),this.view.select(0)},getToolbar:function(){return[{text:_("filter")+":",xtype:"label"},{xtype:"textfield",id:this.ident+"filter",selectOnFocus:!0,width:200,listeners:{render:{fn:function(){Ext.getCmp(this.ident+"filter").getEl().on("keyup",(function(){this.filter()}),this,{buffer:500})},scope:this}}},{text:_("sort_by")+":",xtype:"label"},{id:this.ident+"sortSelect",xtype:"combo",typeAhead:!0,triggerAction:"all",width:130,editable:!1,mode:"local",displayField:"desc",valueField:"name",lazyInit:!1,value:MODx.config.modx_browser_default_sort||"name",store:new Ext.data.SimpleStore({fields:["name","desc"],data:[["name",_("name")],["size",_("file_size")],["lastmod",_("last_modified")]]}),listeners:{select:{fn:this.sortStore,scope:this}}},"-",{text:_("files_viewmode")+":",xtype:"label"},"-",{id:this.ident+"viewSelect",xtype:"combo",typeAhead:!1,triggerAction:"all",width:100,editable:!1,mode:"local",displayField:"desc",valueField:"type",lazyInit:!1,value:MODx.config.modx_browser_default_viewmode||"grid",store:new Ext.data.SimpleStore({fields:["type","desc"],data:[["grid",_("files_viewmode_grid")],["list",_("files_viewmode_list")]]}),listeners:{select:{fn:this.changeViewmode,scope:this}}}]},getPathbar:function(){return{cls:"modx-browser-pathbbar",items:[{xtype:"textfield",id:this.ident+"-filepath",cls:"modx-browser-filepath",listeners:{focus:{fn:function(el){setTimeout((function(){var field=el.getEl().dom;if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(!0),selRange.moveStart("character",0),selRange.moveEnd("character",field.value.length),selRange.select()}else field.setSelectionRange?field.setSelectionRange(0,field.value.length):field.selectionStart&&(field.selectionStart=0,field.selectionEnd=field.value.length)}),50)},scope:this}}}]}},setReturn:function(el){this.returnEl=el},onSelect:function(){const selNodes=this.view.getSelectedNodes(),callback=this.config.onSelect||this.onSelectHandler,lookup=this.view.lookup,scope=this.config.scope,source=parseInt(this.config.source||MODx.config.default_media_source);callback&&selNodes.forEach((selNode=>{try{let selData=lookup[selNode.id];selData.source=source,Ext.callback(callback,scope||this,[selData]),this.fireEvent("select",selData)}catch(e){console.error("Error processing MODx.Browser onSelect callback:",e)}})),window.top.opener&&(window.top.close(),window.top.opener.focus())},onCancel:function(){var callback=this.config.onSelect||this.onSelectHandler,scope=this.config.scope;Ext.callback(callback,scope||this,[null]),this.fireEvent("select",null),window.top.opener&&(window.top.close(),window.top.opener.focus())},onSelectHandler:function(data){Ext.get(this.returnEl).dom.value=unescape(data.url)}}),Ext.reg("modx-browser-rte",MODx.browser.RTE),MODx.browser.onPopState=function({state},{tree,view}){const params=MODx.util.UrlParams.parse(state),defaultSource=view.config.originalSource,source=params.source||defaultSource;tree.sourceCombo&&!tree.config.hideSourceCombo&&source!==tree.sourceCombo.getValue()?(tree.config.source=source,tree.baseParams.source=source,tree.dir=params.dir||"/",tree.sourceCombo.getStore().load({scope:tree,callback(){tree.sourceCombo.setValue(source),tree.refresh();const root=tree.getRootNode();root&&root.setText(tree.sourceCombo.getRawValue()),view.run({dir:params.dir||"/",source,allowedFileTypes:view.config.allowedFileTypes||"",wctx:view.config.wctx||"web"}),tree.expandTreePath(params.dir||"/")}})):(view.run({dir:params.dir||"/",source,allowedFileTypes:view.config.allowedFileTypes||"",wctx:view.config.wctx||"web"}),tree.expandTreePath(params.dir||"/"))},Ext.apply(Ext,{isFirebug:window.console&&window.console.firebug}),MODx.Layout=function(config={}){Ext.BLANK_IMAGE_URL=MODx.config.manager_url+"assets/ext3/resources/images/default/s.gif",Ext.Ajax.defaultHeaders={modAuth:config.auth},Ext.Ajax.extraParams={HTTP_MODAUTH:config.auth},MODx.siteId=config.auth,MODx.expandHelp=!!+MODx.config.inline_help;const sp=new MODx.HttpProvider;Ext.state.Manager.setProvider(sp),sp.initState(MODx.defaultState),config.showTree=!1,config.search&&new MODx.SearchBar,Ext.applyIf(config,{layout:"border",id:"modx-layout",stateSave:!0,items:this.buildLayout(config)}),MODx.Layout.superclass.constructor.call(this,config),this.config=config,this.addEvents({afterLayout:!0,loadKeyMap:!0,loadTabs:!0}),this.loadKeys(),config.showTree||Ext.getCmp("modx-leftbar-tabs").collapse(!1),this.fireEvent("afterLayout")},Ext.extend(MODx.Layout,Ext.Viewport,{menuBarWidth:70,splitBarMargin:8,focusRestoreEls:[],subNavOpen:!1,getSplitBarMargin:function(){return this.splitBarMargin},buildLayout:function(config){var items=[],north=this.getNorth(config),west=this.getWest(config),center=this.getCenter(config),south=this.getSouth(config),east=this.getEast(config);return north&&Ext.isObject(north)&&items.push(north),west&&Ext.isObject(west)&&items.push(west),center&&Ext.isObject(center)&&items.push(center),south&&Ext.isObject(south)&&items.push(south),east&&Ext.isObject(east)&&items.push(east),items},getNorth:function(config){return window.innerWidth<=640&&{xtype:"box",region:"north",applyTo:"modx-header",listeners:{afterrender:this.initPopper,scope:this}}},getWest:function(config){return window.innerWidth<=640?this.getTree(config):{region:"west",xtype:"box",id:"modx-header",applyTo:"modx-header",width:this.menuBarWidth,listeners:{afterrender:{fn:this.initPopper,scope:this}}}},getCenter:function(config){const center={region:"center",applyTo:"modx-content",padding:"0 1px 0 0",margins:{top:0,right:0,bottom:0,left:0},style:"width:100%",bodyStyle:"background-color:transparent;",id:"modx-content",autoScroll:!0};if(window.innerWidth<=640)return center;const tree=this.getTree(config);return center.margins.right=-this.menuBarWidth,tree.margins={left:this.menuBarWidth},{region:"center",layout:"border",id:"modx-split-wrapper",items:[tree,center],listeners:{render:{fn:function(cmp){cmp.collapsed||(cmp.items.map["modx-content"].margins.left=-this.getSplitBarMargin())},scope:this}}}},getSouth:function(config){},getEast:function(config){},getTree:function(config){const tabs=[],layout=this;MODx.perm.resource_tree&&(tabs.push({title:_("resources"),xtype:"modx-tree-resource",id:"modx-resource-tree"}),config.showTree=!0),MODx.perm.element_tree&&(tabs.push({title:_("elements"),xtype:"modx-tree-element",id:"modx-tree-element"}),config.showTree=!0),MODx.perm.file_tree&&(tabs.push({title:_("files"),xtype:"modx-panel-filetree",id:"modx-file-tree"}),config.showTree=!0);return{region:"west",applyTo:"modx-leftbar",id:"modx-leftbar-tabs",split:!0,width:300,minSize:280,autoScroll:!0,unstyled:!0,useSplitTips:!0,monitorResize:!0,layout:"anchor",headerCfg:window.innerWidth<=640?{}:{tag:"div",cls:"none",id:"modx-leftbar-header",html:MODx.config.site_name},items:[{xtype:"modx-tabs",plain:!0,defaults:{autoScroll:!0,fitToFrame:!0},id:"modx-leftbar-tabpanel",border:!1,activeTab:0,stateful:!0,stateEvents:["tabchange"],getState:function(){return{activeTab:this.items.indexOf(this.getActiveTab())}},items:tabs,listeners:{afterrender:function(){const baseTabs=this,header=Ext.get("modx-leftbar-header");if(MODx.Ajax.request({url:MODx.config.connector_url,params:{action:"Resource/GetToolbar"},listeners:{success:{fn:function(response){const trashTrigger=Object.values(response.object).find((item=>"emptifier"===item.id));if(trashTrigger){const trashTab=baseTabs.add({id:"modx-trash-link",title:'',handler:trashTrigger.handler});trashTrigger.disabled||trashTab.tabEl.classList.add("active"),trashTrigger.tooltip&&(trashTab.tooltip=new Ext.ToolTip({target:new Ext.Element(trashTab.tabEl),title:trashTrigger.tooltip}))}},scope:this}}}),header){let html="";const el=document.createElement("a");""!==MODx.config.manager_logo&&void 0!==MODx.config.manager_logo&&(html+=''),el.href=MODx.config.default_site_url||MODx.config.site_url,el.title=MODx.config.site_name,el.innerText=Ext.util.Format.ellipsis(MODx.config.site_name,45,!0),el.target="_blank",html+=el.outerHTML,header.dom.innerHTML=html}},beforetabchange:{fn:function(panel,tab){if(tab&&"modx-trash-link"==tab.id){if(tab.tabEl.classList.contains("active")){var tree=Ext.getCmp("modx-resource-tree");tree&&tree.redirect("?a=resource/trash")}return!1}},scope:this}}}],getState:function(){return{collapsed:this.collapsed,width:this.width}},collapse:function(animate){if(this.collapsed||this.el.hasFxBlock()||!1===this.fireEvent("beforecollapse",this,animate))return;const contentRegion=Ext.getCmp("modx-content");if(contentRegion&&(contentRegion.margins.left=0,Ext.getCmp("modx-layout").doLayout()),animate&&window.innerWidth>960){Ext.getCmp("modx-leftbar-tabpanel").getEl().dom.style.opacity=0,this.el.dom.style.left="-"+this.el.dom.style.width}else this.el.dom.style.display="none";return this.collapsed=!0,this.saveState(),this.fireEvent("collapse",this),this},expand:function(animate){if(!this.collapsed||this.el.hasFxBlock()||!1===this.fireEvent("beforeexpand",this,animate))return;const contentRegion=Ext.getCmp("modx-content");if(contentRegion&&(contentRegion.margins.left=-layout.getSplitBarMargin()),animate&&window.innerWidth>960){const tree=Ext.getCmp("modx-leftbar-tabpanel").getEl();window.setTimeout((()=>{tree.dom.style.visibility="visible",tree.dom.style.opacity=1}),100)}else this.el.dom.style.display="";return this.collapsed=!1,this.saveState(),this.fireEvent("expand",this),this},listeners:{beforestatesave:{fn:this.onBeforeSaveState,scope:this},afterrender:function(){const trigger=Ext.get("modx-leftbar-trigger");this.collapsed&&trigger.addClass("collapsed"),trigger.on("click",(function(){this.collapsed?(trigger.removeClass("collapsed"),this.expand(!0)):(trigger.addClass("collapsed"),this.collapse(!0))}),this)}}}},initPopper:function(){for(var el=this,buttons=document.getElementById("modx-navbar").getElementsByClassName("top"),position=window.innerWidth<=960?"bottom":"right",i=0;i960&&this.initSubPopper()},showMenu:function(el){var submenu=document.getElementById(el.id+"-submenu");if(submenu.classList.contains("active"))submenu.classList.remove("active");else{this.hideMenu(),submenu.classList.add("active"),setTimeout((()=>{submenu.querySelectorAll("a")[0].focus()}),50);var focusRestore=e=>{setTimeout((()=>{this.subNavOpen||submenu.contains(document.activeElement)||(this.focusRestoreEls?.pop()?.focus(),this.hideMenu(),window.removeEventListener("focusout",focusRestore))}),1)},menuArrowKeysNavigation=e=>{"Escape"==e.code&&(this.hideMenu(),this.focusRestoreEls[0]?.focus(),this.focusRestoreEls=[],window.removeEventListener("keyup",menuArrowKeysNavigation))};window.addEventListener("focusout",focusRestore),window.addEventListener("keyup",menuArrowKeysNavigation)}this.hideSubMenu()},hideMenu:function(){for(var submenus=document.getElementsByClassName("modx-subnav"),i=0;i{requestAnimationFrame((()=>{menu.contains(document.activeElement)||(_this.focusRestoreEls?.pop()?.parentNode?.nextSibling?.focus(),hide(button),window.removeEventListener("focusout",focusRestore))}))};window.addEventListener("focusout",focusRestore)}function hide(button){var parentmenu=button.closest("ul");button.classList.remove("active");for(var buttons=parentmenu.querySelectorAll(".sub"),i=0;i' : '/>')) : '', - '',renderer(a),"
    ", '', ""].join(''); @@ -493,8 +493,8 @@ MODx.util.Format = { }, /** * Trim a set of characters from the beginning and/or ending of a string - * @param {String} string - * @param {String} charList + * @param {String} string + * @param {String} charList */ trimCharacters: function(string, charList = '', direction = 'both') { if (charList.length) { diff --git a/manager/assets/modext/widgets/core/modx.button.js b/manager/assets/modext/widgets/core/modx.button.js index b25cd8fe5a2..7b1de7d2932 100644 --- a/manager/assets/modext/widgets/core/modx.button.js +++ b/manager/assets/modext/widgets/core/modx.button.js @@ -17,10 +17,10 @@ MODx.Button = function(config) { config.iconCls = '' } Ext.applyIf(config,{ - template: new Ext.XTemplate(''+ + template: new Ext.XTemplate(''+ ' '+ ' '+ - '').compile() + '').compile() }); MODx.Button.superclass.constructor.call(this,config); diff --git a/manager/assets/modext/widgets/core/modx.tabs.js b/manager/assets/modext/widgets/core/modx.tabs.js index 7decfebbf64..7cfd4ee152f 100644 --- a/manager/assets/modext/widgets/core/modx.tabs.js +++ b/manager/assets/modext/widgets/core/modx.tabs.js @@ -45,7 +45,15 @@ MODx.Tabs = function(config = {}) { border: false, autoScroll: true, autoHeight: true, - cls: 'modx-tabs' + cls: 'modx-tabs', + itemTpl: new Ext.XTemplate( + '
  • ', + '', + '', + '{text}', + '', + '
  • ' + ) }); MODx.Tabs.superclass.constructor.call(this, config); this.config = config; diff --git a/manager/controllers/default/header.php b/manager/controllers/default/header.php index 9571452213d..c7d52fccf13 100644 --- a/manager/controllers/default/header.php +++ b/manager/controllers/default/header.php @@ -329,10 +329,10 @@ public function processSubMenus(&$output, array $menus = []) $attributes = ' href="?a='.$menu['action'].$menu['params'].'"'; } if (!empty($menu['handler'])) { - $attributes .= ' onclick="{literal} '.str_replace('"','\'',$menu['handler']).'{/literal} "'; + $attributes .= ' href="javascript:;" onclick="{literal} '.str_replace('"','\'',$menu['handler']).'{/literal} "'; } $menu['icon'] = $menu['icon'] ?? ''; - $smTpl .= ''.$menu['text'].$menu['icon'].$description.''."\n"; + $smTpl .= ''.$menu['text'].$menu['icon'].$description.''."\n"; if (!empty($menu['children'])) { $smTpl .= '
      '."\n"; diff --git a/manager/templates/default/css/index-min.css b/manager/templates/default/css/index-min.css index 242f8068df1..f42217ee29f 100644 --- a/manager/templates/default/css/index-min.css +++ b/manager/templates/default/css/index-min.css @@ -55,7 +55,7 @@ /*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */@font-face{font-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}.fab{font-family:Font Awesome\ 5 Brands}.icon.icon-glass:before{content:"\f000"}.icon.icon-meetup{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-star-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-o:before{content:"\f005"}.icon.icon-close:before,.icon.icon-remove:before{content:"\f00d"}.icon.icon-gear:before{content:"\f013"}.icon.icon-trash-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-trash-o:before{content:"\f2ed"}.icon.icon-file-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-o:before{content:"\f15b"}.icon.icon-clock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-clock-o:before{content:"\f017"}.icon.icon-arrow-circle-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-down:before{content:"\f358"}.icon.icon-arrow-circle-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-up:before{content:"\f35b"}.icon.icon-play-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-play-circle-o:before{content:"\f144"}.icon.icon-repeat:before,.icon.icon-rotate-right:before{content:"\f01e"}.icon.icon-refresh:before{content:"\f021"}.icon.icon-list-alt{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-dedent:before{content:"\f03b"}.icon.icon-video-camera:before{content:"\f03d"}.icon.icon-picture-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-picture-o:before{content:"\f03e"}.icon.icon-photo{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-photo:before{content:"\f03e"}.icon.icon-image{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-image:before{content:"\f03e"}.icon.icon-pencil:before{content:"\f303"}.icon.icon-map-marker:before{content:"\f3c5"}.icon.icon-pencil-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-pencil-square-o:before{content:"\f044"}.icon.icon-share-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-share-square-o:before{content:"\f14d"}.icon.icon-check-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-check-square-o:before{content:"\f14a"}.icon.icon-arrows:before{content:"\f0b2"}.icon.icon-times-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-circle-o:before{content:"\f057"}.icon.icon-check-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-check-circle-o:before{content:"\f058"}.icon.icon-mail-forward:before{content:"\f064"}.icon.icon-expand:before{content:"\f424"}.icon.icon-compress:before{content:"\f422"}.icon.icon-eye,.icon.icon-eye-slash{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-warning:before{content:"\f071"}.icon.icon-calendar:before{content:"\f073"}.icon.icon-arrows-v:before{content:"\f338"}.icon.icon-arrows-h:before{content:"\f337"}.icon.icon-bar-chart{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bar-chart:before{content:"\f080"}.icon.icon-bar-chart-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bar-chart-o:before{content:"\f080"}.icon.icon-facebook-square,.icon.icon-twitter-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-gears:before{content:"\f085"}.icon.icon-thumbs-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-thumbs-o-up:before{content:"\f164"}.icon.icon-thumbs-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-thumbs-o-down:before{content:"\f165"}.icon.icon-heart-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-heart-o:before{content:"\f004"}.icon.icon-sign-out:before{content:"\f2f5"}.icon.icon-linkedin-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-linkedin-square:before{content:"\f08c"}.icon.icon-thumb-tack:before{content:"\f08d"}.icon.icon-external-link:before{content:"\f35d"}.icon.icon-sign-in:before{content:"\f2f6"}.icon.icon-github-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-lemon-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-lemon-o:before{content:"\f094"}.icon.icon-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-square-o:before{content:"\f0c8"}.icon.icon-bookmark-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bookmark-o:before{content:"\f02e"}.icon.icon-facebook,.icon.icon-twitter{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook:before{content:"\f39e"}.icon.icon-facebook-f{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook-f:before{content:"\f39e"}.icon.icon-github{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-credit-card{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-feed:before{content:"\f09e"}.icon.icon-hdd-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hdd-o:before{content:"\f0a0"}.icon.icon-hand-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-right:before{content:"\f0a4"}.icon.icon-hand-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-left:before{content:"\f0a5"}.icon.icon-hand-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-up:before{content:"\f0a6"}.icon.icon-hand-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-down:before{content:"\f0a7"}.icon.icon-arrows-alt:before{content:"\f31e"}.icon.icon-group:before{content:"\f0c0"}.icon.icon-chain:before{content:"\f0c1"}.icon.icon-scissors:before{content:"\f0c4"}.icon.icon-files-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-files-o:before{content:"\f0c5"}.icon.icon-floppy-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-floppy-o:before{content:"\f0c7"}.icon.icon-navicon:before,.icon.icon-reorder:before{content:"\f0c9"}.icon.icon-google-plus,.icon.icon-google-plus-square,.icon.icon-pinterest,.icon.icon-pinterest-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus:before{content:"\f0d5"}.icon.icon-money{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-money:before{content:"\f3d1"}.icon.icon-unsorted:before{content:"\f0dc"}.icon.icon-sort-desc:before{content:"\f0dd"}.icon.icon-sort-asc:before{content:"\f0de"}.icon.icon-linkedin{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-linkedin:before{content:"\f0e1"}.icon.icon-rotate-left:before{content:"\f0e2"}.icon.icon-legal:before{content:"\f0e3"}.icon.icon-dashboard:before,.icon.icon-tachometer:before{content:"\f3fd"}.icon.icon-comment-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-comment-o:before{content:"\f075"}.icon.icon-comments-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-comments-o:before{content:"\f086"}.icon.icon-flash:before{content:"\f0e7"}.icon.icon-clipboard,.icon.icon-paste{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-paste:before{content:"\f328"}.icon.icon-lightbulb-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-lightbulb-o:before{content:"\f0eb"}.icon.icon-exchange:before{content:"\f362"}.icon.icon-cloud-download:before{content:"\f381"}.icon.icon-cloud-upload:before{content:"\f382"}.icon.icon-bell-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bell-o:before{content:"\f0f3"}.icon.icon-cutlery:before{content:"\f2e7"}.icon.icon-file-text-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-text-o:before{content:"\f15c"}.icon.icon-building-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-building-o:before{content:"\f1ad"}.icon.icon-hospital-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hospital-o:before{content:"\f0f8"}.icon.icon-tablet:before{content:"\f3fa"}.icon.icon-mobile-phone:before,.icon.icon-mobile:before{content:"\f3cd"}.icon.icon-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-circle-o:before{content:"\f111"}.icon.icon-mail-reply:before{content:"\f3e5"}.icon.icon-github-alt{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-folder-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-folder-o:before{content:"\f07b"}.icon.icon-folder-open-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-folder-open-o:before{content:"\f07c"}.icon.icon-smile-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-smile-o:before{content:"\f118"}.icon.icon-frown-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-frown-o:before{content:"\f119"}.icon.icon-meh-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-meh-o:before{content:"\f11a"}.icon.icon-keyboard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-keyboard-o:before{content:"\f11c"}.icon.icon-flag-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-flag-o:before{content:"\f024"}.icon.icon-mail-reply-all:before{content:"\f122"}.icon.icon-star-half-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-o:before{content:"\f089"}.icon.icon-star-half-empty{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-empty:before{content:"\f089"}.icon.icon-star-half-full{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-full:before{content:"\f089"}.icon.icon-code-fork:before{content:"\f126"}.icon.icon-chain-broken:before{content:"\f127"}.icon.icon-shield:before{content:"\f3ed"}.icon.icon-calendar-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-o:before{content:"\f133"}.icon.icon-css3,.icon.icon-html5,.icon.icon-maxcdn{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ticket:before{content:"\f3ff"}.icon.icon-minus-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-minus-square-o:before{content:"\f146"}.icon.icon-level-up:before{content:"\f3bf"}.icon.icon-level-down:before{content:"\f3be"}.icon.icon-pencil-square:before{content:"\f14b"}.icon.icon-external-link-square:before{content:"\f360"}.icon.icon-compass{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-down:before{content:"\f150"}.icon.icon-toggle-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-down:before{content:"\f150"}.icon.icon-caret-square-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-up:before{content:"\f151"}.icon.icon-toggle-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-up:before{content:"\f151"}.icon.icon-caret-square-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-right:before{content:"\f152"}.icon.icon-toggle-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-right:before{content:"\f152"}.icon.icon-eur:before,.icon.icon-euro:before{content:"\f153"}.icon.icon-gbp:before{content:"\f154"}.icon.icon-dollar:before,.icon.icon-usd:before{content:"\f155"}.icon.icon-inr:before,.icon.icon-rupee:before{content:"\f156"}.icon.icon-cny:before,.icon.icon-jpy:before,.icon.icon-rmb:before,.icon.icon-yen:before{content:"\f157"}.icon.icon-rouble:before,.icon.icon-rub:before,.icon.icon-ruble:before{content:"\f158"}.icon.icon-krw:before,.icon.icon-won:before{content:"\f159"}.icon.icon-bitcoin,.icon.icon-btc{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bitcoin:before{content:"\f15a"}.icon.icon-file-text:before{content:"\f15c"}.icon.icon-sort-alpha-asc:before{content:"\f15d"}.icon.icon-sort-alpha-desc:before{content:"\f881"}.icon.icon-sort-amount-asc:before{content:"\f160"}.icon.icon-sort-amount-desc:before{content:"\f884"}.icon.icon-sort-numeric-asc:before{content:"\f162"}.icon.icon-sort-numeric-desc:before{content:"\f886"}.icon.icon-xing,.icon.icon-xing-square,.icon.icon-youtube,.icon.icon-youtube-play,.icon.icon-youtube-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-youtube-play:before{content:"\f167"}.icon.icon-adn,.icon.icon-bitbucket,.icon.icon-bitbucket-square,.icon.icon-dropbox,.icon.icon-flickr,.icon.icon-instagram,.icon.icon-stack-overflow{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bitbucket-square:before{content:"\f171"}.icon.icon-tumblr,.icon.icon-tumblr-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-long-arrow-down:before{content:"\f309"}.icon.icon-long-arrow-up:before{content:"\f30c"}.icon.icon-long-arrow-left:before{content:"\f30a"}.icon.icon-long-arrow-right:before{content:"\f30b"}.icon.icon-android,.icon.icon-apple,.icon.icon-dribbble,.icon.icon-foursquare,.icon.icon-gittip,.icon.icon-gratipay,.icon.icon-linux,.icon.icon-skype,.icon.icon-trello,.icon.icon-windows{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-gittip:before{content:"\f184"}.icon.icon-sun-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-sun-o:before{content:"\f185"}.icon.icon-moon-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-moon-o:before{content:"\f186"}.icon.icon-pagelines,.icon.icon-renren,.icon.icon-stack-exchange,.icon.icon-vk,.icon.icon-weibo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-arrow-circle-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-right:before{content:"\f35a"}.icon.icon-arrow-circle-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-left:before{content:"\f359"}.icon.icon-caret-square-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-left:before{content:"\f191"}.icon.icon-toggle-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-left:before{content:"\f191"}.icon.icon-dot-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-dot-circle-o:before{content:"\f192"}.icon.icon-vimeo-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-try:before,.icon.icon-turkish-lira:before{content:"\f195"}.icon.icon-plus-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-plus-square-o:before{content:"\f0fe"}.icon.icon-openid,.icon.icon-slack,.icon.icon-wordpress{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bank:before,.icon.icon-institution:before{content:"\f19c"}.icon.icon-mortar-board:before{content:"\f19d"}.icon.icon-delicious,.icon.icon-digg,.icon.icon-drupal,.icon.icon-google,.icon.icon-joomla,.icon.icon-pied-piper-alt,.icon.icon-pied-piper-pp,.icon.icon-reddit,.icon.icon-reddit-square,.icon.icon-stumbleupon,.icon.icon-stumbleupon-circle,.icon.icon-yahoo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-spoon:before{content:"\f2e5"}.icon.icon-behance,.icon.icon-behance-square,.icon.icon-steam,.icon.icon-steam-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-automobile:before{content:"\f1b9"}.icon.icon-envelope-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-envelope-o:before{content:"\f0e0"}.icon.icon-deviantart,.icon.icon-soundcloud,.icon.icon-spotify{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-file-pdf-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-pdf-o:before{content:"\f1c1"}.icon.icon-file-word-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-word-o:before{content:"\f1c2"}.icon.icon-file-excel-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-excel-o:before{content:"\f1c3"}.icon.icon-file-powerpoint-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-powerpoint-o:before{content:"\f1c4"}.icon.icon-file-image-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-image-o:before{content:"\f1c5"}.icon.icon-file-photo-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-photo-o:before{content:"\f1c5"}.icon.icon-file-picture-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-picture-o:before{content:"\f1c5"}.icon.icon-file-archive-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-archive-o:before{content:"\f1c6"}.icon.icon-file-zip-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-zip-o:before{content:"\f1c6"}.icon.icon-file-audio-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-audio-o:before{content:"\f1c7"}.icon.icon-file-sound-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-sound-o:before{content:"\f1c7"}.icon.icon-file-video-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-video-o:before{content:"\f1c8"}.icon.icon-file-movie-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-movie-o:before{content:"\f1c8"}.icon.icon-file-code-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-code-o:before{content:"\f1c9"}.icon.icon-codepen,.icon.icon-jsfiddle,.icon.icon-vine{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-life-bouy,.icon.icon-life-ring{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-bouy:before{content:"\f1cd"}.icon.icon-life-buoy{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-buoy:before{content:"\f1cd"}.icon.icon-life-saver{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-saver:before{content:"\f1cd"}.icon.icon-support{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-support:before{content:"\f1cd"}.icon.icon-circle-o-notch:before{content:"\f1ce"}.icon.icon-ra,.icon.icon-rebel{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ra:before{content:"\f1d0"}.icon.icon-resistance{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-resistance:before{content:"\f1d0"}.icon.icon-empire,.icon.icon-ge{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ge:before{content:"\f1d1"}.icon.icon-git,.icon.icon-git-square,.icon.icon-hacker-news,.icon.icon-y-combinator-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-y-combinator-square:before{content:"\f1d4"}.icon.icon-yc-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-yc-square:before{content:"\f1d4"}.icon.icon-qq,.icon.icon-tencent-weibo,.icon.icon-wechat,.icon.icon-weixin{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-wechat:before{content:"\f1d7"}.icon.icon-send:before{content:"\f1d8"}.icon.icon-paper-plane-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-paper-plane-o:before{content:"\f1d8"}.icon.icon-send-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-send-o:before{content:"\f1d8"}.icon.icon-circle-thin{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-circle-thin:before{content:"\f111"}.icon.icon-header:before{content:"\f1dc"}.icon.icon-sliders:before{content:"\f1de"}.icon.icon-futbol-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-futbol-o:before{content:"\f1e3"}.icon.icon-soccer-ball-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-soccer-ball-o:before{content:"\f1e3"}.icon.icon-slideshare,.icon.icon-twitch,.icon.icon-yelp{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-newspaper-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-newspaper-o:before{content:"\f1ea"}.icon.icon-cc-amex,.icon.icon-cc-discover,.icon.icon-cc-mastercard,.icon.icon-cc-paypal,.icon.icon-cc-stripe,.icon.icon-cc-visa,.icon.icon-google-wallet,.icon.icon-paypal{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bell-slash-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bell-slash-o:before{content:"\f1f6"}.icon.icon-trash:before{content:"\f2ed"}.icon.icon-copyright{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-eyedropper:before{content:"\f1fb"}.icon.icon-area-chart:before{content:"\f1fe"}.icon.icon-pie-chart:before{content:"\f200"}.icon.icon-line-chart:before{content:"\f201"}.icon.icon-angellist,.icon.icon-ioxhost,.icon.icon-lastfm,.icon.icon-lastfm-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-cc{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-cc:before{content:"\f20a"}.icon.icon-ils:before,.icon.icon-shekel:before,.icon.icon-sheqel:before{content:"\f20b"}.icon.icon-meanpath{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-meanpath:before{content:"\f2b4"}.icon.icon-buysellads,.icon.icon-connectdevelop,.icon.icon-dashcube,.icon.icon-forumbee,.icon.icon-leanpub,.icon.icon-sellsy,.icon.icon-shirtsinbulk,.icon.icon-simplybuilt,.icon.icon-skyatlas{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-diamond{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-diamond:before{content:"\f3a5"}.icon.icon-intersex:before{content:"\f224"}.icon.icon-facebook-official{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook-official:before{content:"\f09a"}.icon.icon-pinterest-p,.icon.icon-whatsapp{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-hotel:before{content:"\f236"}.icon.icon-medium,.icon.icon-viacoin,.icon.icon-y-combinator,.icon.icon-yc{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-yc:before{content:"\f23b"}.icon.icon-expeditedssl,.icon.icon-opencart,.icon.icon-optin-monster{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-battery-4:before,.icon.icon-battery:before{content:"\f240"}.icon.icon-battery-3:before{content:"\f241"}.icon.icon-battery-2:before{content:"\f242"}.icon.icon-battery-1:before{content:"\f243"}.icon.icon-battery-0:before{content:"\f244"}.icon.icon-object-group,.icon.icon-object-ungroup,.icon.icon-sticky-note-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-sticky-note-o:before{content:"\f249"}.icon.icon-cc-diners-club,.icon.icon-cc-jcb{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-clone,.icon.icon-hourglass-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hourglass-o:before{content:"\f254"}.icon.icon-hourglass-1:before{content:"\f251"}.icon.icon-hourglass-2:before{content:"\f252"}.icon.icon-hourglass-3:before{content:"\f253"}.icon.icon-hand-rock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-rock-o:before{content:"\f255"}.icon.icon-hand-grab-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-grab-o:before{content:"\f255"}.icon.icon-hand-paper-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-paper-o:before{content:"\f256"}.icon.icon-hand-stop-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-stop-o:before{content:"\f256"}.icon.icon-hand-scissors-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-scissors-o:before{content:"\f257"}.icon.icon-hand-lizard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-lizard-o:before{content:"\f258"}.icon.icon-hand-spock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-spock-o:before{content:"\f259"}.icon.icon-hand-pointer-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-pointer-o:before{content:"\f25a"}.icon.icon-hand-peace-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-peace-o:before{content:"\f25b"}.icon.icon-registered{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-chrome,.icon.icon-creative-commons,.icon.icon-firefox,.icon.icon-get-pocket,.icon.icon-gg,.icon.icon-gg-circle,.icon.icon-internet-explorer,.icon.icon-odnoklassniki,.icon.icon-odnoklassniki-square,.icon.icon-opera,.icon.icon-safari,.icon.icon-tripadvisor,.icon.icon-wikipedia-w{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-television:before{content:"\f26c"}.icon.icon-500px,.icon.icon-amazon,.icon.icon-contao{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-calendar-plus-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-plus-o:before{content:"\f271"}.icon.icon-calendar-minus-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-minus-o:before{content:"\f272"}.icon.icon-calendar-times-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-times-o:before{content:"\f273"}.icon.icon-calendar-check-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-check-o:before{content:"\f274"}.icon.icon-map-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-map-o:before{content:"\f279"}.icon.icon-commenting:before{content:"\f4ad"}.icon.icon-commenting-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-commenting-o:before{content:"\f4ad"}.icon.icon-houzz,.icon.icon-vimeo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-vimeo:before{content:"\f27d"}.icon.icon-black-tie,.icon.icon-edge,.icon.icon-fonticons,.icon.icon-reddit-alien{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-credit-card-alt:before{content:"\f09d"}.icon.icon-codiepie,.icon.icon-fort-awesome,.icon.icon-mixcloud,.icon.icon-modx,.icon.icon-product-hunt,.icon.icon-scribd,.icon.icon-usb{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-pause-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-pause-circle-o:before{content:"\f28b"}.icon.icon-stop-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-stop-circle-o:before{content:"\f28d"}.icon.icon-bluetooth,.icon.icon-bluetooth-b,.icon.icon-envira,.icon.icon-gitlab,.icon.icon-wheelchair-alt,.icon.icon-wpbeginner,.icon.icon-wpforms{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-wheelchair-alt:before{content:"\f368"}.icon.icon-question-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-question-circle-o:before{content:"\f059"}.icon.icon-volume-control-phone:before{content:"\f2a0"}.icon.icon-asl-interpreting:before{content:"\f2a3"}.icon.icon-deafness:before,.icon.icon-hard-of-hearing:before{content:"\f2a4"}.icon.icon-glide,.icon.icon-glide-g{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-signing:before{content:"\f2a7"}.icon.icon-first-order,.icon.icon-google-plus-official,.icon.icon-pied-piper,.icon.icon-snapchat,.icon.icon-snapchat-ghost,.icon.icon-snapchat-square,.icon.icon-themeisle,.icon.icon-viadeo,.icon.icon-viadeo-square,.icon.icon-yoast{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus-official:before{content:"\f2b3"}.icon.icon-google-plus-circle{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus-circle:before{content:"\f2b3"}.icon.icon-fa,.icon.icon-font-awesome{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-fa:before{content:"\f2b4"}.icon.icon-handshake-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-handshake-o:before{content:"\f2b5"}.icon.icon-envelope-open-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-envelope-open-o:before{content:"\f2b6"}.icon.icon-linode{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-address-book-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-address-book-o:before{content:"\f2b9"}.icon.icon-vcard:before{content:"\f2bb"}.icon.icon-address-card-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-address-card-o:before{content:"\f2bb"}.icon.icon-vcard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-vcard-o:before{content:"\f2bb"}.icon.icon-user-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-user-circle-o:before{content:"\f2bd"}.icon.icon-user-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-user-o:before{content:"\f007"}.icon.icon-id-badge{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-drivers-license:before{content:"\f2c2"}.icon.icon-id-card-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-id-card-o:before{content:"\f2c2"}.icon.icon-drivers-license-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-drivers-license-o:before{content:"\f2c2"}.icon.icon-free-code-camp,.icon.icon-quora,.icon.icon-telegram{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-thermometer-4:before,.icon.icon-thermometer:before{content:"\f2c7"}.icon.icon-thermometer-3:before{content:"\f2c8"}.icon.icon-thermometer-2:before{content:"\f2c9"}.icon.icon-thermometer-1:before{content:"\f2ca"}.icon.icon-thermometer-0:before{content:"\f2cb"}.icon.icon-bathtub:before,.icon.icon-s15:before{content:"\f2cd"}.icon.icon-window-maximize,.icon.icon-window-restore{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-rectangle:before{content:"\f410"}.icon.icon-window-close-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-window-close-o:before{content:"\f410"}.icon.icon-times-rectangle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-rectangle-o:before{content:"\f410"}.icon.icon-bandcamp,.icon.icon-eercast,.icon.icon-etsy,.icon.icon-grav,.icon.icon-imdb,.icon.icon-ravelry{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-eercast:before{content:"\f2da"}.icon.icon-snowflake-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-snowflake-o:before{content:"\f2dc"}.icon.icon-superpowers,.icon.icon-wpexplorer{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-cab:before{content:"\f1ba"}#modx-navbar #modx-topnav{margin-left:auto;margin-right:auto;max-width:1200px}#modx-navbar #modx-topnav:after{clear:both;content:"";display:block}#modx-footer .modx-subnav li.sub:after,#modx-leftbar-header a:after,.actions button .x-btn-arrow:before,.actions button .x-btn-split:before,.crumb_wrapper .crumbs li.first:before,.desc-under .copy-this:hover:after,.desc-under .example-list ul li:before,.ext-mb-icon:before,.home-panel ol li:hover button:before,.icon,.icon-3gp:before,.icon-7z:before,.icon-aac:before,.icon-access:before,.icon-aif:before,.icon-aiff:before,.icon-as:before,.icon-avi:before,.icon-backup:before,.icon-bak:before,.icon-bat:before,.icon-bk:before,.icon-bmp:before,.icon-bz2:before,.icon-cal:before,.icon-cfm:before,.icon-coffeescript:before,.icon-css:before,.icon-csv:before,.icon-db:before,.icon-dmg:before,.icon-doc:before,.icon-docx:before,.icon-fla:before,.icon-flac:before,.icon-flv:before,.icon-folder:before,.icon-gif:before,.icon-gz:before,.icon-htaccess:before,.icon-htm:before,.icon-html:before,.icon-ical:before,.icon-ics:before,.icon-iso:before,.icon-jar:before,.icon-java:before,.icon-jpeg:before,.icon-jpg:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-lock,.icon-log:before,.icon-m4a:before,.icon-m4v:before,.icon-mov:before,.icon-mp3:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-ogg:before,.icon-pdf:before,.icon-php:before,.icon-png:before,.icon-ppt:before,.icon-pptx:before,.icon-rar:before,.icon-rb:before,.icon-rss:before,.icon-scr:before,.icon-scss:before,.icon-sh:before,.icon-sql:before,.icon-styl:before,.icon-svg:before,.icon-swf:before,.icon-tar:before,.icon-tgz:before,.icon-tiff:before,.icon-txt:before,.icon-vcs:before,.icon-wav:before,.icon-wma:before,.icon-wmv:before,.icon-xls:before,.icon-xlsx:before,.icon-xml:before,.icon-zip:before,.inline-button .x-btn-arrow:before,.inline-button .x-btn-split:before,.locked-resource:before,.modx-browser-detail-thumb.preview:before,.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before,.modx-header-breadcrumbs ul li:after,.modx-manager-search-results .loading-indicator:before,.modx-status-msg:after,.modx-tv .resizable:after,.modx-tv .resizable:before,.parent-resource:before,.tree-context:before,.tree-new-category>em>button:before,.tree-new-chunk>em>button:before,.tree-new-plugin>em>button:before,.tree-new-resource>em>button:before,.tree-new-snippet>em>button:before,.tree-new-static-resource>em>button:before,.tree-new-symlink>em>button:before,.tree-new-template>em>button:before,.tree-new-tv>em>button:before,.tree-new-weblink>em>button:before,.tree-resource:before,.tree-static-resource:before,.tree-symlink:before,.tree-trash>em>button:before,.tree-weblink:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.icon-file_manager button:before,.x-btn-icon.icon-file_upload button:before,.x-btn-icon.icon-folder button:before,.x-btn-icon.icon-page_white button:before,.x-btn-icon.refresh button:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-left a:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before,.x-form-field-wrap .x-form-trigger:before,.x-form-invalid-msg:before,.x-form-item .x-form-element .x-form-invalid-icon:before,.x-form-item label.x-form-item-label .modx-field-utils:before,.x-form-item label.x-form-item-label .modx-tv-reset:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-grid3-check-col-on:before,.x-grid3-check-col:before,.x-grid3-hd-btn:before,.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before,.x-grid3-row-collapsed .x-grid3-row-expander:before,.x-grid3-row-expanded .x-grid3-row-expander:before,.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before,.x-grid-group-hd div.x-grid-group-title:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before,.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before,.x-tab-scroller-left:before,.x-tab-scroller-right:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before,.x-tool:after,.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before,.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900}.crumb_wrapper .crumbs li.first:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.refresh button:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before{bottom:0;color:inherit;font-size:14px;height:100%;left:0;line-height:100%;position:absolute;right:0;text-align:center;top:0;width:100%}#modx-tv-tabs .lt-ie8{*zoom:1}#modx-tv-tabs:after,#modx-tv-tabs:before{content:" ";display:table}#modx-tv-tabs:after{clear:both}.x-splitbar-proxy{background-color:#aaa}.x-color-palette a{border-color:#fff}.x-color-palette a.x-color-palette-sel,.x-color-palette a:hover{background-color:#ebebeb;border-color:#b4b4b4}.x-color-palette em{border-color:#aca899}.loading-indicator{background-image:url(../images/modx-theme/grid/loading.gif);font-size:11px}.x-spotlight{background-color:#ccc}.ext-ie7 .x-plain-body{position:relative}.x-statusbar .x-status-busy{background-image:url(../images/modx-theme/grid/loading.gif)}.x-statusbar .x-status-text-panel{border-color:#dfdfdf #fff #fff #dfdfdf}.x-resizable-handle-southeast{bottom:1px;right:1px}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background-image:url(../images/modx-theme/sizer/e-handle.gif)}.x-resizable-over .x-resizable-handle-north,.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-south{background-image:url(../images/modx-theme/sizer/s-handle.gif)}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background-image:url(../images/modx-theme/sizer/se-handle.gif)}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background-image:url(../images/modx-theme/sizer/nw-handle.gif)}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background-image:url(../images/modx-theme/sizer/ne-handle.gif)}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background-image:url(../images/modx-theme/sizer/sw-handle.gif)}.x-resizable-proxy{border-color:#575757}.x-resizable-overlay{background-color:#fff}.x-grid3{background-color:initial;background-image:none;border:1px solid #e4e9ee;border-radius:3px;overflow:hidden;padding:0}.x-grid-panel .x-panel-mc .x-panel-body{border:0}.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-row td,.x-grid3-summary-row td{border-left:1px solid #0000;padding-left:0}.x-grid3-hd-row td{border-left:1px solid #fff;border-right:none;text-align:initial}.x-grid3-hd-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-summary-first{border-left:0}.x-grid3-hd-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-summary-last{border-right:0}.x-grid-row-loading{background-color:#fff;background-image:url(../images/modx-theme/shared/loading-balls.gif)}.x-grid3-row{border-color:#fff #fff #efefef}.x-grid3-row.highlight-inserted{background-color:#dce0ea}.x-grid3-row-expanded .x-grid3-row-body{word-wrap:break-word;color:#888;margin:0 2px 0 -20px;padding:0 25px 15px}.x-grid3-row-expanded .x-grid3-row-body .desc{word-wrap:break-word}.x-grid3-row-alt{background-color:#f5f6f9}.x-panel-body-noheader .x-grid3-row{border-color:#0000}.x-panel-body-noheader .x-grid3-row-alt{border-bottom:1px solid #eaeaea;border-top:1px solid #eaeaea}.x-panel-body-noheader .x-grid3-row-alt .x-grid3-row-table{border-top:1px solid #0000}.x-grid3-row-over{background-color:#e0e8ef;background-image:none;border-bottom:1px solid #d1d9df}.x-grid3-resize-marker,.x-grid3-resize-proxy{background-color:#777}.x-grid3-header{background:#fff;border-bottom:1px solid #e4e9ee!important;padding:0}.x-panel-body-noheader .x-grid3-header{border:none}.x-grid3-header-offset{padding-left:0}.x-grid3-header .x-grid3-hd-row td{color:dimgray;font-weight:700;text-align:initial}.x-grid3-header-pop{border-left-color:#dfdfdf}.x-grid3-header-pop-inner{background-image:url(../images/modx-theme/grid/hd-pop.gif);border-left-color:#eee}td.sort-asc,td.sort-desc,td.x-grid3-hd-menu-open,td.x-grid3-hd-over{background:#fff;border-left-color:#fff}td.sort-asc .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner,td.x-grid3-hd-over .x-grid3-hd-inner{color:#696969}.sort-asc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_asc.gif)}.sort-desc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_desc.gif)}.x-panel-body-noheader .x-grid3-body{background-color:#fff}.x-grid3-cell-text,.x-grid3-hd-text{color:#515151}.x-grid3-split{background-image:url(../images/modx-theme/grid/grid-split.gif)}.x-grid3-hd-text{color:#464646}.x-dd-drag-proxy .x-grid3-hd-inner{background-color:#f2f2f2;background-image:url(../images/modx-theme/grid/grid3-hrow-over.gif);border-color:#c8c8c8}.col-move-top{background-image:url(../images/modx-theme/grid/col-move-top.gif)}.col-move-bottom{background-image:url(../images/modx-theme/grid/col-move-bottom.gif)}.x-grid3-row-selected{background-color:#f0f0f0;background-image:none;border-bottom:1px solid #e4e4e4!important;border-top:1px solid #e4e4e4!important;color:#565550}.x-grid3-row-last,.x-grid3-row-last .x-grid3-row-selected{border-bottom-color:#0000!important}.x-grid3-cell-selected{background-color:#e0eaef!important;color:#515151}.x-grid3-cell-selected span{color:#515151!important}.x-grid3-cell-selected .x-grid3-cell-text{color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker,.x-grid3-locked td.x-grid3-row-marker{background-color:#d7d9df!important;background-image:url(../images/modx-theme/grid/grid-hrow.gif)!important;border-right-color:#9c9c9c!important;border-top-color:#fff;color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div,.x-grid3-locked td.x-grid3-row-marker div{color:#464646!important}.x-grid3-dirty-cell{background-image:url(../images/modx-theme/grid/dirty.gif)}.x-grid3-bottombar,.x-grid3-topbar{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-bottombar .x-toolbar{border-top-color:#bcbcbc}.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)!important;color:#515151!important}.x-grid3-hd-inner{font-weight:700;padding:10px}.ext-ie .x-grid3-hd-inner{width:auto}.x-grid3-cell-inner,.x-grid3-hd-inner{padding:10px}.x-props-grid .x-grid3-body .x-grid3-td-name{background-color:#fff!important;border-right-color:#eee}.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-asc.gif)}.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-desc.gif)}.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-lock.gif)}.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-unlock.gif)}.x-grid3-hd-btn{background-color:#fff}.x-grid3-hd-btn:before{color:#77899f;content:"\f0d7";font-size:14px;font-style:normal;font-weight:900;left:0;position:absolute;right:0;text-align:center;top:14px}.x-grid3-hd-btn:hover{background-color:#fff}.x-grid3-body .x-grid3-td-expander{background-image:none;text-align:right}.x-grid3-row-collapsed .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-collapsed .x-grid3-row-expander:before{color:#53595f;content:"\f0fe";font-size:14px;font-weight:400}.x-grid3-row-expanded .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-expanded .x-grid3-row-expander:before{color:#53595f;content:"\f146";font-size:14px;font-weight:400}.x-grid3-body .x-grid3-td-checker{background-image:none;padding:10px 0 0}.x-grid3-hd-checker:not(.x-grid3-hd-inner),.x-grid3-row-checker{cursor:pointer}.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before{color:#53595f;content:"\f0c8";display:inline-block;font-size:14px;font-weight:400;padding:3px 5px}.x-grid3-hd-checker-on .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-hd-checker-on .x-grid3-row-checker:before,.x-grid3-row-selected .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-selected .x-grid3-row-checker:before{content:"\f14a";font-weight:400}.x-grid3-body .x-grid3-td-numberer{background-color:#e5e5e5;border-bottom:1px solid #dadada;border-right:1px solid #dadada!important}.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{color:#444;padding-left:10px;padding-top:10px!important}.x-grid3-body .x-grid3-td-row-icon{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)}.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander,.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer{background-image:none}.x-grid3-check-col{cursor:pointer;margin-top:10px}.x-grid3-check-col:before{color:#53595f;content:"\f0c8";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid3-check-col-on{cursor:pointer;margin-top:10px}.x-grid3-check-col-on:before{color:#53595f;content:"\f14a";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1}.x-grid-group-hd{border-bottom-color:#53595f}.x-grid-group-hd div.x-grid-group-title{color:#53595f;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:700;padding:10px 0}.x-grid-group-hd div.x-grid-group-title:before{content:"\f146";font-size:14px;font-style:normal;font-weight:400;padding:0 5px}.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before{content:"\f0fe";font-style:normal;font-weight:400;padding:0 5px}.x-group-by-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-cols-icon{background-image:url(../images/modx-theme/grid/columns.gif)}.x-show-groups-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-grid-empty{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;text-align:center}.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell{border-right-color:#ededed}.x-grid-with-col-lines .x-grid3-row{border-left:0;border-top:0}.x-grid-with-col-lines .x-grid3-row-selected{border-top-color:#e4e4e4}.x-dd-drag-ghost{background-color:#fff;border-color:#ddd #bbb #bbb #dfdfdf;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-no.gif)}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-yes.gif)}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-add.gif)}.x-view-selector{background-color:#d8d8d8;border-color:#8d8d8d}.x-tip{background:#575757;border-radius:3px;max-width:400px;min-width:200px;padding:5px;width:auto!important}.x-tip .x-tip-close{background-image:url(../images/modx-theme/qtip/close.gif)}.x-tip .x-tip-bc,.x-tip .x-tip-bl,.x-tip .x-tip-br,.x-tip .x-tip-ml,.x-tip .x-tip-mr,.x-tip .x-tip-tc,.x-tip .x-tip-tl,.x-tip .x-tip-tr{background-image:none}.x-tip .x-tip-mc{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-ml{background-color:initial}.x-tip .x-tip-header-text{color:#f0f0f0;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-body{color:#f0f0f0;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;width:auto!important}.x-tip img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;max-width:100%;width:100%}.x-form-invalid-tip .x-tip-bc,.x-form-invalid-tip .x-tip-bl,.x-form-invalid-tip .x-tip-br,.x-form-invalid-tip .x-tip-ml,.x-form-invalid-tip .x-tip-mr,.x-form-invalid-tip .x-tip-tc,.x-form-invalid-tip .x-tip-tl,.x-form-invalid-tip .x-tip-tr{background-image:url(../images/modx-theme/form/error-tip-corners.gif)}.x-form-invalid-tip .x-tip-body{background-image:url(../images/modx-theme/form/exclamation.gif)}.x-tip-anchor{background-image:url(../images/modx-theme/qtip/tip-anchor-sprite.gif)}.x-menu{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 4px 6px #00000026}.x-menu-list{padding:0}.x-menu-list li{border:0;margin:0;padding:0}.x-menu-list li:first-child{margin-top:3px}.x-menu-list li:last-child{margin-bottom:3px}.x-menu-list li.x-menu-date-item{margin:0}.x-menu-list li a.x-menu-item{color:#515151;font-size:13px;padding:3px 21px 3px 27px}.x-menu-list li a.x-menu-item:hover{color:#515151}.x-menu-list li.x-menu-item-active{background-color:#f0f0f0}.x-menu-list li.x-menu-item-active a{color:#515151}.x-menu-floating{border-color:#c7c7c7}html[dir=rtl] .x-menu-floating{left:unset!important;right:0}.x-menu-nosep{background-image:none}.x-menu-list-item{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-menu-item-arrow{background-image:url(../images/modx-theme/menu/menu-parent.gif)}.x-menu-sep{background-color:#e4e4e4;border-bottom:none;margin:2px 0}.x-menu-item-active a.x-menu-item{border:0;margin:0}.x-menu-check-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/unchecked.gif)}.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/modx-theme/menu/checked.gif)}.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/group-checked.gif)}.x-menu-group-item .x-menu-item-icon{background-image:none}.x-menu-plain{background-color:#fff!important}.x-cycle-menu .x-menu-item-checked{background-color:#dfdfdf;border-color:#b9b9b9!important}.x-menu-scroller-top{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-menu-scroller-bottom{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-box-ml,.x-box-tl{background-color:#fafafa;background-image:none;color:#393939;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-box-mc p{font-weight:400;margin-bottom:5px}.x-box-tl{border-top:1px solid #dedede}.x-box-ml,.x-box-tl{background-color:#fafafacc}.x-box-bl,.x-box-ml,.x-box-tl{border-left:1px solid #dedede;border-right:1px solid #dedede}.x-box-bl{background-color:#e6e6e6cc;border-bottom:1px solid #dedede}.x-box-mc h3{font-size:14px;font-weight:700}.x-box-bc,.x-box-bl,.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr,.x-box-br,.x-box-mr{background-image:none}.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/modx-theme/box/tb-gray.gif)}.x-box-blue .x-box-mc{background-color:#d8d8d8}.x-box-blue .x-box-mc h3{color:#363636}.x-box-blue .x-box-ml{background-image:url(../images/modx-theme/box/l-gray.gif)}.x-box-blue .x-box-mr{background-image:url(../images/modx-theme/box/r-gray.gif)}#x-debug-browser .x-tree .x-tree-node a span{color:#333;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}#x-debug-browser .x-tree a i{color:#cf1124;font-style:normal}#x-debug-browser .x-tree a em{color:#999}#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background-color:#d8d8d8}.x-panel-body,.x-panel-bwrap{overflow:visible}.x-panel-body{border:0;border-radius:3px}#modx-panel-packages-browser .x-panel-body{border-radius:0}.x-grid-panel .x-panel-body{background-color:#f5f5f5;border:0}.x-grid-panel .x-panel-body-noheader{background-color:initial;border:0;padding:0!important}.x-panel-tl .x-panel-header{color:#6a6a6a;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-panel-tl .x-panel-icon{background-position:0 8px}.x-panel-tc{background-image:none}.x-panel-bl,.x-panel-br,.x-panel-tl,.x-panel-tr{background-image:none;border-bottom-color:#dfdfdf}.x-panel-bc{background-image:none}.x-panel-tc{background-color:#f5f5f5}.x-panel-tl{border:1px solid #e3e3e3;border-bottom:0 #e3e3e3}.x-panel-tl .x-panel-header{border-bottom:1px solid #e4e4e4;padding:10px 0}.x-panel-bc .x-panel-footer{padding-bottom:0}.x-panel-btns{background-color:initial;padding:15px 0 1px}.x-panel-btns td.x-toolbar-cell{padding:0}.x-panel-mc{background-color:#f5f5f5;border-bottom:1px solid #dfdfdf;border-top:1px solid #fafafa;padding:10px 5px}.x-panel-bl,.x-panel-ml,.x-panel-tl{background-color:#f5f5f5;padding-left:8px}.x-panel-ml,.x-panel-mr{background-image:none}.x-panel-bl{border:1px solid #e3e3e3;border-top:0 #e3e3e3;padding-bottom:8px}.x-panel-ml{border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3}.x-panel-mr{padding-right:8px}.x-panel-br,.x-panel-mr,.x-panel-tr{background-color:#f7f7f7}.x-tool{background:none;border-radius:50%;color:#515151;font-size:14px;margin:0 3px 0 0;position:relative;transition:all .3s}.x-tool,.x-tool:after{height:18px;width:18px}.x-tool:after{box-sizing:border-box;left:0;padding-top:2px;position:absolute;text-align:center;top:0;vertical-align:middle}.x-tool:hover{background:#234368;color:#fff}.x-tool.x-tool-toggle:after{content:"\f077";padding-top:2px}.x-tool.x-tool-toggle-over:after,.x-tool.x-tool-toggle:hover:after{content:"\f077"}.x-panel-collapsed .x-tool.x-tool-toggle-over:after,.x-panel-collapsed .x-tool.x-tool-toggle:after,.x-panel-collapsed .x-tool.x-tool-toggle:hover:after{content:"\f078";padding-top:3px}.x-tool.x-tool-close:after{content:"\f00d"}.x-tool.x-tool-minimize:after{content:"\f066"}.x-tool.x-tool-maximize:after{content:"\f065"}.x-tool.x-tool-restore:after{content:"\f066"}.x-tool.x-tool-gear:after{content:"\f013"}.x-tool.x-tool-pin:after{content:"\f111"}.x-tool.x-tool-pin-over:after,.x-tool.x-tool-pin:hover:after,.x-tool.x-tool-unpin:after{content:"\f192"}.x-tool.x-tool-unpin-over:after,.x-tool.x-tool-unpin:hover:after{content:"\f111"}.x-tool.x-tool-right:after{content:"\f054";padding-left:1px}.x-tool.x-tool-left:after{content:"\f053";padding-right:2px}.x-tool.x-tool-up:after{content:"\f077";padding-top:1px}.x-tool.x-tool-down:after{content:"\f078";padding-top:1px}.x-tool.x-tool-minus:after{content:"\f068"}.x-tool.x-tool-plus:after{content:"\f067"}.x-panel-dd-spacer{border-color:#dfdfdf}.x-panel-fbar div,.x-panel-fbar input,.x-panel-fbar label,.x-panel-fbar select,.x-panel-fbar span,.x-panel-fbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-panel-header{border:1px solid silver;border-radius:3px 3px 0 0;font-size:14px;font-weight:700;margin-top:0;padding:10px 10px 8px}.x-portal-space{border-bottom:1px solid #afafaf;padding:0}.x-column-inner{overflow:visible}.x-column-inner>.x-column{margin-right:0;overflow:visible}.x-column-inner>.x-column:not(.x-hide-display)~.x-column{margin-left:15px;margin-right:0}.x-panel-nofooter .x-panel-bc{background-image:none;height:0}.x-panel-ghost{background-color:#dbdbdb}.x-panel-dd-spacer,.x-panel-ghost ul{border-color:#d0d0d0}.x-dlg-mask{background-color:#ccc}.x-html-editor-wrap{background-color:#fff;border-color:#bcbcbc}.x-panel-noborder .x-panel-header-noborder{border-bottom-color:#0000}.x-border-layout-ct{background-color:#fafafa}.x-accordion-hd{background-image:url(../images/modx-theme/panel/light-hd.gif);color:#222;font-weight:400}.x-layout-collapsed{background-color:#e4e4e4;border-color:#dfdfdf;width:7px!important}.x-layout-collapsed-over{background-color:#e6e6e6}.x-layout-split-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-split-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-split-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-layout-split-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-cmini-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-cmini-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-list-header{background-color:#f9f9f9;background-image:url(../images/modx-theme/grid/grid3-hrow.gif)}.x-list-header-inner div em{border-left-color:#dfdfdf}.x-list-body dt em,.x-list-header-inner div em{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-list-over{background-color:#eee}.x-list-selected{background-color:#e7e7e7}.x-list-resizer{border-left-color:#555;border-right-color:#555}.x-list-header-inner em.sort-asc,.x-list-header-inner em.sort-desc{background-image:url(../images/modx-theme/grid/sort-hd.gif);border-color:#dfdfdf}.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-bg.png)}.x-slider-horz .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-thumb.png)}.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-v-bg.png)}.x-slider-vert .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-v-thumb.png)}.x-portal .x-panel-tl .x-panel-header{background:none;font-size:14px;padding:8px 0}.x-portal .x-tool{margin-top:0}.x-portal .x-panel-body{font-weight:400;margin-bottom:5px;padding:0;text-transform:none}.x-portal-space{margin-bottom:5px}.x-grid3-body .x-grid3-td-checker{background-image:none!important}.modx-combo-desc{color:#515151;font-size:.9em;font-style:italic}.modx-combo-title{font-weight:700}.modx-grid-draggable .x-grid3-row{cursor:move}#modx-grid-deprecated-log .x-grid-group-hd div{height:auto}.actions button.primary-button,.primary-button.inline-button,.primary-button.x-btn,.primary-button.x-date-mp-cancel,.primary-button.x-date-mp-ok,.primary-button.x-form-trigger,.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn{background:#6cb24a;box-shadow:none;color:#fff;transition:background-color .2s ease-out}.actions button.x-btn-focus.primary-button:not(.x-btn-over),.x-btn-focus.primary-button.inline-button:not(.x-btn-over),.x-btn-focus.primary-button.x-btn:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.primary-button.x-form-trigger:not(.x-btn-over),.x-btn-focus.primary-button.x-superboxselect-item:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-focus.x-btn:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-focus.x-btn:not(.x-btn-over){background:#6cb24a;color:#fff}.actions button.primary-button:hover,.actions button.x-btn-over.primary-button,.primary-button.inline-button:hover,.primary-button.x-btn:hover,.primary-button.x-date-mp-cancel:hover,.primary-button.x-date-mp-ok:hover,.primary-button.x-form-trigger:hover,.primary-button.x-superboxselect-item:hover,.x-btn-over.primary-button.inline-button,.x-btn-over.primary-button.x-btn,.x-btn-over.primary-button.x-date-mp-cancel,.x-btn-over.primary-button.x-date-mp-ok,.x-btn-over.primary-button.x-form-trigger,.x-btn-over.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:hover,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:hover{background:#528738;box-shadow:none;color:#fff}.actions button.primary-button:active,.actions button.x-btn-click.primary-button,.primary-button.inline-button:active,.primary-button.x-btn:active,.primary-button.x-date-mp-cancel:active,.primary-button.x-date-mp-ok:active,.primary-button.x-form-trigger:active,.primary-button.x-superboxselect-item:active,.x-btn-click.primary-button.inline-button,.x-btn-click.primary-button.x-btn,.x-btn-click.primary-button.x-date-mp-cancel,.x-btn-click.primary-button.x-date-mp-ok,.x-btn-click.primary-button.x-form-trigger,.x-btn-click.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:active,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:active{background:#385c26;box-shadow:none;color:#fff}.actions button.x-item-disabled.primary-button,.x-item-disabled.primary-button.inline-button,.x-item-disabled.primary-button.x-btn,.x-item-disabled.primary-button.x-date-mp-cancel,.x-item-disabled.primary-button.x-date-mp-ok,.x-item-disabled.primary-button.x-form-trigger,.x-item-disabled.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-item-disabled.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-item-disabled.x-btn{background:#6cb24a;box-shadow:none;color:#fff;filter:alpha(opacity=60);opacity:.6}.actions button,.inline-button,.x-btn,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{zoom:1;background-color:#fff;background-repeat:no-repeat;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;color:#515151;cursor:pointer;display:inline-block;*display:inline;line-height:1;padding:10px 15px;position:relative;text-decoration:none;transition:background-color .2s ease-out}.actions .ext-webkit button em,.ext-webkit .actions button em,.ext-webkit .inline-button em,.ext-webkit .x-btn em,.ext-webkit .x-date-mp-cancel em,.ext-webkit .x-date-mp-ok em,.ext-webkit .x-form-trigger em,.ext-webkit .x-superboxselect-item em{font-size:0}.actions button button,.inline-button button,.x-btn button,.x-date-mp-cancel button,.x-date-mp-ok button,.x-date-picker .x-btn button,.x-form-trigger button,.x-superboxselect-item button{background-repeat:no-repeat;color:inherit;cursor:pointer;font-size:13px;font-style:normal;height:16px;line-height:1;min-width:100%;padding:0}.actions .ext-ie8 button button,.ext-ie8 .actions button button,.ext-ie8 .inline-button button,.ext-ie8 .x-btn button,.ext-ie8 .x-date-mp-cancel button,.ext-ie8 .x-date-mp-ok button,.ext-ie8 .x-form-trigger button,.ext-ie8 .x-superboxselect-item button{padding-top:0}.actions button .x-btn-arrow,.actions button .x-btn-split,.inline-button .x-btn-arrow,.inline-button .x-btn-split,.x-btn .x-btn-arrow,.x-btn .x-btn-split,.x-date-mp-cancel .x-btn-arrow,.x-date-mp-cancel .x-btn-split,.x-date-mp-ok .x-btn-arrow,.x-date-mp-ok .x-btn-split,.x-date-picker .x-btn .x-btn-arrow,.x-date-picker .x-btn .x-btn-split,.x-form-trigger .x-btn-arrow,.x-form-trigger .x-btn-split,.x-superboxselect-item .x-btn-arrow,.x-superboxselect-item .x-btn-split{display:block;padding-right:20px;position:relative}.actions button .x-btn-arrow:before,.actions button .x-btn-split:before,.inline-button .x-btn-arrow:before,.inline-button .x-btn-split:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before{color:inherit;content:"\f0d7";font-size:14px;margin-top:0;position:absolute;right:0;top:50%}.actions button .x-btn-arrow button,.actions button .x-btn-split button,.inline-button .x-btn-arrow button,.inline-button .x-btn-split button,.x-btn .x-btn-arrow button,.x-btn .x-btn-split button,.x-date-mp-cancel .x-btn-arrow button,.x-date-mp-cancel .x-btn-split button,.x-date-mp-ok .x-btn-arrow button,.x-date-mp-ok .x-btn-split button,.x-form-trigger .x-btn-arrow button,.x-form-trigger .x-btn-split button,.x-superboxselect-item .x-btn-arrow button,.x-superboxselect-item .x-btn-split button{border-right-color:inherit;border-right-style:solid;border-right-width:1px;padding-right:10px}.actions button.x-btn-focus:not(.x-btn-over),.x-btn-focus.inline-button:not(.x-btn-over),.x-btn-focus.x-btn:not(.x-btn-over),.x-btn-focus.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.x-form-trigger:not(.x-btn-over),.x-btn-focus.x-superboxselect-item:not(.x-btn-over){background:#fff;color:#515151}.actions button.x-btn-click,.actions button.x-btn-over,.actions button:active,.actions button:hover,.inline-button:active,.inline-button:hover,.x-btn-click.inline-button,.x-btn-click.x-btn,.x-btn-click.x-date-mp-cancel,.x-btn-click.x-date-mp-ok,.x-btn-click.x-form-trigger,.x-btn-click.x-superboxselect-item,.x-btn-over.inline-button,.x-btn-over.x-btn,.x-btn-over.x-date-mp-cancel,.x-btn-over.x-date-mp-ok,.x-btn-over.x-form-trigger,.x-btn-over.x-superboxselect-item,.x-btn:active,.x-btn:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:hover,.x-form-trigger:active,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:hover{background-color:#e4e4e4;box-shadow:#dcdcdc;color:#515151}.actions button.x-btn-menu-active .x-btn-split:before,.x-btn-menu-active.inline-button .x-btn-split:before,.x-btn-menu-active.x-btn .x-btn-split:before,.x-btn-menu-active.x-date-mp-cancel .x-btn-split:before,.x-btn-menu-active.x-date-mp-ok .x-btn-split:before,.x-btn-menu-active.x-form-trigger .x-btn-split:before,.x-btn-menu-active.x-superboxselect-item .x-btn-split:before{content:"\f0d8"}.actions button.x-item-disabled,.x-item-disabled.inline-button,.x-item-disabled.x-btn,.x-item-disabled.x-date-mp-cancel,.x-item-disabled.x-date-mp-ok,.x-item-disabled.x-form-trigger,.x-item-disabled.x-superboxselect-item{background-color:#fff;box-shadow:0 0 0 1px #e4e4e4;color:#1e1e1e;filter:alpha(opacity=60);opacity:.6}button{margin:2px}.x-panel-btns .x-btn{margin:0 0 0 7px}.actions{bottom:8px;margin:0;overflow:visible;position:absolute}.actions li{float:left;line-height:.7;margin-right:2px}.actions button,.inline-button,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{box-shadow:0 0 0 1px #dcdcdc;box-sizing:initial;padding:5px}.actions button:active,.actions button:focus,.actions button:hover,.inline-button:active,.inline-button:focus,.inline-button:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:focus,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:focus,.x-date-mp-ok:hover,.x-date-picker .x-btn:active,.x-date-picker .x-btn:focus,.x-date-picker .x-btn:hover,.x-form-trigger:active,.x-form-trigger:focus,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:focus,.x-superboxselect-item:hover{box-shadow:#999}.actions button.yellow,.inline-button.yellow,.x-date-mp-cancel.yellow,.x-date-mp-ok.yellow,.x-date-picker .x-btn.yellow,.x-form-trigger.yellow,.x-superboxselect-item.yellow{background:#fce588;box-shadow:0 0 0 1px #fce588;color:#515151!important}.actions button.yellow:focus,.actions button.yellow:hover,.inline-button.yellow:focus,.inline-button.yellow:hover,.x-date-mp-cancel.yellow:focus,.x-date-mp-cancel.yellow:hover,.x-date-mp-ok.yellow:focus,.x-date-mp-ok.yellow:hover,.x-date-picker .x-btn.yellow:focus,.x-date-picker .x-btn.yellow:hover,.x-form-trigger.yellow:focus,.x-form-trigger.yellow:hover,.x-superboxselect-item.yellow:focus,.x-superboxselect-item.yellow:hover{background:#fbe06f;box-shadow:0 0 0 1px #fbe06f}.actions button.yellow:active,.inline-button.yellow:active,.x-date-mp-cancel.yellow:active,.x-date-mp-ok.yellow:active,.x-date-picker .x-btn.yellow:active,.x-form-trigger.yellow:active,.x-superboxselect-item.yellow:active{background:#fbda56;box-shadow:0 0 0 1px #fbda56}.actions button.orange,.inline-button.orange,.x-date-mp-cancel.orange,.x-date-mp-ok.orange,.x-date-picker .x-btn.orange,.x-form-trigger.orange,.x-superboxselect-item.orange{background:#f0b429;box-shadow:0 0 0 1px #f0b429;color:#fff!important}.actions button.orange:focus,.actions button.orange:hover,.inline-button.orange:focus,.inline-button.orange:hover,.x-date-mp-cancel.orange:focus,.x-date-mp-cancel.orange:hover,.x-date-mp-ok.orange:focus,.x-date-mp-ok.orange:hover,.x-date-picker .x-btn.orange:focus,.x-date-picker .x-btn.orange:hover,.x-form-trigger.orange:focus,.x-form-trigger.orange:hover,.x-superboxselect-item.orange:focus,.x-superboxselect-item.orange:hover{background:#eeac11;box-shadow:0 0 0 1px #eeac11}.actions button.orange:active,.inline-button.orange:active,.x-date-mp-cancel.orange:active,.x-date-mp-ok.orange:active,.x-date-picker .x-btn.orange:active,.x-form-trigger.orange:active,.x-superboxselect-item.orange:active{background:#d79b0f;box-shadow:0 0 0 1px #d79b0f}.actions button.red,.inline-button.red,.x-date-mp-cancel.red,.x-date-mp-ok.red,.x-date-picker .x-btn.red,.x-form-trigger.red,.x-superboxselect-item.red{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff!important}.actions button.red:focus,.actions button.red:hover,.inline-button.red:focus,.inline-button.red:hover,.x-date-mp-cancel.red:focus,.x-date-mp-cancel.red:hover,.x-date-mp-ok.red:focus,.x-date-mp-ok.red:hover,.x-date-picker .x-btn.red:focus,.x-date-picker .x-btn.red:hover,.x-form-trigger.red:focus,.x-form-trigger.red:hover,.x-superboxselect-item.red:focus,.x-superboxselect-item.red:hover{background:#c11022;box-shadow:0 0 0 1px #c11022}.actions button.red:active,.inline-button.red:active,.x-date-mp-cancel.red:active,.x-date-mp-ok.red:active,.x-date-picker .x-btn.red:active,.x-form-trigger.red:active,.x-superboxselect-item.red:active{background:#b30f1f;box-shadow:0 0 0 1px #b30f1f}.actions button.green,.inline-button.green,.x-date-mp-cancel.green,.x-date-mp-ok.green,.x-date-picker .x-btn.green,.x-form-trigger.green,.x-superboxselect-item.green{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff!important}.actions button.green:focus,.actions button.green:hover,.inline-button.green:focus,.inline-button.green:hover,.x-date-mp-cancel.green:focus,.x-date-mp-cancel.green:hover,.x-date-mp-ok.green:focus,.x-date-mp-ok.green:hover,.x-date-picker .x-btn.green:focus,.x-date-picker .x-btn.green:hover,.x-form-trigger.green:focus,.x-form-trigger.green:hover,.x-superboxselect-item.green:focus,.x-superboxselect-item.green:hover{background:#61a043;box-shadow:0 0 0 1px #61a043}.actions button.green:active,.inline-button.green:active,.x-date-mp-cancel.green:active,.x-date-mp-ok.green:active,.x-date-picker .x-btn.green:active,.x-form-trigger.green:active,.x-superboxselect-item.green:active{background:#568e3b;box-shadow:0 0 0 1px #568e3b}.actions button.blue,.inline-button.blue,.x-date-mp-cancel.blue,.x-date-mp-ok.blue,.x-date-picker .x-btn.blue,.x-form-trigger.blue,.x-superboxselect-item.blue{background:#4a90e2;box-shadow:0 0 0 1px #4a90e2;color:#fff!important}.actions button.blue:focus,.actions button.blue:hover,.inline-button.blue:focus,.inline-button.blue:hover,.x-date-mp-cancel.blue:focus,.x-date-mp-cancel.blue:hover,.x-date-mp-ok.blue:focus,.x-date-mp-ok.blue:hover,.x-date-picker .x-btn.blue:focus,.x-date-picker .x-btn.blue:hover,.x-form-trigger.blue:focus,.x-form-trigger.blue:hover,.x-superboxselect-item.blue:focus,.x-superboxselect-item.blue:hover{background:#3483de;box-shadow:0 0 0 1px #3483de}.actions button.blue:active,.inline-button.blue:active,.x-date-mp-cancel.blue:active,.x-date-mp-ok.blue:active,.x-date-picker .x-btn.blue:active,.x-form-trigger.blue:active,.x-superboxselect-item.blue:active{background:#2275d7;box-shadow:0 0 0 1px #2275d7}.x-toolbar .x-form-field-trigger-wrap{background:#fff;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;cursor:pointer;line-height:1}.x-toolbar .x-form-field-trigger-wrap .x-form-text{background:#fff;border:0;margin:0!important}.x-toolbar .x-form-field-trigger-wrap .x-form-trigger:before{margin-top:0}.x-toolbar .x-form-field-trigger-wrap.x-trigger-wrap-focus{box-shadow:0 0 0 1px #999}html[dir=rtl] .x-toolbar-left table{float:right}.x-toolbar .x-toolbar-left-row .x-btn,.x-toolbar .x-toolbar-left-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-left-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-left-row td .x-btn{display:block}.x-toolbar .x-toolbar-left-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-left-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-left-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-left-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-right:0}.x-toolbar .x-toolbar-right-row .x-btn,.x-toolbar .x-toolbar-right-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-right-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-right-row td .x-btn{display:block}.x-toolbar .x-toolbar-right-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-right-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-right-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-right-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-left:0}.x-toolbar .x-form-text{border-radius:3px;font-size:13px!important;padding:8px 13px}.x-toolbar.x-small-editor .x-form-text{padding-top:8px}.x-toolbar .xtb-sep{margin:0;width:0}.x-tree .x-toolbar .x-btn{padding:7px}.x-tree .x-toolbar .x-btn-icon{box-shadow:none;padding:7px}.x-tree .x-toolbar .x-btn-icon.x-btn-over{background:none;box-shadow:none;color:#234368}.x-tree .x-toolbar .x-btn-icon.x-btn-click{background:none;box-shadow:none;color:#1b3451}.x-tree .x-toolbar .x-btn-icon:before{content:none}.x-tree .x-toolbar .x-toolbar-left-row .x-form-field-wrap,.x-tree .x-toolbar .x-toolbar-right-row .x-form-field-wrap{margin-left:6px!important;margin-right:6px}#modx-action-buttons{background:#f1f1f1;border:0;border-radius:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;left:auto;padding:.5rem 1rem;position:fixed;right:0;top:0;z-index:12}#modx-action-buttons .x-toolbar-cell{padding:.25rem}#modx-action-buttons .x-btn{margin:0}#modx-action-buttons #modx-abtn-menu .x-btn-split{padding:0}#modx-action-buttons #modx-abtn-menu .x-btn-split:before{display:none}#modx-action-buttons #modx-abtn-menu .x-btn-split .x-btn-text{border:none;padding:0}#modx-action-buttons .x-toolbar-left{zoom:1;width:auto!important}@media screen and (max-width:960px){#modx-action-buttons{background:#0000;border-radius:0;bottom:auto;left:auto;max-width:100%;padding:0 15px;position:relative;right:auto;top:auto}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-panel-welcome #modx-action-buttons{display:none}#modx-action-buttons .x-toolbar-cell{margin:5px;width:auto}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}.tab-panel-wrapper .x-panel-tbar .x-toolbar-left input,.tab-panel-wrapper .x-panel-tbar .x-toolbar-right input{box-sizing:border-box;height:auto!important;margin-left:0;width:100%}html.ext-strict body #modx-container .x-small-editor .x-form-text{height:auto!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-grid-element-properties .x-toolbar-left{margin-bottom:0}#modx-grid-element-properties .x-toolbar-cell>*{box-sizing:border-box;margin-left:auto;margin-right:auto;width:100%!important}}.x-btn-icon button{font-size:18px;height:18px;position:relative;width:18px}.x-btn-icon.arrow_up button{background:none!important;position:relative}.x-btn-icon.arrow_up button:before{bottom:auto;content:"\f3bf";top:1px}.x-btn-icon.arrow_down button{background:none!important;position:relative}.x-btn-icon.arrow_down button:before{bottom:auto;content:"\f3be";top:1px}.x-btn-icon.refresh button{background:none!important;position:relative}.x-btn-icon.refresh button:before{bottom:auto;content:"\f021";top:1px}.x-btn-icon.icon-folder button:before{content:"\f07b"}.x-btn-icon.icon-page_white button:before{content:"\f15c"}.x-btn-icon.icon-file_upload button:before{content:"\f35b"}.x-btn-icon.icon-file_manager button:before{content:"\f14d"}.x-btn-text-icon button{padding-left:20px!important}.x-html-editor-tb .x-btn{background-color:initial;background-image:none;border:0;box-shadow:none;margin:0}.x-html-editor-tb .x-btn-over{border:0}.x-btn-group{border:1px solid #dbe0e4;border-radius:3px;margin-right:2px;padding:0}.x-btn-group .x-btn{background-color:initial;background-image:none;border:1px solid #0000;box-shadow:0 0 1px #0000}.x-btn-group .x-btn button{color:#868b8f;height:auto!important}.x-btn-group .x-btn-over{background:#dfdfdf;background:#f0f0f0;border:1px solid #dbe0e4}.x-btn-group .x-btn-over button{color:#5b7a98}.x-btn-group .x-btn-click{background-color:#fff;background-image:none;box-shadow:inset 0 0 3px #aaa;margin:0 2px 0 0}.x-btn-group-bwrap{padding:1px 0 0}.x-btn-group-header{background-color:#dbe0e4;color:#73797f;text-shadow:0 1px 0 #fafafa}.x-btn-group-tl,.x-btn-group-tr{background-image:none;padding:0}.x-btn-group-bc,.x-btn-group-bl,.x-btn-group-br,.x-btn-group-ml,.x-btn-group-tc{background-image:none}.x-btn-group-ml{padding-left:1px}.x-btn-group-mr{background-image:none;padding-right:1px}.x-btn em.x-btn-arrow-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-btn em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b.gif)}.x-btn-click em.x-btn-split-bottom,.x-btn-menu-active em.x-btn-split-bottom,.x-btn-over em.x-btn-split-bottom,.x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.x-btn-group-notitle .x-btn-group-tc{background-image:url(../images/modx-theme/button/group-tb.gif)}#modx-leftbar .x-toolbar-ct .x-btn{background:#f1f1f1;border:none;box-shadow:none;color:#515151;display:inline-block;filter:alpha(opacity=100);height:30px;margin:0 3px;opacity:1;padding:0;position:relative;width:25px}#modx-leftbar .x-toolbar-ct .x-btn>em>button{font-size:18px;height:24px;left:2px;overflow:visible;position:absolute;text-shadow:none;top:4px}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over,#modx-leftbar .x-toolbar-ct .x-btn:active,#modx-leftbar .x-toolbar-ct .x-btn:focus,#modx-leftbar .x-toolbar-ct .x-btn:hover{background:none;box-shadow:none;color:#234368}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over button,#modx-leftbar .x-toolbar-ct .x-btn:active button,#modx-leftbar .x-toolbar-ct .x-btn:focus button,#modx-leftbar .x-toolbar-ct .x-btn:hover button{color:inherit}#modx-leftbar .x-toolbar-ct .x-btn span{vertical-align:middle}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn>em>button{font-size:20px}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled{color:#919191!important;filter:alpha(opacity=60); + */@font-face{font-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype"),url(../fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}.fab{font-family:Font Awesome\ 5 Brands}.icon.icon-glass:before{content:"\f000"}.icon.icon-meetup{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-star-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-o:before{content:"\f005"}.icon.icon-close:before,.icon.icon-remove:before{content:"\f00d"}.icon.icon-gear:before{content:"\f013"}.icon.icon-trash-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-trash-o:before{content:"\f2ed"}.icon.icon-file-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-o:before{content:"\f15b"}.icon.icon-clock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-clock-o:before{content:"\f017"}.icon.icon-arrow-circle-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-down:before{content:"\f358"}.icon.icon-arrow-circle-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-up:before{content:"\f35b"}.icon.icon-play-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-play-circle-o:before{content:"\f144"}.icon.icon-repeat:before,.icon.icon-rotate-right:before{content:"\f01e"}.icon.icon-refresh:before{content:"\f021"}.icon.icon-list-alt{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-dedent:before{content:"\f03b"}.icon.icon-video-camera:before{content:"\f03d"}.icon.icon-picture-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-picture-o:before{content:"\f03e"}.icon.icon-photo{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-photo:before{content:"\f03e"}.icon.icon-image{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-image:before{content:"\f03e"}.icon.icon-pencil:before{content:"\f303"}.icon.icon-map-marker:before{content:"\f3c5"}.icon.icon-pencil-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-pencil-square-o:before{content:"\f044"}.icon.icon-share-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-share-square-o:before{content:"\f14d"}.icon.icon-check-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-check-square-o:before{content:"\f14a"}.icon.icon-arrows:before{content:"\f0b2"}.icon.icon-times-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-circle-o:before{content:"\f057"}.icon.icon-check-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-check-circle-o:before{content:"\f058"}.icon.icon-mail-forward:before{content:"\f064"}.icon.icon-expand:before{content:"\f424"}.icon.icon-compress:before{content:"\f422"}.icon.icon-eye,.icon.icon-eye-slash{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-warning:before{content:"\f071"}.icon.icon-calendar:before{content:"\f073"}.icon.icon-arrows-v:before{content:"\f338"}.icon.icon-arrows-h:before{content:"\f337"}.icon.icon-bar-chart{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bar-chart:before{content:"\f080"}.icon.icon-bar-chart-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bar-chart-o:before{content:"\f080"}.icon.icon-facebook-square,.icon.icon-twitter-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-gears:before{content:"\f085"}.icon.icon-thumbs-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-thumbs-o-up:before{content:"\f164"}.icon.icon-thumbs-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-thumbs-o-down:before{content:"\f165"}.icon.icon-heart-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-heart-o:before{content:"\f004"}.icon.icon-sign-out:before{content:"\f2f5"}.icon.icon-linkedin-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-linkedin-square:before{content:"\f08c"}.icon.icon-thumb-tack:before{content:"\f08d"}.icon.icon-external-link:before{content:"\f35d"}.icon.icon-sign-in:before{content:"\f2f6"}.icon.icon-github-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-lemon-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-lemon-o:before{content:"\f094"}.icon.icon-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-square-o:before{content:"\f0c8"}.icon.icon-bookmark-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bookmark-o:before{content:"\f02e"}.icon.icon-facebook,.icon.icon-twitter{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook:before{content:"\f39e"}.icon.icon-facebook-f{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook-f:before{content:"\f39e"}.icon.icon-github{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-credit-card{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-feed:before{content:"\f09e"}.icon.icon-hdd-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hdd-o:before{content:"\f0a0"}.icon.icon-hand-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-right:before{content:"\f0a4"}.icon.icon-hand-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-left:before{content:"\f0a5"}.icon.icon-hand-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-up:before{content:"\f0a6"}.icon.icon-hand-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-o-down:before{content:"\f0a7"}.icon.icon-arrows-alt:before{content:"\f31e"}.icon.icon-group:before{content:"\f0c0"}.icon.icon-chain:before{content:"\f0c1"}.icon.icon-scissors:before{content:"\f0c4"}.icon.icon-files-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-files-o:before{content:"\f0c5"}.icon.icon-floppy-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-floppy-o:before{content:"\f0c7"}.icon.icon-navicon:before,.icon.icon-reorder:before{content:"\f0c9"}.icon.icon-google-plus,.icon.icon-google-plus-square,.icon.icon-pinterest,.icon.icon-pinterest-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus:before{content:"\f0d5"}.icon.icon-money{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-money:before{content:"\f3d1"}.icon.icon-unsorted:before{content:"\f0dc"}.icon.icon-sort-desc:before{content:"\f0dd"}.icon.icon-sort-asc:before{content:"\f0de"}.icon.icon-linkedin{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-linkedin:before{content:"\f0e1"}.icon.icon-rotate-left:before{content:"\f0e2"}.icon.icon-legal:before{content:"\f0e3"}.icon.icon-dashboard:before,.icon.icon-tachometer:before{content:"\f3fd"}.icon.icon-comment-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-comment-o:before{content:"\f075"}.icon.icon-comments-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-comments-o:before{content:"\f086"}.icon.icon-flash:before{content:"\f0e7"}.icon.icon-clipboard,.icon.icon-paste{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-paste:before{content:"\f328"}.icon.icon-lightbulb-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-lightbulb-o:before{content:"\f0eb"}.icon.icon-exchange:before{content:"\f362"}.icon.icon-cloud-download:before{content:"\f381"}.icon.icon-cloud-upload:before{content:"\f382"}.icon.icon-bell-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bell-o:before{content:"\f0f3"}.icon.icon-cutlery:before{content:"\f2e7"}.icon.icon-file-text-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-text-o:before{content:"\f15c"}.icon.icon-building-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-building-o:before{content:"\f1ad"}.icon.icon-hospital-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hospital-o:before{content:"\f0f8"}.icon.icon-tablet:before{content:"\f3fa"}.icon.icon-mobile-phone:before,.icon.icon-mobile:before{content:"\f3cd"}.icon.icon-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-circle-o:before{content:"\f111"}.icon.icon-mail-reply:before{content:"\f3e5"}.icon.icon-github-alt{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-folder-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-folder-o:before{content:"\f07b"}.icon.icon-folder-open-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-folder-open-o:before{content:"\f07c"}.icon.icon-smile-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-smile-o:before{content:"\f118"}.icon.icon-frown-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-frown-o:before{content:"\f119"}.icon.icon-meh-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-meh-o:before{content:"\f11a"}.icon.icon-keyboard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-keyboard-o:before{content:"\f11c"}.icon.icon-flag-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-flag-o:before{content:"\f024"}.icon.icon-mail-reply-all:before{content:"\f122"}.icon.icon-star-half-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-o:before{content:"\f089"}.icon.icon-star-half-empty{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-empty:before{content:"\f089"}.icon.icon-star-half-full{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-star-half-full:before{content:"\f089"}.icon.icon-code-fork:before{content:"\f126"}.icon.icon-chain-broken:before{content:"\f127"}.icon.icon-shield:before{content:"\f3ed"}.icon.icon-calendar-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-o:before{content:"\f133"}.icon.icon-css3,.icon.icon-html5,.icon.icon-maxcdn{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ticket:before{content:"\f3ff"}.icon.icon-minus-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-minus-square-o:before{content:"\f146"}.icon.icon-level-up:before{content:"\f3bf"}.icon.icon-level-down:before{content:"\f3be"}.icon.icon-pencil-square:before{content:"\f14b"}.icon.icon-external-link-square:before{content:"\f360"}.icon.icon-compass{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-down:before{content:"\f150"}.icon.icon-toggle-down{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-down:before{content:"\f150"}.icon.icon-caret-square-o-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-up:before{content:"\f151"}.icon.icon-toggle-up{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-up:before{content:"\f151"}.icon.icon-caret-square-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-right:before{content:"\f152"}.icon.icon-toggle-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-right:before{content:"\f152"}.icon.icon-eur:before,.icon.icon-euro:before{content:"\f153"}.icon.icon-gbp:before{content:"\f154"}.icon.icon-dollar:before,.icon.icon-usd:before{content:"\f155"}.icon.icon-inr:before,.icon.icon-rupee:before{content:"\f156"}.icon.icon-cny:before,.icon.icon-jpy:before,.icon.icon-rmb:before,.icon.icon-yen:before{content:"\f157"}.icon.icon-rouble:before,.icon.icon-rub:before,.icon.icon-ruble:before{content:"\f158"}.icon.icon-krw:before,.icon.icon-won:before{content:"\f159"}.icon.icon-bitcoin,.icon.icon-btc{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bitcoin:before{content:"\f15a"}.icon.icon-file-text:before{content:"\f15c"}.icon.icon-sort-alpha-asc:before{content:"\f15d"}.icon.icon-sort-alpha-desc:before{content:"\f881"}.icon.icon-sort-amount-asc:before{content:"\f160"}.icon.icon-sort-amount-desc:before{content:"\f884"}.icon.icon-sort-numeric-asc:before{content:"\f162"}.icon.icon-sort-numeric-desc:before{content:"\f886"}.icon.icon-xing,.icon.icon-xing-square,.icon.icon-youtube,.icon.icon-youtube-play,.icon.icon-youtube-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-youtube-play:before{content:"\f167"}.icon.icon-adn,.icon.icon-bitbucket,.icon.icon-bitbucket-square,.icon.icon-dropbox,.icon.icon-flickr,.icon.icon-instagram,.icon.icon-stack-overflow{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bitbucket-square:before{content:"\f171"}.icon.icon-tumblr,.icon.icon-tumblr-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-long-arrow-down:before{content:"\f309"}.icon.icon-long-arrow-up:before{content:"\f30c"}.icon.icon-long-arrow-left:before{content:"\f30a"}.icon.icon-long-arrow-right:before{content:"\f30b"}.icon.icon-android,.icon.icon-apple,.icon.icon-dribbble,.icon.icon-foursquare,.icon.icon-gittip,.icon.icon-gratipay,.icon.icon-linux,.icon.icon-skype,.icon.icon-trello,.icon.icon-windows{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-gittip:before{content:"\f184"}.icon.icon-sun-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-sun-o:before{content:"\f185"}.icon.icon-moon-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-moon-o:before{content:"\f186"}.icon.icon-pagelines,.icon.icon-renren,.icon.icon-stack-exchange,.icon.icon-vk,.icon.icon-weibo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-arrow-circle-o-right{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-right:before{content:"\f35a"}.icon.icon-arrow-circle-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-arrow-circle-o-left:before{content:"\f359"}.icon.icon-caret-square-o-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-caret-square-o-left:before{content:"\f191"}.icon.icon-toggle-left{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-toggle-left:before{content:"\f191"}.icon.icon-dot-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-dot-circle-o:before{content:"\f192"}.icon.icon-vimeo-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-try:before,.icon.icon-turkish-lira:before{content:"\f195"}.icon.icon-plus-square-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-plus-square-o:before{content:"\f0fe"}.icon.icon-openid,.icon.icon-slack,.icon.icon-wordpress{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bank:before,.icon.icon-institution:before{content:"\f19c"}.icon.icon-mortar-board:before{content:"\f19d"}.icon.icon-delicious,.icon.icon-digg,.icon.icon-drupal,.icon.icon-google,.icon.icon-joomla,.icon.icon-pied-piper-alt,.icon.icon-pied-piper-pp,.icon.icon-reddit,.icon.icon-reddit-square,.icon.icon-stumbleupon,.icon.icon-stumbleupon-circle,.icon.icon-yahoo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-spoon:before{content:"\f2e5"}.icon.icon-behance,.icon.icon-behance-square,.icon.icon-steam,.icon.icon-steam-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-automobile:before{content:"\f1b9"}.icon.icon-envelope-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-envelope-o:before{content:"\f0e0"}.icon.icon-deviantart,.icon.icon-soundcloud,.icon.icon-spotify{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-file-pdf-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-pdf-o:before{content:"\f1c1"}.icon.icon-file-word-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-word-o:before{content:"\f1c2"}.icon.icon-file-excel-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-excel-o:before{content:"\f1c3"}.icon.icon-file-powerpoint-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-powerpoint-o:before{content:"\f1c4"}.icon.icon-file-image-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-image-o:before{content:"\f1c5"}.icon.icon-file-photo-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-photo-o:before{content:"\f1c5"}.icon.icon-file-picture-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-picture-o:before{content:"\f1c5"}.icon.icon-file-archive-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-archive-o:before{content:"\f1c6"}.icon.icon-file-zip-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-zip-o:before{content:"\f1c6"}.icon.icon-file-audio-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-audio-o:before{content:"\f1c7"}.icon.icon-file-sound-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-sound-o:before{content:"\f1c7"}.icon.icon-file-video-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-video-o:before{content:"\f1c8"}.icon.icon-file-movie-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-movie-o:before{content:"\f1c8"}.icon.icon-file-code-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-file-code-o:before{content:"\f1c9"}.icon.icon-codepen,.icon.icon-jsfiddle,.icon.icon-vine{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-life-bouy,.icon.icon-life-ring{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-bouy:before{content:"\f1cd"}.icon.icon-life-buoy{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-buoy:before{content:"\f1cd"}.icon.icon-life-saver{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-life-saver:before{content:"\f1cd"}.icon.icon-support{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-support:before{content:"\f1cd"}.icon.icon-circle-o-notch:before{content:"\f1ce"}.icon.icon-ra,.icon.icon-rebel{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ra:before{content:"\f1d0"}.icon.icon-resistance{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-resistance:before{content:"\f1d0"}.icon.icon-empire,.icon.icon-ge{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-ge:before{content:"\f1d1"}.icon.icon-git,.icon.icon-git-square,.icon.icon-hacker-news,.icon.icon-y-combinator-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-y-combinator-square:before{content:"\f1d4"}.icon.icon-yc-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-yc-square:before{content:"\f1d4"}.icon.icon-qq,.icon.icon-tencent-weibo,.icon.icon-wechat,.icon.icon-weixin{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-wechat:before{content:"\f1d7"}.icon.icon-send:before{content:"\f1d8"}.icon.icon-paper-plane-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-paper-plane-o:before{content:"\f1d8"}.icon.icon-send-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-send-o:before{content:"\f1d8"}.icon.icon-circle-thin{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-circle-thin:before{content:"\f111"}.icon.icon-header:before{content:"\f1dc"}.icon.icon-sliders:before{content:"\f1de"}.icon.icon-futbol-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-futbol-o:before{content:"\f1e3"}.icon.icon-soccer-ball-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-soccer-ball-o:before{content:"\f1e3"}.icon.icon-slideshare,.icon.icon-twitch,.icon.icon-yelp{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-newspaper-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-newspaper-o:before{content:"\f1ea"}.icon.icon-cc-amex,.icon.icon-cc-discover,.icon.icon-cc-mastercard,.icon.icon-cc-paypal,.icon.icon-cc-stripe,.icon.icon-cc-visa,.icon.icon-google-wallet,.icon.icon-paypal{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-bell-slash-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-bell-slash-o:before{content:"\f1f6"}.icon.icon-trash:before{content:"\f2ed"}.icon.icon-copyright{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-eyedropper:before{content:"\f1fb"}.icon.icon-area-chart:before{content:"\f1fe"}.icon.icon-pie-chart:before{content:"\f200"}.icon.icon-line-chart:before{content:"\f201"}.icon.icon-angellist,.icon.icon-ioxhost,.icon.icon-lastfm,.icon.icon-lastfm-square{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-cc{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-cc:before{content:"\f20a"}.icon.icon-ils:before,.icon.icon-shekel:before,.icon.icon-sheqel:before{content:"\f20b"}.icon.icon-meanpath{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-meanpath:before{content:"\f2b4"}.icon.icon-buysellads,.icon.icon-connectdevelop,.icon.icon-dashcube,.icon.icon-forumbee,.icon.icon-leanpub,.icon.icon-sellsy,.icon.icon-shirtsinbulk,.icon.icon-simplybuilt,.icon.icon-skyatlas{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-diamond{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-diamond:before{content:"\f3a5"}.icon.icon-intersex:before{content:"\f224"}.icon.icon-facebook-official{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-facebook-official:before{content:"\f09a"}.icon.icon-pinterest-p,.icon.icon-whatsapp{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-hotel:before{content:"\f236"}.icon.icon-medium,.icon.icon-viacoin,.icon.icon-y-combinator,.icon.icon-yc{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-yc:before{content:"\f23b"}.icon.icon-expeditedssl,.icon.icon-opencart,.icon.icon-optin-monster{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-battery-4:before,.icon.icon-battery:before{content:"\f240"}.icon.icon-battery-3:before{content:"\f241"}.icon.icon-battery-2:before{content:"\f242"}.icon.icon-battery-1:before{content:"\f243"}.icon.icon-battery-0:before{content:"\f244"}.icon.icon-object-group,.icon.icon-object-ungroup,.icon.icon-sticky-note-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-sticky-note-o:before{content:"\f249"}.icon.icon-cc-diners-club,.icon.icon-cc-jcb{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-clone,.icon.icon-hourglass-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hourglass-o:before{content:"\f254"}.icon.icon-hourglass-1:before{content:"\f251"}.icon.icon-hourglass-2:before{content:"\f252"}.icon.icon-hourglass-3:before{content:"\f253"}.icon.icon-hand-rock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-rock-o:before{content:"\f255"}.icon.icon-hand-grab-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-grab-o:before{content:"\f255"}.icon.icon-hand-paper-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-paper-o:before{content:"\f256"}.icon.icon-hand-stop-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-stop-o:before{content:"\f256"}.icon.icon-hand-scissors-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-scissors-o:before{content:"\f257"}.icon.icon-hand-lizard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-lizard-o:before{content:"\f258"}.icon.icon-hand-spock-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-spock-o:before{content:"\f259"}.icon.icon-hand-pointer-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-pointer-o:before{content:"\f25a"}.icon.icon-hand-peace-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-hand-peace-o:before{content:"\f25b"}.icon.icon-registered{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-chrome,.icon.icon-creative-commons,.icon.icon-firefox,.icon.icon-get-pocket,.icon.icon-gg,.icon.icon-gg-circle,.icon.icon-internet-explorer,.icon.icon-odnoklassniki,.icon.icon-odnoklassniki-square,.icon.icon-opera,.icon.icon-safari,.icon.icon-tripadvisor,.icon.icon-wikipedia-w{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-television:before{content:"\f26c"}.icon.icon-500px,.icon.icon-amazon,.icon.icon-contao{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-calendar-plus-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-plus-o:before{content:"\f271"}.icon.icon-calendar-minus-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-minus-o:before{content:"\f272"}.icon.icon-calendar-times-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-times-o:before{content:"\f273"}.icon.icon-calendar-check-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-calendar-check-o:before{content:"\f274"}.icon.icon-map-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-map-o:before{content:"\f279"}.icon.icon-commenting:before{content:"\f4ad"}.icon.icon-commenting-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-commenting-o:before{content:"\f4ad"}.icon.icon-houzz,.icon.icon-vimeo{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-vimeo:before{content:"\f27d"}.icon.icon-black-tie,.icon.icon-edge,.icon.icon-fonticons,.icon.icon-reddit-alien{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-credit-card-alt:before{content:"\f09d"}.icon.icon-codiepie,.icon.icon-fort-awesome,.icon.icon-mixcloud,.icon.icon-modx,.icon.icon-product-hunt,.icon.icon-scribd,.icon.icon-usb{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-pause-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-pause-circle-o:before{content:"\f28b"}.icon.icon-stop-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-stop-circle-o:before{content:"\f28d"}.icon.icon-bluetooth,.icon.icon-bluetooth-b,.icon.icon-envira,.icon.icon-gitlab,.icon.icon-wheelchair-alt,.icon.icon-wpbeginner,.icon.icon-wpforms{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-wheelchair-alt:before{content:"\f368"}.icon.icon-question-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-question-circle-o:before{content:"\f059"}.icon.icon-volume-control-phone:before{content:"\f2a0"}.icon.icon-asl-interpreting:before{content:"\f2a3"}.icon.icon-deafness:before,.icon.icon-hard-of-hearing:before{content:"\f2a4"}.icon.icon-glide,.icon.icon-glide-g{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-signing:before{content:"\f2a7"}.icon.icon-first-order,.icon.icon-google-plus-official,.icon.icon-pied-piper,.icon.icon-snapchat,.icon.icon-snapchat-ghost,.icon.icon-snapchat-square,.icon.icon-themeisle,.icon.icon-viadeo,.icon.icon-viadeo-square,.icon.icon-yoast{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus-official:before{content:"\f2b3"}.icon.icon-google-plus-circle{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-google-plus-circle:before{content:"\f2b3"}.icon.icon-fa,.icon.icon-font-awesome{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-fa:before{content:"\f2b4"}.icon.icon-handshake-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-handshake-o:before{content:"\f2b5"}.icon.icon-envelope-open-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-envelope-open-o:before{content:"\f2b6"}.icon.icon-linode{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-address-book-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-address-book-o:before{content:"\f2b9"}.icon.icon-vcard:before{content:"\f2bb"}.icon.icon-address-card-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-address-card-o:before{content:"\f2bb"}.icon.icon-vcard-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-vcard-o:before{content:"\f2bb"}.icon.icon-user-circle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-user-circle-o:before{content:"\f2bd"}.icon.icon-user-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-user-o:before{content:"\f007"}.icon.icon-id-badge{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-drivers-license:before{content:"\f2c2"}.icon.icon-id-card-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-id-card-o:before{content:"\f2c2"}.icon.icon-drivers-license-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-drivers-license-o:before{content:"\f2c2"}.icon.icon-free-code-camp,.icon.icon-quora,.icon.icon-telegram{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-thermometer-4:before,.icon.icon-thermometer:before{content:"\f2c7"}.icon.icon-thermometer-3:before{content:"\f2c8"}.icon.icon-thermometer-2:before{content:"\f2c9"}.icon.icon-thermometer-1:before{content:"\f2ca"}.icon.icon-thermometer-0:before{content:"\f2cb"}.icon.icon-bathtub:before,.icon.icon-s15:before{content:"\f2cd"}.icon.icon-window-maximize,.icon.icon-window-restore{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-rectangle:before{content:"\f410"}.icon.icon-window-close-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-window-close-o:before{content:"\f410"}.icon.icon-times-rectangle-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-times-rectangle-o:before{content:"\f410"}.icon.icon-bandcamp,.icon.icon-eercast,.icon.icon-etsy,.icon.icon-grav,.icon.icon-imdb,.icon.icon-ravelry{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-eercast:before{content:"\f2da"}.icon.icon-snowflake-o{font-family:Font Awesome\ 5 Free;font-weight:400}.icon.icon-snowflake-o:before{content:"\f2dc"}.icon.icon-superpowers,.icon.icon-wpexplorer{font-family:Font Awesome\ 5 Brands;font-weight:400}.icon.icon-cab:before{content:"\f1ba"}#modx-navbar #modx-topnav{margin-left:auto;margin-right:auto;max-width:1200px}#modx-navbar #modx-topnav:after{clear:both;content:"";display:block}#modx-footer .modx-subnav li.sub:after,#modx-header .modx-subnav li.sub:after,#modx-leftbar-header a:after,.actions button .x-btn-arrow:before,.actions button .x-btn-split:before,.crumb_wrapper .crumbs li.first:before,.desc-under .copy-this:hover:after,.desc-under .example-list ul li:before,.ext-mb-icon:before,.home-panel ol li:hover button:before,.icon,.icon-3gp:before,.icon-7z:before,.icon-aac:before,.icon-access:before,.icon-aif:before,.icon-aiff:before,.icon-as:before,.icon-avi:before,.icon-backup:before,.icon-bak:before,.icon-bat:before,.icon-bk:before,.icon-bmp:before,.icon-bz2:before,.icon-cal:before,.icon-cfm:before,.icon-coffeescript:before,.icon-css:before,.icon-csv:before,.icon-db:before,.icon-dmg:before,.icon-doc:before,.icon-docx:before,.icon-fla:before,.icon-flac:before,.icon-flv:before,.icon-folder:before,.icon-gif:before,.icon-gz:before,.icon-htaccess:before,.icon-htm:before,.icon-html:before,.icon-ical:before,.icon-ics:before,.icon-iso:before,.icon-jar:before,.icon-java:before,.icon-jpeg:before,.icon-jpg:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-lock,.icon-log:before,.icon-m4a:before,.icon-m4v:before,.icon-mov:before,.icon-mp3:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-ogg:before,.icon-pdf:before,.icon-php:before,.icon-png:before,.icon-ppt:before,.icon-pptx:before,.icon-rar:before,.icon-rb:before,.icon-rss:before,.icon-scr:before,.icon-scss:before,.icon-sh:before,.icon-sql:before,.icon-styl:before,.icon-svg:before,.icon-swf:before,.icon-tar:before,.icon-tgz:before,.icon-tiff:before,.icon-txt:before,.icon-vcs:before,.icon-wav:before,.icon-wma:before,.icon-wmv:before,.icon-xls:before,.icon-xlsx:before,.icon-xml:before,.icon-zip:before,.inline-button .x-btn-arrow:before,.inline-button .x-btn-split:before,.locked-resource:before,.modx-browser-detail-thumb.preview:before,.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before,.modx-header-breadcrumbs ul li:after,.modx-manager-search-results .loading-indicator:before,.modx-status-msg:after,.modx-tv .resizable:after,.modx-tv .resizable:before,.parent-resource:before,.tree-context:before,.tree-new-category>em>button:before,.tree-new-chunk>em>button:before,.tree-new-plugin>em>button:before,.tree-new-resource>em>button:before,.tree-new-snippet>em>button:before,.tree-new-static-resource>em>button:before,.tree-new-symlink>em>button:before,.tree-new-template>em>button:before,.tree-new-tv>em>button:before,.tree-new-weblink>em>button:before,.tree-resource:before,.tree-static-resource:before,.tree-symlink:before,.tree-trash>em>button:before,.tree-weblink:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.icon-file_manager button:before,.x-btn-icon.icon-file_upload button:before,.x-btn-icon.icon-folder button:before,.x-btn-icon.icon-page_white button:before,.x-btn-icon.refresh button:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-left a:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before,.x-form-field-wrap .x-form-trigger:before,.x-form-invalid-msg:before,.x-form-item .x-form-element .x-form-invalid-icon:before,.x-form-item label.x-form-item-label .modx-field-utils:before,.x-form-item label.x-form-item-label .modx-tv-reset:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-grid3-check-col-on:before,.x-grid3-check-col:before,.x-grid3-hd-btn:before,.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before,.x-grid3-row-collapsed .x-grid3-row-expander:before,.x-grid3-row-expanded .x-grid3-row-expander:before,.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before,.x-grid-group-hd div.x-grid-group-title:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before,.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before,.x-tab-scroller-left:before,.x-tab-scroller-right:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before,.x-tool:after,.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before,.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900}.crumb_wrapper .crumbs li.first:before,.x-btn-icon.arrow_down button:before,.x-btn-icon.arrow_up button:before,.x-btn-icon.refresh button:before,.x-tbar-loading:before,.x-tbar-page-first:before,.x-tbar-page-last:before,.x-tbar-page-next:before,.x-tbar-page-prev:before{bottom:0;color:inherit;font-size:14px;height:100%;left:0;line-height:100%;position:absolute;right:0;text-align:center;top:0;width:100%}#modx-tv-tabs .lt-ie8{*zoom:1}#modx-tv-tabs:after,#modx-tv-tabs:before{content:" ";display:table}#modx-tv-tabs:after{clear:both}.x-splitbar-proxy{background-color:#aaa}.x-color-palette a{border-color:#fff}.x-color-palette a.x-color-palette-sel,.x-color-palette a:hover{background-color:#ebebeb;border-color:#b4b4b4}.x-color-palette em{border-color:#aca899}.loading-indicator{background-image:url(../images/modx-theme/grid/loading.gif);font-size:11px}.x-spotlight{background-color:#ccc}.ext-ie7 .x-plain-body{position:relative}.x-statusbar .x-status-busy{background-image:url(../images/modx-theme/grid/loading.gif)}.x-statusbar .x-status-text-panel{border-color:#dfdfdf #fff #fff #dfdfdf}.x-resizable-handle-southeast{bottom:1px;right:1px}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background-image:url(../images/modx-theme/sizer/e-handle.gif)}.x-resizable-over .x-resizable-handle-north,.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-south{background-image:url(../images/modx-theme/sizer/s-handle.gif)}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background-image:url(../images/modx-theme/sizer/se-handle.gif)}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background-image:url(../images/modx-theme/sizer/nw-handle.gif)}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background-image:url(../images/modx-theme/sizer/ne-handle.gif)}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background-image:url(../images/modx-theme/sizer/sw-handle.gif)}.x-resizable-proxy{border-color:#575757}.x-resizable-overlay{background-color:#fff}.x-grid3{background-color:initial;background-image:none;border:1px solid #e4e9ee;border-radius:3px;overflow:hidden;padding:0}.x-grid-panel .x-panel-mc .x-panel-body{border:0}.x-grid3-hd-row td,.x-grid3-row td,.x-grid3-summary-row td{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-row td,.x-grid3-summary-row td{border-left:1px solid #0000;padding-left:0}.x-grid3-hd-row td{border-left:1px solid #fff;border-right:none;text-align:initial}.x-grid3-hd-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-cell-first,.x-grid3-row td.x-grid3-summary-first{border-left:0}.x-grid3-hd-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-cell-last,.x-grid3-row td.x-grid3-summary-last{border-right:0}.x-grid-row-loading{background-color:#fff;background-image:url(../images/modx-theme/shared/loading-balls.gif)}.x-grid3-row{border-color:#fff #fff #efefef}.x-grid3-row.highlight-inserted{background-color:#dce0ea}.x-grid3-row-expanded .x-grid3-row-body{word-wrap:break-word;color:#888;margin:0 2px 0 -20px;padding:0 25px 15px}.x-grid3-row-expanded .x-grid3-row-body .desc{word-wrap:break-word}.x-grid3-row-alt{background-color:#f5f6f9}.x-panel-body-noheader .x-grid3-row{border-color:#0000}.x-panel-body-noheader .x-grid3-row-alt{border-bottom:1px solid #eaeaea;border-top:1px solid #eaeaea}.x-panel-body-noheader .x-grid3-row-alt .x-grid3-row-table{border-top:1px solid #0000}.x-grid3-row-over{background-color:#e0e8ef;background-image:none;border-bottom:1px solid #d1d9df}.x-grid3-resize-marker,.x-grid3-resize-proxy{background-color:#777}.x-grid3-header{background:#fff;border-bottom:1px solid #e4e9ee!important;padding:0}.x-panel-body-noheader .x-grid3-header{border:none}.x-grid3-header-offset{padding-left:0}.x-grid3-header .x-grid3-hd-row td{color:dimgray;font-weight:700;text-align:initial}.x-grid3-header-pop{border-left-color:#dfdfdf}.x-grid3-header-pop-inner{background-image:url(../images/modx-theme/grid/hd-pop.gif);border-left-color:#eee}td.sort-asc,td.sort-desc,td.x-grid3-hd-menu-open,td.x-grid3-hd-over{background:#fff;border-left-color:#fff}td.sort-asc .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner,td.x-grid3-hd-over .x-grid3-hd-inner{color:#696969}.sort-asc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_asc.gif)}.sort-desc .x-grid3-sort-icon{background-image:url(../images/modx-theme/grid/sort_desc.gif)}.x-panel-body-noheader .x-grid3-body{background-color:#fff}.x-grid3-cell-text,.x-grid3-hd-text{color:#515151}.x-grid3-split{background-image:url(../images/modx-theme/grid/grid-split.gif)}.x-grid3-hd-text{color:#464646}.x-dd-drag-proxy .x-grid3-hd-inner{background-color:#f2f2f2;background-image:url(../images/modx-theme/grid/grid3-hrow-over.gif);border-color:#c8c8c8}.col-move-top{background-image:url(../images/modx-theme/grid/col-move-top.gif)}.col-move-bottom{background-image:url(../images/modx-theme/grid/col-move-bottom.gif)}.x-grid3-row-selected{background-color:#f0f0f0;background-image:none;border-bottom:1px solid #e4e4e4!important;border-top:1px solid #e4e4e4!important;color:#565550}.x-grid3-row-last,.x-grid3-row-last .x-grid3-row-selected{border-bottom-color:#0000!important}.x-grid3-cell-selected{background-color:#e0eaef!important;color:#515151}.x-grid3-cell-selected span{color:#515151!important}.x-grid3-cell-selected .x-grid3-cell-text{color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker,.x-grid3-locked td.x-grid3-row-marker{background-color:#d7d9df!important;background-image:url(../images/modx-theme/grid/grid-hrow.gif)!important;border-right-color:#9c9c9c!important;border-top-color:#fff;color:#515151}.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div,.x-grid3-locked td.x-grid3-row-marker div{color:#464646!important}.x-grid3-dirty-cell{background-image:url(../images/modx-theme/grid/dirty.gif)}.x-grid3-bottombar,.x-grid3-topbar{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-grid3-bottombar .x-toolbar{border-top-color:#bcbcbc}.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)!important;color:#515151!important}.x-grid3-hd-inner{font-weight:700;padding:10px}.ext-ie .x-grid3-hd-inner{width:auto}.x-grid3-cell-inner,.x-grid3-hd-inner{padding:10px}.x-props-grid .x-grid3-body .x-grid3-td-name{background-color:#fff!important;border-right-color:#eee}.xg-hmenu-sort-asc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-asc.gif)}.xg-hmenu-sort-desc .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-desc.gif)}.xg-hmenu-lock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-lock.gif)}.xg-hmenu-unlock .x-menu-item-icon{background-image:url(../images/modx-theme/grid/hmenu-unlock.gif)}.x-grid3-hd-btn{background-color:#fff}.x-grid3-hd-btn:before{color:#77899f;content:"\f0d7";font-size:14px;font-style:normal;font-weight:900;left:0;position:absolute;right:0;text-align:center;top:14px}.x-grid3-hd-btn:hover{background-color:#fff}.x-grid3-body .x-grid3-td-expander{background-image:none;text-align:right}.x-grid3-row-collapsed .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-collapsed .x-grid3-row-expander:before{color:#53595f;content:"\f0fe";font-size:14px;font-weight:400}.x-grid3-row-expanded .x-grid3-row-expander{height:27px;margin-top:10px}.x-grid3-row-expanded .x-grid3-row-expander:before{color:#53595f;content:"\f146";font-size:14px;font-weight:400}.x-grid3-body .x-grid3-td-checker{background-image:none;padding:10px 0 0}.x-grid3-hd-checker:not(.x-grid3-hd-inner),.x-grid3-row-checker{cursor:pointer}.x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-checker:before{color:#53595f;content:"\f0c8";display:inline-block;font-size:14px;font-weight:400;padding:3px 5px}.x-grid3-hd-checker-on .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-hd-checker-on .x-grid3-row-checker:before,.x-grid3-row-selected .x-grid3-hd-checker:not(.x-grid3-hd-inner):before,.x-grid3-row-selected .x-grid3-row-checker:before{content:"\f14a";font-weight:400}.x-grid3-body .x-grid3-td-numberer{background-color:#e5e5e5;border-bottom:1px solid #dadada;border-right:1px solid #dadada!important}.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner{color:#444;padding-left:10px;padding-top:10px!important}.x-grid3-body .x-grid3-td-row-icon{background-image:url(../images/modx-theme/grid/grid3-special-col-bg.gif)}.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander,.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer{background-image:none}.x-grid3-check-col{cursor:pointer;margin-top:10px}.x-grid3-check-col:before{color:#53595f;content:"\f0c8";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid3-check-col-on{cursor:pointer;margin-top:10px}.x-grid3-check-col-on:before{color:#53595f;content:"\f14a";display:block;font-size:14px;font-weight:400;margin:0 auto;padding:3px 5px;text-align:left;width:14px}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1}.x-grid-group-hd{border-bottom-color:#53595f}.x-grid-group-hd div.x-grid-group-title{color:#53595f;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:700;padding:10px 0}.x-grid-group-hd div.x-grid-group-title:before{content:"\f146";font-size:14px;font-style:normal;font-weight:400;padding:0 5px}.x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title:before{content:"\f0fe";font-style:normal;font-weight:400;padding:0 5px}.x-group-by-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-cols-icon{background-image:url(../images/modx-theme/grid/columns.gif)}.x-show-groups-icon{background-image:url(../images/modx-theme/grid/group-by.gif)}.x-grid-empty{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;text-align:center}.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell{border-right-color:#ededed}.x-grid-with-col-lines .x-grid3-row{border-left:0;border-top:0}.x-grid-with-col-lines .x-grid3-row-selected{border-top-color:#e4e4e4}.x-dd-drag-ghost{background-color:#fff;border-color:#ddd #bbb #bbb #dfdfdf;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-no.gif)}.x-dd-drop-ok .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-yes.gif)}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url(../images/modx-theme/dd/drop-add.gif)}.x-view-selector{background-color:#d8d8d8;border-color:#8d8d8d}.x-tip{background:#575757;border-radius:3px;max-width:400px;min-width:200px;padding:5px;width:auto!important}.x-tip .x-tip-close{background-image:url(../images/modx-theme/qtip/close.gif)}.x-tip .x-tip-bc,.x-tip .x-tip-bl,.x-tip .x-tip-br,.x-tip .x-tip-ml,.x-tip .x-tip-mr,.x-tip .x-tip-tc,.x-tip .x-tip-tl,.x-tip .x-tip-tr{background-image:none}.x-tip .x-tip-mc{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-ml{background-color:initial}.x-tip .x-tip-header-text{color:#f0f0f0;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-tip .x-tip-body{color:#f0f0f0;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;width:auto!important}.x-tip img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;max-width:100%;width:100%}.x-form-invalid-tip .x-tip-bc,.x-form-invalid-tip .x-tip-bl,.x-form-invalid-tip .x-tip-br,.x-form-invalid-tip .x-tip-ml,.x-form-invalid-tip .x-tip-mr,.x-form-invalid-tip .x-tip-tc,.x-form-invalid-tip .x-tip-tl,.x-form-invalid-tip .x-tip-tr{background-image:url(../images/modx-theme/form/error-tip-corners.gif)}.x-form-invalid-tip .x-tip-body{background-image:url(../images/modx-theme/form/exclamation.gif)}.x-tip-anchor{background-image:url(../images/modx-theme/qtip/tip-anchor-sprite.gif)}.x-menu{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 4px 6px #00000026}.x-menu-list{padding:0}.x-menu-list li{border:0;margin:0;padding:0}.x-menu-list li:first-child{margin-top:3px}.x-menu-list li:last-child{margin-bottom:3px}.x-menu-list li.x-menu-date-item{margin:0}.x-menu-list li a.x-menu-item{color:#515151;font-size:13px;padding:3px 21px 3px 27px}.x-menu-list li a.x-menu-item:hover{color:#515151}.x-menu-list li.x-menu-item-active{background-color:#f0f0f0}.x-menu-list li.x-menu-item-active a{color:#515151}.x-menu-floating{border-color:#c7c7c7}html[dir=rtl] .x-menu-floating{left:unset!important;right:0}.x-menu-nosep{background-image:none}.x-menu-list-item{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-menu-item-arrow{background-image:url(../images/modx-theme/menu/menu-parent.gif)}.x-menu-sep{background-color:#e4e4e4;border-bottom:none;margin:2px 0}.x-menu-item-active a.x-menu-item{border:0;margin:0}.x-menu-check-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/unchecked.gif)}.x-menu-item-checked .x-menu-item-icon{background-image:url(../images/modx-theme/menu/checked.gif)}.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{background-image:url(../images/modx-theme/menu/group-checked.gif)}.x-menu-group-item .x-menu-item-icon{background-image:none}.x-menu-plain{background-color:#fff!important}.x-cycle-menu .x-menu-item-checked{background-color:#dfdfdf;border-color:#b9b9b9!important}.x-menu-scroller-top{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-menu-scroller-bottom{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-box-ml,.x-box-tl{background-color:#fafafa;background-image:none;color:#393939;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-box-mc p{font-weight:400;margin-bottom:5px}.x-box-tl{border-top:1px solid #dedede}.x-box-ml,.x-box-tl{background-color:#fafafacc}.x-box-bl,.x-box-ml,.x-box-tl{border-left:1px solid #dedede;border-right:1px solid #dedede}.x-box-bl{background-color:#e6e6e6cc;border-bottom:1px solid #dedede}.x-box-mc h3{font-size:14px;font-weight:700}.x-box-bc,.x-box-bl,.x-box-blue .x-box-bl,.x-box-blue .x-box-br,.x-box-blue .x-box-tl,.x-box-blue .x-box-tr,.x-box-br,.x-box-mr{background-image:none}.x-box-blue .x-box-bc,.x-box-blue .x-box-mc,.x-box-blue .x-box-tc{background-image:url(../images/modx-theme/box/tb-gray.gif)}.x-box-blue .x-box-mc{background-color:#d8d8d8}.x-box-blue .x-box-mc h3{color:#363636}.x-box-blue .x-box-ml{background-image:url(../images/modx-theme/box/l-gray.gif)}.x-box-blue .x-box-mr{background-image:url(../images/modx-theme/box/r-gray.gif)}#x-debug-browser .x-tree .x-tree-node a span{color:#333;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}#x-debug-browser .x-tree a i{color:#cf1124;font-style:normal}#x-debug-browser .x-tree a em{color:#999}#x-debug-browser .x-tree .x-tree-node .x-tree-selected a span{background-color:#d8d8d8}.x-panel-body,.x-panel-bwrap{overflow:visible}.x-panel-body{border:0;border-radius:3px}#modx-panel-packages-browser .x-panel-body{border-radius:0}.x-grid-panel .x-panel-body{background-color:#f5f5f5;border:0}.x-grid-panel .x-panel-body-noheader{background-color:initial;border:0;padding:0!important}.x-panel-tl .x-panel-header{color:#6a6a6a;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-panel-tl .x-panel-icon{background-position:0 8px}.x-panel-tc{background-image:none}.x-panel-bl,.x-panel-br,.x-panel-tl,.x-panel-tr{background-image:none;border-bottom-color:#dfdfdf}.x-panel-bc{background-image:none}.x-panel-tc{background-color:#f5f5f5}.x-panel-tl{border:1px solid #e3e3e3;border-bottom:0 #e3e3e3}.x-panel-tl .x-panel-header{border-bottom:1px solid #e4e4e4;padding:10px 0}.x-panel-bc .x-panel-footer{padding-bottom:0}.x-panel-btns{background-color:initial;padding:15px 0 1px}.x-panel-btns td.x-toolbar-cell{padding:0}.x-panel-mc{background-color:#f5f5f5;border-bottom:1px solid #dfdfdf;border-top:1px solid #fafafa;padding:10px 5px}.x-panel-bl,.x-panel-ml,.x-panel-tl{background-color:#f5f5f5;padding-left:8px}.x-panel-ml,.x-panel-mr{background-image:none}.x-panel-bl{border:1px solid #e3e3e3;border-top:0 #e3e3e3;padding-bottom:8px}.x-panel-ml{border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3}.x-panel-mr{padding-right:8px}.x-panel-br,.x-panel-mr,.x-panel-tr{background-color:#f7f7f7}.x-tool{background:none;border-radius:50%;color:#515151;font-size:14px;margin:0 3px 0 0;position:relative;transition:all .3s}.x-tool,.x-tool:after{height:18px;width:18px}.x-tool:after{box-sizing:border-box;left:0;padding-top:2px;position:absolute;text-align:center;top:0;vertical-align:middle}.x-tool:hover{background:#234368;color:#fff}.x-tool.x-tool-toggle:after{content:"\f077";padding-top:2px}.x-tool.x-tool-toggle-over:after,.x-tool.x-tool-toggle:hover:after{content:"\f077"}.x-panel-collapsed .x-tool.x-tool-toggle-over:after,.x-panel-collapsed .x-tool.x-tool-toggle:after,.x-panel-collapsed .x-tool.x-tool-toggle:hover:after{content:"\f078";padding-top:3px}.x-tool.x-tool-close:after{content:"\f00d"}.x-tool.x-tool-minimize:after{content:"\f066"}.x-tool.x-tool-maximize:after{content:"\f065"}.x-tool.x-tool-restore:after{content:"\f066"}.x-tool.x-tool-gear:after{content:"\f013"}.x-tool.x-tool-pin:after{content:"\f111"}.x-tool.x-tool-pin-over:after,.x-tool.x-tool-pin:hover:after,.x-tool.x-tool-unpin:after{content:"\f192"}.x-tool.x-tool-unpin-over:after,.x-tool.x-tool-unpin:hover:after{content:"\f111"}.x-tool.x-tool-right:after{content:"\f054";padding-left:1px}.x-tool.x-tool-left:after{content:"\f053";padding-right:2px}.x-tool.x-tool-up:after{content:"\f077";padding-top:1px}.x-tool.x-tool-down:after{content:"\f078";padding-top:1px}.x-tool.x-tool-minus:after{content:"\f068"}.x-tool.x-tool-plus:after{content:"\f067"}.x-panel-dd-spacer{border-color:#dfdfdf}.x-panel-fbar div,.x-panel-fbar input,.x-panel-fbar label,.x-panel-fbar select,.x-panel-fbar span,.x-panel-fbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-panel-header{border:1px solid silver;border-radius:3px 3px 0 0;font-size:14px;font-weight:700;margin-top:0;padding:10px 10px 8px}.x-portal-space{border-bottom:1px solid #afafaf;padding:0}.x-column-inner{overflow:visible}.x-column-inner>.x-column{margin-right:0;overflow:visible}.x-column-inner>.x-column:not(.x-hide-display)~.x-column{margin-left:15px;margin-right:0}.x-panel-nofooter .x-panel-bc{background-image:none;height:0}.x-panel-ghost{background-color:#dbdbdb}.x-panel-dd-spacer,.x-panel-ghost ul{border-color:#d0d0d0}.x-dlg-mask{background-color:#ccc}.x-html-editor-wrap{background-color:#fff;border-color:#bcbcbc}.x-panel-noborder .x-panel-header-noborder{border-bottom-color:#0000}.x-border-layout-ct{background-color:#fafafa}.x-accordion-hd{background-image:url(../images/modx-theme/panel/light-hd.gif);color:#222;font-weight:400}.x-layout-collapsed{background-color:#e4e4e4;border-color:#dfdfdf;width:7px!important}.x-layout-collapsed-over{background-color:#e6e6e6}.x-layout-split-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-split-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-split-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-layout-split-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-west .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-right.gif)}.x-layout-cmini-east .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-left.gif)}.x-layout-cmini-north .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-bottom.gif)}.x-layout-cmini-south .x-layout-mini{background-image:url(../images/modx-theme/layout/mini-top.gif)}.x-list-header{background-color:#f9f9f9;background-image:url(../images/modx-theme/grid/grid3-hrow.gif)}.x-list-header-inner div em{border-left-color:#dfdfdf}.x-list-body dt em,.x-list-header-inner div em{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-list-over{background-color:#eee}.x-list-selected{background-color:#e7e7e7}.x-list-resizer{border-left-color:#555;border-right-color:#555}.x-list-header-inner em.sort-asc,.x-list-header-inner em.sort-desc{background-image:url(../images/modx-theme/grid/sort-hd.gif);border-color:#dfdfdf}.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-bg.png)}.x-slider-horz .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-thumb.png)}.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner{background-image:url(../images/modx-theme/slider/slider-v-bg.png)}.x-slider-vert .x-slider-thumb{background-image:url(../images/modx-theme/slider/slider-v-thumb.png)}.x-portal .x-panel-tl .x-panel-header{background:none;font-size:14px;padding:8px 0}.x-portal .x-tool{margin-top:0}.x-portal .x-panel-body{font-weight:400;margin-bottom:5px;padding:0;text-transform:none}.x-portal-space{margin-bottom:5px}.x-grid3-body .x-grid3-td-checker{background-image:none!important}.modx-combo-desc{color:#515151;font-size:.9em;font-style:italic}.modx-combo-title{font-weight:700}.modx-grid-draggable .x-grid3-row{cursor:move}#modx-grid-deprecated-log .x-grid-group-hd div{height:auto}.actions button.primary-button,.primary-button.inline-button,.primary-button.x-btn,.primary-button.x-date-mp-cancel,.primary-button.x-date-mp-ok,.primary-button.x-form-trigger,.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn{background:#6cb24a;box-shadow:none;color:#fff;transition:background-color .2s ease-out}.actions button.x-btn-focus.primary-button:not(.x-btn-over),.x-btn-focus.primary-button.inline-button:not(.x-btn-over),.x-btn-focus.primary-button.x-btn:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.primary-button.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.primary-button.x-form-trigger:not(.x-btn-over),.x-btn-focus.primary-button.x-superboxselect-item:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-focus.x-btn:not(.x-btn-over),.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-focus.x-btn:not(.x-btn-over){background:#6cb24a;color:#fff}.actions button.primary-button:hover,.actions button.x-btn-over.primary-button,.primary-button.inline-button:hover,.primary-button.x-btn:hover,.primary-button.x-date-mp-cancel:hover,.primary-button.x-date-mp-ok:hover,.primary-button.x-form-trigger:hover,.primary-button.x-superboxselect-item:hover,.x-btn-over.primary-button.inline-button,.x-btn-over.primary-button.x-btn,.x-btn-over.primary-button.x-date-mp-cancel,.x-btn-over.primary-button.x-date-mp-ok,.x-btn-over.primary-button.x-form-trigger,.x-btn-over.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:hover,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-over.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:hover{background:#528738;box-shadow:none;color:#fff}.actions button.primary-button:active,.actions button.x-btn-click.primary-button,.primary-button.inline-button:active,.primary-button.x-btn:active,.primary-button.x-date-mp-cancel:active,.primary-button.x-date-mp-ok:active,.primary-button.x-form-trigger:active,.primary-button.x-superboxselect-item:active,.x-btn-click.primary-button.inline-button,.x-btn-click.primary-button.x-btn,.x-btn-click.primary-button.x-date-mp-cancel,.x-btn-click.primary-button.x-date-mp-ok,.x-btn-click.primary-button.x-form-trigger,.x-btn-click.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-btn:active,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn-click.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-btn:active{background:#385c26;box-shadow:none;color:#fff}.actions button.x-item-disabled.primary-button,.x-item-disabled.primary-button.inline-button,.x-item-disabled.primary-button.x-btn,.x-item-disabled.primary-button.x-date-mp-cancel,.x-item-disabled.primary-button.x-date-mp-ok,.x-item-disabled.primary-button.x-form-trigger,.x-item-disabled.primary-button.x-superboxselect-item,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:first-child .x-item-disabled.x-btn,.x-window.x-window-plain .x-toolbar-left-row .x-toolbar-cell:nth-child(2) .x-item-disabled.x-btn{background:#6cb24a;box-shadow:none;color:#fff;filter:alpha(opacity=60);opacity:.6}.actions button,.inline-button,.x-btn,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{zoom:1;background-color:#fff;background-repeat:no-repeat;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;color:#515151;cursor:pointer;display:inline-block;*display:inline;line-height:1;padding:10px 15px;position:relative;text-decoration:none;transition:background-color .2s ease-out}.actions .ext-webkit button em,.ext-webkit .actions button em,.ext-webkit .inline-button em,.ext-webkit .x-btn em,.ext-webkit .x-date-mp-cancel em,.ext-webkit .x-date-mp-ok em,.ext-webkit .x-form-trigger em,.ext-webkit .x-superboxselect-item em{font-size:0}.actions button button,.inline-button button,.x-btn button,.x-date-mp-cancel button,.x-date-mp-ok button,.x-date-picker .x-btn button,.x-form-trigger button,.x-superboxselect-item button{background-repeat:no-repeat;color:inherit;cursor:pointer;font-size:13px;font-style:normal;height:16px;line-height:1;min-width:100%;padding:0}.actions .ext-ie8 button button,.ext-ie8 .actions button button,.ext-ie8 .inline-button button,.ext-ie8 .x-btn button,.ext-ie8 .x-date-mp-cancel button,.ext-ie8 .x-date-mp-ok button,.ext-ie8 .x-form-trigger button,.ext-ie8 .x-superboxselect-item button{padding-top:0}.actions button .x-btn-arrow,.actions button .x-btn-split,.inline-button .x-btn-arrow,.inline-button .x-btn-split,.x-btn .x-btn-arrow,.x-btn .x-btn-split,.x-date-mp-cancel .x-btn-arrow,.x-date-mp-cancel .x-btn-split,.x-date-mp-ok .x-btn-arrow,.x-date-mp-ok .x-btn-split,.x-date-picker .x-btn .x-btn-arrow,.x-date-picker .x-btn .x-btn-split,.x-form-trigger .x-btn-arrow,.x-form-trigger .x-btn-split,.x-superboxselect-item .x-btn-arrow,.x-superboxselect-item .x-btn-split{display:block;padding-right:20px;position:relative}.actions button .x-btn-arrow:before,.actions button .x-btn-split:before,.inline-button .x-btn-arrow:before,.inline-button .x-btn-split:before,.x-btn .x-btn-arrow:before,.x-btn .x-btn-split:before,.x-date-mp-cancel .x-btn-arrow:before,.x-date-mp-cancel .x-btn-split:before,.x-date-mp-ok .x-btn-arrow:before,.x-date-mp-ok .x-btn-split:before,.x-form-trigger .x-btn-arrow:before,.x-form-trigger .x-btn-split:before,.x-superboxselect-item .x-btn-arrow:before,.x-superboxselect-item .x-btn-split:before{color:inherit;content:"\f0d7";font-size:14px;margin-top:0;position:absolute;right:0;top:50%}.actions button .x-btn-arrow button,.actions button .x-btn-split button,.inline-button .x-btn-arrow button,.inline-button .x-btn-split button,.x-btn .x-btn-arrow button,.x-btn .x-btn-split button,.x-date-mp-cancel .x-btn-arrow button,.x-date-mp-cancel .x-btn-split button,.x-date-mp-ok .x-btn-arrow button,.x-date-mp-ok .x-btn-split button,.x-form-trigger .x-btn-arrow button,.x-form-trigger .x-btn-split button,.x-superboxselect-item .x-btn-arrow button,.x-superboxselect-item .x-btn-split button{border-right-color:inherit;border-right-style:solid;border-right-width:1px;padding-right:10px}.actions button.x-btn-focus:not(.x-btn-over),.x-btn-focus.inline-button:not(.x-btn-over),.x-btn-focus.x-btn:not(.x-btn-over),.x-btn-focus.x-date-mp-cancel:not(.x-btn-over),.x-btn-focus.x-date-mp-ok:not(.x-btn-over),.x-btn-focus.x-form-trigger:not(.x-btn-over),.x-btn-focus.x-superboxselect-item:not(.x-btn-over){background:#fff;color:#515151}.actions button.x-btn-click,.actions button.x-btn-over,.actions button:active,.actions button:hover,.inline-button:active,.inline-button:hover,.x-btn-click.inline-button,.x-btn-click.x-btn,.x-btn-click.x-date-mp-cancel,.x-btn-click.x-date-mp-ok,.x-btn-click.x-form-trigger,.x-btn-click.x-superboxselect-item,.x-btn-over.inline-button,.x-btn-over.x-btn,.x-btn-over.x-date-mp-cancel,.x-btn-over.x-date-mp-ok,.x-btn-over.x-form-trigger,.x-btn-over.x-superboxselect-item,.x-btn:active,.x-btn:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:hover,.x-form-trigger:active,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:hover{background-color:#e4e4e4;box-shadow:#dcdcdc;color:#515151}.actions button.x-btn-menu-active .x-btn-split:before,.x-btn-menu-active.inline-button .x-btn-split:before,.x-btn-menu-active.x-btn .x-btn-split:before,.x-btn-menu-active.x-date-mp-cancel .x-btn-split:before,.x-btn-menu-active.x-date-mp-ok .x-btn-split:before,.x-btn-menu-active.x-form-trigger .x-btn-split:before,.x-btn-menu-active.x-superboxselect-item .x-btn-split:before{content:"\f0d8"}.actions button.x-item-disabled,.x-item-disabled.inline-button,.x-item-disabled.x-btn,.x-item-disabled.x-date-mp-cancel,.x-item-disabled.x-date-mp-ok,.x-item-disabled.x-form-trigger,.x-item-disabled.x-superboxselect-item{background-color:#fff;box-shadow:0 0 0 1px #e4e4e4;color:#1e1e1e;filter:alpha(opacity=60);opacity:.6}button{margin:2px}.x-panel-btns .x-btn{margin:0 0 0 7px}.actions{bottom:8px;margin:0;overflow:visible;position:absolute}.actions li{float:left;line-height:.7;margin-right:2px}.actions button,.inline-button,.x-date-mp-cancel,.x-date-mp-ok,.x-date-picker .x-btn,.x-form-trigger,.x-superboxselect-item{box-shadow:0 0 0 1px #dcdcdc;box-sizing:initial;padding:5px}.actions button:active,.actions button:focus,.actions button:hover,.inline-button:active,.inline-button:focus,.inline-button:hover,.x-date-mp-cancel:active,.x-date-mp-cancel:focus,.x-date-mp-cancel:hover,.x-date-mp-ok:active,.x-date-mp-ok:focus,.x-date-mp-ok:hover,.x-date-picker .x-btn:active,.x-date-picker .x-btn:focus,.x-date-picker .x-btn:hover,.x-form-trigger:active,.x-form-trigger:focus,.x-form-trigger:hover,.x-superboxselect-item:active,.x-superboxselect-item:focus,.x-superboxselect-item:hover{box-shadow:#999}.actions button.yellow,.inline-button.yellow,.x-date-mp-cancel.yellow,.x-date-mp-ok.yellow,.x-date-picker .x-btn.yellow,.x-form-trigger.yellow,.x-superboxselect-item.yellow{background:#fce588;box-shadow:0 0 0 1px #fce588;color:#515151!important}.actions button.yellow:focus,.actions button.yellow:hover,.inline-button.yellow:focus,.inline-button.yellow:hover,.x-date-mp-cancel.yellow:focus,.x-date-mp-cancel.yellow:hover,.x-date-mp-ok.yellow:focus,.x-date-mp-ok.yellow:hover,.x-date-picker .x-btn.yellow:focus,.x-date-picker .x-btn.yellow:hover,.x-form-trigger.yellow:focus,.x-form-trigger.yellow:hover,.x-superboxselect-item.yellow:focus,.x-superboxselect-item.yellow:hover{background:#fbe06f;box-shadow:0 0 0 1px #fbe06f}.actions button.yellow:active,.inline-button.yellow:active,.x-date-mp-cancel.yellow:active,.x-date-mp-ok.yellow:active,.x-date-picker .x-btn.yellow:active,.x-form-trigger.yellow:active,.x-superboxselect-item.yellow:active{background:#fbda56;box-shadow:0 0 0 1px #fbda56}.actions button.orange,.inline-button.orange,.x-date-mp-cancel.orange,.x-date-mp-ok.orange,.x-date-picker .x-btn.orange,.x-form-trigger.orange,.x-superboxselect-item.orange{background:#f0b429;box-shadow:0 0 0 1px #f0b429;color:#fff!important}.actions button.orange:focus,.actions button.orange:hover,.inline-button.orange:focus,.inline-button.orange:hover,.x-date-mp-cancel.orange:focus,.x-date-mp-cancel.orange:hover,.x-date-mp-ok.orange:focus,.x-date-mp-ok.orange:hover,.x-date-picker .x-btn.orange:focus,.x-date-picker .x-btn.orange:hover,.x-form-trigger.orange:focus,.x-form-trigger.orange:hover,.x-superboxselect-item.orange:focus,.x-superboxselect-item.orange:hover{background:#eeac11;box-shadow:0 0 0 1px #eeac11}.actions button.orange:active,.inline-button.orange:active,.x-date-mp-cancel.orange:active,.x-date-mp-ok.orange:active,.x-date-picker .x-btn.orange:active,.x-form-trigger.orange:active,.x-superboxselect-item.orange:active{background:#d79b0f;box-shadow:0 0 0 1px #d79b0f}.actions button.red,.inline-button.red,.x-date-mp-cancel.red,.x-date-mp-ok.red,.x-date-picker .x-btn.red,.x-form-trigger.red,.x-superboxselect-item.red{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff!important}.actions button.red:focus,.actions button.red:hover,.inline-button.red:focus,.inline-button.red:hover,.x-date-mp-cancel.red:focus,.x-date-mp-cancel.red:hover,.x-date-mp-ok.red:focus,.x-date-mp-ok.red:hover,.x-date-picker .x-btn.red:focus,.x-date-picker .x-btn.red:hover,.x-form-trigger.red:focus,.x-form-trigger.red:hover,.x-superboxselect-item.red:focus,.x-superboxselect-item.red:hover{background:#c11022;box-shadow:0 0 0 1px #c11022}.actions button.red:active,.inline-button.red:active,.x-date-mp-cancel.red:active,.x-date-mp-ok.red:active,.x-date-picker .x-btn.red:active,.x-form-trigger.red:active,.x-superboxselect-item.red:active{background:#b30f1f;box-shadow:0 0 0 1px #b30f1f}.actions button.green,.inline-button.green,.x-date-mp-cancel.green,.x-date-mp-ok.green,.x-date-picker .x-btn.green,.x-form-trigger.green,.x-superboxselect-item.green{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff!important}.actions button.green:focus,.actions button.green:hover,.inline-button.green:focus,.inline-button.green:hover,.x-date-mp-cancel.green:focus,.x-date-mp-cancel.green:hover,.x-date-mp-ok.green:focus,.x-date-mp-ok.green:hover,.x-date-picker .x-btn.green:focus,.x-date-picker .x-btn.green:hover,.x-form-trigger.green:focus,.x-form-trigger.green:hover,.x-superboxselect-item.green:focus,.x-superboxselect-item.green:hover{background:#61a043;box-shadow:0 0 0 1px #61a043}.actions button.green:active,.inline-button.green:active,.x-date-mp-cancel.green:active,.x-date-mp-ok.green:active,.x-date-picker .x-btn.green:active,.x-form-trigger.green:active,.x-superboxselect-item.green:active{background:#568e3b;box-shadow:0 0 0 1px #568e3b}.actions button.blue,.inline-button.blue,.x-date-mp-cancel.blue,.x-date-mp-ok.blue,.x-date-picker .x-btn.blue,.x-form-trigger.blue,.x-superboxselect-item.blue{background:#4a90e2;box-shadow:0 0 0 1px #4a90e2;color:#fff!important}.actions button.blue:focus,.actions button.blue:hover,.inline-button.blue:focus,.inline-button.blue:hover,.x-date-mp-cancel.blue:focus,.x-date-mp-cancel.blue:hover,.x-date-mp-ok.blue:focus,.x-date-mp-ok.blue:hover,.x-date-picker .x-btn.blue:focus,.x-date-picker .x-btn.blue:hover,.x-form-trigger.blue:focus,.x-form-trigger.blue:hover,.x-superboxselect-item.blue:focus,.x-superboxselect-item.blue:hover{background:#3483de;box-shadow:0 0 0 1px #3483de}.actions button.blue:active,.inline-button.blue:active,.x-date-mp-cancel.blue:active,.x-date-mp-ok.blue:active,.x-date-picker .x-btn.blue:active,.x-form-trigger.blue:active,.x-superboxselect-item.blue:active{background:#2275d7;box-shadow:0 0 0 1px #2275d7}.x-toolbar .x-form-field-trigger-wrap{background:#fff;border:0;border-radius:3px;box-shadow:0 0 0 1px #e4e4e4;cursor:pointer;line-height:1}.x-toolbar .x-form-field-trigger-wrap .x-form-text{background:#fff;border:0;margin:0!important}.x-toolbar .x-form-field-trigger-wrap .x-form-trigger:before{margin-top:0}.x-toolbar .x-form-field-trigger-wrap.x-trigger-wrap-focus{box-shadow:0 0 0 1px #999}html[dir=rtl] .x-toolbar-left table{float:right}.x-toolbar .x-toolbar-left-row .x-btn,.x-toolbar .x-toolbar-left-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-left-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-left-row td .x-btn{display:block}.x-toolbar .x-toolbar-left-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-left-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-left-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-left-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-right:0}.x-toolbar .x-toolbar-right-row .x-btn,.x-toolbar .x-toolbar-right-row .x-form-field-trigger-wrap,.x-toolbar .x-toolbar-right-row .x-form-text{margin:0 3px}.x-toolbar .x-toolbar-right-row td .x-btn{display:block}.x-toolbar .x-toolbar-right-row .x-form-filter{border-radius:3px 0 0 3px;z-index:1}.x-toolbar .x-toolbar-right-row .x-form-filter:not(.x-form-empty-field){border-color:#000}.x-toolbar .x-toolbar-right-row .x-form-filter.x-form-focus{border-color:#999}.x-toolbar .x-toolbar-right-row .x-form-filter-clear{border-radius:0 3px 3px 0;margin-left:0}.x-toolbar .x-form-text{border-radius:3px;font-size:13px!important;padding:8px 13px}.x-toolbar.x-small-editor .x-form-text{padding-top:8px}.x-toolbar .xtb-sep{margin:0;width:0}.x-tree .x-toolbar .x-btn{padding:7px}.x-tree .x-toolbar .x-btn-icon{box-shadow:none;padding:7px}.x-tree .x-toolbar .x-btn-icon.x-btn-over{background:none;box-shadow:none;color:#234368}.x-tree .x-toolbar .x-btn-icon.x-btn-click{background:none;box-shadow:none;color:#1b3451}.x-tree .x-toolbar .x-btn-icon:before{content:none}.x-tree .x-toolbar .x-toolbar-left-row .x-form-field-wrap,.x-tree .x-toolbar .x-toolbar-right-row .x-form-field-wrap{margin-left:6px!important;margin-right:6px}#modx-action-buttons{background:#f1f1f1;border:0;border-radius:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;left:auto;padding:.5rem 1rem;position:fixed;right:0;top:0;z-index:12}#modx-action-buttons .x-toolbar-cell{padding:.25rem}#modx-action-buttons .x-btn{margin:0}#modx-action-buttons #modx-abtn-menu .x-btn-split{padding:0}#modx-action-buttons #modx-abtn-menu .x-btn-split:before{display:none}#modx-action-buttons #modx-abtn-menu .x-btn-split .x-btn-text{border:none;padding:0}#modx-action-buttons .x-toolbar-left{zoom:1;width:auto!important}@media screen and (max-width:960px){#modx-action-buttons{background:#0000;border-radius:0;bottom:auto;left:auto;max-width:100%;padding:0 15px;position:relative;right:auto;top:auto}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-action-buttons table table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-panel-welcome #modx-action-buttons{display:none}#modx-action-buttons .x-toolbar-cell{margin:5px;width:auto}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}.tab-panel-wrapper .x-panel-tbar table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}.tab-panel-wrapper .x-panel-tbar .x-toolbar-left input,.tab-panel-wrapper .x-panel-tbar .x-toolbar-right input{box-sizing:border-box;height:auto!important;margin-left:0;width:100%}html.ext-strict body #modx-container .x-small-editor .x-form-text{height:auto!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets),#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody{display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr{display:flex;flex-wrap:wrap;margin-left:auto;margin-right:auto;max-width:1200px}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr:after{clear:both;content:"";display:block}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td{display:inline-block;flex-grow:1;float:left;margin-bottom:1em;padding:0!important}#modx-grid-element-properties table:not(#modx-tree-panel-usergroup table,#modx-grid-lexicon table,#modx-panel-property-sets) tbody tr td .x-btn{margin-left:3px;margin-right:3px}#modx-grid-element-properties .x-toolbar-left{margin-bottom:0}#modx-grid-element-properties .x-toolbar-cell>*{box-sizing:border-box;margin-left:auto;margin-right:auto;width:100%!important}}.x-btn-icon button{font-size:18px;height:18px;position:relative;width:18px}.x-btn-icon.arrow_up button{background:none!important;position:relative}.x-btn-icon.arrow_up button:before{bottom:auto;content:"\f3bf";top:1px}.x-btn-icon.arrow_down button{background:none!important;position:relative}.x-btn-icon.arrow_down button:before{bottom:auto;content:"\f3be";top:1px}.x-btn-icon.refresh button{background:none!important;position:relative}.x-btn-icon.refresh button:before{bottom:auto;content:"\f021";top:1px}.x-btn-icon.icon-folder button:before{content:"\f07b"}.x-btn-icon.icon-page_white button:before{content:"\f15c"}.x-btn-icon.icon-file_upload button:before{content:"\f35b"}.x-btn-icon.icon-file_manager button:before{content:"\f14d"}.x-btn-text-icon button{padding-left:20px!important}.x-html-editor-tb .x-btn{background-color:initial;background-image:none;border:0;box-shadow:none;margin:0}.x-html-editor-tb .x-btn-over{border:0}.x-btn-group{border:1px solid #dbe0e4;border-radius:3px;margin-right:2px;padding:0}.x-btn-group .x-btn{background-color:initial;background-image:none;border:1px solid #0000;box-shadow:0 0 1px #0000}.x-btn-group .x-btn button{color:#868b8f;height:auto!important}.x-btn-group .x-btn-over{background:#dfdfdf;background:#f0f0f0;border:1px solid #dbe0e4}.x-btn-group .x-btn-over button{color:#5b7a98}.x-btn-group .x-btn-click{background-color:#fff;background-image:none;box-shadow:inset 0 0 3px #aaa;margin:0 2px 0 0}.x-btn-group-bwrap{padding:1px 0 0}.x-btn-group-header{background-color:#dbe0e4;color:#73797f;text-shadow:0 1px 0 #fafafa}.x-btn-group-tl,.x-btn-group-tr{background-image:none;padding:0}.x-btn-group-bc,.x-btn-group-bl,.x-btn-group-br,.x-btn-group-ml,.x-btn-group-tc{background-image:none}.x-btn-group-ml{padding-left:1px}.x-btn-group-mr{background-image:none;padding-right:1px}.x-btn em.x-btn-arrow-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-btn em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b.gif)}.x-btn-click em.x-btn-split-bottom,.x-btn-menu-active em.x-btn-split-bottom,.x-btn-over em.x-btn-split-bottom,.x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.x-btn-group-notitle .x-btn-group-tc{background-image:url(../images/modx-theme/button/group-tb.gif)}#modx-leftbar .x-toolbar-ct .x-btn{background:#f1f1f1;border:none;box-shadow:none;color:#515151;display:inline-block;filter:alpha(opacity=100);height:30px;margin:0 3px;opacity:1;padding:0;position:relative;width:25px}#modx-leftbar .x-toolbar-ct .x-btn>em>button{font-size:18px;height:24px;left:2px;overflow:visible;position:absolute;text-shadow:none;top:4px}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over,#modx-leftbar .x-toolbar-ct .x-btn:active,#modx-leftbar .x-toolbar-ct .x-btn:focus,#modx-leftbar .x-toolbar-ct .x-btn:hover{background:none;box-shadow:none;color:#234368}#modx-leftbar .x-toolbar-ct .x-btn.x-btn-click button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-focus button,#modx-leftbar .x-toolbar-ct .x-btn.x-btn-over button,#modx-leftbar .x-toolbar-ct .x-btn:active button,#modx-leftbar .x-toolbar-ct .x-btn:focus button,#modx-leftbar .x-toolbar-ct .x-btn:hover button{color:inherit}#modx-leftbar .x-toolbar-ct .x-btn span{vertical-align:middle}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn>em>button{font-size:20px}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled{color:#919191!important;filter:alpha(opacity=60); /* !important prevents hover / active styles */opacity:.6}#modx-leftbar .x-toolbar-ct .x-toolbar-right .x-btn#emptifier .x-item-disabled button{color:inherit}.tree-new-resource>em>button:before{content:"\f15b"}.tree-new-weblink>em>button:before{content:"\f0c1"}.tree-new-symlink>em>button:before{content:"\f0c5";font-weight:400}.tree-new-static-resource>em>button:before{content:"\f15c";font-weight:400}.tree-trash>em>button:before{content:"\f2ed";font-weight:400}#modx-leftbar .x-toolbar-ct .x-btn .tree-new-symlink>em>button{left:2px;top:4px}#modx-leftbar .x-toolbar-ct .x-btn .tree-new-weblink>em>button{left:2px}.tree-new-template>em>button:before{content:"\f0db"}.tree-new-tv>em>button:before{content:"\f022";font-weight:400}.tree-new-chunk>em>button:before{content:"\f009";font-weight:900}.tree-new-snippet>em>button:before{content:"\f121"}.tree-new-plugin>em>button:before{content:"\f085"}.tree-new-category>em>button:before{content:"\f07b"}.modx-tv .resizable:hover:after,.modx-tv .resizable:hover:before{background-color:#99999940;color:#999}.modx-tv .resizable:after,.modx-tv .resizable:before{background-color:#99999926;color:#adadad;font-size:smaller;margin-right:.25%;pointer-events:none;position:absolute;right:0;text-align:center;width:15px;z-index:2}.modx-tv .resizable:before{bottom:12px;content:"\f106";height:7px;line-height:.9}.modx-tv .resizable:after{border-bottom-right-radius:3px;bottom:4px;content:"\f107";height:8px;line-height:.6}.modx-tv .resizable textarea{resize:vertical}.modx-tv .x-form-textarea:not(div){font-family:inherit}textarea{overflow:auto}.x-form-textarea,textarea.x-form-field{display:block;padding:5px}.modx-code-content,.x-form-textarea,textarea.x-form-field{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.modx-text-content,textarea[name=description],textarea[name=introtext]{font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-text,.x-form-textarea,textarea.x-form-field{background-color:#fff;background-image:none;border:1px solid #e4e4e4;border-radius:3px;max-width:100%;position:relative;transition:border-color .25s}.x-viewport .x-form-textarea .x-form-focus,.x-viewport .x-trigger-wrap-focus,.x-viewport input.x-form-focus,.x-viewport textarea.x-form-focus{border-color:#999}.x-viewport .x-trigger-wrap-open{border-radius:3px 3px 0 0}.x-form-invalid,textarea.x-form-invalid{border-color:#cf1124!important}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}#modx-input-props,#modx-widget-props{padding:15px 0 0}.x-form-item{display:block;margin:0;outline:0 none;position:relative}.x-form-item label.x-form-item-label{color:#515151;font-size:13px;font-weight:700;position:relative}.x-form-item label.x-form-item-label .modx-tv-label-title{display:inline-block}.x-form-item label.x-form-item-label .modx-tv-label-description{display:inline-block;font-style:italic;font-weight:400}.x-form-item label.x-form-item-label .modx-field-utils,.x-form-item label.x-form-item-label .modx-tv-reset{cursor:pointer;display:inline-block;filter:alpha(opacity=0);height:16px;opacity:0;padding:0 0 0 3px;position:relative;right:0;top:0;transition:all .25s;width:16px}.x-form-item label.x-form-item-label .modx-field-utils:before,.x-form-item label.x-form-item-label .modx-tv-reset:before{bottom:2px;box-sizing:border-box;color:#a8a8a8;content:"\f2ea";font-size:14px;height:16px;left:0;position:relative;text-align:center;vertical-align:middle;width:16px}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset:before{content:"\f2ea"}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-reset:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-reset:hover:before{color:#6cb24a}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear:before{content:"\f12d";font-size:15px;margin-bottom:4px}.x-form-item label.x-form-item-label .modx-field-utils.modx-field-clear:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset.modx-field-clear:hover:before{color:#cf1124}.x-form-item label.x-form-item-label .modx-field-utils:hover:before,.x-form-item label.x-form-item-label .modx-tv-reset:hover:before{color:#6cb24a}.x-form-item label.x-form-item-label .modx-field-utils:active:before,.x-form-item label.x-form-item-label .modx-tv-reset:active:before{color:#1b3451}.x-form-item label.x-form-item-label:hover .modx-field-utils,.x-form-item label.x-form-item-label:hover .modx-tv-reset{filter:alpha(opacity=100);opacity:1}.x-form-item.modx-tv{padding:0!important}.x-form-item .modx-tv-inherited{color:#515151;display:inline-block;font-size:10px;font-style:italic;position:absolute;right:0;top:19px}.x-form-item .modx-tv-image-preview{margin-top:7px}.x-form-item .modx-tv-image-preview img{display:block;max-height:400px;max-width:400px}.x-form-item .modx-tag-list{list-style:none;margin:0;overflow:auto;padding:0}.x-form-item .modx-tag-list .modx-tag-opt{background-color:#e4e4e4;border-radius:0 3px 3px 0;cursor:pointer;display:inline-block;margin:4px 5px 0 10px;padding:1px 5px;position:relative}.x-form-item .modx-tag-list .modx-tag-opt:before{border-color:#0000 #e4e4e4 #0000 #0000;border-style:solid;border-width:10px 10px 10px 0;content:"";height:0;left:-10px;position:absolute;top:0;transform:rotate(1turn);width:0}.x-form-item .modx-tag-list .modx-tag-opt:after{background-color:#fff;border-radius:50%;content:"";height:4px;left:-4px;position:absolute;top:8px;width:4px}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked,.x-form-item .modx-tag-list .modx-tag-opt:hover{background-color:#234368;color:#fff;text-decoration:none}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:before,.x-form-item .modx-tag-list .modx-tag-opt:hover:before{border-color:#0000 #234368 #0000 #0000}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover,.x-form-item .modx-tag-list .modx-tag-opt:hover:hover{background-color:#1b3451}.x-form-item .modx-tag-list .modx-tag-opt.modx-tag-checked:hover:before,.x-form-item .modx-tag-list .modx-tag-opt:hover:hover:before{border-color:#0000 #1b3451 #0000 #0000}.x-form-item .modx-tv-legacy-select{border:1px solid #e4e4e4;border-radius:3px;padding:5px;transition:all .25s}.x-form-item .modx-tv-legacy-select:focus{border:1px solid #1b3451}.x-form-item .modx-tv-legacy-select option[selected]{background-color:#e4e4e4}.x-form-label-left .x-form-item{padding:15px 0 0}.x-form-label-left .x-form-item:first-of-type{padding:0}.x-form-label-left .x-form-item label.x-form-item-label{display:inline-block;margin:0;padding:7px 0}.x-form-label-top .x-form-item{padding:0}.x-form-label-top .x-form-item label.x-form-item-label{display:inline-block;margin:15px 0 4px;padding:0}.x-window .x-form-item .x-form-item-label{padding:10px 0 4px}.x-form-item.x-hide-label{padding-top:10px!important}#modx-resource-content .x-form-item.x-hide-label{padding-top:0!important}.x-form-item.x-hide-label label.x-form-item-label{display:none}.x-form-item.disabled label{color:#a8a8a8}.x-form-item .x-form-element{font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0}.x-form-item .x-form-element .x-form-invalid-icon{color:#cf1124}.x-form-item .x-form-element .x-form-invalid-icon:before{content:"\f071";left:3px;position:absolute}.x-form-item .x-column-inner>.x-column~.x-column{margin-left:5px}.x-form-item .x-column-inner>.x-column .x-form-field-wrap{width:auto!important}.x-form-item .container{margin:0}.x-form-item .x-btn{padding:7px 10px}.desc-under{color:#999;display:block;font-size:12px;font-style:italic;margin:.4em 0 0;transition:color .25s}.desc-under:hover{color:#4d4d4d}.desc-under.toggle-slider-above{margin:.3em 0;padding-left:3.9em}.desc-under .warning{color:#cf1124;overflow:hidden;padding:0}.desc-under .example-list ul{margin:.4em 0}.desc-under .example-list ul li{margin-bottom:.25em;padding-left:1.25em;position:relative}.desc-under .example-list ul li:before{color:#adadad;content:"\f101";left:.2em;position:absolute;top:0}.desc-under .copy-this,.desc-under .example-input{border-radius:2px;padding:0 .3em;transition:width 1s}.desc-under .example-input{background-color:#f6faf5;color:#6e935d}.desc-under .example-input:hover{background-color:#eff6ec;color:#578c3d;cursor:pointer}.desc-under .copy-this{background-color:#f1f6fc;color:#5e8bbf;position:relative}.desc-under .copy-this:hover{background-color:#e7f1fb;color:#1b5ca8;cursor:pointer}.desc-under .copy-this:hover:after{color:#6892c4;content:"\f0c5";cursor:default;margin-left:.5em;position:absolute}.desc-under .copy-this:hover:active,.desc-under .copy-this:hover:active:after{color:#515151}.desc-under .feedback{color:#1b5ca8;font-style:normal;margin-left:1.4rem}.desc-under .feedback.item-copied{opacity:1;transition:opacity 1.5s}.desc-under a{border-bottom:1px dotted #999;color:#999;text-decoration:none}.desc-under a:hover{color:#515151}.desc-under .deemphasize{font-style:normal}.fs-toggle{border-top:1px dashed #e4e4e4;margin-bottom:.5em;margin-top:2em;padding-top:1em}.x-fieldset{border:1px solid #e4e4e4;border-radius:3px!important; - /* !important ensures the border radius, also when the fieldset has a class that sets it to 0 */margin:15px 0 0;overflow:visible;padding:0;position:relative}.x-fieldset .x-fieldset-header{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;margin:0 0 0 10px;padding:0 5px 0 3px;position:relative}.x-fieldset .x-fieldset-header .x-fieldset-header-text{line-height:18px}.x-fieldset .x-fieldset-bwrap .x-fieldset-body{overflow-x:hidden!important;padding:0 10px 10px}.x-fieldset.form-row-wrapper .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-fieldset#tv-input-opts-fs,.x-fieldset#tv-output-opts-fs{border:0;margin:0}.x-fieldset#tv-input-opts-fs .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset-bwrap .x-fieldset-body{padding:0}.x-fieldset#tv-input-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-form-field{font:inherit}.x-form-field.x-form-composite{margin-bottom:0!important}.x-form-field.x-form-composite .x-btn{top:1px!important}.x-static-text-field{color:inherit;font-size:inherit}.x-static-text-field.x-form-focus{border-color:#e4e4e4!important}.x-form-text{line-height:20px;min-height:20px;padding:5px}.x-form-field-wrap{background:#fff;border:1px solid #e4e4e4;border-radius:3px;max-width:100%}.x-form-field-wrap .x-form-text:not(.x-form-invalid){border:0}.x-form-field-wrap .x-form-trigger{border:0;border-radius:0 2px 2px 0;box-shadow:none;height:100%!important;padding:0;position:absolute;right:0;top:0;width:30px}.x-form-field-wrap .x-form-trigger:before{box-sizing:border-box;content:"\f078";filter:alpha(opacity=60);font-size:14px;left:50%;opacity:.8;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .25s;width:30px}.x-form-field-wrap .x-form-trigger.x-form-trigger-click:before,.x-form-field-wrap .x-form-trigger.x-form-trigger-over:before,.x-form-field-wrap .x-form-trigger:active:before,.x-form-field-wrap .x-form-trigger:hover:before{filter:alpha(opacity=100);opacity:1}.x-form-field-wrap .x-form-trigger.x-form-date-trigger:before{content:"\f133";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-time-trigger:before{content:"\f017";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-file-trigger:before{content:"\f15b";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-image-trigger:before{content:"\f1c5";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-code-trigger:before{content:"\f1c9";font-weight:400}.x-form-field-wrap.x-datetime-wrap{background:none;border:0}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time{vertical-align:top}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-invalid-msg,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-invalid-msg{white-space:normal}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-trigger:before{content:"\f133"}.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-trigger:before{content:"\f017"}.x-form-field-wrap.x-form-fileupload-wrap{overflow:visible;position:relative}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file{filter:alpha(opacity=0);min-height:20px;opacity:0;padding:5px;position:absolute;right:0;top:0;z-index:2}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-btn{border-left:1px solid #e4e4e4;border-radius:0 3px 3px 0;box-shadow:none;line-height:0;padding:7px;position:absolute;right:0;top:0;z-index:1}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-text{position:relative;z-index:3}.modx-tv-type-listbox-multiple .x-form-field-wrap{border-color:#fff}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text{border:1px solid #e4e4e4;margin:-1px}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text.x-form-focus{border-color:#999}#x-form-el-modx-user-photo .x-form-file-trigger:before{content:"\f1c5"}.x-fieldset-checkbox-toggle legend,.x-form-check-wrap{height:auto!important;line-height:18px}.x-form-label-left .x-fieldset-checkbox-toggle legend,.x-form-label-left .x-form-check-wrap{padding:7px 0}.x-form-label-top .x-fieldset-checkbox-toggle legend,.x-form-label-top .x-form-check-wrap{padding:0}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label{padding-left:1.9em}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:before{color:#ccc}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:hover:before{color:#999}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-form-check-wrap .x-fieldset-header-text,.x-form-check-wrap .x-form-cb-label{color:#515151;cursor:pointer;display:inline-block;font-weight:400;margin:0;padding-left:1.9em;position:relative;top:0}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text,.ext-ie8 .x-form-check-wrap .x-form-cb-label{padding-left:3px}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text:before,.ext-ie8 .x-form-check-wrap .x-form-cb-label:before{content:""}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before{box-sizing:border-box;content:"";font-size:18px;height:18px;left:0;padding-right:3px;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:focus:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:hover:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-form-check-wrap .x-fieldset-header-text:focus:before,.x-form-check-wrap .x-fieldset-header-text:hover:before,.x-form-check-wrap .x-form-cb-label:focus:before,.x-form-check-wrap .x-form-cb-label:hover:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:active:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-form-check-wrap .x-fieldset-header-text:active:before,.x-form-check-wrap .x-form-cb-label:active:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox,.x-fieldset-checkbox-toggle legend .x-form-radio,.x-fieldset-checkbox-toggle legend input[type=checkbox],.x-form-check-wrap .x-form-checkbox,.x-form-check-wrap .x-form-radio,.x-form-check-wrap input[type=checkbox]{cursor:pointer;height:18px;left:0;opacity:0;position:absolute;top:0;width:18px;z-index:1}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-checkbox,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-radio,.ext-ie8 .x-fieldset-checkbox-toggle legend input[type=checkbox],.ext-ie8 .x-form-check-wrap .x-form-checkbox,.ext-ie8 .x-form-check-wrap .x-form-radio,.ext-ie8 .x-form-check-wrap input[type=checkbox]{height:13px;left:auto;position:relative;top:auto;width:13px}.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:hover+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:focus+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:hover+.x-form-cb-label:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:active+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:active+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:active+.x-form-cb-label:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]+.x-fieldset-header-text:before{content:"\f0c8";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-checkbox:checked+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:checked+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:checked+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:checked+.x-fieldset-header-text:before{content:"\f14a";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio+.x-form-cb-label:before{content:"\f111";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio:checked+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:checked+.x-form-cb-label:before{content:"\f192";font-weight:400}#modx-chunk-tabs.space-before,#modx-plugin-tabs.space-before,#modx-resource-tabs .display-switch.space-before,#modx-snippet-tabs.space-before,#modx-template-tabs.space-before,#modx-tv-editor-tabs.space-before,#modx-tv-tabs .display-switch.space-before,.display-switch.space-before{margin-top:.75rem}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-chunk-tabs .x-fieldset legend [type=checkbox],#modx-chunk-tabs .x-form-check-wrap [type=checkbox],#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-plugin-tabs .x-fieldset legend [type=checkbox],#modx-plugin-tabs .x-form-check-wrap [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-snippet-tabs .x-fieldset legend [type=checkbox],#modx-snippet-tabs .x-form-check-wrap [type=checkbox],#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-template-tabs .x-fieldset legend [type=checkbox],#modx-template-tabs .x-form-check-wrap [type=checkbox],#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-editor-tabs .x-fieldset legend [type=checkbox],#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],.display-switch .x-fieldset legend [type=checkbox],.display-switch .x-form-check-wrap [type=checkbox]{left:-9999px;position:absolute}html[dir=rtl] #modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] .display-switch .x-form-check-wrap [type=checkbox]{left:unset;right:-9999px}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label{box-sizing:border-box;cursor:pointer;line-height:1;margin-left:0;padding-left:3.6em;padding-top:.2em;position:relative}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{content:"";font-size:inherit;position:absolute;transition:all .2s ease}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{background:#e4e4e4;border-radius:1.2em;height:1.6em;left:0;top:0;width:3em;z-index:10}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after{background-color:#fff;border-radius:50%;height:1.3em;left:.1em;margin-top:-.65em;top:.8em;width:1.3em;z-index:11}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after{left:1.6em;top:.8em}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before{background-color:#6cb24a;border-color:#6cb24a}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before{background-color:#cf1124;border-color:#cf1124}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before{background-color:#f0b429;border-color:#f0b429}.switch-container{padding-top:1.6rem}.x-form-check-group,.x-form-radio-group{overflow:hidden;padding-bottom:.5em}.x-form-check-group .x-column .x-form-item:first-child,.x-form-radio-group .x-column .x-form-item:first-child{padding:4px 0 0}.x-form-check-group.aggregated-group,.x-form-radio-group.aggregated-group{padding-left:1em;padding-right:1em}.x-superboxselect{margin:0;outline:0;padding:0 5px 5px;position:relative;white-space:normal;width:auto!important}.ext-strict .x-toolbar .x-small-editor .x-superboxselect,.x-superboxselect{height:auto!important}.x-superboxselect ul{cursor:text;min-height:20px;overflow:visible;padding-right:61px;white-space:normal;width:auto!important}.x-toolbar .x-superboxselect ul{margin:-5px 0 0 -5px}.x-superboxselect ul li{margin:5px 5px 0 0;padding:0}.x-superboxselect ul li.x-superboxselect-item{cursor:default;font-size:12px;padding:4px 18px 4px 4px!important;position:relative}.x-superboxselect ul li.x-superboxselect-item.x-superboxselect-item-focus{background-color:#234368;box-shadow:0 0 0 1px #234368;color:#fff}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close{border:0;color:inherit;cursor:pointer;display:inline-block;filter:alpha(opacity=60);height:100%;opacity:.6;outline:0;padding:0;position:absolute;right:0;top:0;transition:opacity .25s;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before{box-sizing:border-box;color:inherit;content:"\f00d";font-size:14px;margin-top:-7px;position:absolute;right:0;text-align:center;top:50%;vertical-align:middle;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:focus,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:hover{filter:alpha(opacity=100);opacity:1}.x-superboxselect ul li.x-superboxselect-input{display:inline-block}.x-superboxselect ul li.x-superboxselect-input input{background:none;border:0;line-height:20px;outline:0}.x-superboxselect.x-superboxselect-stacked li{box-sizing:border-box;margin:5px 0 0;width:100%}.x-superboxselect .x-superboxselect-btns{height:100%;overflow:visible;position:absolute;right:0;top:0;width:61px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-expand{border-radius:0;right:31px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear{border-left:1px solid #e4e4e4}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before{content:"\f00d"}.inline-form{border:0;padding:15px 15px 0}.inline-form label{color:#777;display:block;font-weight:700;margin-bottom:2px}.inline-form input[type=text],.inline-form textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;position:relative;width:97%}.inline-form input[type=text]{font-size:13px;height:20px!important;padding:5px}.modx-tv-description{color:#515151;font-size:10px;line-height:1.2;margin-top:2px!important}.modx-tv-reload-btn{float:right;position:absolute;right:19px;z-index:10}.modx-tv-reload-btn div{z-index:10}.modx-tv-th label{cursor:pointer}.modx-tv-th .tv-description{color:#515151;font-size:11px;font-weight:400}.x-editor .x-form-check-wrap{background-color:#fff}.x-grid-editor .x-form-field-wrap{background:#f6f2f7 url(../images/modx-theme/form/combo-bck.png) repeat-x scroll 0 100%}.x-grid-editor .x-form-field-wrap input{background-color:initial!important}.x-grid-editor .x-form-field-wrap img{background-color:#fff;background-image:url(../images/modx-theme/form/trigger.png)}.x-form-grow-sizer,.x-form-invalid-msg{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-invalid-msg{color:#cf1124;margin-top:2px;min-width:95%;position:relative}.x-form-invalid-msg:before{color:inherit;content:"\f071";left:3px;position:absolute;top:3px}.x-form-empty-field{color:#515151}.x-grid3 .x-small-editor .x-form-field-wrap,.x-grid3 .x-small-editor .x-form-text{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin-top:7px;padding:2px 5px}.x-grid3 .x-small-editor .x-form-field-wrap .x-form-text,.x-grid3 .x-small-editor .x-form-text .x-form-text{margin:0;padding:0}.x-grid3 .x-small-editor .x-form-field-wrap{overflow:hidden}.x-combo-list{border:0;border-radius:3px;overflow:visible}.x-combo-list .x-combo-list-inner{background-color:#fff;border:1px solid #999;border-radius:3px;margin-left:-1px;width:100%!important}.x-combo-list .x-combo-list-item{border:0!important;border-bottom:1px solid #e4e4e4!important;color:#515151;min-height:18.2px;padding:6px 8px}.x-combo-list .x-combo-list-item:last-child{border-bottom-color:#fff!important}.x-combo-list .x-combo-list-item.x-combo-selected{background-color:#e4e4e4;border:0!important;border-bottom:1px solid #e4e4e4!important;color:#1b3451}.x-combo-list .x-combo-list-item.x-combo-list-item-grouped{padding:6px 14px}.x-combo-list .x-combo-list-item .x-combo-list-title{display:block;font-weight:700;margin:0 0 5px}.x-combo-list .x-combo-list-group{border-bottom:1px solid #e4e4e4;color:#515151;font-weight:700;padding:6px 8px}.x-combo-list .x-toolbar{border:0;border-radius:0 0 3px 3px;box-shadow:0 0 0 1px #234368;margin-top:-1px;position:relative}.x-combo-list .x-toolbar .x-toolbar-ct{padding:5px 0 15px}.x-combo-list .x-toolbar .x-toolbar-left table{margin:0 auto}.x-combo-list .x-toolbar .x-toolbar-cell{display:inline-block}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn,.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#0000;box-shadow:none;font-size:10px;line-height:16px;margin-right:2px;min-height:16px;padding:2px}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn{padding:1px;transition:color .25s}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-over,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:focus,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:hover{color:#234368}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-click,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:active{color:#1b3451}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-item-disabled{color:#515151;opacity:.4}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn button:before{left:0;line-height:20px;right:0;top:0}.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#fbfbfb;width:23px}.x-combo-list .x-toolbar .xtb-text{font-size:10px;line-height:1;margin:0 auto;padding:0;text-align:center}.x-combo-list .x-toolbar .x-toolbar-cell:first-child .x-btn{margin-left:1px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{display:none;left:0;position:absolute;right:0;top:2px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{bottom:4px;display:inline-block;left:0;position:absolute;right:0;top:auto}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .x-btn{margin-right:0}.x-combo-list .x-toolbar .x-toolbar-cell:last-child{opacity:0;transition:opacity .25s}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn{bottom:2px;font-size:12px;line-height:1;margin:0;opacity:.4;padding:0;position:absolute;right:1px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn:hover{opacity:1}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button{height:16px;width:16px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button:before{font-size:12px}.x-combo-list .x-toolbar:hover .x-toolbar-cell:last-child{opacity:1}.x-combo-list .x-resizable-handle-southeast{bottom:1px;right:3px}.x-combo-list.modx-superboxselect .x-combo-list-inner{margin-left:0}.x-combo-list-hd{background-image:url(../images/modx-theme/layout/panel-title-light-bg.gif);border-bottom-color:#bcbcbc;color:#464646}.x-combo-list-small{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-date-mp,.x-date-picker{background-color:#fbfbfb}.x-date-mp .x-btn,.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-btn,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{border:0;margin:0 0 0 7px;padding:5px 10px}.x-date-mp .x-btn:first-child,.x-date-mp .x-date-mp-cancel:first-child,.x-date-mp .x-date-mp-ok:first-child,.x-date-picker .x-btn:first-child,.x-date-picker .x-date-mp-cancel:first-child,.x-date-picker .x-date-mp-ok:first-child{margin:0}.x-date-mp .x-btn button,.x-date-mp .x-date-mp-cancel button,.x-date-mp .x-date-mp-ok button,.x-date-picker .x-btn button,.x-date-picker .x-date-mp-cancel button,.x-date-picker .x-date-mp-ok button{font-size:11px;font-style:normal;margin:0}.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{height:16px}.x-date-middle{padding:5px 3px}.x-date-left a,.x-date-mp-ybtn a.x-date-mp-next,.x-date-mp-ybtn a.x-date-mp-prev,.x-date-right a{display:inline-block;filter:alpha(opacity=60);margin:0 auto;opacity:.6;position:relative;transition:opacity .25s}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before{box-sizing:border-box;color:#234368;content:"";font-size:18px;height:18px;left:0;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-date-left a:hover,.x-date-mp-ybtn a.x-date-mp-next:hover,.x-date-mp-ybtn a.x-date-mp-prev:hover,.x-date-right a:hover{filter:alpha(opacity=100);opacity:1}.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-right a:before{content:"\f0da";left:auto;right:0}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-prev:before{content:"\f0d9"}.x-date-inner{margin:0 auto}.x-date-inner th{border-bottom-color:#e4e4e4;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-date-inner td,.x-date-mp td{background-color:#fff;border:0;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:1px}.x-date-inner a,td.x-date-mp-month a,td.x-date-mp-year a{border-radius:3px;color:#999;font:inherit;font-weight:700}td.x-date-mp-month a,td.x-date-mp-year a{margin:0 3px}.x-date-inner .x-date-disabled a:hover,.x-date-inner .x-date-nextday a:hover,.x-date-inner .x-date-prevday a:hover,.x-date-inner a:hover,td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{background-color:#dcdcdc;color:#515151}.x-date-inner .x-date-disabled a{background-color:#e4e4e4;color:#999}.x-date-inner .x-date-active{color:#000}.x-date-inner .x-date-today a{border-color:#234368}.x-date-inner span{font-style:normal}.x-date-inner .x-date-active span,.x-date-inner .x-date-selected span{font-weight:700}.x-date-inner .x-date-selected a,td.x-date-mp-sel a{background-color:#234368;border-color:#fff;color:#fff}.x-date-inner .x-date-nextday a,.x-date-inner .x-date-prevday a{color:#dcdcdc}.x-date-bottom,.x-date-mp-btns{border-top:1px solid #e4e4e4;padding:5px}.x-date-bottom td,.x-date-mp-btns td{background-color:initial;border-top:1px solid #e4e4e4}td.x-date-mp-sep{border-right:1px solid #e4e4e4}.x-date-mmenu{background-color:#eee!important}.x-date-mmenu .x-menu-item{color:#000;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.radio-version .x-form-check-wrap .x-form-cb-label{display:block}.radio-version .x-form-check-wrap .x-form-cb-label .changelog{float:right}.x-form-template-picker .x-form-template-picker-search{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-radio-group{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;height:194px;overflow:auto}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{border-bottom:1px solid #e4e4e4}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category:last-child,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item:last-child{border-bottom:0}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label{display:block}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label:before,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label:before{display:none}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover{background-color:#e4e4e4;color:#1b3451}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-cb-label{padding:10px 14px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-cb-label{font-weight:700!important;padding:10px 8px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-item-disabled{filter:alpha(opacity=100);opacity:1;-moz-opacity:1}.x-form-template-preview{background-color:#fff;background:url(../images/tp-no-preview.png) no-repeat 50%;border:1px solid #e4e4e4;border-radius:3px;height:236px;overflow:hidden}.x-form-template-preview .x-panel-body,.x-form-template-preview .x-panel-bwrap{height:100%;position:relative}.x-form-template-preview .x-form-template-preview-image{height:100%;-o-object-fit:cover;object-fit:cover}.x-form-template-preview .x-form-template-preview-desc{background-color:#000c;bottom:0;color:#fff;left:0;padding:10px 20px;position:absolute;right:0}#modx-tv-tabs{width:100%}.x-tab-panel-noborder{border:1px solid #e2e3de;margin:20px 0;overflow:visible}.x-tab-panel-noborder .x-tab-panel-body-noborder{background-color:#fff;border-radius:3px}.x-tab-panel-footer,.x-tab-panel-header{border:0;position:relative}.x-tab-panel-header ul.x-tab-strip{background-color:initial!important;border:0;margin:0;position:relative;top:1px}.x-tab-panel-footer-plain .x-tab-strip-spacer,.x-tab-panel-header-plain .x-tab-strip-spacer{border:none;height:0}.x-tab-panel .x-tab-panel{padding-top:18px}.x-tab-panel .x-tab-panel.vertical-tabs-panel{padding-top:0}.x-tab-panel .x-tab-panel .x-tab-strip-wrap .x-tab-strip{background-color:#fbfbfb!important}.x-tab-panel-header,.x-tab-strip{padding-left:0}.x-tab-panel-bwrap{border-radius:3px;overflow:visible}.x-tab-panel-bwrap .x-tab-panel-bwrap{box-shadow:none}ul.x-tab-strip li{background-color:initial;border-top-left-radius:3px;border-top-right-radius:3px;color:#53595f;cursor:pointer;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:2.2;margin-left:0;padding:0 12px;position:relative;z-index:5}html[dir=rtl] ul.x-tab-strip li{float:right}ul.x-tab-strip li:hover{background-color:#e4e4e4;color:#000}ul.x-tab-strip li.x-tab-strip-active{background-color:#fff;color:#234368;cursor:default}.vertical-tabs-header ul.x-tab-strip li.x-tab-strip-active{border-radius:0}ul.x-tab-strip li.x-tab-strip-active:hover{background-color:#fff}ul.x-tab-strip li.x-tab-edge{height:0;visibility:hidden}.x-tab-panel,.x-tab-panel-header,.x-tab-strip-wrap{border:none;overflow:visible}.x-tab-strip-wrap{margin:0;overflow:hidden;padding:2px 0 0}.x-tab-strip-closable{padding-right:15px!important}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/modx-theme/tabs/tab-close.gif);right:2px}ul.x-tab-strip-top li:first-child{margin-left:0}ul.x-tab-strip-bottom{background-color:#f4f4f4;border-top-color:#dfdfdf}ul.x-tab-strip-bottom .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-left-bg.gif)}ul.x-tab-strip-bottom .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-left-bg.gif)}.x-tab-panel-body{background-color:#fff;border:0;overflow:visible}.x-tab-scroller-left,.x-tab-scroller-right{border:0}.x-tab-scroller-left:before,.x-tab-scroller-right:before{box-sizing:border-box;color:#515151;content:"";filter:alpha(opacity=100);font-size:28px;margin-top:-20px;opacity:1;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:18px}.x-tab-scroller-left-over:before,.x-tab-scroller-right-over:before{color:#234368}.x-tab-scroller-left-disabled,.x-tab-scroller-right-disabled{cursor:default}.x-tab-scroller-left-disabled:before,.x-tab-scroller-right-disabled:before{color:#515151;filter:alpha(opacity=100);opacity:.4}.x-tab-scroller-left:before{content:"\f0d9"}.x-tab-scroller-right:before{content:"\f0da"}.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar{border-color:#dfdfdf}.x-tab-panel-body-noborder .x-panel-body-noheader:first-child{border-top:0}.x-tab-panel-bbar-noborder .x-toolbar{border-top-color:#0000}.x-tab-panel-tbar-noborder .x-toolbar{border-bottom-color:#0000}.vertical-tabs-panel{background-color:#fff;margin:0;overflow:hidden}.vertical-tabs-panel.wrapped{border:1px solid #e4e4e4}.vertical-tabs-panel .vertical-tabs-header{background:#fff!important;border-right:1px solid #e4e4e4!important;float:left;margin-bottom:-10000px;padding-bottom:10000px!important;width:168px!important}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap{background-color:initial;display:inline-block;line-height:0;margin:0;padding:0;width:auto!important}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip{border:0;display:inline-block;top:0;width:auto}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{border-bottom:1px solid #e4e4e4;border-right:1px solid #e4e4e4;color:#515151;float:none;line-height:1;margin:0;overflow:hidden;padding:10px 15px;transition:background-color .25s,color .25s}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{font-size:12px;padding:8px}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li:hover{background:#fff}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{background:#fff;border-color:#234368 #fff #234368 #234368;box-shadow:none;color:#234368;width:168px}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge{height:0;visibility:hidden}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge .x-tab-strip-text{display:none}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li .x-tab-strip-text{line-height:1.4;padding:2px 0;white-space:pre-wrap}.vertical-tabs-panel .vertical-tabs-header h4{background:#fff;border-bottom:1px solid #e4e4e4;color:#53595f;font-size:16px;padding:15px 0 15px 15px}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-spacer{display:none}.vertical-tabs-panel .x-tab-panel-bwrap{box-shadow:none}.vertical-tabs-panel .x-tab-panel-bwrap .x-tab-panel-body{border-top:0;width:auto!important}.vertical-tabs-panel .x-tab-panel-bwrap .vertical-tabs-body{border:0;padding:15px 20px 15px 15px}.tvs-wrapper.below-content{border-radius:3px;margin:1rem}.tvs-wrapper.below-content .vertical-tabs-panel{border-radius:3px}@media screen and (max-width:960px){.tvs-wrapper.below-content{margin:0}}.window-vtabs .x-panel-mr{padding-right:0}.window-vtabs .vertical-tabs-panel{margin:0;width:100%!important}#modx-split-wrapper .x-border-layout-ct{background:#0000}#modx-leftbar-tabs-xcollapsed{display:none!important}#modx-leftbar{background-color:#fff;min-width:288px;z-index:0}@media screen and (min-width:961px){#modx-leftbar{max-width:50%}}#modx-leftbar .x-toolbar{border:0;padding:0!important}#modx-header{background:#234368;height:100%;max-width:70px;position:absolute;z-index:2}#modx-navbar{display:flex;flex-direction:column;font-weight:700;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:100%;padding:0 5px;z-index:20}#modx-navbar .icon{color:#fff;font-size:20px;line-height:20px;vertical-align:middle}#modx-navbar a,#modx-navbar li{background:#0000;margin:0;padding:0;position:relative;text-align:center;width:100%}#modx-navbar a{color:#fff;cursor:pointer;display:block;font-size:10px;line-height:12px;text-decoration:none}#modx-navbar a .description{font-size:9px;opacity:.7}#modx-navbar a .description,#modx-navbar a .icon,#modx-navbar a .label{display:block;width:100%}#modx-navbar li a:hover{opacity:.7}#modx-navbar #modx-user-menu a .description,#modx-navbar #modx-user-menu a .label{display:none}#modx-navbar #modx-user-menu a #user-username{align-self:center;max-width:7ch;overflow:hidden;padding-top:.25rem;text-overflow:ellipsis;white-space:nowrap}#modx-navbar #modx-leftbar-trigger a,#modx-navbar #modx-manager-search-icon a,#modx-navbar #modx-user-menu a{padding:12px 0}#modx-navbar #modx-topnav{list-style:none;margin:0;padding:0}#modx-navbar #modx-topnav .top:not(#modx-manager-search-icon){border-top:1px solid #ffffff1a}#modx-navbar #modx-topnav>li:not(#modx-home-dashboard):not(#modx-manager-search-icon):not(#modx-leftbar-trigger)>a{display:block;padding:12px 0;position:relative}#modx-navbar #modx-user-menu{margin-top:auto}#modx-navbar #modx-user-menu #user-avatar img{border-radius:20px;display:block;height:40px;margin:auto;width:40px}#modx-navbar #modx-user-menu #limenu-user a{display:flex;flex-direction:column;justify-content:center}#modx-navbar #modx-home-dashboard{border-radius:3px;height:40px;line-height:40px;padding:10px;width:40px}#modx-navbar #modx-site-info{font-size:10px}#modx-navbar #modx-site-info .full_appname,#modx-navbar #modx-site-info .site_name{color:#fff}#modx-navbar #modx-site-info>.info-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#modx-leftbar-trigger{transition:all .2s ease}#modx-leftbar-trigger .icon:before{content:"\f060"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f061"!important}#modx-footer .modx-subnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;box-sizing:border-box;display:block;list-style:none;opacity:0;position:absolute;transition:all .15s ease;visibility:hidden;z-index:10000}#modx-footer .modx-subnav li{background:#fff;border-radius:3px;display:block;margin:0;padding:0;position:relative}#modx-footer .modx-subnav li:not(:first-child){border-top:1px solid #e4e4e4}#modx-footer .modx-subnav li:hover:after{border-right-color:#e4e4e4}#modx-footer .modx-subnav li.sub:after{color:#999;content:"\f0da";font-size:14px;margin-top:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}#modx-footer .modx-subnav li a{background-color:#fff;border-radius:3px;color:#515151;cursor:pointer;display:block;font-weight:700;line-height:1.5;margin:0;padding:8px 15px;text-decoration:none;text-shadow:none;width:270px}#modx-footer .modx-subnav li a .icon{display:inline-block;font-size:18px;opacity:.07;padding-left:5px}#modx-footer .modx-subnav li a span{color:#999;display:block;float:none;font-size:12px;font-weight:400;line-height:1.3;margin-top:6px;width:100%}#modx-footer .modx-subnav li a:hover{background:#e4e4e4;border-bottom-color:#e4e4e4;border-top-color:#e4e4e4;color:#53595f}#modx-footer .modx-subnav li a:hover .description{color:#707070}#modx-footer .modx-subnav.active{opacity:1;visibility:visible}#modx-footer .modx-subnav .modx-subsubnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;list-style:none;position:absolute;z-index:24}#modx-footer .modx-subnav .modx-subsubnav-arrow{border:8px solid #0000;border-right-color:#fff;content:" ";display:none;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10010}#modx-footer .modx-subnav .modx-subsubnav.active+.modx-subsubnav-arrow{display:block}@media screen and (min-width:961px){#modx-footer .modx-subnav .modx-subsubnav{opacity:0;visibility:hidden}#modx-footer .modx-subnav .modx-subsubnav.active{opacity:1;visibility:visible}}#modx-footer .modx-subnav-arrow{border:12px solid #0000;border-right-color:#fff;content:" ";margin-top:-6px;pointer-events:none;position:absolute;right:100%}#modx-footer #language .modx-subsubnav{max-height:calc(100vh - 12px);overflow-x:hidden;overflow-y:auto}@media screen and (max-width:960px){#modx-header{height:auto!important;min-width:100%;position:relative}#modx-navbar{flex-direction:row;flex-wrap:wrap}#modx-navbar #modx-headnav{order:1;width:50%}#modx-navbar #modx-headnav a{line-height:normal!important}#modx-navbar #modx-headnav img{max-width:35px}#modx-navbar #modx-topnav{order:0;width:100%}#modx-navbar #modx-user-menu{flex-direction:row-reverse;flex-wrap:nowrap;margin-top:0;order:2;width:50%}#modx-navbar>ul{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}#modx-navbar>ul>li{flex-basis:50px}#modx-navbar #modx-site-info{display:none}#modx-navbar #modx-home-dashboard{margin:0;padding:5px}#modx-leftbar-trigger .icon{padding:3px 4px}#modx-leftbar-trigger .icon:before{content:"\f062"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f063"!important}#modx-footer .modx-subnav{min-width:300px}#modx-footer .modx-subnav .description{display:none}#modx-footer .modx-subnav li{border-radius:0}#modx-footer .modx-subnav li.sub:after{display:none}#modx-footer .modx-subnav li a{white-space:nowrap;width:auto}#modx-footer .modx-subnav .modx-subsubnav{box-shadow:none;display:block;left:auto;max-height:none!important;overflow-y:initial!important;position:static}#modx-footer .modx-subnav .modx-subsubnav li>a{margin-left:1rem}#modx-footer .modx-subnav-arrow{display:none}#modx-footer .modx-subnav{max-height:calc(100vh - 109px);overflow-x:hidden;overflow-y:auto}}@media (max-height:520px){#modx-footer .modx-subnav .description{display:none}}#modx-manager-search{background:#fff;border-radius:3px 3px 0 0;height:38px;min-width:100px;padding:10px 10px 5px}#modx-manager-search .x-form-text{background:none}#modx-manager-search .x-form-field-wrap{background-image:none;color:#565353;font-size:12px;outline:none!important}#modx-manager-search .x-form-field-wrap .x-form-text{color:#515151;font-weight:400;letter-spacing:0;text-shadow:none}#modx-manager-search .x-form-field-wrap .x-form-empty-field{color:#6a747a}#modx-manager-search .x-form-field-wrap .x-form-trigger{display:none}.modx-manager-search-results{background:#e4e4e4;border:1px solid #e4e4e4;border-radius:0 0 3px 3px;box-shadow:0 4px 10px 0 #0003;box-sizing:border-box;height:auto!important;position:relative;width:402px!important}.modx-manager-search-results .loading-indicator{background:none;color:#515151;font-size:14px;margin:10px 0;text-align:center}.modx-manager-search-results .loading-indicator:before{content:"\f110";margin-right:5px}.modx-manager-search-results .x-combo-list-inner{background:#fff;border:0;margin:0;overflow:auto;width:100%!important}@media screen and (max-width:960px){.modx-manager-search-results .x-combo-list-inner{height:auto!important;line-height:4em}.modx-manager-search-results .x-combo-list-inner .section>*{padding-bottom:.5em;padding-top:.5em}}.modx-manager-search-results .section{border-left:1px solid #ededed;font-size:12px;line-height:12px;margin-left:100px;position:relative;width:auto}.modx-manager-search-results .x-combo-list-item,.modx-manager-search-results h3{color:#515151;line-height:18px;margin:0;padding:4px 6px}.modx-manager-search-results h3{color:#53595f;font-size:11px;font-weight:400;left:-108px;line-height:11px;position:absolute;text-align:right;top:0;width:95px}.modx-manager-search-results a{color:inherit;cursor:pointer;display:inline-block;padding-left:20px;position:relative;text-decoration:none}.modx-manager-search-results i{color:#234368;left:0;position:absolute;top:4px}.modx-manager-search-results em{font-style:normal;opacity:.7}.modx-manager-search-results .x-combo-list-item{overflow:visible;white-space:normal}.modx-manager-search-results .x-combo-list-item a{display:block}.modx-manager-search-results .x-combo-list-item.x-combo-selected,.modx-manager-search-results .x-combo-list-item:hover{background-color:#e4e4e4;border:0;margin-left:0;z-index:10}.modx-manager-search-results .x-combo-list-item.x-combo-selected h3,.modx-manager-search-results .x-combo-list-item:hover h3{left:0}.modx-manager-search-results .x-combo-list-item.x-combo-selected p,.modx-manager-search-results .x-combo-list-item:hover p{border-left-color:#0000}.modx-manager-search-results .x-combo-list-item.x-combo-selected a,.modx-manager-search-results .x-combo-list-item:hover a{color:#515151}.modx-manager-search-results .icon-user{background-image:none!important}.breadcrumbs .panel-desc{margin-top:0}.crumb_wrapper{background:#fbfbfb;border-bottom:1px solid #e4e4e4;border-top:1px solid #e4e4e4;margin-top:15px}.crumb_wrapper .crumbs{height:34px;overflow:hidden}.crumb_wrapper .crumbs li{color:#53595f;float:left;font-size:12px;font-weight:400;line-height:12px;padding:0 0 0 20px;position:relative;z-index:1}.crumb_wrapper .crumbs li.first{padding:0}.crumb_wrapper .crumbs li.first:before{content:"\f015";display:inline-block;font-size:20px;left:0;line-height:34px;position:absolute;text-align:center;text-indent:0;top:0;z-index:2}#packages-breadcrumbs .crumb_wrapper .crumbs li.first:before{content:"\f1b2"}.crumb_wrapper .crumbs li.first:hover:before{color:#fff}.crumb_wrapper .crumbs li.first:hover{background-color:#515151}.crumb_wrapper .crumbs li.first .root{background-color:initial;box-sizing:initial;display:inline-block;line-height:12px;margin:0;padding:12px;text-indent:-999em;width:35px;z-index:3}.crumb_wrapper .crumbs li.first .root:before{display:none}.crumb_wrapper .crumbs li.first .root:hover{background-color:initial}.crumb_wrapper .crumbs li:hover button,.crumb_wrapper .crumbs li:hover span,.crumb_wrapper .crumbs li:hover span:after{background-color:#515151;color:#fff}.crumb_wrapper .crumbs li:hover button:after,.crumb_wrapper .crumbs li:hover span:after{border-color:#fbfbfb #fbfbfb #515151 #515151;border-style:solid;border-width:1px}.crumb_wrapper .crumbs li:hover button:before,.crumb_wrapper .crumbs li:hover span:before{background-color:#515151}.crumb_wrapper .crumbs li:hover+li button:before,.crumb_wrapper .crumbs li:hover+li span:before{border-left-color:#515151}.crumb_wrapper .crumbs li button{background-color:initial;border:0;color:#53595f;cursor:pointer;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;line-height:1;text-decoration:none}.crumb_wrapper .crumbs li span{background-color:#fbfbfb}.crumb_wrapper .crumbs li button,.crumb_wrapper .crumbs li span{display:inline-block;margin:0 0 0 1px;padding:11px 13px 11px 15px;position:relative}.crumb_wrapper .crumbs li button:before,.crumb_wrapper .crumbs li span:before{background-color:initial;border-bottom:50px solid #0000;border-left:30px solid #fbfbfb;border-top:50px solid #0000;content:"";display:inline-block;height:0;left:-33px;margin-top:-50px;padding-right:3px;position:absolute;top:50%;transform:scale(.99999);width:0;z-index:-1}.crumb_wrapper .crumbs li button:after,.crumb_wrapper .crumbs li span:after{background-color:#fbfbfb;border:1px solid #dcdcdc;border-bottom:0;border-left:0;border-radius:3px;content:"";display:inline-block;height:34px;position:absolute;right:-22px;top:0;transform:scaleX(.6) rotate(45deg);width:34px;z-index:-1}.x-toolbar{background-color:#f7f7f7;background-image:none;border-color:#dfdfdf}.x-toolbar .x-toolbar-cell label,.x-toolbar .xtb-text{margin:0 5px 0 7px;padding:0}.x-toolbar .x-item-disabled{filter:alpha(opacity=60);opacity:.6}.x-toolbar td.x-toolbar-cell:first-of-type .xtb-text{margin-left:0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:0}.x-toolbar .x-btn-group-header{line-height:1}.x-toolbar em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-toolbar .x-btn-click em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active em.x-btn-split-bottom,.x-toolbar .x-btn-over em.x-btn-split-bottom,.x-toolbar .x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.ext-ie .x-toolbar-cell .x-form-field-wrap{height:30px}.x-tbar-page-first{background-image:url(../images/modx-theme/grid/page-first.png)!important}.x-tbar-loading{background-image:url(../images/modx-theme/grid/refresh.png)!important}.x-tbar-page-last{background:none!important;position:relative}.x-tbar-page-last:before{content:"\f04e";left:1px;right:auto;top:1px}.x-tbar-page-next{background:none!important;position:relative}.x-tbar-page-next:before{content:"\f0da";font-size:18px;left:1px;line-height:110%;right:auto}.x-tbar-page-prev{background:none!important;position:relative}.x-tbar-page-prev:before{content:"\f0d9";font-size:18px;left:auto;line-height:110%;right:1px}.x-tbar-loading{background:none!important;position:relative}.x-tbar-loading:before{bottom:auto;content:"\f01e";top:1px}.x-tbar-page-first{background:none!important;position:relative}.x-tbar-page-first:before{content:"\f04a";left:auto;right:1px;top:1px}.x-paging-info{color:#444}.x-toolbar-more-icon{background-image:url(../images/modx-theme/toolbar/more.gif)!important}.x-panel-bbar{padding-top:10px}.modx-browser-rte-buttons .x-panel-bbar{background-color:#fff;border-top:1px solid #fff;padding:5px}.modx-browser-rte-buttons .x-panel-bbar .x-toolbar-layout-ct{width:auto!important}.x-panel-bbar .x-toolbar{background-color:initial;border:0;overflow:hidden;padding:2px 0}.x-panel-bbar .x-toolbar .x-form-text{padding:5px 10px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number,.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-size{width:32px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number{margin-right:3px}.x-panel-bbar .x-toolbar .x-btn{margin-right:10px;padding:8px 13px}.modx-browser-rte .x-panel-bbar .x-toolbar .x-btn{margin-right:0;padding:10px 15px}.x-panel-bbar .x-toolbar .xtb-text{margin:0 3px 0 0}.x-panel-tbar{overflow:visible;padding-bottom:4px}.x-panel-tbar .x-toolbar{border:0;overflow:visible;padding:5px 0}.x-panel-tbar .x-toolbar td{vertical-align:bottom}.x-panel-tbar .x-toolbar input.filter-query{bottom:-1px;position:relative}.x-panel-mc .x-panel-tbar .x-toolbar{background-image:none;border:0;padding:15px 0 7px}.x-panel-tbar-noheader .x-toolbar{background-color:initial;background-image:none;border:0;padding:5px 0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{border-radius:3px}.x-html-editor-tb .x-btn-text{background-image:url(../images/modx-theme/editor/tb-sprite.gif)}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{background-color:initial;border-bottom-color:#0000}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-top-color:#0000}#modx-leftbar .x-tab-panel-noborder{margin:0 8px}#modx-leftbar .x-tab-panel-bwrap{border-radius:0 0 3px 3px;position:relative;z-index:1}#modx-leftbar .x-tab-panel-bwrap .x-tab-panel-body-noborder{background:#f1f1f1;border-radius:0 0 3px 3px}@media screen and (max-width:960px){#modx-leftbar #modx-leftbar-tabpanel{margin:0 auto;padding:.5em;width:auto!important}#modx-leftbar{box-shadow:none;height:auto!important;left:auto!important;margin:0 auto 10px;position:relative!important;top:auto!important;width:100%!important}#modx-leftbar #modx-leftbar-header{display:none}#modx-leftbar .x-plain-body{height:auto!important;width:100%!important}}#modx-leftbar .x-panel-tbar{padding:0}#modx-leftbar .x-toolbar{padding:4px 5px 2px 0}#modx-leftbar .x-tree-root-ct{padding:6px}#modx-leftbar .x-tree .x-panel-body{background:#fff;border-radius:0}#modx-tree-usergroup .x-toolbar-left-row{display:flex;flex-wrap:wrap}#modx-resource-tree-tbar .x-toolbar-left .x-btn .tree-new-resource,#modx-tree-element .x-toolbar-left .x-btn .tree-new-template{margin-left:16px}#modx-split-wrapper #modx-leftbar-tabs-xcollapsed,#modx-split-wrapper .x-layout-split{margin-left:-70px}.x-layout-split{overflow:visible;width:8px;z-index:2}.x-layout-split:hover{background:#999}#modx-leftbar-tabs-xcollapsed .x-layout-mini{left:0}#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border-left:5px solid #515151;border-right:0}@media screen and (max-width:960px){#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border:none}}#modx-leftbar-tabs-xcollapsed .x-layout-mini:hover:after{border-left-color:#234368}.modx-tree{padding:0}#modx-file-tree .modx-tree:first-child{padding-top:4px}.x-tree-arrows .x-tree-elbow-end-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-plus{background:none}.x-tree-arrows .x-tree-elbow-end-minus:hover,.x-tree-arrows .x-tree-elbow-end-plus:hover,.x-tree-arrows .x-tree-elbow-minus:hover,.x-tree-arrows .x-tree-elbow-plus:hover{background:#d9d9d9;border-radius:50%}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before{background:#0000 0 0;content:"\f0da";display:inline-block;margin:0;padding-left:4px;padding-right:4px;text-align:center;width:10px}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-minus:before{content:"\f0d7"}.x-tree-node-el{background-position:5px;background-repeat:no-repeat;color:#515151;font:normal 14px/2.25 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 8px}.x-tree-node-el.is_folder{background:#0000}.x-tree-node-el .x-btn{box-shadow:none}.x-tree-node-el .icon{display:inline-block;font-size:1.15em;line-height:.75em;vertical-align:-15%;width:1em}.x-tree-node-el a span{padding-left:7px}.x-tree-node-el a span span{padding-left:0}.x-tree-node-el .icon-plus-circle,.x-tree-node-el .icon-refresh{font-size:1em;vertical-align:0}.unpublished,.unpublished a span,.unpublished a span i.icon,.unpublished a span i.icon-large,.unpublished i.icon,.unpublished i.icon-large{color:#b3b3b3!important;font-style:normal}.hidemenu,.hidemenu a span{color:#999;font-style:italic}.hidemenu a span i.icon,.hidemenu a span i.icon-large,.hidemenu i.icon,.hidemenu i.icon-large{color:#999;font-style:normal}.deleted{color:#af5a6280!important}.deleted i.icon,.deleted i.icon-large{color:#af5a6280!important;font-style:normal}.deleted a span{color:#af5a6280!important;text-decoration:line-through}.element-node-disabled a span{color:#aaa}.x-tree-node{background:#fff;color:#999;position:relative}.x-tree-node .element-node-disabled a span,.x-tree-node .element-node-disabled i.icon,.x-tree-node .x-tree-node-disabled a span,.x-tree-node .x-tree-node-disabled i.icon{color:#aaa}.element-node-locked a span{font-style:inherit}.modx-tree-node-tool-ct{bottom:0;line-height:1.8;position:absolute;right:6px;top:0}html[dir=rtl] .modx-tree-node-tool-ct{left:6px;right:unset}.modx-tree-node-tool-ct .x-btn:focus,.modx-tree-node-tool-ct .x-btn:hover{color:#6cb24a!important}#modx-gr-tree-resource .modx-tree-node-tool-ct,#modx-ih-resource-tree .modx-tree-node-tool-ct{display:none}.x-tree-node-el .modx-tree-node-btn-create{bottom:0;line-height:34px;opacity:0;overflow:hidden;position:absolute;right:6px;top:0;transition:opacity .4s ease-in}html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create{left:6px;right:unset}.x-tree-node-el .modx-tree-node-btn-create .x-btn{color:#515151;opacity:.4;transition:opacity .2s ease-in-out,color .2s ease-in-out}.x-tree-node-el .modx-tree-node-btn-create .x-btn:focus,.x-tree-node-el .modx-tree-node-btn-create .x-btn:hover{color:#6cb24a;opacity:1}#modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create,#modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create{display:none}.x-tree-node-el:focus .modx-tree-node-btn-create,.x-tree-node-el:hover .modx-tree-node-btn-create{opacity:1}.tree-pseudoroot-node.x-tree-node-el{background-color:#f1f1f1;font:500 14px/3 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 5px;position:relative}.tree-pseudoroot-node.x-tree-node-el>.icon,.tree-pseudoroot-node.x-tree-node-el a span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct{filter:alpha(opacity=50);line-height:3;opacity:.5}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct .x-btn{margin-left:2px}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-collapsed{border-bottom:1px solid #e4e4e4}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded>.icon,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-over{background-color:#e4e4e4;color:#53595f}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct{background:#fbfbfb;overflow-x:auto}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct:empty,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct:empty{padding:0}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct{filter:alpha(opacity=100);opacity:1}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct .x-btn{color:inherit}.x-tree-elbow,.x-tree-elbow-end{display:inline-block}#modx-leftbar .icon,.x-tree-node .icon{background:none;border:0;display:inline-block;filter:alpha(opacity=80);margin:0;opacity:.8;padding:3px;text-align:center}#modx-leftbar .icon.icon-code:before,#modx-leftbar .icon.icon-cogs:before,#modx-leftbar .icon.icon-columns:before,#modx-leftbar .icon.icon-folder:before,#modx-leftbar .icon.icon-th-large:before,.x-tree-node .icon.icon-code:before,.x-tree-node .icon.icon-cogs:before,.x-tree-node .icon.icon-columns:before,.x-tree-node .icon.icon-folder:before,.x-tree-node .icon.icon-th-large:before{font-weight:900}#modx-leftbar .icon i,.x-tree-node .icon i{font-style:normal}#modx-leftbar .icon button,.x-tree-node .icon button{display:none}.x-tree-node-ct .x-tree-node .icon{left:-1px;position:relative;top:-1px}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node div.x-tree-drag-insert-below{border-bottom:2px solid #a8c3e2!important}.x-tree-node div.x-tree-drag-insert-above{border-top:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #a8c3e2!important}.x-tree-node .x-tree-drag-append a span,.x-tree-node .x-tree-node-over{background-color:#e4e4e4}.x-tree-node .x-tree-selected{background-color:#d6e7f8}.x-tree-node .x-tree-expanded{background-color:#e4e4e4;color:#234368}.x-tree-node .x-tree-expanded a,.x-tree-node .x-tree-expanded a span{color:#234368}.icon-rss:before{content:"\f09e"}.icon-cal:before,.icon-ical:before,.icon-ics:before,.icon-vcs:before{content:"\f133"}.icon-db:before,.icon-sql:before{content:"\f1c0"}.icon-7z:before,.icon-bz2:before,.icon-dmg:before,.icon-gz:before,.icon-iso:before,.icon-rar:before,.icon-tar:before,.icon-tgz:before,.icon-zip:before{content:"\f1c6"}.icon-backup:before,.icon-bak:before,.icon-bk:before{content:"\f1da"}.icon-bmp:before,.icon-gif:before,.icon-jpeg:before,.icon-jpg:before,.icon-png:before,.icon-svg:before,.icon-tiff:before{content:"\f1c5"}.icon-bat:before,.icon-scr:before,.icon-sh:before{content:"\f120"}.icon-log:before,.icon-txt:before{content:"\f15c"}.icon-aac:before,.icon-aif:before,.icon-aiff:before,.icon-flac:before,.icon-m4a:before,.icon-mp3:before,.icon-ogg:before,.icon-wav:before,.icon-wma:before{content:"\f1c7"}.icon-3gp:before,.icon-avi:before,.icon-fla:before,.icon-flv:before,.icon-m4v:before,.icon-mov:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-swf:before,.icon-wmv:before{content:"\f1c8"}.icon-access:before,.icon-htaccess:before{content:"\f023"}.icon-as:before,.icon-cfm:before,.icon-jar:before,.icon-java:before,.icon-php:before,.icon-rb:before{content:"\f1c9"}.icon-doc:before,.icon-docx:before{content:"\f1c2"}.icon-csv:before,.icon-xls:before,.icon-xlsx:before{content:"\f1c3"}.icon-ppt:before,.icon-pptx:before{content:"\f1c4"}.icon-pdf:before{content:"\f1c1"}.icon-coffeescript:before,.icon-css:before,.icon-htm:before,.icon-html:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-scss:before,.icon-styl:before,.icon-xml:before{content:"\f1c9"}.icon-action{background-image:url(../images/restyle/icons/application_osx_terminal.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-action.x-tree-node-el{background-position:5px 5px!important}.icon-action:before{content:" "}.icon-namespace{background-image:url(../images/restyle/icons/computer.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-namespace.x-tree-node-el{background-position:5px 5px!important}.icon-namespace:before{content:" "}.icon-list-new{background-image:url(../images/restyle/icons/layout_add.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-list-new.x-tree-node-el{background-position:5px 5px!important}.icon-list-new:before{content:" "}.icon-mark-active{background-image:url(../images/restyle/icons/layout_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-active.x-tree-node-el{background-position:5px 5px!important}.icon-mark-active:before{content:" "}.icon-mark-complete{background-image:url(../images/restyle/icons/layout_header.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-complete.x-tree-node-el{background-position:5px 5px!important}.icon-mark-complete:before{content:" "}.icon-package{background-image:url(../images/restyle/icons/package.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;padding-right:5px!important;vertical-align:middle}.icon-package.x-tree-node-el{background-position:5px 5px!important}.icon-package:before{content:" "}.icon-locked{background-image:url(../images/restyle/icons/lock_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-locked.x-tree-node-el{background-position:5px 5px!important}.icon-locked:before{content:" "}.icon-lock{content:"\f023"}#modx-resource-tree-panel .x-accordion-hd{background-position:0 0}#modx-element-tree-panel .x-accordion-hd{background-position:0 -32px}#modx-file-tree-panel .x-accordion-hd{background-position:0 -64px}#modx-static-page-settings .x-accordion-hd{background-position:0 -96px}.x-tree-node-el .x-tree-node-icon{display:inline-block}.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/modx-theme/tree/loading.gif)!important}.x-tree-node-loading a span{color:#444;font-style:italic}.tree-context:before{content:"\f0ac"}.tree-resource:before{content:"\f15b"}.tree-static-resource:before{content:"\f15c"}.tree-weblink:before{content:"\f0c1"}.tree-symlink:before{content:"\f0c5"}.icon-folder:before,.parent-resource:before{content:"\f07b"}.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{content:"\f07c"}.locked-resource:before{content:"\f023"!important}.ext-ie .x-tree-node-el input{height:15px;width:15px}.x-tree-root-ct{border-radius:0;overflow:hidden;padding:0!important}.x-tree-root-node{margin:0}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node .x-tree-node-disabled a span{color:#d1d1d1}.x-tree-node div.x-tree-drag-insert-below{border-bottom-color:#686868}.x-tree-node div.x-tree-drag-insert-above{border-top-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top-color:#686868}.x-tree-node .x-tree-drag-append a span{background-color:#dfdfdf;border-color:#e4e4e4}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-add.gif)}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-over.gif)}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-under.gif)}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-between.gif)}#modx-leftbar-header{align-items:center;box-sizing:border-box;color:#53595f;display:flex;height:57px;justify-content:left;padding:.67rem 1rem}#modx-leftbar-header img{max-height:100%;max-width:33%}#modx-leftbar-header a{color:#53595f;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;text-decoration:none}#modx-leftbar-header a:focus,#modx-leftbar-header a:hover{color:#234368}#modx-leftbar-header a:after{content:"\f06e";font-size:14px;opacity:.5;padding:5px}#modx-leftbar-header img+a{padding-left:.67rem}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip-wrap{margin:0;padding:0}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip{display:flex;width:100%}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li{box-sizing:border-box;flex-grow:1;float:none;margin-left:0;text-align:center}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li#modx-leftbar-tabpanel__modx-trash-link{border-right:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li:hover{color:#234368}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active{background:#f1f1f1}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:after{box-shadow:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:before{background:#0000}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-clear,#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-tab-edge{display:none}#modx-leftbar-tabpanel__modx-trash-link .icon{opacity:.5}#modx-leftbar-tabpanel__modx-trash-link .icon:hover{color:#cf1124}#modx-leftbar-tabpanel__modx-trash-link.active .icon{opacity:1}.modx-browser-rte{background:#fff}.modx-browser-tree{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-tree,.x-window .modx-browser-tree{border-radius:0;border-right:1px solid #e4e4e4;box-shadow:none}.modx-browser-view-ct{background:#fff;border-radius:3px;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-rte .modx-browser-view-ct,.x-window .modx-browser-view-ct{border-radius:0;box-shadow:none}.modx-browser-thumb-wrap{cursor:pointer;float:left;margin:5px;overflow:hidden;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modx-browser-thumb-wrap.x-view-over .modx-browser-placeholder{color:#515151}.modx-browser-thumb-wrap.x-view-over .modx-browser-thumb{border:1px dotted #515151}.modx-browser-thumb-wrap.x-view-selected .modx-browser-placeholder{color:#234368}.modx-browser-thumb-wrap.x-view-selected .modx-browser-thumb{border:1px solid #234368}.modx-browser-thumb{background:#fff;border:1px solid #e4e4e4;height:100px;line-height:100px;padding:5px;width:100px}.modx-browser-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);max-width:100%;vertical-align:middle}.modx-browser-placeholder{color:#dcdcdc;font-size:14px}.details .modx-browser-placeholder{align-items:center;display:flex;font-size:24px;font-weight:700;height:100px;justify-content:center;overflow:hidden;width:100%}.modx-browser-list-item{padding:0 5px}.modx-browser-list-item>span{background-position:0!important;border-bottom:1px solid #e4e4e4;clear:both;display:block;min-height:16px;padding:5px 0 5px 20px;position:relative}.modx-browser-list-item>span:before{font-size:14px;left:2px;position:absolute}.modx-browser-list-item>span span{display:inline-block;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-list-item>span span.file-size,.modx-browser-list-item>span span.image-size{float:right;width:13%}.modx-browser-list-item.x-view-over>span{background:#fbfbfb}.modx-browser-list-item.x-view-selected>span{background:#fbfbfb;color:#234368}.modx-browser-view-ct .loading-indicator{background-position:0;background-repeat:no-repeat;font-size:11px;margin:10px;padding-left:20px}.modx-browser-pathbbar table,.modx-browser-pathbbar tbody,.modx-browser-pathbbar td,.modx-browser-pathbbar tr{display:block}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell{position:relative}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before{content:"\f328";filter:alpha(opacity=60);font-size:14px;left:0;opacity:.6;position:absolute;text-align:center;top:50%;width:30px}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row .modx-browser-filepath{background:#0000;border:0;border-radius:0;border-top:1px solid #e4e4e4;box-sizing:border-box;height:32px!important;margin:0!important;padding-left:30px;width:100%}.modx-browser-details-ct{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-details-ct,.x-window .modx-browser-details-ct{border-left:1px solid #e4e4e4;border-radius:0;box-shadow:none}.modx-browser-detail-thumb{color:#000;cursor:default;padding:5px;position:relative}.modx-browser-detail-thumb.preview{cursor:pointer}.modx-browser-detail-thumb.preview:before{content:"\f002";filter:alpha(opacity=0);font-size:56px;left:0;margin-top:-28px;opacity:0;position:absolute;text-align:center;text-shadow:0 0 10px #0003;top:50%;transition:opacity .25s;width:100%}.modx-browser-detail-thumb.preview:hover:before{filter:alpha(opacity=60);opacity:.6}.modx-browser-detail-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}.modx-browser-details-info{border-top:1px solid #e4e4e4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:15px;text-align:left}.modx-browser-details-info b{color:#53595f;display:block;margin-bottom:2px}.modx-browser-details-info span{display:block;margin-bottom:10px}.modx-browser-fullview{text-align:center}.modx-browser-fullview img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}@media screen and (max-width:960px){.modx-browser{max-height:100%!important;overflow-y:scroll;top:15px!important}.modx-browser-panel{background-color:#fff!important;margin:15px 0!important;min-height:700px;width:100%!important}.modx-browser-tree,.modx-browser-view-ct{max-width:35%!important;width:35%!important}.modx-browser-details-ct,.modx-browser-tree,.modx-browser-view-ct{display:inline-block!important;float:left;left:0!important;padding:0 5px;position:relative!important}.modx-browser-details-ct{max-width:20%!important;width:20%!important}.modx-browser-details-ct *,.modx-browser-tree *,.modx-browser-view-ct *{font-size:12px!important}.modx-browser-details-ct input,.modx-browser-tree input,.modx-browser-view-ct input{padding:5px!important}.modx-browser-tree .x-toolbar-ct tbody tr td{display:table-cell}.modx-browser-view-ct .x-panel-body,.modx-browser-view-ct .x-panel-tbar,.modx-browser-view-ct .x-panel-tbar-noheader,.modx-browser-view-ct .x-panel-tbar .x-toolbar,.modx-browser .x-panel-tbar-noheader,.modx-browser .x-toolbar{width:100%!important}.modx-browser-view-ct .x-panel-tbar .x-toolbar-cell label{line-height:2.2}.modx-browser-thumb-wrap{margin:5px;padding:5px;width:24%}.modx-browser-thumb{height:25px;line-height:25px;max-width:100%;overflow:hidden;padding:0}.modx-browser-thumb img{max-width:100%}.modx-browser-placeholder{height:50px}.modx-browser-details-info{padding:5px}}.x-window{-webkit-backface-visibility:hidden;border-radius:3px;box-shadow:0 0 15px 0 #0003;filter:alpha(opacity=0);opacity:0;overflow:visible;transform:scale(1) translateZ(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.x-window.anim-ready{transform:scale(.7) translateZ(0)}.x-window.zoom-in{filter:alpha(opacity=100);opacity:1;transform:scale(1) translateZ(0)}.x-window.zoom-out{filter:alpha(opacity=0);opacity:0;transform:scale(1.3) translateZ(0)}.ext-ie8 .x-window.x-window-dlg{filter:alpha(opacity=100)}.x-window .x-window-tl,.x-window .x-window-tr{padding:0}.x-window .x-window-tc{z-index:1}.x-window .x-window-tc .x-window-header{background-color:#f4f4f4;border-bottom:1px solid #f4f4f4;border-radius:3px 3px 0 0;color:#515151;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:8px;text-align:center}.x-window .x-window-tc .x-window-header-text{padding-left:24px}.x-window.x-panel-collapsed .x-window-tl{border-bottom:1px solid #dcdcdc}.x-window.x-panel-collapsed .x-window-header{border-radius:3px}.x-window .x-window-bwrap{overflow:visible}.x-window .x-window-bwrap .x-window-ml,.x-window .x-window-bwrap .x-window-mr{padding:0}.x-window .x-window-bwrap .x-window-mc{border:0;padding:0}.x-window .x-window-bwrap .x-window-mc .x-panel-bl,.x-window .x-window-bwrap .x-window-mc .x-panel-mc,.x-window .x-window-bwrap .x-window-mc .x-panel-ml,.x-window .x-window-bwrap .x-window-mc .x-panel-mr,.x-window .x-window-bwrap .x-window-mc .x-panel-tl{background:#0000;border:0;padding:0}.x-window .x-window-body{background-color:#fff!important;border:0;overflow-y:auto;padding:15px}.x-window.modx-window .x-window-body{padding-top:0}.x-window.modx-window.modx-alert .x-window-body,.x-window.modx-window.modx-confirm .x-window-body,.x-window.modx-window.modx-console .x-window-body,.x-window.modx-window .x-window-with-tabs .x-window-body{padding-top:15px}.x-window.modx-window .x-window-tc .x-window-header-text{padding-left:64px}.x-window .x-panel-bwrap{background:#fff;padding:0}.x-window .x-panel-bwrap .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window .x-window-with-tabs .x-window-body{background-color:#fbfbfb!important;overflow:visible}.x-window .x-window-with-tabs .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window form.x-panel-body:first-of-type{overflow:visible!important}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap{padding-top:3px}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap .x-tab-strip{border:0}.x-window .x-tab-panel-bwrap{background:#fff;box-shadow:0 4px 6px #00000026;padding:10px}.x-window .x-tab-panel-bwrap .x-tab-panel-body{overflow-y:auto}.x-window .x-tab-panel-bwrap .x-tab-panel-body .modx-panel .x-panel-bwrap,.x-window .x-window-bl,.x-window .x-window-br{padding:0}.x-window .x-window-bc .x-window-footer{background-color:#fff;border-radius:0 0 3px 3px;border-top:1px solid #fff;box-sizing:border-box;padding:5px 15px 15px;width:100%!important}.x-window.x-window-maximized{margin:0}.x-window.x-window-maximized .x-window-mc,.x-window.x-window-maximized .x-window-tc{padding:0}.x-window.modx-console .modx-console-text{background-color:#fff;border:none;font:12px SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;height:auto!important}.x-window.modx-console .debug{color:#515151}.x-window.modx-console .success{color:#6cb24a}.x-window.modx-console .warn{color:#4a90e2}.x-window.modx-console .error{color:#cf1124}.x-progress-wrap{border:1px solid #6cb24a;width:100%!important}.x-progress-wrap .x-progress-inner{background-color:#fdfefd}.x-progress-wrap .x-progress-bar{background-color:#6cb24a;border:0}.x-progress-wrap .x-progress-text{color:#fff;font-size:11px;font-weight:700}.x-progress-wrap .x-progress-text-back{color:#515151}.ext-el-mask{background-color:#fff;filter:alpha(opacity=0);opacity:0;transition:opacity .25s}.ext-el-mask.fade-in,.x-masked .ext-el-mask{filter:alpha(opacity=50);opacity:.5}.x-masked .ext-el-mask{z-index:9}.ext-mb-icon{display:inline-block;float:left;position:relative;width:40px!important}.ext-mb-icon:before{color:#4a90e2;content:"";font-size:32px;position:absolute;right:0;text-align:left;top:50%;transform:translateY(-50%);width:100%}.ext-mb-icon.ext-mb-info:before{color:#4a90e2;content:"\f05a"}.ext-mb-icon.ext-mb-question:before{color:#4a90e2;content:"\f059"}.ext-mb-icon.ext-mb-warning:before{color:#f0b429;content:"\f071"}.ext-mb-icon.ext-mb-error:before{color:#cf1124;content:"\f057"}.ext-mb-content{display:block;margin-left:0!important}.ext-el-mask-msg{background-color:#fff;border:1px solid #dcdcdc;border-radius:3px;box-shadow:0 4px 6px #00000026;padding:5px;z-index:10}.ext-el-mask-msg div{background-color:initial;border:0;color:#515151;cursor:default;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.ext-el-mask-msg .modx-lockmask div{color:#cf1124}.x-mask-loading div{background-image:url(../images/modx-theme/grid/loading.gif)}.dashboard{display:flex;flex-flow:row wrap;margin:-.5rem 0 0 -1rem!important;padding:0 15px}.dashboard .dashboard-button{background:#fff;border:1px solid #0000;border-radius:3px;display:inline-block;padding:5px 20px;text-decoration:none}.dashboard .dashboard-button-green{background:#6cb24a;border-color:#6cb24a;color:#fff}.dashboard .dashboard-button[disabled]{background-color:#e4e4e4}.dashboard .dashboard-button:not([disabled]):hover{border-color:#e4e4e4}.dashboard .dashboard-block{margin:1rem 0 0 1rem}.dashboard .dashboard-block:not(.headless){background-color:#fff;border-radius:3px}.dashboard .dashboard-block.headless .body{max-height:100%;overflow:visible;padding:0}.dashboard .dashboard-block.quarter{width:calc(25% - 1rem)}.dashboard .dashboard-block.one-third{width:calc(33.33332% - 1rem)}.dashboard .dashboard-block.half{width:calc(50% - 1rem)}.dashboard .dashboard-block.two-thirds{width:calc(66.66668% - 1rem)}.dashboard .dashboard-block.three-quarters{width:calc(75% - 1rem)}.dashboard .dashboard-block.full{width:calc(100% - 1rem)}.dashboard .dashboard-block.double{margin-top:2rem;min-height:250px;width:calc(100% - 1rem)}.dashboard .dashboard-block.double .body{height:100%;max-height:100%}.dashboard .dashboard-block.double .dashboard-buttons{height:100%}.dashboard .dashboard-block.double .dashboard-button{align-items:center}.dashboard .dashboard-block h4{color:#515151;font-size:13px;padding-bottom:2px}.dashboard .dashboard-block em{font-style:italic}.dashboard .dashboard-block strong{font-weight:700}.dashboard .dashboard-block ul{list-style:circle outside;padding:0 0 0 15px}.dashboard .dashboard-block img{max-width:100%}.dashboard .dashboard-block .draggable{cursor:move}.dashboard .dashboard-block .action-buttons{margin-left:auto;margin-right:10px}.dashboard .dashboard-block .action-buttons button{background:#0000;border:none;cursor:pointer;opacity:0}.dashboard .dashboard-block .action-buttons button.hidden{display:none}.dashboard .dashboard-block .body{color:#444;font-size:12px;height:auto;max-height:300px;overflow:auto;padding:10px;position:relative}.dashboard .dashboard-block .body .action-buttons{position:absolute;right:-5px;top:20px}.dashboard .dashboard-block .title-wrapper{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:nowrap}.dashboard .dashboard-block .title-wrapper .title{zoom:1;background:#fff;border-radius:3px;color:#515151;flex-grow:1;font-size:12px;font-weight:700;margin:0;padding:15px 10px}.dashboard .dashboard-block .actions button{height:10px;width:10px}.dashboard .dashboard-block:hover .action-buttons button{opacity:1}.dashboard ul.configcheck{list-style-type:none;padding:0}.dashboard ul.configcheck li{background-color:#fbfbfb;margin-bottom:.5em;margin-top:.5em;padding:1em 1.618em}.dashboard ul.configcheck li h5{color:#cf1124}.dashboard ul.configcheck li p{color:#515151}.dashboard .news_article{border-bottom:1px solid #dfdfdf;overflow:hidden;padding:15px 0}.dashboard .news_article h2 a{text-decoration:none}.dashboard .news_article h2{font-size:18px}.dashboard .news_article .date_stamp{float:right;font-size:12px;font-style:italic}.dashboard .configcheck a,.dashboard .news_article a{text-decoration:underline}.dashboard .configcheck a:hover,.dashboard .news_article a:hover{text-decoration:none}.dashboard .table-wrapper{overflow:auto;width:100%}.dashboard .table-wrapper table{border:1px solid #ddd;border-radius:5px;width:100%}.dashboard .table-wrapper table th{border-bottom:2px solid #f0f0f0;font-weight:700;padding:10px;text-align:initial}.dashboard .table-wrapper table td{border-bottom:1px solid #f0f0f0;padding:10px;vertical-align:center;white-space:nowrap}.dashboard .table-wrapper table td .unpublished{color:#999;font-style:italic}.dashboard .table-wrapper table td .deleted{color:#af5a6280!important;text-decoration:line-through}.dashboard .table-wrapper table tr:last-child td,.dashboard .table-wrapper table tr:last-child td tr:last-child td{border:none}.dashboard .table-wrapper table tr:last-child td tr:last-child td:first-child{border-bottom-left-radius:10px}.dashboard .table-wrapper table tr:last-child td tr:last-child td:last-child{border-bottom-right-radius:10px}.dashboard .widget-footer{border-top:1px solid #f0f0f0;padding-top:10px}.dashboard .widget-footer a{display:block;font-size:14px;padding-bottom:5px;padding-top:5px;text-align:center;text-decoration:none}.dashboard .widget-actions a{border:1px solid #e4e4e4;border-radius:3px;display:inline-block;margin-left:5px;padding:3px 5px;text-decoration:none}.dashboard .widget-actions a:first-child{margin-left:0}.dashboard .widget-actions a:hover{background:#f0f0f0}.dashboard .widget-actions a .icon{display:inline-block;height:12px;text-align:center;width:12px}.dashboard .no-results{color:#999;padding:10px;text-align:center}.dashboard .user-with-avatar{align-items:center;display:flex}.dashboard .user-with-avatar .user-avatar{margin:0 10px}.dashboard .user-with-avatar .user-avatar img{border-radius:50%;width:35px}.dashboard .user-with-avatar .user-name{color:#234368;font-weight:500}.dashboard .user-with-avatar .user-group{color:#999}.dashboard .occurred-date,.dashboard .resource .title{color:#234368;font-weight:500}.dashboard .occurred-time{color:#999}#modx-news-feed-container img{max-width:100%}.dashboard-buttons{display:flex;flex-wrap:wrap;justify-content:center;margin:-1rem 0 0 -1rem;width:calc(100% + 1rem)}.dashboard-buttons .dashboard-button{align-items:center;background-color:#fff;border-radius:3px;color:#53595f;display:flex;flex:1;margin:1rem 0 0 1rem;padding:20px;text-decoration:none}.dashboard-buttons .dashboard-button:hover{color:#000}.dashboard-buttons .dashboard-button:hover .icon{opacity:.7}.dashboard-buttons .dashboard-button-icon{background:#6cb24a33;border:1px solid #6cb24a;border-radius:20px;padding:10px;text-align:center}.dashboard-buttons .dashboard-button-icon .icon{color:#6cb24a;display:block;font-size:16px;font-weight:700;height:16px;text-align:center;width:16px}.dashboard-buttons .dashboard-button-wrapper{padding:0 10px}.dashboard-buttons .dashboard-button-title{font-weight:700}::-webkit-scrollbar,::-webkit-scrollbar-thumb{background-color:initial;border:.25rem solid #0000;border-radius:.5rem;height:1rem;width:1rem}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem #556c881a}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem #556c8833}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:initial}.updates-widget .updates-title{color:#234368;font-weight:500}.updates-widget .updates-updateable{background:#4a90e2;border-radius:20px;color:#fff;display:inline-block;font-weight:700;padding:2px 8px}.updates-widget .updates-available,.updates-widget .updates-ok{border-radius:3px;color:#fff;font-size:10px;padding:3px 8px;text-transform:uppercase}.updates-widget .updates-ok{background:#6cb24a}.updates-widget .updates-available{background:#cf1124}#modx-panel-system-info .x-form-label-left .x-form-item{padding:0 5px}#modx-panel-system-info .x-form-label-left .x-form-item:nth-child(2n){background:#f0f0f0}#modx-panel-system-info .x-form-label-left .x-form-item .x-form-display-field{padding:7px 0}@media screen and (max-width:960px){.dashboard-buttons .dashboard-button{align-items:center;flex-direction:column;flex-wrap:wrap;text-align:center}.dashboard-buttons .dashboard-button-wrapper{margin-left:0;margin-top:5px}.dashboard .dashboard-block.half,.dashboard .dashboard-block.one-third,.dashboard .dashboard-block.quarter,.dashboard .dashboard-block.two-thirds{width:calc(100% - 1rem)}.dashboard-buttons{flex-wrap:wrap}.dashboard-buttons .dashboard-button{padding:10px}.dashboard-buttons .dashboard-button-wrapper{display:none}}.nobg .x-panel-body{background:#0000;padding-right:1.5em}#managerbuttons{margin-bottom:1em;overflow:hidden;width:100%}#managerbuttons ul:after,#managerbuttons ul:before{content:" ";display:table}#managerbuttons ul:after{clear:both}#managerbuttons ul{*zoom:1;margin:0;width:100%}#managerbuttons ul li{box-sizing:border-box;display:table;float:left;margin:0;padding:0 1%;position:relative;width:20%}#managerbuttons ul li:first-child{padding-left:0}#managerbuttons ul li:last-child{padding-right:0}#managerbuttons ul li a{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 1px 0 #e4e4e4;color:#53595f;display:table-cell;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:12px;position:relative;text-align:center;text-decoration:none;vertical-align:middle}#managerbuttons ul li a span{display:block;line-height:1.4}#managerbuttons ul li a span.headline{font-size:12px}#managerbuttons ul li a span.subline{font-weight:400}#managerbuttons ul li a span.icon{display:block;margin:0 auto;padding:0 0 10px;width:auto}#managerbuttons ul li a:hover span.icon{color:#234368}#contactus,#helpBanner{background:#fff;border:1px solid #e4e4e4;box-shadow:0 1px 0 #e4e4e4;box-sizing:border-box;margin:.75em 0 1.75em;padding:18px;width:100%}#contactus h3,#helpBanner h3{margin:0 0 1em}#helpBanner{background-attachment:none;background-image:url(../images/modx-logo-color.svg),none;background-position:97%;background-repeat:no-repeat;background-size:200px;margin-top:1.5em;min-height:112px}#helpBanner #helpLogo{float:right;height:76px;margin-right:1em;width:200px}#contactus{box-sizing:border-box;float:left;width:60%}#contactus form{display:inline}#contactus input[type=email]{box-sizing:border-box;font-size:1.1em;margin-right:4px;padding:.4em;width:70%}#contactus input[type=submit]{border:0;cursor:pointer;font-size:1.1em;padding:6px 10px}#contactus p{color:#132539;margin:1em 0}#contactus form+p{margin:2em 0 0}#contactus a{color:#000;text-decoration:none}#contactus a:hover{text-decoration:underline}#contactus a:hover i{text-decoration:none}#contactus a i{margin:0 15px -6px 0}#mcsignup input.x-btn{padding:10px 15px}.icon.icon-2x{text-align:center;vertical-align:text-bottom;width:22px}#aboutMODX{background:#f0f0f0;box-sizing:border-box;float:left;margin:1em 0 0 2%;min-height:300px;padding:1em;width:38%}#aboutMODX p{line-height:1.6;margin:0 0 1em}#aboutMODX a{color:#234368;margin:-2px -4px;padding:2px 4px}#aboutMODX a:hover{background-color:#234368;color:#fff;text-decoration:none}.trashrow{background-color:#ccc!important}.x-btn-purge-all{color:#cf1124}.x-btn-purge-all:hover{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff}.x-btn-restore-all{color:#6cb24a}.x-btn-restore-all:hover{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff}#changelog-tab p{margin-bottom:.3rem}#changelog-tab h1{color:#595959}#changelog-tab h2{font-weight:700;margin-top:1rem}#changelog-tab ul{margin-bottom:1rem}#modx-package-browser-details-main p{color:#595959;margin-bottom:.3rem}#modx-package-browser-details-main h1,#modx-package-browser-details-main h2,#modx-package-browser-details-main h3,#modx-package-browser-details-main h4,#modx-package-browser-details-main h5,#modx-package-browser-details-main h6{color:#595959;font-weight:700}#modx-package-browser-details-main h1{font-size:1.2em}#modx-package-browser-details-main h2{font-size:1.15em}#modx-package-browser-details-main h3{font-size:1.1em}#modx-package-browser-details-main h4{font-size:1.05em}#modx-package-browser-details-main h5{font-size:1em}#modx-package-browser-details-main h6{font-size:.95em}#modx-package-browser-details-aside h4{text-align:center}#modx-package-browser-details-aside ul li{margin-bottom:.5em}body{-webkit-font-smoothing:antialiased;color:#000;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;scrollbar-color:#e1e3e6 #0000}body a{color:#234368}body a:hover{color:#162a42}h2,h3{color:#515151;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0 0 8px -1px}h3{font:550 15px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}strong{font-weight:700}em{font-style:italic}hr{background-color:#e4e4e4;border:0;color:#e4e4e4;height:1px;margin:20px 0}.aleft{text-align:left}.aright{text-align:right}.right{float:right}.left{float:left}.clear{clear:left}.bold{font-weight:700}.installed{color:#515151}.not-installed{color:#999;font-style:italic}.yellow{color:#fce588!important}.orange{color:#f0b429!important}.error,.red{color:#cf1124!important}.green{color:#6cb24a!important}.blue{color:#4a90e2!important}.primary{color:#6cb24a!important}.centered{text-align:center}.wait{background:#0000 url(../images/style/wait.gif) no-repeat scroll center 55px;color:#53595f;font-size:15px;font-weight:700;padding:20px 10px 60px}.padding{background-color:#fff;padding:11px}.dashed{border-bottom:1px dashed #90b1b9}.x-form-text,textarea.x-form-field{border-color:#e4e4e4}#modx-content,#modx-leftbar{position:absolute;transition:left .2s ease}#modx-leftbar-tabpanel{transition:all .6s ease}#modx-content{left:370px;right:0;width:calc(100% - 370px)}.modx-form p{padding-bottom:10px}.x-layout-mini{left:2px}#modx-resource-content .x-panel-header{margin:0;padding:15px}#modx-resource-content .x-panel-bwrap{border:0}#modx-resource-content .modx-tv .modx-tv-label{clear:none;float:none;padding:15px 0 4px;position:static;width:auto}#modx-content-above .x-panel-bwrap,#modx-content-below .x-panel-bwrap{border:0}.x-tab-panel-header,.x-tab-panel-header .x-tab-strip li{box-sizing:border-box}@media screen and (max-width:960px){.x-viewport{overflow-y:auto}.x-viewport body{height:auto}}#modx-container{background:#f1f1f1;height:100%;width:100%}@media screen and (max-width:960px){#modx-container{height:auto}}@media screen and (max-width:1140px){#modx-page-settings-left,#modx-page-settings-right,#modx-resource-main-left,#modx-resource-main-right{box-sizing:border-box;margin:0 auto 15px;width:100%!important}#modx-page-settings-left .x-panel-body,#modx-page-settings-right .x-panel-body,#modx-resource-main-left .x-panel-body,#modx-resource-main-right .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}@media screen and (max-width:960px){#modx-chunk-form .main-wrapper,#modx-panel-plugin .main-wrapper,#modx-snippet-form .main-wrapper,#modx-template-form .main-wrapper,#modx-tv-tabs .main-wrapper{padding:0;width:100%!important}#modx-chunk-form .main-wrapper>.x-panel-bwrap,#modx-panel-plugin .main-wrapper>.x-panel-bwrap,#modx-snippet-form .main-wrapper>.x-panel-bwrap,#modx-template-form .main-wrapper>.x-panel-bwrap,#modx-tv-tabs .main-wrapper>.x-panel-bwrap{padding:1em}#modx-resource-main-right{margin:15px auto 0}.x-toolbar-ct,.x-toolbar-ct tbody,.x-toolbar-ct tbody tr{display:block}.x-toolbar-ct tbody tr td{display:block;width:100%}.x-toolbar-ct tbody tr td table{width:100%}.x-toolbar-ct tbody tr td table .x-form-field-wrap{margin-left:0!important;margin-right:0!important;width:100%!important}.x-toolbar-ct tbody tr td table .x-btn,.x-toolbar-ct tbody tr td table .x-form-text{box-sizing:border-box;margin-left:0!important;margin-right:0!important;width:100%!important}.x-column{float:none;margin-left:0!important;margin-right:0!important;width:100%!important}#modx-tree-panel-usergroup .main-wrapper{display:inline-block;float:left;max-width:100%;position:relative;width:100%!important}.x-window{left:.5em!important;max-width:100%!important;right:.5em!important;width:auto!important}.x-window .x-window-body{box-sizing:border-box!important;height:auto!important;width:100%!important}.x-window .x-form-field-wrap{width:auto!important}.x-window input{box-sizing:border-box;height:auto!important;width:100%!important}}#modx-template-form .main-wrapper input{max-width:100%!important}@media screen and (max-width:960px){.x-column-inner>.x-column~.x-column{margin-left:0}#modx-import-base-path,.x-form-item label.x-form-item-label[for=modx-import-allowed-extensions],.x-form-item label.x-form-item-label[for=modx-import-base-path],.x-form-item label.x-form-item-label[for=modx-import-element],.x-form-item label.x-form-item-label[for=modx-import-parent],.x-form-item label.x-form-item-label[for=modx-import-resource-class]{float:none;width:auto!important}}#modx-import-allowed-extensions,#modx-import-base-path,#modx-import-element,#modx-import-resource-class{box-sizing:border-box;height:auto;width:100%!important}@media screen and (max-width:960px){#x-form-el-modx-import-allowed-extensions,#x-form-el-modx-import-base-path,#x-form-el-modx-import-element,#x-form-el-modx-import-resource-class{padding-left:0!important;width:100%!important}}.x-panel.drag-n-drop{z-index:0}.x-panel.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat 50%;background-size:50% 50%;bottom:0;content:" ";display:block;left:0;opacity:.1;position:absolute;right:0;top:0;z-index:-5}.x-panel.drag-n-drop>.x-panel-bwrap,.x-panel.drag-over .x-form-field{background:#0000}.x-panel.drag-over:after{background:#6cb24a;border:5px solid #6cb24a;bottom:0;content:"";display:block;left:0;opacity:.1;position:absolute;right:0;top:0}#modx-panel-packages.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat top;background-size:50% 30%;z-index:0}.x-panel-header{background:none;border:none;font-size:16px;margin:0;padding:0 0 10px}#modx-resource-tabs .x-panel-header{border-bottom:1px solid #e4e4e4;color:#515151;display:flex;margin-bottom:5px}#modx-resource-tabs .x-panel-header .x-panel-header-text{flex:1;font-size:14px;order:0}#modx-resource-tabs .x-panel-header .x-tool.x-tool-toggle{margin-left:auto;order:1}#modx-resource-main-left .x-panel-header{border-bottom:0;position:absolute;right:15px;z-index:9}#modx-resource-main-left .x-panel-header .x-panel-header-text{display:none}#modx-resource-main-left .x-panel-animated .x-panel-header,#modx-resource-main-left .x-panel-collapsed .x-panel-header{padding-top:15px!important;position:relative;right:0;width:100%}#modx-resource-main-left .x-panel-animated .x-panel-header .x-panel-header-text,#modx-resource-main-left .x-panel-collapsed .x-panel-header .x-panel-header-text{display:block}#modx-resource-tabs .x-panel-collapsed .x-panel-header{border-color:#0000;margin-bottom:0;padding:0}.x-small-editor .x-form-field{font-size:12px!important}.x-small-editor .x-form-num-field{text-align:left}.grid-row-inactive{color:#999!important}a.x-grid-link{color:#234368;text-decoration:underline}a.x-grid-link:focus,a.x-grid-link:hover{text-decoration:none}.x-editable-column{cursor:default}.x-editable-column:not(.editor-disabled){cursor:pointer}.x-editable-column:not(.editor-disabled):focus,.x-editable-column:not(.editor-disabled):hover{color:#234368}.x-editable-column:not(.editor-disabled):focus>div:after,.x-editable-column:not(.editor-disabled):hover>div:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#234368;content:"\f304";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .5em}.x-editable-column.locked{cursor:default}.x-editable-column.locked:focus>div:after,.x-editable-column.locked:hover>div:after{color:#6b7c90;content:"\f023"}.x-grid-buttons{text-align:center}.x-grid-buttons li{cursor:pointer;display:inline-block;font-size:1.1em;line-height:.7;margin-right:10px}.x-grid-buttons li:last-child{margin-right:0}.x-grid-empty .error-with-icon{color:#cf1124;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.3;padding:1rem}.x-grid-empty .error-with-icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;content:"\f071";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin-right:.5rem}.x-grid-empty .error-with-icon *{color:#09121c;line-height:1.6;text-align:left}.x-grid-empty .error-with-icon .error-status-info{margin:.25rem 0;text-align:center}.x-grid-empty .error-with-icon code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;white-space:pre-line}.xdebug-error{border:none}.xdebug-error tbody td,.xdebug-error tbody th{border-color:#dcdcdc;border-style:solid none none!important;border-width:thin!important;padding:.1rem .25rem}.xdebug-error tbody th{color:#000!important;font-weight:700}.xdebug-error tbody th:first{border-top:none!important}.xdebug-error tbody th[colspan="5"]{border-color:#fff;border-width:thick!important;padding:.5rem 2rem;text-align:center!important}.xdebug-error tbody th[bgcolor^="#f57"]{background:#fdf0f1;font-weight:400}.xdebug-error tbody th[bgcolor^="#e9b"]{background:#234368;color:#fff!important}.xdebug-error tbody td{background-color:#fff}.xdebug-error tbody tr:nth-child(2n) td{background-color:#f0f0f0}.modx-page-header,.modx-page-header div{background-color:initial!important}#modx-panel-trash .modx-page-header,#modx-panel-trash .modx-page-header div,#modx-panel-welcome .modx-page-header,#modx-panel-welcome .modx-page-header div{margin:1rem!important}@media screen and (min-width:961px){#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{box-sizing:border-box;margin-top:1.25rem}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel{margin:0}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{box-sizing:border-box;font-size:18px;font-weight:700;margin-top:1.25rem;padding:0 15px}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{width:100%!important}}#modx-content form.x-panel-body{background-color:initial!important}@media screen and (max-width:960px){#modx-content{left:auto!important;position:relative;top:auto!important;width:auto!important}}#modx-content .modx_error{margin:26px 0 0 15px;width:95%}#modx-content .modx_error h2{margin:0 0 14px}#modx-content .modx_error .error_container{background:#f99;border:2px solid #cf1124;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px}#modx-content .modx_error .error_container ul{list-style:none;margin-left:0;margin-top:6px}#modx-content .modx_error .error_container ul li{margin-bottom:6px}#modx-content .modx_error .error_container ul li:last-child{margin-bottom:0}#modx-content .modx_error .error_container.multiple p:first-child{font-size:1.4em;font-weight:700}@media screen and (max-width:960px){#modx-content .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}#modx-mainpanel{height:100%;position:relative}.x-portal .x-panel-dd-spacer,.x-portlet{margin-bottom:10px}.x-portlet .x-panel-ml{padding-left:2px}.x-portlet .x-panel-mr{padding-right:2px}.x-portlet .x-panel-bl{padding-left:2px}.x-portlet .x-panel-br{padding-right:2px}.x-portlet .x-panel-body{background:#fff}.x-portlet .x-panel-mc{padding-top:2px}.x-portlet .x-panel-bc .x-panel-footer{padding-bottom:2px}.x-portlet .x-panel-nofooter .x-panel-bc{height:2px}.x-portal-space h2{border-bottom:1px solid #d4d4d4;margin:0 0 8px;padding:0 0 2px}.x-column-tree .x-panel-header{border-bottom-width:0;padding:3px 0 0}.x-column-tree .x-panel-header .x-panel-header-text{margin-left:3px}.x-column-tree .x-tree-node,.x-column-tree .x-tree-node-el{zoom:1}.x-column-tree .x-tree-selected{background:#d9e8fb}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle}.x-column-tree .x-tree-node .x-tree-selected a span{background:#0000;color:#515151}.x-tree-col{zoom:1;float:left;overflow:hidden;padding:0 1px}.x-tree-col-text,.x-tree-hd-text{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden;padding:3px 3px 3px 5px;text-overflow:ellipsis;white-space:nowrap}.x-tree-headers{zoom:1;cursor:default;margin-top:3px}.x-tree-hd{border-left:1px solid #eee;border-right:1px solid #d0d0d0;float:left;overflow:hidden}.ux-row-action-cell .x-grid3-cell-inner{padding:1px 0 0}.ext-ie .ux-row-action-item{width:16px}.ext-ie .ux-row-action-text{width:auto}.ux-row-action-item span{background:#0000 url(../images/style/go-next.png) no-repeat scroll 1px 4px;display:inline!important;line-height:24px;margin:0 5px;padding:5px 5px 5px 22px;vertical-align:middle}.icon-uninstall span{background:url(../images/style/delete.png) no-repeat scroll 1px 4px #0000}.package-details span{background:url(../images/style/info.png) no-repeat scroll 1px 4px #0000}.package-download span{background:url(../images/style/download.png) no-repeat scroll 1px 4px #0000}.package-installed span{background:url(../images/style/accept.png) no-repeat scroll 1px 4px #0000}.ext-ie .ux-row-action-item span{width:auto}.x-grid-group-hd div{height:16px;position:relative}.ux-grow-action-item{background-position:0 50%!important;background-repeat:no-repeat;cursor:pointer;float:left;margin:0;min-width:16px;padding:0!important}.ext-ie .ux-grow-action-item{width:16px}.ux-action-right{float:right;margin:0 3px 0 2px;padding:0!important}.ux-grow-action-text{background:#0000 none!important;float:left;margin:0!important;padding:0!important}.ux-row-action-item:hover{background:#dfdfdf;background:linear-gradient(center bottom,#dfdfdf 0,#fff);border:1px solid #9caf78;color:#636f4c!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=$white,endColorstr=$alto,GradientType=0)}.ux-row-action-item:active{background-color:#fff;background-image:none;border-color:#cfcfcf silver #aaa;box-shadow:inset 0 0 3px #aaa;margin:2px 1px 0}.ux-row-action-item:active span{text-shadow:none}.ux-row-action-item{background:linear-gradient(center bottom,#dcdcdc 0,#fcfcfc);background:url(/manager/templates/default/images/modx-theme/form/button-bg.png) repeat-x scroll 0 bottom #dcdcdc;border-collapse:initial;border-color:#cacaca silver #aaa;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 0 1px #0003;color:#444;cursor:pointer;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfcfc,endColorstr=#dcdcdc,GradientType=0);float:left;font-weight:700;margin:2px 1px 0;overflow:hidden;padding:3px;position:relative;text-shadow:0 1px 0 #fafafa}.x-tree-checkbox{background:url(../../../assets/ext3/resources/images/default/form/checkbox.gif) no-repeat 0 0;height:13px;margin:0 1px;vertical-align:middle;width:13px}.x-tree-checkbox-over .x-tree-checkbox{background-position:-13px 0}.x-tree-checkbox-down .x-tree-checkbox{background-position:-26px 0}.x-tree-node-disabled .x-tree-checkbox{background-position:-39px 0}.x-tree-node-checked{background-position:0 -13px}.x-tree-checkbox-over .x-tree-node-checked{background-position:-13px -13px}.x-tree-checkbox-down .x-tree-node-checked{background-position:-26px -13px}.x-tree-node-disabled .x-tree-node-checked{background-position:-39px -13px}.x-tree-node-grayed{background-position:0 -26px}.x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -26px}.x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -26px}.x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -26px}.x-tree-branch-unchecked .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-grayed{background-position:0 0}.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px 0}.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px 0}.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px 0}.x-tree-branch-checked .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-grayed{background-position:0 -13px}.x-tree-branch-checked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -13px}.x-tree-branch-checked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -13px}.x-tree-branch-checked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -13px}.x-rbtn button{background-color:initial;background-position:50%;background-repeat:no-repeat;border:0;cursor:pointer;font-size:1px;height:16px;line-height:1px;margin:0;-moz-outline:0 none;outline:0 none;padding:0;width:24px}.x-rbtn{table-layout:fixed}.x-rbtn td{background-image:url(../images/restyle/icons/rbtn.gif);background-repeat:no-repeat;border:0;height:21px;padding:0;vertical-align:middle;width:24px}.x-rbtn td.x-rbtn-first{background-position:0 0}.x-rbtn td.x-rbtn-item{background-position:0 -42px}.x-rbtn td.x-rbtn-last{background-position:right -21px}.x-rbtn td.x-rbtn-first-active{background-position:0 -63px}.x-rbtn td.x-rbtn-item-active{background-position:0 -105px}.x-rbtn td.x-rbtn-last-active{background-position:right -84px}.ux-up-item{background-color:#f0f0f0;background-image:url(../../../assets/modext/util/filetree/img/white_bg.png);background-repeat:no-repeat;cursor:default;height:17px;line-height:17px;margin-bottom:1px;position:relative}.ux-up-icon-file{float:left;height:16px;margin-right:4px;vertical-align:-3px;width:16px}.ux-up-indicator{background-color:#ff0;filter:alpha(opacity=40);height:17px;opacity:.4;position:absolute;width:40px}.ux-up-icon-state{cursor:pointer;float:right;margin-right:2px;width:16px;z-index:-1}.ux-up-icon-queued{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_get.png)}.ux-up-icon-uploading{background-image:url(../../../../ext2/resources/images/default/grid/wait.gif)}.ux-up-icon-done{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/accept.png)}.ux-up-icon-failed{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/error.png)}.ux-up-icon-stopped{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/stop.png)}.ux-up-text{float:left}.ux-ftm-nodename{color:#515151;cursor:default!important;font-weight:700}.ux-icon-combo-icon{background-position:0 50%;background-repeat:no-repeat;height:14px;width:18px}.ux-icon-combo-input{padding-left:25px}.x-form-field-wrap .ux-icon-combo-icon{left:5px;top:3px}.ux-icon-combo-item{background-position:3px 50%!important;background-repeat:no-repeat!important;padding-left:24px!important}.modx-status-msg{background:#6cb24a;border-radius:3px;bottom:20px;box-sizing:border-box;color:#fff;max-width:360px;padding:15px 15px 15px 65px;position:fixed;right:15px;width:25%;z-index:20000}@media screen and (max-width:960px){.modx-status-msg{max-width:100%}}.modx-status-msg:before{position:relative}.modx-status-msg:after{background:#fff;border-radius:50%;color:#6cb24a;content:"\f00c";display:inline-block;font-size:16px;height:38px;left:15px;line-height:36px;margin-right:13px;position:absolute;text-align:center;top:15px;vertical-align:middle;width:38px}.modx-status-msg h3,.modx-status-msg span{font-size:14px}.modx-status-msg h3{color:#fff;margin:0}.modx-status-msg .has-position-center-center{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:50%;transform:translateY(-50%)}.modx-status-msg .has-position-center-top{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:15px}.modx-status-msg .has-position-right-top{bottom:auto;left:auto;right:15px;top:15px}@media screen and (max-width:960px){.modx-status-msg,.modx-status-msg .has-position-center-center,.modx-status-msg .has-position-center-top,.modx-status-msg .has-position-right-top{border-radius:0;bottom:0;left:0;right:0;top:auto;width:100%}}iframe[classname=x-hidden]{visibility:hidden}html[dir=rtl] .x-hide-offsets,html[dir=rtl] .x-hiden{left:unset;right:-9999px}.ext-ux-uploaddialog-addbtn{background:url(../images/restyle/fileup/file-add.gif) no-repeat 0!important}.ext-ux-uploaddialog-removebtn{background:url(../images/restyle/fileup/file-remove.gif) no-repeat 0!important}.ext-ux-uploaddialog-resetbtn{background:url(../images/restyle/fileup/reset.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstartbtn{background:url(../images/restyle/fileup/upload-start.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstopbtn{background:url(../images/restyle/fileup/upload-stop.gif) no-repeat 0!important}.ext-ux-uploaddialog-indicator-stoped{background:url(../images/restyle/fileup/done.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-indicator-processing{background:url(../images/restyle/fileup/loading.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-state{background-position:50%;background-repeat:no-repeat;text-align:center}.ext-ux-uploaddialog-state-0{background-image:url(../images/restyle/fileup/uncheck.gif)}.ext-ux-uploaddialog-state-1{background-image:url(../images/restyle/fileup/check.gif)}.ext-ux-uploaddialog-state-2{background-image:url(../images/restyle/fileup/failed.gif)}.ext-ux-uploaddialog-state-3{background-image:url(../images/restyle/fileup/file-uploading.gif)}.tq-treegrid .tq-treegrid-col{border:none}.tq-treegrid .tq-treegrid-icons{float:left}.tq-treegrid .x-tree-node-el{line-height:13px;padding:1px 3px 1px 5px}.tq-treegrid .tq-treegrid-static .x-tree-ec-icon{display:none}.tq-treegrid .tq-treegrid-static .x-tree-node-el{cursor:default}.modx-tree-load-msg{color:#000;font-size:.9em;line-height:1;padding:3px;white-space:pre-line}#modx-grid-policy-permissions .x-grid3-cell-inner,#modx-grid-policy-permissions .x-grid3-hd-inner,#modx-grid-template-permissions .x-grid3-cell-inner,#modx-grid-template-permissions .x-grid3-hd-inner{white-space:normal}.container{margin:20px 15px}.container,.x-plain-body,.x-plain-bwrap{overflow:visible}.shadowbox,.x-form-label-left{border-radius:3px}.shadowbox .x-form-label-left,.x-form-label-left .x-form-label-left,.x-tab-panel-bwrap .shadowbox,.x-tab-panel-bwrap .x-form-label-left,.x-window .shadowbox,.x-window .x-form-label-left{border-radius:0;box-shadow:none}.panel-desc{border-bottom:1px solid #f0f0f0;border-radius:0;color:#53595f;line-height:1.5;padding:15px!important}.x-window .panel-desc{margin-bottom:15px;margin-top:0}.panel-desc .x-panel-bwrap{background-color:initial!important}.with-title .panel-desc{margin:0}.panel-desc p{padding:0}.main-wrapper{background-color:#fff;padding:15px}.with-title .main-wrapper{padding:0 15px 10px}.left-col{padding-right:15px}.right-col{padding-left:15px}.modx-page-header{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;order:1;padding:0 15px}@media screen and (max-width:960px){.modx-page-header{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs .breadcrumbs{align-items:baseline;display:flex;flex-wrap:wrap}.modx-header-breadcrumbs .breadcrumbs h2{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0!important;order:1;padding-left:0}@media screen and (max-width:960px){.modx-header-breadcrumbs .breadcrumbs h2{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs ul{align-items:center;display:flex;flex-wrap:wrap;order:0}.modx-header-breadcrumbs ul li{color:#53595f}.modx-header-breadcrumbs ul li,.modx-header-breadcrumbs ul li a{font:normal 18px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-header-breadcrumbs ul li a{text-decoration:none}.modx-header-breadcrumbs ul li a.menu_hidden{font-style:italic}.modx-header-breadcrumbs ul li a.menu_hidden:hover{color:#162a42}.modx-header-breadcrumbs ul li a.not_published{color:#b3b3b3!important}.modx-header-breadcrumbs ul li a.not_published:hover{color:#162a42}.modx-header-breadcrumbs ul li a.deleted{color:#af5a6280!important;text-decoration:line-through}.modx-header-breadcrumbs ul li a.deleted:hover{color:#162a42}.modx-header-breadcrumbs ul li:after{color:#999;content:"\f054";font-size:12px;padding:0 10px}#modx-abtn-delete{color:#cf1124}#modx-abtn-undelete{color:#6cb24a}#modx-abtn-help{color:#234368}#modx-resource-tabs .x-tab-panel-bwrap{box-shadow:none}#modx-resource-tabs .x-tab-panel-body,#modx-resource-tabs .x-tab-panel-bwrap{overflow:visible!important}#modx-resource-settings{background:#f1f1f1}#modx-resource-settings #modx-resource-main-left{background:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;padding:15px;position:relative}#modx-resource-settings .x-panel-collapsed{min-height:18px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel{background:#fff;border-radius:3px;padding:15px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel:not(:last-child){margin-bottom:15px}#modx-resource-settings .main-wrapper{background:#0000;padding:0}#modx-resource-settings .x-datetime-wrap table{width:100%}#modx-resource-settings .x-datetime-wrap table td{max-width:50%!important;width:50%!important}#modx-resource-settings .x-datetime-wrap table td input{width:calc(100% - 30px)}#modx-resource-settings .x-datetime-wrap table td:first-child{padding-right:5px!important}#modx-resource-settings .x-datetime-wrap table td:last-child{padding-left:5px!important}#modx-resource-settings .x-datetime-wrap table .x-form-field-trigger-wrap{width:100%!important}.tvs-wrapper{padding:0}#modx-resource-tvs-div{border-top-width:0;visibility:hidden}.modx-permissions-list{color:#777;font-size:12px}.modx-permissions-list-textarea{background-color:initial!important;border:0!important}.info-list.hide-list{display:none}.info-list .header{color:#626262;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600}.info-list .header:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .25rem}.info-list .header span{font-weight:400}.info-list ul{border:1px dashed #e4e4e4;border-radius:3px;margin-top:.5rem;padding:.5rem}.info-list ul li{color:#6b6b6b;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1;padding:.15rem 0;word-break:break-word}@media screen and (min-width:641px){.info-list ul{-moz-columns:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem}}.x-window .info-list{margin-top:1rem}.x-grid3 .info-list ul{background-color:#fcfbfb;padding-left:1rem;position:relative}.x-grid3-row-alt .x-grid3 .info-list ul{background-color:#f9faff}.x-grid3 .info-list ul:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;background-color:#fff;border-radius:100%;box-shadow:-1px 1px 3px #888;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-size:11px;font-style:normal;font-variant:normal;font-weight:900;height:14px;left:-7px;padding-top:2px;position:absolute;text-align:center;top:-7px;width:14px}.x-grid3 .info-list ul li{font-style:italic}@media screen and (min-width:769px){.x-grid3 .info-list ul{-moz-columns:3;column-count:3}}@media screen and (min-width:1141px){.x-grid3 .info-list ul{-moz-columns:4;column-count:4}}@media screen and (min-width:1401px){.x-grid3 .info-list ul{-moz-columns:5;column-count:5}}.x-selectable,.x-selectable *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}#ux-lightbox{left:0;line-height:0;position:absolute;text-align:center;width:100%;z-index:15000}#ux-lightbox img{height:auto;width:auto}#ux-lightbox a img{border:none}#ux-lightbox-outerImageContainer{background-color:#fff;height:250px;margin:0 auto;position:relative;width:250px}#ux-lightbox-imageContainer{padding:10px}#ux-lightbox-loading{background:url(../images/style/loading.gif) no-repeat scroll center 15% #0000;height:25%;left:0;line-height:0;position:absolute;text-align:center;top:40%;width:100%}#ux-lightbox-hoverNav{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}#ux-lightbox-hoverNav a{outline:medium none}#ux-lightbox-imageContainer>#ux-lightbox-hoverNav{left:0}#ux-lightbox-navNext,#ux-lightbox-navPrev{display:block;height:100%;width:49%}#ux-lightbox-navPrev{float:left;left:0}#ux-lightbox-navPrev:hover,#ux-lightbox-navPrev:visited:hover{background:#0000 url(images/lb-prev.png) no-repeat scroll left 33%}#ux-lightbox-navNext{float:right;right:0}#ux-lightbox-navNext:hover,#ux-lightbox-navNext:visited:hover{background:#0000 url(images/lb-next.png) no-repeat scroll right 33%}#ux-lightbox-outerDataContainer{margin:0 auto;width:100%}#ux-lightbox-dataContainer{background-color:#fff;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10px;overflow:auto}#ux-lightbox-data{color:#666;padding:0 10px}#ux-lightbox-data #ux-lightbox-details{float:left;text-align:left;width:80%}#ux-lightbox-data #ux-lightbox-caption{font-weight:700}#ux-lightbox-data #ux-lightbox-imageNumber{clear:left;display:block;padding-bottom:1em}#ux-lightbox-data #ux-lightbox-navClose{background:#0000 url(../images/style/close.png) no-repeat scroll 0 0;float:right;height:16px;outline:medium none;padding-bottom:.7em;width:16px}#ux-lightbox-overlay,#ux-lightbox-shim{background-color:#515151;border:0;height:500px;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:14999}#ux-lightbox-shim{background-color:initial;z-index:89}.x-panel-body-noheader .x-grid3-row{position:relative}.x-grid3-col-main{padding:10px 5px 35px}.x-grid3-cell-inner .x-grid3-col-main h3{color:#555;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;line-height:1;margin:0 0 5px}.package-installed{color:#515151;filter:alpha(opacity=50);opacity:.5}#modx-grid-package .green{text-align:center}#modx-grid-package .green a{color:#cf1124!important}#modx-grid-package .red{color:#6cb24a!important;text-align:center}.grid-with-buttons .x-grid3-row-expanded .x-grid3-row-body{margin:-45px 2px 0 -20px;padding:18px 25px 40px}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{border-top:1px dashed #868b8f80;display:flex;flex-direction:column-reverse;gap:1rem;padding:.5rem .25rem 0}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-direction:row;font-style:italic;line-height:1.4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;justify-content:space-between;row-gap:.25rem}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:block}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body{flex-grow:1}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body p{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media screen and (min-width:641px){.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{flex-direction:row-reverse}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{flex-direction:column;justify-content:normal}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:inline}}.home-panel ol{border-top:1px solid #cacaca}.home-panel ol li{border-bottom:1px solid #e0e0e0}.home-panel ol li:first-child{border-top-color:0 none}.home-panel ol li:last-child{border-bottom:0}.home-panel ol li button{background-color:initial;border:0;color:#53595f;cursor:pointer;display:block;font-size:15px;font-weight:700;padding:12px 20px 12px 6px;position:relative;text-decoration:none}.home-panel ol li:hover button{color:#234368}.home-panel ol li:hover button:before{content:"\f002";filter:alpha(opacity=60);font-size:14px;margin-top:-7px;opacity:.6;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:20px}.home-panel ol li .highlighted{color:#909090;float:right;font-size:10px;padding:13px 10px 0}.home-panel ol li button .ct{color:#aaa;margin-right:10px}.home-panel .one_half{overflow:hidden}.home-panel .desc-wrapper{margin-top:38px}.home-panel .text-wrapper{font-style:normal;max-height:none}.home-panel .provider_name{background-color:#9bb3bf;line-height:1.8}.home-panel .pnl_instructions{margin:20px 0}.home-panel .stats{clear:both;display:inline-block;margin-top:15px}.home-panel .stats p{color:#777;font-size:12px;font-style:italic;line-height:1.5}.pbr-provider-box{float:left;margin-top:10px;width:250px}.pbr-provider-home,.pbr-repository-view,.pbr-tag-view{padding:10px}.pbr-details-right{float:right!important;text-align:right!important}.pbr-thumb-downloaded{filter:alpha(opacity=50);opacity:.5}.one_half{float:left;margin-right:3%;position:relative;width:48%}.last{clear:right;margin-right:0!important}.package-readme{padding:8px 11px 0}#modx-package-browser-home{margin-top:5px;min-height:560px}.empty-text-wrapper{color:#888;font-weight:700;line-height:1.4;padding:12px}.aside-details{background-color:initial;border:1px solid #e4e4e4;border-radius:3px;margin-right:0}.aside-details .selected h5{color:#53595f;font-size:14px;margin:10px 0}.aside-details .selected img{border:1px solid #e4e4e4;border-radius:3px;height:80px;width:90px}.aside-details .item{margin-bottom:25px}.aside-details .item li,.aside-details .item p{color:#888;line-height:1.4}.aside-details .item a{color:#53595f;font-style:italic}.aside-details h4{color:#53595f;font-size:14px;margin:10px 0;text-transform:uppercase}.aside-details .aside-details h4{font-size:12px;margin-top:0}.aside-details .selected{border-bottom:1px solid #e4e4e4;color:#000;padding:15px;text-align:center}.aside-details .description,.aside-details .instructions{background-color:#fbfbfb}.aside-details .description,.aside-details .infos,.aside-details .instructions{color:#53595f;font-size:12px;line-height:1.2;padding:15px}.aside-details .infos ul li{font-size:12px}.aside-details .infos ul li .infoname{color:#999;font-weight:700;width:50%}.aside-details .infos ul li .infovalue{word-wrap:break-word;max-width:50%;padding:0 8px}.aside-details .infos ul li span{display:inline-block;padding:0}.thumb-wrapper{background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;cursor:pointer;float:left;margin:0 15px 15px 0;overflow:hidden;padding:0 0 12px;position:relative;width:250px}.thumb-wrapper,.thumb-wrapper *{box-sizing:border-box}.thumb-wrapper .thumb{background-color:#fff;border-bottom:1px solid #ccc;height:170px;margin:0 auto;position:relative;text-align:center;width:100%}.thumb-wrapper .thumb img{max-height:100%;max-width:100%}.thumb-wrapper .thumb .no-preview{color:#888;display:inline-block;font-size:9px;font-weight:700;padding:31px 15px;text-align:center;text-transform:uppercase}.thumb-wrapper span.downloaded,.thumb-wrapper span.featured{background-color:#6cb24a;color:#fff;font-weight:700;padding:5px 0;position:absolute;text-align:center;text-shadow:none;top:68px;width:100%}.thumb-wrapper span.featured{background-color:#234368;bottom:0;color:#fff;top:auto}.thumb-wrapper span{display:block;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;text-shadow:0 1px 0 #fff;white-space:nowrap}.thumb-wrapper .name{color:#53595f;float:left;font-size:12px;font-weight:700;padding:12px 8px 12px 12px;width:55%}.thumb-wrapper .downloads{color:#999;float:right;font-size:9px;padding:8px 12px 8px 8px;text-align:right;text-transform:uppercase;width:45%}.thumb-wrapper .thumb-description{clear:both;font-size:12px;height:50px;overflow:hidden;padding:0 12px}.thumb-wrapper .thumb-footer{color:#999;font-size:9px;padding:8px 12px 0;text-align:center;text-transform:uppercase}.thumb-wrapper.selected{background-color:#fff;border-color:#234368;padding:0 0 12px}.thumb-wrapper.selected img{border:0}.pbr-thumb{background:#dfdfdf;padding:3px}.pbr-thumb,.pbr-thumb img{height:80px;width:100px}.x-grid3-hd-info-col,.x-grid3-hd-meta-col,.x-grid3-hd-text-col{text-align:center}.x-grid3-col-text-col{font-size:11px;text-align:center}.x-grid3-col-info-col,.x-grid3-col-meta-col{font-size:11px;font-weight:700;text-align:center}.x-grid3-col-meta-col{color:#53595f}.x-grid3-col-info-col{color:#6cb24a}.not-installed .x-grid3-col-info-col{color:#cf1124}.inline-button{-webkit-box-align:center;display:inline;margin:0 auto;padding:8px;text-align:center}.meta-wrapper{word-wrap:break-word;color:grey;max-height:400px;overflow:auto;padding:15px}.meta-wrapper ul{list-style:disc inside;padding-left:15px}.meta-wrapper h1{font-size:1.2em}.meta-wrapper h2{font-size:1.15em}.meta-wrapper h3{font-size:1.1em}.meta-wrapper h4{font-size:1.05em}.meta-wrapper h5{font-size:1em}.meta-wrapper h6{font-size:.95em}.window-no-padding .x-panel-mc,.window-no-padding .x-panel-ml,.window-no-padding .x-panel-mr{padding:0!important}.window-no-padding .x-tab-panel-noborder{margin:0!important}.upload-error{color:#cf1124}.upload-success{color:#6cb24a}.upload-status-text{white-space:normal}.upload-thumb{float:right}.auto-width{width:auto!important}.auto-height{height:auto!important}.x-datetime-inline-editor .x-datetime-wrap{margin-top:0!important} + /* !important ensures the border radius, also when the fieldset has a class that sets it to 0 */margin:15px 0 0;overflow:visible;padding:0;position:relative}.x-fieldset .x-fieldset-header{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;margin:0 0 0 10px;padding:0 5px 0 3px;position:relative}.x-fieldset .x-fieldset-header .x-fieldset-header-text{line-height:18px}.x-fieldset .x-fieldset-bwrap .x-fieldset-body{overflow-x:hidden!important;padding:0 10px 10px}.x-fieldset.form-row-wrapper .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-fieldset#tv-input-opts-fs,.x-fieldset#tv-output-opts-fs{border:0;margin:0}.x-fieldset#tv-input-opts-fs .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset-bwrap .x-fieldset-body{padding:0}.x-fieldset#tv-input-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body,.x-fieldset#tv-output-opts-fs .x-fieldset .x-fieldset-bwrap .x-fieldset-body{padding:0 15px 15px}.x-form-field{font:inherit}.x-form-field.x-form-composite{margin-bottom:0!important}.x-form-field.x-form-composite .x-btn{top:1px!important}.x-static-text-field{color:inherit;font-size:inherit}.x-static-text-field.x-form-focus{border-color:#e4e4e4!important}.x-form-text{line-height:20px;min-height:20px;padding:5px}.x-form-field-wrap{background:#fff;border:1px solid #e4e4e4;border-radius:3px;max-width:100%}.x-form-field-wrap .x-form-text:not(.x-form-invalid){border:0}.x-form-field-wrap .x-form-trigger{border:0;border-radius:0 2px 2px 0;box-shadow:none;height:100%!important;padding:0;position:absolute;right:0;top:0;width:30px}.x-form-field-wrap .x-form-trigger:before{box-sizing:border-box;content:"\f078";filter:alpha(opacity=60);font-size:14px;left:50%;opacity:.8;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .25s;width:30px}.x-form-field-wrap .x-form-trigger.x-form-trigger-click:before,.x-form-field-wrap .x-form-trigger.x-form-trigger-over:before,.x-form-field-wrap .x-form-trigger:active:before,.x-form-field-wrap .x-form-trigger:hover:before{filter:alpha(opacity=100);opacity:1}.x-form-field-wrap .x-form-trigger.x-form-date-trigger:before{content:"\f133";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-time-trigger:before{content:"\f017";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-file-trigger:before{content:"\f15b";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-image-trigger:before{content:"\f1c5";font-weight:400}.x-form-field-wrap .x-form-trigger.x-form-code-trigger:before{content:"\f1c9";font-weight:400}.x-form-field-wrap.x-datetime-wrap{background:none;border:0}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time{vertical-align:top}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-invalid-msg,.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-invalid-msg{white-space:normal}.x-form-field-wrap.x-datetime-wrap .ux-datetime-date .x-form-trigger:before{content:"\f133"}.x-form-field-wrap.x-datetime-wrap .ux-datetime-time .x-form-trigger:before{content:"\f017"}.x-form-field-wrap.x-form-fileupload-wrap{overflow:visible;position:relative}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file{filter:alpha(opacity=0);min-height:20px;opacity:0;padding:5px;position:absolute;right:0;top:0;z-index:2}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-btn{border-left:1px solid #e4e4e4;border-radius:0 3px 3px 0;box-shadow:none;line-height:0;padding:7px;position:absolute;right:0;top:0;z-index:1}.x-form-field-wrap.x-form-fileupload-wrap .x-form-file-text{position:relative;z-index:3}.modx-tv-type-listbox-multiple .x-form-field-wrap{border-color:#fff}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text{border:1px solid #e4e4e4;margin:-1px}.modx-tv-type-listbox-multiple .x-form-field-wrap .x-form-text.x-form-focus{border-color:#999}#x-form-el-modx-user-photo .x-form-file-trigger:before{content:"\f1c5"}.x-fieldset-checkbox-toggle legend,.x-form-check-wrap{height:auto!important;line-height:18px}.x-form-label-left .x-fieldset-checkbox-toggle legend,.x-form-label-left .x-form-check-wrap{padding:7px 0}.x-form-label-top .x-fieldset-checkbox-toggle legend,.x-form-label-top .x-form-check-wrap{padding:0}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label{padding-left:1.9em}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:before{color:#ccc}.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:active:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:focus:before,.x-toolbar .x-toolbar-cell .x-form-check-wrap .x-form-cb-label:hover:before{color:#999}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.x-fieldset-checkbox-toggle legend .x-form-cb-label,.x-form-check-wrap .x-fieldset-header-text,.x-form-check-wrap .x-form-cb-label{color:#515151;cursor:pointer;display:inline-block;font-weight:400;margin:0;padding-left:1.9em;position:relative;top:0}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text,.ext-ie8 .x-form-check-wrap .x-form-cb-label{padding-left:3px}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.ext-ie8 .x-form-check-wrap .x-fieldset-header-text:before,.ext-ie8 .x-form-check-wrap .x-form-cb-label:before{content:""}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:before,.x-form-check-wrap .x-fieldset-header-text:before,.x-form-check-wrap .x-form-cb-label:before{box-sizing:border-box;content:"";font-size:18px;height:18px;left:0;padding-right:3px;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:focus:before,.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:hover:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:focus:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:hover:before,.x-form-check-wrap .x-fieldset-header-text:focus:before,.x-form-check-wrap .x-fieldset-header-text:hover:before,.x-form-check-wrap .x-form-cb-label:focus:before,.x-form-check-wrap .x-form-cb-label:hover:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-fieldset-header-text:active:before,.x-fieldset-checkbox-toggle legend .x-form-cb-label:active:before,.x-form-check-wrap .x-fieldset-header-text:active:before,.x-form-check-wrap .x-form-cb-label:active:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox,.x-fieldset-checkbox-toggle legend .x-form-radio,.x-fieldset-checkbox-toggle legend input[type=checkbox],.x-form-check-wrap .x-form-checkbox,.x-form-check-wrap .x-form-radio,.x-form-check-wrap input[type=checkbox]{cursor:pointer;height:18px;left:0;opacity:0;position:absolute;top:0;width:18px;z-index:1}.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-checkbox,.ext-ie8 .x-fieldset-checkbox-toggle legend .x-form-radio,.ext-ie8 .x-fieldset-checkbox-toggle legend input[type=checkbox],.ext-ie8 .x-form-check-wrap .x-form-checkbox,.ext-ie8 .x-form-check-wrap .x-form-radio,.ext-ie8 .x-form-check-wrap input[type=checkbox]{height:13px;left:auto;position:relative;top:auto;width:13px}.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:hover+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:focus+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:hover+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:focus+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:focus+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:hover+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:hover+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:focus+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:focus+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:hover+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:hover+.x-form-cb-label:before{color:#234368}.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-checkbox:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend .x-form-radio:active+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-fieldset-header-text:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-checkbox:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:active+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:active+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-radio:active+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:active+.x-fieldset-header-text:before,.x-form-check-wrap input[type=checkbox]:active+.x-form-cb-label:before{color:#1b3451}.x-fieldset-checkbox-toggle legend .x-form-checkbox+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]+.x-fieldset-header-text:before{content:"\f0c8";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-checkbox:checked+.x-form-cb-label:before,.x-fieldset-checkbox-toggle legend input[type=checkbox]:checked+.x-fieldset-header-text:before,.x-form-check-wrap .x-form-checkbox:checked+.x-form-cb-label:before,.x-form-check-wrap input[type=checkbox]:checked+.x-fieldset-header-text:before{content:"\f14a";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio+.x-form-cb-label:before{content:"\f111";font-weight:400}.x-fieldset-checkbox-toggle legend .x-form-radio:checked+.x-form-cb-label:before,.x-form-check-wrap .x-form-radio:checked+.x-form-cb-label:before{content:"\f192";font-weight:400}#modx-chunk-tabs.space-before,#modx-plugin-tabs.space-before,#modx-resource-tabs .display-switch.space-before,#modx-snippet-tabs.space-before,#modx-template-tabs.space-before,#modx-tv-editor-tabs.space-before,#modx-tv-tabs .display-switch.space-before,.display-switch.space-before{margin-top:.75rem}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-chunk-tabs .x-fieldset legend [type=checkbox],#modx-chunk-tabs .x-form-check-wrap [type=checkbox],#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-plugin-tabs .x-fieldset legend [type=checkbox],#modx-plugin-tabs .x-form-check-wrap [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-snippet-tabs .x-fieldset legend [type=checkbox],#modx-snippet-tabs .x-form-check-wrap [type=checkbox],#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-template-tabs .x-fieldset legend [type=checkbox],#modx-template-tabs .x-form-check-wrap [type=checkbox],#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-editor-tabs .x-fieldset legend [type=checkbox],#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],.display-switch .x-fieldset legend [type=checkbox],.display-switch .x-form-check-wrap [type=checkbox]{left:-9999px;position:absolute}html[dir=rtl] #modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-chunk-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-plugin-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-snippet-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-template-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-editor-tabs .x-form-check-wrap [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] #modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox],html[dir=rtl] .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox],html[dir=rtl] .display-switch .x-fieldset legend [type=checkbox],html[dir=rtl] .display-switch .x-form-check-wrap [type=checkbox]{left:unset;right:-9999px}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label{box-sizing:border-box;cursor:pointer;line-height:1;margin-left:0;padding-left:3.6em;padding-top:.2em;position:relative}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{content:"";font-size:inherit;position:absolute;transition:all .2s ease}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:before{background:#e4e4e4;border-radius:1.2em;height:1.6em;left:0;top:0;width:3em;z-index:10}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]+.x-form-cb-label:after{background-color:#fff;border-radius:50%;height:1.3em;left:.1em;margin-top:-.65em;top:.8em;width:1.3em;z-index:11}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:after,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:after{left:1.6em;top:.8em}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox]:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox]:checked+.x-form-cb-label:before{background-color:#6cb24a;border-color:#6cb24a}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].danger:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].danger:checked+.x-form-cb-label:before{background-color:#cf1124;border-color:#cf1124}#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-chunk-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-plugin-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-resource-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-snippet-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-template-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-editor-tabs .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,#modx-tv-tabs .display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset-checkbox-toggle legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-fieldset legend [type=checkbox].warning:checked+.x-form-cb-label:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-fieldset-header-text:before,.display-switch .x-form-check-wrap [type=checkbox].warning:checked+.x-form-cb-label:before{background-color:#f0b429;border-color:#f0b429}.switch-container{padding-top:1.6rem}.x-form-check-group,.x-form-radio-group{overflow:hidden;padding-bottom:.5em}.x-form-check-group .x-column .x-form-item:first-child,.x-form-radio-group .x-column .x-form-item:first-child{padding:4px 0 0}.x-form-check-group.aggregated-group,.x-form-radio-group.aggregated-group{padding-left:1em;padding-right:1em}.x-superboxselect{margin:0;outline:0;padding:0 5px 5px;position:relative;white-space:normal;width:auto!important}.ext-strict .x-toolbar .x-small-editor .x-superboxselect,.x-superboxselect{height:auto!important}.x-superboxselect ul{cursor:text;min-height:20px;overflow:visible;padding-right:61px;white-space:normal;width:auto!important}.x-toolbar .x-superboxselect ul{margin:-5px 0 0 -5px}.x-superboxselect ul li{margin:5px 5px 0 0;padding:0}.x-superboxselect ul li.x-superboxselect-item{cursor:default;font-size:12px;padding:4px 18px 4px 4px!important;position:relative}.x-superboxselect ul li.x-superboxselect-item.x-superboxselect-item-focus{background-color:#234368;box-shadow:0 0 0 1px #234368;color:#fff}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close{border:0;color:inherit;cursor:pointer;display:inline-block;filter:alpha(opacity=60);height:100%;opacity:.6;outline:0;padding:0;position:absolute;right:0;top:0;transition:opacity .25s;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:before{box-sizing:border-box;color:inherit;content:"\f00d";font-size:14px;margin-top:-7px;position:absolute;right:0;text-align:center;top:50%;vertical-align:middle;width:16px}.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:focus,.x-superboxselect ul li.x-superboxselect-item .x-superboxselect-item-close:hover{filter:alpha(opacity=100);opacity:1}.x-superboxselect ul li.x-superboxselect-input{display:inline-block}.x-superboxselect ul li.x-superboxselect-input input{background:none;border:0;line-height:20px;outline:0}.x-superboxselect.x-superboxselect-stacked li{box-sizing:border-box;margin:5px 0 0;width:100%}.x-superboxselect .x-superboxselect-btns{height:100%;overflow:visible;position:absolute;right:0;top:0;width:61px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-expand{border-radius:0;right:31px}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear{border-left:1px solid #e4e4e4}.x-superboxselect .x-superboxselect-btns .x-superboxselect-btn-clear:before{content:"\f00d"}.inline-form{border:0;padding:15px 15px 0}.inline-form label{color:#777;display:block;font-weight:700;margin-bottom:2px}.inline-form input[type=text],.inline-form textarea{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;position:relative;width:97%}.inline-form input[type=text]{font-size:13px;height:20px!important;padding:5px}.modx-tv-description{color:#515151;font-size:10px;line-height:1.2;margin-top:2px!important}.modx-tv-reload-btn{float:right;position:absolute;right:19px;z-index:10}.modx-tv-reload-btn div{z-index:10}.modx-tv-th label{cursor:pointer}.modx-tv-th .tv-description{color:#515151;font-size:11px;font-weight:400}.x-editor .x-form-check-wrap{background-color:#fff}.x-grid-editor .x-form-field-wrap{background:#f6f2f7 url(../images/modx-theme/form/combo-bck.png) repeat-x scroll 0 100%}.x-grid-editor .x-form-field-wrap input{background-color:initial!important}.x-grid-editor .x-form-field-wrap img{background-color:#fff;background-image:url(../images/modx-theme/form/trigger.png)}.x-form-grow-sizer,.x-form-invalid-msg{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-form-invalid-msg{color:#cf1124;margin-top:2px;min-width:95%;position:relative}.x-form-invalid-msg:before{color:inherit;content:"\f071";left:3px;position:absolute;top:3px}.x-form-empty-field{color:#515151}.x-grid3 .x-small-editor .x-form-field-wrap,.x-grid3 .x-small-editor .x-form-text{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin-top:7px;padding:2px 5px}.x-grid3 .x-small-editor .x-form-field-wrap .x-form-text,.x-grid3 .x-small-editor .x-form-text .x-form-text{margin:0;padding:0}.x-grid3 .x-small-editor .x-form-field-wrap{overflow:hidden}.x-combo-list{border:0;border-radius:3px;overflow:visible}.x-combo-list .x-combo-list-inner{background-color:#fff;border:1px solid #999;border-radius:3px;margin-left:-1px;width:100%!important}.x-combo-list .x-combo-list-item{border:0!important;border-bottom:1px solid #e4e4e4!important;color:#515151;min-height:18.2px;padding:6px 8px}.x-combo-list .x-combo-list-item:last-child{border-bottom-color:#fff!important}.x-combo-list .x-combo-list-item.x-combo-selected{background-color:#e4e4e4;border:0!important;border-bottom:1px solid #e4e4e4!important;color:#1b3451}.x-combo-list .x-combo-list-item.x-combo-list-item-grouped{padding:6px 14px}.x-combo-list .x-combo-list-item .x-combo-list-title{display:block;font-weight:700;margin:0 0 5px}.x-combo-list .x-combo-list-group{border-bottom:1px solid #e4e4e4;color:#515151;font-weight:700;padding:6px 8px}.x-combo-list .x-toolbar{border:0;border-radius:0 0 3px 3px;box-shadow:0 0 0 1px #234368;margin-top:-1px;position:relative}.x-combo-list .x-toolbar .x-toolbar-ct{padding:5px 0 15px}.x-combo-list .x-toolbar .x-toolbar-left table{margin:0 auto}.x-combo-list .x-toolbar .x-toolbar-cell{display:inline-block}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn,.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#0000;box-shadow:none;font-size:10px;line-height:16px;margin-right:2px;min-height:16px;padding:2px}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn{padding:1px;transition:color .25s}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-over,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:focus,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:hover{color:#234368}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-btn-click,.x-combo-list .x-toolbar .x-toolbar-cell .x-btn:active{color:#1b3451}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn.x-item-disabled{color:#515151;opacity:.4}.x-combo-list .x-toolbar .x-toolbar-cell .x-btn button:before{left:0;line-height:20px;right:0;top:0}.x-combo-list .x-toolbar .x-toolbar-cell .x-form-text{background:#fbfbfb;width:23px}.x-combo-list .x-toolbar .xtb-text{font-size:10px;line-height:1;margin:0 auto;padding:0;text-align:center}.x-combo-list .x-toolbar .x-toolbar-cell:first-child .x-btn{margin-left:1px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{display:none;left:0;position:absolute;right:0;top:2px}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .xtb-text{bottom:4px;display:inline-block;left:0;position:absolute;right:0;top:auto}.x-combo-list .x-toolbar .x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell+.x-toolbar-cell .x-btn{margin-right:0}.x-combo-list .x-toolbar .x-toolbar-cell:last-child{opacity:0;transition:opacity .25s}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn{bottom:2px;font-size:12px;line-height:1;margin:0;opacity:.4;padding:0;position:absolute;right:1px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn:hover{opacity:1}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button{height:16px;width:16px}.x-combo-list .x-toolbar .x-toolbar-cell:last-child .x-btn button:before{font-size:12px}.x-combo-list .x-toolbar:hover .x-toolbar-cell:last-child{opacity:1}.x-combo-list .x-resizable-handle-southeast{bottom:1px;right:3px}.x-combo-list.modx-superboxselect .x-combo-list-inner{margin-left:0}.x-combo-list-hd{background-image:url(../images/modx-theme/layout/panel-title-light-bg.gif);border-bottom-color:#bcbcbc;color:#464646}.x-combo-list-small{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.x-date-mp,.x-date-picker{background-color:#fbfbfb}.x-date-mp .x-btn,.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-btn,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{border:0;margin:0 0 0 7px;padding:5px 10px}.x-date-mp .x-btn:first-child,.x-date-mp .x-date-mp-cancel:first-child,.x-date-mp .x-date-mp-ok:first-child,.x-date-picker .x-btn:first-child,.x-date-picker .x-date-mp-cancel:first-child,.x-date-picker .x-date-mp-ok:first-child{margin:0}.x-date-mp .x-btn button,.x-date-mp .x-date-mp-cancel button,.x-date-mp .x-date-mp-ok button,.x-date-picker .x-btn button,.x-date-picker .x-date-mp-cancel button,.x-date-picker .x-date-mp-ok button{font-size:11px;font-style:normal;margin:0}.x-date-mp .x-date-mp-cancel,.x-date-mp .x-date-mp-ok,.x-date-picker .x-date-mp-cancel,.x-date-picker .x-date-mp-ok{height:16px}.x-date-middle{padding:5px 3px}.x-date-left a,.x-date-mp-ybtn a.x-date-mp-next,.x-date-mp-ybtn a.x-date-mp-prev,.x-date-right a{display:inline-block;filter:alpha(opacity=60);margin:0 auto;opacity:.6;position:relative;transition:opacity .25s}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-mp-ybtn a.x-date-mp-prev:before,.x-date-right a:before{box-sizing:border-box;color:#234368;content:"";font-size:18px;height:18px;left:0;position:absolute;text-align:center;top:0;vertical-align:middle;width:18px}.x-date-left a:hover,.x-date-mp-ybtn a.x-date-mp-next:hover,.x-date-mp-ybtn a.x-date-mp-prev:hover,.x-date-right a:hover{filter:alpha(opacity=100);opacity:1}.x-date-mp-ybtn a.x-date-mp-next:before,.x-date-right a:before{content:"\f0da";left:auto;right:0}.x-date-left a:before,.x-date-mp-ybtn a.x-date-mp-prev:before{content:"\f0d9"}.x-date-inner{margin:0 auto}.x-date-inner th{border-bottom-color:#e4e4e4;color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700}.x-date-inner td,.x-date-mp td{background-color:#fff;border:0;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:1px}.x-date-inner a,td.x-date-mp-month a,td.x-date-mp-year a{border-radius:3px;color:#999;font:inherit;font-weight:700}td.x-date-mp-month a,td.x-date-mp-year a{margin:0 3px}.x-date-inner .x-date-disabled a:hover,.x-date-inner .x-date-nextday a:hover,.x-date-inner .x-date-prevday a:hover,.x-date-inner a:hover,td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{background-color:#dcdcdc;color:#515151}.x-date-inner .x-date-disabled a{background-color:#e4e4e4;color:#999}.x-date-inner .x-date-active{color:#000}.x-date-inner .x-date-today a{border-color:#234368}.x-date-inner span{font-style:normal}.x-date-inner .x-date-active span,.x-date-inner .x-date-selected span{font-weight:700}.x-date-inner .x-date-selected a,td.x-date-mp-sel a{background-color:#234368;border-color:#fff;color:#fff}.x-date-inner .x-date-nextday a,.x-date-inner .x-date-prevday a{color:#dcdcdc}.x-date-bottom,.x-date-mp-btns{border-top:1px solid #e4e4e4;padding:5px}.x-date-bottom td,.x-date-mp-btns td{background-color:initial;border-top:1px solid #e4e4e4}td.x-date-mp-sep{border-right:1px solid #e4e4e4}.x-date-mmenu{background-color:#eee!important}.x-date-mmenu .x-menu-item{color:#000;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.radio-version .x-form-check-wrap .x-form-cb-label{display:block}.radio-version .x-form-check-wrap .x-form-cb-label .changelog{float:right}.x-form-template-picker .x-form-template-picker-search{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-radio-group{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;height:194px;overflow:auto}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{border-bottom:1px solid #e4e4e4}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category:last-child,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item:last-child{border-bottom:0}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label{display:block}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-cb-label:before,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-cb-label:before{display:none}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap .x-form-radio:checked+.x-form-cb-label,.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-check-wrap:not(.x-item-disabled) .x-form-cb-label:hover{background-color:#e4e4e4;color:#1b3451}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-item .x-form-cb-label{padding:10px 14px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category{padding:0!important}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-form-cb-label{font-weight:700!important;padding:10px 8px}.x-form-template-picker .x-form-template-picker-templates .x-form-template-picker-category .x-item-disabled{filter:alpha(opacity=100);opacity:1;-moz-opacity:1}.x-form-template-preview{background-color:#fff;background:url(../images/tp-no-preview.png) no-repeat 50%;border:1px solid #e4e4e4;border-radius:3px;height:236px;overflow:hidden}.x-form-template-preview .x-panel-body,.x-form-template-preview .x-panel-bwrap{height:100%;position:relative}.x-form-template-preview .x-form-template-preview-image{height:100%;-o-object-fit:cover;object-fit:cover}.x-form-template-preview .x-form-template-preview-desc{background-color:#000c;bottom:0;color:#fff;left:0;padding:10px 20px;position:absolute;right:0}#modx-tv-tabs{width:100%}.x-tab-panel-noborder{border:1px solid #e2e3de;margin:20px 0;overflow:visible}.x-tab-panel-noborder .x-tab-panel-body-noborder{background-color:#fff;border-radius:3px}.x-tab-panel-footer,.x-tab-panel-header{border:0;position:relative}.x-tab-panel-header ul.x-tab-strip{background-color:initial!important;border:0;margin:0;position:relative;top:1px}.x-tab-panel-footer-plain .x-tab-strip-spacer,.x-tab-panel-header-plain .x-tab-strip-spacer{border:none;height:0}.x-tab-panel .x-tab-panel{padding-top:18px}.x-tab-panel .x-tab-panel.vertical-tabs-panel{padding-top:0}.x-tab-panel .x-tab-panel .x-tab-strip-wrap .x-tab-strip{background-color:#fbfbfb!important}.x-tab-panel-header,.x-tab-strip{padding-left:0}.x-tab-panel-bwrap{border-radius:3px;overflow:visible}.x-tab-panel-bwrap .x-tab-panel-bwrap{box-shadow:none}ul.x-tab-strip li{background-color:initial;border-top-left-radius:3px;border-top-right-radius:3px;color:#53595f;cursor:pointer;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:2.2;margin-left:0;padding:0 12px;position:relative;z-index:5}html[dir=rtl] ul.x-tab-strip li{float:right}ul.x-tab-strip li:hover{background-color:#e4e4e4;color:#000}ul.x-tab-strip li.x-tab-strip-active{background-color:#fff;color:#234368;cursor:default}.vertical-tabs-header ul.x-tab-strip li.x-tab-strip-active{border-radius:0}ul.x-tab-strip li.x-tab-strip-active:hover{background-color:#fff}ul.x-tab-strip li.x-tab-edge{height:0;visibility:hidden}.x-tab-panel,.x-tab-panel-header,.x-tab-strip-wrap{border:none;overflow:visible}.x-tab-strip-wrap{margin:0;overflow:hidden;padding:2px 0 0}.x-tab-strip-closable{padding-right:15px!important}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../images/modx-theme/tabs/tab-close.gif);right:2px}ul.x-tab-strip-top li:first-child{margin-left:0}ul.x-tab-strip-bottom{background-color:#f4f4f4;border-top-color:#dfdfdf}ul.x-tab-strip-bottom .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-right{background-image:url(../images/modx-theme/tabs/tab-btm-right-bg.gif)}ul.x-tab-strip-bottom .x-tab-right .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-left-bg.gif)}ul.x-tab-strip-bottom .x-tab-left{background-image:url(../images/modx-theme/tabs/tab-btm-inactive-left-bg.gif)}.x-tab-panel-body{background-color:#fff;border:0;overflow:visible}.x-tab-scroller-left,.x-tab-scroller-right{border:0}.x-tab-scroller-left:before,.x-tab-scroller-right:before{box-sizing:border-box;color:#515151;content:"";filter:alpha(opacity=100);font-size:28px;margin-top:-20px;opacity:1;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:18px}.x-tab-scroller-left-over:before,.x-tab-scroller-right-over:before{color:#234368}.x-tab-scroller-left-disabled,.x-tab-scroller-right-disabled{cursor:default}.x-tab-scroller-left-disabled:before,.x-tab-scroller-right-disabled:before{color:#515151;filter:alpha(opacity=100);opacity:.4}.x-tab-scroller-left:before{content:"\f0d9"}.x-tab-scroller-right:before{content:"\f0da"}.x-tab-panel-bbar .x-toolbar,.x-tab-panel-tbar .x-toolbar{border-color:#dfdfdf}.x-tab-panel-body-noborder .x-panel-body-noheader:first-child{border-top:0}.x-tab-panel-bbar-noborder .x-toolbar{border-top-color:#0000}.x-tab-panel-tbar-noborder .x-toolbar{border-bottom-color:#0000}.vertical-tabs-panel{background-color:#fff;margin:0;overflow:hidden}.vertical-tabs-panel.wrapped{border:1px solid #e4e4e4}.vertical-tabs-panel .vertical-tabs-header{background:#fff!important;border-right:1px solid #e4e4e4!important;float:left;margin-bottom:-10000px;padding-bottom:10000px!important;width:168px!important}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap{background-color:initial;display:inline-block;line-height:0;margin:0;padding:0;width:auto!important}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip{border:0;display:inline-block;top:0;width:auto}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{border-bottom:1px solid #e4e4e4;border-right:1px solid #e4e4e4;color:#515151;float:none;line-height:1;margin:0;overflow:hidden;padding:10px 15px;transition:background-color .25s,color .25s}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li{font-size:12px;padding:8px}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li:hover{background:#fff}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{background:#fff;border-color:#234368 #fff #234368 #234368;box-shadow:none;color:#234368;width:168px}@media screen and (max-width:960px){.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-strip-active{width:80px!important}}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge{height:0;visibility:hidden}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li.x-tab-edge .x-tab-strip-text{display:none}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-wrap ul.x-tab-strip>li .x-tab-strip-text{line-height:1.4;padding:2px 0;white-space:pre-wrap}.vertical-tabs-panel .vertical-tabs-header h4{background:#fff;border-bottom:1px solid #e4e4e4;color:#53595f;font-size:16px;padding:15px 0 15px 15px}.vertical-tabs-panel .vertical-tabs-header .x-tab-strip-spacer{display:none}.vertical-tabs-panel .x-tab-panel-bwrap{box-shadow:none}.vertical-tabs-panel .x-tab-panel-bwrap .x-tab-panel-body{border-top:0;width:auto!important}.vertical-tabs-panel .x-tab-panel-bwrap .vertical-tabs-body{border:0;padding:15px 20px 15px 15px}.tvs-wrapper.below-content{border-radius:3px;margin:1rem}.tvs-wrapper.below-content .vertical-tabs-panel{border-radius:3px}@media screen and (max-width:960px){.tvs-wrapper.below-content{margin:0}}.window-vtabs .x-panel-mr{padding-right:0}.window-vtabs .vertical-tabs-panel{margin:0;width:100%!important}#modx-split-wrapper .x-border-layout-ct{background:#0000}#modx-leftbar-tabs-xcollapsed{display:none!important}#modx-leftbar{background-color:#fff;min-width:288px;z-index:0}@media screen and (min-width:961px){#modx-leftbar{max-width:50%}}#modx-leftbar .x-toolbar{border:0;padding:0!important}#modx-header{background:#234368;height:100%;max-width:70px;position:absolute;z-index:9999}#modx-navbar{display:flex;flex-direction:column;font-weight:700;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:100%;padding:0 5px;z-index:20}#modx-navbar .icon{color:#fff;font-size:20px;line-height:20px;vertical-align:middle}#modx-navbar a,#modx-navbar li{background:#0000;margin:0;padding:0;position:relative;text-align:center;width:100%}#modx-navbar a{color:#fff;cursor:pointer;display:block;font-size:10px;line-height:12px;text-decoration:none}#modx-navbar a .description{font-size:9px;opacity:.7}#modx-navbar a .description,#modx-navbar a .icon,#modx-navbar a .label{display:block;width:100%}#modx-navbar li a:hover{opacity:.7}#modx-navbar #modx-user-menu a .description,#modx-navbar #modx-user-menu a .label{display:none}#modx-navbar #modx-user-menu a #user-username{align-self:center;max-width:7ch;overflow:hidden;padding-top:.25rem;text-overflow:ellipsis;white-space:nowrap}#modx-navbar #modx-leftbar-trigger a,#modx-navbar #modx-manager-search-icon a,#modx-navbar #modx-user-menu a{padding:12px 0}#modx-navbar #modx-topnav{list-style:none;margin:0;padding:0}#modx-navbar #modx-topnav .top:not(#modx-manager-search-icon){border-top:1px solid #ffffff1a}#modx-navbar #modx-topnav>li:not(#modx-home-dashboard):not(#modx-manager-search-icon):not(#modx-leftbar-trigger)>a{display:block;padding:12px 0;position:relative}#modx-navbar #modx-user-menu{margin-top:auto}#modx-navbar #modx-user-menu #user-avatar img{border-radius:20px;display:block;height:40px;margin:auto;width:40px}#modx-navbar #modx-user-menu #limenu-user a{display:flex;flex-direction:column;justify-content:center}#modx-navbar #modx-home-dashboard{border-radius:3px;height:40px;line-height:40px;padding:10px;width:40px}#modx-navbar #modx-site-info{font-size:10px}#modx-navbar #modx-site-info .full_appname,#modx-navbar #modx-site-info .site_name{color:#fff}#modx-navbar #modx-site-info>.info-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#modx-leftbar-trigger{transition:all .2s ease}#modx-leftbar-trigger .icon:before{content:"\f060"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f061"!important}#modx-footer .modx-subnav,#modx-header .modx-subnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;box-sizing:border-box;display:block;list-style:none;opacity:0;position:absolute;transition:all .15s ease;visibility:hidden;z-index:99999999999}#modx-footer .modx-subnav li,#modx-header .modx-subnav li{background:#fff;border-radius:3px;display:block;margin:0;padding:0;position:relative}#modx-footer .modx-subnav li:not(:first-child),#modx-header .modx-subnav li:not(:first-child){border-top:1px solid #e4e4e4}#modx-footer .modx-subnav li:hover:after,#modx-header .modx-subnav li:hover:after{border-right-color:#e4e4e4}#modx-footer .modx-subnav li.sub:after,#modx-header .modx-subnav li.sub:after{color:#999;content:"\f0da";font-size:14px;margin-top:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}#modx-footer .modx-subnav li a,#modx-header .modx-subnav li a{background-color:#fff;border-radius:3px;color:#515151;cursor:pointer;display:block;font-size:13px;font-weight:700;line-height:1.5;margin:0;padding:8px 15px;text-align:left;text-decoration:none;text-shadow:none;width:270px}#modx-footer .modx-subnav li a .icon,#modx-header .modx-subnav li a .icon{display:inline-block;font-size:18px;opacity:.07;padding-left:5px}#modx-footer .modx-subnav li a span,#modx-header .modx-subnav li a span{color:#999;display:block;float:none;font-size:12px;font-weight:400;line-height:1.3;margin-top:6px;width:100%}#modx-footer .modx-subnav li a:hover,#modx-header .modx-subnav li a:hover{background:#e4e4e4;border-bottom-color:#e4e4e4;border-top-color:#e4e4e4;color:#53595f}#modx-footer .modx-subnav li a:hover .description,#modx-header .modx-subnav li a:hover .description{color:#707070}#modx-footer .modx-subnav.active,#modx-header .modx-subnav.active{opacity:1;visibility:visible}#modx-footer .modx-subnav .modx-subsubnav,#modx-header .modx-subnav .modx-subsubnav{background:#fff;border:1px solid #ffffff1a;border-radius:3px;box-shadow:0 0 15px 0 #0003;list-style:none;position:absolute;z-index:24}#modx-footer .modx-subnav .modx-subsubnav-arrow,#modx-header .modx-subnav .modx-subsubnav-arrow{border:8px solid #0000;border-right-color:#fff;content:" ";display:none;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10010}#modx-footer .modx-subnav .modx-subsubnav.active+.modx-subsubnav-arrow,#modx-header .modx-subnav .modx-subsubnav.active+.modx-subsubnav-arrow{display:block}@media screen and (min-width:961px){#modx-footer .modx-subnav .modx-subsubnav,#modx-header .modx-subnav .modx-subsubnav{opacity:0;visibility:hidden}#modx-footer .modx-subnav .modx-subsubnav.active,#modx-header .modx-subnav .modx-subsubnav.active{opacity:1;visibility:visible}}#modx-footer .modx-subnav-arrow,#modx-header .modx-subnav-arrow{border:12px solid #0000;border-right-color:#fff;content:" ";margin-top:-6px;pointer-events:none;position:absolute;right:100%}#modx-footer #language .modx-subsubnav,#modx-header #language .modx-subsubnav{max-height:calc(100vh - 12px);overflow-x:hidden;overflow-y:auto}@media screen and (max-width:960px){#modx-header{height:auto!important;min-width:100%;position:relative}#modx-navbar{flex-direction:row;flex-wrap:wrap}#modx-navbar #modx-headnav{order:1;width:50%}#modx-navbar #modx-headnav a{line-height:normal!important}#modx-navbar #modx-headnav img{max-width:35px}#modx-navbar #modx-topnav{order:0;width:100%}#modx-navbar #modx-user-menu{flex-direction:row-reverse;flex-wrap:nowrap;margin-top:0;order:2;width:50%}#modx-navbar>ul{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}#modx-navbar>ul>li{flex-basis:50px}#modx-navbar #modx-site-info{display:none}#modx-navbar #modx-home-dashboard{margin:0;padding:5px}#modx-leftbar-trigger .icon{padding:3px 4px}#modx-leftbar-trigger .icon:before{content:"\f062"}#modx-leftbar-trigger.collapsed .icon:before{content:"\f063"!important}#modx-footer .modx-subnav,#modx-header .modx-subnav{min-width:300px}#modx-footer .modx-subnav .description,#modx-header .modx-subnav .description{display:none}#modx-footer .modx-subnav li,#modx-header .modx-subnav li{border-radius:0}#modx-footer .modx-subnav li.sub:after,#modx-header .modx-subnav li.sub:after{display:none}#modx-footer .modx-subnav li a,#modx-header .modx-subnav li a{white-space:nowrap;width:auto}#modx-footer .modx-subnav .modx-subsubnav,#modx-header .modx-subnav .modx-subsubnav{box-shadow:none;display:block;left:auto;max-height:none!important;overflow-y:initial!important;position:static}#modx-footer .modx-subnav .modx-subsubnav li>a,#modx-header .modx-subnav .modx-subsubnav li>a{margin-left:1rem}#modx-footer .modx-subnav-arrow,#modx-header .modx-subnav-arrow{display:none}#modx-footer .modx-subnav,#modx-header .modx-subnav{max-height:calc(100vh - 109px);overflow-x:hidden;overflow-y:auto}}@media (max-height:520px){#modx-footer .modx-subnav .description,#modx-header .modx-subnav .description{display:none}}#modx-manager-search{background:#fff;border-radius:3px 3px 0 0;height:38px;min-width:100px;padding:10px 10px 5px}#modx-manager-search .x-form-text{background:none}#modx-manager-search .x-form-field-wrap{background-image:none;color:#565353;font-size:12px;outline:none!important}#modx-manager-search .x-form-field-wrap .x-form-text{color:#515151;font-weight:400;letter-spacing:0;text-shadow:none}#modx-manager-search .x-form-field-wrap .x-form-empty-field{color:#6a747a}#modx-manager-search .x-form-field-wrap .x-form-trigger{display:none}.modx-manager-search-results{background:#e4e4e4;border:1px solid #e4e4e4;border-radius:0 0 3px 3px;box-shadow:0 4px 10px 0 #0003;box-sizing:border-box;height:auto!important;position:relative;width:402px!important}.modx-manager-search-results .loading-indicator{background:none;color:#515151;font-size:14px;margin:10px 0;text-align:center}.modx-manager-search-results .loading-indicator:before{content:"\f110";margin-right:5px}.modx-manager-search-results .x-combo-list-inner{background:#fff;border:0;margin:0;overflow:auto;width:100%!important}@media screen and (max-width:960px){.modx-manager-search-results .x-combo-list-inner{height:auto!important;line-height:4em}.modx-manager-search-results .x-combo-list-inner .section>*{padding-bottom:.5em;padding-top:.5em}}.modx-manager-search-results .section{border-left:1px solid #ededed;font-size:12px;line-height:12px;margin-left:100px;position:relative;width:auto}.modx-manager-search-results .x-combo-list-item,.modx-manager-search-results h3{color:#515151;line-height:18px;margin:0;padding:4px 6px}.modx-manager-search-results h3{color:#53595f;font-size:11px;font-weight:400;left:-108px;line-height:11px;position:absolute;text-align:right;top:0;width:95px}.modx-manager-search-results a{color:inherit;cursor:pointer;display:inline-block;padding-left:20px;position:relative;text-decoration:none}.modx-manager-search-results i{color:#234368;left:0;position:absolute;top:4px}.modx-manager-search-results em{font-style:normal;opacity:.7}.modx-manager-search-results .x-combo-list-item{overflow:visible;white-space:normal}.modx-manager-search-results .x-combo-list-item a{display:block}.modx-manager-search-results .x-combo-list-item.x-combo-selected,.modx-manager-search-results .x-combo-list-item:hover{background-color:#e4e4e4;border:0;margin-left:0;z-index:10}.modx-manager-search-results .x-combo-list-item.x-combo-selected h3,.modx-manager-search-results .x-combo-list-item:hover h3{left:0}.modx-manager-search-results .x-combo-list-item.x-combo-selected p,.modx-manager-search-results .x-combo-list-item:hover p{border-left-color:#0000}.modx-manager-search-results .x-combo-list-item.x-combo-selected a,.modx-manager-search-results .x-combo-list-item:hover a{color:#515151}.modx-manager-search-results .icon-user{background-image:none!important}.breadcrumbs .panel-desc{margin-top:0}.crumb_wrapper{background:#fbfbfb;border-bottom:1px solid #e4e4e4;border-top:1px solid #e4e4e4;margin-top:15px}.crumb_wrapper .crumbs{height:34px;overflow:hidden}.crumb_wrapper .crumbs li{color:#53595f;float:left;font-size:12px;font-weight:400;line-height:12px;padding:0 0 0 20px;position:relative;z-index:1}.crumb_wrapper .crumbs li.first{padding:0}.crumb_wrapper .crumbs li.first:before{content:"\f015";display:inline-block;font-size:20px;left:0;line-height:34px;position:absolute;text-align:center;text-indent:0;top:0;z-index:2}#packages-breadcrumbs .crumb_wrapper .crumbs li.first:before{content:"\f1b2"}.crumb_wrapper .crumbs li.first:hover:before{color:#fff}.crumb_wrapper .crumbs li.first:hover{background-color:#515151}.crumb_wrapper .crumbs li.first .root{background-color:initial;box-sizing:initial;display:inline-block;line-height:12px;margin:0;padding:12px;text-indent:-999em;width:35px;z-index:3}.crumb_wrapper .crumbs li.first .root:before{display:none}.crumb_wrapper .crumbs li.first .root:hover{background-color:initial}.crumb_wrapper .crumbs li:hover button,.crumb_wrapper .crumbs li:hover span,.crumb_wrapper .crumbs li:hover span:after{background-color:#515151;color:#fff}.crumb_wrapper .crumbs li:hover button:after,.crumb_wrapper .crumbs li:hover span:after{border-color:#fbfbfb #fbfbfb #515151 #515151;border-style:solid;border-width:1px}.crumb_wrapper .crumbs li:hover button:before,.crumb_wrapper .crumbs li:hover span:before{background-color:#515151}.crumb_wrapper .crumbs li:hover+li button:before,.crumb_wrapper .crumbs li:hover+li span:before{border-left-color:#515151}.crumb_wrapper .crumbs li button{background-color:initial;border:0;color:#53595f;cursor:pointer;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;line-height:1;text-decoration:none}.crumb_wrapper .crumbs li span{background-color:#fbfbfb}.crumb_wrapper .crumbs li button,.crumb_wrapper .crumbs li span{display:inline-block;margin:0 0 0 1px;padding:11px 13px 11px 15px;position:relative}.crumb_wrapper .crumbs li button:before,.crumb_wrapper .crumbs li span:before{background-color:initial;border-bottom:50px solid #0000;border-left:30px solid #fbfbfb;border-top:50px solid #0000;content:"";display:inline-block;height:0;left:-33px;margin-top:-50px;padding-right:3px;position:absolute;top:50%;transform:scale(.99999);width:0;z-index:-1}.crumb_wrapper .crumbs li button:after,.crumb_wrapper .crumbs li span:after{background-color:#fbfbfb;border:1px solid #dcdcdc;border-bottom:0;border-left:0;border-radius:3px;content:"";display:inline-block;height:34px;position:absolute;right:-22px;top:0;transform:scaleX(.6) rotate(45deg);width:34px;z-index:-1}.x-toolbar{background-color:#f7f7f7;background-image:none;border-color:#dfdfdf}.x-toolbar .x-toolbar-cell label,.x-toolbar .xtb-text{margin:0 5px 0 7px;padding:0}.x-toolbar .x-item-disabled{filter:alpha(opacity=60);opacity:.6}.x-toolbar td.x-toolbar-cell:first-of-type .xtb-text{margin-left:0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:0}.x-toolbar .x-btn-group-header{line-height:1}.x-toolbar em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-b-noline.gif)}.x-toolbar .x-btn-click em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active em.x-btn-split-bottom,.x-toolbar .x-btn-over em.x-btn-split-bottom,.x-toolbar .x-btn-pressed em.x-btn-split-bottom{background-image:url(../images/modx-theme/button/s-arrow-bo.gif)}.ext-ie .x-toolbar-cell .x-form-field-wrap{height:30px}.x-tbar-page-first{background-image:url(../images/modx-theme/grid/page-first.png)!important}.x-tbar-loading{background-image:url(../images/modx-theme/grid/refresh.png)!important}.x-tbar-page-last{background:none!important;position:relative}.x-tbar-page-last:before{content:"\f04e";left:1px;right:auto;top:1px}.x-tbar-page-next{background:none!important;position:relative}.x-tbar-page-next:before{content:"\f0da";font-size:18px;left:1px;line-height:110%;right:auto}.x-tbar-page-prev{background:none!important;position:relative}.x-tbar-page-prev:before{content:"\f0d9";font-size:18px;left:auto;line-height:110%;right:1px}.x-tbar-loading{background:none!important;position:relative}.x-tbar-loading:before{bottom:auto;content:"\f01e";top:1px}.x-tbar-page-first{background:none!important;position:relative}.x-tbar-page-first:before{content:"\f04a";left:auto;right:1px;top:1px}.x-paging-info{color:#444}.x-toolbar-more-icon{background-image:url(../images/modx-theme/toolbar/more.gif)!important}.x-panel-bbar{padding-top:10px}.modx-browser-rte-buttons .x-panel-bbar{background-color:#fff;border-top:1px solid #fff;padding:5px}.modx-browser-rte-buttons .x-panel-bbar .x-toolbar-layout-ct{width:auto!important}.x-panel-bbar .x-toolbar{background-color:initial;border:0;overflow:hidden;padding:2px 0}.x-panel-bbar .x-toolbar .x-form-text{padding:5px 10px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number,.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-size{width:32px}.x-panel-bbar .x-toolbar .x-form-text.x-tbar-page-number{margin-right:3px}.x-panel-bbar .x-toolbar .x-btn{margin-right:10px;padding:8px 13px}.modx-browser-rte .x-panel-bbar .x-toolbar .x-btn{margin-right:0;padding:10px 15px}.x-panel-bbar .x-toolbar .xtb-text{margin:0 3px 0 0}.x-panel-tbar{overflow:visible;padding-bottom:4px}.x-panel-tbar .x-toolbar{border:0;overflow:visible;padding:5px 0}.x-panel-tbar .x-toolbar td{vertical-align:bottom}.x-panel-tbar .x-toolbar input.filter-query{bottom:-1px;position:relative}.x-panel-mc .x-panel-tbar .x-toolbar{background-image:none;border:0;padding:15px 0 7px}.x-panel-tbar-noheader .x-toolbar{background-color:initial;background-image:none;border:0;padding:5px 0}.x-toolbar div,.x-toolbar input,.x-toolbar label,.x-toolbar select,.x-toolbar span,.x-toolbar td{border-radius:3px}.x-html-editor-tb .x-btn-text{background-image:url(../images/modx-theme/editor/tb-sprite.gif)}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{background-color:initial;border-bottom-color:#0000}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-top-color:#0000}#modx-leftbar .x-tab-panel-noborder{margin:0 8px}#modx-leftbar .x-tab-panel-bwrap{border-radius:0 0 3px 3px;position:relative;z-index:1}#modx-leftbar .x-tab-panel-bwrap .x-tab-panel-body-noborder{background:#f1f1f1;border-radius:0 0 3px 3px}@media screen and (max-width:960px){#modx-leftbar #modx-leftbar-tabpanel{margin:0 auto;padding:.5em;width:auto!important}#modx-leftbar{box-shadow:none;height:auto!important;left:auto!important;margin:0 auto 10px;position:relative!important;top:auto!important;width:100%!important}#modx-leftbar #modx-leftbar-header{display:none}#modx-leftbar .x-plain-body{height:auto!important;width:100%!important}}#modx-leftbar .x-panel-tbar{padding:0}#modx-leftbar .x-toolbar{padding:4px 5px 2px 0}#modx-leftbar .x-tree-root-ct{padding:6px}#modx-leftbar .x-tree .x-panel-body{background:#fff;border-radius:0}#modx-tree-usergroup .x-toolbar-left-row{display:flex;flex-wrap:wrap}#modx-resource-tree-tbar .x-toolbar-left .x-btn .tree-new-resource,#modx-tree-element .x-toolbar-left .x-btn .tree-new-template{margin-left:16px}#modx-split-wrapper #modx-leftbar-tabs-xcollapsed,#modx-split-wrapper .x-layout-split{margin-left:-70px}.x-layout-split{overflow:visible;width:8px;z-index:2}.x-layout-split:hover{background:#999}#modx-leftbar-tabs-xcollapsed .x-layout-mini{left:0}#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border-left:5px solid #515151;border-right:0}@media screen and (max-width:960px){#modx-leftbar-tabs-xcollapsed .x-layout-mini:after{border:none}}#modx-leftbar-tabs-xcollapsed .x-layout-mini:hover:after{border-left-color:#234368}.modx-tree{padding:0}#modx-file-tree .modx-tree:first-child{padding-top:4px}.x-tree-arrows .x-tree-elbow-end-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-plus{background:none}.x-tree-arrows .x-tree-elbow-end-minus:hover,.x-tree-arrows .x-tree-elbow-end-plus:hover,.x-tree-arrows .x-tree-elbow-minus:hover,.x-tree-arrows .x-tree-elbow-plus:hover{background:#d9d9d9;border-radius:50%}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-end-plus:before,.x-tree-arrows .x-tree-elbow-minus:before,.x-tree-arrows .x-tree-elbow-plus:before{background:#0000 0 0;content:"\f0da";display:inline-block;margin:0;padding-left:4px;padding-right:4px;text-align:center;width:10px}.x-tree-arrows .x-tree-elbow-end-minus:before,.x-tree-arrows .x-tree-elbow-minus:before{content:"\f0d7"}.x-tree-node-el{background-position:5px;background-repeat:no-repeat;color:#515151;font:normal 14px/2.25 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 8px}.x-tree-node-el.is_folder{background:#0000}.x-tree-node-el .x-btn{box-shadow:none}.x-tree-node-el .icon{display:inline-block;font-size:1.15em;line-height:.75em;vertical-align:-15%;width:1em}.x-tree-node-el a span{padding-left:7px}.x-tree-node-el a span span{padding-left:0}.x-tree-node-el .icon-plus-circle,.x-tree-node-el .icon-refresh{font-size:1em;vertical-align:0}.unpublished,.unpublished a span,.unpublished a span i.icon,.unpublished a span i.icon-large,.unpublished i.icon,.unpublished i.icon-large{color:#b3b3b3!important;font-style:normal}.hidemenu,.hidemenu a span{color:#999;font-style:italic}.hidemenu a span i.icon,.hidemenu a span i.icon-large,.hidemenu i.icon,.hidemenu i.icon-large{color:#999;font-style:normal}.deleted{color:#af5a6280!important}.deleted i.icon,.deleted i.icon-large{color:#af5a6280!important;font-style:normal}.deleted a span{color:#af5a6280!important;text-decoration:line-through}.element-node-disabled a span{color:#aaa}.x-tree-node{background:#fff;color:#999;position:relative}.x-tree-node .element-node-disabled a span,.x-tree-node .element-node-disabled i.icon,.x-tree-node .x-tree-node-disabled a span,.x-tree-node .x-tree-node-disabled i.icon{color:#aaa}.element-node-locked a span{font-style:inherit}.modx-tree-node-tool-ct{bottom:0;line-height:1.8;position:absolute;right:6px;top:0}html[dir=rtl] .modx-tree-node-tool-ct{left:6px;right:unset}.modx-tree-node-tool-ct .x-btn:focus,.modx-tree-node-tool-ct .x-btn:hover{color:#6cb24a!important}#modx-gr-tree-resource .modx-tree-node-tool-ct,#modx-ih-resource-tree .modx-tree-node-tool-ct{display:none}.x-tree-node-el .modx-tree-node-btn-create{bottom:0;line-height:34px;opacity:0;overflow:hidden;position:absolute;right:6px;top:0;transition:opacity .4s ease-in}html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create{left:6px;right:unset}.x-tree-node-el .modx-tree-node-btn-create .x-btn{color:#515151;opacity:.4;transition:opacity .2s ease-in-out,color .2s ease-in-out}.x-tree-node-el .modx-tree-node-btn-create .x-btn:focus,.x-tree-node-el .modx-tree-node-btn-create .x-btn:hover{color:#6cb24a;opacity:1}#modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create,#modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create{display:none}.x-tree-node-el:focus-within .modx-tree-node-btn-create,.x-tree-node-el:focus .modx-tree-node-btn-create,.x-tree-node-el:hover .modx-tree-node-btn-create{opacity:1}.tree-pseudoroot-node.x-tree-node-el{background-color:#f1f1f1;font:500 14px/3 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:0 5px;position:relative}.tree-pseudoroot-node.x-tree-node-el>.icon,.tree-pseudoroot-node.x-tree-node-el a span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct{filter:alpha(opacity=50);line-height:3;opacity:.5}.tree-pseudoroot-node.x-tree-node-el .modx-tree-node-tool-ct .x-btn{margin-left:2px}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-collapsed{border-bottom:1px solid #e4e4e4}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded>.icon,.tree-pseudoroot-node.x-tree-node-el.x-tree-node-expanded span{color:#53595f}.tree-pseudoroot-node.x-tree-node-el.x-tree-node-over{background-color:#e4e4e4;color:#53595f}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct{background:#fbfbfb;overflow-x:auto}.tree-pseudoroot-node.x-tree-node-el+.x-tree-node-ct:empty,.tree-pseudoroot-node.x-tree-node-el+div>.x-tree-node-ct:empty{padding:0}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct{filter:alpha(opacity=100);opacity:1}.tree-pseudoroot-node.x-tree-node-el:hover .modx-tree-node-tool-ct .x-btn{color:inherit}.x-tree-elbow,.x-tree-elbow-end{display:inline-block}#modx-leftbar .icon,.x-tree-node .icon{background:none;border:0;display:inline-block;filter:alpha(opacity=80);margin:0;opacity:.8;padding:3px;text-align:center}#modx-leftbar .icon.icon-code:before,#modx-leftbar .icon.icon-cogs:before,#modx-leftbar .icon.icon-columns:before,#modx-leftbar .icon.icon-folder:before,#modx-leftbar .icon.icon-th-large:before,.x-tree-node .icon.icon-code:before,.x-tree-node .icon.icon-cogs:before,.x-tree-node .icon.icon-columns:before,.x-tree-node .icon.icon-folder:before,.x-tree-node .icon.icon-th-large:before{font-weight:900}#modx-leftbar .icon i,.x-tree-node .icon i{font-style:normal}#modx-leftbar .icon button,.x-tree-node .icon button{display:none}.x-tree-node-ct .x-tree-node .icon{left:-1px;position:relative;top:-1px}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node div.x-tree-drag-insert-below{border-bottom:2px solid #a8c3e2!important}.x-tree-node div.x-tree-drag-insert-above{border-top:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom:2px solid #a8c3e2!important}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top:2px solid #a8c3e2!important}.x-tree-node .x-tree-drag-append a span,.x-tree-node .x-tree-node-over{background-color:#e4e4e4}.x-tree-node .x-tree-selected{background-color:#d6e7f8}.x-tree-node .x-tree-expanded{background-color:#e4e4e4;color:#234368}.x-tree-node .x-tree-expanded a,.x-tree-node .x-tree-expanded a span{color:#234368}.icon-rss:before{content:"\f09e"}.icon-cal:before,.icon-ical:before,.icon-ics:before,.icon-vcs:before{content:"\f133"}.icon-db:before,.icon-sql:before{content:"\f1c0"}.icon-7z:before,.icon-bz2:before,.icon-dmg:before,.icon-gz:before,.icon-iso:before,.icon-rar:before,.icon-tar:before,.icon-tgz:before,.icon-zip:before{content:"\f1c6"}.icon-backup:before,.icon-bak:before,.icon-bk:before{content:"\f1da"}.icon-bmp:before,.icon-gif:before,.icon-jpeg:before,.icon-jpg:before,.icon-png:before,.icon-svg:before,.icon-tiff:before{content:"\f1c5"}.icon-bat:before,.icon-scr:before,.icon-sh:before{content:"\f120"}.icon-log:before,.icon-txt:before{content:"\f15c"}.icon-aac:before,.icon-aif:before,.icon-aiff:before,.icon-flac:before,.icon-m4a:before,.icon-mp3:before,.icon-ogg:before,.icon-wav:before,.icon-wma:before{content:"\f1c7"}.icon-3gp:before,.icon-avi:before,.icon-fla:before,.icon-flv:before,.icon-m4v:before,.icon-mov:before,.icon-mp4:before,.icon-mpeg:before,.icon-mpg:before,.icon-swf:before,.icon-wmv:before{content:"\f1c8"}.icon-access:before,.icon-htaccess:before{content:"\f023"}.icon-as:before,.icon-cfm:before,.icon-jar:before,.icon-java:before,.icon-php:before,.icon-rb:before{content:"\f1c9"}.icon-doc:before,.icon-docx:before{content:"\f1c2"}.icon-csv:before,.icon-xls:before,.icon-xlsx:before{content:"\f1c3"}.icon-ppt:before,.icon-pptx:before{content:"\f1c4"}.icon-pdf:before{content:"\f1c1"}.icon-coffeescript:before,.icon-css:before,.icon-htm:before,.icon-html:before,.icon-js:before,.icon-json:before,.icon-less:before,.icon-scss:before,.icon-styl:before,.icon-xml:before{content:"\f1c9"}.icon-action{background-image:url(../images/restyle/icons/application_osx_terminal.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-action.x-tree-node-el{background-position:5px 5px!important}.icon-action:before{content:" "}.icon-namespace{background-image:url(../images/restyle/icons/computer.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-namespace.x-tree-node-el{background-position:5px 5px!important}.icon-namespace:before{content:" "}.icon-list-new{background-image:url(../images/restyle/icons/layout_add.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-list-new.x-tree-node-el{background-position:5px 5px!important}.icon-list-new:before{content:" "}.icon-mark-active{background-image:url(../images/restyle/icons/layout_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-active.x-tree-node-el{background-position:5px 5px!important}.icon-mark-active:before{content:" "}.icon-mark-complete{background-image:url(../images/restyle/icons/layout_header.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-mark-complete.x-tree-node-el{background-position:5px 5px!important}.icon-mark-complete:before{content:" "}.icon-package{background-image:url(../images/restyle/icons/package.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;padding-right:5px!important;vertical-align:middle}.icon-package.x-tree-node-el{background-position:5px 5px!important}.icon-package:before{content:" "}.icon-locked{background-image:url(../images/restyle/icons/lock_edit.png)!important;background-position:50%!important;background-repeat:no-repeat!important;min-height:16px;min-width:16px;vertical-align:middle}.icon-locked.x-tree-node-el{background-position:5px 5px!important}.icon-locked:before{content:" "}.icon-lock{content:"\f023"}#modx-resource-tree-panel .x-accordion-hd{background-position:0 0}#modx-element-tree-panel .x-accordion-hd{background-position:0 -32px}#modx-file-tree-panel .x-accordion-hd{background-position:0 -64px}#modx-static-page-settings .x-accordion-hd{background-position:0 -96px}.x-tree-node-el .x-tree-node-icon{display:inline-block}.x-tree-node-loading .x-tree-node-icon{background-image:url(../images/modx-theme/tree/loading.gif)!important}.x-tree-node-loading a span{color:#444;font-style:italic}.tree-context:before{content:"\f0ac"}.tree-resource:before{content:"\f15b"}.tree-static-resource:before{content:"\f15c"}.tree-weblink:before{content:"\f0c1"}.tree-symlink:before{content:"\f0c5"}.icon-folder:before,.parent-resource:before{content:"\f07b"}.x-tree-node-expanded .icon-folder:before,.x-tree-node-expanded .parent-resource:before{content:"\f07c"}.locked-resource:before{content:"\f023"!important}.ext-ie .x-tree-node-el input{height:15px;width:15px}.x-tree-root-ct{border-radius:0;overflow:hidden;padding:0!important}.x-tree-root-node{margin:0}.x-dd-drag-ghost a,.x-dd-drag-ghost a span,.x-tree-node,.x-tree-node a,.x-tree-node a span{color:#515151}.x-tree-node .x-tree-node-disabled a span{color:#d1d1d1}.x-tree-node div.x-tree-drag-insert-below{border-bottom-color:#686868}.x-tree-node div.x-tree-drag-insert-above{border-top-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{border-bottom-color:#686868}.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{border-top-color:#686868}.x-tree-node .x-tree-drag-append a span{background-color:#dfdfdf;border-color:#e4e4e4}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-add.gif)}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-over.gif)}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-under.gif)}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url(../images/modx-theme/tree/drop-between.gif)}#modx-leftbar-header{align-items:center;box-sizing:border-box;color:#53595f;display:flex;height:57px;justify-content:left;padding:.67rem 1rem}#modx-leftbar-header img{max-height:100%;max-width:33%}#modx-leftbar-header a{color:#53595f;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;text-decoration:none}#modx-leftbar-header a:focus,#modx-leftbar-header a:hover{color:#234368}#modx-leftbar-header a:after{content:"\f06e";font-size:14px;opacity:.5;padding:5px}#modx-leftbar-header img+a{padding-left:.67rem}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip-wrap{margin:0;padding:0}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip{display:flex;width:100%}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li{box-sizing:border-box;flex-grow:1;float:none;margin-left:0;text-align:center}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li#modx-leftbar-tabpanel__modx-trash-link{border-right:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li:hover{color:#234368}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active{background:#f1f1f1}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:after{box-shadow:none}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip li.x-tab-strip-active:before{background:#0000}#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-clear,#modx-leftbar-tabpanel .x-tab-panel-header .x-tab-strip .x-tab-edge{display:none}#modx-leftbar-tabpanel__modx-trash-link .icon{opacity:.5}#modx-leftbar-tabpanel__modx-trash-link .icon:hover{color:#cf1124}#modx-leftbar-tabpanel__modx-trash-link.active .icon{opacity:1}.modx-browser-rte{background:#fff}.modx-browser-tree{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-tree,.x-window .modx-browser-tree{border-radius:0;border-right:1px solid #e4e4e4;box-shadow:none}.modx-browser-view-ct{background:#fff;border-radius:3px;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-rte .modx-browser-view-ct,.x-window .modx-browser-view-ct{border-radius:0;box-shadow:none}.modx-browser-thumb-wrap{cursor:pointer;float:left;margin:5px;overflow:hidden;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modx-browser-thumb-wrap.x-view-over .modx-browser-placeholder{color:#515151}.modx-browser-thumb-wrap.x-view-over .modx-browser-thumb{border:1px dotted #515151}.modx-browser-thumb-wrap.x-view-selected .modx-browser-placeholder{color:#234368}.modx-browser-thumb-wrap.x-view-selected .modx-browser-thumb{border:1px solid #234368}.modx-browser-thumb{background:#fff;border:1px solid #e4e4e4;height:100px;line-height:100px;padding:5px;width:100px}.modx-browser-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);max-width:100%;vertical-align:middle}.modx-browser-placeholder{color:#dcdcdc;font-size:14px}.details .modx-browser-placeholder{align-items:center;display:flex;font-size:24px;font-weight:700;height:100px;justify-content:center;overflow:hidden;width:100%}.modx-browser-list-item{padding:0 5px}.modx-browser-list-item>span{background-position:0!important;border-bottom:1px solid #e4e4e4;clear:both;display:block;min-height:16px;padding:5px 0 5px 20px;position:relative}.modx-browser-list-item>span:before{font-size:14px;left:2px;position:absolute}.modx-browser-list-item>span span{display:inline-block;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-browser-list-item>span span.file-size,.modx-browser-list-item>span span.image-size{float:right;width:13%}.modx-browser-list-item.x-view-over>span{background:#fbfbfb}.modx-browser-list-item.x-view-selected>span{background:#fbfbfb;color:#234368}.modx-browser-view-ct .loading-indicator{background-position:0;background-repeat:no-repeat;font-size:11px;margin:10px;padding-left:20px}.modx-browser-pathbbar table,.modx-browser-pathbbar tbody,.modx-browser-pathbbar td,.modx-browser-pathbbar tr{display:block}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell{position:relative}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row td.x-toolbar-cell:before{content:"\f328";filter:alpha(opacity=60);font-size:14px;left:0;opacity:.6;position:absolute;text-align:center;top:50%;width:30px}.modx-browser-pathbbar .x-toolbar-left .x-toolbar-left-row .modx-browser-filepath{background:#0000;border:0;border-radius:0;border-top:1px solid #e4e4e4;box-sizing:border-box;height:32px!important;margin:0!important;padding-left:30px;width:100%}.modx-browser-details-ct{background:#fff;border-radius:3px}.modx-browser-rte .modx-browser-details-ct,.x-window .modx-browser-details-ct{border-left:1px solid #e4e4e4;border-radius:0;box-shadow:none}.modx-browser-detail-thumb{color:#000;cursor:default;padding:5px;position:relative}.modx-browser-detail-thumb.preview{cursor:pointer}.modx-browser-detail-thumb.preview:before{content:"\f002";filter:alpha(opacity=0);font-size:56px;left:0;margin-top:-28px;opacity:0;position:absolute;text-align:center;text-shadow:0 0 10px #0003;top:50%;transition:opacity .25s;width:100%}.modx-browser-detail-thumb.preview:hover:before{filter:alpha(opacity=60);opacity:.6}.modx-browser-detail-thumb img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}.modx-browser-details-info{border-top:1px solid #e4e4e4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;padding:15px;text-align:left}.modx-browser-details-info b{color:#53595f;display:block;margin-bottom:2px}.modx-browser-details-info span{display:block;margin-bottom:10px}.modx-browser-fullview{text-align:center}.modx-browser-fullview img{background-color:#ccc;background-image:url(../images/modx-theme/transparency-pattern.png);display:block;height:auto;margin:0 auto;max-width:100%;width:100%}@media screen and (max-width:960px){.modx-browser{max-height:100%!important;overflow-y:scroll;top:15px!important}.modx-browser-panel{background-color:#fff!important;margin:15px 0!important;min-height:700px;width:100%!important}.modx-browser-tree,.modx-browser-view-ct{max-width:35%!important;width:35%!important}.modx-browser-details-ct,.modx-browser-tree,.modx-browser-view-ct{display:inline-block!important;float:left;left:0!important;padding:0 5px;position:relative!important}.modx-browser-details-ct{max-width:20%!important;width:20%!important}.modx-browser-details-ct *,.modx-browser-tree *,.modx-browser-view-ct *{font-size:12px!important}.modx-browser-details-ct input,.modx-browser-tree input,.modx-browser-view-ct input{padding:5px!important}.modx-browser-tree .x-toolbar-ct tbody tr td{display:table-cell}.modx-browser-view-ct .x-panel-body,.modx-browser-view-ct .x-panel-tbar,.modx-browser-view-ct .x-panel-tbar-noheader,.modx-browser-view-ct .x-panel-tbar .x-toolbar,.modx-browser .x-panel-tbar-noheader,.modx-browser .x-toolbar{width:100%!important}.modx-browser-view-ct .x-panel-tbar .x-toolbar-cell label{line-height:2.2}.modx-browser-thumb-wrap{margin:5px;padding:5px;width:24%}.modx-browser-thumb{height:25px;line-height:25px;max-width:100%;overflow:hidden;padding:0}.modx-browser-thumb img{max-width:100%}.modx-browser-placeholder{height:50px}.modx-browser-details-info{padding:5px}}.x-window{-webkit-backface-visibility:hidden;border-radius:3px;box-shadow:0 0 15px 0 #0003;filter:alpha(opacity=0);opacity:0;overflow:visible;transform:scale(1) translateZ(0);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.x-window.anim-ready{transform:scale(.7) translateZ(0)}.x-window.zoom-in{filter:alpha(opacity=100);opacity:1;transform:scale(1) translateZ(0)}.x-window.zoom-out{filter:alpha(opacity=0);opacity:0;transform:scale(1.3) translateZ(0)}.ext-ie8 .x-window.x-window-dlg{filter:alpha(opacity=100)}.x-window .x-window-tl,.x-window .x-window-tr{padding:0}.x-window .x-window-tc{z-index:1}.x-window .x-window-tc .x-window-header{background-color:#f4f4f4;border-bottom:1px solid #f4f4f4;border-radius:3px 3px 0 0;color:#515151;font:normal 13px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:8px;text-align:center}.x-window .x-window-tc .x-window-header-text{padding-left:24px}.x-window.x-panel-collapsed .x-window-tl{border-bottom:1px solid #dcdcdc}.x-window.x-panel-collapsed .x-window-header{border-radius:3px}.x-window .x-window-bwrap{overflow:visible}.x-window .x-window-bwrap .x-window-ml,.x-window .x-window-bwrap .x-window-mr{padding:0}.x-window .x-window-bwrap .x-window-mc{border:0;padding:0}.x-window .x-window-bwrap .x-window-mc .x-panel-bl,.x-window .x-window-bwrap .x-window-mc .x-panel-mc,.x-window .x-window-bwrap .x-window-mc .x-panel-ml,.x-window .x-window-bwrap .x-window-mc .x-panel-mr,.x-window .x-window-bwrap .x-window-mc .x-panel-tl{background:#0000;border:0;padding:0}.x-window .x-window-body{background-color:#fff!important;border:0;overflow-y:auto;padding:15px}.x-window.modx-window .x-window-body{padding-top:0}.x-window.modx-window.modx-alert .x-window-body,.x-window.modx-window.modx-confirm .x-window-body,.x-window.modx-window.modx-console .x-window-body,.x-window.modx-window .x-window-with-tabs .x-window-body{padding-top:15px}.x-window.modx-window .x-window-tc .x-window-header-text{padding-left:64px}.x-window .x-panel-bwrap{background:#fff;padding:0}.x-window .x-panel-bwrap .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window .x-window-with-tabs .x-window-body{background-color:#fbfbfb!important;overflow:visible}.x-window .x-window-with-tabs .x-panel-bwrap{background:#0000;box-shadow:none;overflow:visible;padding:0}.x-window form.x-panel-body:first-of-type{overflow:visible!important}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap{padding-top:3px}.x-window .modx-tabs .x-tab-panel-header .x-tab-strip-wrap .x-tab-strip{border:0}.x-window .x-tab-panel-bwrap{background:#fff;box-shadow:0 4px 6px #00000026;padding:10px}.x-window .x-tab-panel-bwrap .x-tab-panel-body{overflow-y:auto}.x-window .x-tab-panel-bwrap .x-tab-panel-body .modx-panel .x-panel-bwrap,.x-window .x-window-bl,.x-window .x-window-br{padding:0}.x-window .x-window-bc .x-window-footer{background-color:#fff;border-radius:0 0 3px 3px;border-top:1px solid #fff;box-sizing:border-box;padding:5px 15px 15px;width:100%!important}.x-window.x-window-maximized{margin:0}.x-window.x-window-maximized .x-window-mc,.x-window.x-window-maximized .x-window-tc{padding:0}.x-window.modx-console .modx-console-text{background-color:#fff;border:none;font:12px SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;height:auto!important}.x-window.modx-console .debug{color:#515151}.x-window.modx-console .success{color:#6cb24a}.x-window.modx-console .warn{color:#4a90e2}.x-window.modx-console .error{color:#cf1124}.x-progress-wrap{border:1px solid #6cb24a;width:100%!important}.x-progress-wrap .x-progress-inner{background-color:#fdfefd}.x-progress-wrap .x-progress-bar{background-color:#6cb24a;border:0}.x-progress-wrap .x-progress-text{color:#fff;font-size:11px;font-weight:700}.x-progress-wrap .x-progress-text-back{color:#515151}.ext-el-mask{background-color:#fff;filter:alpha(opacity=0);opacity:0;transition:opacity .25s}.ext-el-mask.fade-in,.x-masked .ext-el-mask{filter:alpha(opacity=50);opacity:.5}.x-masked .ext-el-mask{z-index:9}.ext-mb-icon{display:inline-block;float:left;position:relative;width:40px!important}.ext-mb-icon:before{color:#4a90e2;content:"";font-size:32px;position:absolute;right:0;text-align:left;top:50%;transform:translateY(-50%);width:100%}.ext-mb-icon.ext-mb-info:before{color:#4a90e2;content:"\f05a"}.ext-mb-icon.ext-mb-question:before{color:#4a90e2;content:"\f059"}.ext-mb-icon.ext-mb-warning:before{color:#f0b429;content:"\f071"}.ext-mb-icon.ext-mb-error:before{color:#cf1124;content:"\f057"}.ext-mb-content{display:block;margin-left:0!important}.ext-el-mask-msg{background-color:#fff;border:1px solid #dcdcdc;border-radius:3px;box-shadow:0 4px 6px #00000026;padding:5px;z-index:10}.ext-el-mask-msg div{background-color:initial;border:0;color:#515151;cursor:default;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.ext-el-mask-msg .modx-lockmask div{color:#cf1124}.x-mask-loading div{background-image:url(../images/modx-theme/grid/loading.gif)}.dashboard{display:flex;flex-flow:row wrap;margin:-.5rem 0 0 -1rem!important;padding:0 15px}.dashboard .dashboard-button{background:#fff;border:1px solid #0000;border-radius:3px;display:inline-block;padding:5px 20px;text-decoration:none}.dashboard .dashboard-button-green{background:#6cb24a;border-color:#6cb24a;color:#fff}.dashboard .dashboard-button[disabled]{background-color:#e4e4e4}.dashboard .dashboard-button:not([disabled]):hover{border-color:#e4e4e4}.dashboard .dashboard-block{margin:1rem 0 0 1rem}.dashboard .dashboard-block:not(.headless){background-color:#fff;border-radius:3px}.dashboard .dashboard-block.headless .body{max-height:100%;overflow:visible;padding:0}.dashboard .dashboard-block.quarter{width:calc(25% - 1rem)}.dashboard .dashboard-block.one-third{width:calc(33.33332% - 1rem)}.dashboard .dashboard-block.half{width:calc(50% - 1rem)}.dashboard .dashboard-block.two-thirds{width:calc(66.66668% - 1rem)}.dashboard .dashboard-block.three-quarters{width:calc(75% - 1rem)}.dashboard .dashboard-block.full{width:calc(100% - 1rem)}.dashboard .dashboard-block.double{margin-top:2rem;min-height:250px;width:calc(100% - 1rem)}.dashboard .dashboard-block.double .body{height:100%;max-height:100%}.dashboard .dashboard-block.double .dashboard-buttons{height:100%}.dashboard .dashboard-block.double .dashboard-button{align-items:center}.dashboard .dashboard-block h4{color:#515151;font-size:13px;padding-bottom:2px}.dashboard .dashboard-block em{font-style:italic}.dashboard .dashboard-block strong{font-weight:700}.dashboard .dashboard-block ul{list-style:circle outside;padding:0 0 0 15px}.dashboard .dashboard-block img{max-width:100%}.dashboard .dashboard-block .draggable{cursor:move}.dashboard .dashboard-block .action-buttons{margin-left:auto;margin-right:10px}.dashboard .dashboard-block .action-buttons button{background:#0000;border:none;cursor:pointer;opacity:0}.dashboard .dashboard-block .action-buttons button.hidden{display:none}.dashboard .dashboard-block .body{color:#444;font-size:12px;height:auto;max-height:300px;overflow:auto;padding:10px;position:relative}.dashboard .dashboard-block .body .action-buttons{position:absolute;right:-5px;top:20px}.dashboard .dashboard-block .title-wrapper{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:nowrap}.dashboard .dashboard-block .title-wrapper .title{zoom:1;background:#fff;border-radius:3px;color:#515151;flex-grow:1;font-size:12px;font-weight:700;margin:0;padding:15px 10px}.dashboard .dashboard-block .actions button{height:10px;width:10px}.dashboard .dashboard-block:focus-within .action-buttons button,.dashboard .dashboard-block:hover .action-buttons button{opacity:1}.dashboard ul.configcheck{list-style-type:none;padding:0}.dashboard ul.configcheck li{background-color:#fbfbfb;margin-bottom:.5em;margin-top:.5em;padding:1em 1.618em}.dashboard ul.configcheck li h5{color:#cf1124}.dashboard ul.configcheck li p{color:#515151}.dashboard .news_article{border-bottom:1px solid #dfdfdf;overflow:hidden;padding:15px 0}.dashboard .news_article h2 a{text-decoration:none}.dashboard .news_article h2{font-size:18px}.dashboard .news_article .date_stamp{float:right;font-size:12px;font-style:italic}.dashboard .configcheck a,.dashboard .news_article a{text-decoration:underline}.dashboard .configcheck a:hover,.dashboard .news_article a:hover{text-decoration:none}.dashboard .table-wrapper{overflow:auto;width:100%}.dashboard .table-wrapper table{border:1px solid #ddd;border-radius:5px;width:100%}.dashboard .table-wrapper table th{border-bottom:2px solid #f0f0f0;font-weight:700;padding:10px;text-align:initial}.dashboard .table-wrapper table td{border-bottom:1px solid #f0f0f0;padding:10px;vertical-align:center;white-space:nowrap}.dashboard .table-wrapper table td .unpublished{color:#999;font-style:italic}.dashboard .table-wrapper table td .deleted{color:#af5a6280!important;text-decoration:line-through}.dashboard .table-wrapper table tr:last-child td,.dashboard .table-wrapper table tr:last-child td tr:last-child td{border:none}.dashboard .table-wrapper table tr:last-child td tr:last-child td:first-child{border-bottom-left-radius:10px}.dashboard .table-wrapper table tr:last-child td tr:last-child td:last-child{border-bottom-right-radius:10px}.dashboard .widget-footer{border-top:1px solid #f0f0f0;padding-top:10px}.dashboard .widget-footer a{display:block;font-size:14px;padding-bottom:5px;padding-top:5px;text-align:center;text-decoration:none}.dashboard .widget-actions a{border:1px solid #e4e4e4;border-radius:3px;display:inline-block;margin-left:5px;padding:3px 5px;text-decoration:none}.dashboard .widget-actions a:first-child{margin-left:0}.dashboard .widget-actions a:hover{background:#f0f0f0}.dashboard .widget-actions a .icon{display:inline-block;height:12px;text-align:center;width:12px}.dashboard .no-results{color:#999;padding:10px;text-align:center}.dashboard .user-with-avatar{align-items:center;display:flex}.dashboard .user-with-avatar .user-avatar{margin:0 10px}.dashboard .user-with-avatar .user-avatar img{border-radius:50%;width:35px}.dashboard .user-with-avatar .user-name{color:#234368;font-weight:500}.dashboard .user-with-avatar .user-group{color:#999}.dashboard .occurred-date,.dashboard .resource .title{color:#234368;font-weight:500}.dashboard .occurred-time{color:#999}#modx-news-feed-container img{max-width:100%}.dashboard-buttons{display:flex;flex-wrap:wrap;justify-content:center;margin:-1rem 0 0 -1rem;width:calc(100% + 1rem)}.dashboard-buttons .dashboard-button{align-items:center;background-color:#fff;border-radius:3px;color:#53595f;display:flex;flex:1;margin:1rem 0 0 1rem;padding:20px;text-decoration:none}.dashboard-buttons .dashboard-button:hover{color:#000}.dashboard-buttons .dashboard-button:hover .icon{opacity:.7}.dashboard-buttons .dashboard-button-icon{background:#6cb24a33;border:1px solid #6cb24a;border-radius:20px;padding:10px;text-align:center}.dashboard-buttons .dashboard-button-icon .icon{color:#6cb24a;display:block;font-size:16px;font-weight:700;height:16px;text-align:center;width:16px}.dashboard-buttons .dashboard-button-wrapper{padding:0 10px}.dashboard-buttons .dashboard-button-title{font-weight:700}::-webkit-scrollbar,::-webkit-scrollbar-thumb{background-color:initial;border:.25rem solid #0000;border-radius:.5rem;height:1rem;width:1rem}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem #556c881a}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem #556c8833}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:initial}.updates-widget .updates-title{color:#234368;font-weight:500}.updates-widget .updates-updateable{background:#4a90e2;border-radius:20px;color:#fff;display:inline-block;font-weight:700;padding:2px 8px}.updates-widget .updates-available,.updates-widget .updates-ok{border-radius:3px;color:#fff;font-size:10px;padding:3px 8px;text-transform:uppercase}.updates-widget .updates-ok{background:#6cb24a}.updates-widget .updates-available{background:#cf1124}#modx-panel-system-info .x-form-label-left .x-form-item{padding:0 5px}#modx-panel-system-info .x-form-label-left .x-form-item:nth-child(2n){background:#f0f0f0}#modx-panel-system-info .x-form-label-left .x-form-item .x-form-display-field{padding:7px 0}@media screen and (max-width:960px){.dashboard-buttons .dashboard-button{align-items:center;flex-direction:column;flex-wrap:wrap;text-align:center}.dashboard-buttons .dashboard-button-wrapper{margin-left:0;margin-top:5px}.dashboard .dashboard-block.half,.dashboard .dashboard-block.one-third,.dashboard .dashboard-block.quarter,.dashboard .dashboard-block.two-thirds{width:calc(100% - 1rem)}.dashboard-buttons{flex-wrap:wrap}.dashboard-buttons .dashboard-button{padding:10px}.dashboard-buttons .dashboard-button-wrapper{display:none}}.nobg .x-panel-body{background:#0000;padding-right:1.5em}#managerbuttons{margin-bottom:1em;overflow:hidden;width:100%}#managerbuttons ul:after,#managerbuttons ul:before{content:" ";display:table}#managerbuttons ul:after{clear:both}#managerbuttons ul{*zoom:1;margin:0;width:100%}#managerbuttons ul li{box-sizing:border-box;display:table;float:left;margin:0;padding:0 1%;position:relative;width:20%}#managerbuttons ul li:first-child{padding-left:0}#managerbuttons ul li:last-child{padding-right:0}#managerbuttons ul li a{background-color:#fff;border:1px solid #e4e4e4;border-radius:3px;box-shadow:0 1px 0 #e4e4e4;color:#53595f;display:table-cell;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:700;padding:12px;position:relative;text-align:center;text-decoration:none;vertical-align:middle}#managerbuttons ul li a span{display:block;line-height:1.4}#managerbuttons ul li a span.headline{font-size:12px}#managerbuttons ul li a span.subline{font-weight:400}#managerbuttons ul li a span.icon{display:block;margin:0 auto;padding:0 0 10px;width:auto}#managerbuttons ul li a:hover span.icon{color:#234368}#contactus,#helpBanner{background:#fff;border:1px solid #e4e4e4;box-shadow:0 1px 0 #e4e4e4;box-sizing:border-box;margin:.75em 0 1.75em;padding:18px;width:100%}#contactus h3,#helpBanner h3{margin:0 0 1em}#helpBanner{background-attachment:none;background-image:url(../images/modx-logo-color.svg),none;background-position:97%;background-repeat:no-repeat;background-size:200px;margin-top:1.5em;min-height:112px}#helpBanner #helpLogo{float:right;height:76px;margin-right:1em;width:200px}#contactus{box-sizing:border-box;float:left;width:60%}#contactus form{display:inline}#contactus input[type=email]{box-sizing:border-box;font-size:1.1em;margin-right:4px;padding:.4em;width:70%}#contactus input[type=submit]{border:0;cursor:pointer;font-size:1.1em;padding:6px 10px}#contactus p{color:#132539;margin:1em 0}#contactus form+p{margin:2em 0 0}#contactus a{color:#000;text-decoration:none}#contactus a:hover{text-decoration:underline}#contactus a:hover i{text-decoration:none}#contactus a i{margin:0 15px -6px 0}#mcsignup input.x-btn{padding:10px 15px}.icon.icon-2x{text-align:center;vertical-align:text-bottom;width:22px}#aboutMODX{background:#f0f0f0;box-sizing:border-box;float:left;margin:1em 0 0 2%;min-height:300px;padding:1em;width:38%}#aboutMODX p{line-height:1.6;margin:0 0 1em}#aboutMODX a{color:#234368;margin:-2px -4px;padding:2px 4px}#aboutMODX a:hover{background-color:#234368;color:#fff;text-decoration:none}.trashrow{background-color:#ccc!important}.x-btn-purge-all{color:#cf1124}.x-btn-purge-all:hover{background:#cf1124;box-shadow:0 0 0 1px #cf1124;color:#fff}.x-btn-restore-all{color:#6cb24a}.x-btn-restore-all:hover{background:#6cb24a;box-shadow:0 0 0 1px #6cb24a;color:#fff}#changelog-tab p{margin-bottom:.3rem}#changelog-tab h1{color:#595959}#changelog-tab h2{font-weight:700;margin-top:1rem}#changelog-tab ul{margin-bottom:1rem}#modx-package-browser-details-main p{color:#595959;margin-bottom:.3rem}#modx-package-browser-details-main h1,#modx-package-browser-details-main h2,#modx-package-browser-details-main h3,#modx-package-browser-details-main h4,#modx-package-browser-details-main h5,#modx-package-browser-details-main h6{color:#595959;font-weight:700}#modx-package-browser-details-main h1{font-size:1.2em}#modx-package-browser-details-main h2{font-size:1.15em}#modx-package-browser-details-main h3{font-size:1.1em}#modx-package-browser-details-main h4{font-size:1.05em}#modx-package-browser-details-main h5{font-size:1em}#modx-package-browser-details-main h6{font-size:.95em}#modx-package-browser-details-aside h4{text-align:center}#modx-package-browser-details-aside ul li{margin-bottom:.5em}.ext-webkit :focus-visible{outline:auto!important;outline-offset:.1em}.ext-webkit :focus-visible.x-form-focus{outline:none!important}.ext-webkit .x-form-check-wrap:focus-within:has(:focus-visible) label:before{outline:auto!important;outline-offset:.1em}.skiplinks{height:0;left:-100rem;position:fixed;top:-100rem;width:0;z-index:99999}.skiplinks a:active,.skiplinks a:focus{background-color:#fff;left:0;margin:1rem;padding:1rem;position:fixed;top:0}body{-webkit-font-smoothing:antialiased;color:#000;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;scrollbar-color:#e1e3e6 #0000}body a{color:#234368}body a:hover{color:#162a42}h2,h3{color:#515151;font:normal 25px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0 0 8px -1px}h3{font:550 15px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}strong{font-weight:700}em{font-style:italic}hr{background-color:#e4e4e4;border:0;color:#e4e4e4;height:1px;margin:20px 0}.aleft{text-align:left}.aright{text-align:right}.right{float:right}.left{float:left}.clear{clear:left}.bold{font-weight:700}.installed{color:#515151}.not-installed{color:#999;font-style:italic}.yellow{color:#fce588!important}.orange{color:#f0b429!important}.error,.red{color:#cf1124!important}.green{color:#6cb24a!important}.blue{color:#4a90e2!important}.primary{color:#6cb24a!important}.centered{text-align:center}.wait{background:#0000 url(../images/style/wait.gif) no-repeat scroll center 55px;color:#53595f;font-size:15px;font-weight:700;padding:20px 10px 60px}.padding{background-color:#fff;padding:11px}.dashed{border-bottom:1px dashed #90b1b9}.x-form-text,textarea.x-form-field{border-color:#e4e4e4}#modx-content,#modx-leftbar{position:absolute;transition:left .2s ease}#modx-leftbar-tabpanel{transition:all .6s ease}#modx-content{left:370px;right:0;width:calc(100% - 370px)}.modx-form p{padding-bottom:10px}.x-layout-mini{left:2px}#modx-resource-content .x-panel-header{margin:0;padding:15px}#modx-resource-content .x-panel-bwrap{border:0}#modx-resource-content .modx-tv .modx-tv-label{clear:none;float:none;padding:15px 0 4px;position:static;width:auto}#modx-content-above .x-panel-bwrap,#modx-content-below .x-panel-bwrap{border:0}.x-tab-panel-header,.x-tab-panel-header .x-tab-strip li{box-sizing:border-box}@media screen and (max-width:960px){.x-viewport{overflow-y:auto}.x-viewport body{height:auto}}#modx-container{background:#f1f1f1;height:100%;width:100%}@media screen and (max-width:960px){#modx-container{height:auto}}@media screen and (max-width:1140px){#modx-page-settings-left,#modx-page-settings-right,#modx-resource-main-left,#modx-resource-main-right{box-sizing:border-box;margin:0 auto 15px;width:100%!important}#modx-page-settings-left .x-panel-body,#modx-page-settings-right .x-panel-body,#modx-resource-main-left .x-panel-body,#modx-resource-main-right .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}@media screen and (max-width:960px){#modx-chunk-form .main-wrapper,#modx-panel-plugin .main-wrapper,#modx-snippet-form .main-wrapper,#modx-template-form .main-wrapper,#modx-tv-tabs .main-wrapper{padding:0;width:100%!important}#modx-chunk-form .main-wrapper>.x-panel-bwrap,#modx-panel-plugin .main-wrapper>.x-panel-bwrap,#modx-snippet-form .main-wrapper>.x-panel-bwrap,#modx-template-form .main-wrapper>.x-panel-bwrap,#modx-tv-tabs .main-wrapper>.x-panel-bwrap{padding:1em}#modx-resource-main-right{margin:15px auto 0}.x-toolbar-ct,.x-toolbar-ct tbody,.x-toolbar-ct tbody tr{display:block}.x-toolbar-ct tbody tr td{display:block;width:100%}.x-toolbar-ct tbody tr td table{width:100%}.x-toolbar-ct tbody tr td table .x-form-field-wrap{margin-left:0!important;margin-right:0!important;width:100%!important}.x-toolbar-ct tbody tr td table .x-btn,.x-toolbar-ct tbody tr td table .x-form-text{box-sizing:border-box;margin-left:0!important;margin-right:0!important;width:100%!important}.x-column{float:none;margin-left:0!important;margin-right:0!important;width:100%!important}#modx-tree-panel-usergroup .main-wrapper{display:inline-block;float:left;max-width:100%;position:relative;width:100%!important}.x-window{left:.5em!important;max-width:100%!important;right:.5em!important;width:auto!important}.x-window .x-window-body{box-sizing:border-box!important;height:auto!important;width:100%!important}.x-window .x-form-field-wrap{width:auto!important}.x-window input{box-sizing:border-box;height:auto!important;width:100%!important}}#modx-template-form .main-wrapper input{max-width:100%!important}@media screen and (max-width:960px){.x-column-inner>.x-column~.x-column{margin-left:0}#modx-import-base-path,.x-form-item label.x-form-item-label[for=modx-import-allowed-extensions],.x-form-item label.x-form-item-label[for=modx-import-base-path],.x-form-item label.x-form-item-label[for=modx-import-element],.x-form-item label.x-form-item-label[for=modx-import-parent],.x-form-item label.x-form-item-label[for=modx-import-resource-class]{float:none;width:auto!important}}#modx-import-allowed-extensions,#modx-import-base-path,#modx-import-element,#modx-import-resource-class{box-sizing:border-box;height:auto;width:100%!important}@media screen and (max-width:960px){#x-form-el-modx-import-allowed-extensions,#x-form-el-modx-import-base-path,#x-form-el-modx-import-element,#x-form-el-modx-import-resource-class{padding-left:0!important;width:100%!important}}.x-panel.drag-n-drop{z-index:0}.x-panel.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat 50%;background-size:50% 50%;bottom:0;content:" ";display:block;left:0;opacity:.1;position:absolute;right:0;top:0;z-index:-5}.x-panel.drag-n-drop>.x-panel-bwrap,.x-panel.drag-over .x-form-field{background:#0000}.x-panel.drag-over:after{background:#6cb24a;border:5px solid #6cb24a;bottom:0;content:"";display:block;left:0;opacity:.1;position:absolute;right:0;top:0}#modx-panel-packages.drag-n-drop:before{background:#0000 url(../images/restyle/dragndrop.svg) no-repeat top;background-size:50% 30%;z-index:0}.x-panel-header{background:none;border:none;font-size:16px;margin:0;padding:0 0 10px}#modx-resource-tabs .x-panel-header{border-bottom:1px solid #e4e4e4;color:#515151;display:flex;margin-bottom:5px}#modx-resource-tabs .x-panel-header .x-panel-header-text{flex:1;font-size:14px;order:0}#modx-resource-tabs .x-panel-header .x-tool.x-tool-toggle{margin-left:auto;order:1}#modx-resource-main-left .x-panel-header{border-bottom:0;position:absolute;right:15px;z-index:9}#modx-resource-main-left .x-panel-header .x-panel-header-text{display:none}#modx-resource-main-left .x-panel-animated .x-panel-header,#modx-resource-main-left .x-panel-collapsed .x-panel-header{padding-top:15px!important;position:relative;right:0;width:100%}#modx-resource-main-left .x-panel-animated .x-panel-header .x-panel-header-text,#modx-resource-main-left .x-panel-collapsed .x-panel-header .x-panel-header-text{display:block}#modx-resource-tabs .x-panel-collapsed .x-panel-header{border-color:#0000;margin-bottom:0;padding:0}.x-small-editor .x-form-field{font-size:12px!important}.x-small-editor .x-form-num-field{text-align:left}.grid-row-inactive{color:#999!important}a.x-grid-link{color:#234368;text-decoration:underline}a.x-grid-link:focus,a.x-grid-link:hover{text-decoration:none}.x-editable-column{cursor:default}.x-editable-column:not(.editor-disabled){cursor:pointer}.x-editable-column:not(.editor-disabled):focus,.x-editable-column:not(.editor-disabled):hover{color:#234368}.x-editable-column:not(.editor-disabled):focus>div:after,.x-editable-column:not(.editor-disabled):hover>div:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#234368;content:"\f304";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .5em}.x-editable-column.locked{cursor:default}.x-editable-column.locked:focus>div:after,.x-editable-column.locked:hover>div:after{color:#6b7c90;content:"\f023"}.x-grid-buttons{text-align:center}.x-grid-buttons li{cursor:pointer;display:inline-block;font-size:1.1em;line-height:.7;margin-right:10px}.x-grid-buttons li:last-child{margin-right:0}.x-grid-empty .error-with-icon{color:#cf1124;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.3;padding:1rem}.x-grid-empty .error-with-icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;content:"\f071";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin-right:.5rem}.x-grid-empty .error-with-icon *{color:#09121c;line-height:1.6;text-align:left}.x-grid-empty .error-with-icon .error-status-info{margin:.25rem 0;text-align:center}.x-grid-empty .error-with-icon code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;white-space:pre-line}.xdebug-error{border:none}.xdebug-error tbody td,.xdebug-error tbody th{border-color:#dcdcdc;border-style:solid none none!important;border-width:thin!important;padding:.1rem .25rem}.xdebug-error tbody th{color:#000!important;font-weight:700}.xdebug-error tbody th:first{border-top:none!important}.xdebug-error tbody th[colspan="5"]{border-color:#fff;border-width:thick!important;padding:.5rem 2rem;text-align:center!important}.xdebug-error tbody th[bgcolor^="#f57"]{background:#fdf0f1;font-weight:400}.xdebug-error tbody th[bgcolor^="#e9b"]{background:#234368;color:#fff!important}.xdebug-error tbody td{background-color:#fff}.xdebug-error tbody tr:nth-child(2n) td{background-color:#f0f0f0}.modx-page-header,.modx-page-header div{background-color:initial!important}#modx-panel-trash .modx-page-header,#modx-panel-trash .modx-page-header div,#modx-panel-welcome .modx-page-header,#modx-panel-welcome .modx-page-header div{margin:1rem!important}@media screen and (min-width:961px){#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{box-sizing:border-box;margin-top:1.25rem}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body .modx-page-header+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel{margin:0}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{box-sizing:border-box;font-size:18px;font-weight:700;margin-top:1.25rem;padding:0 15px}html[dir=rtl] #modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{margin-top:4rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs+div{margin:1rem}#modx-content>.x-panel-bwrap>.x-panel-body>.x-panel .modx-header-breadcrumbs{width:100%!important}}#modx-content form.x-panel-body{background-color:initial!important}@media screen and (max-width:960px){#modx-content{left:auto!important;position:relative;top:auto!important;width:auto!important}}#modx-content .modx_error{margin:26px 0 0 15px;width:95%}#modx-content .modx_error h2{margin:0 0 14px}#modx-content .modx_error .error_container{background:#f99;border:2px solid #cf1124;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px}#modx-content .modx_error .error_container ul{list-style:none;margin-left:0;margin-top:6px}#modx-content .modx_error .error_container ul li{margin-bottom:6px}#modx-content .modx_error .error_container ul li:last-child{margin-bottom:0}#modx-content .modx_error .error_container.multiple p:first-child{font-size:1.4em;font-weight:700}@media screen and (max-width:960px){#modx-content .x-panel-body{height:auto!important;max-height:100%!important;max-width:100%!important;width:auto!important}}#modx-mainpanel{height:100%;position:relative}.x-portal .x-panel-dd-spacer,.x-portlet{margin-bottom:10px}.x-portlet .x-panel-ml{padding-left:2px}.x-portlet .x-panel-mr{padding-right:2px}.x-portlet .x-panel-bl{padding-left:2px}.x-portlet .x-panel-br{padding-right:2px}.x-portlet .x-panel-body{background:#fff}.x-portlet .x-panel-mc{padding-top:2px}.x-portlet .x-panel-bc .x-panel-footer{padding-bottom:2px}.x-portlet .x-panel-nofooter .x-panel-bc{height:2px}.x-portal-space h2{border-bottom:1px solid #d4d4d4;margin:0 0 8px;padding:0 0 2px}.x-column-tree .x-panel-header{border-bottom-width:0;padding:3px 0 0}.x-column-tree .x-panel-header .x-panel-header-text{margin-left:3px}.x-column-tree .x-tree-node,.x-column-tree .x-tree-node-el{zoom:1}.x-column-tree .x-tree-selected{background:#d9e8fb}.x-column-tree .x-tree-node a{line-height:18px;vertical-align:middle}.x-column-tree .x-tree-node .x-tree-selected a span{background:#0000;color:#515151}.x-tree-col{zoom:1;float:left;overflow:hidden;padding:0 1px}.x-tree-col-text,.x-tree-hd-text{color:#515151;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden;padding:3px 3px 3px 5px;text-overflow:ellipsis;white-space:nowrap}.x-tree-headers{zoom:1;cursor:default;margin-top:3px}.x-tree-hd{border-left:1px solid #eee;border-right:1px solid #d0d0d0;float:left;overflow:hidden}.ux-row-action-cell .x-grid3-cell-inner{padding:1px 0 0}.ext-ie .ux-row-action-item{width:16px}.ext-ie .ux-row-action-text{width:auto}.ux-row-action-item span{background:#0000 url(../images/style/go-next.png) no-repeat scroll 1px 4px;display:inline!important;line-height:24px;margin:0 5px;padding:5px 5px 5px 22px;vertical-align:middle}.icon-uninstall span{background:url(../images/style/delete.png) no-repeat scroll 1px 4px #0000}.package-details span{background:url(../images/style/info.png) no-repeat scroll 1px 4px #0000}.package-download span{background:url(../images/style/download.png) no-repeat scroll 1px 4px #0000}.package-installed span{background:url(../images/style/accept.png) no-repeat scroll 1px 4px #0000}.ext-ie .ux-row-action-item span{width:auto}.x-grid-group-hd div{height:16px;position:relative}.ux-grow-action-item{background-position:0 50%!important;background-repeat:no-repeat;cursor:pointer;float:left;margin:0;min-width:16px;padding:0!important}.ext-ie .ux-grow-action-item{width:16px}.ux-action-right{float:right;margin:0 3px 0 2px;padding:0!important}.ux-grow-action-text{background:#0000 none!important;float:left;margin:0!important;padding:0!important}.ux-row-action-item:hover{background:#dfdfdf;background:linear-gradient(center bottom,#dfdfdf 0,#fff);border:1px solid #9caf78;color:#636f4c!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=$white,endColorstr=$alto,GradientType=0)}.ux-row-action-item:active{background-color:#fff;background-image:none;border-color:#cfcfcf silver #aaa;box-shadow:inset 0 0 3px #aaa;margin:2px 1px 0}.ux-row-action-item:active span{text-shadow:none}.ux-row-action-item{background:linear-gradient(center bottom,#dcdcdc 0,#fcfcfc);background:url(/manager/templates/default/images/modx-theme/form/button-bg.png) repeat-x scroll 0 bottom #dcdcdc;border-collapse:initial;border-color:#cacaca silver #aaa;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 0 1px #0003;color:#444;cursor:pointer;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fcfcfc,endColorstr=#dcdcdc,GradientType=0);float:left;font-weight:700;margin:2px 1px 0;overflow:hidden;padding:3px;position:relative;text-shadow:0 1px 0 #fafafa}.x-tree-checkbox{background:url(../../../assets/ext3/resources/images/default/form/checkbox.gif) no-repeat 0 0;height:13px;margin:0 1px;vertical-align:middle;width:13px}.x-tree-checkbox-over .x-tree-checkbox{background-position:-13px 0}.x-tree-checkbox-down .x-tree-checkbox{background-position:-26px 0}.x-tree-node-disabled .x-tree-checkbox{background-position:-39px 0}.x-tree-node-checked{background-position:0 -13px}.x-tree-checkbox-over .x-tree-node-checked{background-position:-13px -13px}.x-tree-checkbox-down .x-tree-node-checked{background-position:-26px -13px}.x-tree-node-disabled .x-tree-node-checked{background-position:-39px -13px}.x-tree-node-grayed{background-position:0 -26px}.x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -26px}.x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -26px}.x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -26px}.x-tree-branch-unchecked .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-grayed{background-position:0 0}.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px 0}.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px 0}.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-unchecked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px 0}.x-tree-branch-checked .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-grayed{background-position:0 -13px}.x-tree-branch-checked .x-tree-checkbox-over .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-over .x-tree-node-grayed{background-position:-13px -13px}.x-tree-branch-checked .x-tree-checkbox-down .x-tree-checkbox,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-checked,.x-tree-branch-checked .x-tree-checkbox-down .x-tree-node-grayed{background-position:-26px -13px}.x-tree-branch-checked .x-tree-node-disabled .x-tree-checkbox,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-checked,.x-tree-branch-checked .x-tree-node-disabled .x-tree-node-grayed{background-position:-39px -13px}.x-rbtn button{background-color:initial;background-position:50%;background-repeat:no-repeat;border:0;cursor:pointer;font-size:1px;height:16px;line-height:1px;margin:0;-moz-outline:0 none;outline:0 none;padding:0;width:24px}.x-rbtn{table-layout:fixed}.x-rbtn td{background-image:url(../images/restyle/icons/rbtn.gif);background-repeat:no-repeat;border:0;height:21px;padding:0;vertical-align:middle;width:24px}.x-rbtn td.x-rbtn-first{background-position:0 0}.x-rbtn td.x-rbtn-item{background-position:0 -42px}.x-rbtn td.x-rbtn-last{background-position:right -21px}.x-rbtn td.x-rbtn-first-active{background-position:0 -63px}.x-rbtn td.x-rbtn-item-active{background-position:0 -105px}.x-rbtn td.x-rbtn-last-active{background-position:right -84px}.ux-up-item{background-color:#f0f0f0;background-image:url(../../../assets/modext/util/filetree/img/white_bg.png);background-repeat:no-repeat;cursor:default;height:17px;line-height:17px;margin-bottom:1px;position:relative}.ux-up-icon-file{float:left;height:16px;margin-right:4px;vertical-align:-3px;width:16px}.ux-up-indicator{background-color:#ff0;filter:alpha(opacity=40);height:17px;opacity:.4;position:absolute;width:40px}.ux-up-icon-state{cursor:pointer;float:right;margin-right:2px;width:16px;z-index:-1}.ux-up-icon-queued{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/page_white_get.png)}.ux-up-icon-uploading{background-image:url(../../../../ext2/resources/images/default/grid/wait.gif)}.ux-up-icon-done{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/accept.png)}.ux-up-icon-failed{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/error.png)}.ux-up-icon-stopped{background-image:url(../../../assets/modext/util/filetree/img/silk/icons/stop.png)}.ux-up-text{float:left}.ux-ftm-nodename{color:#515151;cursor:default!important;font-weight:700}.ux-icon-combo-icon{background-position:0 50%;background-repeat:no-repeat;height:14px;width:18px}.ux-icon-combo-input{padding-left:25px}.x-form-field-wrap .ux-icon-combo-icon{left:5px;top:3px}.ux-icon-combo-item{background-position:3px 50%!important;background-repeat:no-repeat!important;padding-left:24px!important}.modx-status-msg{background:#6cb24a;border-radius:3px;bottom:20px;box-sizing:border-box;color:#fff;max-width:360px;padding:15px 15px 15px 65px;position:fixed;right:15px;width:25%;z-index:20000}@media screen and (max-width:960px){.modx-status-msg{max-width:100%}}.modx-status-msg:before{position:relative}.modx-status-msg:after{background:#fff;border-radius:50%;color:#6cb24a;content:"\f00c";display:inline-block;font-size:16px;height:38px;left:15px;line-height:36px;margin-right:13px;position:absolute;text-align:center;top:15px;vertical-align:middle;width:38px}.modx-status-msg h3,.modx-status-msg span{font-size:14px}.modx-status-msg h3{color:#fff;margin:0}.modx-status-msg .has-position-center-center{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:50%;transform:translateY(-50%)}.modx-status-msg .has-position-center-top{bottom:auto;left:0;margin-left:auto;margin-right:auto;right:0;top:15px}.modx-status-msg .has-position-right-top{bottom:auto;left:auto;right:15px;top:15px}@media screen and (max-width:960px){.modx-status-msg,.modx-status-msg .has-position-center-center,.modx-status-msg .has-position-center-top,.modx-status-msg .has-position-right-top{border-radius:0;bottom:0;left:0;right:0;top:auto;width:100%}}iframe[classname=x-hidden]{visibility:hidden}html[dir=rtl] .x-hide-offsets,html[dir=rtl] .x-hiden{left:unset;right:-9999px}.ext-ux-uploaddialog-addbtn{background:url(../images/restyle/fileup/file-add.gif) no-repeat 0!important}.ext-ux-uploaddialog-removebtn{background:url(../images/restyle/fileup/file-remove.gif) no-repeat 0!important}.ext-ux-uploaddialog-resetbtn{background:url(../images/restyle/fileup/reset.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstartbtn{background:url(../images/restyle/fileup/upload-start.gif) no-repeat 0!important}.ext-ux-uploaddialog-uploadstopbtn{background:url(../images/restyle/fileup/upload-stop.gif) no-repeat 0!important}.ext-ux-uploaddialog-indicator-stoped{background:url(../images/restyle/fileup/done.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-indicator-processing{background:url(../images/restyle/fileup/loading.gif) no-repeat 50%;height:16px;width:16px}.ext-ux-uploaddialog-state{background-position:50%;background-repeat:no-repeat;text-align:center}.ext-ux-uploaddialog-state-0{background-image:url(../images/restyle/fileup/uncheck.gif)}.ext-ux-uploaddialog-state-1{background-image:url(../images/restyle/fileup/check.gif)}.ext-ux-uploaddialog-state-2{background-image:url(../images/restyle/fileup/failed.gif)}.ext-ux-uploaddialog-state-3{background-image:url(../images/restyle/fileup/file-uploading.gif)}.tq-treegrid .tq-treegrid-col{border:none}.tq-treegrid .tq-treegrid-icons{float:left}.tq-treegrid .x-tree-node-el{line-height:13px;padding:1px 3px 1px 5px}.tq-treegrid .tq-treegrid-static .x-tree-ec-icon{display:none}.tq-treegrid .tq-treegrid-static .x-tree-node-el{cursor:default}.modx-tree-load-msg{color:#000;font-size:.9em;line-height:1;padding:3px;white-space:pre-line}#modx-grid-policy-permissions .x-grid3-cell-inner,#modx-grid-policy-permissions .x-grid3-hd-inner,#modx-grid-template-permissions .x-grid3-cell-inner,#modx-grid-template-permissions .x-grid3-hd-inner{white-space:normal}.container{margin:20px 15px}.container,.x-plain-body,.x-plain-bwrap{overflow:visible}.shadowbox,.x-form-label-left{border-radius:3px}.shadowbox .x-form-label-left,.x-form-label-left .x-form-label-left,.x-tab-panel-bwrap .shadowbox,.x-tab-panel-bwrap .x-form-label-left,.x-window .shadowbox,.x-window .x-form-label-left{border-radius:0;box-shadow:none}.panel-desc{border-bottom:1px solid #f0f0f0;border-radius:0;color:#53595f;line-height:1.5;padding:15px!important}.x-window .panel-desc{margin-bottom:15px;margin-top:0}.panel-desc .x-panel-bwrap{background-color:initial!important}.with-title .panel-desc{margin:0}.panel-desc p{padding:0}.main-wrapper{background-color:#fff;padding:15px}.with-title .main-wrapper{padding:0 15px 10px}.left-col{padding-right:15px}.right-col{padding-left:15px}.modx-page-header{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0;order:1;padding:0 15px}@media screen and (max-width:960px){.modx-page-header{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs .breadcrumbs{align-items:baseline;display:flex;flex-wrap:wrap}.modx-header-breadcrumbs .breadcrumbs h2{color:#53595f;font:normal 20px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;margin:0!important;order:1;padding-left:0}@media screen and (max-width:960px){.modx-header-breadcrumbs .breadcrumbs h2{font-size:2em;text-align:center;width:100%}}.modx-header-breadcrumbs ul{align-items:center;display:flex;flex-wrap:wrap;order:0}.modx-header-breadcrumbs ul li{color:#53595f}.modx-header-breadcrumbs ul li,.modx-header-breadcrumbs ul li a{font:normal 18px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.modx-header-breadcrumbs ul li a{text-decoration:none}.modx-header-breadcrumbs ul li a.menu_hidden{font-style:italic}.modx-header-breadcrumbs ul li a.menu_hidden:hover{color:#162a42}.modx-header-breadcrumbs ul li a.not_published{color:#b3b3b3!important}.modx-header-breadcrumbs ul li a.not_published:hover{color:#162a42}.modx-header-breadcrumbs ul li a.deleted{color:#af5a6280!important;text-decoration:line-through}.modx-header-breadcrumbs ul li a.deleted:hover{color:#162a42}.modx-header-breadcrumbs ul li:after{color:#999;content:"\f054";font-size:12px;padding:0 10px}#modx-abtn-delete{color:#cf1124}#modx-abtn-undelete{color:#6cb24a}#modx-abtn-help{color:#234368}#modx-resource-tabs .x-tab-panel-bwrap{box-shadow:none}#modx-resource-tabs .x-tab-panel-body,#modx-resource-tabs .x-tab-panel-bwrap{overflow:visible!important}#modx-resource-settings{background:#f1f1f1}#modx-resource-settings #modx-resource-main-left{background:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;padding:15px;position:relative}#modx-resource-settings .x-panel-collapsed{min-height:18px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel{background:#fff;border-radius:3px;padding:15px}#modx-resource-settings #modx-resource-main-right .modx-resource-panel:not(:last-child){margin-bottom:15px}#modx-resource-settings .main-wrapper{background:#0000;padding:0}#modx-resource-settings .x-datetime-wrap table{width:100%}#modx-resource-settings .x-datetime-wrap table td{max-width:50%!important;width:50%!important}#modx-resource-settings .x-datetime-wrap table td input{width:calc(100% - 30px)}#modx-resource-settings .x-datetime-wrap table td:first-child{padding-right:5px!important}#modx-resource-settings .x-datetime-wrap table td:last-child{padding-left:5px!important}#modx-resource-settings .x-datetime-wrap table .x-form-field-trigger-wrap{width:100%!important}.tvs-wrapper{padding:0}#modx-resource-tvs-div{border-top-width:0;visibility:hidden}.modx-permissions-list{color:#777;font-size:12px}.modx-permissions-list-textarea{background-color:initial!important;border:0!important}.info-list.hide-list{display:none}.info-list .header{color:#626262;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:600}.info-list .header:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-style:normal;font-variant:normal;font-weight:900;margin:0 .25rem}.info-list .header span{font-weight:400}.info-list ul{border:1px dashed #e4e4e4;border-radius:3px;margin-top:.5rem;padding:.5rem}.info-list ul li{color:#6b6b6b;font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1;padding:.15rem 0;word-break:break-word}@media screen and (min-width:641px){.info-list ul{-moz-columns:2;column-count:2;-moz-column-gap:2rem;column-gap:2rem}}.x-window .info-list{margin-top:1rem}.x-grid3 .info-list ul{background-color:#fcfbfb;padding-left:1rem;position:relative}.x-grid3-row-alt .x-grid3 .info-list ul{background-color:#f9faff}.x-grid3 .info-list ul:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;background-color:#fff;border-radius:100%;box-shadow:-1px 1px 3px #888;color:#517196;content:"\f09c";display:inline-block;font-family:Font Awesome\ 5 Free,Font Awesome\ 5 Brands;font-size:11px;font-style:normal;font-variant:normal;font-weight:900;height:14px;left:-7px;padding-top:2px;position:absolute;text-align:center;top:-7px;width:14px}.x-grid3 .info-list ul li{font-style:italic}@media screen and (min-width:769px){.x-grid3 .info-list ul{-moz-columns:3;column-count:3}}@media screen and (min-width:1141px){.x-grid3 .info-list ul{-moz-columns:4;column-count:4}}@media screen and (min-width:1401px){.x-grid3 .info-list ul{-moz-columns:5;column-count:5}}.x-selectable,.x-selectable *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}#ux-lightbox{left:0;line-height:0;position:absolute;text-align:center;width:100%;z-index:15000}#ux-lightbox img{height:auto;width:auto}#ux-lightbox a img{border:none}#ux-lightbox-outerImageContainer{background-color:#fff;height:250px;margin:0 auto;position:relative;width:250px}#ux-lightbox-imageContainer{padding:10px}#ux-lightbox-loading{background:url(../images/style/loading.gif) no-repeat scroll center 15% #0000;height:25%;left:0;line-height:0;position:absolute;text-align:center;top:40%;width:100%}#ux-lightbox-hoverNav{height:100%;left:0;position:absolute;top:0;width:100%;z-index:10}#ux-lightbox-hoverNav a{outline:medium none}#ux-lightbox-imageContainer>#ux-lightbox-hoverNav{left:0}#ux-lightbox-navNext,#ux-lightbox-navPrev{display:block;height:100%;width:49%}#ux-lightbox-navPrev{float:left;left:0}#ux-lightbox-navPrev:hover,#ux-lightbox-navPrev:visited:hover{background:#0000 url(images/lb-prev.png) no-repeat scroll left 33%}#ux-lightbox-navNext{float:right;right:0}#ux-lightbox-navNext:hover,#ux-lightbox-navNext:visited:hover{background:#0000 url(images/lb-next.png) no-repeat scroll right 33%}#ux-lightbox-outerDataContainer{margin:0 auto;width:100%}#ux-lightbox-dataContainer{background-color:#fff;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10px;overflow:auto}#ux-lightbox-data{color:#666;padding:0 10px}#ux-lightbox-data #ux-lightbox-details{float:left;text-align:left;width:80%}#ux-lightbox-data #ux-lightbox-caption{font-weight:700}#ux-lightbox-data #ux-lightbox-imageNumber{clear:left;display:block;padding-bottom:1em}#ux-lightbox-data #ux-lightbox-navClose{background:#0000 url(../images/style/close.png) no-repeat scroll 0 0;float:right;height:16px;outline:medium none;padding-bottom:.7em;width:16px}#ux-lightbox-overlay,#ux-lightbox-shim{background-color:#515151;border:0;height:500px;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:14999}#ux-lightbox-shim{background-color:initial;z-index:89}.x-panel-body-noheader .x-grid3-row{position:relative}.x-grid3-col-main{padding:10px 5px 35px}.x-grid3-cell-inner .x-grid3-col-main h3{color:#555;font:normal 13px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:20px;line-height:1;margin:0 0 5px}.package-installed{color:#515151;filter:alpha(opacity=50);opacity:.5}#modx-grid-package .green{text-align:center}#modx-grid-package .green a{color:#cf1124!important}#modx-grid-package .red{color:#6cb24a!important;text-align:center}.grid-with-buttons .x-grid3-row-expanded .x-grid3-row-body{margin:-45px 2px 0 -20px;padding:18px 25px 40px}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{border-top:1px dashed #868b8f80;display:flex;flex-direction:column-reverse;gap:1rem;padding:.5rem .25rem 0}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-direction:row;font-style:italic;line-height:1.4;font:normal 11px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;justify-content:space-between;row-gap:.25rem}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:block}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body{flex-grow:1}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .body p{font:normal 12px -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media screen and (min-width:641px){.x-grid3-row-expanded .x-grid3-row-body .manager-user-message{flex-direction:row-reverse}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta{flex-direction:column;justify-content:normal}.x-grid3-row-expanded .x-grid3-row-body .manager-user-message .meta span{display:inline}}.home-panel ol{border-top:1px solid #cacaca}.home-panel ol li{border-bottom:1px solid #e0e0e0}.home-panel ol li:first-child{border-top-color:0 none}.home-panel ol li:last-child{border-bottom:0}.home-panel ol li button{background-color:initial;border:0;color:#53595f;cursor:pointer;display:block;font-size:15px;font-weight:700;padding:12px 20px 12px 6px;position:relative;text-decoration:none}.home-panel ol li:hover button{color:#234368}.home-panel ol li:hover button:before{content:"\f002";filter:alpha(opacity=60);font-size:14px;margin-top:-7px;opacity:.6;position:absolute;right:0;text-align:center;top:50%;transition:opacity .25s;width:20px}.home-panel ol li .highlighted{color:#909090;float:right;font-size:10px;padding:13px 10px 0}.home-panel ol li button .ct{color:#aaa;margin-right:10px}.home-panel .one_half{overflow:hidden}.home-panel .desc-wrapper{margin-top:38px}.home-panel .text-wrapper{font-style:normal;max-height:none}.home-panel .provider_name{background-color:#9bb3bf;line-height:1.8}.home-panel .pnl_instructions{margin:20px 0}.home-panel .stats{clear:both;display:inline-block;margin-top:15px}.home-panel .stats p{color:#777;font-size:12px;font-style:italic;line-height:1.5}.pbr-provider-box{float:left;margin-top:10px;width:250px}.pbr-provider-home,.pbr-repository-view,.pbr-tag-view{padding:10px}.pbr-details-right{float:right!important;text-align:right!important}.pbr-thumb-downloaded{filter:alpha(opacity=50);opacity:.5}.one_half{float:left;margin-right:3%;position:relative;width:48%}.last{clear:right;margin-right:0!important}.package-readme{padding:8px 11px 0}#modx-package-browser-home{margin-top:5px;min-height:560px}.empty-text-wrapper{color:#888;font-weight:700;line-height:1.4;padding:12px}.aside-details{background-color:initial;border:1px solid #e4e4e4;border-radius:3px;margin-right:0}.aside-details .selected h5{color:#53595f;font-size:14px;margin:10px 0}.aside-details .selected img{border:1px solid #e4e4e4;border-radius:3px;height:80px;width:90px}.aside-details .item{margin-bottom:25px}.aside-details .item li,.aside-details .item p{color:#888;line-height:1.4}.aside-details .item a{color:#53595f;font-style:italic}.aside-details h4{color:#53595f;font-size:14px;margin:10px 0;text-transform:uppercase}.aside-details .aside-details h4{font-size:12px;margin-top:0}.aside-details .selected{border-bottom:1px solid #e4e4e4;color:#000;padding:15px;text-align:center}.aside-details .description,.aside-details .instructions{background-color:#fbfbfb}.aside-details .description,.aside-details .infos,.aside-details .instructions{color:#53595f;font-size:12px;line-height:1.2;padding:15px}.aside-details .infos ul li{font-size:12px}.aside-details .infos ul li .infoname{color:#999;font-weight:700;width:50%}.aside-details .infos ul li .infovalue{word-wrap:break-word;max-width:50%;padding:0 8px}.aside-details .infos ul li span{display:inline-block;padding:0}.thumb-wrapper{background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px;cursor:pointer;float:left;margin:0 15px 15px 0;overflow:hidden;padding:0 0 12px;position:relative;width:250px}.thumb-wrapper,.thumb-wrapper *{box-sizing:border-box}.thumb-wrapper .thumb{background-color:#fff;border-bottom:1px solid #ccc;height:170px;margin:0 auto;position:relative;text-align:center;width:100%}.thumb-wrapper .thumb img{max-height:100%;max-width:100%}.thumb-wrapper .thumb .no-preview{color:#888;display:inline-block;font-size:9px;font-weight:700;padding:31px 15px;text-align:center;text-transform:uppercase}.thumb-wrapper span.downloaded,.thumb-wrapper span.featured{background-color:#6cb24a;color:#fff;font-weight:700;padding:5px 0;position:absolute;text-align:center;text-shadow:none;top:68px;width:100%}.thumb-wrapper span.featured{background-color:#234368;bottom:0;color:#fff;top:auto}.thumb-wrapper span{display:block;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;text-shadow:0 1px 0 #fff;white-space:nowrap}.thumb-wrapper .name{color:#53595f;float:left;font-size:12px;font-weight:700;padding:12px 8px 12px 12px;width:55%}.thumb-wrapper .downloads{color:#999;float:right;font-size:9px;padding:8px 12px 8px 8px;text-align:right;text-transform:uppercase;width:45%}.thumb-wrapper .thumb-description{clear:both;font-size:12px;height:50px;overflow:hidden;padding:0 12px}.thumb-wrapper .thumb-footer{color:#999;font-size:9px;padding:8px 12px 0;text-align:center;text-transform:uppercase}.thumb-wrapper.selected{background-color:#fff;border-color:#234368;padding:0 0 12px}.thumb-wrapper.selected img{border:0}.pbr-thumb{background:#dfdfdf;padding:3px}.pbr-thumb,.pbr-thumb img{height:80px;width:100px}.x-grid3-hd-info-col,.x-grid3-hd-meta-col,.x-grid3-hd-text-col{text-align:center}.x-grid3-col-text-col{font-size:11px;text-align:center}.x-grid3-col-info-col,.x-grid3-col-meta-col{font-size:11px;font-weight:700;text-align:center}.x-grid3-col-meta-col{color:#53595f}.x-grid3-col-info-col{color:#6cb24a}.not-installed .x-grid3-col-info-col{color:#cf1124}.inline-button{-webkit-box-align:center;display:inline;margin:0 auto;padding:8px;text-align:center}.meta-wrapper{word-wrap:break-word;color:grey;max-height:400px;overflow:auto;padding:15px}.meta-wrapper ul{list-style:disc inside;padding-left:15px}.meta-wrapper h1{font-size:1.2em}.meta-wrapper h2{font-size:1.15em}.meta-wrapper h3{font-size:1.1em}.meta-wrapper h4{font-size:1.05em}.meta-wrapper h5{font-size:1em}.meta-wrapper h6{font-size:.95em}.window-no-padding .x-panel-mc,.window-no-padding .x-panel-ml,.window-no-padding .x-panel-mr{padding:0!important}.window-no-padding .x-tab-panel-noborder{margin:0!important}.upload-error{color:#cf1124}.upload-success{color:#6cb24a}.upload-status-text{white-space:normal}.upload-thumb{float:right}.auto-width{width:auto!important}.auto-height{height:auto!important}.x-datetime-inline-editor .x-datetime-wrap{margin-top:0!important} /*# sourceMappingURL=index-min.css.map */ \ No newline at end of file diff --git a/manager/templates/default/css/index.css b/manager/templates/default/css/index.css index e767aee0769..dd2b8e6be4e 100644 --- a/manager/templates/default/css/index.css +++ b/manager/templates/default/css/index.css @@ -18332,7 +18332,8 @@ readers do not read off random characters that represent icons */ .icon-vcs:before, .icon-rss:before, .x-tree-arrows .x-tree-elbow-plus:before, .x-tree-arrows .x-tree-elbow-minus:before, .x-tree-arrows .x-tree-elbow-end-plus:before, -.x-tree-arrows .x-tree-elbow-end-minus:before, .modx-manager-search-results .loading-indicator:before, #modx-footer .modx-subnav li.sub:after, .x-tab-scroller-left:before, +.x-tree-arrows .x-tree-elbow-end-minus:before, .modx-manager-search-results .loading-indicator:before, #modx-header .modx-subnav li.sub:after, +#modx-footer .modx-subnav li.sub:after, .x-tab-scroller-left:before, .x-tab-scroller-right:before, .x-date-right a:before, .x-date-left a:before, .x-date-mp-ybtn a.x-date-mp-prev:before, @@ -23256,7 +23257,7 @@ ul.x-tab-strip-bottom .x-tab-left { background: #234368; max-width: 70px; position: absolute; - z-index: 2; + z-index: 9999; height: 100%; } @@ -23379,6 +23380,7 @@ ul.x-tab-strip-bottom .x-tab-left { content: "\f061" !important; } +#modx-header .modx-subnav, #modx-footer .modx-subnav { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2); @@ -23388,11 +23390,12 @@ ul.x-tab-strip-bottom .x-tab-left { box-sizing: border-box; list-style: none; position: absolute; - z-index: 10000; + z-index: 99999999999; opacity: 0; visibility: hidden; transition: all 0.15s ease; } +#modx-header .modx-subnav li, #modx-footer .modx-subnav li { display: block; border-radius: 3px; @@ -23401,12 +23404,15 @@ ul.x-tab-strip-bottom .x-tab-left { padding: 0; position: relative; } +#modx-header .modx-subnav li:not(:first-child), #modx-footer .modx-subnav li:not(:first-child) { border-top: 1px solid #E4E4E4; } +#modx-header .modx-subnav li:hover:after, #modx-footer .modx-subnav li:hover:after { border-right-color: #E4E4E4; } +#modx-header .modx-subnav li.sub:after, #modx-footer .modx-subnav li.sub:after { position: absolute; color: #999999; @@ -23417,10 +23423,12 @@ ul.x-tab-strip-bottom .x-tab-left { transform: translateY(-50%); right: 10px; } +#modx-header .modx-subnav li a, #modx-footer .modx-subnav li a { border-radius: 3px; background-color: #FFF; color: #515151; + font-size: 13px; font-weight: bold; line-height: 1.5; margin: 0; @@ -23430,13 +23438,16 @@ ul.x-tab-strip-bottom .x-tab-left { display: block; text-decoration: none; cursor: pointer; + text-align: left; } +#modx-header .modx-subnav li a .icon, #modx-footer .modx-subnav li a .icon { display: inline-block; font-size: 18px; opacity: 0.07; padding-left: 5px; } +#modx-header .modx-subnav li a span, #modx-footer .modx-subnav li a span { color: #999999; display: block; @@ -23447,19 +23458,23 @@ ul.x-tab-strip-bottom .x-tab-left { margin-top: 6px; width: 100%; } +#modx-header .modx-subnav li a:hover, #modx-footer .modx-subnav li a:hover { background: #E4E4E4; border-top-color: #E4E4E4; border-bottom-color: #E4E4E4; color: #53595F; } +#modx-header .modx-subnav li a:hover .description, #modx-footer .modx-subnav li a:hover .description { color: #707070; } +#modx-header .modx-subnav.active, #modx-footer .modx-subnav.active { opacity: 1; visibility: visible; } +#modx-header .modx-subnav .modx-subsubnav, #modx-footer .modx-subnav .modx-subsubnav { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2); @@ -23469,6 +23484,7 @@ ul.x-tab-strip-bottom .x-tab-left { position: absolute; z-index: 24; } +#modx-header .modx-subnav .modx-subsubnav-arrow, #modx-footer .modx-subnav .modx-subsubnav-arrow { border: 8px solid transparent; border-right-color: #FFF; @@ -23481,19 +23497,23 @@ ul.x-tab-strip-bottom .x-tab-left { z-index: 10010; display: none; } +#modx-header .modx-subnav .modx-subsubnav.active + .modx-subsubnav-arrow, #modx-footer .modx-subnav .modx-subsubnav.active + .modx-subsubnav-arrow { display: block; } @media screen and (min-width: 961px) { - #modx-footer .modx-subnav .modx-subsubnav { + #modx-header .modx-subnav .modx-subsubnav, +#modx-footer .modx-subnav .modx-subsubnav { opacity: 0; visibility: hidden; } - #modx-footer .modx-subnav .modx-subsubnav.active { + #modx-header .modx-subnav .modx-subsubnav.active, +#modx-footer .modx-subnav .modx-subsubnav.active { opacity: 1; visibility: visible; } } +#modx-header .modx-subnav-arrow, #modx-footer .modx-subnav-arrow { right: 100%; border: 12px solid transparent; @@ -23503,6 +23523,7 @@ ul.x-tab-strip-bottom .x-tab-left { pointer-events: none; margin-top: -6px; } +#modx-header #language .modx-subsubnav, #modx-footer #language .modx-subsubnav { max-height: calc(100vh - 12px); overflow-y: auto; @@ -23568,23 +23589,29 @@ ul.x-tab-strip-bottom .x-tab-left { content: "\f063" !important; } - #modx-footer .modx-subnav { + #modx-header .modx-subnav, +#modx-footer .modx-subnav { min-width: 300px; } - #modx-footer .modx-subnav .description { + #modx-header .modx-subnav .description, +#modx-footer .modx-subnav .description { display: none; } - #modx-footer .modx-subnav li { + #modx-header .modx-subnav li, +#modx-footer .modx-subnav li { border-radius: 0; } - #modx-footer .modx-subnav li.sub:after { + #modx-header .modx-subnav li.sub:after, +#modx-footer .modx-subnav li.sub:after { display: none; } - #modx-footer .modx-subnav li a { + #modx-header .modx-subnav li a, +#modx-footer .modx-subnav li a { width: auto; white-space: nowrap; } - #modx-footer .modx-subnav .modx-subsubnav { + #modx-header .modx-subnav .modx-subsubnav, +#modx-footer .modx-subnav .modx-subsubnav { position: initial; left: auto; box-shadow: none; @@ -23592,20 +23619,24 @@ ul.x-tab-strip-bottom .x-tab-left { max-height: initial !important; overflow-y: initial !important; } - #modx-footer .modx-subnav .modx-subsubnav li > a { + #modx-header .modx-subnav .modx-subsubnav li > a, +#modx-footer .modx-subnav .modx-subsubnav li > a { margin-left: 1rem; } - #modx-footer .modx-subnav-arrow { + #modx-header .modx-subnav-arrow, +#modx-footer .modx-subnav-arrow { display: none; } - #modx-footer .modx-subnav { + #modx-header .modx-subnav, +#modx-footer .modx-subnav { max-height: calc(100vh - 109px); overflow-y: auto; overflow-x: hidden; } } @media (max-height: 520px) { - #modx-footer .modx-subnav .description { + #modx-header .modx-subnav .description, +#modx-footer .modx-subnav .description { display: none; } } @@ -24417,7 +24448,7 @@ html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create { #modx-gr-tree-resource .x-tree-node-el .modx-tree-node-btn-create, #modx-ih-resource-tree .x-tree-node-el .modx-tree-node-btn-create { display: none; } -.x-tree-node-el:hover .modx-tree-node-btn-create, .x-tree-node-el:focus .modx-tree-node-btn-create { +.x-tree-node-el:hover .modx-tree-node-btn-create, .x-tree-node-el:focus .modx-tree-node-btn-create, .x-tree-node-el:focus-within .modx-tree-node-btn-create { opacity: 1; } @@ -25844,7 +25875,7 @@ html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create { width: 10px; height: 10px; } -.dashboard .dashboard-block:hover .action-buttons button { +.dashboard .dashboard-block:hover .action-buttons button, .dashboard .dashboard-block:focus-within .action-buttons button { opacity: 1; } .dashboard ul.configcheck { @@ -26402,6 +26433,35 @@ html[dir=rtl] .x-tree-node-el .modx-tree-node-btn-create { margin-bottom: 0.5em; } +.ext-webkit *:focus-visible { + outline: auto !important; + outline-offset: 0.1em; +} +.ext-webkit *:focus-visible.x-form-focus { + outline: none !important; +} +.ext-webkit .x-form-check-wrap:focus-within:has(:focus-visible) label:before { + outline: auto !important; + outline-offset: 0.1em; +} + +.skiplinks { + position: fixed; + top: -100rem; + left: -100rem; + z-index: 99999; + width: 0; + height: 0; +} +.skiplinks a:focus, .skiplinks a:active { + position: fixed; + top: 0; + left: 0; + padding: 1rem; + margin: 1rem; + background-color: white; +} + body { color: black; font: normal 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; diff --git a/manager/templates/default/footer.tpl b/manager/templates/default/footer.tpl index e08d73441b8..acfba090819 100644 --- a/manager/templates/default/footer.tpl +++ b/manager/templates/default/footer.tpl @@ -7,11 +7,9 @@ {/if} - {eval var=$navb_submenus} - {eval var=$userNav_submenus} - \ No newline at end of file + diff --git a/manager/templates/default/header.tpl b/manager/templates/default/header.tpl index 1b0ed0252f1..30d36631f67 100644 --- a/manager/templates/default/header.tpl +++ b/manager/templates/default/header.tpl @@ -77,9 +77,17 @@ +
      + +
      +
      -
      +
      • @@ -106,12 +114,14 @@
          {eval var=$navb}
        + {eval var=$navb_submenus}
          {* eval is used here to support nested variables *} {eval var=$userNav}
        + {eval var=$userNav_submenus}
      -
      + {*
      *}
      From b9bbf4a1b03e535069fc0835ffc871ee34b83963 Mon Sep 17 00:00:00 2001 From: MODX Bot Date: Thu, 26 Sep 2024 19:04:46 +0200 Subject: [PATCH 08/56] New Crowdin updates (#16618) --- core/lexicon/sv/access.inc.php | 20 ++++++++-------- core/lexicon/sv/file.inc.php | 2 +- core/lexicon/sv/formcustomization.inc.php | 12 +++++----- core/lexicon/sv/messages.inc.php | 2 +- core/lexicon/sv/setting.inc.php | 8 +++---- core/lexicon/sv/snippet.inc.php | 4 ++-- core/lexicon/sv/template.inc.php | 2 +- core/lexicon/sv/topmenu.inc.php | 4 ++-- core/lexicon/sv/tv.inc.php | 2 +- core/lexicon/sv/tv_widget.inc.php | 28 +++++++++++------------ core/lexicon/sv/user.inc.php | 2 +- setup/lang/sv/default.inc.php | 2 +- 12 files changed, 44 insertions(+), 44 deletions(-) diff --git a/core/lexicon/sv/access.inc.php b/core/lexicon/sv/access.inc.php index 5578b3089bc..26046bbfdd9 100644 --- a/core/lexicon/sv/access.inc.php +++ b/core/lexicon/sv/access.inc.php @@ -7,7 +7,7 @@ * @subpackage lexicon */ $_lang['access_category_management_msg'] = 'Hantera användargruppsmedlemmars tillgång till element via kategorier och lägg på åtkomstpolicyer om så önskas.'; -$_lang['access_category_create'] = 'Add Category Access'; +$_lang['access_category_create'] = 'Lägg till kategoriåtkomst'; $_lang['access_category_err_ae'] = 'Det finns redan en ACL för den kategorin!'; $_lang['access_category_err_nf'] = 'Kategorins ACL kunde inte hittas.'; $_lang['access_category_err_ns'] = 'Ingen ACL för kategorin angiven.'; @@ -16,7 +16,7 @@ $_lang['access_category_update'] = 'Redigera kategoriåtkomst'; $_lang['access_confirm_remove'] = 'Är du säker på att du vill ta bort denna ACL-post?'; $_lang['access_context_management_msg'] = 'Hantera användargruppsmedlemmars tillgång till kontexter och, om så önskas, ange åtkomstpolicyer.'; -$_lang['access_context_create'] = 'Add Context Access'; +$_lang['access_context_create'] = 'Lägg till kontextåtkomst'; $_lang['access_context_err_ae'] = 'Det finns redan en ACL för den kontexten!'; $_lang['access_context_err_nf'] = 'Kunde inte hitta kontextens ACL.'; $_lang['access_context_err_ns'] = 'Ingen ACL för kontexten angiven.'; @@ -30,7 +30,7 @@ $_lang['access_err_save'] = 'Ett fel inträffade när ACL:en skulle sparas!'; $_lang['access_grid_empty'] = 'Det finns inga ACL:er att visa'; $_lang['access_grid_paginate'] = 'Visar ACL:erna {0} - {1} av {2}'; -$_lang['access_namespace_create'] = 'Add Namespace Access'; +$_lang['access_namespace_create'] = 'Lägg till namnrymdsåtkomst'; $_lang['access_namespace_remove'] = 'Ta bort tillgång till namnrymd'; $_lang['access_namespace_update'] = 'Redigera tillgång till namnrymd'; $_lang['access_permissions'] = 'Åtkomstinställningar'; @@ -58,14 +58,14 @@ $_lang['access_policy_grid_empty'] = 'Det finns inga policyer att visa'; $_lang['access_policy_grid_paginate'] = 'Visar policyerna {0} - {1} av {2}'; $_lang['access_resourcegroup_management_msg'] = 'Hantera användargruppers medlemmars tillgång till resursgrupper och, om så önskas, ange åtkomstpolicyer.'; -$_lang['access_resourcegroup_create'] = 'Add Resource Group Access'; -$_lang['access_resourcegroup_remove'] = 'Delete Resource Group Access'; -$_lang['access_resourcegroup_update'] = 'Edit Resource Group Access'; +$_lang['access_resourcegroup_create'] = 'Lägg till resursgruppsåtkomst'; +$_lang['access_resourcegroup_remove'] = 'Ta bort resursgruppsåtkomst'; +$_lang['access_resourcegroup_update'] = 'Redigera resursgruppsåtkomst'; $_lang['access_rgroup_err_ae'] = 'Det finns redan en ACL för den resursgruppen!'; $_lang['access_rgroup_err_nf'] = 'Resursgruppens ACL kunde inte hittas.'; $_lang['access_rgroup_err_ns'] = 'Ingen ACL för resursgruppen angiven.'; $_lang['access_rgroup_err_remove'] = 'Ett fel inträffade när resursgruppens ACL skulle tas bort.'; -$_lang['access_source_create'] = 'Add Media Source Access'; +$_lang['access_source_create'] = 'Lägg mediakälleåtkomst'; $_lang['access_source_err_ae'] = 'Det finns redan en ACL för den mediakällan.'; $_lang['access_source_remove'] = 'Ta bort tillgång till mediakälla'; $_lang['access_source_update'] = 'Redigera tillgång till mediakälla'; @@ -104,7 +104,7 @@ $_lang['resource_group_access_contexts'] = 'En kommaseparerad lista med kontexter som resursgruppen ska avse för följande alternativ.'; $_lang['resource_group_automatic_access'] = 'Åtkomstguide'; $_lang['resource_group_automatic_access_desc'] = 'Notera: Du kan behöva avsluta alla sessioner efter att du skapat resursgruppen om du markerar något av valen nedan.'; -$_lang['resource_group_access_admin'] = 'Automatically Give Administrator Group Access'; +$_lang['resource_group_access_admin'] = 'Ge automatiskt administratörsgruppen åtkomst'; $_lang['resource_group_access_admin_desc'] = 'Om denna markeras ges administratörsgruppen läs- och redigeringsåtkomst till denna resursgrupp för de kontexter som angetts ovan.'; $_lang['resource_group_access_anon'] = 'Ge anonym åtkomst automatiskt'; $_lang['resource_group_access_anon_desc'] = 'Om denna markeras ges icke inloggade användare läsåtkomst till denna resursgrupp för de kontexter som angetts ovan.'; @@ -171,9 +171,9 @@ $_lang['user_group_namespace_access'] = 'Namnrymder'; $_lang['user_group_namespace_access_desc'] = 'Ange de namnrymder som den här användargruppen kan komma åt.'; -$_lang['user_group_namespace_namespace_desc'] = 'The Namespace to grant access to.'; +$_lang['user_group_namespace_namespace_desc'] = 'Namnrymden som tillgång ges till.'; $_lang['user_group_namespace_authority_desc'] = 'Den minimiroll som får tillgång till rättigheterna i den valda policyn. Roller med starkare auktoritet (lägre nummer) kommer att ärva denna tillgång också. I de flesta lägen kan du lämna denna satt till "Medlem".'; -$_lang['user_group_namespace_policy_desc'] = 'The Policy to apply to this Namespace for this User Group. This will grant all Users in this User Group with the selected minimum Role all the Permissions in the Policy.'; +$_lang['user_group_namespace_policy_desc'] = 'Den policy som ska gälla i denna namnrymd för denna användargrupp. Det här kommer att ge alla rättigheter i policyn till alla användarna i användargruppen som har den valda minimirollen.'; // Renamed, deprecated as of 3.0.4, remove in 3.1.0 $_lang['access_rgroup_remove'] = $lang['access_resourcegroup_remove']; diff --git a/core/lexicon/sv/file.inc.php b/core/lexicon/sv/file.inc.php index f9b57da9b2e..1cce96ba98d 100644 --- a/core/lexicon/sv/file.inc.php +++ b/core/lexicon/sv/file.inc.php @@ -89,7 +89,7 @@ $_lang['upf_add_desc'] = 'Lägg till filen i uppladdningskön.'; $_lang['upf_close'] = 'Stäng'; $_lang['upf_close_desc'] = 'Stäng fönstret.'; -$_lang['upf_err_failed'] = 'Server is unavailable or internal server error occurred.'; +$_lang['upf_err_failed'] = 'Servern är inte tillgänglig eller så inträffade ett internt serverfel.'; $_lang['upf_err_filetype'] = 'Den valda filändelsen är inte tillåten.
      Välj filer med någon av följande filändelser: {1}'; $_lang['upf_error'] = 'Fel'; $_lang['upf_filename'] = 'Filnamn'; diff --git a/core/lexicon/sv/formcustomization.inc.php b/core/lexicon/sv/formcustomization.inc.php index 556ae7b33d3..71b1aece6dc 100644 --- a/core/lexicon/sv/formcustomization.inc.php +++ b/core/lexicon/sv/formcustomization.inc.php @@ -15,10 +15,10 @@ $_lang['constraint_desc'] = 'Valfri. Värdet på det restriktionsfält som kontrollen ska göras mot.'; $_lang['constraint_field'] = 'Restriktionsfält'; $_lang['constraint_field_desc'] = 'Valfri. Det fält för vilket denna restriktion ska användas.'; -$_lang['constraint_incomplete_constraint_err'] = 'To apply constraints, the Constraint must be specified for this rule to work properly.'; -$_lang['constraint_incomplete_constraint_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint Field was set but the Constraint is missing.'; -$_lang['constraint_incomplete_field_err'] = 'To apply constraints, the Constraint Field must be specified for this rule to work properly.'; -$_lang['constraint_incomplete_field_warn'] = 'Set #%d in the Form Customization profile named “%s” may not work as expected because a Constraint was set but the Constraint Field is missing.'; +$_lang['constraint_incomplete_constraint_err'] = 'För att tillämpa begränsningar så måste begränsningen anges för att denna regel ska fungera korrekt.'; +$_lang['constraint_incomplete_constraint_warn'] = 'Att ange #%d i formuläranpassningsprofilen ”%s” kanske inte fungerar som förväntat eftersom ett begränsningsfält är angivet, men begränsningen saknas.'; +$_lang['constraint_incomplete_field_err'] = 'För att tillämpa begränsningar så måste begränsningsfältet anges för att denna regel ska fungera korrekt.'; +$_lang['constraint_incomplete_field_warn'] = 'Att ange #%d i formuläranpassningsprofilen ”%s” kanske inte fungerar som förväntat eftersom en begränsning är angiven, men begränsningsfältet saknas.'; $_lang['containing_panel'] = 'Omslutande panel'; $_lang['containing_panel_desc'] = 'ID:t på den formulärpanel som omsluter fältet. Det här behövs ibland för vissa regler så att systemet ska veta vilket formulär eller vilken panel fältet finns i.'; $_lang['deactivate'] = 'Avaktivera'; @@ -88,8 +88,8 @@ $_lang['set_import_msg'] = 'Välj en XML-fil som ett formuläranpassningsset ska importeras från. Den måste vara i korrekt XML-format för formuläranpassning.'; $_lang['set_import_template_err_nf'] = 'Mallen kunde inte hittas när formuläranpassningssetet skulle importeras.'; $_lang['set_msg'] = 'Här kan du redigera vilka fält, flikar och mallvariabler som ska visas på den här sidan samt deras etiketter och standardvärden. Dubbelklicka i en kolumn för att redigera dess värde. Du kan också använda tab-tangenten för att stega dig igenom fälten. Lämna ett fält tomt om du vill använda standardvärdet.'; -$_lang['set_remove_confirm'] = 'Are you sure you want to permanently delete this set? This is irreversible.'; -$_lang['set_remove_multiple_confirm'] = 'Are you sure you want to permanently delete these sets? This is irreversible.'; +$_lang['set_remove_confirm'] = 'Är du säker på att du vill ta bort det här setet permanent? Det här går inte att ångra.'; +$_lang['set_remove_multiple_confirm'] = 'Är du säker på att du vill ta bort dessa set permanent? Det här går inte att ångra.'; $_lang['set_tab_err_ae'] = 'Det finns redan en flik med det ID:t. Ange ett annat.'; $_lang['set_tabs_msg'] = 'Här kan du justera flikar och regioner för denna sida, inklusive deras synlighet, etiketter och standardvärden. Bara dubbelklicka på en rad för att redigera dess värde. Lämna ett fält tomt för att använda standardinställningen.
      Vänligen notera: när ett element döljs i denna profil, kommer det även att döljas i överlappande profiler (även om det är markerat som synligt där).'; $_lang['set_template_desc'] = 'Genom att välja en mall så kommer utförandet av setets regler att begränsas om inte resursen använder den angivna mallen.'; diff --git a/core/lexicon/sv/messages.inc.php b/core/lexicon/sv/messages.inc.php index de8c83cb816..184039f8369 100644 --- a/core/lexicon/sv/messages.inc.php +++ b/core/lexicon/sv/messages.inc.php @@ -29,7 +29,7 @@ $_lang['message_send_email'] = 'Skicka e-post'; $_lang['message_err_nfs'] = 'Kunde inte hitta meddelandet.'; $_lang['message_err_not_specified_subject'] = 'Inget ämne angivet!'; -$_lang['message_err_remove'] = 'An error occurred while trying to delete the message.'; +$_lang['message_err_remove'] = 'Ett fel inträffade när meddelandet skulle tas bort.'; $_lang['message_err_remove_notauth'] ='Du har inte behörighet att ta bort det här meddelandet.'; $_lang['message_err_save'] = 'Ett fel inträffade när meddelandet sparades.'; diff --git a/core/lexicon/sv/setting.inc.php b/core/lexicon/sv/setting.inc.php index f686cabc75d..4f280765e32 100644 --- a/core/lexicon/sv/setting.inc.php +++ b/core/lexicon/sv/setting.inc.php @@ -385,7 +385,7 @@ $_lang['setting_mail_smtp_port_desc'] = 'Anger SMTP-serverns standardport.'; $_lang['setting_mail_smtp_secure'] = 'Säker SMTP'; -$_lang['setting_mail_smtp_secure_desc'] = 'Sets SMTP secure encryption type. Options are "", "ssl" or "tls"'; +$_lang['setting_mail_smtp_secure_desc'] = 'Anger krypteringstyp för säker SMTP. Alternativen är "", "ssl" eller "tls".'; $_lang['setting_mail_smtp_autotls'] = 'SMTP Auto TLS'; $_lang['setting_mail_smtp_autotls_desc'] = 'Anger om TLS-kryptering ska aktiveras automatiskt om en server stödjer det även om "Säker SMTP" inte är satt till "tls".'; @@ -765,8 +765,8 @@ $_lang['setting_upload_translit'] = 'Omtolka namn på uppladdade filer?'; $_lang['setting_upload_translit_desc'] = 'Om detta alternativ är aktiverat kommer namnet på en uppladdad fil att translitereras enligt de globala translitterationsreglerna.'; -$_lang['setting_upload_translit_restrict_chars_pattern'] = 'File Name Character Restriction Pattern'; -$_lang['setting_upload_translit_restrict_chars_pattern_desc'] = 'A valid RegEx pattern for restricting characters used in an uploaded file’s name.'; +$_lang['setting_upload_translit_restrict_chars_pattern'] = 'Mönster för begränsning av tecken i filnamn'; +$_lang['setting_upload_translit_restrict_chars_pattern_desc'] = 'Ett giltigt RegEx som ska användas för att begränsa vilka tecken som får användas i uppladdade filers namn.'; $_lang['setting_use_alias_path'] = 'Använd vänliga aliassökvägar'; $_lang['setting_use_alias_path_desc'] = 'Sätts detta val till "Ja", kommer hela sökvägen till resursen att visas om resursen har ett alias. Till exempel, om en resurs med aliaset "barn" befinner sig i en behållare med aliaset "foralder", kommer hela sökvägen att visas som "/foralder/barn.html".
      Notera: När detta sätts till "Ja" (slår på aliassökvägar), måste du referera objekt (som bilder, css, javascript etc) med en absolut sökväg. Exempel: "/assets/images" istället för "assets/images". Genom att göra så förhindrar du att webbläsaren (eller webbservern) lägger till den relativa sökvägen till aliassökvägen.'; @@ -827,7 +827,7 @@ $_lang['setting_error_log_filename_desc'] = 'Anpassa filnamnet för MODX fellogg (inklusive filändelse).'; $_lang['setting_error_log_filepath'] = 'Felloggens sökväg'; -$_lang['setting_error_log_filepath_desc'] = 'Optionally set a absolute path the a custom error log location. You might use placeholders like {cache_path}.'; +$_lang['setting_error_log_filepath_desc'] = 'Du kan ange en absolut sökväg till en anpassad plats för felloggen. Platshållare som {cache_path} kan användas.'; $_lang['setting_passwordless_activated'] = 'Aktivera inloggning utan lösenord'; $_lang['setting_passwordless_activated_desc'] = 'När den här är aktiverad kan användare logga in genom att ange sin e-postadress och därefter få en engångs inloggningslänk, istället för att ange användarnamn och lösenord.'; diff --git a/core/lexicon/sv/snippet.inc.php b/core/lexicon/sv/snippet.inc.php index ec340c17888..928d64fbbe6 100644 --- a/core/lexicon/sv/snippet.inc.php +++ b/core/lexicon/sv/snippet.inc.php @@ -16,8 +16,8 @@ $_lang['snippet_duplicate_confirm'] = 'Är du säker på att du vill duplicera denna snippet?'; $_lang['snippet_duplicate_error'] = 'Ett fel inträffade när snippeten skulle dupliceras.'; $_lang['snippet_err_create'] = 'Ett fel inträffade när snippeten skulle skapas.'; -$_lang['snippet_err_delete'] = 'An error occurred while trying to delete the snippet.'; -$_lang['snippet_err_duplicate'] = 'An error occurred while trying to duplicate the snippet.'; +$_lang['snippet_err_delete'] = 'Ett fel inträffade när snippeten skulle tas bort.'; +$_lang['snippet_err_duplicate'] = 'Ett fel inträffade när snippeten skulle dupliceras.'; $_lang['snippet_err_ae'] = 'Det finns redan en snippet med namnet "[[+name]]".'; $_lang['snippet_err_invalid_name'] = 'Snippetens namn är ogiltigt.'; $_lang['snippet_err_locked'] = 'Denna snippet är låst för redigering.'; diff --git a/core/lexicon/sv/template.inc.php b/core/lexicon/sv/template.inc.php index da7f3978758..ee52c9de3fc 100644 --- a/core/lexicon/sv/template.inc.php +++ b/core/lexicon/sv/template.inc.php @@ -21,7 +21,7 @@ $_lang['template_empty'] = '(tom)'; $_lang['template_err_default_template'] = 'Denna mall är angiven som standardmall. Ange en ny standardmall i MODX inställningar innan du tar bort denna mall.
      '; $_lang['template_err_delete'] = 'Ett fel inträffade när mallen skulle tas bort.'; -$_lang['template_err_duplicate'] = 'An error occurred while duplicating the template.'; +$_lang['template_err_duplicate'] = 'Ett fel inträffade när mallen skulle dupliceras.'; $_lang['template_err_ae'] = 'Det finns redan en mall med namnet "[[+name]]".'; $_lang['template_err_in_use'] = 'Denna mall används. Ange en ny mall för de dokument som använder mallen. Dokument som använder mallen:
      '; $_lang['template_err_invalid_name'] = 'Mallnamnet är ogiltigt.'; diff --git a/core/lexicon/sv/topmenu.inc.php b/core/lexicon/sv/topmenu.inc.php index 069051b6ec5..3aec045c855 100644 --- a/core/lexicon/sv/topmenu.inc.php +++ b/core/lexicon/sv/topmenu.inc.php @@ -7,7 +7,7 @@ * @subpackage lexicon */ $_lang['about'] = 'Om'; -$_lang['about_desc'] = 'Help!'; +$_lang['about_desc'] = 'Hjälp!'; $_lang['access_permissions'] = 'Åtkomstinställningar'; $_lang['access_permissions_desc'] = 'Hantera användargruppers tillgång till resurser och kontexter.'; $_lang['acls'] = 'Åtkomstkontroller'; @@ -39,7 +39,7 @@ $_lang['flush_sessions'] = 'Återställ alla sessioner'; $_lang['flush_sessions_confirm'] = 'Är du säker på att du vill återställa alla användarsessioner? Detta kommer att förstöra alla aktuella sessioner, inklusive din egen, vilket kommer att tvinga alla att logga in igen efter att den här operationen är genomförd.'; $_lang['flush_sessions_desc'] = 'Återställ alla sessioner och logga ut alla användare.'; -$_lang['flush_sessions_err'] = 'An error occurred while attempting to flush the current user sessions.'; +$_lang['flush_sessions_err'] = 'Ett fel inträffade när de aktuella användarsessionerna skulle rensas.'; $_lang['flush_sessions_not_supported'] = 'Återställning av användarsessioner stöds inte på din konfiguration.'; $_lang['form_customization'] = 'Formuläranpassning'; $_lang['form_customization_desc'] = 'Anpassa hanterarens formulär efter säkerhetsbehörigheter.'; diff --git a/core/lexicon/sv/tv.inc.php b/core/lexicon/sv/tv.inc.php index 71654ff5cb0..95b7fd455eb 100644 --- a/core/lexicon/sv/tv.inc.php +++ b/core/lexicon/sv/tv.inc.php @@ -34,7 +34,7 @@ $_lang['tv_err_nfs'] = 'Kunde inte hitta mallvariabeln med nyckel: [[+id]]'; $_lang['tv_err_ns'] = 'Ingen mallvariabel angiven.'; $_lang['tv_err_reserved_name'] = 'En mallvariabel kan inte ha samma namn som ett resursfält.'; -$_lang['tv_err_save_access_permissions'] = 'An error occurred while attempting to save TV access permissions.'; +$_lang['tv_err_save_access_permissions'] = 'Ett fel inträffade när mallvariabelns åtkomstinställningar skulle sparas.'; $_lang['tv_err_save'] = 'Ett fel inträffade när mallvariabeln skulle sparas.'; $_lang['tv_inuse'] = 'Följande dokument använder för närvarande denna mallvariabel. För att fortsätta med denna borttagningsoperation, klicka på knappen "Ta bort". Klicka på knappen "Avbryt" för att avbryta.'; $_lang['tv_inuse_template'] = 'Följande mallar använder för närvarande denna TV: [[+templates]].

      Koppla bort TV:n från mallarna innan den kan raderas.'; diff --git a/core/lexicon/sv/tv_widget.inc.php b/core/lexicon/sv/tv_widget.inc.php index 3901b89c98e..0a39d667302 100644 --- a/core/lexicon/sv/tv_widget.inc.php +++ b/core/lexicon/sv/tv_widget.inc.php @@ -34,8 +34,8 @@ $_lang['combo_listwidth_desc'] = 'Bredden (i % eller px) på själva rullgardinsmenyn. Standard är bredden på comboboxen.'; $_lang['combo_maxheight'] = 'Maximal höjd'; $_lang['combo_maxheight_desc'] = 'Den maximala höjden (i pixlar) på rullgardinsmenyn innan rullningslister visas. Standard är 300.'; -$_lang['combo_preserve_selectionorder'] = 'Preserve Entry Order'; -$_lang['combo_preserve_selectionorder_desc'] = 'When set to Yes, saved items display in the order they were originally selected. Otherwise, items follow the order defined in the list options. (Default: No)'; +$_lang['combo_preserve_selectionorder'] = 'Bevara urvalsordning'; +$_lang['combo_preserve_selectionorder_desc'] = 'När denna sätts till "Ja" visas sparade poster i den ordning de ursprungligen valdes. Annars visas posterna i den ordning som definierats i alternativlistan. (Standard: Nej)'; $_lang['combo_stackitems'] = 'Stapla markerade poster'; $_lang['combo_stackitems_desc'] = 'Om denna sätts till "Ja" kommer posterna att staplas en per rad. Standard är "Nej", vilket betyder att de visas på samma rad.'; $_lang['combo_title'] = 'Listrubrik'; @@ -100,8 +100,8 @@ $_lang['htmltag'] = 'HTML-tagg'; $_lang['image'] = 'Bild'; $_lang['image_alt'] = 'Alternativtext'; -$_lang['input_height'] = 'Input Height'; -$_lang['input_height_desc'] = 'A number specifying the input’s height in pixels. (Default: 140)'; +$_lang['input_height'] = 'Höjd på input'; +$_lang['input_height_desc'] = 'Ett tal som anger input-fältets höjd i pixlar. (Standard: 140)'; $_lang['latest_date'] = 'Senaste datum'; $_lang['latest_date_desc'] = 'Det senaste datum som kan väljas.'; $_lang['latest_time'] = 'Senaste klockslag'; @@ -147,7 +147,7 @@ $_lang['required_desc'] = 'Välj ”Nej” för att göra den här mallvariabeln till ett obligatoriskt fält i de resurser den tilldelats till. (Standard: ”Ja”)'; $_lang['resourcelist'] = 'Resurslista'; $_lang['resourcelist_depth'] = 'Djup'; -$_lang['resourcelist_depth_desc'] = 'The number of subfolders to drill down into for this listing’s search query. (Default: 10)'; +$_lang['resourcelist_depth_desc'] = 'Antalet undermappsnivåer som denna listas sökfråga letar sig ner i. (Standard: 10)'; $_lang['resourcelist_forceselection_desc'] = 'Inaktiverad; endast listmatchningar är giltiga.'; $_lang['resourcelist_includeparent'] = 'Inkludera föräldrar'; $_lang['resourcelist_includeparent_desc'] = 'Välj ”Ja” för att inkludera de resurser som anges i listans föräldrafält.'; @@ -182,10 +182,10 @@ $_lang['target'] = 'Mål'; $_lang['text'] = 'Text'; $_lang['textarea'] = 'Textruta'; -$_lang['textarea_grow'] = 'Auto Grow?'; -$_lang['textarea_grow_desc'] = 'Select “Yes” to allow the input’s height to automatically change based on its content. (Default: “No”)'; -$_lang['textarea_resizable'] = 'Resizable?'; -$_lang['textarea_resizable_desc'] = 'Select “Yes” to allow the input’s height to be changed by dragging its bottom boundary. (Default: “No”)'; +$_lang['textarea_grow'] = 'Väx automatiskt?'; +$_lang['textarea_grow_desc'] = 'Välj ”Ja” för att låta input-fältets höjd ändras automatiskt baserat på dess innehåll. (Standard: Nej)'; +$_lang['textarea_resizable'] = 'Kan ändra storlek?'; +$_lang['textarea_resizable_desc'] = 'Välj ”Ja” för att tillåta att input-fältets höjd ändras genom att dra dess nedre gräns. (Standard: Nej)'; $_lang['textareamini'] = 'Textruta (liten)'; $_lang['textbox'] = 'Textbox'; $_lang['time_increment'] = 'Tidsintervall'; @@ -193,14 +193,14 @@ $_lang['title'] = 'Titel'; $_lang['tv_default_checkbox_desc'] = 'En uppsättning alternativ separerade med dubbla pipe-tecken som väljs för den här mallvariabeln om användaren inte markerar ett eller flera egna val. Om dina alternativ inkluderar etiketter (till exempel "Alternativ ett==1||Alternativ två==2||Alternativ tre==3"), så behöver du ange värdet, det vill säga “1” för Alternativ ett eller “1||3” för Alternativ ett och Alternativ tre.'; $_lang['tv_default_date'] = 'Förvalt datum och tid'; -$_lang['tv_default_date_desc'] = 'The date to show if the user does not provide one. Choose a relative date from the list above or enter a different date using one of the following patterns: +$_lang['tv_default_date_desc'] = 'Det datum som visas om användaren inte anger ett. Välj ett relativt datum från listan ovan eller ange ett annat datum med hjälp av något av följande mönster:
        -
      • [[+example_1]] (number represents hours ago)
      • -
      • [[+example_2]] (number represents hours in the future)
      • -
      • [[+example_3]] (a specific date [and time if desired] using the format shown)
      • +
      • [[+example_1]] (antal timmar sedan)
      • +
      • [[+example_2]] (antal timmar i framtiden)
      • +
      • [[+example_3]] (ett specifikt datum [och tid om så önskas] med det visade formatet)
      - Note: The use of the “+” and “-” shown above is counter-intuitive, but correct (“+” represents backward in time). + Obs: Användningen av “+” och “-” ovan är kontraintuitiv, men korrekt ("+" representerar bakåt i tiden).
      '; $_lang['tv_default_email'] = 'Förvald e-postadress'; $_lang['tv_default_email_desc'] = 'Den e-postadress som mallvariabeln visar om användaren inte anger en.'; diff --git a/core/lexicon/sv/user.inc.php b/core/lexicon/sv/user.inc.php index c155ff2632e..7a23ab1d41c 100644 --- a/core/lexicon/sv/user.inc.php +++ b/core/lexicon/sv/user.inc.php @@ -50,7 +50,7 @@ $_lang['role_err_remove_admin'] = 'Rollen du försöker ta bort är administratörsrollen. Den kan inte tas bort!'; $_lang['role_remove'] = 'Ta bort roll'; $_lang['role_remove_confirm'] = 'Är du säker på att du vill ta bort den här rollen?'; -$_lang['role_warn_authority_locked'] = 'Rollens behörighet kan inte ändras eftersom denna roll för närvarande är tilldelad till en eller flera poster i åtkomstkontrolllistan.'; +$_lang['role_warn_authority_locked'] = 'Rollens behörighet kan inte ändras eftersom denna roll för närvarande är tilldelad till en eller flera poster i åtkomstkontrollistan.'; $_lang['roles'] = 'Roller'; $_lang['rrg_drag'] = 'Dra resurser till resursgrupperna här.'; $_lang['ugc_grid_title'] = 'Användargruppsåtkomst till kontexter'; diff --git a/setup/lang/sv/default.inc.php b/setup/lang/sv/default.inc.php index 59fccfd9103..c0828472f21 100644 --- a/setup/lang/sv/default.inc.php +++ b/setup/lang/sv/default.inc.php @@ -81,7 +81,7 @@ $_lang['delete_setup_dir'] = 'Bocka för här för att TA BORT installationskatalogen från filsystemet.'; $_lang['dir'] = 'vth'; $_lang['email_err_ns'] = 'E-postadressen är inte korrekt'; -$_lang['err_occ'] = 'Fel har inträffat!'; +$_lang['err_occ'] = 'Fel inträffade!'; $_lang['err_update_table'] = 'Ett fel inträffade när tabellen för klassen [[+class]] uppdaterades'; $_lang['errors_occurred'] = 'Fel inträffade när kärnan skulle installeras. Studera installationsresultaten nedan, korrigera problemen och följ vidare instruktioner.'; $_lang['failed'] = 'Misslyckades!'; From 8f4674c18d0f365265fcf9d7ea765ef55145fe49 Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Thu, 26 Sep 2024 13:15:08 -0400 Subject: [PATCH 09/56] Update Minimum PHP Version in phpcs.xml (#16621) ### What does it do? Aligns php requirement for PHPCS to that specified in composer config. ### Why is it needed? Ensure sniffer reports errors/warnings for php 7.4+ (as opposed to 7.2+). ### How to test Currently the sniffer will show an error if a class has typed properties. After this update, it will not. ### Related issue(s)/PR(s) n/a --- phpcs.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpcs.xml b/phpcs.xml index 14b11587c35..75bcc228a7b 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -8,7 +8,7 @@ - + _build connectors From a8420a5b1f0e7c7db35a3b466efb7771ef3623e2 Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Thu, 26 Sep 2024 13:19:05 -0400 Subject: [PATCH 10/56] Fix User Date of Birth Validation and Processing (#16620) ### What does it do? Replace usage of `strtotime` with `DateTimeImmutable::createFromFormat` for better format compatibility. ### Why is it needed? Certain date formats, such as m-d-Y, are incompatible with `strtotime` and will cause the value of input fields where it's currently used (such as in a User's Profile) to fail. ### How to test Set the system setting `manager_date_format` to `m-d-Y` (or any other format where the month and day would be programmatically ambiguous), clear caches, and verify that a User's DOB can be added/updated as expected. Note that there are two distinct places to check this: under Manage/Users/[User] and via the logged in User's Profile page (at `/manager/?a=security/profile`) ### Related issue(s)/PR(s) n/a --- .../Processors/Security/Profile/Update.php | 20 ++- .../Processors/Security/User/Validation.php | 139 ++++++++++-------- 2 files changed, 88 insertions(+), 71 deletions(-) diff --git a/core/src/Revolution/Processors/Security/Profile/Update.php b/core/src/Revolution/Processors/Security/Profile/Update.php index cd7337fd57e..be44e4fd40d 100644 --- a/core/src/Revolution/Processors/Security/Profile/Update.php +++ b/core/src/Revolution/Processors/Security/Profile/Update.php @@ -1,4 +1,5 @@ profile === null) { return $this->modx->lexicon('user_profile_err_not_found'); } - return true; } @@ -96,12 +95,19 @@ public function prepare() /* format and set data */ $dob = $this->getProperty('dob'); if (!empty($dob)) { - $properties['dob'] = strtotime($dob); + $date = \DateTimeImmutable::createFromFormat($this->modx->getOption('manager_date_format', null, 'Y-m-d', true), $dob); + if ($date === false) { + $this->addFieldError('dob', $this->modx->lexicon('user_err_not_specified_dob')); + } else { + $properties['dob'] = $date->getTimestamp(); + } } + $this->profile->fromArray($properties); } - public function validate() { + public function validate() + { if ($this->getProperty('newpassword') !== 'false') { $oldPassword = $this->getProperty('password_old'); $newPassword = $this->getProperty('password_new'); @@ -113,10 +119,10 @@ public function validate() { } if (empty($newPassword) || strlen($newPassword) < $this->modx->getOption('password_min_length', null, 8)) { $this->addFieldError('password_new', $this->modx->lexicon('user_err_password_too_short')); - } else if (!preg_match('/^[^\'\x3c\x3e\(\);\x22\x7b\x7d\x2f\x5c]+$/', $newPassword)) { + } elseif (!preg_match('/^[^\'\x3c\x3e\(\);\x22\x7b\x7d\x2f\x5c]+$/', $newPassword)) { $this->addFieldError('password_new', $this->modx->lexicon('user_err_password_invalid')); } - if (empty($confirmPassword) || strcmp($newPassword,$confirmPassword) != 0) { + if (empty($confirmPassword) || strcmp($newPassword, $confirmPassword) != 0) { $this->addFieldError('password_confirm', $this->modx->lexicon('user_err_password_no_match')); } } diff --git a/core/src/Revolution/Processors/Security/User/Validation.php b/core/src/Revolution/Processors/Security/User/Validation.php index bb789ef763d..e1d27fb6bc4 100644 --- a/core/src/Revolution/Processors/Security/User/Validation.php +++ b/core/src/Revolution/Processors/Security/User/Validation.php @@ -1,4 +1,5 @@ processor =& $processor; $this->modx =& $processor->modx; $this->user =& $user; $this->profile =& $profile; } - public function validate() { + public function validate() + { $this->checkUsername(); $this->checkPassword(); $this->checkEmail(); @@ -50,57 +53,60 @@ public function validate() { return !$this->processor->hasErrors(); } - public function checkUsername() { + public function checkUsername() + { $username = $this->processor->getProperty('username'); if (empty($username)) { - $this->processor->addFieldError('username',$this->modx->lexicon('user_err_not_specified_username')); + $this->processor->addFieldError('username', $this->modx->lexicon('user_err_not_specified_username')); } elseif (!preg_match('/^[^\'\\x3c\\x3e\\(\\);\\x22]+$/', $username)) { - $this->processor->addFieldError('username',$this->modx->lexicon('user_err_username_invalid')); - } else if (!empty($username)) { + $this->processor->addFieldError('username', $this->modx->lexicon('user_err_username_invalid')); + } elseif (!empty($username)) { if ($this->alreadyExists($username)) { - $this->processor->addFieldError('username',$this->modx->lexicon('user_err_already_exists')); + $this->processor->addFieldError('username', $this->modx->lexicon('user_err_already_exists')); } - $this->user->set('username',$username); + $this->user->set('username', $username); } } - public function alreadyExists($name) { - return $this->modx->getCount(modUser::class, - [ + public function alreadyExists($name) + { + return $this->modx->getCount( + modUser::class, + [ 'username' => $name, 'id:!=' => $this->user->get('id'), ] - ) > 0; + ) > 0; } - public function checkPassword() { - $newPassword = $this->processor->getProperty('newpassword',null); + public function checkPassword() + { + $newPassword = $this->processor->getProperty('newpassword', null); $id = $this->processor->getProperty('id'); - $passwordGenerationMethod = $this->processor->getProperty('passwordgenmethod','g'); + $passwordGenerationMethod = $this->processor->getProperty('passwordgenmethod', 'g'); if ($passwordGenerationMethod !== 'user_email_specify' && ($newPassword !== null && $newPassword != 'false' || empty($id))) { - $passwordNotifyMethod = $this->processor->getProperty('passwordnotifymethod',null); + $passwordNotifyMethod = $this->processor->getProperty('passwordnotifymethod', null); if (empty($passwordNotifyMethod)) { - $this->processor->addFieldError('password_notify_method',$this->modx->lexicon('user_err_not_specified_notification_method')); + $this->processor->addFieldError('password_notify_method', $this->modx->lexicon('user_err_not_specified_notification_method')); } - if ($passwordGenerationMethod == 'g') { $autoPassword = $this->user->generatePassword(); $this->user->set('password', $autoPassword); - $this->processor->newPassword= $autoPassword; + $this->processor->newPassword = $autoPassword; } else { $specifiedPassword = $this->processor->getProperty('specifiedpassword'); $confirmPassword = $this->processor->getProperty('confirmpassword'); if (empty($specifiedPassword)) { - $this->processor->addFieldError('specifiedpassword',$this->modx->lexicon('user_err_not_specified_password')); + $this->processor->addFieldError('specifiedpassword', $this->modx->lexicon('user_err_not_specified_password')); } elseif ($specifiedPassword != $confirmPassword) { - $this->processor->addFieldError('confirmpassword',$this->modx->lexicon('user_err_password_no_match')); + $this->processor->addFieldError('confirmpassword', $this->modx->lexicon('user_err_password_no_match')); } elseif (strlen($specifiedPassword) < $this->modx->getOption('password_min_length', null, 8, true)) { - $this->processor->addFieldError('specifiedpassword',$this->modx->lexicon('user_err_password_too_short')); + $this->processor->addFieldError('specifiedpassword', $this->modx->lexicon('user_err_password_too_short')); } elseif (!preg_match('/^[^\'\x3c\x3e\(\);\x22\x7b\x7d\x2f\x5c]+$/', $specifiedPassword)) { $this->processor->addFieldError('specifiedpassword', $this->modx->lexicon('user_err_password_invalid')); } else { - $this->user->set('password',$specifiedPassword); + $this->user->set('password', $specifiedPassword); $this->processor->newPassword = $specifiedPassword; } } @@ -108,88 +114,93 @@ public function checkPassword() { return $this->processor->newPassword; } - public function checkEmail() { + public function checkEmail() + { $email = $this->processor->getProperty('email'); if (empty($email)) { - $this->processor->addFieldError('email',$this->modx->lexicon('user_err_not_specified_email')); + $this->processor->addFieldError('email', $this->modx->lexicon('user_err_not_specified_email')); } - if (!$this->modx->getOption('allow_multiple_emails',null,true)) { + if (!$this->modx->getOption('allow_multiple_emails', null, true)) { /** @var modUserProfile $emailExists */ $emailExists = $this->modx->getObject(modUserProfile::class, ['email' => $email]); if ($emailExists) { if ($emailExists->get('internalKey') != $this->processor->getProperty('id')) { - $this->processor->addFieldError('email',$this->modx->lexicon('user_err_already_exists_email')); + $this->processor->addFieldError('email', $this->modx->lexicon('user_err_already_exists_email')); } } } return $email; } - public function checkPhone() { + public function checkPhone() + { $phone = $this->processor->getProperty('phone'); if (!empty($phone)) { - if ($this->modx->getOption('clean_phone_number',null,false)) { - $phone = str_replace(' ','',$phone); - $phone = str_replace('-','',$phone); - $phone = str_replace('(','',$phone); - $phone = str_replace(')','',$phone); - $phone = str_replace('+','',$phone); - $this->processor->setProperty('phone',$phone); - $this->profile->set('phone',$phone); + if ($this->modx->getOption('clean_phone_number', null, false)) { + $phone = str_replace(' ', '', $phone); + $phone = str_replace('-', '', $phone); + $phone = str_replace('(', '', $phone); + $phone = str_replace(')', '', $phone); + $phone = str_replace('+', '', $phone); + $this->processor->setProperty('phone', $phone); + $this->profile->set('phone', $phone); } } } - public function checkCellPhone() { + public function checkCellPhone() + { $phone = $this->processor->getProperty('mobilephone'); if (!empty($phone)) { - if ($this->modx->getOption('clean_phone_number',null,false)) { - $phone = str_replace(' ','',$phone); - $phone = str_replace('-','',$phone); - $phone = str_replace('(','',$phone); - $phone = str_replace(')','',$phone); - $phone = str_replace('+','',$phone); - $this->processor->setProperty('mobilephone',$phone); - $this->profile->set('mobilephone',$phone); + if ($this->modx->getOption('clean_phone_number', null, false)) { + $phone = str_replace(' ', '', $phone); + $phone = str_replace('-', '', $phone); + $phone = str_replace('(', '', $phone); + $phone = str_replace(')', '', $phone); + $phone = str_replace('+', '', $phone); + $this->processor->setProperty('mobilephone', $phone); + $this->profile->set('mobilephone', $phone); } } } - public function checkBirthDate() { + public function checkBirthDate() + { $birthDate = $this->processor->getProperty('dob'); if (!empty($birthDate)) { - $birthDate = strtotime($birthDate); - if (false === $birthDate) { - $this->processor->addFieldError('dob',$this->modx->lexicon('user_err_not_specified_dob')); + $date = \DateTimeImmutable::createFromFormat($this->modx->getOption('manager_date_format', null, 'Y-m-d', true), $birthDate); + if ($date === false) { + $this->processor->addFieldError('dob', $this->modx->lexicon('user_err_not_specified_dob')); } - $this->processor->setProperty('dob',$birthDate); - $this->profile->set('dob',$birthDate); + $birthDate = $date->getTimestamp(); + $this->processor->setProperty('dob', $birthDate); + $this->profile->set('dob', $birthDate); } } - public function checkBlocked() { + public function checkBlocked() + { /* blocked until */ $blockedUntil = $this->processor->getProperty('blockeduntil'); if (!empty($blockedUntil)) { - $blockedUntil = str_replace('-','/',$blockedUntil); + $blockedUntil = str_replace('-', '/', $blockedUntil); if (!$blockedUntil = strtotime($blockedUntil)) { - $this->processor->addFieldError('blockeduntil',$this->modx->lexicon('user_err_not_specified_blockeduntil')); + $this->processor->addFieldError('blockeduntil', $this->modx->lexicon('user_err_not_specified_blockeduntil')); } - $this->processor->setProperty('blockeduntil',$blockedUntil); - $this->profile->set('blockeduntil',$blockedUntil); + $this->processor->setProperty('blockeduntil', $blockedUntil); + $this->profile->set('blockeduntil', $blockedUntil); } /* blocked after */ $blockedAfter = $this->processor->getProperty('blockedafter'); if (!empty($blockedAfter)) { - $blockedAfter = str_replace('-','/',$blockedAfter); + $blockedAfter = str_replace('-', '/', $blockedAfter); if (!$blockedAfter = strtotime($blockedAfter)) { - $this->processor->addFieldError('blockedafter',$this->modx->lexicon('user_err_not_specified_blockedafter')); + $this->processor->addFieldError('blockedafter', $this->modx->lexicon('user_err_not_specified_blockedafter')); } - $this->processor->setProperty('blockedafter',$blockedAfter); - $this->profile->set('blockedafter',$blockedAfter); + $this->processor->setProperty('blockedafter', $blockedAfter); + $this->profile->set('blockedafter', $blockedAfter); } } - } From 2e1a739bb22ae7427cd59350846e393060f051b5 Mon Sep 17 00:00:00 2001 From: Ruslan Aleev Date: Wed, 2 Oct 2024 23:48:29 +0400 Subject: [PATCH 11/56] Reorganize main menu (#16530) --- _build/data/transport.core.menus.php | 908 ++++++++---------- .../common/3.0.0-update-menu-main.php | 63 +- setup/lang/en/upgrades.inc.php | 4 + 3 files changed, 444 insertions(+), 531 deletions(-) diff --git a/_build/data/transport.core.menus.php b/_build/data/transport.core.menus.php index 48f9165dd0f..5f7e376a4d3 100644 --- a/_build/data/transport.core.menus.php +++ b/_build/data/transport.core.menus.php @@ -10,518 +10,402 @@ use MODX\Revolution\modMenu; -$menus = []; - -$menus[0]= $xpdo->newObject(modMenu::class); -$menus[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'topnav', - 'description' => 'topnav_desc', - 'parent' => '', - 'permissions' => '', - 'action' => '', -], '', true, true); - -$menus[1]= $xpdo->newObject(modMenu::class); -$menus[1]->fromArray([ - 'menuindex' => 0, - 'text' => 'usernav', - 'description' => 'usernav_desc', - 'parent' => '', - 'permissions' => '', - 'action' => '', -], '', true, true); - - -/* ***************** CONTENT MENU ***************** */ -$topNavMenus[0]= $xpdo->newObject(modMenu::class); -$topNavMenus[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'site', - 'description' => '', - 'parent' => 'topnav', - 'permissions' => 'menu_site', - 'action' => '', - 'icon' => '', -], '', true, true); - -$children = []; - -/* New Resource */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'new_resource', - 'description' => 'new_resource_desc', - 'parent' => 'site', - 'permissions' => 'new_document', - 'action' => 'resource/create', -], '', true, true); - -/* Preview */ -$children[1]= $xpdo->newObject(modMenu::class); -$children[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'preview', - 'description' => 'preview_desc', - 'parent' => 'site', - 'permissions' => '', - 'action' => '', - 'handler' => 'MODx.preview(); return false;', -], '', true, true); - -/* Manage Resource Groups */ -$children[2]= $xpdo->newObject(modMenu::class); -$children[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'resource_groups', - 'description' => 'resource_groups_desc', - 'parent' => 'site', - 'permissions' => 'access_permissions', - 'action' => 'security/resourcegroup', -], '', true, true); - -/* Content Types */ -$children[3]= $xpdo->newObject(modMenu::class); -$children[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'content_types', - 'description' => 'content_types_desc', - 'parent' => 'site', - 'permissions' => 'content_types', - 'action' => 'system/contenttype', -], '', true, true); - -$topNavMenus[0]->addMany($children,'Children'); -unset($children); - - -/* ***************** MEDIA MENU ***************** */ -$topNavMenus[1]= $xpdo->newObject(modMenu::class); -$topNavMenus[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'media', - 'description' => '', - 'parent' => 'topnav', - 'permissions' => 'file_manager', - 'action' => '', - 'icon' => '', -], '', true, true); - -/* Media Browser */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'file_browser', - 'description' => 'file_browser_desc', - 'parent' => 'media', - 'permissions' => 'file_manager', - 'action' => 'media/browser', -], '', true, true); - -/* Media Drivers */ -$children[1]= $xpdo->newObject(modMenu::class); -$children[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'sources', - 'description' => 'sources_desc', - 'parent' => 'media', - 'permissions' => 'sources', - 'action' => 'source', -], '', true, true); - -$topNavMenus[1]->addMany($children,'Children'); -unset($children); - - -/* ***************** APPS MENU ***************** */ -$topNavMenus[2]= $xpdo->newObject(modMenu::class); -$topNavMenus[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'components', - 'description' => '', - 'parent' => 'topnav', - 'permissions' => 'components', - 'action' => '', - 'icon' => '', -], '', true, true); - -/* Installer */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'installer', - 'description' => 'installer_desc', - 'parent' => 'components', - 'permissions' => 'packages', - 'action' => 'workspaces', -], '', true, true); - -$topNavMenus[2]->addMany($children,'Children'); -unset($children); - - -/* ***************** ADMIN MENU ***************** */ -$topNavMenus[3]= $xpdo->newObject(modMenu::class); -$topNavMenus[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'manage', - 'description' => '', - 'parent' => 'topnav', - 'permissions' => 'menu_tools', - 'action' => '', - 'icon' => '', -], '', true, true); -$children = []; - -/* Manage Users */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'users', - 'description' => 'user_management_desc', - 'parent' => 'manage', - 'permissions' => 'view_user', - 'action' => 'security/user', -], '', true, true); - -/* Clear Cache */ -$children[1]= $xpdo->newObject(modMenu::class); -$children[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'refresh_site', - 'description' => 'refresh_site_desc', - 'parent' => 'manage', - 'permissions' => 'empty_cache', - 'action' => '', - 'handler' => 'MODx.clearCache(); return false;', -], '', true, true); - -/* Refresh URIs */ -$childrenOfClearCache[0]= $xpdo->newObject(modMenu::class); -$childrenOfClearCache[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'refreshuris', - 'description' => 'refreshuris_desc', - 'parent' => '', - 'permissions' => 'empty_cache', - 'action' => '', - 'handler' => 'MODx.refreshURIs(); return false;', -], '', true, true); - -$children[1]->addMany($childrenOfClearCache, 'Children'); - -/* Remove Locks */ -$children[2]= $xpdo->newObject(modMenu::class); -$children[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'remove_locks', - 'description' => 'remove_locks_desc', - 'parent' => 'manage', - 'permissions' => 'remove_locks', - 'action' => '', - 'handler' => 'MODx.removeLocks();return false;', -], '', true, true); - -/* Flush Permissions */ -$children[3]= $xpdo->newObject(modMenu::class); -$children[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'flush_access', - 'description' => 'flush_access_desc', - 'parent' => 'manage', - 'permissions' => 'access_permissions', - 'action' => '', - 'handler' => 'MODx.msg.confirm({ - title: _(\'flush_access\') - ,text: _(\'flush_access_confirm\') - ,url: MODx.config.connector_url - ,params: { - action: \'security/access/flush\' - } - ,listeners: { - \'success\': {fn:function() { location.href = \'./\'; },scope:this}, - \'failure\': {fn:function(response) { Ext.MessageBox.alert(\'failure\', response.responseText); },scope:this}, - } -});', -], '', true, true); - -/* Flush Sessions */ -$children[4]= $xpdo->newObject(modMenu::class); -$children[4]->fromArray([ - 'menuindex' => 4, - 'text' => 'flush_sessions', - 'description' => 'flush_sessions_desc', - 'parent' => 'manage', - 'permissions' => 'flush_sessions', - 'action' => '', - 'handler' => 'MODx.msg.confirm({ - title: _(\'flush_sessions\') - ,text: _(\'flush_sessions_confirm\') - ,url: MODx.config.connector_url - ,params: { - action: \'security/flush\' +$menusConfig = [ + // region: Main Navigation + [ + 'text' => 'topnav', + 'description' => 'topnav_desc', + 'permissions' => '', + 'action' => '', + 'children' => [ + // region: Content + [ + 'text' => 'site', + 'description' => '', + 'permissions' => 'menu_site', + 'action' => '', + 'icon' => '', + 'children' => [ + // region: New Resource + [ + 'text' => 'new_resource', + 'description' => 'new_resource_desc', + 'permissions' => 'new_document', + 'action' => 'resource/create', + ], + // endregion + // region: Clear Cache + [ + 'text' => 'refresh_site', + 'description' => 'refresh_site_desc', + 'permissions' => 'empty_cache', + 'action' => '', + 'handler' => 'MODx.clearCache(); return false;', + 'children' => [ + // region: Refresh URIs + [ + 'text' => 'refreshuris', + 'description' => 'refreshuris_desc', + 'permissions' => 'empty_cache', + 'action' => '', + 'handler' => 'MODx.refreshURIs(); return false;', + ] + // endregion + ] + ], + // endregion + // region: Remove Locks + [ + 'text' => 'remove_locks', + 'description' => 'remove_locks_desc', + 'permissions' => 'remove_locks', + 'action' => '', + 'handler' => 'MODx.removeLocks();return false;', + ], + // endregion + // region: Site Schedule + [ + 'text' => 'site_schedule', + 'description' => 'site_schedule_desc', + 'permissions' => 'view_document', + 'action' => 'resource/site_schedule', + ], + // endregion + // region: Content Types + [ + 'text' => 'content_types', + 'description' => 'content_types_desc', + 'permissions' => 'content_types', + 'action' => 'system/contenttype', + ], + // endregion + + ], + ], + // endregion + // region: Media + [ + 'text' => 'media', + 'description' => '', + 'permissions' => 'file_manager', + 'action' => '', + 'icon' => '', + 'children' => [ + // region: Media Browser + [ + 'text' => 'file_browser', + 'description' => 'file_browser_desc', + 'permissions' => 'file_manager', + 'action' => 'media/browser', + ], + // endregion + // region: Media Sources + [ + 'text' => 'sources', + 'description' => 'sources_desc', + 'permissions' => 'sources', + 'action' => 'source', + ], + // endregion + ], + ], + // endregion + // region: Components + [ + 'text' => 'components', + 'description' => '', + 'permissions' => 'components', + 'action' => '', + 'icon' => '', + 'children' => [ + // region: Installer + [ + 'text' => 'installer', + 'description' => 'installer_desc', + 'permissions' => 'packages', + 'action' => 'workspaces', + ], + // endregion + ], + ], + // endregion + ], + ], + // endregion + // region: User Navigation + [ + 'text' => 'usernav', + 'description' => 'usernav_desc', + 'permissions' => '', + 'action' => '', + 'children' => [ + // region: User + [ + 'text' => 'user', + 'description' => '', + 'permissions' => 'menu_user', + 'action' => '', + 'icon' => '{$userImage} {$username}', + 'children' => [ + // region: Profile + [ + 'text' => '{$username}', + 'description' => 'profile_desc', + 'permissions' => 'change_profile', + 'action' => 'security/profile', + ], + // endregion + // region: Messages + [ + 'text' => 'messages', + 'description' => 'messages_desc', + 'permissions' => 'messages', + 'action' => 'security/message', + ], + // endregion + // region: Logout + [ + 'text' => 'logout', + 'description' => 'logout_desc', + 'permissions' => 'logout', + 'action' => 'security/logout', + 'handler' => 'MODx.logout(); return false;', + ], + // endregion + ], + ], + // endregion + // region: Access + [ + 'text' => 'access', + 'description' => '', + 'permissions' => 'access_permissions', + 'action' => '', + 'icon' => '', + 'children' => [ + // region: Manage Users + [ + 'text' => 'users', + 'description' => 'user_management_desc', + 'permissions' => 'view_user', + 'action' => 'security/user', + ], + // endregion + // region: Manage Resource Groups + [ + 'text' => 'resource_groups', + 'description' => 'resource_groups_desc', + 'permissions' => 'access_permissions', + 'action' => 'security/resourcegroup', + ], + // endregion + // region: ACLs + [ + 'text' => 'acls', + 'description' => 'acls_desc', + 'permissions' => 'access_permissions', + 'action' => 'security/permission', + ], + // endregion + // region: Flush Permissions + [ + 'text' => 'flush_access', + 'description' => 'flush_access_desc', + 'permissions' => 'access_permissions', + 'action' => '', + 'handler' => 'MODx.msg.confirm({ + title: _(\'flush_access\') + ,text: _(\'flush_access_confirm\') + ,url: MODx.config.connector_url + ,params: { + action: \'security/access/flush\' + } + ,listeners: { + \'success\': {fn:function() { location.href = \'./\'; },scope:this}, + \'failure\': {fn:function(response) { Ext.MessageBox.alert(\'failure\', response.responseText); },scope:this}, + } + });', + ], + // endregion + // region: Flush Sessions + [ + 'text' => 'flush_sessions', + 'description' => 'flush_sessions_desc', + 'permissions' => 'flush_sessions', + 'action' => '', + 'handler' => 'MODx.msg.confirm({ + title: _(\'flush_sessions\') + ,text: _(\'flush_sessions_confirm\') + ,url: MODx.config.connector_url + ,params: { + action: \'security/flush\' + } + ,listeners: { + \'success\': {fn:function() { location.href = \'./\'; },scope:this} + } + });', + ], + // endregion + ], + ], + // endregion + // region: Settings + [ + 'text' => 'admin', + 'description' => '', + 'permissions' => 'settings', + 'action' => '', + 'icon' => '', + 'children' => [ + // region: System Settings + [ + 'text' => 'system_settings', + 'description' => 'system_settings_desc', + 'permissions' => 'settings', + 'action' => 'system/settings', + ], + // endregion + // region: Customize Manager + [ + 'text' => 'form_customization', + 'description' => 'form_customization_desc', + 'permissions' => 'customize_forms', + 'action' => 'security/forms', + ], + // endregion + // region: Property Sets + [ + 'text' => 'propertysets', + 'description' => 'propertysets_desc', + 'permissions' => 'property_sets', + 'action' => 'element/propertyset', + ], + // endregion + // region: Menus + [ + 'text' => 'edit_menu', + 'description' => 'edit_menu_desc', + 'permissions' => 'actions', + 'action' => 'system/action', + ], + // endregion + // region: Contexts + [ + 'text' => 'contexts', + 'description' => 'contexts_desc', + 'permissions' => 'view_context', + 'action' => 'context', + ], + // endregion + // region: Dashboards + [ + 'text' => 'dashboards', + 'description' => 'dashboards_desc', + 'permissions' => 'dashboards', + 'action' => 'system/dashboards', + ], + // endregion + // region: Namespaces + [ + 'text' => 'namespaces', + 'description' => 'namespaces_desc', + 'permissions' => 'namespaces', + 'action' => 'workspaces/namespace', + ], + // endregion + // region: Lexicons + [ + 'text' => 'lexicon_management', + 'description' => 'lexicon_management_desc', + 'permissions' => 'lexicons', + 'action' => 'workspaces/lexicon', + ], + // endregion + // region: Toggle Language + [ + 'text' => 'language', + 'description' => 'language_desc', + 'permissions' => 'language', + 'action' => '' + ], + // endregion + // region: Reports + [ + 'text' => 'reports', + 'description' => 'reports_desc', + 'permissions' => 'menu_reports', + 'action' => '', + 'children' => [ + // region: Manager Actions + [ + 'text' => 'view_logging', + 'description' => 'view_logging_desc', + 'permissions' => 'mgr_log_view', + 'action' => 'system/logs', + ], + // endregion + // region: Error Log + [ + 'text' => 'eventlog_viewer', + 'description' => 'eventlog_viewer_desc', + 'permissions' => 'view_eventlog', + 'action' => 'system/event', + ], + // endregion + // region: System Info + [ + 'text' => 'view_sysinfo', + 'description' => 'view_sysinfo_desc', + 'permissions' => 'view_sysinfo', + 'action' => 'system/info', + ], + // endregion + ], + ], + // endregion + ], + ], + // endregion + // region: About + [ + 'text' => 'about', + 'description' => 'about_desc', + 'permissions' => 'help', + 'action' => 'help', + 'icon' => '', + ], + // endregion + ], + ] + // endregion +]; + +function buildMenus($xpdo, $config, $parent = '') +{ + $menus = []; + + foreach ($config as $index => $menuItem) { + $menuObject = $xpdo->newObject(modMenu::class); + + $children = []; + if (isset($menuItem['children'])) { + $children = $menuItem['children']; + unset($menuItem['children']); + } + + $menuItem['menuindex'] = $index; + $menuItem['parent'] = $parent; + $menuObject->fromArray($menuItem, '', true, true); + + if (!empty($children)) { + $childMenuObjects = buildMenus($xpdo, $children, $menuItem['text']); + $menuObject->addMany($childMenuObjects, 'Children'); + } + + $menus[] = $menuObject; } - ,listeners: { - \'success\': {fn:function() { location.href = \'./\'; },scope:this} - } -});', -], '', true, true); - -/* Reports */ -$children[5]= $xpdo->newObject(modMenu::class); -$children[5]->fromArray([ - 'menuindex' => 5, - 'text' => 'reports', - 'description' => 'reports_desc', - 'parent' => 'manage', - 'permissions' => 'menu_reports', - 'action' => '', -], '', true, true); - -/* site schedule */ -$childrenOfReports[0]= $xpdo->newObject(modMenu::class); -$childrenOfReports[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'site_schedule', - 'description' => 'site_schedule_desc', - 'parent' => '', - 'permissions' => 'view_document', - 'action' => 'resource/site_schedule', -], '', true, true); - -/* manager actions */ -$childrenOfReports[1]= $xpdo->newObject(modMenu::class); -$childrenOfReports[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'view_logging', - 'description' => 'view_logging_desc', - 'parent' => '', - 'permissions' => 'mgr_log_view', - 'action' => 'system/logs', -], '', true, true); - -/* error log */ -$childrenOfReports[2]= $xpdo->newObject(modMenu::class); -$childrenOfReports[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'eventlog_viewer', - 'description' => 'eventlog_viewer_desc', - 'parent' => '', - 'permissions' => 'view_eventlog', - 'action' => 'system/event', -], '', true, true); - -/* system info */ -$childrenOfReports[3]= $xpdo->newObject(modMenu::class); -$childrenOfReports[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'view_sysinfo', - 'description' => 'view_sysinfo_desc', - 'parent' => 'reports', - 'permissions' => 'view_sysinfo', - 'action' => 'system/info', -], '', true, true); - -$children[5]->addMany($childrenOfReports, 'Children'); - - -$topNavMenus[3]->addMany($children,'Children'); -unset($children, $childrenOfReports); - - -/* ***************** USER MENU ***************** */ -$userNavMenus[0]= $xpdo->newObject(modMenu::class); -$userNavMenus[0]->fromArray([ - 'menuindex' => 5, - 'text' => 'user', - 'description' => '', - 'parent' => 'usernav', - 'permissions' => 'menu_user', - 'action' => '', - 'icon' => '{$userImage} {$username}', -], '', true, true); -$children = []; - -/* edit account */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => '{$username}', - 'description' => 'profile_desc', - 'parent' => 'user', - 'permissions' => 'change_profile', - 'action' => 'security/profile', -], '', true, true); - -/* messages */ -$children[1]= $xpdo->newObject(modMenu::class); -$children[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'messages', - 'description' => 'messages_desc', - 'parent' => 'user', - 'permissions' => 'messages', - 'action' => 'security/message', -], '', true, true); - -/* language */ -$children[2]= $xpdo->newObject(modMenu::class); -$children[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'language', - 'description' => 'language_desc', - 'parent' => 'user', - 'permissions' => 'language', - 'action' => '' -], '', true, true); - -/* logout */ -$children[3]= $xpdo->newObject(modMenu::class); -$children[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'logout', - 'description' => 'logout_desc', - 'parent' => 'user', - 'permissions' => 'logout', - 'action' => 'security/logout', - 'handler' => 'MODx.logout(); return false;', -], '', true, true); - -$userNavMenus[0]->addMany($children,'Children'); -unset($children); - -/* ***************** ADMIN/SETTINGS MENU ***************** */ -$userNavMenus[1]= $xpdo->newObject(modMenu::class); -$userNavMenus[1]->fromArray([ - 'menuindex' => 6, - 'text' => 'admin', - 'description' => '', - 'parent' => 'usernav', - 'permissions' => 'settings', - 'action' => '', - 'icon' => '', -], '', true, true); -$children = []; - -/* system settings */ -$children[0]= $xpdo->newObject(modMenu::class); -$children[0]->fromArray([ - 'menuindex' => 0, - 'text' => 'system_settings', - 'description' => 'system_settings_desc', - 'parent' => 'admin', - 'permissions' => 'settings', - 'action' => 'system/settings', -], '', true, true); - -/* customize manager */ -$children[1]= $xpdo->newObject(modMenu::class); -$children[1]->fromArray([ - 'menuindex' => 1, - 'text' => 'form_customization', - 'description' => 'form_customization_desc', - 'parent' => 'admin', - 'permissions' => 'customize_forms', - 'action' => 'security/forms', -], '', true, true); - -/* Dashboards */ -$children[2]= $xpdo->newObject(modMenu::class); -$children[2]->fromArray([ - 'menuindex' => 2, - 'text' => 'dashboards', - 'description' => 'dashboards_desc', - 'parent' => 'admin', - 'permissions' => 'dashboards', - 'action' => 'system/dashboards', -], '', true, true); - -/* Contexts */ -$children[3]= $xpdo->newObject(modMenu::class); -$children[3]->fromArray([ - 'menuindex' => 3, - 'text' => 'contexts', - 'description' => 'contexts_desc', - 'parent' => 'admin', - 'permissions' => 'view_context', - 'action' => 'context', -], '', true, true); - -/* Manager Menus */ -$children[4]= $xpdo->newObject(modMenu::class); -$children[4]->fromArray([ - 'menuindex' => 4, - 'text' => 'edit_menu', - 'description' => 'edit_menu_desc', - 'parent' => 'admin', - 'permissions' => 'actions', - 'action' => 'system/action', -], '', true, true); - -/* ACLs */ -$children[5]= $xpdo->newObject(modMenu::class); -$children[5]->fromArray([ - 'menuindex' => 5, - 'text' => 'acls', - 'description' => 'acls_desc', - 'parent' => 'admin', - 'permissions' => 'access_permissions', - 'action' => 'security/permission', -], '', true, true); - -/* Property Sets */ -$children[6]= $xpdo->newObject(modMenu::class); -$children[6]->fromArray([ - 'menuindex' => 6, - 'text' => 'propertysets', - 'description' => 'propertysets_desc', - 'parent' => 'admin', - 'permissions' => 'property_sets', - 'action' => 'element/propertyset', -], '', true, true); - -/* Lexicons */ -$children[7]= $xpdo->newObject(modMenu::class); -$children[7]->fromArray([ - 'menuindex' => 7, - 'text' => 'lexicon_management', - 'description' => 'lexicon_management_desc', - 'parent' => 'admin', - 'permissions' => 'lexicons', - 'action' => 'workspaces/lexicon', -], '', true, true); - -/* Namespaces */ -$children[8]= $xpdo->newObject(modMenu::class); -$children[8]->fromArray([ - 'menuindex' => 8, - 'text' => 'namespaces', - 'description' => 'namespaces_desc', - 'parent' => 'admin', - 'permissions' => 'namespaces', - 'action' => 'workspaces/namespace', -], '', true, true); - -$userNavMenus[1]->addMany($children,'Children'); -unset($children); - -/* ***************** ADMIN/ABOUT MENU ***************** */ -$userNavMenus[2]= $xpdo->newObject(modMenu::class); -$userNavMenus[2]->fromArray([ - 'menuindex' => 8, - 'text' => 'about', - 'description' => 'about_desc', - 'parent' => 'usernav', - 'permissions' => 'help', - 'action' => 'help', - 'icon' => '', -], '', true, true); - -/* add topnav and usernav menu children */ -$menus[0]->addMany($topNavMenus, 'Children'); -$menus[1]->addMany($userNavMenus, 'Children'); -unset($topNavMenus, $userNavMenus); + return $menus; +} -return $menus; +return buildMenus($xpdo, $menusConfig); diff --git a/setup/includes/upgrades/common/3.0.0-update-menu-main.php b/setup/includes/upgrades/common/3.0.0-update-menu-main.php index fe2cd52d37f..aef847abce4 100644 --- a/setup/includes/upgrades/common/3.0.0-update-menu-main.php +++ b/setup/includes/upgrades/common/3.0.0-update-menu-main.php @@ -8,35 +8,60 @@ use MODX\Revolution\modMenu; -$menu = [ - 'site' => '', - 'media' => '', - 'components' => '', - 'manage' => '', +// Update menu icons +$menuItemsUpdateIcons = [ + 'site' => '', + 'media' => '', + 'components' => '', + 'manage' => '', 'user' => '{$userImage}{$username}', - 'admin' => '', - 'about' => '', + 'admin' => '', + 'about' => '', ]; -foreach ($menu as $key => $value) { - /** @var modMenu $menu_item */ +foreach ($menuItemsUpdateIcons as $key => $value) { + /** @var modMenu $menuItem */ - $menu_item = $modx->getObject(modMenu::class, ['text' => $key]); - if ($menu_item instanceof modMenu) { - $menu_item->set('description', ''); - $menu_item->set('icon', $value); - $menu_item->save(); + $menuItem = $modx->getObject(modMenu::class, ['text' => $key]); + if ($menuItem instanceof modMenu) { + $menuItem->set('description', ''); + $menuItem->set('icon', $value); + + if ($menuItem->save()) { + $this->runner->addResult( + modInstallRunner::RESULT_SUCCESS, + sprintf($messageTemplate, 'ok', $this->install->lexicon('menu_update_success', ['text' => $key])) + ); + } else { + $this->runner->addResult( + modInstallRunner::RESULT_WARNING, + sprintf($messageTemplate, 'warning', $this->install->lexicon('menu_update_failed', ['text' => $key])) + ); + } } } -$removed = [ +// Remove menu items +$menuItemsRemove = [ 'import_site', 'import_resources', ]; -foreach ($removed as $key) { - $menu_item = $modx->getObject(modMenu::class, ['text' => $key]); - if ($menu_item instanceof modMenu) { - $menu_item->remove(); +foreach ($menuItemsRemove as $key) { + /** @var modMenu $menuItem */ + + $menuItem = $modx->getObject(modMenu::class, ['text' => $key]); + if ($menuItem instanceof modMenu) { + if ($menuItem->remove()) { + $this->runner->addResult( + modInstallRunner::RESULT_SUCCESS, + sprintf($messageTemplate, 'ok', $this->install->lexicon('menu_remove_success', ['text' => $key])) + ); + } else { + $this->runner->addResult( + modInstallRunner::RESULT_WARNING, + sprintf($messageTemplate, 'warning', $this->install->lexicon('menu_remove_failed', ['text' => $key])) + ); + } } } diff --git a/setup/lang/en/upgrades.inc.php b/setup/lang/en/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/en/upgrades.inc.php +++ b/setup/lang/en/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; From 1a026076ab372c0aeb49622bd379d16cb4ef84fe Mon Sep 17 00:00:00 2001 From: MODX Bot Date: Wed, 2 Oct 2024 21:57:25 +0200 Subject: [PATCH 12/56] New Crowdin updates (#16626) --- setup/lang/ar/upgrades.inc.php | 4 ++++ setup/lang/be/upgrades.inc.php | 4 ++++ setup/lang/bg/upgrades.inc.php | 4 ++++ setup/lang/cs/upgrades.inc.php | 4 ++++ setup/lang/da/upgrades.inc.php | 4 ++++ setup/lang/de/upgrades.inc.php | 4 ++++ setup/lang/el/upgrades.inc.php | 4 ++++ setup/lang/es/upgrades.inc.php | 4 ++++ setup/lang/et/upgrades.inc.php | 4 ++++ setup/lang/fa/upgrades.inc.php | 4 ++++ setup/lang/fi/upgrades.inc.php | 4 ++++ setup/lang/fr/upgrades.inc.php | 4 ++++ setup/lang/he/upgrades.inc.php | 4 ++++ setup/lang/hi/upgrades.inc.php | 4 ++++ setup/lang/hu/upgrades.inc.php | 4 ++++ setup/lang/id/upgrades.inc.php | 4 ++++ setup/lang/it/upgrades.inc.php | 4 ++++ setup/lang/ja/upgrades.inc.php | 4 ++++ setup/lang/nl/upgrades.inc.php | 4 ++++ setup/lang/pl/upgrades.inc.php | 4 ++++ setup/lang/pt/upgrades.inc.php | 4 ++++ setup/lang/ro/upgrades.inc.php | 4 ++++ setup/lang/ru/upgrades.inc.php | 4 ++++ setup/lang/sl/upgrades.inc.php | 4 ++++ setup/lang/sv/upgrades.inc.php | 4 ++++ setup/lang/th/upgrades.inc.php | 4 ++++ setup/lang/tr/upgrades.inc.php | 4 ++++ setup/lang/uk/upgrades.inc.php | 4 ++++ setup/lang/yo/upgrades.inc.php | 4 ++++ setup/lang/zh/upgrades.inc.php | 4 ++++ 30 files changed, 120 insertions(+) diff --git a/setup/lang/ar/upgrades.inc.php b/setup/lang/ar/upgrades.inc.php index f7b35df4a2d..f2ce9d98d8a 100644 --- a/setup/lang/ar/upgrades.inc.php +++ b/setup/lang/ar/upgrades.inc.php @@ -43,6 +43,10 @@ $_lang['lexiconfocus_alter_pk'] = 'تغيير modLexiconFocus \'name\' من مفتاح رئيسي إلى مفتاح فريد'; $_lang['lexiconfocus_drop_pk'] = 'إسقاط المفتاح الرئيسي modLexiconFocus.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'إعادة تسمية الجدول \'[[old+]]\' إلى \'[[new+]]\'.'; diff --git a/setup/lang/be/upgrades.inc.php b/setup/lang/be/upgrades.inc.php index ab8e29ea32b..54c7a257c58 100644 --- a/setup/lang/be/upgrades.inc.php +++ b/setup/lang/be/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Дададзены PRIMARY KEY да слупка `id` для класа modLexiconFocus.'; $_lang['lexiconfocus_alter_pk'] = 'Зменены тып поля `name` з PRIMARY KEY да UNIQUE KEY для класа modLexiconFocus'; $_lang['lexiconfocus_drop_pk'] = 'Выдалены PRIMARY KEY для класа modLexiconFocus.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Мадыфікаваны слупок `[[+column]]` з `[[+old]]` у `[[+new]]` у табліцы [[+table]]'; $_lang['rename_column'] = 'Перайменаваны слупок `[[+old]]` да `[[+new]]` у табліцы [[+table]].'; $_lang['rename_table'] = 'Перайменавана табліца `[[+old]]` у `[[+new]]`.'; diff --git a/setup/lang/bg/upgrades.inc.php b/setup/lang/bg/upgrades.inc.php index a4d15360f2e..50bb29133d9 100644 --- a/setup/lang/bg/upgrades.inc.php +++ b/setup/lang/bg/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Добавен modLexiconFocus PRIMARY KEY към `id` колона.'; $_lang['lexiconfocus_alter_pk'] = 'Променено modLexiconFocus `name` от PRIMARY KEY на UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Отпаднал modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Преименувана таблица `[[+old]]` на `[[+new]]`.'; diff --git a/setup/lang/cs/upgrades.inc.php b/setup/lang/cs/upgrades.inc.php index 3e2b745c9cd..e5ebb9017d9 100644 --- a/setup/lang/cs/upgrades.inc.php +++ b/setup/lang/cs/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Přidán PRIMARY KEY modLexiconFocus na sloupec `id`.'; $_lang['lexiconfocus_alter_pk'] = 'Změněno pole modLexiconFocus `name` z PRIMARY KEY na UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Odstraněn PRIMARY KEY modLexiconFocus.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'V tabulce `[[+table]]` byl změněn sloupec `[[+column]]` z `[[+old]]` na `[[+new]]`'; $_lang['rename_column'] = 'Přejmenován sloupec `[[+old]]` na `[[+new]]` v tabulce `[[+table]]`.'; $_lang['rename_table'] = 'Přejmenována tabulka `[[+old]]` na `[[+new]]`.'; diff --git a/setup/lang/da/upgrades.inc.php b/setup/lang/da/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/da/upgrades.inc.php +++ b/setup/lang/da/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/de/upgrades.inc.php b/setup/lang/de/upgrades.inc.php index ca2843e2381..4bf287458e5 100644 --- a/setup/lang/de/upgrades.inc.php +++ b/setup/lang/de/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'modLexiconFocus: PRIMARY KEY zur Spalte `id` hinzugefügt.'; $_lang['lexiconfocus_alter_pk'] = 'modLexiconFocus: `name` von PRIMARY KEY in UNIQUE KEY geändert.'; $_lang['lexiconfocus_drop_pk'] = 'modLexiconFocus: PRIMARY KEY entfernt.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Spalte `[[+column]]` von `[[+old]]` in `[[+new]]` in der Tabelle [[+table]] geändert.'; $_lang['rename_column'] = 'Spalte `[[+old]]` in `[[+new]]` in der Tabelle [[+table]] umbenannt.'; $_lang['rename_table'] = 'Tabelle `[[+old]]` umbenannt in `[[+new]]`.'; diff --git a/setup/lang/el/upgrades.inc.php b/setup/lang/el/upgrades.inc.php index d02bbfc12d9..8771ce239f3 100644 --- a/setup/lang/el/upgrades.inc.php +++ b/setup/lang/el/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/es/upgrades.inc.php b/setup/lang/es/upgrades.inc.php index ca59d5f6b25..8e99e893028 100644 --- a/setup/lang/es/upgrades.inc.php +++ b/setup/lang/es/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Se modificó la columna `id` como PRIMARY KEY en modLexiconFocus.'; $_lang['lexiconfocus_alter_pk'] = 'Se cambió `name` en modLexiconFocus de PRIMARY KEY a UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Se eliminó la PRIMARY KEY de modLexiconFocus.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Se renombró la tabla `[[+old]]` a `[[+new]]`.'; diff --git a/setup/lang/et/upgrades.inc.php b/setup/lang/et/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/et/upgrades.inc.php +++ b/setup/lang/et/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/fa/upgrades.inc.php b/setup/lang/fa/upgrades.inc.php index b9a9e3b9c5a..375f3a7185b 100644 --- a/setup/lang/fa/upgrades.inc.php +++ b/setup/lang/fa/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/fi/upgrades.inc.php b/setup/lang/fi/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/fi/upgrades.inc.php +++ b/setup/lang/fi/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/fr/upgrades.inc.php b/setup/lang/fr/upgrades.inc.php index 748f3a4063d..cd6c2192330 100644 --- a/setup/lang/fr/upgrades.inc.php +++ b/setup/lang/fr/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Ajout de modLexiconFocus PRIMARY KEY à la colonne `id`.'; $_lang['lexiconfocus_alter_pk'] = 'Changement de modLexiconFocus `name` de PRIMARY KEY vers UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Abandon de modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Colonne modifiée `[[+column]]` de `[[+old]]` en `[[+new]]` dans la table [[+table]]'; $_lang['rename_column'] = 'Colonne `[[+old]]` renommée en `[[+new]]` dans la table [[+table]].'; $_lang['rename_table'] = 'Table `[[+old]]` renommée en `[[+new]]`.'; diff --git a/setup/lang/he/upgrades.inc.php b/setup/lang/he/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/he/upgrades.inc.php +++ b/setup/lang/he/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/hi/upgrades.inc.php b/setup/lang/hi/upgrades.inc.php index e3937176382..4710fb87092 100644 --- a/setup/lang/hi/upgrades.inc.php +++ b/setup/lang/hi/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = '`Id` स्तंभ करने के लिए जोड़ा गया modLexiconFocus PRIMARY KEY।'; $_lang['lexiconfocus_alter_pk'] = 'ModLexiconFocus \'name\' से PRIMARY KEY के लिए UNIQUE KEY बदल गया'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modl_exiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified कॉलम `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'टेबल [[+टेबल]] पर नाम बदलकर कॉलम `[[+पुराना]]` से `[[+नया]] कर दिया गया है!'; $_lang['rename_table'] = 'नाम बदली गई तालिका \'[[+old]]\' के लिए \'[[+new]]\'।'; diff --git a/setup/lang/hu/upgrades.inc.php b/setup/lang/hu/upgrades.inc.php index c48d821a2ec..91e0eb18587 100644 --- a/setup/lang/hu/upgrades.inc.php +++ b/setup/lang/hu/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'A modLexiconFocus PRIMARY KEY hozzáadva az `id` oszlophoz.'; $_lang['lexiconfocus_alter_pk'] = 'A modLexiconFocus `name` módosítva PRIMARY KEY helyett UNIQUE KEY-re'; $_lang['lexiconfocus_drop_pk'] = 'A modLexiconFocus PRIMARY KEY törölve.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = '`[[+column]]` oszlop módosítva `[[+old]]`-ról `[[+new]]`-ra a [[+table]] táblában'; $_lang['rename_column'] = '`[[+old]]` oszlop átnevezve `[[+new]]`-ra a [[+table]] táblában.'; $_lang['rename_table'] = '`[[+old]]` tábla átnevezve `[[+new]]`-ra.'; diff --git a/setup/lang/id/upgrades.inc.php b/setup/lang/id/upgrades.inc.php index c1bfa562f64..86ed4cc669f 100644 --- a/setup/lang/id/upgrades.inc.php +++ b/setup/lang/id/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Ditambahkan modLexiconFocus PRIMARY KEY \'id\' kolom.'; $_lang['lexiconfocus_alter_pk'] = 'Mengubah modLexiconFocus \'nama\' dari PRIMARY KEY untuk kunci yang unik'; $_lang['lexiconfocus_drop_pk'] = 'ModLexiconFocus menjatuhkan PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Mengganti nama tabel \'[[+old]]\' ke \'[[+new]]\'.'; diff --git a/setup/lang/it/upgrades.inc.php b/setup/lang/it/upgrades.inc.php index 4d0b5d78350..da97a49aa0c 100644 --- a/setup/lang/it/upgrades.inc.php +++ b/setup/lang/it/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Aggiunta chiave primaria modLexiconFocus PRIMARY KEY alla colonna `id`.'; $_lang['lexiconfocus_alter_pk'] = 'Cambiato modLexiconFocus `name` da PRIMARY KEY a UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Eliminata la chiave primaria modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Colonna `[[+column]]` modificata da `[[+old]]` a `[[+new]]` nella tabella [[+table]]'; $_lang['rename_column'] = 'Rinominata colonna `[[+old]]` in `[[+new]]` nella tabella [[+table]].'; $_lang['rename_table'] = 'Rinominata la tabella `[[+old]]` in `[[+new]]`.'; diff --git a/setup/lang/ja/upgrades.inc.php b/setup/lang/ja/upgrades.inc.php index ab6f0219d04..0fd1b1d12f5 100644 --- a/setup/lang/ja/upgrades.inc.php +++ b/setup/lang/ja/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'modLexiconFocusに主キー(id)を追加しました。'; $_lang['lexiconfocus_alter_pk'] = 'modLexiconFocusの name フィールドを主キーから一意キーに変更しました。'; $_lang['lexiconfocus_drop_pk'] = 'modLexiconFocusの主キーを削除しました。'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'テーブル[[+old]]を新しい名前[[+new]]にリネームしました。'; diff --git a/setup/lang/nl/upgrades.inc.php b/setup/lang/nl/upgrades.inc.php index 0cec5fe9078..1416b2dc3c7 100644 --- a/setup/lang/nl/upgrades.inc.php +++ b/setup/lang/nl/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Primaire sleutel op modLexiconFocus `id` kolom toegevoegd.'; $_lang['lexiconfocus_alter_pk'] = 'Het veld modLexiconFocus `name` van primaire sleutel naar unieke waarde aangepast'; $_lang['lexiconfocus_drop_pk'] = 'De modLexiconFocus primaire sleutel verwijderd.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Kolom `[[+column]]` van `[[+old]]` naar `[[+new]]` in table [[+table]] aangepast'; $_lang['rename_column'] = 'Kolom `[[+old]]` hernoemd naar `[[+new]]` in tabel [[+table]].'; $_lang['rename_table'] = 'Tabel `[[+old]]` hernoemd naar `[[+new]]`.'; diff --git a/setup/lang/pl/upgrades.inc.php b/setup/lang/pl/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/pl/upgrades.inc.php +++ b/setup/lang/pl/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/pt/upgrades.inc.php b/setup/lang/pt/upgrades.inc.php index c25d7152445..a7cb1827b24 100644 --- a/setup/lang/pt/upgrades.inc.php +++ b/setup/lang/pt/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Adicionado modLexiconFocus PRIMARY KEY para coluna `id`.'; $_lang['lexiconfocus_alter_pk'] = 'Alterado modLexiconFocus `name` de PRIMARY KEY para UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Derrubado modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renomeada tabela de `[[+old]]` para `[[+new]]`.'; diff --git a/setup/lang/ro/upgrades.inc.php b/setup/lang/ro/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/ro/upgrades.inc.php +++ b/setup/lang/ro/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/ru/upgrades.inc.php b/setup/lang/ru/upgrades.inc.php index f2a54324149..fd03fe3701b 100644 --- a/setup/lang/ru/upgrades.inc.php +++ b/setup/lang/ru/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Добавлен PRIMARY KEY к полю `id` в `modLexiconFocus`.'; $_lang['lexiconfocus_alter_pk'] = 'Ключ поля `name` в таблице `modLexiconFocus` изменен с PRIMARY KEY на UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Удален PRIMARY KEY у таблицы `modLexiconFocus`.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Изменен столбец `[[+column]]` с `[[+old]]` на `[[+new]]` в таблице `[[+table]]`'; $_lang['rename_column'] = 'Переименован столбец `[[+old]]` на `[[+new]]` в таблице `[[+table]]`.'; $_lang['rename_table'] = 'Таблица `[[+old]]` переименована в `[[+new]]`.'; diff --git a/setup/lang/sl/upgrades.inc.php b/setup/lang/sl/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/sl/upgrades.inc.php +++ b/setup/lang/sl/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/sv/upgrades.inc.php b/setup/lang/sv/upgrades.inc.php index e8447777fba..d4c59989ca3 100644 --- a/setup/lang/sv/upgrades.inc.php +++ b/setup/lang/sv/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Lade till PRIMARY KEY till `id`-kolumnen i modLexiconFocus.'; $_lang['lexiconfocus_alter_pk'] = 'Ändrade `name` från PRIMARY KEY till UNIQUE KEY i modLexiconFocus.'; $_lang['lexiconfocus_drop_pk'] = 'Tog bort PRIMARY KEY från modLexiconFocus.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modifierade kolumnen `[[+column]]` från `[[+old]]` till `[[+new]]` i tabellen [[+table]].'; $_lang['rename_column'] = 'Ändrade namn på kolumnen `[[+old]]` till `[[+new]]` i tabellen [[+table]].'; $_lang['rename_table'] = 'Ändrade namn på tabellen `[[+old]]` till `[[+new]]`.'; diff --git a/setup/lang/th/upgrades.inc.php b/setup/lang/th/upgrades.inc.php index ae48b4b43ce..ee7b5140779 100644 --- a/setup/lang/th/upgrades.inc.php +++ b/setup/lang/th/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'เพิ่ม modLexiconFocus PRIMARY KEY ใส่คอลัมน์ `id`'; $_lang['lexiconfocus_alter_pk'] = 'เปลี่ยน modLexiconFocus `name` จาก PRIMARY KEY เป็น UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'ลด modLexiconFocus PRIMARY KEY'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'เปลี่ยนชื่อตาราง `[[+old]]` เป็น `[[+new]]`'; diff --git a/setup/lang/tr/upgrades.inc.php b/setup/lang/tr/upgrades.inc.php index 3a3bd3beae6..5e8d72058ea 100644 --- a/setup/lang/tr/upgrades.inc.php +++ b/setup/lang/tr/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = '`Id` sütununa modLexiconFocus PRIMARY KEY eklendi.'; $_lang['lexiconfocus_alter_pk'] = 'ModLexiconFocus `isim` BIRINCIL ANAHTARdan BENZERSIZ ANAHTAR değiştirildi'; $_lang['lexiconfocus_drop_pk'] = 'Modexiconfocus BIRINCIL ANAHTAR düştü.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Yeniden adlandırılmış tablo \'[[+old]]\' için \'[[+new]]\'.'; diff --git a/setup/lang/uk/upgrades.inc.php b/setup/lang/uk/upgrades.inc.php index fbb514a2821..32a098b567a 100644 --- a/setup/lang/uk/upgrades.inc.php +++ b/setup/lang/uk/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Додан PRIMARY KEY до полю `id` в `modLexiconFocus`. '; $_lang['lexiconfocus_alter_pk'] = 'Ключ поля `name` в таблиці `modLexiconFocus` змінений з PRIMARY KEY на UNIQUE KEY '; $_lang['lexiconfocus_drop_pk'] = 'Вилучений PRIMARY KEY у таблиці `modLexiconFocus`. '; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Змінено стовпець `[[+column]]` з `[[+old]]` на `[[+new]]` в таблиці `[[+table]]` '; $_lang['rename_column'] = 'Перейменований стовпець `[[+old]]` на `[[+new]]` в таблиці `[[+table]]`.'; $_lang['rename_table'] = 'Таблиця `[[+old]]` перейменована в `[[+new]]`. '; diff --git a/setup/lang/yo/upgrades.inc.php b/setup/lang/yo/upgrades.inc.php index 30d15e4d383..df41e6937e7 100644 --- a/setup/lang/yo/upgrades.inc.php +++ b/setup/lang/yo/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; diff --git a/setup/lang/zh/upgrades.inc.php b/setup/lang/zh/upgrades.inc.php index 6f2303ace57..553398dd230 100644 --- a/setup/lang/zh/upgrades.inc.php +++ b/setup/lang/zh/upgrades.inc.php @@ -34,6 +34,10 @@ $_lang['lexiconfocus_add_pk'] = 'Added modLexiconFocus PRIMARY KEY to `id` column.'; $_lang['lexiconfocus_alter_pk'] = 'Changed modLexiconFocus `name` from PRIMARY KEY to UNIQUE KEY'; $_lang['lexiconfocus_drop_pk'] = 'Dropped modLexiconFocus PRIMARY KEY.'; +$_lang['menu_remove_success'] = 'Menu item `[[+text]]` removed.'; +$_lang['menu_remove_failed'] = 'Menu item `[[+text]]` could not be removed.'; +$_lang['menu_update_success'] = 'Menu item `[[+text]]` updated.'; +$_lang['menu_update_failed'] = 'Menu item `[[+text]]` could not be updated.'; $_lang['modify_column'] = 'Modified column `[[+column]]` from `[[+old]]` to `[[+new]]` on table [[+table]]'; $_lang['rename_column'] = 'Renamed column `[[+old]]` to `[[+new]]` on table [[+table]].'; $_lang['rename_table'] = 'Renamed table `[[+old]]` to `[[+new]]`.'; From df04a763ca2b0b95bc0c4220aa8d5eed8f5fbdc4 Mon Sep 17 00:00:00 2001 From: Jason Coward Date: Tue, 8 Oct 2024 13:18:43 -0600 Subject: [PATCH 13/56] Replace use of deprecated date function in setup (#16627) ### What does it do? Replace use of date function in smarty footer tpl in setup with smarty.now|date_format ### Why is it needed? Use of the date function in smarty templates triggers a deprecated warning ### How to test Run setup on PHP 8.3 and ensure deprecated warning does not appear ### Related issue(s)/PR(s) none --- setup/templates/footer.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/templates/footer.tpl b/setup/templates/footer.tpl index 93ab2c3eea2..2f766e32e82 100644 --- a/setup/templates/footer.tpl +++ b/setup/templates/footer.tpl @@ -6,7 +6,7 @@