From afc8e51f0c86af53f1151c35c52c2fcb9f00a602 Mon Sep 17 00:00:00 2001 From: Yuriy Bakhtin Date: Sat, 5 Jun 2021 14:38:43 +0300 Subject: [PATCH] Rework Directory (#5057) Co-authored-by: Lucas Bartholemy --- composer.lock | 157 ++++++------ protected/humhub/assets/DirectoryAsset.php | 27 +++ .../controllers/UserPeopleController.php | 69 ++++++ .../admin/models/forms/PeopleSettingsForm.php | 139 +++++++++++ .../acceptance/MaintenanceModeCest.php | 2 +- .../modules/admin/views/user-people/index.php | 36 +++ .../modules/admin/widgets/AdminMenu.php | 2 +- .../humhub/modules/admin/widgets/UserMenu.php | 8 + .../resources/js/humhub.content.container.js | 18 ++ protected/humhub/modules/directory/Module.php | 15 +- .../commands/DirectoryController.php | 46 ++++ protected/humhub/modules/directory/config.php | 1 + .../controllers/RequestController.php | 47 +++- .../friendship/widgets/FriendshipButton.php | 95 +++++++- .../widgets/views/friendshipButton.php | 23 +- protected/humhub/modules/space/Events.php | 27 +++ protected/humhub/modules/space/Module.php | 1 + .../space/components/SpaceDirectoryQuery.php | 136 +++++++++++ protected/humhub/modules/space/config.php | 6 +- .../controllers/MembershipController.php | 38 ++- .../space/controllers/SpacesController.php | 88 +++++++ .../models/forms/RequestMembershipForm.php | 4 +- .../permissions/SpaceDirectoryAccess.php | 40 ++++ .../acceptance/RequestMembershipCest.php | 16 +- .../views/membership/requestMembership.php | 8 +- .../membership/requestMembershipSave.php | 6 +- .../modules/space/views/spaces/_layout.php | 9 + .../modules/space/views/spaces/index.php | 59 +++++ .../modules/space/widgets/FollowButton.php | 9 +- .../space/widgets/MembershipButton.php | 109 ++++++++- .../widgets/SpaceDirectoryActionButtons.php | 60 +++++ .../space/widgets/SpaceDirectoryCard.php | 44 ++++ .../space/widgets/SpaceDirectoryFilters.php | 71 ++++++ .../space/widgets/SpaceDirectoryIcons.php | 37 +++ .../space/widgets/SpaceDirectoryTagList.php | 69 ++++++ .../space/widgets/views/membershipButton.php | 26 +- .../widgets/views/profileHeaderControls.php | 2 +- .../widgets/views/spaceDirectoryCard.php | 47 ++++ .../widgets/views/spaceDirectoryIcons.php | 16 ++ .../modules/ui/widgets/DirectoryFilters.php | 124 ++++++++++ .../ui/widgets/views/directoryFilter.php | 17 ++ .../ui/widgets/views/directoryFilters.php | 23 ++ protected/humhub/modules/user/Events.php | 28 +++ protected/humhub/modules/user/Module.php | 7 +- .../modules/user/components/PeopleQuery.php | 225 ++++++++++++++++++ protected/humhub/modules/user/config.php | 5 +- .../user/controllers/PeopleController.php | 88 +++++++ ..._060737_profile_field_directory_filter.php | 27 +++ .../modules/user/models/ProfileField.php | 11 +- .../user/models/fieldtype/BaseType.php | 7 +- .../user/models/fieldtype/BaseTypeVirtual.php | 3 +- .../modules/user/models/fieldtype/Select.php | 5 + .../modules/user/models/fieldtype/Text.php | 5 + .../modules/user/permissions/PeopleAccess.php | 40 ++++ .../codeception/functional/MailInviteCest.php | 24 +- .../modules/user/views/people/_layout.php | 9 + .../modules/user/views/people/index.php | 63 +++++ .../user/widgets/PeopleActionButtons.php | 61 +++++ .../modules/user/widgets/PeopleCard.php | 52 ++++ .../modules/user/widgets/PeopleDetails.php | 82 +++++++ .../modules/user/widgets/PeopleFilters.php | 136 +++++++++++ .../modules/user/widgets/PeopleIcons.php | 37 +++ .../modules/user/widgets/PeopleTagList.php | 74 ++++++ .../modules/user/widgets/UserFollowButton.php | 11 +- .../modules/user/widgets/views/peopleCard.php | 53 +++++ .../user/widgets/views/peopleIcons.php | 17 ++ .../_pages/DirectoryMemberPage.php | 2 +- .../codeception/_pages/DirectoryPage.php | 5 +- protected/humhub/widgets/AjaxButton.php | 2 +- static/js/humhub/humhub.directory.js | 63 +++++ static/js/humhub/humhub.ui.additions.js | 12 +- static/less/button.less | 30 ++- static/less/directory.less | 184 ++++++++++++++ static/less/humhub.less | 5 + themes/HumHub/css/theme.css | 2 +- 75 files changed, 2974 insertions(+), 178 deletions(-) create mode 100644 protected/humhub/assets/DirectoryAsset.php create mode 100644 protected/humhub/modules/admin/controllers/UserPeopleController.php create mode 100644 protected/humhub/modules/admin/models/forms/PeopleSettingsForm.php create mode 100644 protected/humhub/modules/admin/views/user-people/index.php create mode 100644 protected/humhub/modules/directory/commands/DirectoryController.php create mode 100644 protected/humhub/modules/space/components/SpaceDirectoryQuery.php create mode 100644 protected/humhub/modules/space/controllers/SpacesController.php create mode 100644 protected/humhub/modules/space/permissions/SpaceDirectoryAccess.php create mode 100644 protected/humhub/modules/space/views/spaces/_layout.php create mode 100644 protected/humhub/modules/space/views/spaces/index.php create mode 100644 protected/humhub/modules/space/widgets/SpaceDirectoryActionButtons.php create mode 100644 protected/humhub/modules/space/widgets/SpaceDirectoryCard.php create mode 100644 protected/humhub/modules/space/widgets/SpaceDirectoryFilters.php create mode 100644 protected/humhub/modules/space/widgets/SpaceDirectoryIcons.php create mode 100644 protected/humhub/modules/space/widgets/SpaceDirectoryTagList.php create mode 100644 protected/humhub/modules/space/widgets/views/spaceDirectoryCard.php create mode 100644 protected/humhub/modules/space/widgets/views/spaceDirectoryIcons.php create mode 100644 protected/humhub/modules/ui/widgets/DirectoryFilters.php create mode 100644 protected/humhub/modules/ui/widgets/views/directoryFilter.php create mode 100644 protected/humhub/modules/ui/widgets/views/directoryFilters.php create mode 100644 protected/humhub/modules/user/components/PeopleQuery.php create mode 100644 protected/humhub/modules/user/controllers/PeopleController.php create mode 100644 protected/humhub/modules/user/migrations/m210506_060737_profile_field_directory_filter.php create mode 100644 protected/humhub/modules/user/permissions/PeopleAccess.php create mode 100644 protected/humhub/modules/user/views/people/_layout.php create mode 100644 protected/humhub/modules/user/views/people/index.php create mode 100644 protected/humhub/modules/user/widgets/PeopleActionButtons.php create mode 100644 protected/humhub/modules/user/widgets/PeopleCard.php create mode 100644 protected/humhub/modules/user/widgets/PeopleDetails.php create mode 100644 protected/humhub/modules/user/widgets/PeopleFilters.php create mode 100644 protected/humhub/modules/user/widgets/PeopleIcons.php create mode 100644 protected/humhub/modules/user/widgets/PeopleTagList.php create mode 100644 protected/humhub/modules/user/widgets/views/peopleCard.php create mode 100644 protected/humhub/modules/user/widgets/views/peopleIcons.php create mode 100644 static/js/humhub/humhub.directory.js create mode 100644 static/less/directory.less diff --git a/composer.lock b/composer.lock index eb6943ad65..64c59a18e2 100644 --- a/composer.lock +++ b/composer.lock @@ -53,7 +53,7 @@ "version": "3.5.1", "source": { "type": "git", - "url": "https://github.com/jquery/jquery-dist.git", + "url": "git@github.com:jquery/jquery-dist.git", "reference": "4c0e4becb8263bb5b3e6dadc448d8e7305ef8215" }, "dist": { @@ -561,16 +561,16 @@ }, { "name": "firebase/php-jwt", - "version": "v5.2.1", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "f42c9110abe98dd6cfe9053c49bc86acc70b2d23" + "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/f42c9110abe98dd6cfe9053c49bc86acc70b2d23", - "reference": "f42c9110abe98dd6cfe9053c49bc86acc70b2d23", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/3c2d70f2e64e2922345e89f2ceae47d2463faae1", + "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1", "shasum": "" }, "require": { @@ -609,9 +609,9 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v5.2.1" + "source": "https://github.com/firebase/php-jwt/tree/v5.3.0" }, - "time": "2021-02-12T00:02:00+00:00" + "time": "2021-05-20T17:37:02+00:00" }, { "name": "imagine/imagine", @@ -2671,16 +2671,16 @@ }, { "name": "markbaker/complex", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "d18272926d58065140314c01e18ec3dd7ae854ea" + "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/d18272926d58065140314c01e18ec3dd7ae854ea", - "reference": "d18272926d58065140314c01e18ec3dd7ae854ea", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/6f724d7e04606fd8adaa4e3bb381c3e9db09c946", + "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946", "shasum": "" }, "require": { @@ -2760,9 +2760,9 @@ ], "support": { "issues": "https://github.com/MarkBaker/PHPComplex/issues", - "source": "https://github.com/MarkBaker/PHPComplex/tree/2.0.2" + "source": "https://github.com/MarkBaker/PHPComplex/tree/2.0.3" }, - "time": "2021-05-24T10:53:30+00:00" + "time": "2021-06-02T09:44:11+00:00" }, { "name": "markbaker/matrix", @@ -4013,16 +4013,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "1.17.1", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "c55269cb06911575a126dc225a05c0e4626e5fb4" + "reference": "418cd304e8e6b417ea79c3b29126a25dc4b1170c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/c55269cb06911575a126dc225a05c0e4626e5fb4", - "reference": "c55269cb06911575a126dc225a05c0e4626e5fb4", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/418cd304e8e6b417ea79c3b29126a25dc4b1170c", + "reference": "418cd304e8e6b417ea79c3b29126a25dc4b1170c", "shasum": "" }, "require": { @@ -4041,20 +4041,23 @@ "ext-zlib": "*", "ezyang/htmlpurifier": "^4.13", "maennchen/zipstream-php": "^2.1", - "markbaker/complex": "^1.5||^2.0", - "markbaker/matrix": "^1.2||^2.0", - "php": "^7.2||^8.0", + "markbaker/complex": "^2.0", + "markbaker/matrix": "^2.0", + "php": "^7.2 || ^8.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/simple-cache": "^1.0" }, "require-dev": { - "dompdf/dompdf": "^0.8.5", + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "dompdf/dompdf": "^1.0", "friendsofphp/php-cs-fixer": "^2.18", "jpgraph/jpgraph": "^4.0", "mpdf/mpdf": "^8.0", "phpcompatibility/php-compatibility": "^9.3", - "phpunit/phpunit": "^8.5||^9.3", + "phpstan/phpstan": "^0.12.82", + "phpstan/phpstan-phpunit": "^0.12.18", + "phpunit/phpunit": "^8.5", "squizlabs/php_codesniffer": "^3.5", "tecnickcom/tcpdf": "^6.3" }, @@ -4108,9 +4111,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.17.1" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.18.0" }, - "time": "2021-03-02T17:54:11+00:00" + "time": "2021-05-31T18:21:15+00:00" }, { "name": "phpspec/prophecy", @@ -4478,16 +4481,16 @@ }, { "name": "phpunit/phpunit", - "version": "8.5.15", + "version": "8.5.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "038d4196d8e8cb405cd5e82cedfe413ad6eef9ef" + "reference": "cc66f2fc61296be66c99931a862200e7456b9a01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/038d4196d8e8cb405cd5e82cedfe413ad6eef9ef", - "reference": "038d4196d8e8cb405cd5e82cedfe413ad6eef9ef", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cc66f2fc61296be66c99931a862200e7456b9a01", + "reference": "cc66f2fc61296be66c99931a862200e7456b9a01", "shasum": "" }, "require": { @@ -4559,7 +4562,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.15" + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.16" }, "funding": [ { @@ -4571,7 +4574,7 @@ "type": "github" } ], - "time": "2021-03-17T07:27:54+00:00" + "time": "2021-06-05T04:46:20+00:00" }, { "name": "psr/container", @@ -5936,16 +5939,16 @@ }, { "name": "symfony/process", - "version": "v4.4.22", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f5481b22729d465acb1cea3455fc04ce84b0148b" + "reference": "cd61e6dd273975c6625316de9d141ebd197f93c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f5481b22729d465acb1cea3455fc04ce84b0148b", - "reference": "f5481b22729d465acb1cea3455fc04ce84b0148b", + "url": "https://api.github.com/repos/symfony/process/zipball/cd61e6dd273975c6625316de9d141ebd197f93c9", + "reference": "cd61e6dd273975c6625316de9d141ebd197f93c9", "shasum": "" }, "require": { @@ -5977,7 +5980,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v4.4.22" + "source": "https://github.com/symfony/process/tree/v4.4.25" }, "funding": [ { @@ -5993,7 +5996,7 @@ "type": "tidelift" } ], - "time": "2021-04-07T16:22:29+00:00" + "time": "2021-05-26T11:20:16+00:00" }, { "name": "theseer/tokenizer", @@ -8714,16 +8717,16 @@ }, { "name": "softcreatr/jsonpath", - "version": "0.7.4", + "version": "0.7.5", "source": { "type": "git", "url": "https://github.com/SoftCreatR/JSONPath.git", - "reference": "e01ff3eae8d0b94648354cb02b614968e83d56a2" + "reference": "008569bf80aa3584834f7890781576bc7b65afa7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/e01ff3eae8d0b94648354cb02b614968e83d56a2", - "reference": "e01ff3eae8d0b94648354cb02b614968e83d56a2", + "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/008569bf80aa3584834f7890781576bc7b65afa7", + "reference": "008569bf80aa3584834f7890781576bc7b65afa7", "shasum": "" }, "require": { @@ -8775,7 +8778,7 @@ "type": "github" } ], - "time": "2021-05-07T14:31:33+00:00" + "time": "2021-06-02T22:15:26+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -8895,16 +8898,16 @@ }, { "name": "symfony/console", - "version": "v4.4.24", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1b15ca1b1bedda86f98064da9ff5d800560d4c6d" + "reference": "a62acecdf5b50e314a4f305cd01b5282126f3095" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1b15ca1b1bedda86f98064da9ff5d800560d4c6d", - "reference": "1b15ca1b1bedda86f98064da9ff5d800560d4c6d", + "url": "https://api.github.com/repos/symfony/console/zipball/a62acecdf5b50e314a4f305cd01b5282126f3095", + "reference": "a62acecdf5b50e314a4f305cd01b5282126f3095", "shasum": "" }, "require": { @@ -8964,7 +8967,7 @@ "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v4.4.24" + "source": "https://github.com/symfony/console/tree/v4.4.25" }, "funding": [ { @@ -8980,20 +8983,20 @@ "type": "tidelift" } ], - "time": "2021-05-13T06:28:07+00:00" + "time": "2021-05-26T11:20:16+00:00" }, { "name": "symfony/css-selector", - "version": "v4.4.24", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "947cacaf1b3a2af6f13a435392873d5ddaba5f70" + "reference": "c1e29de6dc893b130b45d20d8051efbb040560a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/947cacaf1b3a2af6f13a435392873d5ddaba5f70", - "reference": "947cacaf1b3a2af6f13a435392873d5ddaba5f70", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1e29de6dc893b130b45d20d8051efbb040560a9", + "reference": "c1e29de6dc893b130b45d20d8051efbb040560a9", "shasum": "" }, "require": { @@ -9029,7 +9032,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v4.4.24" + "source": "https://github.com/symfony/css-selector/tree/v4.4.25" }, "funding": [ { @@ -9045,7 +9048,7 @@ "type": "tidelift" } ], - "time": "2021-05-16T09:52:47+00:00" + "time": "2021-05-26T17:39:37+00:00" }, { "name": "symfony/deprecation-contracts", @@ -9116,16 +9119,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v4.4.24", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc0bd1f215b0cd9f4efdc63bb66808f3417331bc" + "reference": "41d15bb6d6b95d2be763c514bb2494215d9c5eef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc0bd1f215b0cd9f4efdc63bb66808f3417331bc", - "reference": "fc0bd1f215b0cd9f4efdc63bb66808f3417331bc", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/41d15bb6d6b95d2be763c514bb2494215d9c5eef", + "reference": "41d15bb6d6b95d2be763c514bb2494215d9c5eef", "shasum": "" }, "require": { @@ -9169,7 +9172,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v4.4.24" + "source": "https://github.com/symfony/dom-crawler/tree/v4.4.25" }, "funding": [ { @@ -9185,20 +9188,20 @@ "type": "tidelift" } ], - "time": "2021-05-16T09:52:47+00:00" + "time": "2021-05-26T11:20:16+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.20", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c" + "reference": "047773e7016e4fd45102cedf4bd2558ae0d0c32f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c", - "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/047773e7016e4fd45102cedf4bd2558ae0d0c32f", + "reference": "047773e7016e4fd45102cedf4bd2558ae0d0c32f", "shasum": "" }, "require": { @@ -9252,7 +9255,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.20" + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.25" }, "funding": [ { @@ -9268,7 +9271,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T09:09:26+00:00" + "time": "2021-05-26T17:39:37+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -9351,16 +9354,16 @@ }, { "name": "symfony/finder", - "version": "v4.4.24", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "a96bc19ed87c88eec78e1a4c803bdc1446952983" + "reference": "ed33314396d968a8936c95f5bd1b88bd3b3e94a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a96bc19ed87c88eec78e1a4c803bdc1446952983", - "reference": "a96bc19ed87c88eec78e1a4c803bdc1446952983", + "url": "https://api.github.com/repos/symfony/finder/zipball/ed33314396d968a8936c95f5bd1b88bd3b3e94a3", + "reference": "ed33314396d968a8936c95f5bd1b88bd3b3e94a3", "shasum": "" }, "require": { @@ -9392,7 +9395,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v4.4.24" + "source": "https://github.com/symfony/finder/tree/v4.4.25" }, "funding": [ { @@ -9408,7 +9411,7 @@ "type": "tidelift" } ], - "time": "2021-05-16T12:27:45+00:00" + "time": "2021-05-26T11:20:16+00:00" }, { "name": "symfony/polyfill-php73", @@ -9653,16 +9656,16 @@ }, { "name": "symfony/yaml", - "version": "v4.4.24", + "version": "v4.4.25", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "8b6d1b97521e2f125039b3fcb4747584c6dfa0ef" + "reference": "81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/8b6d1b97521e2f125039b3fcb4747584c6dfa0ef", - "reference": "8b6d1b97521e2f125039b3fcb4747584c6dfa0ef", + "url": "https://api.github.com/repos/symfony/yaml/zipball/81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc", + "reference": "81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc", "shasum": "" }, "require": { @@ -9704,7 +9707,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v4.4.24" + "source": "https://github.com/symfony/yaml/tree/v4.4.25" }, "funding": [ { @@ -9720,7 +9723,7 @@ "type": "tidelift" } ], - "time": "2021-05-16T09:52:47+00:00" + "time": "2021-05-26T17:39:37+00:00" }, { "name": "yiisoft/yii2-debug", diff --git a/protected/humhub/assets/DirectoryAsset.php b/protected/humhub/assets/DirectoryAsset.php new file mode 100644 index 0000000000..51073df0f6 --- /dev/null +++ b/protected/humhub/assets/DirectoryAsset.php @@ -0,0 +1,27 @@ + View::POS_END]; + +} diff --git a/protected/humhub/modules/admin/controllers/UserPeopleController.php b/protected/humhub/modules/admin/controllers/UserPeopleController.php new file mode 100644 index 0000000000..bab1a58d56 --- /dev/null +++ b/protected/humhub/modules/admin/controllers/UserPeopleController.php @@ -0,0 +1,69 @@ +appendPageTitle(Yii::t('AdminModule.base', 'People')); + $this->subLayout = '@admin/views/layouts/user'; + } + + /** + * @inheritdoc + */ + public function getAccessRules() + { + return [ + ['permissions' => [ManageSettings::class]] + ]; + } + + /** + * Configuration for People page + * + * @return string + * @throws HttpException + */ + public function actionIndex() + { + $form = new PeopleSettingsForm(); + + if ($form->load(Yii::$app->request->post()) && $form->validate() && $form->save()) { + $this->view->saved(); + return $this->redirect(['/admin/user-people']); + } + + return $this->render('index', [ + 'model' => $form, + ]); + } +} diff --git a/protected/humhub/modules/admin/models/forms/PeopleSettingsForm.php b/protected/humhub/modules/admin/models/forms/PeopleSettingsForm.php new file mode 100644 index 0000000000..0987f055d9 --- /dev/null +++ b/protected/humhub/modules/admin/models/forms/PeopleSettingsForm.php @@ -0,0 +1,139 @@ +detail1 = Yii::$app->settings->get('people.detail1', ''); + $this->detail2 = Yii::$app->settings->get('people.detail2', ''); + $this->detail3 = Yii::$app->settings->get('people.detail3', ''); + $this->defaultSorting = Yii::$app->settings->get('people.defaultSorting', 'lastlogin'); + } + + /** + * @inheritdoc + */ + public function rules() + { + return [ + ['detail1', 'in', 'range' => $this->getDetailKeys()], + ['detail2', 'in', 'range' => $this->getDetailKeys()], + ['detail3', 'in', 'range' => $this->getDetailKeys()], + ['defaultSorting', 'in', 'range' => array_keys(self::getSortingOptions())], + ]; + } + + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'detail1' => Yii::t('AdminModule.user', 'Information 1'), + 'detail2' => Yii::t('AdminModule.user', 'Information 2'), + 'detail3' => Yii::t('AdminModule.user', 'Information 3'), + 'defaultSorting' => Yii::t('AdminModule.user', 'Default Sorting'), + ]; + } + + /** + * Saves the form + * @return boolean + */ + public function save() + { + Yii::$app->settings->set('people.detail1', $this->detail1); + Yii::$app->settings->set('people.detail2', $this->detail2); + Yii::$app->settings->set('people.detail3', $this->detail3); + Yii::$app->settings->set('people.defaultSorting', $this->defaultSorting); + + return true; + } + + public function getDetailOptions(): array + { + if (isset($this->detailOptions)) { + return $this->detailOptions; + } + + $this->detailOptions = ['' => Yii::t('AdminModule.user', 'None')]; + + $profileFields = ProfileField::find() + ->leftJoin('profile_field_category', 'profile_field_category.id = profile_field_category_id') + ->orderBy('profile_field_category.sort_order, profile_field.sort_order') + ->all(); + foreach ($profileFields as $profileField) { + /* @var $profileField ProfileField */ + /* @var $profileFieldCategory ProfileFieldCategory */ + $profileFieldCategory = $profileField->getCategory()->one(); + + if (!isset($this->detailOptions[$profileFieldCategory->title])) { + $this->detailOptions[$profileFieldCategory->title] = []; + } + + $this->detailOptions[$profileFieldCategory->title][$profileField->internal_name] = $profileField->title . ($profileField->visible ? '' : ' (' . Yii::t('AdminModule.user', 'Not visible') . ')'); + } + + return $this->detailOptions; + } + + private function getDetailKeys(): array + { + $keys = []; + $options = self::getDetailOptions(); + + foreach ($options as $key => $option) { + if (is_array($option)) { + $keys = array_merge($keys, array_keys($option)); + } else { + $keys[] = $key; + } + } + + return $keys; + } + + public static function getSortingOptions(): array + { + return [ + 'firstname' => Yii::t('AdminModule.user', 'First name'), + 'lastname' => Yii::t('AdminModule.user', 'Last name'), + 'lastlogin' => Yii::t('AdminModule.user', 'Last login'), + ]; + } + +} diff --git a/protected/humhub/modules/admin/tests/codeception/acceptance/MaintenanceModeCest.php b/protected/humhub/modules/admin/tests/codeception/acceptance/MaintenanceModeCest.php index e6d0a4c987..b65961b3ff 100644 --- a/protected/humhub/modules/admin/tests/codeception/acceptance/MaintenanceModeCest.php +++ b/protected/humhub/modules/admin/tests/codeception/acceptance/MaintenanceModeCest.php @@ -20,7 +20,7 @@ class MaintenanceModeCest $I->amGoingTo('try to login with correct credentials'); $loginPage->login('Admin', 'test'); $I->expectTo('see dashboard'); - $I->waitForText('DIRECTORY'); + $I->waitForText('DASHBOARD'); $I->dontSee('Administration'); } diff --git a/protected/humhub/modules/admin/views/user-people/index.php b/protected/humhub/modules/admin/views/user-people/index.php new file mode 100644 index 0000000000..66bb8399a6 --- /dev/null +++ b/protected/humhub/modules/admin/views/user-people/index.php @@ -0,0 +1,36 @@ + + +
+ +

+
+ +
+ +
+ + + + field($model, 'detail1')->dropDownList($model->getDetailOptions()); ?> + field($model, 'detail2')->dropDownList($model->getDetailOptions()); ?> + field($model, 'detail3')->dropDownList($model->getDetailOptions()); ?> + + field($model, 'defaultSorting')->dropDownList(PeopleSettingsForm::getSortingOptions()); ?> + + submit(); ?> + + +
\ No newline at end of file diff --git a/protected/humhub/modules/admin/widgets/AdminMenu.php b/protected/humhub/modules/admin/widgets/AdminMenu.php index c5f7c2f60b..aa50198c1f 100644 --- a/protected/humhub/modules/admin/widgets/AdminMenu.php +++ b/protected/humhub/modules/admin/widgets/AdminMenu.php @@ -67,7 +67,7 @@ class AdminMenu extends LeftNavigation 'url' => ['/admin/user'], 'icon' => 'user', 'sortOrder' => 200, - 'isActive' => MenuLink::isActiveState('admin', ['user', 'group', 'approval', 'authentication', 'user-profile', 'pending-registrations', 'user-permissions']) || + 'isActive' => MenuLink::isActiveState('admin', ['user', 'group', 'approval', 'authentication', 'user-profile', 'pending-registrations', 'user-permissions', 'user-people']) || MenuLink::isActiveState('ldap', 'admin'), 'isVisible' => Yii::$app->user->can([ ManageUsers::class, diff --git a/protected/humhub/modules/admin/widgets/UserMenu.php b/protected/humhub/modules/admin/widgets/UserMenu.php index 131e1cc486..2607e080b4 100644 --- a/protected/humhub/modules/admin/widgets/UserMenu.php +++ b/protected/humhub/modules/admin/widgets/UserMenu.php @@ -80,6 +80,14 @@ class UserMenu extends TabMenu 'isVisible' => Yii::$app->user->can(ManageGroups::class) ])); + $this->addEntry(new MenuLink([ + 'label' => Yii::t('AdminModule.user', 'People'), + 'url' => ['/admin/user-people'], + 'sortOrder' => 600, + 'isActive' => MenuLink::isActiveState('admin', 'user-people'), + 'isVisible' => Yii::$app->user->can(ManageSettings::class) + ])); + parent::init(); } diff --git a/protected/humhub/modules/content/resources/js/humhub.content.container.js b/protected/humhub/modules/content/resources/js/humhub.content.container.js index 6724934441..52bff384b5 100644 --- a/protected/humhub/modules/content/resources/js/humhub.content.container.js +++ b/protected/humhub/modules/content/resources/js/humhub.content.container.js @@ -36,6 +36,23 @@ humhub.module('content.container', function (module, require, $) { }); }; + var relationship = function(evt) { + var postOptions = {}; + var buttonOptions = evt.$trigger.data('button-options'); + if (buttonOptions) { + postOptions.data = {options: buttonOptions}; + } + client.post(evt, postOptions).then(function(response) { + var oldButton = evt.$trigger; + if (oldButton.closest('.btn-group').length) { + oldButton = oldButton.closest('.btn-group'); + } + oldButton.replaceWith(response.data); + }).catch(function(e) { + module.log.error(e, true); + }); + } + var enableModule = function (evt) { client.post(evt).then(function (response) { if (response.success) { @@ -79,6 +96,7 @@ humhub.module('content.container', function (module, require, $) { module.export({ follow: follow, unfollow: unfollow, + relationship: relationship, unload: unload, guid: guid, enableModule: enableModule, diff --git a/protected/humhub/modules/directory/Module.php b/protected/humhub/modules/directory/Module.php index 45ed849434..ddd2748d5c 100644 --- a/protected/humhub/modules/directory/Module.php +++ b/protected/humhub/modules/directory/Module.php @@ -10,7 +10,6 @@ namespace humhub\modules\directory; use humhub\modules\ui\menu\MenuLink; use Yii; -use yii\helpers\Url; use humhub\modules\user\models\Group; use humhub\modules\directory\permissions\AccessDirectory; @@ -22,6 +21,7 @@ use humhub\modules\directory\permissions\AccessDirectory; * * @package humhub.modules_core.directory * @since 0.5 + * @deprecated since 1.9 but it can be activated temporary by console command `php yii directory/activate` */ class Module extends \humhub\components\Module { @@ -44,7 +44,7 @@ class Module extends \humhub\components\Module /** * @var bool defines if the directory is active, if not the directory is not visible and can't be accessed */ - public $active = true; + public $active = false; /** * @var bool defines if the directory is available for guest users, this flag will only have effect if guest access is allowed and the module is active @@ -56,6 +56,15 @@ class Module extends \humhub\components\Module */ public $showUserProfilePosts = true; + /** + * @inerhitdoc + */ + public function init() + { + parent::init(); + + $this->active = $this->settings->get('isActive', false); + } /** * @return bool checks if the current user can access the directory @@ -101,7 +110,7 @@ class Module extends \humhub\components\Module */ public function getPermissions($contentContainer = null) { - if (!$contentContainer) { + if ($this->active && !$contentContainer) { return [ new AccessDirectory(), ]; diff --git a/protected/humhub/modules/directory/commands/DirectoryController.php b/protected/humhub/modules/directory/commands/DirectoryController.php new file mode 100644 index 0000000000..7e135d670a --- /dev/null +++ b/protected/humhub/modules/directory/commands/DirectoryController.php @@ -0,0 +1,46 @@ +getModuleSettings()->set('isActive', true); + $this->stdout('Module "Directory" is activated.' . "\n\n"); + } + + /** + * Deactivate the deprecated module "Directory" + */ + public function actionDeactivate() + { + $this->getModuleSettings()->delete('isActive'); + $this->stdout('Module "Directory" is deactivated.' . "\n\n"); + } + + protected function getModuleSettings(): SettingsManager + { + /* @var Module $module */ + $module = Yii::$app->getModule('directory'); + return $module->settings; + } +} diff --git a/protected/humhub/modules/directory/config.php b/protected/humhub/modules/directory/config.php index 6f216c311b..3501c4dbf4 100644 --- a/protected/humhub/modules/directory/config.php +++ b/protected/humhub/modules/directory/config.php @@ -7,6 +7,7 @@ return [ 'id' => 'directory', 'class' => Module::class, 'isCoreModule' => true, + 'consoleControllerMap' => ['directory' => 'humhub\modules\directory\commands\DirectoryController'], 'events' => [ ['class' => TopMenu::class, 'event' => TopMenu::EVENT_INIT, 'callback' => [Module::class, 'onTopMenuInit']], ], diff --git a/protected/humhub/modules/friendship/controllers/RequestController.php b/protected/humhub/modules/friendship/controllers/RequestController.php index b122b4b11b..57c00c4896 100644 --- a/protected/humhub/modules/friendship/controllers/RequestController.php +++ b/protected/humhub/modules/friendship/controllers/RequestController.php @@ -11,6 +11,7 @@ namespace humhub\modules\friendship\controllers; use humhub\components\Controller; use humhub\modules\friendship\models\Friendship; use humhub\modules\friendship\Module; +use humhub\modules\friendship\widgets\FriendshipButton; use humhub\modules\user\models\User; use Yii; use yii\web\HttpException; @@ -44,17 +45,11 @@ class RequestController extends Controller */ public function actionAdd() { - $this->forcePostRequest(); - - $friend = User::findOne(['id' => Yii::$app->request->get('userId')]); - - if ($friend === null) { - throw new HttpException(404, 'User not found!'); - } + $friend = $this->getFriendUser(); Friendship::add(Yii::$app->user->getIdentity(), $friend); - return $this->redirect($friend->getUrl()); + return $this->getActionResult($friend); } /** @@ -62,6 +57,21 @@ class RequestController extends Controller * @throws HttpException */ public function actionDelete() + { + $friend = $this->getFriendUser(); + + Friendship::cancel(Yii::$app->user->getIdentity(), $friend); + + return $this->getActionResult($friend); + } + + /** + * Get friend User from request + * + * @return User + * @throws HttpException + */ + protected function getFriendUser(): User { $this->forcePostRequest(); @@ -71,9 +81,26 @@ class RequestController extends Controller throw new HttpException(404, 'User not found!'); } - Friendship::cancel(Yii::$app->user->getIdentity(), $friend); + return $friend; + } - return $this->redirect($friend->getUrl()); + /** + * Get result for the friendship actions + * + * @param User $user + * @return string|\yii\console\Response|\yii\web\Response + * @throws \Exception + */ + protected function getActionResult(User $user) + { + if ($this->request->isAjax) { + return FriendshipButton::widget([ + 'user' => $user, + 'options' => $this->request->post('options', []), + ]); + } + + return $this->redirect($this->request->getReferrer()); } } diff --git a/protected/humhub/modules/friendship/widgets/FriendshipButton.php b/protected/humhub/modules/friendship/widgets/FriendshipButton.php index 350b9a7d49..2243a184ed 100644 --- a/protected/humhub/modules/friendship/widgets/FriendshipButton.php +++ b/protected/humhub/modules/friendship/widgets/FriendshipButton.php @@ -8,8 +8,12 @@ namespace humhub\modules\friendship\widgets; -use Yii; use humhub\modules\friendship\models\Friendship; +use humhub\modules\user\models\User; +use Yii; +use yii\helpers\ArrayHelper; +use yii\helpers\Json; +use yii\helpers\Url; /** * Displays a membership button between the current and given user. @@ -20,10 +24,90 @@ class FriendshipButton extends \yii\base\Widget { /** - * @var User the target user + * @var User the target user */ public $user; + /** + * @var array Options buttons + */ + public $options = []; + + private function getDefaultOptions() + { + return [ + 'friends' => [ + 'title' => '  ' . Yii::t('FriendshipModule.base', 'Friends'), + 'attrs' => [ + 'data-action-click' => 'content.container.relationship', + 'data-action-url' => Url::to(['/friendship/request/delete', 'userId' => $this->user->id]), + 'data-action-confirm' => Yii::t('FriendshipModule.base', 'Would you like to end your friendship with {userName}?', ['{userName}' => '' . $this->user->getDisplayName() . '']), + 'data-button-options' => Json::encode($this->options), + 'data-ui-loader' => '', + 'class' => 'btn btn-info active', + ], + ], + 'addFriend' => [ + 'title' => '  ' . Yii::t('FriendshipModule.base', 'Friends'), + 'attrs' => [ + 'data-action-click' => 'content.container.relationship', + 'data-action-url' => Url::to(['/friendship/request/add', 'userId' => $this->user->id]), + 'data-action-confirm' => Yii::t('FriendshipModule.base', 'Would you like to send a friendship request to {userName}?', ['{userName}' => '' . $this->user->getDisplayName() . '']), + 'data-button-options' => Json::encode($this->options), + 'data-ui-loader' => '', + 'class' => 'btn btn-info', + ], + ], + 'acceptFriendRequest' => [ + 'title' => '  ' . Yii::t('FriendshipModule.base', 'Accept Friend Request'), + 'attrs' => [ + 'data-action-click' => 'content.container.relationship', + 'data-action-url' => Url::to(['/friendship/request/add', 'userId' => $this->user->id]), + 'data-action-confirm' => Yii::t('FriendshipModule.base', 'Would you like to accept the friendship request?'), + 'data-button-options' => Json::encode($this->options), + 'data-ui-loader' => '', + 'class' => 'btn btn-info active', + ], + 'groupClass' => 'btn-group', + 'togglerClass' => 'btn btn-info active', + ], + 'denyFriendRequest' => [ + 'title' => '  ' . Yii::t('FriendshipModule.base', 'Deny friend request'), + 'attrs' => [ + 'data-action-click' => 'content.container.relationship', + 'data-action-url' => Url::to(['/friendship/request/delete', 'userId' => $this->user->id]), + 'data-action-confirm' => Yii::t('FriendshipModule.base', 'Would you like to withdraw the friendship request?'), + 'data-button-options' => Json::encode($this->options), + ], + ], + 'cancelFriendRequest' => [ + 'title' => '  ' . Yii::t('FriendshipModule.base', 'Pending'), + 'attrs' => [ + 'data-action-click' => 'content.container.relationship', + 'data-action-url' => Url::to(['/friendship/request/delete', 'userId' => $this->user->id]), + 'data-action-confirm' => Yii::t('FriendshipModule.base', 'Would you like to withdraw your friendship request?'), + 'data-button-options' => Json::encode($this->options), + 'data-ui-loader' => '', + 'class' => 'btn btn-info active', + ], + ], + ]; + } + + public function setDefaultOptions(array $defaultOptions) + { + $this->options = $this->getOptions($defaultOptions); + } + + public function getOptions(array $defaultOptions = null): array + { + if ($defaultOptions === null) { + $defaultOptions = $this->getDefaultOptions(); + } + + return ArrayHelper::merge($defaultOptions, $this->options); + } + /** * @inheritdoc */ @@ -34,13 +118,14 @@ class FriendshipButton extends \yii\base\Widget } // Do not display a buttton if user is it self or guest - if ($this->user->isCurrentUser() || \Yii::$app->user->isGuest) { + if ($this->user->isCurrentUser() || Yii::$app->user->isGuest) { return; } return $this->render('friendshipButton', [ - 'user' => $this->user, - 'friendshipState' => Friendship::getStateForUser(Yii::$app->user->getIdentity(), $this->user) + 'user' => $this->user, + 'friendshipState' => Friendship::getStateForUser(Yii::$app->user->getIdentity(), $this->user), + 'options' => $this->getOptions(), ]); } diff --git a/protected/humhub/modules/friendship/widgets/views/friendshipButton.php b/protected/humhub/modules/friendship/widgets/views/friendshipButton.php index 4aa467843c..ec1eb4ed35 100644 --- a/protected/humhub/modules/friendship/widgets/views/friendshipButton.php +++ b/protected/humhub/modules/friendship/widgets/views/friendshipButton.php @@ -1,36 +1,29 @@ -
- - -
+ -  ' . Yii::t("FriendshipModule.base", "Add Friend"), Url::to(['/friendship/request/add', 'userId' => $user->id]), ['class' => 'btn btn-info', 'data-method' => 'POST', 'data-ui-loader' => '']); ?> + -
- $user->id]), ['class' => 'btn btn-success', 'data-method' => 'POST', 'data-ui-loader' => '']); ?> -
- $user->id]), ['class' => 'btn btn-danger', 'data-method' => 'POST', 'data-ui-loader' => '']); ?> + diff --git a/protected/humhub/modules/space/Events.php b/protected/humhub/modules/space/Events.php index 591705d742..8dfb7578fa 100644 --- a/protected/humhub/modules/space/Events.php +++ b/protected/humhub/modules/space/Events.php @@ -8,6 +8,8 @@ namespace humhub\modules\space; +use humhub\modules\space\permissions\SpaceDirectoryAccess; +use humhub\modules\ui\menu\MenuLink; use humhub\modules\user\events\UserEvent; use humhub\modules\space\models\Space; use humhub\modules\space\models\Membership; @@ -98,4 +100,29 @@ class Events extends BaseObject } } + /** + * On build of the TopMenu + * + * @param Event $event + */ + public static function onTopMenuInit($event) + { + if (Yii::$app->user->isGuest) { + return; + } + + if (!Yii::$app->user->can(SpaceDirectoryAccess::class)) { + return; + } + + $event->sender->addEntry(new MenuLink([ + 'id' => 'spaces', + 'icon' => 'dot-circle-o', + 'label' => Yii::t('SpaceModule.base', 'Spaces'), + 'url' => ['/space/spaces'], + 'sortOrder' => 250, + 'isActive' => MenuLink::isActiveState('space', 'spaces'), + ])); + } + } diff --git a/protected/humhub/modules/space/Module.php b/protected/humhub/modules/space/Module.php index 4ebb41f1c8..744b50754b 100644 --- a/protected/humhub/modules/space/Module.php +++ b/protected/humhub/modules/space/Module.php @@ -80,6 +80,7 @@ class Module extends \humhub\components\Module } return [ + new permissions\SpaceDirectoryAccess(), new permissions\CreatePrivateSpace(), new permissions\CreatePublicSpace(), ]; diff --git a/protected/humhub/modules/space/components/SpaceDirectoryQuery.php b/protected/humhub/modules/space/components/SpaceDirectoryQuery.php new file mode 100644 index 0000000000..08d131e1e0 --- /dev/null +++ b/protected/humhub/modules/space/components/SpaceDirectoryQuery.php @@ -0,0 +1,136 @@ +visible(); + + $this->filterByKeyword(); + $this->filterByConnection(); + + $this->order(); + + $this->paginate(); + } + + public function filterByKeyword(): SpaceDirectoryQuery + { + $keyword = Yii::$app->request->get('keyword', ''); + + return $this->search($keyword); + } + + public function filterByConnection(): SpaceDirectoryQuery + { + switch (Yii::$app->request->get('connection')) { + case 'member': + return $this->filterByConnectionMember(); + case 'follow': + return $this->filterByConnectionFollow(); + case 'none': + return $this->filterByConnectionNone(); + } + + return $this; + } + + public function filterByConnectionMember(): SpaceDirectoryQuery + { + return $this->innerJoin('space_membership', 'space_membership.space_id = space.id') + ->andWhere(['space_membership.user_id' => Yii::$app->user->id]) + ->andWhere(['space_membership.status' => Membership::STATUS_MEMBER]); + } + + public function filterByConnectionFollow(): SpaceDirectoryQuery + { + return $this->innerJoin('user_follow', 'user_follow.object_model = :spaceClass AND user_follow.object_id = space.id', [':spaceClass' => Space::class]) + ->andWhere(['user_follow.user_id' => Yii::$app->user->id]); + } + + public function filterByConnectionNone(): SpaceDirectoryQuery + { + return $this->andWhere('space.id NOT IN (SELECT space_id FROM space_membership WHERE user_id = :userId AND status = :memberStatus)') + ->andWhere('space.id NOT IN (SELECT object_id FROM user_follow WHERE user_id = :userId AND user_follow.object_model = :spaceClass)') + ->addParams([ + ':userId' => Yii::$app->user->id, + ':memberStatus' => Membership::STATUS_MEMBER, + ':spaceClass' => Space::class, + ]); + } + + public function order(): SpaceDirectoryQuery + { + switch (SpaceDirectoryFilters::getValue('sort')) { + case 'name': + $this->addOrderBy('space.name'); + break; + + case 'newer': + $this->addOrderBy('space.created_at DESC'); + break; + + case 'older': + $this->addOrderBy('space.created_at'); + break; + } + + return $this; + } + + public function paginate(): SpaceDirectoryQuery + { + $countQuery = clone $this; + $this->pagination = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $this->pageSize]); + + return $this->offset($this->pagination->offset)->limit($this->pagination->limit); + } + + public function isLastPage(): bool + { + return $this->pagination->getPage() == $this->pagination->getPageCount() - 1; + } + +} diff --git a/protected/humhub/modules/space/config.php b/protected/humhub/modules/space/config.php index a89cb3f41c..2a08873c36 100644 --- a/protected/humhub/modules/space/config.php +++ b/protected/humhub/modules/space/config.php @@ -4,15 +4,16 @@ use humhub\modules\search\engine\Search; use humhub\modules\user\models\User; use humhub\modules\space\Events; use humhub\modules\space\Module; -use humhub\components\console\Application; use humhub\commands\IntegrityController; +use humhub\widgets\TopMenu; return [ 'id' => 'space', 'class' => Module::class, 'isCoreModule' => true, 'urlManagerRules' => [ - ['class' => 'humhub\modules\space\components\UrlRule'] + ['class' => 'humhub\modules\space\components\UrlRule'], + 'spaces' => 'space/spaces', ], 'modules' => [ 'manage' => [ @@ -26,5 +27,6 @@ return [ [User::class, User::EVENT_BEFORE_SOFT_DELETE, [Events::class, 'onUserSoftDelete']], [Search::class, Search::EVENT_ON_REBUILD, [Events::class, 'onSearchRebuild']], [IntegrityController::class, IntegrityController::EVENT_ON_RUN, [Events::class, 'onIntegrityCheck']], + [TopMenu::class, TopMenu::EVENT_INIT, [Events::class, 'onTopMenuInit']], ], ]; diff --git a/protected/humhub/modules/space/controllers/MembershipController.php b/protected/humhub/modules/space/controllers/MembershipController.php index 97f68f17b5..8e6ddbdda8 100644 --- a/protected/humhub/modules/space/controllers/MembershipController.php +++ b/protected/humhub/modules/space/controllers/MembershipController.php @@ -18,10 +18,12 @@ use humhub\modules\space\models\forms\RequestMembershipForm; use humhub\modules\space\models\Membership; use humhub\modules\space\models\Space; use humhub\modules\space\permissions\InviteUsers; +use humhub\modules\space\widgets\MembershipButton; use humhub\modules\user\models\UserPicker; use humhub\modules\user\widgets\UserListBox; use humhub\widgets\ModalClose; use Yii; +use yii\helpers\Json; use yii\web\HttpException; /** @@ -94,7 +96,7 @@ class MembershipController extends ContentContainerController $space->addMember(Yii::$app->user->id); - return $this->htmlRedirect($space->getUrl()); + return $this->getActionResult($space); } /** @@ -116,9 +118,18 @@ class MembershipController extends ContentContainerController if ($model->load(Yii::$app->request->post()) && $model->validate()) { $space->requestMembership(Yii::$app->user->id, $model->message); - return $this->renderAjax('requestMembershipSave', ['space' => $space]); + + return $this->renderAjax('requestMembershipSave', [ + 'spaceId' => $space->id, + 'newMembershipButton' => MembershipButton::widget([ + 'space' => $space, + 'options' => empty($model->options) ? [] : Json::decode($model->options) + ]), + ]); } + $model->options = $this->request->get('options'); + return $this->renderAjax('requestMembership', ['model' => $model, 'space' => $space]); } @@ -160,7 +171,7 @@ class MembershipController extends ContentContainerController $space->removeMember(); - return $this->goHome(); + return $this->getActionResult($space); } /** @@ -225,7 +236,7 @@ class MembershipController extends ContentContainerController $space->addMember(Yii::$app->user->id); } - return $this->redirect($space->getUrl()); + return $this->getActionResult($space); } /** @@ -256,4 +267,23 @@ class MembershipController extends ContentContainerController ])); } + /** + * Get result for the membership actions + * + * @param Space $space + * @return string|\yii\console\Response|\yii\web\Response + * @throws \Exception + */ + protected function getActionResult(Space $space) + { + if ($this->request->isAjax) { + return MembershipButton::widget([ + 'space' => $space, + 'options' => $this->request->post('options', []), + ]); + } + + return $this->redirect($this->request->getReferrer()); + } + } diff --git a/protected/humhub/modules/space/controllers/SpacesController.php b/protected/humhub/modules/space/controllers/SpacesController.php new file mode 100644 index 0000000000..5ea5cccb44 --- /dev/null +++ b/protected/humhub/modules/space/controllers/SpacesController.php @@ -0,0 +1,88 @@ +setActionTitles([ + 'index' => Yii::t('SpaceModule.base', 'Spaces'), + ]); + + parent::init(); + } + + /** + * @inheritdoc + */ + public function getAccessRules() + { + return [ + [ControllerAccess::RULE_LOGGED_IN_ONLY], + ['permissions' => [SpaceDirectoryAccess::class]], + ]; + } + + /** + * Action to display spaces page + */ + public function actionIndex() + { + $spaceDirectoryQuery = new SpaceDirectoryQuery(); + + $urlParams = Yii::$app->request->getQueryParams(); + unset($urlParams['page']); + array_unshift($urlParams, '/space/spaces/load-more'); + $this->getView()->registerJsConfig('directory', [ + 'loadMoreUrl' => Url::to($urlParams), + ]); + + return $this->render('index', [ + 'spaces' => $spaceDirectoryQuery, + ]); + } + + /** + * Action to load cards for next page by AJAX + */ + public function actionLoadMore() + { + $spaceQuery = new SpaceDirectoryQuery(); + + $spaceCards = ''; + foreach ($spaceQuery->all() as $space) { + $spaceCards .= SpaceDirectoryCard::widget(['space' => $space]); + } + + return $spaceCards; + } + +} \ No newline at end of file diff --git a/protected/humhub/modules/space/models/forms/RequestMembershipForm.php b/protected/humhub/modules/space/models/forms/RequestMembershipForm.php index acf521a607..1708983156 100644 --- a/protected/humhub/modules/space/models/forms/RequestMembershipForm.php +++ b/protected/humhub/modules/space/models/forms/RequestMembershipForm.php @@ -15,6 +15,7 @@ class RequestMembershipForm extends Model public $space_id; public $message; + public $options; /** * Declares the validation rules. @@ -22,7 +23,8 @@ class RequestMembershipForm extends Model public function rules() { return [ - ['message', 'required'] + ['message', 'required'], + ['options', 'safe'], ]; } diff --git a/protected/humhub/modules/space/permissions/SpaceDirectoryAccess.php b/protected/humhub/modules/space/permissions/SpaceDirectoryAccess.php new file mode 100644 index 0000000000..c0a5cf5a07 --- /dev/null +++ b/protected/humhub/modules/space/permissions/SpaceDirectoryAccess.php @@ -0,0 +1,40 @@ +amUser1(); $I->amOnSpace1(); - $I->seeElement('#requestMembershipButton'); - $I->click('#requestMembershipButton'); + $I->seeElement('[data-space-request-membership]'); + $I->click('[data-space-request-membership]'); $I->waitForText('Request space membership', null,'#globalModal'); $I->fillField('#request-message', 'Hi, I want to join this space.'); @@ -57,8 +57,8 @@ class RequestMembershipCest $I->amUser1(); $I->amOnSpace1(); - $I->seeElement('#requestMembershipButton'); - $I->click('#requestMembershipButton'); + $I->seeElement('[data-space-request-membership]'); + $I->click('[data-space-request-membership]'); $I->waitForText('Request space membership', null,'#globalModal'); $I->fillField('#request-message', 'Hi, I want to join this space.'); @@ -90,7 +90,7 @@ class RequestMembershipCest $I->amUser1(true); $I->seeInNotifications('Admin Tester declined your membership request for the space Space 1', true); - $I->waitForElementVisible('#requestMembershipButton'); + $I->waitForElementVisible('[data-space-request-membership]'); } /** @@ -103,8 +103,8 @@ class RequestMembershipCest $I->amUser1(); $I->amOnSpace1(); - $I->seeElement('#requestMembershipButton'); - $I->click('#requestMembershipButton'); + $I->seeElement('[data-space-request-membership]'); + $I->click('[data-space-request-membership]'); $I->waitForText('Request space membership', null,'#globalModal'); $I->fillField('#request-message', 'Hi, I want to join this space.'); @@ -116,7 +116,7 @@ class RequestMembershipCest $I->click('Cancel pending membership application'); $I->waitForText('Admin Space 2 Post Private', null,'#wallStream'); // Back to dashboard $I->amOnSpace1(); - $I->waitForText('Request membership', null,'#requestMembershipButton'); + $I->waitForText('Request membership', null,'[data-space-request-membership]'); $I->amAdmin(true); $I->dontSeeInNotifications('Peter Tester requests membership for the space Space 1'); diff --git a/protected/humhub/modules/space/views/membership/requestMembership.php b/protected/humhub/modules/space/views/membership/requestMembership.php index 06b1c11685..c3dbf67793 100644 --- a/protected/humhub/modules/space/views/membership/requestMembership.php +++ b/protected/humhub/modules/space/views/membership/requestMembership.php @@ -2,10 +2,16 @@ use humhub\compat\CActiveForm; use humhub\libs\Html; +use humhub\modules\space\models\forms\RequestMembershipForm; +use humhub\modules\space\models\Space; + +/* @var $space Space */ +/* @var $model RequestMembershipForm */ ?> '; + + /** + * @inheritdoc + */ + public function run() + { + $card = $this->render('peopleCard', [ + 'user' => $this->user + ]); + + return str_replace('{card}', $card, $this->template); + } + + public static function config($name): string + { + $peopleSettingsForm = new PeopleSettingsForm(); + + return isset($peopleSettingsForm->$name) ? $peopleSettingsForm->$name : ''; + } + +} diff --git a/protected/humhub/modules/user/widgets/PeopleDetails.php b/protected/humhub/modules/user/widgets/PeopleDetails.php new file mode 100644 index 0000000000..14bc983418 --- /dev/null +++ b/protected/humhub/modules/user/widgets/PeopleDetails.php @@ -0,0 +1,82 @@ +'; + + /** + * @var string Template for lines + */ + public $template = '{lines}'; + + /** + * @inheritdoc + */ + public function run() + { + $lines = []; + + for ($i = 1; $i <= 3; $i++) { + if ($profileField = $this->getProfileFieldValue(PeopleCard::config('detail' . $i))) { + $lines[] = $profileField; + } + } + + if (empty($lines)) { + return ''; + } + + return str_replace('{lines}', implode($this->separator, $lines), $this->template); + } + + /** + * Get user profile field value by internal name + * + * @param string $internalName + * @return false|string + */ + private function getProfileFieldValue(string $internalName) + { + if (empty($internalName)) { + return false; + } + + $profileField = ProfileField::find() + ->where(['visible' => 1]) + ->andWhere(['internal_name' => $internalName]) + ->one(); + + if (!$profileField) { + return false; + } + + return $profileField->getUserValue($this->user, false); + } + +} diff --git a/protected/humhub/modules/user/widgets/PeopleFilters.php b/protected/humhub/modules/user/widgets/PeopleFilters.php new file mode 100644 index 0000000000..46e13a008c --- /dev/null +++ b/protected/humhub/modules/user/widgets/PeopleFilters.php @@ -0,0 +1,136 @@ +addFilter('keyword', [ + 'title' => Yii::t('UserModule.base', 'Find people by their profile data or user tags'), + 'placeholder' => Yii::t('UserModule.base', 'Search...'), + 'type' => 'input', + 'wrapperClass' => 'col-md-6 form-search-filter-keyword', + 'afterInput' => Html::submitButton('', ['class' => 'form-button-search']), + 'sortOrder' => 100, + ]); + + // Group + $groupOptions = []; + $groups = Group::findAll(['show_at_directory' => 1]); + if ($groups) { + $groupOptions[''] = Yii::t('UserModule.base', 'Any'); + foreach ($groups as $group) { + $groupOptions[$group->id] = $group->name; + } + + $this->addFilter('groupId', [ + 'title' => Yii::t('UserModule.base', 'User Group'), + 'type' => 'dropdown', + 'options' => $groupOptions, + 'sortOrder' => 200, + ]); + } + + // Sorting + $this->addFilter('sort', [ + 'title' => Yii::t('SpaceModule.base', 'Sorting'), + 'type' => 'dropdown', + 'options' => PeopleSettingsForm::getSortingOptions(), + 'sortOrder' => 300, + ]); + + // Connection + $connectionOptions = [ + '' => Yii::t('UserModule.base', 'All'), + 'followers' => Yii::t('UserModule.base', 'Followers'), + 'following' => Yii::t('UserModule.base', 'Following'), + ]; + if (Yii::$app->getModule('friendship')->settings->get('enable')) { + $connectionOptions['friends'] = Yii::t('UserModule.base', 'Friends'); + $connectionOptions['pending_friends'] = Yii::t('UserModule.base', 'Pending Requests'); + } + $this->addFilter('connection', [ + 'title' => Yii::t('SpaceModule.base', 'Status'), + 'type' => 'dropdown', + 'options' => $connectionOptions, + 'sortOrder' => 400, + ]); + + // Profile fields + $profileFields = ProfileField::findAll(['directory_filter' => 1]); + $profileFieldSortOrder = 1000; + foreach ($profileFields as $profileField) { + $this->initProfileFieldFilter($profileField, $profileFieldSortOrder); + $profileFieldSortOrder += 100; + } + } + + private function initProfileFieldFilter(ProfileField $profileField, $sortOrder = 1000) + { + $profileFieldType = $profileField->getFieldType(); + + if (!$profileFieldType) { + return; + } + + $definition = $profileFieldType->getFieldFormDefinition(); + $fieldType = isset($definition[$profileField->internal_name]['type']) ? $definition[$profileField->internal_name]['type'] : null; + + $filterData = [ + 'title' => Yii::t($profileField->getTranslationCategory(), $profileField->title), + 'type' => $fieldType, + 'sortOrder' => $sortOrder, + ]; + + switch ($fieldType) { + case 'text': + break; + + case 'dropdownlist': + $filterData['options'] = array_merge(['' => Yii::t('UserModule.base', 'Any')], $definition[$profileField->internal_name]['items']); + break; + + default: + // Skip not supported type + return; + } + + $this->addFilter('fields[' . $profileField->internal_name . ']', $filterData); + } + + public static function getDefaultValue(string $filter): string + { + switch ($filter) { + case 'sort': + return PeopleCard::config('defaultSorting'); + } + + return ''; + } + +} diff --git a/protected/humhub/modules/user/widgets/PeopleIcons.php b/protected/humhub/modules/user/widgets/PeopleIcons.php new file mode 100644 index 0000000000..0381445d90 --- /dev/null +++ b/protected/humhub/modules/user/widgets/PeopleIcons.php @@ -0,0 +1,37 @@ +render('peopleIcons', [ + 'user' => $this->user + ]); + } + +} diff --git a/protected/humhub/modules/user/widgets/PeopleTagList.php b/protected/humhub/modules/user/widgets/PeopleTagList.php new file mode 100644 index 0000000000..e5767d5396 --- /dev/null +++ b/protected/humhub/modules/user/widgets/PeopleTagList.php @@ -0,0 +1,74 @@ +user->getTags(); + + $count = count($tags); + + if ($count === 0) { + return $html; + } + + if ($count > $this->maxTags) { + $tags = array_slice($tags, 0, $this->maxTags); + } + + if (empty($tags)) { + return $html; + } + + foreach ($tags as $tag) { + if (trim($tag) !== '') { + $html .= Html::a(Html::encode($tag), Url::to(['/user/people', 'keyword' => trim($tag)]), ['class' => 'label label-default']) . ' '; + } + } + + if ($html === '') { + return $html; + } + + return str_replace('{tags}', $html, $this->template); + } + +} diff --git a/protected/humhub/modules/user/widgets/UserFollowButton.php b/protected/humhub/modules/user/widgets/UserFollowButton.php index 62bc1c8bd9..8a1ba3a022 100644 --- a/protected/humhub/modules/user/widgets/UserFollowButton.php +++ b/protected/humhub/modules/user/widgets/UserFollowButton.php @@ -44,7 +44,7 @@ class UserFollowButton extends \yii\base\Widget /** * @var array options for unfollow button */ - public $unfollowOptions = ['class' => 'btn btn-info']; + public $unfollowOptions = ['class' => 'btn btn-primary active']; /** * @inheritdoc @@ -52,10 +52,10 @@ class UserFollowButton extends \yii\base\Widget public function init() { if ($this->followLabel === null) { - $this->followLabel = Yii::t("UserModule.base", "Follow"); + $this->followLabel = Yii::t('UserModule.base', 'Follow'); } if ($this->unfollowLabel === null) { - $this->unfollowLabel = Yii::t("UserModule.base", "Unfollow"); + $this->unfollowLabel = '  ' . Yii::t('UserModule.base', 'Following'); } if (!isset($this->followOptions['class'])) { @@ -111,6 +111,11 @@ class UserFollowButton extends \yii\base\Widget $this->followOptions['data-ui-loader'] = ''; $this->unfollowOptions['data-ui-loader'] = ''; + // Confirm action "Unfollow" + $this->unfollowOptions['data-action-confirm'] = Yii::t('SpaceModule.base', 'Would you like to unfollow {userName}?', [ + '{userName}' => '' . $this->user->getDisplayName() . '' + ]); + $module = Yii::$app->getModule('user'); // still enable unfollow if following was disabled afterwards. diff --git a/protected/humhub/modules/user/widgets/views/peopleCard.php b/protected/humhub/modules/user/widgets/views/peopleCard.php new file mode 100644 index 0000000000..9d9feeabd1 --- /dev/null +++ b/protected/humhub/modules/user/widgets/views/peopleCard.php @@ -0,0 +1,53 @@ + + +
+
getProfileBannerImage()->hasImage()) : ?> style="background-image: url('getProfileBannerImage()->getUrl() ?>')">
+
+ $user, + 'htmlOptions' => ['class' => 'card-image-wrapper'], + 'linkOptions' => ['data-contentcontainer-id' => $user->contentcontainer_id, 'class' => 'card-image-link'], + 'width' => 94, + ]); ?> + + $user]); ?> +
*/ ?> +
+
+ + profile->title) !== '') : ?> +
profile->title); ?>
+ + $user, + 'template' => '
{lines}
', + 'separator' => '
', + ]); ?> + $user, + 'template' => '
{tags}
', + ]); ?> +
+ $user, + 'template' => '', + ]); ?> + \ No newline at end of file diff --git a/protected/humhub/modules/user/widgets/views/peopleIcons.php b/protected/humhub/modules/user/widgets/views/peopleIcons.php new file mode 100644 index 0000000000..a6f1c86345 --- /dev/null +++ b/protected/humhub/modules/user/widgets/views/peopleIcons.php @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/protected/humhub/tests/codeception/_pages/DirectoryMemberPage.php b/protected/humhub/tests/codeception/_pages/DirectoryMemberPage.php index 37ff95a711..5c212a010a 100644 --- a/protected/humhub/tests/codeception/_pages/DirectoryMemberPage.php +++ b/protected/humhub/tests/codeception/_pages/DirectoryMemberPage.php @@ -11,6 +11,6 @@ use tests\codeception\_support\BasePage; class DirectoryMemberPage extends BasePage { - public $route = 'directory/directory/members'; + public $route = 'user/people'; } diff --git a/protected/humhub/tests/codeception/_pages/DirectoryPage.php b/protected/humhub/tests/codeception/_pages/DirectoryPage.php index b4fca06ce1..11022fa85e 100644 --- a/protected/humhub/tests/codeception/_pages/DirectoryPage.php +++ b/protected/humhub/tests/codeception/_pages/DirectoryPage.php @@ -11,11 +11,10 @@ use tests\codeception\_support\BasePage; class DirectoryPage extends BasePage { - public $route = 'directory/directory'; - + public $route = 'user/people'; + public function clickMembers() { - $this->actor->click('Members'); if($this->actor instanceof \AcceptanceTester) { $this->actor->waitForText('Member directory', 30); } diff --git a/protected/humhub/widgets/AjaxButton.php b/protected/humhub/widgets/AjaxButton.php index e824fdfc99..e470a69d3e 100644 --- a/protected/humhub/widgets/AjaxButton.php +++ b/protected/humhub/widgets/AjaxButton.php @@ -68,7 +68,7 @@ class AjaxButton extends Widget $return = 'return false'; } - $this->view->registerJs("$('#{$this->htmlOptions['id']}').click(function() { + $this->view->registerJs("$('#{$this->htmlOptions['id']}').click(function(evt) { $.ajax(" . Json::encode($this->ajaxOptions) . "); {$return}; });"); diff --git a/static/js/humhub/humhub.directory.js b/static/js/humhub/humhub.directory.js new file mode 100644 index 0000000000..6af01a7046 --- /dev/null +++ b/static/js/humhub/humhub.directory.js @@ -0,0 +1,63 @@ +humhub.module('directory', function(module, require, $) { + const client = require('client'); + const loader = require('ui.loader'); + + const applyFilters = function(evt) { + $(evt.$trigger).closest('form').submit(); + } + + const loadMore = function(evt) { + const urlParams = {page: $(evt.$trigger).data('current-page') + 1}; + + client.get(module.config.loadMoreUrl, {data: urlParams}).then(function (response) { + $('.container-directory .card:hidden').show(); + $('.container-directory .cards').append(response.response); + if (urlParams.page == $(evt.$trigger).data('total-pages')) { + // Remove button "Load more" because the last page was loaded + $(evt.$trigger).parent().remove(); + } else { + $(evt.$trigger).data('current-page', urlParams.page); + hideLastNotCompletedRow(); + } + }).catch(function(err) { + module.log.error(err, true); + reject(); + }).finally(function() { + loader.reset(evt.$trigger); + }); + } + + const hideLastNotCompletedRow = function() { + const cardsNum = $('.container-directory .card').length; + if (!cardsNum) { + return; + } + + const loadMoreButton = $('.directory-load-more button'); + if (loadMoreButton.data('current-page') === loadMoreButton.data('total-pages')) { + // No reason to hide a not completed row if current page is last + return; + } + + // Display button to load more cards + loadMoreButton.parent().show(); + + const cardsPerRow = Math.floor($('.container-directory .row').outerWidth() / $('.container-directory .card:first').width()); + const hideLastCardsNum = cardsNum % cardsPerRow; + if (hideLastCardsNum > 0 && cardsNum > cardsPerRow) { + // Hide cards from not completed row + $('.container-directory .card').slice(-hideLastCardsNum).hide(); + } + } + + const init = function() { + hideLastNotCompletedRow(); + $('input.form-search-filter[name=keyword]').focus(); + } + + module.export({ + init, + applyFilters, + loadMore, + }); +}); diff --git a/static/js/humhub/humhub.ui.additions.js b/static/js/humhub/humhub.ui.additions.js index b796edb4dc..b4737fe377 100644 --- a/static/js/humhub/humhub.ui.additions.js +++ b/static/js/humhub/humhub.ui.additions.js @@ -399,7 +399,11 @@ humhub.module('ui.additions', function (module, require, $) { /** * @deprecated since v1.2 */ -function setModalLoader() { - $(".modal-footer .btn").hide(); - $(".modal-footer .loader").removeClass("hidden"); -} +function setModalLoader(evt) { + var modalFooter = $('.modal-footer'); + if (typeof evt === 'object') { + modalFooter = $(evt.target).closest('.modal-footer'); + } + modalFooter.find('.btn').hide(); + modalFooter.find('.loader').removeClass('hidden'); +} \ No newline at end of file diff --git a/static/less/button.less b/static/less/button.less index b61fe43fa9..1bf4969f91 100644 --- a/static/less/button.less +++ b/static/less/button.less @@ -85,7 +85,20 @@ &:active, &.active { outline: 0; - background: darken(@primary, 5%) !important; + border: 1px solid @primary; + padding: 7px 15px; + color: @primary !important; + background: @text-color-contrast !important; + box-shadow: none; + &.btn-sm { + padding: 3px 7px; + } + } + + &.active:hover, + &.active:focus { + border: 1px solid darken(@primary, 5%); + color: darken(@primary, 5%) !important; } } @@ -117,7 +130,20 @@ &:active, &.active { outline: 0; - background: darken(@info, 5%); + border: 1px solid @info; + padding: 7px 15px; + color: @info !important; + background: @text-color-contrast !important; + box-shadow: none; + &.btn-sm { + padding: 3px 7px; + } + } + + &.active:hover, + &.active:focus { + border: 1px solid darken(@info, 5%); + color: darken(@info, 5%) !important; } } diff --git a/static/less/directory.less b/static/less/directory.less new file mode 100644 index 0000000000..584dd6a4d2 --- /dev/null +++ b/static/less/directory.less @@ -0,0 +1,184 @@ +.container-directory { + &.container-fluid { + @media (min-width: 500px) { + .card { + width: 50%; + } + } + @media (min-width: 1000px) { + .card { + width: 33.33333333%; + } + } + @media (min-width: 1300px) { + .card { + width: 25%; + } + } + @media (min-width: 1600px) { + .card { + width: 20%; + } + } + @media (min-width: 1900px) { + .card { + width: 16.66666667%; + } + } + } + + .form-search { + .row > div { + padding-bottom: 3px; + } + .form-search-filter-keyword { + position: relative; + .form-button-search { + position: absolute; + right: 18px; + margin-bottom: 3px; + } + } + .form-control.form-search-filter { + width: 100%; + height: 40px; + margin: 3px 0 0; + padding: 8px 30px 10px 8px; + border-radius: 4px; + border: solid 1px #c5c5c5; + } + .form-button-search { + background: none; + border: 0; + font-size: 16px; + color: #000; + top: initial; + bottom: 9px; + } + .form-search-field-info { + font-size: 80%; + } + } + .form-search-reset { + text-decoration: underline; + display: block; + margin-top: 26px; + &:hover { + text-decoration: none; + } + } + + .cards { + display: flex; + flex-direction: row; + flex-wrap: wrap; + } + + .card { + display: flex; + flex-direction: row; + + .card-panel { + position: relative; + width: 100%; + display: flex; + flex-direction: column; + margin: 15px 0; + border-radius: 4px; + background-color: #ffffff; + } + + .card-icons .fa { + color: #21a1b3; + span { + font: 12px 'Open Sans', sans-serif; + font-weight: 600; + } + } + + .card-bg-image { + width: 100%; + height: 86px; + background-color: #cfcfcf; + background-size: cover; + background-position: center; + border-radius: 4px 4px 0 0; + } + .card-header { + position: absolute; + padding: 16px; + display: table; + width: 100%; + .card-image-wrapper { + display: table-cell; + width: 98px; + } + .card-image-link { + display: inline-block; + border: 2px solid #fff; + border-radius: 6px; + } + .card-icons { + display: table-cell; + padding: 0 0 2px 5px; + text-align: right; + vertical-align: bottom; + font-size: 16px; + .fa { + color: #21a1b3; + &.fa-mobile-phone { + font-size: 22px; + line-height: 15px; + position: relative; + top: 2px; + } + } + } + } + .card-body { + flex-grow: 1; + padding: 44px 16px 24px 16px; + overflow: auto; + .card-title { + font-size: 16px; + font-weight: bold; + line-height: 24px; + } + .card-details { + margin-top: 8px; + color: #57646c; + a { + color: #21a1b3; + text-decoration: underline; + &:hover { + text-decoration: none; + } + } + } + .card-tags { + margin-top: 20px; + } + } + .card-footer { + padding: 0 16px 20px; + a.btn { + float: left; + margin: 0 8px 4px 0; + white-space: normal; + hyphens: none; + &:last-child { + margin-right: 0; + } + } + .btn-group a.btn { + margin-right: 0; + } + } + } + + .directory-load-more { + display: none; + text-align: center; + padding: 12px 0 15px; + } +} \ No newline at end of file diff --git a/static/less/humhub.less b/static/less/humhub.less index f5623e028f..0b35315eb0 100644 --- a/static/less/humhub.less +++ b/static/less/humhub.less @@ -204,6 +204,11 @@ @import "print.less"; } +@prev-directory: false; +& when not(@prev-directory) { + @import "directory.less"; +} + @import "../css/select2Theme/build.less"; // LEGACY/DEPRECATED User- & Space picker diff --git a/themes/HumHub/css/theme.css b/themes/HumHub/css/theme.css index 980aa96740..72cafe1b96 100644 --- a/themes/HumHub/css/theme.css +++ b/themes/HumHub/css/theme.css @@ -1 +1 @@ -.colorDefault{color:#f3f3f3}.backgroundDefault{background:#f3f3f3}.borderDefault{border-color:#f3f3f3}.colorPrimary{color:#435f6f !important}.backgroundPrimary{background:#435f6f !important}.borderPrimary{border-color:#435f6f !important}.colorInfo{color:#21A1B3 !important}.backgroundInfo{background:#21A1B3 !important}.borderInfo{border-color:#21A1B3 !important}.colorLink{color:#21A1B3 !important}.colorSuccess{color:#97d271 !important}.backgroundSuccess{background:#97d271 !important}.borderSuccess{border-color:#97d271 !important}.colorWarning{color:#f8b763 !important}.backgroundWarning{background:#f8b763 !important}.borderWarning{border-color:#f8b763 !important}.colorDanger{color:#FC4A64 !important}.backgroundDanger{background:#FC4A64 !important}.borderDanger{border-color:#FC4A64 !important}.colorFont1{color:#bac2c7 !important}.colorFont2{color:#7a7a7a !important}.colorFont3{color:#000 !important}.colorFont4{color:#555555 !important}.colorFont5{color:#aeaeae !important}.heading{font-size:16px;font-weight:300;color:#000;background-color:white;border:none;padding:10px}.text-center{text-align:center !important}.text-break{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.img-rounded{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;padding-top:130px;background-color:#ededed;color:#555;font-family:'Open Sans',sans-serif}body a,body a:hover,body a:focus,body a:active,body a.active{color:#000;text-decoration:none}a:hover{text-decoration:none}hr{margin-top:10px;margin-bottom:10px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{position:inherit}.layout-content-container{padding:0 10px 0 15px}.layout-nav-container{padding:0 0 0 15px}.layout-sidebar-container{padding:0 15px 0 5px}@media (max-width:768px){.layout-nav-container .left-navigation{margin-bottom:0}.layout-nav-container,.layout-content-container{padding:0 15px}}h4{font-weight:300;font-size:150%}input[type=text],input[type=password],input[type=select]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.powered,.powered a{color:#b8c7d3 !important}.langSwitcher{display:inline-block}[data-ui-show-more]{overflow:hidden}@media (min-width:768px) and (max-width:991px){.layout-nav-container,.layout-content-container{color:#123456;padding:0 15px}body{padding-top:120px}}@media print{#topbar-first,#topbar-second{display:none}}span.likeLinkContainer .like.disabled,span.likeLinkContainer .unlike.disabled{pointer-events:none;cursor:default;text-decoration:none;color:lightgrey}.panel-body a[data-toggle],.modal-body a[data-toggle]{color:#21A1B3}.showMore{font-size:13px}.table-responsive{word-wrap:normal;overflow-wrap:normal;word-break:normal;-moz-hyphens:none;hyphens:none}.topbar{position:fixed;display:block;height:50px;width:100%;padding-left:15px;padding-right:15px}.topbar ul.nav{float:left}.topbar ul.nav>li{float:left}.topbar ul.nav>li>a{padding-top:15px;padding-bottom:15px;line-height:20px}.topbar .dropdown-footer{margin:10px}.topbar .dropdown-header{font-size:16px;padding:3px 10px;margin-bottom:10px;font-weight:300;color:#555555}.topbar .dropdown-header .dropdown-header-link{position:absolute;top:2px;right:10px}.topbar .dropdown-header .dropdown-header-link a{color:#21A1B3 !important;font-size:12px;font-weight:normal}.topbar .dropdown-header:hover{color:#555555}#topbar-first{background-color:#435f6f;top:0;z-index:1030;color:white}#topbar-first a.navbar-brand{height:50px;padding:5px}#topbar-first a.navbar-brand img#img-logo{max-height:40px}#topbar-first a.navbar-brand-text{padding-top:15px}#topbar-first .nav>li>a:hover,#topbar-first .nav>.open>a{background-color:#567a8f}#topbar-first .nav>.account{height:50px;margin-left:20px}#topbar-first .nav>.account img{margin-left:10px}#topbar-first .nav>.account .dropdown-toggle{padding:10px 5px 8px;line-height:1.1em;text-align:left}#topbar-first .nav>.account .dropdown-toggle span{font-size:12px}#topbar-first .topbar-brand{position:relative;z-index:2}#topbar-first .topbar-actions{position:relative;z-index:3}#topbar-first .notifications{position:absolute;left:0;right:0;text-align:center;z-index:1}#topbar-first .notifications .btn-group{position:relative;text-align:left}#topbar-first .notifications .btn-group>a{padding:5px 10px;margin:10px 2px;display:inline-block;border-radius:2px;text-decoration:none;text-align:left}#topbar-first .notifications .btn-group>.label{position:absolute;top:4px;right:-2px}#topbar-first .notifications .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px;content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff;z-index:1035}#topbar-first .notifications .arrow{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;z-index:1001;border-width:11px;left:50%;margin-left:-18px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.15);top:-19px;z-index:1035}#topbar-first .notifications .dropdown-menu{width:350px;margin-left:-148px}#topbar-first .notifications .dropdown-menu ul.media-list{max-height:400px;overflow:auto}#topbar-first .notifications .dropdown-menu li{position:relative}#topbar-first .notifications .dropdown-menu li i.approval{position:absolute;left:2px;top:36px;font-size:14px}#topbar-first .notifications .dropdown-menu li i.accepted{color:#5cb85c}#topbar-first .notifications .dropdown-menu li i.declined{color:#d9534f}#topbar-first .notifications .dropdown-menu li .media{position:relative}#topbar-first .notifications .dropdown-menu li .media .img-space{position:absolute;top:14px;left:14px}#topbar-first .dropdown-footer{margin:10px 10px 5px}#topbar-first a{color:white}#topbar-first .caret{border-top-color:#fff}#topbar-first .btn-group>a{background-color:#4d6d7f}#topbar-first .btn-enter{background-color:#4d6d7f;margin:6px 0}#topbar-first .btn-enter:hover{background-color:#527588}#topbar-first .media-list a{color:#000;padding:0}#topbar-first .media-list li{color:#000}#topbar-first .media-list li i.accepted{color:#21A1B3 !important}#topbar-first .media-list li i.declined{color:#FC4A64 !important}#topbar-first .media-list li.placeholder{border-bottom:none}#topbar-first .media-list .media .media-body .label{padding:.1em .5em}#topbar-first .account .user-title{text-align:right}#topbar-first .account .user-title span{color:#d7d7d7}#topbar-first .dropdown.account>a,#topbar-first .dropdown.account.open>a,#topbar-first .dropdown.account>a:hover,#topbar-first .dropdown.account.open>a:hover{background-color:#435f6f}#topbar-second{top:50px;background-color:#fff;z-index:1029;background-image:none;-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1);border-bottom:1px solid #d4d4d4}#topbar-second .dropdown-menu{padding-top:0;padding-bottom:0}#topbar-second .dropdown-menu .divider{margin:0}#topbar-second #space-menu-dropdown,#topbar-second #search-menu-dropdown{width:400px}#topbar-second #space-menu-dropdown .media-list,#topbar-second #search-menu-dropdown .media-list{max-height:400px;overflow:auto}@media screen and (max-width:768px){#topbar-second #space-menu-dropdown .media-list,#topbar-second #search-menu-dropdown .media-list{max-height:200px}}#topbar-second #space-menu-dropdown form,#topbar-second #search-menu-dropdown form{margin:10px}#topbar-second #space-menu-dropdown .search-reset,#topbar-second #search-menu-dropdown .search-reset{position:absolute;color:#BFBFBF;margin:7px;top:0px;right:40px;z-index:10;display:none;cursor:pointer}#topbar-second .nav>li>a{padding:7px 13px 0;text-decoration:none;text-shadow:none;font-weight:600;font-size:10px;min-height:50px;text-transform:uppercase;text-align:center}#topbar-second .nav>li>a:hover,#topbar-second .nav>li>a:active,#topbar-second .nav>li>a:focus{border-bottom:3px solid #21A1B3;background-color:#f7f7f7;color:#000;text-decoration:none}#topbar-second .nav>li>a i{font-size:14px}#topbar-second .nav>li>a .caret{border-top-color:#7a7a7a}#topbar-second .nav>li.active>a{min-height:47px}#topbar-second .nav>li>ul>li>a{border-left:3px solid #fff;background-color:#fff;color:#000}#topbar-second .nav>li>ul>li>a:hover,#topbar-second .nav>li>ul>li>a.active{border-left:3px solid #21A1B3;background-color:#f7f7f7;color:#000}#topbar-second .nav>li>a#space-menu{padding-right:13px;border-right:1px solid #ededed}#topbar-second .nav>li>a#search-menu{padding-top:15px}#topbar-second .nav>li>a:hover,#topbar-second .nav>li.active{border-bottom:3px solid #21A1B3;background-color:#f7f7f7;color:#000}#topbar-second .nav>li.active>a:hover,#topbar-second .nav>li.active>a:focus{border-bottom:none}#topbar-second #space-menu-dropdown li>ul>li>a>.media .media-body p{color:#555555;font-size:11px;margin:0;font-weight:400}@media (max-width:767px){.topbar{padding-left:0;padding-right:0}}.login-container{background-color:#435f6f;background-image:linear-gradient(to right, #435f6f 0%, #567a8f 50%, #567a8f 100%),linear-gradient(to right, #4d6d7f 0%, #7fa0b2 51%, #7094a8 100%);background-size:100% 100%;position:relative;padding-top:40px}.login-container #img-logo{max-width:100%}.login-container .text{color:#fff;font-size:12px;margin-bottom:15px}.login-container .text a{color:#fff;text-decoration:underline}.login-container .panel a{color:#21A1B3}.login-container h1,.login-container h2{color:#fff !important}.login-container .panel{box-shadow:0 0 15px #627d92;-moz-box-shadow:0 0 15px #627d92;-webkit-box-shadow:0 0 15px #627d92}.login-container .panel .panel-heading,.login-container .panel .panel-body{padding:15px}.login-container .panel h1,.login-container .panel h2{color:#555 !important}.login-container select{color:#000}#account-login-form .form-group{margin-bottom:10px}.dropdown-menu li a i{margin-right:5px;font-size:14px;display:inline-block;width:14px}.dropdown-menu li a:hover,.dropdown-menu li a:visited,.dropdown-menu li a:hover,.dropdown-menu li a:focus{background:none;cursor:pointer}.dropdown-menu li:hover,.dropdown-menu li.selected{color:#000}.dropdown-menu li:first-child{margin-top:3px}.dropdown-menu li:last-child{margin-bottom:3px}.modal .dropdown-menu,.panel .dropdown-menu,.nav-tabs .dropdown-menu{border:1px solid #d7d7d7}.modal .dropdown-menu li.divider,.panel .dropdown-menu li.divider,.nav-tabs .dropdown-menu li.divider{background-color:#f7f7f7;border-bottom:none;margin:9px 1px !important}.modal .dropdown-menu li,.panel .dropdown-menu li,.nav-tabs .dropdown-menu li{border-left:3px solid white}.modal .dropdown-menu li a,.panel .dropdown-menu li a,.nav-tabs .dropdown-menu li a{color:#000;font-size:13px;font-weight:600;padding:4px 15px}.modal .dropdown-menu li a i,.panel .dropdown-menu li a i,.nav-tabs .dropdown-menu li a i{margin-right:5px}.modal .dropdown-menu li a:hover,.panel .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover{background:none}.modal .dropdown-menu li:hover,.panel .dropdown-menu li:hover,.nav-tabs .dropdown-menu li:hover,.modal .dropdown-menu li.selected,.panel .dropdown-menu li.selected,.nav-tabs .dropdown-menu li.selected{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}ul.contextMenu{border:1px solid #d7d7d7}ul.contextMenu li.divider{background-color:#f7f7f7;border-bottom:none;margin:9px 1px !important}ul.contextMenu li{border-left:3px solid white}ul.contextMenu li a{color:#000;font-size:14px;font-weight:400;padding:4px 15px}ul.contextMenu li a i{margin-right:5px}ul.contextMenu li a:hover{background:none}ul.contextMenu li:hover,ul.contextMenu li.selected{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}.media-list li{padding:10px;border-bottom:1px solid #eee;position:relative;border-left:3px solid white;font-size:12px}.media-list li a{color:#555}.media-list .badge-space-type{background-color:#f7f7f7;border:1px solid #d7d7d7;color:#b2b2b2;padding:3px 3px 2px 3px}.media-list li.new{border-left:3px solid #21A1B3;background-color:#c5eff4}.media-list li:hover,.media-list li.selected{background-color:#f7f7f7;border-left:3px solid #21A1B3}.media-list li.placeholder{font-size:14px !important;border-bottom:none}.media-list li.placeholder:hover{background:none !important;border-left:3px solid white}.media-left,.media>.pull-left{padding-right:0;margin-right:10px}.media:after{content:'';clear:both;display:block}.media .time{font-size:11px;color:#555555}.media .img-space{position:absolute;top:35px;left:35px}.media .media-body{overflow:hidden !important;font-size:13px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.media .media-body h4.media-heading{font-size:14px;font-weight:500;color:#000}.media .media-body h4.media-heading a{color:#000}.media .media-body h4.media-heading small,.media .media-body h4.media-heading small a{font-size:11px;color:#555555}.media .media-body h4.media-heading .content{margin-right:35px}.media .media-body .content a{word-break:break-all}.media .media-body strong{color:#000}.media .media-body h5{color:#aeaeae;font-weight:300;margin-top:5px;margin-bottom:5px;min-height:15px}.media .media-body .module-controls{font-size:85%}.media .media-body .module-controls a{color:#21A1B3}.media .content a{color:#21A1B3}.media .content .files a{color:#000}.content span{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}#blueimp-gallery .slide img{max-height:80%}audio,canvas,progress,video{display:inline-block;vertical-align:baseline;max-width:100%;height:auto}img{image-orientation:from-image}.panel{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;border:none;background-color:#fff;box-shadow:0 0 3px #dadada;-webkit-box-shadow:0 0 3px #dadada;-moz-box-shadow:0 0 3px #dadada;border-radius:4px;position:relative;margin-bottom:15px}.panel h1{font-size:16px;font-weight:300;margin-top:0;color:#000}.panel .panel-heading{font-size:16px;font-weight:300;color:#000;background-color:white;border:none;padding:10px;border-radius:4px}.panel .panel-heading .heading-link{color:#6fdbe8 !important;font-size:.8em}.panel .panel-body{padding:10px;font-size:13px}.panel .panel-body p{color:#555}.panel .panel-body p a{color:#21A1B3}.panel .panel-body .usersearch-statuses,.panel .panel-body .spacesearch-visibilities{padding-top:5px;padding-bottom:5px}@media (min-width:992px){.panel .panel-body .usersearch-statuses,.panel .panel-body .spacesearch-visibilities{padding-top:0;padding-bottom:0;padding-left:0}}.panel .statistics .entry{margin-left:20px;font-size:12px;color:#000}.panel .statistics .entry .count{color:#21A1B3;font-weight:600;font-size:20px;line-height:.8em}.panel h3.media-heading small{font-size:75%}.panel h3.media-heading small a{color:#21A1B3}.panel-danger{border:2px solid #FC4A64}.panel-danger .panel-heading{color:#FC4A64}.panel-success{border:2px solid #97d271}.panel-success .panel-heading{color:#97d271}.panel-warning{border:2px solid #f8b763}.panel-warning .panel-heading{color:#f8b763}.panel.profile{position:relative}.panel.profile .controls{position:absolute;top:10px;right:10px}.panel.members .panel-body a img,.panel.groups .panel-body a img,.panel.follower .panel-body a img,.panel.spaces .panel-body a img{margin-bottom:5px}.panel-profile .panel-profile-header{position:relative;border:3px solid #fff;border-top-right-radius:3px;border-top-left-radius:3px}.panel-profile .panel-profile-header .img-profile-header-background{border-radius:3px;min-height:110px}.panel-profile .panel-profile-header .img-profile-data{position:absolute;height:100px;width:100%;bottom:0;left:0;padding-left:180px;padding-top:30px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;color:#fff;pointer-events:none;background:-moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0,0,0,0)), color-stop(1%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.38)));background:-webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#94000000', GradientType=0)}.panel-profile .panel-profile-header .img-profile-data h1{font-size:30px;font-weight:100;margin-bottom:7px;color:#fff;max-width:600px;white-space:nowrap;text-overflow:ellipsis}.panel-profile .panel-profile-header .img-profile-data h2{font-size:16px;font-weight:400;margin-top:0}.panel-profile .panel-profile-header .img-profile-data h1.space{font-size:30px;font-weight:700}.panel-profile .panel-profile-header .img-profile-data h2.space{font-size:13px;font-weight:300;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-profile .panel-profile-header .profile-user-photo-container{position:absolute;bottom:-50px;left:15px}.panel-profile .panel-profile-header .profile-user-photo-container .profile-user-photo{border:3px solid #fff;border-radius:5px}.panel-profile .panel-profile-controls{padding-left:160px}.panel.pulse,.panel.fadeIn{-webkit-animation-duration:200ms;-moz-animation-duration:200ms;animation-duration:200ms}@media (max-width:767px){.panel-profile-controls{padding-left:0 !important;padding-top:50px}.panel-profile .panel-profile-header .img-profile-data h1{font-size:20px !important;margin-bottom:2px}}.panel-body>.tab-menu{margin-left:-10px;margin-right:-10px}.installer .logo{text-align:center}.installer h2{font-weight:100}.installer .panel{margin-top:50px}.installer .panel h3{margin-top:0}.installer .powered,.installer .powered a{color:#bac2c7 !important;margin-top:10px;font-size:12px}.installer .fa{width:18px}.installer .check-ok{color:#97d271}.installer .check-warning{color:#f8b763}.installer .check-error{color:#FC4A64}.installer .prerequisites-list ul{list-style:none;padding-left:15px}.installer .prerequisites-list ul li{padding-bottom:5px}.pagination-container{text-align:center}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{background-color:#435f6f;border-color:#435f6f}.pagination>li>a,.pagination>li>span,.pagination>li>a:hover,.pagination>li>a:active,.pagination>li>a:focus{color:#000;cursor:pointer}.well-small{padding:10px;border-radius:3px}.well{border:none;box-shadow:none;background-color:#f5f5f5;margin-bottom:1px}.well hr{margin:10px 0;border-top:1px solid #d9d9d9}.well table>thead{font-size:11px}.tab-sub-menu{padding-left:10px}.tab-sub-menu li>a:hover,.tab-sub-menu li>a:focus{background-color:#f7f7f7;border-bottom-color:#ddd}.tab-sub-menu li.active>a{background-color:#fff;border-bottom-color:transparent}.nav-tabs>li>a,.nav-tabs>li>a[data-toggle]{color:#555}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus,.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{color:#000}.tab-menu{padding-top:10px;background-color:#fff}.tab-menu .nav-tabs{padding-left:10px}.tab-menu .nav-tabs li>a{padding-top:12px;border-color:#ddd;border-bottom:1px solid #ddd;background-color:#f7f7f7;max-height:41px;outline:none}.tab-menu .nav-tabs li>a:hover,.tab-menu .nav-tabs li>a:focus{padding-top:10px;border-top:3px solid #ddd}.tab-menu .nav-tabs li>a:hover{background-color:#f7f7f7}.tab-menu .nav-tabs li.active>a,.tab-menu .nav-tabs li.active>a:hover{padding-top:10px;border-top:3px solid #21A1B3}.tab-menu .nav-tabs li.active>a{background-color:#fff;border-bottom-color:transparent}ul.tab-menu{padding-top:10px;background-color:#fff;padding-left:10px}ul.tab-menu-settings li>a{padding-top:12px;border-color:#ddd;border-bottom:1px solid #ddd;background-color:#f7f7f7;max-height:41px;outline:none}ul.tab-menu-settings li>a:hover,ul.tab-menu-settings li>a:focus{padding-top:10px;border-top:3px solid #ddd !important}ul.tab-menu-settings li>a:hover{background-color:#f7f7f7}ul.tab-menu-settings li.active>a,ul.tab-menu-settings li.active>a:hover,ul.tab-menu-settings li.active>a:focus{padding-top:10px;border-top:3px solid #21A1B3 !important}ul.tab-menu-settings li.active>a{background-color:#fff;border-bottom-color:transparent !important}.nav-pills .dropdown-menu,.nav-tabs .dropdown-menu,.account .dropdown-menu{background-color:#435f6f;border:none}.nav-pills .dropdown-menu li.divider,.nav-tabs .dropdown-menu li.divider,.account .dropdown-menu li.divider{background-color:#39515f;border-bottom:none;margin:9px 1px !important}.nav-pills .dropdown-menu li,.nav-tabs .dropdown-menu li,.account .dropdown-menu li{border-left:3px solid #435f6f}.nav-pills .dropdown-menu li a,.nav-tabs .dropdown-menu li a,.account .dropdown-menu li a{color:white;font-weight:400;font-size:13px;padding:4px 15px}.nav-pills .dropdown-menu li a i,.nav-tabs .dropdown-menu li a i,.account .dropdown-menu li a i{margin-right:5px;font-size:14px;display:inline-block;width:14px}.nav-pills .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover,.account .dropdown-menu li a:hover,.nav-pills .dropdown-menu li a:visited,.nav-tabs .dropdown-menu li a:visited,.account .dropdown-menu li a:visited,.nav-pills .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover,.account .dropdown-menu li a:hover,.nav-pills .dropdown-menu li a:focus,.nav-tabs .dropdown-menu li a:focus,.account .dropdown-menu li a:focus{background:none}.nav-pills .dropdown-menu li:hover,.nav-tabs .dropdown-menu li:hover,.account .dropdown-menu li:hover,.nav-pills .dropdown-menu li.selected,.nav-tabs .dropdown-menu li.selected,.account .dropdown-menu li.selected{border-left:3px solid #21A1B3;color:#fff !important;background-color:#39515f !important}.nav-pills.preferences .dropdown .dropdown-toggle i{color:#21A1B3;font-size:15px;font-weight:600}.nav-pills.preferences .dropdown.open .dropdown-toggle,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover{background-color:#435f6f}.nav-pills.preferences .dropdown.open .dropdown-toggle i,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover i{color:#fff}.nav-pills.preferences li.divider:last-of-type{display:none}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{background-color:#435f6f}.nav-tabs{margin-bottom:10px}.list-group a [class^="fa-"],.list-group a [class*=" fa-"]{display:inline-block;width:18px}.nav-pills.preferences{position:absolute;right:10px;top:10px}.nav-pills.preferences .dropdown .dropdown-toggle{padding:2px 5px}.nav-pills.preferences .dropdown.open .dropdown-toggle,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover{color:white}.nav-tabs li{font-weight:600;font-size:12px}.tab-content .tab-pane a{color:#21A1B3}.tab-content .tab-pane .form-group{margin-bottom:5px}.nav-tabs.tabs-center li{float:none;display:inline-block}.nav-tabs.tabs-small li>a{padding:5px 7px}.nav .caret,.nav .caret:hover,.nav .caret:active{border-top-color:#000;border-bottom-color:#000;height:6.928px}.nav li.dropdown>a:hover .caret,.nav li.dropdown>a:active .caret{border-top-color:#000;border-bottom-color:#000}.nav .open>a .caret,.nav .open>a:hover .caret,.nav .open>a:focus .caret{border-top-color:#000;border-bottom-color:#000}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:#ededed;color:#000}.nav .open>a .caret,.nav .open>a:hover .caret,.nav .open>a:focus .caret{color:#000}.footer-nav{filter:opacity(.6);font-size:12px;text-align:center}@media (max-width:991px){.controls-header{text-align:left !important}}.btn{float:none;border:none;-webkit-box-shadow:none;box-shadow:none;-moz-box-shadow:none;background-image:none;text-shadow:none;border-radius:3px;outline:none !important;margin-bottom:0;font-size:14px;font-weight:600;padding:8px 16px}.input.btn{outline:none}.btn-lg{padding:16px 28px}.btn-sm{padding:4px 8px;font-size:12px}.btn-sm i{font-size:14px}.btn-xs{padding:1px 5px;font-size:12px}.btn-default{background:#f3f3f3;color:#7a7a7a !important}.btn-default:hover,.btn-default:focus{background:#eee;text-decoration:none;color:#7a7a7a}.btn-default:active,.btn-default.active{outline:0;background:#e6e6e6}.btn-default[disabled],.btn-default.disabled{background:#f8f8f8}.btn-default[disabled]:hover,.btn-default.disabled:hover,.btn-default[disabled]:focus,.btn-default.disabled:focus{background:#f8f8f8}.btn-default[disabled]:active,.btn-default.disabled:active,.btn-default[disabled].active,.btn-default.disabled.active{background:#f8f8f8}.btn-primary{background:#435f6f;color:#fff !important}.btn-primary:hover,.btn-primary:focus{background:#39515f;text-decoration:none}.btn-primary:active,.btn-primary.active{outline:0;background:#39515f !important}.btn-primary[disabled],.btn-primary.disabled{background:#4d6d7f}.btn-primary[disabled]:hover,.btn-primary.disabled:hover,.btn-primary[disabled]:focus,.btn-primary.disabled:focus{background:#4d6d7f}.btn-primary[disabled]:active,.btn-primary.disabled:active,.btn-primary[disabled].active,.btn-primary.disabled.active{background:#4d6d7f !important}.btn-info{background:#21A1B3;color:#fff !important}.btn-info:hover,.btn-info:focus{background:#1d8e9d !important;text-decoration:none}.btn-info:active,.btn-info.active{outline:0;background:#1d8e9d}.btn-info[disabled],.btn-info.disabled{background:#25b4c9}.btn-info[disabled]:hover,.btn-info.disabled:hover,.btn-info[disabled]:focus,.btn-info.disabled:focus{background:#25b4c9}.btn-info[disabled]:active,.btn-info.disabled:active,.btn-info[disabled].active,.btn-info.disabled.active{background:#25b4c9 !important}.btn-danger{background:#FC4A64;color:#fff !important}.btn-danger:hover,.btn-danger:focus{background:#fc314f;text-decoration:none}.btn-danger:active,.btn-danger.active{outline:0;background:#fc314f !important}.btn-danger[disabled],.btn-danger.disabled{background:#fc6379}.btn-danger[disabled]:hover,.btn-danger.disabled:hover,.btn-danger[disabled]:focus,.btn-danger.disabled:focus{background:#fc6379}.btn-danger[disabled]:active,.btn-danger.disabled:active,.btn-danger[disabled].active,.btn-danger.disabled.active{background:#fc6379 !important}.btn-success{background:#97d271;color:#fff !important}.btn-success:hover,.btn-success:focus{background:#89cc5e;text-decoration:none}.btn-success:active,.btn-success.active{outline:0;background:#89cc5e !important}.btn-success[disabled],.btn-success.disabled{background:#a5d884}.btn-success[disabled]:hover,.btn-success.disabled:hover,.btn-success[disabled]:focus,.btn-success.disabled:focus{background:#a5d884}.btn-success[disabled]:active,.btn-success.disabled:active,.btn-success[disabled].active,.btn-success.disabled.active{background:#a5d884 !important}.btn-warning{background:#f8b763;color:#fff !important}.btn-warning:hover,.btn-warning:focus{background:#f8b259;text-decoration:none}.btn-warning:active,.btn-warning.active{outline:0;background:#f8b259 !important}.btn-warning[disabled],.btn-warning.disabled{background:#f9c27b}.btn-warning[disabled]:hover,.btn-warning.disabled:hover,.btn-warning[disabled]:focus,.btn-warning.disabled:focus{background:#f9c27b}.btn-warning[disabled]:active,.btn-warning.disabled:active,.btn-warning[disabled].active,.btn-warning.disabled.active{background:#f9c27b !important}.btn-link{color:#21A1B3 !important}.btn-link:hover,.btn-link:focus{color:#1f99aa;text-decoration:none}.btn-link:active,.btn-link.active{outline:0;color:#1f99aa !important}.btn-link[disabled],.btn-link.disabled{color:#25b4c9}.btn-link[disabled]:hover,.btn-link.disabled:hover,.btn-link[disabled]:focus,.btn-link.disabled:focus{color:#25b4c9}.btn-link[disabled]:active,.btn-link.disabled:active,.btn-link[disabled].active,.btn-link.disabled.active{color:#25b4c9 !important}.radio,.checkbox{margin-top:5px !important;margin-bottom:0}div.required>label:after{content:" *";color:#21A1B3}div.required.has-error>label:after{content:" *";color:#FC4A64}.radio label,.checkbox label{padding-left:10px}.form-control{border:2px solid #ededed;box-shadow:none;min-height:35px}.form-control:focus{border:2px solid #21A1B3;outline:0;box-shadow:none}.form-control.form-search{border-radius:30px;background-image:url("../img/icon_search16x16.png");background-repeat:no-repeat;background-position:10px 8px;padding-left:34px}.form-group-search{position:relative}.form-group-search .form-button-search{position:absolute;top:4px;right:4px;border-radius:30px}textarea{resize:none;height:1.5em}select.form-control:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("../img/select_arrow.png") !important;background-repeat:no-repeat;background-position:right 13px;overflow:hidden}label{font-weight:normal;margin-bottom:0;height:17px}label.control-label{font-weight:bold}::placeholder{color:#bac2c7 !important}::-webkit-input-placeholder{color:#bac2c7 !important}::-moz-placeholder{color:#bac2c7 !important}:-ms-input-placeholder{color:#bac2c7 !important}input::-ms-clear,input::-ms-reveal{display:none}input:-moz-placeholder{color:#555555 !important}.placeholder{padding:10px}input.placeholder,textarea.placeholder{padding:0 0 0 10px;color:#999}.help-block-error{font-size:12px}.hint-block,.help-block:not(.help-block-error){color:#aeaeae !important;font-size:12px}.hint-block:hover,.help-block:not(.help-block-error):hover{color:#7a7a7a !important;font-size:12px}.input-group-addon{border:none}a.input-field-addon{font-size:12px;float:right;margin-top:-10px}a.input-field-addon-sm{font-size:11px;float:right;margin-top:-10px}.timeZoneInputContainer{padding-top:10px}.timeZoneInputContainer~.help-block{margin:0px}.regular-checkbox:checked+.regular-checkbox-box{border:2px solid #21A1B3;background:#21A1B3;color:white}.regular-checkbox-box.disabled{background:#d7d7d7 !important;border:2px solid #d7d7d7 !important;cursor:not-allowed}.regular-radio:checked+.regular-radio-button:after{background:#21A1B3}.regular-radio:checked+.regular-radio-button{background-color:transparent;color:#99a1a7;border:2px solid #d7d7d7;margin-right:5px}.regular-radio.disabled{background:#d7d7d7 !important;border:2px solid #d7d7d7 !important;cursor:not-allowed}.errorMessage{color:#FC4A64;padding:10px 0}.error{border-color:#FC4A64 !important}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#FC4A64 !important}.has-error .form-control,.has-error .form-control:focus{border-color:#FC4A64;-webkit-box-shadow:none;box-shadow:none}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#97d271}.has-success .form-control,.has-success .form-control:focus{border-color:#97d271;-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#f8b763}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f8b763;-webkit-box-shadow:none;box-shadow:none}.bootstrap-timepicker-widget .form-control{padding:0}.form-collapsible-fields{margin-bottom:12px;border-left:3px solid #435f6f;background-color:#F4F4F4}.form-collapsible-fields-label{margin-bottom:0px;padding:12px}.form-collapsible-fields fieldset{padding-top:15px;padding-left:12px;padding-right:12px}.form-collapsible-fields.opened fieldset{display:block}.form-collapsible-fields.opened .iconClose{display:inline}.form-collapsible-fields.opened .iconOpen{display:none}.form-collapsible-fields.closed fieldset,.form-collapsible-fields.closed .iconClose{display:none}.form-collapsible-fields.closed .iconOpen{display:inline}#notification_overview_filter label{display:block}#notification_overview_list .img-space{position:absolute;top:25px;left:25px}@media (max-width:767px){.notifications{position:inherit !important;float:left !important}.notifications .dropdown-menu{width:300px !important;margin-left:0 !important}.notifications .dropdown-menu .arrow{margin-left:-142px !important}}.badge-space{margin-top:6px}.badge-space-chooser{padding:3px 5px;margin-left:1px}.badge{padding:3px 5px;border-radius:2px;font-weight:normal;font-family:Arial,sans-serif;font-size:10px !important;text-transform:uppercase;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:none;background-color:#d7d7d7;line-height:1}.popover{border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.popover .popover-title{background:none;border-bottom:none;color:#000;font-weight:300;font-size:16px;padding:15px}.popover .popover-content{font-size:13px;padding:5px 15px;color:#000}.popover .popover-content a{color:#21A1B3}.popover .popover-content img{max-width:100%}.popover .popover-navigation{padding:15px}.panel-profile .panel-profile-header .image-upload-container{width:100%;height:100%;overflow:hidden}.panel-profile .panel-profile-header .image-upload-container #bannerfileupload{position:absolute;top:0;left:0;opacity:0;width:100%;height:100%}.panel-profile .panel-profile-header .img-profile-header-background{width:100%;max-height:192px}@media print{.panel-profile{display:none}}.list-group-item{padding:6px 15px;border:none;border-width:0 !important;border-left:3px solid #fff !important;font-size:12px;font-weight:600}.list-group-item i{font-size:14px}a.list-group-item:hover,a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#000;background-color:#f7f7f7;border-left:3px solid #21A1B3 !important}@media (max-width:991px){.list-group{margin-left:4px}.list-group-item{display:inline-block !important;border-radius:3px !important;margin:4px 0;margin-bottom:4px !important}.list-group-item{border:none !important}a.list-group-item:hover,a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border:none !important;background:#435f6f !important;color:#fff !important}}.modal-backdrop{background-color:rgba(0,0,0,0.5)}.modal-dialog.fadeIn,.modal-dialog.pulse{-webkit-animation-duration:200ms;-moz-animation-duration:200ms;animation-duration:200ms}body.modal-open{height:100vh;overflow-y:hidden}@media screen and (max-width:768px){.modal-dialog{width:calc(100vw - 4px) !important}}.modal-top{z-index:999999 !important}.modal{overflow-y:visible}.modal.in{padding-right:0 !important}.modal-dialog-extra-small{width:400px}.modal-dialog-small{width:500px}.modal-dialog-normal{width:600px}.modal-dialog-medium{width:768px}.modal-dialog-large{width:900px}@media screen and (max-width:991px){.modal-dialog-large{width:auto !important;padding-top:30px;padding-bottom:30px}}.modal{border:none}.modal h1,.modal h2,.modal h3,.modal h4,.modal h5{margin-top:20px;color:#000;font-weight:300}.modal h4.media-heading{margin-top:0}.modal-title{font-size:20px;font-weight:200;color:#000}.modal-dialog,.modal-content{min-width:150px}.modal-content{-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);-webkit-box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);-moz-box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);border:none}.modal-content .modal-header{padding:20px 20px 0;border-bottom:none;text-align:center}.modal-content .modal-header .close{margin-top:2px;margin-right:5px}.modal-content .modal-body{padding:20px;font-size:13px}.modal-content .modal-footer{margin-top:0;text-align:left;padding:10px 20px 30px;border-top:none;text-align:center}.modal-content .modal-footer hr{margin-top:0}.module-installed{opacity:.5}.module-installed .label-success{background-color:#d7d7d7}.tooltip-inner{background-color:#435f6f;max-width:400px;text-align:left;padding:2px 8px 4px;font-weight:bold;white-space:pre-wrap}.tooltip.top .tooltip-arrow{border-top-color:#435f6f}.tooltip.top-left .tooltip-arrow{border-top-color:#435f6f}.tooltip.top-right .tooltip-arrow{border-top-color:#435f6f}.tooltip.right .tooltip-arrow{border-right-color:#435f6f}.tooltip.left .tooltip-arrow{border-left-color:#435f6f}.tooltip.bottom .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.progress{height:10px;margin-bottom:15px;box-shadow:none;background:#ededed;border-radius:10px}.progress-bar-info{background-color:#21A1B3;-webkit-box-shadow:none;box-shadow:none}#nprogress .bar{height:2px;background:#27c0d5}table{margin-bottom:0 !important}table th{font-size:11px;color:#555555;font-weight:normal}table thead tr th{border:none !important}table .time{font-size:12px}table td a:hover{color:#21A1B3}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:10px 10px 10px 0}.table>thead>tr>th select,.table>tbody>tr>th select,.table>tfoot>tr>th select,.table>thead>tr>td select,.table>tbody>tr>td select,.table>tfoot>tr>td select{font-size:12px;padding:4px 8px;height:30px;margin:0}.table-middle>thead>tr>th,.table-middle>tbody>tr>th,.table-middle>tfoot>tr>th,.table-middle>thead>tr>td,.table-middle>tbody>tr>td,.table-middle>tfoot>tr>td{vertical-align:middle !important}@media (max-width:767px){.table-responsive>.table>tbody>tr>td.notification-type{white-space:normal}}.comment-container{margin-top:10px}.comment-container .wall-entry-controls{margin-left:35px}@media (max-width:767px){.comment .post-files img{height:100px}}.comment .media{position:relative !important;margin-top:0}.comment .media .nav-pills.preferences{display:none;right:-3px}.comment .media-body{overflow:visible}.comment .jp-progress{background-color:#dbdcdd !important}.comment .jp-play-bar{background:#cacaca}.comment .post-file-list{background-color:#ededed}.comment.guest-mode .media:last-child .wall-entry-controls{margin-bottom:0;margin-left:35px}.comment.guest-mode .media:last-child hr{display:none}.comment_create,.content_edit{position:relative}.comment_create .comment-buttons,.content_edit .comment-buttons{position:absolute;bottom:2px;right:5px;z-index:300}.comment_create .comment-buttons button,.content_edit .comment-buttons button{background-color:#21A1B3 !important;color:#fff !important}.comment_create .has-error+.comment-buttons,.content_edit .has-error+.comment-buttons{bottom:19px !important}.comment_create .btn-comment-submit,.content_edit .btn-comment-submit{margin-top:3px}.comment_create .fileinput-button,.content_edit .fileinput-button{float:left;padding:6px 10px;background:transparent !important}.comment_create .fileinput-button i,.content_edit .fileinput-button i{color:#aeaeae}.comment_create .fileinput-button i:hover,.content_edit .fileinput-button i:hover{color:#21A1B3}.comment_create .fileinput-button:hover i,.content_edit .fileinput-button:hover i{color:#21A1B3}.comment_create .fileinput-button:active,.content_edit .fileinput-button:active{box-shadow:none !important}.post-richtext-input-group{position:relative}.post-richtext-input-group .comment-buttons{bottom:7px !important}.comment-container .content_edit{margin-left:35px}.comment-container .media{overflow:visible}.comment-container [data-ui-richtext] pre,.comment-container [data-ui-richtext] pre code.hljs{background-color:#eaeaea}.comment_edit_content{margin-left:35px;margin-top:0}.comment-message{overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.comment-create-input-group{position:relative}.comment-create-input-group .ProsemirrorEditor .ProseMirror{padding-right:72px}.comment-create-input-group .form-group,.comment-create-input-group .help-block{margin:0}.comment-create-input-group.scrollActive .comment-buttons{right:22px}.comment .media .media-body h4.media-heading a{font-size:13px;color:#000;margin-bottom:3px;font-weight:500}div.comment>div.media:first-of-type hr.comment-separator{display:none}div.comment>div.media:first-of-type .nav-pills.preferences{display:none;top:-3px}hr.comments-start-separator{margin-top:10px}div.nested-comments-root{margin-left:28px}div.nested-comments-root .ProseMirror-menubar-wrapper{z-index:210}div.nested-comments-root hr.comment-separator{display:inherit !important}div.nested-comments-root hr.comments-start-separator{display:none}div.nested-comments-root a.show-all-link{margin-top:10px}div.nested-comments-root div.comment .media{position:relative !important;margin-top:0}div.nested-comments-root div.comment .media .nav-pills.preferences{display:none;top:8px;right:0}div.nested-comments-root div.comment-container{margin-top:0;padding-bottom:0;padding-top:0}.grid-view img{width:24px;height:24px}.grid-view .filters input,.grid-view .filters select{border:2px solid #ededed;box-shadow:none;min-height:35px;border-radius:4px;font-size:12px;padding:4px}.grid-view .filters input:focus,.grid-view .filters select:focus{border:2px solid #21A1B3;outline:0;box-shadow:none}.grid-view{padding:15px 0 0}.grid-view img{border-radius:3px}.grid-view table th{font-size:13px !important;font-weight:bold !important}.grid-view table td{vertical-align:middle !important}.grid-view table tr{font-size:13px !important}.grid-view table thead tr th:first-of-type{padding-left:5px}.grid-view table tbody tr{height:50px}.grid-view table tbody tr td:first-of-type{padding-left:5px}.grid-view .summary{font-size:12px;color:#bac2c7}.permission-grid-editor>.table>tbody>tr:first-child>td{border:none}.permission-grid-editor{padding-top:0px}.detail-view td,.detail-view th{padding:8px !important}.detail-view th{font-size:13px}.oembed_snippet[data-oembed-provider="youtube.com"],.oembed_snippet{margin-top:10px;position:relative;padding-bottom:55%;padding-top:15px;overflow:hidden}.oembed_snippet[data-oembed-provider="twitter.com"]{padding-bottom:0 !important;padding-top:0;margin-top:0}.oembed_snippet iframe{position:absolute;top:0;left:0;width:100%;height:100%}.activities{max-height:400px;overflow:auto}.activities li.activity-entry{padding:0}.activities li .media{position:relative;padding:10px}.activities li .media .img-space{position:absolute;top:24px;left:24px}.activities li .media .media-body{max-width:295px}.contentForm_options{margin-top:10px;min-height:29px}.contentForm_options .btn_container{position:relative}.contentForm_options .btn_container .label-public{position:absolute;right:40px;top:11px}#content-topic-bar{margin-top:5px;text-align:right}#content-topic-bar .label{margin-left:4px}#contentFormError{color:#FC4A64;padding-left:0;list-style:none}.placeholder-empty-stream{background-image:url("../img/placeholder-postform-arrow.png");background-repeat:no-repeat;padding:37px 0 0 70px;margin-left:90px}#streamUpdateBadge{text-align:center;z-index:9999;margin-bottom:15px;margin-top:15px}#streamUpdateBadge .label{border-radius:10px;font-size:.8em !important;padding:5px 10px}#wallStream .back_button_holder{padding-bottom:15px}.wall-entry{position:relative}.wall-entry .panel .panel-body{padding:10px}.wall-entry .wall-entry-header{color:#000;position:relative;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eeeeee}.wall-entry .wall-entry-header .img-space{top:25px;left:25px}.wall-entry .wall-entry-header .wall-entry-container-link{color:#21A1B3}.wall-entry .wall-entry-header .stream-entry-icon-list{position:absolute;top:0;right:25px;display:inline-block;padding-top:2px}.wall-entry .wall-entry-header .stream-entry-icon-list i{padding-right:5px}.wall-entry .wall-entry-header .stream-entry-icon-list .icon-pin{color:#FC4A64}.wall-entry .wall-entry-header .stream-entry-icon-list .fa-archive{color:#f8b763}.wall-entry .wall-entry-header .wall-entry-header-image{display:table-cell;width:40px;padding-right:10px}.wall-entry .wall-entry-header .wall-entry-header-image .fa{font-size:2.39em;color:#21A1B3;margin-top:5px}.wall-entry .wall-entry-header .wall-entry-header-info{display:table-cell;padding-right:30px;width:100%}.wall-entry .wall-entry-header .wall-entry-header-info .media-heading{font-size:15px;padding-top:1px;margin-bottom:3px}.wall-entry .wall-entry-header .wall-entry-header-info i.archived{color:#f8b763}.wall-entry .wall-entry-header .preferences{position:absolute;right:0;top:0}.wall-entry .wall-entry-header .media-subheading i.fa-caret-right{margin:0 2px}.wall-entry .wall-entry-header .media-subheading .wall-entry-icons{display:inline-block}.wall-entry .wall-entry-header .media-subheading .wall-entry-icons i{margin-right:2px}.wall-entry .wall-entry-header .media-subheading .time,.wall-entry .wall-entry-header .media-subheading i,.wall-entry .wall-entry-header .media-subheading span{font-size:11px;white-space:nowrap}.wall-entry .wall-entry-body{padding-left:50px}.wall-entry .wall-entry-body .wall-entry-content{margin-bottom:5px}.wall-entry .wall-entry-body .wall-entry-content .post-short-text{font-size:1.6em}.wall-entry .wall-entry-body .wall-entry-content .post-short-text .emoji{width:20px}.wall-entry .wall-entry-body audio,.wall-entry .wall-entry-body video{width:100%}.wall-entry .wall-stream-footer .wall-stream-addons .files{margin-bottom:5px}.wall-entry .content a{color:#21A1B3}.wall-entry .content img{max-width:100%}.wall-entry .media{overflow:visible}.wall-entry .well{margin-bottom:0}.wall-entry .well .comment .show-all-link{font-size:12px;cursor:pointer}.wall-entry .media-heading{font-size:14px;padding-top:1px;margin-bottom:3px}.wall-entry .media-heading .labels{padding-right:32px}.wall-entry .media-heading .viaLink{font-size:13px}.wall-entry .media-heading .viaLink i{color:#555555;padding-left:4px;padding-right:4px}.wall-entry .media-subheading{color:#555555;font-size:12px}.wall-entry .media-subheading .time{font-size:12px;white-space:nowrap}.wall-entry [data-ui-richtext] h1{font-size:1.45em;font-weight:normal}.wall-entry [data-ui-richtext] h2{font-size:1.3em;font-weight:normal}.wall-entry [data-ui-richtext] h3{font-size:1.2em;font-weight:normal}.wall-entry [data-ui-richtext] h4{font-size:1.1em;font-weight:normal}.wall-entry [data-ui-richtext] h5{font-size:1em;font-weight:normal}.wall-entry [data-ui-richtext] h6{font-size:.85em;font-weight:normal}@media (max-width:767px){.wall-entry .wall-entry-body{padding-left:0}#wallStream .back_button_holder{padding-bottom:5px;text-align:center}}.wall-entry-controls a{font-size:11px;color:#21A1B3 !important;margin-top:10px;margin-bottom:0}#wall-stream-filter-nav{font-size:12px;margin-bottom:10px;padding-top:2px;border-radius:0 0 4px 4px}#wall-stream-filter-nav .wall-stream-filter-root{margin:0;border:0 !important}#wall-stream-filter-nav .filter-panel{padding:0 10px}#wall-stream-filter-nav .wall-stream-filter-head{padding:5px 5px 10px 5px;border-bottom:1px solid #ddd}#wall-stream-filter-nav .wall-stream-filter-body{overflow:hidden;background-color:#f7f7f7;border:1px solid #ddd;border-top:0;border-radius:0 0 4px 4px}#wall-stream-filter-nav hr{margin:5px 0 0 0}#wall-stream-filter-nav .topic-remove-label{float:left}#wall-stream-filter-nav .topic-remove-label,#wall-stream-filter-nav .content-type-remove-label{margin-right:6px}#wall-stream-filter-nav .select2{width:260px !important;margin-bottom:5px;margin-top:2px}#wall-stream-filter-nav .select2 .select2-search__field{height:25px !important}#wall-stream-filter-nav .select2 .select2-selection__choice{height:23px !important}#wall-stream-filter-nav .select2 .select2-selection__choice span,#wall-stream-filter-nav .select2 .select2-selection__choice i{line-height:19px !important}#wall-stream-filter-nav .select2 .select2-selection__choice .img-rounded{width:18px !important;height:18px !important}#wall-stream-filter-nav .wall-stream-filter-bar{display:inline;float:right;white-space:normal}#wall-stream-filter-nav .wall-stream-filter-bar .label{height:18px;padding-top:4px;background-color:#fff}#wall-stream-filter-nav .wall-stream-filter-bar .btn,#wall-stream-filter-nav .wall-stream-filter-bar .label{box-shadow:0 0 2px #7a7a7a;-webkit-box-shadow:0 0 2px #7a7a7a;-moz-box-shadow:0 0 2px #7a7a7a}@media (max-width:767px){#wall-stream-filter-nav{margin-bottom:5px}#wall-stream-filter-nav .wall-stream-filter-root{white-space:nowrap}#wall-stream-filter-nav .wall-stream-filter-body{overflow:auto}}.filter-root{margin:15px}.filter-root .row{display:table !important}.filter-root .filter-panel{padding:0 5px;display:table-cell !important;float:none}.filter-root .filter-panel .filter-block strong{margin-bottom:5px}.filter-root .filter-panel .filter-block ul.filter-list{list-style:none;padding:0;margin:0 0 5px}.filter-root .filter-panel .filter-block ul.filter-list li{font-size:12px;padding:2px}.filter-root .filter-panel .filter-block ul.filter-list li a{color:#000}.filter-root .filter-panel div.filter-block:last-of-type ul.filter-list{margin:0}.filter-root .filter-panel+.filter-panel{border-left:2px solid #ededed}.stream-entry-loader{float:right;margin-top:5px}.load-suppressed{margin-top:-17px;margin-bottom:15px;text-align:center}.load-suppressed a{display:inline-block;background-color:white;padding:5px;border-radius:0 0 4px 4px;border:1px solid #ddd;font-size:11px}@media print{.wall-entry{page-break-inside:avoid}#wall-stream-filter-nav,#contentFormBody{display:none}}.space-owner{text-align:center;margin:14px 0;font-size:13px;color:#999}.space-member-sign{color:#97d271;position:absolute;top:42px;left:42px;font-size:16px;background:#fff;width:24px;height:24px;padding:2px 3px 1px 4px;border-radius:50px;border:2px solid #97d271}#space-menu-dropdown i.type{font-size:16px;color:#BFBFBF}#space-menu-spaces [data-space-chooser-item]{cursor:pointer}#space-menu-dropdown .input-group-addon{border-radius:0 4px 4px 0}#space-menu-dropdown .input-group-addon.focus{border-radius:0 4px 4px 0;border:2px solid #21A1B3;border-left:0}.input-group #space-menu-search{border-right:0}#space-menu-dropdown div:not(.input-group)>.search-reset{top:10px !important;right:15px !important}#space-directory-link i{margin-right:0}.space-acronym{color:#fff;text-align:center;display:inline-block}.current-space-image{margin-right:3px;margin-top:3px}@media (max-width:767px){#space-menu>.title{display:none}#space-menu-dropdown{width:300px !important}}.files,#postFormFiles_list{padding-left:0}ul.files{list-style:none;margin:0 0 5px;padding:0}ul.files li.file-preview-item{padding-left:24px;display:none}ul.files li.file-preview-item .file-fileInfo{padding-right:20px}.contentForm-upload-list{padding-left:0}.contentForm-upload-list li:first-child{margin-top:10px}.file_upload_remove_link,.file_upload_remove_link:hover{color:#FC4A64;cursor:pointer}.file-preview-item{text-overflow:ellipsis;overflow:hidden}.post-files{margin-top:10px;margin-bottom:10px}.post-files video{border-radius:4px}.post-files .jp-audio{margin-bottom:10px}.post-files .col-media{padding-left:0 !important;padding-right:0 !important}.post-files img{vertical-align:top;padding:2px;height:150px;width:100%;object-fit:cover;border-radius:4px}@media (max-width:650px){.post-files img{height:100px}}.post-file-list{padding:10px;padding-bottom:1px;margin-bottom:10px !important}.post-file-list a,.post-file-list a:active,.post-file-list a:focus,.post-file-list a:hover{color:#21A1B3}#wallStream.mobile .post-files{margin-top:10px;display:flex;overflow-x:auto}#wallStream.mobile .post-files img{max-width:190px;height:100px;width:auto}.file-preview-content{cursor:pointer}.image-upload-container{position:relative}.image-upload-container .image-upload-buttons{display:none;position:absolute;right:5px;bottom:5px}.image-upload-container input[type="file"]{position:absolute;opacity:0}.image-upload-container .image-upload-loader{display:none;position:absolute;top:0;left:0;width:100%;height:100%;padding:20px;background:#f8f8f8}.mime{background-repeat:no-repeat;background-position:0 0;padding:1px 0 4px 26px}.mime-word{background-image:url("../img/mime/word.png")}.mime-excel{background-image:url("../img/mime/excel.png")}.mime-powerpoint{background-image:url("../img/mime/powerpoint.png")}.mime-pdf{background-image:url("../img/mime/pdf.png")}.mime-zip{background-image:url("../img/mime/zip.png")}.mime-image{background-image:url("../img/mime/image.png")}.mime-file{background-image:url("../img/mime/file.png")}.mime-photoshop{background-image:url("../img/mime/photoshop.png")}.mime-illustrator{background-image:url("../img/mime/illustrator.png")}.mime-video{background-image:url("../img/mime/video.png")}.mime-audio{background-image:url("../img/mime/audio.png")}@media (max-width:480px){.jp-current-time{margin-left:0 !important}.jp-audio{width:auto !important;margin-left:0 !important}.jp-audio .jp-controls{padding:2px 12px 0 !important}.jp-audio .jp-progress{left:3px !important;top:45px !important;width:200px !important}.jp-audio .jp-volume-controls{position:absolute !important;top:15px !important;left:170px !important}.jp-audio .jp-time-holder{left:3px !important;top:60px !important;width:200px !important}.jp-audio .jp-toggles{left:210px !important;top:45px !important;width:auto !important}.jp-playlist ul{padding:0 0 0 0 !important}}div.jp-type-playlist div.jp-playlist a.jp-playlist-current,div.jp-type-playlist div.jp-playlist a:hover{color:#21A1B3 !important}.jp-details,.jp-playlist{border-top:1px solid #21A1B3}.jp-audio,.jp-audio-stream,.jp-video{border:1px solid #21A1B3}ul.tour-list{list-style:none;margin-bottom:0;padding-left:10px}ul.tour-list li{padding-top:5px}ul.tour-list li a{color:#21A1B3}ul.tour-list li a .fa{width:16px}ul.tour-list li.completed a{text-decoration:line-through;color:#555555}.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:white;color:#555555;font-size:14px;font-weight:400;border:1px solid #d7d7d7;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);min-width:120px;max-width:265px;z-index:11110 !important;padding:5px 0}.atwho-view strong,.atwho-view b{font-weight:normal}.atwho-view ul li.hint{background:#fff !important;border-left:3px solid transparent !important;font-size:12px;color:#999}.atwho-view .cur small{color:red}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}.atwho-view ul{list-style:none;padding:0;margin:auto}.atwho-view ul li{display:block;padding:5px 10px;border-left:3px solid transparent;padding:4px 15px 4px 8px;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:normal}.atwho-input.form-control{min-height:36px;height:auto;padding-right:95px;word-wrap:break-word}.atwho-input p{padding:0;margin:0}.atwho-placeholder{color:#bebebe !important}.atwho-emoji-entry{float:left;padding:4px !important;margin:0px !important;border:none !important}.atwho-emoji-entry:hover,.atwho-emoji-entry:active,.atwho-emoji-entry:focus{padding:4px !important;margin:0px !important;border:none !important;background-color:#f7f7f7 !important;border-radius:3px}.atwho-view .cur{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}.atwho-user,.atwho-space,.atwho-input a{color:#21A1B3}.atwho-input a:hover{color:#21A1B3}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}.atwho-view span{padding:5px}.sk-spinner-three-bounce.sk-spinner{margin:0 auto;width:70px;text-align:center}.loader{padding:30px 0}.loader .sk-spinner-three-bounce div,.loader .sk-spinner-three-bounce span{width:12px;height:12px;background-color:#21A1B3;border-radius:100%;display:inline-block;-webkit-animation:sk-threeBounceDelay 1.4s infinite ease-in-out;animation:sk-threeBounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.loader .sk-spinner-three-bounce .sk-bounce1{-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.loader .sk-spinner-three-bounce .sk-bounce2{-webkit-animation-delay:-0.16s;animation-delay:-0.16s}@-webkit-keyframes sk-threeBounceDelay{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-threeBounceDelay{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.loader-modal{padding:8px 0}.loader-postform{padding:9px 0}.loader-postform .sk-spinner-three-bounce.sk-spinner{text-align:left;margin:0}.md-editor.active{border:2px solid #21A1B3 !important}.md-editor textarea{padding:10px !important}.markdown-render,[data-ui-markdown],[data-ui-richtext]{overflow:hidden;overflow-wrap:break-word;line-height:1.57}.markdown-render h1,[data-ui-markdown] h1,[data-ui-richtext] h1,.markdown-render h2,[data-ui-markdown] h2,[data-ui-richtext] h2,.markdown-render h3,[data-ui-markdown] h3,[data-ui-richtext] h3,.markdown-render h4,[data-ui-markdown] h4,[data-ui-richtext] h4,.markdown-render h5,[data-ui-markdown] h5,[data-ui-richtext] h5,.markdown-render h6,[data-ui-markdown] h6,[data-ui-richtext] h6{text-align:start;font-weight:normal;margin:1.2em 0 .8em;color:#555}.markdown-render h1:first-child,[data-ui-markdown] h1:first-child,[data-ui-richtext] h1:first-child,.markdown-render h2:first-child,[data-ui-markdown] h2:first-child,[data-ui-richtext] h2:first-child,.markdown-render h3:first-child,[data-ui-markdown] h3:first-child,[data-ui-richtext] h3:first-child,.markdown-render h4:first-child,[data-ui-markdown] h4:first-child,[data-ui-richtext] h4:first-child,.markdown-render h5:first-child,[data-ui-markdown] h5:first-child,[data-ui-richtext] h5:first-child,.markdown-render h6:first-child,[data-ui-markdown] h6:first-child,[data-ui-richtext] h6:first-child{margin:0 0 .8em}.markdown-render h1,[data-ui-markdown] h1,[data-ui-richtext] h1{font-size:1.7em}.markdown-render h2,[data-ui-markdown] h2,[data-ui-richtext] h2{font-size:1.5em}.markdown-render h3,[data-ui-markdown] h3,[data-ui-richtext] h3{font-size:1.2em}.markdown-render h4,[data-ui-markdown] h4,[data-ui-richtext] h4{font-size:1.1em}.markdown-render h5,[data-ui-markdown] h5,[data-ui-richtext] h5{font-size:1em}.markdown-render h6,[data-ui-markdown] h6,[data-ui-richtext] h6{font-size:.85em}.markdown-render p,[data-ui-markdown] p,[data-ui-richtext] p,.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre,.markdown-render blockquote,[data-ui-markdown] blockquote,[data-ui-richtext] blockquote,.markdown-render ul,[data-ui-markdown] ul,[data-ui-richtext] ul,.markdown-render ol,[data-ui-markdown] ol,[data-ui-richtext] ol{margin:0 0 1.2em}.markdown-render li ul,[data-ui-markdown] li ul,[data-ui-richtext] li ul,.markdown-render li ol,[data-ui-markdown] li ol,[data-ui-richtext] li ol{margin:0}.markdown-render p:last-child,[data-ui-markdown] p:last-child,[data-ui-richtext] p:last-child{margin:0}.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre{padding:0;border:none;background-color:#f7f7f7}.markdown-render pre code,[data-ui-markdown] pre code,[data-ui-richtext] pre code{background-color:#f7f7f7;color:#555}.markdown-render code,[data-ui-markdown] code,[data-ui-richtext] code{background-color:#dbf5f8;color:#197a88}.markdown-render blockquote,[data-ui-markdown] blockquote,[data-ui-richtext] blockquote{background-color:rgba(128,128,128,0.05);border-top-right-radius:5px;border-bottom-right-radius:5px;padding:15px 20px;font-size:1em;border-left:5px solid #435f6f}.markdown-render dt,[data-ui-markdown] dt,[data-ui-richtext] dt,.markdown-render dd,[data-ui-markdown] dd,[data-ui-richtext] dd{margin-top:5px;margin-bottom:5px;line-height:1.45}.markdown-render dt,[data-ui-markdown] dt,[data-ui-richtext] dt{font-weight:bold}.markdown-render dd,[data-ui-markdown] dd,[data-ui-richtext] dd{margin-left:40px}.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre{text-align:start;border:0;padding:10px 20px;border-radius:0;border-left:2px solid #435f6f}.markdown-render pre code,[data-ui-markdown] pre code,[data-ui-richtext] pre code{white-space:pre !important}.markdown-render blockquote ul:last-child,[data-ui-markdown] blockquote ul:last-child,[data-ui-richtext] blockquote ul:last-child,.markdown-render blockquote ol:last-child,[data-ui-markdown] blockquote ol:last-child,[data-ui-richtext] blockquote ol:last-child{margin-bottom:0}.markdown-render ul,[data-ui-markdown] ul,[data-ui-richtext] ul,.markdown-render ol,[data-ui-markdown] ol,[data-ui-richtext] ol{margin-top:0;padding-left:30px}.markdown-render ul li p,[data-ui-markdown] ul li p,[data-ui-richtext] ul li p,.markdown-render ol li p,[data-ui-markdown] ol li p,[data-ui-richtext] ol li p{overflow:visible !important}.markdown-render .footnote,[data-ui-markdown] .footnote,[data-ui-richtext] .footnote{vertical-align:top;position:relative;top:-0.5em;font-size:.8em}.markdown-render .emoji,[data-ui-markdown] .emoji,[data-ui-richtext] .emoji{width:16px}.markdown-render a,[data-ui-markdown] a,[data-ui-richtext] a,.markdown-render a:visited,[data-ui-markdown] a:visited,[data-ui-richtext] a:visited{background-color:inherit;text-decoration:none;color:#21A1B3 !important}.markdown-render a.header-anchor,[data-ui-markdown] a.header-anchor,[data-ui-richtext] a.header-anchor{color:#555 !important}.markdown-render a.not-found,[data-ui-markdown] a.not-found,[data-ui-richtext] a.not-found{color:#f8b763}.markdown-render li,[data-ui-markdown] li,[data-ui-richtext] li{border:0 !important;background-color:transparent !important;padding:0;margin:5px 0}.markdown-render img:not(.center-block),[data-ui-markdown] img:not(.center-block),[data-ui-richtext] img:not(.center-block){max-width:100%;margin:0 5px}.markdown-render img.pull-right,[data-ui-markdown] img.pull-right,[data-ui-richtext] img.pull-right{margin:5px 0 0 10px}.markdown-render img.pull-left,[data-ui-markdown] img.pull-left,[data-ui-richtext] img.pull-left{margin:5px 10px 0 0}.markdown-render img.center-block,[data-ui-markdown] img.center-block,[data-ui-richtext] img.center-block{margin-top:5px;margin-bottom:5px}.markdown-render img[width='100%'],[data-ui-markdown] img[width='100%'],[data-ui-richtext] img[width='100%']{border-radius:4px}.markdown-render table,[data-ui-markdown] table,[data-ui-richtext] table{width:100%;font-size:1em;border:1px solid #d7d7d7;margin-bottom:1.2em !important}.markdown-render table th,[data-ui-markdown] table th,[data-ui-richtext] table th{font-size:1em;color:#fff !important;background-color:#435f6f}.markdown-render table th p,[data-ui-markdown] table th p,[data-ui-richtext] table th p{color:#fff !important}.markdown-render table td,[data-ui-markdown] table td,[data-ui-richtext] table td{padding:15px;border:1px solid #d7d7d7 !important}.markdown-render table th,[data-ui-markdown] table th,[data-ui-richtext] table th{padding:10px 15px;border:1px solid #d7d7d7 !important}@media (max-width:991px){.layout-sidebar-container{display:none}}.ui-widget-header{border:none !important;background:#fff !important;color:#7a7a7a !important;font-weight:300 !important}.ui-widget-content{border:1px solid #dddcda !important;border-radius:0 !important;background:#fff;color:#000 !important;-webkit-box-shadow:0 6px 6px rgba(0,0,0,0.1);box-shadow:0 6px 6px rgba(0,0,0,0.1)}.ui-datepicker,.hasDatepicker{z-index:9999 !important}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{opacity:.2}.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background:#fff !important;border:none;margin:1px}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:none !important;background:#f7f7f7 !important;color:#7a7a7a !important}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:none !important;border:1px solid #b2b2b2 !important}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #21A1B3 !important;background:#6fd6e4 !important}.status-bar-body{color:white;position:fixed;width:100%;background-color:rgba(0,0,0,0.7);text-align:center;padding:20px;z-index:9999999;bottom:0px;display:block;line-height:20px}.status-bar-close{color:white;font-weight:bold;font-size:21px;cursor:pointer}.status-bar-close:hover{color:white}.status-bar-close i{vertical-align:top !important;padding-top:3px}.status-bar-content i{margin-right:10px;font-size:21px;vertical-align:middle}.status-bar-content .showMore{color:#21A1B3;float:right;margin-left:10px;font-size:.7em;cursor:pointer;vertical-align:middle;white-space:nowrap}.status-bar-content .status-bar-details{text-align:left;font-size:.7em;margin-top:20px;max-height:200px;overflow:auto}.status-bar-content span{vertical-align:middle}.status-bar-content i.error,.status-bar-content i.fatal{color:#FC4A64}.status-bar-content i.warning{color:#f8b763}.status-bar-content i.info,.status-bar-content i.debug{color:#21A1B3}.status-bar-content i.success{color:#85CA2B}.highlight{background-color:#fff8e0}.alert-default{color:#000;background-color:#f7f7f7;border-color:#ededed;font-size:13px}.alert-default .info{margin:10px 0}.alert-success{color:#84be5e;background-color:#f7fbf4;border-color:#97d271}.alert-warning{color:#e9b168;background-color:#fffbf7;border-color:#fdd198}.alert-danger{color:#ff8989;background-color:#fff6f6;border-color:#ff8989}.data-saved{padding-left:10px;color:#21A1B3}img.bounceIn{-webkit-animation-duration:800ms;-moz-animation-duration:800ms;animation-duration:800ms}.tags .tag{margin-top:5px;border-radius:2px;padding:4px 8px;text-transform:uppercase;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#user-tags-panel .tags .tag{max-width:250px}.label{text-transform:uppercase}.label{text-transform:uppercase;display:inline-block;padding:3px 5px 4px;font-weight:600;font-size:10px !important;color:white;vertical-align:baseline;white-space:nowrap;text-shadow:none}.label-default{background:#ededed;color:#7a7a7a !important}a.label-default:hover{background:#e0e0e0 !important}.label-info{background-color:#21A1B3}a.label-info:hover{background:#1d8e9d !important}.label-danger{background-color:#FC4A64}a.label-danger:hover{background:#fc314f !important}.label-success{background-color:#97d271}a.label-success:hover{background:#89cc5e !important}.label-warning{background-color:#f8b763}a.label-warning:hover{background:#f7ac4b !important}.label-light{background-color:transparent;color:#7a7a7a;border:1px solid #bababa}.topic-label-list,.wall-entry-topics{margin-bottom:10px}.topic-label-list a,.wall-entry-topics a{margin-right:4px}.topic-label-list .label,.wall-entry-topics .label{padding:5px;border-radius:4px}.ProsemirrorEditor.fullscreen{position:fixed;top:0;left:0;width:100vw;height:calc(100vh - 3px);z-index:9998}.ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper{height:100%}.ProsemirrorEditor.fullscreen .humhub-ui-richtext{max-height:none !important}.ProsemirrorEditor.fullscreen .ProseMirror{position:static;overflow:auto;height:calc(100% - 26px)}.ProsemirrorEditor.fullscreen .ProseMirror-menubar{position:static !important;top:0 !important;left:0 !important;margin:0 !important;width:100% !important}.login-container .ProsemirrorEditor.fullscreen,.modal-dialog .ProsemirrorEditor.fullscreen{width:100%;height:100%}.ProsemirrorEditor .ProseMirror{padding-right:12px}.ProsemirrorEditor .ProseMirror-menu{margin:0 -4px;line-height:1}.ProsemirrorEditor .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.ProsemirrorEditor .ProseMirror-menuitem{margin-right:0;display:inline-block}.ProsemirrorEditor .ProseMirror-menuseparator{border-right:1px solid #ddd;margin-right:3px}.ProsemirrorEditor .ProseMirror-menubar-wrapper{z-index:200}.ProsemirrorEditor .ProseMirror-menuitem .ProseMirror-menu-group{border-right:1px solid #ddd}.ProsemirrorEditor .ProseMirror-menuitem .ProseMirror-menu-group.last{border-right:none}.ProsemirrorEditor .ProseMirror-menuitem .seperator{border-right:1px solid #ddd;margin-right:2px;padding-right:2px}.ProsemirrorEditor .ProseMirror-menu-dropdown,.ProsemirrorEditor .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}.ProsemirrorEditor .ProseMirror-menu-dropdown{cursor:pointer;position:relative;padding-right:15px !important}.ProsemirrorEditor .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 0;display:inline-block;position:relative}.ProsemirrorEditor .ProseMirror-menu-dropdown-right{right:0}.ProsemirrorEditor .ProseMirror-menu-dropdown:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.ProsemirrorEditor .ProseMirror-menu-submenu{border-top-right-radius:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-menu,.ProsemirrorEditor .ProseMirror-menu-submenu{position:absolute;background:white;color:#666;border:1px solid #aaa;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em;margin-top:2px}.ProsemirrorEditor .ProseMirror-menu-dropdown-item{cursor:pointer}.ProsemirrorEditor .ProseMirror-menu-dropdown-item div[title],.ProsemirrorEditor .ProseMirror-menu-submenu-wrap{padding:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-item:hover{background:#f2f2f2}.ProsemirrorEditor .ProseMirror-menu-submenu-wrap{position:relative}.ProsemirrorEditor .ProseMirror-menu-submenu-label:after{content:"";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}.ProsemirrorEditor .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:0}.ProsemirrorEditor .ProseMirror-menu-active{background:#eee;border-radius:4px;border:1px solid #ededed !important}.ProsemirrorEditor .ProseMirror-menu-disabled{opacity:.3}.ProsemirrorEditor .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,.ProsemirrorEditor .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}.ProsemirrorEditor .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:1px 7px;cursor:pointer;border:1px solid transparent}.ProsemirrorEditor .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}.ProsemirrorEditor .ProseMirror-icon svg{fill:currentColor;height:1em}.ProsemirrorEditor .ProseMirror-icon span{vertical-align:text-top}.ProsemirrorEditor.plainMenu .ProseMirror{border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-top-width:1px !important;min-height:100px}.ProsemirrorEditor.plainMenu .ProseMirror-menu-group{padding:5px}.ProsemirrorEditor.plainMenu .ProseMirror-menuitem .ProseMirror-menu-group{padding:2px}.ProsemirrorEditor.plainMenu .ProseMirror-menubar~.ProseMirror-focused{border-color:#21A1B3 !important}.ProsemirrorEditor.plainMenu .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor.plainMenu .ProseMirror-menubar-wrapper{z-index:8}.ProsemirrorEditor.plainMenu .ProseMirror-menubar{background-color:#f7f7f7;border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid #ddd;position:relative;min-height:1em;color:#666;padding:1px 6px 1px 0;top:0;left:0;right:0;z-index:10;-moz-box-sizing:border-box;box-sizing:border-box;overflow:visible}.ProsemirrorEditor.focusMenu .form-control:focus{border-top-left-radius:0 !important}.ProsemirrorEditor.focusMenu .ProseMirror-menubar{display:table;min-height:1em;color:#666;padding:2px 6px;top:0;left:0;right:0;z-index:10;-moz-box-sizing:border-box;box-sizing:border-box;overflow:visible;margin-top:-25px;background:white;border:1px solid #aeaeae;border-bottom:0;border-top:1px solid #aeaeae;border-top-left-radius:4px;border-top-right-radius:4px;float:left}@-moz-document url-prefix(){.ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:-26px}}.ProsemirrorEditor .ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.ProsemirrorEditor .ProseMirror ul,.ProsemirrorEditor .ProseMirror ol{cursor:default}.ProsemirrorEditor .ProseMirror pre{white-space:pre-wrap}.ProsemirrorEditor .ProseMirror li{position:relative}.ProsemirrorEditor .ProseMirror img{max-width:100%}.ProsemirrorEditor .ProseMirror-hideselection *::selection{background:transparent}.ProsemirrorEditor .ProseMirror-hideselection *::-moz-selection{background:transparent}.ProsemirrorEditor .ProseMirror-selectednode{outline:2px dashed #8cf}.ProsemirrorEditor li.ProseMirror-selectednode{outline:none}.ProsemirrorEditor li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}.ProsemirrorEditor .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor .ProseMirror-menu{margin:0 -4px;line-height:1}.ProsemirrorEditor .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.ProsemirrorEditor .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProsemirrorEditor .ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2, start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProsemirrorEditor .ProseMirror-focused .ProseMirror-gapcursor{display:block}.ProsemirrorEditor .ProseMirror-example-setup-style hr{padding:2px 10px;border:none;margin:1em 0}.ProsemirrorEditor .ProseMirror-example-setup-style hr:after{content:"";display:block;height:1px;background-color:silver;line-height:2px}.ProsemirrorEditor .ProseMirror-example-setup-style img{cursor:default}.ProsemirrorEditor .ProseMirror p{margin-top:1.2em}.ProsemirrorEditor .ProseMirror p:first-child{margin:0}.ProsemirrorEditor .ProseMirror>p:first-child+*{margin-top:1.2em}.ProsemirrorEditor .ProsemirrorEditor{position:relative}.ProsemirrorEditor .ProsemirrorEditor .ProseMirror{padding-right:12px !important}.ProsemirrorEditor .ProsemirrorEditor img{max-width:100%}.ProsemirrorEditor .ProseMirror h1:first-child,.ProsemirrorEditor .ProseMirror h2:first-child,.ProsemirrorEditor .ProseMirror h3:first-child,.ProsemirrorEditor .ProseMirror h4:first-child,.ProsemirrorEditor .ProseMirror h5:first-child,.ProsemirrorEditor .ProseMirror h6:first-child{margin-top:10px}.ProsemirrorEditor .ProseMirror [data-mention]{color:#21A1B3}.ProsemirrorEditor .ProseMirror{outline:none}.ProsemirrorEditor .ProseMirror [data-oembed]{font-size:0}.ProsemirrorEditor .ProseMirror iframe{pointer-events:none;display:block}.ProsemirrorEditor .ProseMirror p{margin-bottom:1em}.ProsemirrorEditor .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor .ProseMirror .placeholder{padding:0 !important;pointer-events:none;height:0}.ProsemirrorEditor .ProseMirror:focus .placeholder{display:none}.ProsemirrorEditor .ProseMirror .tableWrapper{overflow-x:auto}.ProsemirrorEditor .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProsemirrorEditor .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProsemirrorEditor .ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.ProsemirrorEditor .ProseMirror-menubar-wrapper{position:relative;outline:none}.ProsemirrorEditor .ProseMirror table{margin:0}.ProsemirrorEditor .ProseMirror .tableWrapper{margin:1em 0}.ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;min-width:300px;z-index:999999;box-shadow:-0.5px 2px 5px rgba(0,0,0,0.2)}.ProseMirror-prompt h5{font-weight:bold;font-size:100%;margin:15px 0}.ProseMirror-prompt input{margin-bottom:5px}.ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:#666;border:none;background:transparent;padding:0}.ProseMirror-prompt-close:after{content:"✕";font-size:12px}.ProseMirror-invalid{background:#ffc;border:1px solid #cc7;border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}.ProseMirror-prompt-buttons{margin:15px 0;text-align:center}.atwho-view .cur{border-left:3px solid #59d6e4;background-color:#f7f7f7 !important}.atwho-user,.atwho-space,.atwho-input a{color:#59d6e4}.atwho-input a:hover{color:#59d6e4}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}[data-emoji-category]{max-height:200px;display:block;position:relative;overflow:auto}[data-emoji-category] .atwho-emoji-entry{width:24px;height:28px;overflow:hidden}[data-emoji-category] .atwho-emoji-entry.cur{background-color:#ededed !important}.emoji-nav{padding-top:10px}.emoji-nav .emoji-nav-item{border-top:2px solid #fff8e0}.emoji-nav .emoji-nav-item.cur{border-left:0;border-top:2px solid #21A1B3}[data-ui-markdown],[data-ui-richtext]{overflow-x:auto;overflow-wrap:break-word}[data-ui-markdown] a,[data-ui-richtext] a{color:#21A1B3}@media screen and (max-width:768px){.ProsemirrorEditor.focusMenu .form-control:focus{border-top-right-radius:0 !important}.ProsemirrorEditor.focusMenu .ProseMirror-menubar{min-height:1em;margin-top:0}.ProsemirrorEditor.focusMenu .humhub-ui-richtext{margin-top:0}}@media only screen and (max-width : 768px){body{padding-top:105px}.modal-open #layout-content>.container{overflow-x:unset}#layout-content .left-navigation .list-group{-webkit-overflow-scrolling:auto;white-space:nowrap;overflow-x:auto}#layout-content .left-navigation .list-group::-webkit-scrollbar{-webkit-appearance:none}#layout-content .left-navigation .list-group::-webkit-scrollbar:vertical{width:8px}#layout-content .left-navigation .list-group::-webkit-scrollbar:horizontal{height:8px}#layout-content .left-navigation .list-group::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.5);border-radius:10px;border:2px solid #ffffff}#layout-content .left-navigation .list-group::-webkit-scrollbar-track{border-radius:10px;background-color:#ffffff}#layout-content .table-responsive::-webkit-scrollbar{-webkit-appearance:none}#layout-content .table-responsive::-webkit-scrollbar:vertical{width:8px}#layout-content .table-responsive::-webkit-scrollbar:horizontal{height:8px}#layout-content .table-responsive::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.5);border-radius:10px;border:2px solid #ffffff}#layout-content .table-responsive::-webkit-scrollbar-track{border-radius:10px;background-color:#ffffff}#layout-content .panel{margin-bottom:5px}#layout-content .panel .statistics .entry{margin-left:10px}#layout-content>.container{padding-right:2px !important;padding-left:2px !important;overflow-x:hidden}#layout-content .layout-nav-container .panel-heading{display:none}#layout-content .panel-profile-header #profilefileupload,#layout-content .panel-profile-header .profile-user-photo-container,#layout-content .panel-profile-header .space-acronym,#layout-content .panel-profile-header .profile-user-photo{height:100px !important;width:100px !important}#layout-content .image-upload-container .image-upload-buttons{right:2px !important}#layout-content .space-acronym{padding:6px 0 !important}#layout-content .panel-profile .panel-profile-header .img-profile-header-background{min-height:80px !important}#layout-content .panel-profile .panel-profile-header .img-profile-data{padding-top:50px !important;padding-left:130px}.modal-dialog{width:calc(100vw - 4px) !important;padding:0 !important;margin:2px !important}.dropdown-menu>li a,.nav-pills .dropdown-menu li a,.nav-tabs .dropdown-menu li a,.account .dropdown-menu li a,.modal .dropdown-menu li a,.panel .dropdown-menu li a,.nav-tabs .dropdown-menu li a{padding-top:10px;padding-bottom:10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.dropdown-menu{max-width:320px}select.form-control:not([multiple]){padding-right:23px;width:auto}.modal.in{padding-right:0 !important}.load-suppressed{margin-top:-8px;margin-bottom:5px}.ProsemirrorEditor .ProseMirror-menuitem{font-size:1.2em !important}}.icon-sm,.fa-sm{font-size:.875em}.icon-lg,.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.icon-2x,.fa-2x{font-size:2em}.icon-3x,.fa-3x{font-size:3em}.icon-4x,.fa-4x{font-size:4em}.icon-5x,.fa-5x{font-size:5em}.icon-6x,.fa-6x{font-size:6em}.icon-7x,.fa-7x{font-size:7em}.icon-9x,.fa-9x{font-size:9em}.icon-10x,.fa-10x{font-size:10em}@media print{a[href]:after{content:none}body{padding-top:0}pre,blockquote{page-break-inside:avoid}.preferences,.layout-sidebar-container,.layout-nav-container,button{display:none !important}}/*! Select2 humhub Theme v0.1.0-beta.4 | MIT License | github.com/select2/select2-humhub-theme */.select2-container--humhub{display:block}.select2-container--humhub .select2-selection{background-color:#fff;border:2px solid #ededed;border-radius:4px;color:#555;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;outline:0}.select2-container--humhub .select2-search--dropdown .select2-search__field{background-color:#fff;border:2px solid #ededed;border-radius:4px;color:#555;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}.select2-container--humhub .select2-search__field{outline:0}.select2-container--humhub .select2-search__field::placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field::-webkit-input-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field:-moz-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field::-moz-placeholder{color:#999;font-weight:normal;opacity:1}.select2-container--humhub .select2-search__field:-ms-input-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-results__option[role=group]{padding:0}.select2-container--humhub .select2-results__option[aria-disabled=true]{color:#777;cursor:not-allowed}.select2-container--humhub .select2-results__option[aria-selected=true]{background-color:#f5f5f5;color:#262626;border-left:3px solid transparent}.select2-container--humhub .select2-results__option[aria-selected=false]{border-left:3px solid transparent}.select2-container--humhub .select2-results__option--highlighted[aria-selected]{background-color:#f7f7f7;border-left:3px solid #21A1B3;color:#000}.select2-container--humhub .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option{margin-left:-12px;padding-left:24px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-24px;padding-left:36px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-36px;padding-left:48px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-48px;padding-left:60px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-60px;padding-left:72px}.select2-container--humhub .select2-results__group{color:#777;display:block;padding:6px 12px;font-size:12px;line-height:1.42857143;white-space:nowrap}.select2-container--humhub.select2-container--focus .select2-selection,.select2-container--humhub.select2-container--open .select2-selection{border:2px solid #21A1B3;outline:0;box-shadow:none}.select2-container--humhub.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 4px 4px 4px}.select2-container--humhub .select2-selection__clear{color:#999;cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--humhub .select2-selection__clear:hover{color:#333}.select2-container--humhub.select2-container--disabled .select2-selection{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none}.select2-container--humhub.select2-container--disabled .select2-selection,.select2-container--humhub.select2-container--disabled .select2-search__field{cursor:not-allowed}.select2-container--humhub.select2-container--disabled .select2-selection,.select2-container--humhub.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#eee}.select2-container--humhub.select2-container--disabled .select2-selection__clear,.select2-container--humhub.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove{display:none}.select2-container--humhub .select2-dropdown{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);border-color:#d7d7d7;overflow-x:hidden;margin-top:-1px}.select2-container--humhub .select2-dropdown--above{margin-top:1px}.select2-container--humhub .select2-results>.select2-results__options{max-height:400px;overflow-y:auto}.select2-container--humhub .select2-selection--single{height:34px;line-height:1.42857143;padding:6px 24px 6px 12px}.select2-container--humhub .select2-selection--single .select2-selection__arrow{position:absolute;bottom:0;right:12px;top:0;width:4px}.select2-container--humhub .select2-selection--single .select2-selection__arrow b{border-color:#999 transparent transparent transparent;border-style:solid;border-width:4px 4px 0 4px;height:0;left:0;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--humhub .select2-selection--single .select2-selection__rendered{color:#555;padding:0}.select2-container--humhub .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--humhub .select2-selection--multiple{min-height:34px;padding:2px}.select2-container--humhub .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;display:block;line-height:1.42857143;list-style:none;margin:0;overflow:hidden;padding:0;width:100%;text-overflow:ellipsis;white-space:nowrap}.select2-container--humhub .select2-selection--multiple .select2-selection__placeholder{color:#999;float:left;margin-top:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice{color:#555;border-radius:4px;cursor:default;padding:0 6px;background-color:#21A1B3;color:#fff;border-radius:3px;font-size:12px !important;padding:0 5px 2px 2px;float:left;margin:2px;height:28px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice img,.select2-container--humhub .select2-selection--multiple .select2-selection__choice div{margin-right:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice span.no-image{line-height:27px;padding-left:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice i{margin:0px 2px;line-height:27px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice .picker-close{cursor:pointer}.select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{background:transparent;padding:0 5px;width:auto !important;height:32px;line-height:1.42857143;margin-top:0;min-width:5em}.select2-container--humhub .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:none;font-weight:bold;margin-right:3px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:6px}.select2-container--humhub.input-sm,.select2-container--humhub.input-lg{border-radius:0;font-size:12px;height:auto;line-height:1;padding:0}.select2-container--humhub.input-sm .select2-selection--single,.input-group-sm .select2-container--humhub .select2-selection--single,.form-group-sm .select2-container--humhub .select2-selection--single{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 22px 5px 10px}.select2-container--humhub.input-sm .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--humhub .select2-selection--single .select2-selection__arrow b,.form-group-sm .select2-container--humhub .select2-selection--single .select2-selection__arrow b{margin-left:-5px}.select2-container--humhub.input-sm .select2-selection--multiple,.input-group-sm .select2-container--humhub .select2-selection--multiple,.form-group-sm .select2-container--humhub .select2-selection--multiple{min-height:30px}.select2-container--humhub.input-sm .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__choice,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__choice{font-size:12px;line-height:1.5;margin:4px 0 0 5px;padding:0 5px}.select2-container--humhub.input-sm .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 10px;font-size:12px;height:28px;line-height:1.5}.select2-container--humhub.input-sm .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__clear,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:5px}.select2-container--humhub.input-lg .select2-selection--single,.input-group-lg .select2-container--humhub .select2-selection--single,.form-group-lg .select2-container--humhub .select2-selection--single{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 31px 10px 16px}.select2-container--humhub.input-lg .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow,.form-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow{width:5px}.select2-container--humhub.input-lg .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow b,.form-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow b{border-width:5px 5px 0 5px;margin-left:-5px;margin-left:-10px;margin-top:-2.5px}.select2-container--humhub.input-lg .select2-selection--multiple,.input-group-lg .select2-container--humhub .select2-selection--multiple,.form-group-lg .select2-container--humhub .select2-selection--multiple{min-height:46px}.select2-container--humhub.input-lg .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__choice,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__choice{font-size:18px;line-height:1.3333333;border-radius:4px;margin:9px 0 0 8px;padding:0 10px}.select2-container--humhub.input-lg .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 16px;font-size:18px;height:44px;line-height:1.3333333}.select2-container--humhub.input-lg .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__clear,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:10px}.select2-container--humhub.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 5px 5px 5px}.input-group-lg .select2-container--humhub.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 5px 5px 5px}.select2-container--humhub[dir="rtl"] .select2-selection--single{padding-left:24px;padding-right:12px}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:12px;right:auto}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:0;margin-right:6px}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#f8b763}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fce4c5;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fce4c5;border-color:#f6a032}.has-warning.select2-drop-active{border-color:#f6a032}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#f6a032}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#FC4A64}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #feaeba;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #feaeba;border-color:#fb1839}.has-error.select2-drop-active{border-color:#fb1839}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#fb1839}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#97d271}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d0ebbe;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d0ebbe;border-color:#7bc64a}.has-success.select2-drop-active{border-color:#7bc64a}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#7bc64a}.input-group .select2-container--humhub{display:table;table-layout:fixed;position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group.select2-humhub-prepend .select2-container--humhub .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.select2-humhub-append .select2-container--humhub .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.select2-humhub-append .select2-container--humhub,.select2-humhub-prepend .select2-container--humhub,.select2-humhub-append .input-group-btn,.select2-humhub-prepend .input-group-btn,.select2-humhub-append .input-group-btn .btn,.select2-humhub-prepend .input-group-btn .btn{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute !important;width:1px !important}.form-inline .select2-container--humhub{display:inline-block}ul.tag_input{list-style:none;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;padding:0 0 9px 4px}ul.tag_input li img{margin:0 5px 0 0}.tag_input_field{outline:none;border:none !important;padding:5px 4px 0 !important;width:170px;margin:2px 0 0 !important}.userInput,.spaceInput{background-color:#21A1B3;font-weight:600;color:#fff;border-radius:3px;font-size:12px !important;padding:2px;float:left;margin:3px 4px 0 0}.userInput i,.spaceInput i{padding:0 6px;font-size:14px;cursor:pointer;line-height:8px} +.colorDefault{color:#f3f3f3}.backgroundDefault{background:#f3f3f3}.borderDefault{border-color:#f3f3f3}.colorPrimary{color:#435f6f !important}.backgroundPrimary{background:#435f6f !important}.borderPrimary{border-color:#435f6f !important}.colorInfo{color:#21A1B3 !important}.backgroundInfo{background:#21A1B3 !important}.borderInfo{border-color:#21A1B3 !important}.colorLink{color:#21A1B3 !important}.colorSuccess{color:#97d271 !important}.backgroundSuccess{background:#97d271 !important}.borderSuccess{border-color:#97d271 !important}.colorWarning{color:#f8b763 !important}.backgroundWarning{background:#f8b763 !important}.borderWarning{border-color:#f8b763 !important}.colorDanger{color:#FC4A64 !important}.backgroundDanger{background:#FC4A64 !important}.borderDanger{border-color:#FC4A64 !important}.colorFont1{color:#bac2c7 !important}.colorFont2{color:#7a7a7a !important}.colorFont3{color:#000 !important}.colorFont4{color:#555555 !important}.colorFont5{color:#aeaeae !important}.heading{font-size:16px;font-weight:300;color:#000;background-color:white;border:none;padding:10px}.text-center{text-align:center !important}.text-break{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.img-rounded{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;padding-top:130px;background-color:#ededed;color:#555;font-family:'Open Sans',sans-serif}body a,body a:hover,body a:focus,body a:active,body a.active{color:#000;text-decoration:none}a:hover{text-decoration:none}hr{margin-top:10px;margin-bottom:10px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{position:inherit}.layout-content-container{padding:0 10px 0 15px}.layout-nav-container{padding:0 0 0 15px}.layout-sidebar-container{padding:0 15px 0 5px}@media (max-width:768px){.layout-nav-container .left-navigation{margin-bottom:0}.layout-nav-container,.layout-content-container{padding:0 15px}}h4{font-weight:300;font-size:150%}input[type=text],input[type=password],input[type=select]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.powered,.powered a{color:#b8c7d3 !important}.langSwitcher{display:inline-block}[data-ui-show-more]{overflow:hidden}@media (min-width:768px) and (max-width:991px){.layout-nav-container,.layout-content-container{color:#123456;padding:0 15px}body{padding-top:120px}}@media print{#topbar-first,#topbar-second{display:none}}span.likeLinkContainer .like.disabled,span.likeLinkContainer .unlike.disabled{pointer-events:none;cursor:default;text-decoration:none;color:lightgrey}.panel-body a[data-toggle],.modal-body a[data-toggle]{color:#21A1B3}.showMore{font-size:13px}.table-responsive{word-wrap:normal;overflow-wrap:normal;word-break:normal;-moz-hyphens:none;hyphens:none}.topbar{position:fixed;display:block;height:50px;width:100%;padding-left:15px;padding-right:15px}.topbar ul.nav{float:left}.topbar ul.nav>li{float:left}.topbar ul.nav>li>a{padding-top:15px;padding-bottom:15px;line-height:20px}.topbar .dropdown-footer{margin:10px}.topbar .dropdown-header{font-size:16px;padding:3px 10px;margin-bottom:10px;font-weight:300;color:#555555}.topbar .dropdown-header .dropdown-header-link{position:absolute;top:2px;right:10px}.topbar .dropdown-header .dropdown-header-link a{color:#21A1B3 !important;font-size:12px;font-weight:normal}.topbar .dropdown-header:hover{color:#555555}#topbar-first{background-color:#435f6f;top:0;z-index:1030;color:white}#topbar-first a.navbar-brand{height:50px;padding:5px}#topbar-first a.navbar-brand img#img-logo{max-height:40px}#topbar-first a.navbar-brand-text{padding-top:15px}#topbar-first .nav>li>a:hover,#topbar-first .nav>.open>a{background-color:#567a8f}#topbar-first .nav>.account{height:50px;margin-left:20px}#topbar-first .nav>.account img{margin-left:10px}#topbar-first .nav>.account .dropdown-toggle{padding:10px 5px 8px;line-height:1.1em;text-align:left}#topbar-first .nav>.account .dropdown-toggle span{font-size:12px}#topbar-first .topbar-brand{position:relative;z-index:2}#topbar-first .topbar-actions{position:relative;z-index:3}#topbar-first .notifications{position:absolute;left:0;right:0;text-align:center;z-index:1}#topbar-first .notifications .btn-group{position:relative;text-align:left}#topbar-first .notifications .btn-group>a{padding:5px 10px;margin:10px 2px;display:inline-block;border-radius:2px;text-decoration:none;text-align:left}#topbar-first .notifications .btn-group>.label{position:absolute;top:4px;right:-2px}#topbar-first .notifications .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px;content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff;z-index:1035}#topbar-first .notifications .arrow{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;z-index:1001;border-width:11px;left:50%;margin-left:-18px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.15);top:-19px;z-index:1035}#topbar-first .notifications .dropdown-menu{width:350px;margin-left:-148px}#topbar-first .notifications .dropdown-menu ul.media-list{max-height:400px;overflow:auto}#topbar-first .notifications .dropdown-menu li{position:relative}#topbar-first .notifications .dropdown-menu li i.approval{position:absolute;left:2px;top:36px;font-size:14px}#topbar-first .notifications .dropdown-menu li i.accepted{color:#5cb85c}#topbar-first .notifications .dropdown-menu li i.declined{color:#d9534f}#topbar-first .notifications .dropdown-menu li .media{position:relative}#topbar-first .notifications .dropdown-menu li .media .img-space{position:absolute;top:14px;left:14px}#topbar-first .dropdown-footer{margin:10px 10px 5px}#topbar-first a{color:white}#topbar-first .caret{border-top-color:#fff}#topbar-first .btn-group>a{background-color:#4d6d7f}#topbar-first .btn-enter{background-color:#4d6d7f;margin:6px 0}#topbar-first .btn-enter:hover{background-color:#527588}#topbar-first .media-list a{color:#000;padding:0}#topbar-first .media-list li{color:#000}#topbar-first .media-list li i.accepted{color:#21A1B3 !important}#topbar-first .media-list li i.declined{color:#FC4A64 !important}#topbar-first .media-list li.placeholder{border-bottom:none}#topbar-first .media-list .media .media-body .label{padding:.1em .5em}#topbar-first .account .user-title{text-align:right}#topbar-first .account .user-title span{color:#d7d7d7}#topbar-first .dropdown.account>a,#topbar-first .dropdown.account.open>a,#topbar-first .dropdown.account>a:hover,#topbar-first .dropdown.account.open>a:hover{background-color:#435f6f}#topbar-second{top:50px;background-color:#fff;z-index:1029;background-image:none;-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1);border-bottom:1px solid #d4d4d4}#topbar-second .dropdown-menu{padding-top:0;padding-bottom:0}#topbar-second .dropdown-menu .divider{margin:0}#topbar-second #space-menu-dropdown,#topbar-second #search-menu-dropdown{width:400px}#topbar-second #space-menu-dropdown .media-list,#topbar-second #search-menu-dropdown .media-list{max-height:400px;overflow:auto}@media screen and (max-width:768px){#topbar-second #space-menu-dropdown .media-list,#topbar-second #search-menu-dropdown .media-list{max-height:200px}}#topbar-second #space-menu-dropdown form,#topbar-second #search-menu-dropdown form{margin:10px}#topbar-second #space-menu-dropdown .search-reset,#topbar-second #search-menu-dropdown .search-reset{position:absolute;color:#BFBFBF;margin:7px;top:0px;right:40px;z-index:10;display:none;cursor:pointer}#topbar-second .nav>li>a{padding:7px 13px 0;text-decoration:none;text-shadow:none;font-weight:600;font-size:10px;min-height:50px;text-transform:uppercase;text-align:center}#topbar-second .nav>li>a:hover,#topbar-second .nav>li>a:active,#topbar-second .nav>li>a:focus{border-bottom:3px solid #21A1B3;background-color:#f7f7f7;color:#000;text-decoration:none}#topbar-second .nav>li>a i{font-size:14px}#topbar-second .nav>li>a .caret{border-top-color:#7a7a7a}#topbar-second .nav>li.active>a{min-height:47px}#topbar-second .nav>li>ul>li>a{border-left:3px solid #fff;background-color:#fff;color:#000}#topbar-second .nav>li>ul>li>a:hover,#topbar-second .nav>li>ul>li>a.active{border-left:3px solid #21A1B3;background-color:#f7f7f7;color:#000}#topbar-second .nav>li>a#space-menu{padding-right:13px;border-right:1px solid #ededed}#topbar-second .nav>li>a#search-menu{padding-top:15px}#topbar-second .nav>li>a:hover,#topbar-second .nav>li.active{border-bottom:3px solid #21A1B3;background-color:#f7f7f7;color:#000}#topbar-second .nav>li.active>a:hover,#topbar-second .nav>li.active>a:focus{border-bottom:none}#topbar-second #space-menu-dropdown li>ul>li>a>.media .media-body p{color:#555555;font-size:11px;margin:0;font-weight:400}@media (max-width:767px){.topbar{padding-left:0;padding-right:0}}.login-container{background-color:#435f6f;background-image:linear-gradient(to right, #435f6f 0%, #567a8f 50%, #567a8f 100%),linear-gradient(to right, #4d6d7f 0%, #7fa0b2 51%, #7094a8 100%);background-size:100% 100%;position:relative;padding-top:40px}.login-container #img-logo{max-width:100%}.login-container .text{color:#fff;font-size:12px;margin-bottom:15px}.login-container .text a{color:#fff;text-decoration:underline}.login-container .panel a{color:#21A1B3}.login-container h1,.login-container h2{color:#fff !important}.login-container .panel{box-shadow:0 0 15px #627d92;-moz-box-shadow:0 0 15px #627d92;-webkit-box-shadow:0 0 15px #627d92}.login-container .panel .panel-heading,.login-container .panel .panel-body{padding:15px}.login-container .panel h1,.login-container .panel h2{color:#555 !important}.login-container select{color:#000}#account-login-form .form-group{margin-bottom:10px}.dropdown-menu li a i{margin-right:5px;font-size:14px;display:inline-block;width:14px}.dropdown-menu li a:hover,.dropdown-menu li a:visited,.dropdown-menu li a:hover,.dropdown-menu li a:focus{background:none;cursor:pointer}.dropdown-menu li:hover,.dropdown-menu li.selected{color:#000}.dropdown-menu li:first-child{margin-top:3px}.dropdown-menu li:last-child{margin-bottom:3px}.modal .dropdown-menu,.panel .dropdown-menu,.nav-tabs .dropdown-menu{border:1px solid #d7d7d7}.modal .dropdown-menu li.divider,.panel .dropdown-menu li.divider,.nav-tabs .dropdown-menu li.divider{background-color:#f7f7f7;border-bottom:none;margin:9px 1px !important}.modal .dropdown-menu li,.panel .dropdown-menu li,.nav-tabs .dropdown-menu li{border-left:3px solid white}.modal .dropdown-menu li a,.panel .dropdown-menu li a,.nav-tabs .dropdown-menu li a{color:#000;font-size:13px;font-weight:600;padding:4px 15px}.modal .dropdown-menu li a i,.panel .dropdown-menu li a i,.nav-tabs .dropdown-menu li a i{margin-right:5px}.modal .dropdown-menu li a:hover,.panel .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover{background:none}.modal .dropdown-menu li:hover,.panel .dropdown-menu li:hover,.nav-tabs .dropdown-menu li:hover,.modal .dropdown-menu li.selected,.panel .dropdown-menu li.selected,.nav-tabs .dropdown-menu li.selected{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}ul.contextMenu{border:1px solid #d7d7d7}ul.contextMenu li.divider{background-color:#f7f7f7;border-bottom:none;margin:9px 1px !important}ul.contextMenu li{border-left:3px solid white}ul.contextMenu li a{color:#000;font-size:14px;font-weight:400;padding:4px 15px}ul.contextMenu li a i{margin-right:5px}ul.contextMenu li a:hover{background:none}ul.contextMenu li:hover,ul.contextMenu li.selected{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}.media-list li{padding:10px;border-bottom:1px solid #eee;position:relative;border-left:3px solid white;font-size:12px}.media-list li a{color:#555}.media-list .badge-space-type{background-color:#f7f7f7;border:1px solid #d7d7d7;color:#b2b2b2;padding:3px 3px 2px 3px}.media-list li.new{border-left:3px solid #21A1B3;background-color:#c5eff4}.media-list li:hover,.media-list li.selected{background-color:#f7f7f7;border-left:3px solid #21A1B3}.media-list li.placeholder{font-size:14px !important;border-bottom:none}.media-list li.placeholder:hover{background:none !important;border-left:3px solid white}.media-left,.media>.pull-left{padding-right:0;margin-right:10px}.media:after{content:'';clear:both;display:block}.media .time{font-size:11px;color:#555555}.media .img-space{position:absolute;top:35px;left:35px}.media .media-body{overflow:hidden !important;font-size:13px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.media .media-body h4.media-heading{font-size:14px;font-weight:500;color:#000}.media .media-body h4.media-heading a{color:#000}.media .media-body h4.media-heading small,.media .media-body h4.media-heading small a{font-size:11px;color:#555555}.media .media-body h4.media-heading .content{margin-right:35px}.media .media-body .content a{word-break:break-all}.media .media-body strong{color:#000}.media .media-body h5{color:#aeaeae;font-weight:300;margin-top:5px;margin-bottom:5px;min-height:15px}.media .media-body .module-controls{font-size:85%}.media .media-body .module-controls a{color:#21A1B3}.media .content a{color:#21A1B3}.media .content .files a{color:#000}.content span{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}#blueimp-gallery .slide img{max-height:80%}audio,canvas,progress,video{display:inline-block;vertical-align:baseline;max-width:100%;height:auto}img{image-orientation:from-image}.panel{word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;border:none;background-color:#fff;box-shadow:0 0 3px #dadada;-webkit-box-shadow:0 0 3px #dadada;-moz-box-shadow:0 0 3px #dadada;border-radius:4px;position:relative;margin-bottom:15px}.panel h1{font-size:16px;font-weight:300;margin-top:0;color:#000}.panel .panel-heading{font-size:16px;font-weight:300;color:#000;background-color:white;border:none;padding:10px;border-radius:4px}.panel .panel-heading .heading-link{color:#6fdbe8 !important;font-size:.8em}.panel .panel-body{padding:10px;font-size:13px}.panel .panel-body p{color:#555}.panel .panel-body p a{color:#21A1B3}.panel .panel-body .usersearch-statuses,.panel .panel-body .spacesearch-visibilities{padding-top:5px;padding-bottom:5px}@media (min-width:992px){.panel .panel-body .usersearch-statuses,.panel .panel-body .spacesearch-visibilities{padding-top:0;padding-bottom:0;padding-left:0}}.panel .statistics .entry{margin-left:20px;font-size:12px;color:#000}.panel .statistics .entry .count{color:#21A1B3;font-weight:600;font-size:20px;line-height:.8em}.panel h3.media-heading small{font-size:75%}.panel h3.media-heading small a{color:#21A1B3}.panel-danger{border:2px solid #FC4A64}.panel-danger .panel-heading{color:#FC4A64}.panel-success{border:2px solid #97d271}.panel-success .panel-heading{color:#97d271}.panel-warning{border:2px solid #f8b763}.panel-warning .panel-heading{color:#f8b763}.panel.profile{position:relative}.panel.profile .controls{position:absolute;top:10px;right:10px}.panel.members .panel-body a img,.panel.groups .panel-body a img,.panel.follower .panel-body a img,.panel.spaces .panel-body a img{margin-bottom:5px}.panel-profile .panel-profile-header{position:relative;border:3px solid #fff;border-top-right-radius:3px;border-top-left-radius:3px}.panel-profile .panel-profile-header .img-profile-header-background{border-radius:3px;min-height:110px}.panel-profile .panel-profile-header .img-profile-data{position:absolute;height:100px;width:100%;bottom:0;left:0;padding-left:180px;padding-top:30px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;color:#fff;pointer-events:none;background:-moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0,0,0,0)), color-stop(1%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.38)));background:-webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:-ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,0.38) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#94000000', GradientType=0)}.panel-profile .panel-profile-header .img-profile-data h1{font-size:30px;font-weight:100;margin-bottom:7px;color:#fff;max-width:600px;white-space:nowrap;text-overflow:ellipsis}.panel-profile .panel-profile-header .img-profile-data h2{font-size:16px;font-weight:400;margin-top:0}.panel-profile .panel-profile-header .img-profile-data h1.space{font-size:30px;font-weight:700}.panel-profile .panel-profile-header .img-profile-data h2.space{font-size:13px;font-weight:300;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-profile .panel-profile-header .profile-user-photo-container{position:absolute;bottom:-50px;left:15px}.panel-profile .panel-profile-header .profile-user-photo-container .profile-user-photo{border:3px solid #fff;border-radius:5px}.panel-profile .panel-profile-controls{padding-left:160px}.panel.pulse,.panel.fadeIn{-webkit-animation-duration:200ms;-moz-animation-duration:200ms;animation-duration:200ms}@media (max-width:767px){.panel-profile-controls{padding-left:0 !important;padding-top:50px}.panel-profile .panel-profile-header .img-profile-data h1{font-size:20px !important;margin-bottom:2px}}.panel-body>.tab-menu{margin-left:-10px;margin-right:-10px}.installer .logo{text-align:center}.installer h2{font-weight:100}.installer .panel{margin-top:50px}.installer .panel h3{margin-top:0}.installer .powered,.installer .powered a{color:#bac2c7 !important;margin-top:10px;font-size:12px}.installer .fa{width:18px}.installer .check-ok{color:#97d271}.installer .check-warning{color:#f8b763}.installer .check-error{color:#FC4A64}.installer .prerequisites-list ul{list-style:none;padding-left:15px}.installer .prerequisites-list ul li{padding-bottom:5px}.pagination-container{text-align:center}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{background-color:#435f6f;border-color:#435f6f}.pagination>li>a,.pagination>li>span,.pagination>li>a:hover,.pagination>li>a:active,.pagination>li>a:focus{color:#000;cursor:pointer}.well-small{padding:10px;border-radius:3px}.well{border:none;box-shadow:none;background-color:#f5f5f5;margin-bottom:1px}.well hr{margin:10px 0;border-top:1px solid #d9d9d9}.well table>thead{font-size:11px}.tab-sub-menu{padding-left:10px}.tab-sub-menu li>a:hover,.tab-sub-menu li>a:focus{background-color:#f7f7f7;border-bottom-color:#ddd}.tab-sub-menu li.active>a{background-color:#fff;border-bottom-color:transparent}.nav-tabs>li>a,.nav-tabs>li>a[data-toggle]{color:#555}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus,.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{color:#000}.tab-menu{padding-top:10px;background-color:#fff}.tab-menu .nav-tabs{padding-left:10px}.tab-menu .nav-tabs li>a{padding-top:12px;border-color:#ddd;border-bottom:1px solid #ddd;background-color:#f7f7f7;max-height:41px;outline:none}.tab-menu .nav-tabs li>a:hover,.tab-menu .nav-tabs li>a:focus{padding-top:10px;border-top:3px solid #ddd}.tab-menu .nav-tabs li>a:hover{background-color:#f7f7f7}.tab-menu .nav-tabs li.active>a,.tab-menu .nav-tabs li.active>a:hover{padding-top:10px;border-top:3px solid #21A1B3}.tab-menu .nav-tabs li.active>a{background-color:#fff;border-bottom-color:transparent}ul.tab-menu{padding-top:10px;background-color:#fff;padding-left:10px}ul.tab-menu-settings li>a{padding-top:12px;border-color:#ddd;border-bottom:1px solid #ddd;background-color:#f7f7f7;max-height:41px;outline:none}ul.tab-menu-settings li>a:hover,ul.tab-menu-settings li>a:focus{padding-top:10px;border-top:3px solid #ddd !important}ul.tab-menu-settings li>a:hover{background-color:#f7f7f7}ul.tab-menu-settings li.active>a,ul.tab-menu-settings li.active>a:hover,ul.tab-menu-settings li.active>a:focus{padding-top:10px;border-top:3px solid #21A1B3 !important}ul.tab-menu-settings li.active>a{background-color:#fff;border-bottom-color:transparent !important}.nav-pills .dropdown-menu,.nav-tabs .dropdown-menu,.account .dropdown-menu{background-color:#435f6f;border:none}.nav-pills .dropdown-menu li.divider,.nav-tabs .dropdown-menu li.divider,.account .dropdown-menu li.divider{background-color:#39515f;border-bottom:none;margin:9px 1px !important}.nav-pills .dropdown-menu li,.nav-tabs .dropdown-menu li,.account .dropdown-menu li{border-left:3px solid #435f6f}.nav-pills .dropdown-menu li a,.nav-tabs .dropdown-menu li a,.account .dropdown-menu li a{color:white;font-weight:400;font-size:13px;padding:4px 15px}.nav-pills .dropdown-menu li a i,.nav-tabs .dropdown-menu li a i,.account .dropdown-menu li a i{margin-right:5px;font-size:14px;display:inline-block;width:14px}.nav-pills .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover,.account .dropdown-menu li a:hover,.nav-pills .dropdown-menu li a:visited,.nav-tabs .dropdown-menu li a:visited,.account .dropdown-menu li a:visited,.nav-pills .dropdown-menu li a:hover,.nav-tabs .dropdown-menu li a:hover,.account .dropdown-menu li a:hover,.nav-pills .dropdown-menu li a:focus,.nav-tabs .dropdown-menu li a:focus,.account .dropdown-menu li a:focus{background:none}.nav-pills .dropdown-menu li:hover,.nav-tabs .dropdown-menu li:hover,.account .dropdown-menu li:hover,.nav-pills .dropdown-menu li.selected,.nav-tabs .dropdown-menu li.selected,.account .dropdown-menu li.selected{border-left:3px solid #21A1B3;color:#fff !important;background-color:#39515f !important}.nav-pills.preferences .dropdown .dropdown-toggle i{color:#21A1B3;font-size:15px;font-weight:600}.nav-pills.preferences .dropdown.open .dropdown-toggle,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover{background-color:#435f6f}.nav-pills.preferences .dropdown.open .dropdown-toggle i,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover i{color:#fff}.nav-pills.preferences li.divider:last-of-type{display:none}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{background-color:#435f6f}.nav-tabs{margin-bottom:10px}.list-group a [class^="fa-"],.list-group a [class*=" fa-"]{display:inline-block;width:18px}.nav-pills.preferences{position:absolute;right:10px;top:10px}.nav-pills.preferences .dropdown .dropdown-toggle{padding:2px 5px}.nav-pills.preferences .dropdown.open .dropdown-toggle,.nav-pills.preferences .dropdown.open .dropdown-toggle:hover{color:white}.nav-tabs li{font-weight:600;font-size:12px}.tab-content .tab-pane a{color:#21A1B3}.tab-content .tab-pane .form-group{margin-bottom:5px}.nav-tabs.tabs-center li{float:none;display:inline-block}.nav-tabs.tabs-small li>a{padding:5px 7px}.nav .caret,.nav .caret:hover,.nav .caret:active{border-top-color:#000;border-bottom-color:#000;height:6.928px}.nav li.dropdown>a:hover .caret,.nav li.dropdown>a:active .caret{border-top-color:#000;border-bottom-color:#000}.nav .open>a .caret,.nav .open>a:hover .caret,.nav .open>a:focus .caret{border-top-color:#000;border-bottom-color:#000}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:#ededed;color:#000}.nav .open>a .caret,.nav .open>a:hover .caret,.nav .open>a:focus .caret{color:#000}.footer-nav{filter:opacity(.6);font-size:12px;text-align:center}@media (max-width:991px){.controls-header{text-align:left !important}}.btn{float:none;border:none;-webkit-box-shadow:none;box-shadow:none;-moz-box-shadow:none;background-image:none;text-shadow:none;border-radius:3px;outline:none !important;margin-bottom:0;font-size:14px;font-weight:600;padding:8px 16px}.input.btn{outline:none}.btn-lg{padding:16px 28px}.btn-sm{padding:4px 8px;font-size:12px}.btn-sm i{font-size:14px}.btn-xs{padding:1px 5px;font-size:12px}.btn-default{background:#f3f3f3;color:#7a7a7a !important}.btn-default:hover,.btn-default:focus{background:#eee;text-decoration:none;color:#7a7a7a}.btn-default:active,.btn-default.active{outline:0;background:#e6e6e6}.btn-default[disabled],.btn-default.disabled{background:#f8f8f8}.btn-default[disabled]:hover,.btn-default.disabled:hover,.btn-default[disabled]:focus,.btn-default.disabled:focus{background:#f8f8f8}.btn-default[disabled]:active,.btn-default.disabled:active,.btn-default[disabled].active,.btn-default.disabled.active{background:#f8f8f8}.btn-primary{background:#435f6f;color:#fff !important}.btn-primary:hover,.btn-primary:focus{background:#39515f;text-decoration:none}.btn-primary:active,.btn-primary.active{outline:0;border:1px solid #435f6f;padding:7px 15px;color:#435f6f !important;background:#fff !important;box-shadow:none}.btn-primary:active.btn-sm,.btn-primary.active.btn-sm{padding:3px 7px}.btn-primary.active:hover,.btn-primary.active:focus{border:1px solid #39515f;color:#39515f !important}.btn-primary[disabled],.btn-primary.disabled{background:#4d6d7f}.btn-primary[disabled]:hover,.btn-primary.disabled:hover,.btn-primary[disabled]:focus,.btn-primary.disabled:focus{background:#4d6d7f}.btn-primary[disabled]:active,.btn-primary.disabled:active,.btn-primary[disabled].active,.btn-primary.disabled.active{background:#4d6d7f !important}.btn-info{background:#21A1B3;color:#fff !important}.btn-info:hover,.btn-info:focus{background:#1d8e9d !important;text-decoration:none}.btn-info:active,.btn-info.active{outline:0;border:1px solid #21A1B3;padding:7px 15px;color:#21A1B3 !important;background:#fff !important;box-shadow:none}.btn-info:active.btn-sm,.btn-info.active.btn-sm{padding:3px 7px}.btn-info.active:hover,.btn-info.active:focus{border:1px solid #1d8e9d;color:#1d8e9d !important}.btn-info[disabled],.btn-info.disabled{background:#25b4c9}.btn-info[disabled]:hover,.btn-info.disabled:hover,.btn-info[disabled]:focus,.btn-info.disabled:focus{background:#25b4c9}.btn-info[disabled]:active,.btn-info.disabled:active,.btn-info[disabled].active,.btn-info.disabled.active{background:#25b4c9 !important}.btn-danger{background:#FC4A64;color:#fff !important}.btn-danger:hover,.btn-danger:focus{background:#fc314f;text-decoration:none}.btn-danger:active,.btn-danger.active{outline:0;background:#fc314f !important}.btn-danger[disabled],.btn-danger.disabled{background:#fc6379}.btn-danger[disabled]:hover,.btn-danger.disabled:hover,.btn-danger[disabled]:focus,.btn-danger.disabled:focus{background:#fc6379}.btn-danger[disabled]:active,.btn-danger.disabled:active,.btn-danger[disabled].active,.btn-danger.disabled.active{background:#fc6379 !important}.btn-success{background:#97d271;color:#fff !important}.btn-success:hover,.btn-success:focus{background:#89cc5e;text-decoration:none}.btn-success:active,.btn-success.active{outline:0;background:#89cc5e !important}.btn-success[disabled],.btn-success.disabled{background:#a5d884}.btn-success[disabled]:hover,.btn-success.disabled:hover,.btn-success[disabled]:focus,.btn-success.disabled:focus{background:#a5d884}.btn-success[disabled]:active,.btn-success.disabled:active,.btn-success[disabled].active,.btn-success.disabled.active{background:#a5d884 !important}.btn-warning{background:#f8b763;color:#fff !important}.btn-warning:hover,.btn-warning:focus{background:#f8b259;text-decoration:none}.btn-warning:active,.btn-warning.active{outline:0;background:#f8b259 !important}.btn-warning[disabled],.btn-warning.disabled{background:#f9c27b}.btn-warning[disabled]:hover,.btn-warning.disabled:hover,.btn-warning[disabled]:focus,.btn-warning.disabled:focus{background:#f9c27b}.btn-warning[disabled]:active,.btn-warning.disabled:active,.btn-warning[disabled].active,.btn-warning.disabled.active{background:#f9c27b !important}.btn-link{color:#21A1B3 !important}.btn-link:hover,.btn-link:focus{color:#1f99aa;text-decoration:none}.btn-link:active,.btn-link.active{outline:0;color:#1f99aa !important}.btn-link[disabled],.btn-link.disabled{color:#25b4c9}.btn-link[disabled]:hover,.btn-link.disabled:hover,.btn-link[disabled]:focus,.btn-link.disabled:focus{color:#25b4c9}.btn-link[disabled]:active,.btn-link.disabled:active,.btn-link[disabled].active,.btn-link.disabled.active{color:#25b4c9 !important}.radio,.checkbox{margin-top:5px !important;margin-bottom:0}div.required>label:after{content:" *";color:#21A1B3}div.required.has-error>label:after{content:" *";color:#FC4A64}.radio label,.checkbox label{padding-left:10px}.form-control{border:2px solid #ededed;box-shadow:none;min-height:35px}.form-control:focus{border:2px solid #21A1B3;outline:0;box-shadow:none}.form-control.form-search{border-radius:30px;background-image:url("../img/icon_search16x16.png");background-repeat:no-repeat;background-position:10px 8px;padding-left:34px}.form-group-search{position:relative}.form-group-search .form-button-search{position:absolute;top:4px;right:4px;border-radius:30px}textarea{resize:none;height:1.5em}select.form-control:not([multiple]){-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("../img/select_arrow.png") !important;background-repeat:no-repeat;background-position:right 13px;overflow:hidden}label{font-weight:normal}div.PendingRegistrations thead>tr>th>label,div.PendingRegistrations tbody>tr>td>label{margin-bottom:0;height:17px}label.control-label{font-weight:bold}::placeholder{color:#bac2c7 !important}::-webkit-input-placeholder{color:#bac2c7 !important}::-moz-placeholder{color:#bac2c7 !important}:-ms-input-placeholder{color:#bac2c7 !important}input::-ms-clear,input::-ms-reveal{display:none}input:-moz-placeholder{color:#555555 !important}.placeholder{padding:10px}input.placeholder,textarea.placeholder{padding:0 0 0 10px;color:#999}.help-block-error{font-size:12px}.hint-block,.help-block:not(.help-block-error){color:#aeaeae !important;font-size:12px}.hint-block:hover,.help-block:not(.help-block-error):hover{color:#7a7a7a !important;font-size:12px}.input-group-addon{border:none}a.input-field-addon{font-size:12px;float:right;margin-top:-10px}a.input-field-addon-sm{font-size:11px;float:right;margin-top:-10px}.timeZoneInputContainer{padding-top:10px}.timeZoneInputContainer~.help-block{margin:0px}.regular-checkbox:checked+.regular-checkbox-box{border:2px solid #21A1B3;background:#21A1B3;color:white}.regular-checkbox-box.disabled{background:#d7d7d7 !important;border:2px solid #d7d7d7 !important;cursor:not-allowed}.regular-radio:checked+.regular-radio-button:after{background:#21A1B3}.regular-radio:checked+.regular-radio-button{background-color:transparent;color:#99a1a7;border:2px solid #d7d7d7;margin-right:5px}.regular-radio.disabled{background:#d7d7d7 !important;border:2px solid #d7d7d7 !important;cursor:not-allowed}div.form-group div.checkbox .help-block{margin-left:33px}div.form-group div.checkbox .help-block.help-block-error:empty{display:none}.errorMessage{color:#FC4A64;padding:10px 0}.error{border-color:#FC4A64 !important}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#FC4A64 !important}.has-error .form-control,.has-error .form-control:focus{border-color:#FC4A64;-webkit-box-shadow:none;box-shadow:none}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#97d271}.has-success .form-control,.has-success .form-control:focus{border-color:#97d271;-webkit-box-shadow:none;box-shadow:none}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#f8b763}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f8b763;-webkit-box-shadow:none;box-shadow:none}.bootstrap-timepicker-widget .form-control{padding:0}.form-collapsible-fields{margin-bottom:12px;border-left:3px solid #435f6f;background-color:#F4F4F4}.form-collapsible-fields-label{margin-bottom:0px;padding:12px}.form-collapsible-fields fieldset{padding-top:15px;padding-left:12px;padding-right:12px}.form-collapsible-fields.opened fieldset{display:block}.form-collapsible-fields.opened .iconClose{display:inline}.form-collapsible-fields.opened .iconOpen{display:none}.form-collapsible-fields.closed fieldset,.form-collapsible-fields.closed .iconClose{display:none}.form-collapsible-fields.closed .iconOpen{display:inline}#notification_overview_filter label{display:block}#notification_overview_list .img-space{position:absolute;top:25px;left:25px}@media (max-width:767px){.notifications{position:inherit !important;float:left !important}.notifications .dropdown-menu{width:300px !important;margin-left:0 !important}.notifications .dropdown-menu .arrow{margin-left:-142px !important}}.badge-space{margin-top:6px}.badge-space-chooser{padding:3px 5px;margin-left:1px}.badge{padding:3px 5px;border-radius:2px;font-weight:normal;font-family:Arial,sans-serif;font-size:10px !important;text-transform:uppercase;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:none;background-color:#d7d7d7;line-height:1}.popover{border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.popover .popover-title{background:none;border-bottom:none;color:#000;font-weight:300;font-size:16px;padding:15px}.popover .popover-content{font-size:13px;padding:5px 15px;color:#000}.popover .popover-content a{color:#21A1B3}.popover .popover-content img{max-width:100%}.popover .popover-navigation{padding:15px}.panel-profile .panel-profile-header .image-upload-container{width:100%;height:100%;overflow:hidden}.panel-profile .panel-profile-header .image-upload-container #bannerfileupload{position:absolute;top:0;left:0;opacity:0;width:100%;height:100%}.panel-profile .panel-profile-header .img-profile-header-background{width:100%;max-height:192px}@media print{.panel-profile{display:none}}.list-group-item{padding:6px 15px;border:none;border-width:0 !important;border-left:3px solid #fff !important;font-size:12px;font-weight:600}.list-group-item i{font-size:14px}a.list-group-item:hover,a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#000;background-color:#f7f7f7;border-left:3px solid #21A1B3 !important}@media (max-width:991px){.list-group{margin-left:4px}.list-group-item{display:inline-block !important;border-radius:3px !important;margin:4px 0;margin-bottom:4px !important}.list-group-item{border:none !important}a.list-group-item:hover,a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{border:none !important;background:#435f6f !important;color:#fff !important}}.modal-backdrop{background-color:rgba(0,0,0,0.5)}.modal-dialog.fadeIn,.modal-dialog.pulse{-webkit-animation-duration:200ms;-moz-animation-duration:200ms;animation-duration:200ms}body.modal-open{height:100vh;overflow-y:hidden}@media screen and (max-width:768px){.modal-dialog{width:calc(100vw - 4px) !important}}.modal-top{z-index:999999 !important}.modal{overflow-y:visible}.modal.in{padding-right:0 !important}.modal-dialog-extra-small{width:400px}.modal-dialog-small{width:500px}.modal-dialog-normal{width:600px}.modal-dialog-medium{width:768px}.modal-dialog-large{width:900px}@media screen and (max-width:991px){.modal-dialog-large{width:auto !important;padding-top:30px;padding-bottom:30px}}.modal{border:none}.modal h1,.modal h2,.modal h3,.modal h4,.modal h5{margin-top:20px;color:#000;font-weight:300}.modal h4.media-heading{margin-top:0}.modal-title{font-size:20px;font-weight:200;color:#000}.modal-dialog,.modal-content{min-width:150px}.modal-content{-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);-webkit-box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);-moz-box-shadow:0 2px 26px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.1);border:none}.modal-content .modal-header{padding:20px 20px 0;border-bottom:none;text-align:center}.modal-content .modal-header .close{margin-top:2px;margin-right:5px}.modal-content .modal-body{padding:20px;font-size:13px}.modal-content .modal-footer{margin-top:0;text-align:left;padding:10px 20px 30px;border-top:none;text-align:center}.modal-content .modal-footer hr{margin-top:0}.module-installed{opacity:.5}.module-installed .label-success{background-color:#d7d7d7}.tooltip-inner{background-color:#435f6f;max-width:400px;text-align:left;padding:2px 8px 4px;font-weight:bold;white-space:pre-wrap}.tooltip.top .tooltip-arrow{border-top-color:#435f6f}.tooltip.top-left .tooltip-arrow{border-top-color:#435f6f}.tooltip.top-right .tooltip-arrow{border-top-color:#435f6f}.tooltip.right .tooltip-arrow{border-right-color:#435f6f}.tooltip.left .tooltip-arrow{border-left-color:#435f6f}.tooltip.bottom .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#435f6f}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.progress{height:10px;margin-bottom:15px;box-shadow:none;background:#ededed;border-radius:10px}.progress-bar-info{background-color:#21A1B3;-webkit-box-shadow:none;box-shadow:none}#nprogress .bar{height:2px;background:#27c0d5}table{margin-bottom:0 !important}table th{font-size:11px;color:#555555;font-weight:normal}table thead tr th{border:none !important}table .time{font-size:12px}table td a:hover{color:#21A1B3}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:10px 10px 10px 0}.table>thead>tr>th select,.table>tbody>tr>th select,.table>tfoot>tr>th select,.table>thead>tr>td select,.table>tbody>tr>td select,.table>tfoot>tr>td select{font-size:12px;padding:4px 8px;height:30px;margin:0}.table-middle>thead>tr>th,.table-middle>tbody>tr>th,.table-middle>tfoot>tr>th,.table-middle>thead>tr>td,.table-middle>tbody>tr>td,.table-middle>tfoot>tr>td{vertical-align:middle !important}@media (max-width:767px){.table-responsive>.table>tbody>tr>td.notification-type{white-space:normal}}.comment-container{margin-top:10px}.comment-container .wall-entry-controls{margin-left:35px}@media (max-width:767px){.comment .post-files img{height:100px}}.comment .media{position:relative !important;margin-top:0}.comment .media .nav-pills.preferences{display:none;right:-3px}.comment .media-body{overflow:visible}.comment .jp-progress{background-color:#dbdcdd !important}.comment .jp-play-bar{background:#cacaca}.comment .post-file-list{background-color:#ededed}.comment.guest-mode .media:last-child .wall-entry-controls{margin-bottom:0;margin-left:35px}.comment.guest-mode .media:last-child hr{display:none}.comment_create,.content_edit{position:relative}.comment_create .comment-buttons,.content_edit .comment-buttons{position:absolute;bottom:2px;right:5px;z-index:300}.comment_create .comment-buttons button,.content_edit .comment-buttons button{background-color:#21A1B3 !important;color:#fff !important}.comment_create .has-error+.comment-buttons,.content_edit .has-error+.comment-buttons{bottom:19px !important}.comment_create .btn-comment-submit,.content_edit .btn-comment-submit{margin-top:3px}.comment_create .fileinput-button,.content_edit .fileinput-button{float:left;padding:6px 10px;background:transparent !important}.comment_create .fileinput-button i,.content_edit .fileinput-button i{color:#aeaeae}.comment_create .fileinput-button i:hover,.content_edit .fileinput-button i:hover{color:#21A1B3}.comment_create .fileinput-button:hover i,.content_edit .fileinput-button:hover i{color:#21A1B3}.comment_create .fileinput-button:active,.content_edit .fileinput-button:active{box-shadow:none !important}.post-richtext-input-group{position:relative}.post-richtext-input-group .comment-buttons{bottom:7px !important}.comment-container .content_edit{margin-left:35px}.comment-container .media{overflow:visible}.comment-container [data-ui-richtext] pre,.comment-container [data-ui-richtext] pre code.hljs{background-color:#eaeaea}.comment_edit_content{margin-left:35px;margin-top:0}.comment-message{overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.comment-create-input-group{position:relative}.comment-create-input-group .ProsemirrorEditor .ProseMirror{padding-right:72px}.comment-create-input-group .form-group,.comment-create-input-group .help-block{margin:0}.comment-create-input-group.scrollActive .comment-buttons{right:22px}.comment .media .media-body h4.media-heading a{font-size:13px;color:#000;margin-bottom:3px;font-weight:500}div.comment>div.media:first-of-type hr.comment-separator{display:none}div.comment>div.media:first-of-type .nav-pills.preferences{display:none;top:-3px}hr.comments-start-separator{margin-top:10px}div.nested-comments-root{margin-left:28px}div.nested-comments-root .ProseMirror-menubar-wrapper{z-index:210}div.nested-comments-root hr.comment-separator{display:inherit !important}div.nested-comments-root hr.comments-start-separator{display:none}div.nested-comments-root a.show-all-link{margin-top:10px}div.nested-comments-root div.comment .media{position:relative !important;margin-top:0}div.nested-comments-root div.comment .media .nav-pills.preferences{display:none;top:8px;right:0}div.nested-comments-root div.comment-container{margin-top:0;padding-bottom:0;padding-top:0}.grid-view img{width:24px;height:24px}.grid-view .filters input,.grid-view .filters select{border:2px solid #ededed;box-shadow:none;min-height:35px;border-radius:4px;font-size:12px;padding:4px}.grid-view .filters input:focus,.grid-view .filters select:focus{border:2px solid #21A1B3;outline:0;box-shadow:none}.grid-view{padding:15px 0 0}.grid-view img{border-radius:3px}.grid-view table th{font-size:13px !important;font-weight:bold !important}.grid-view table td{vertical-align:middle !important}.grid-view table tr{font-size:13px !important}.grid-view table thead tr th:first-of-type{padding-left:5px}.grid-view table tbody tr{height:50px}.grid-view table tbody tr td:first-of-type{padding-left:5px}.grid-view .summary{font-size:12px;color:#bac2c7}.permission-grid-editor>.table>tbody>tr:first-child>td{border:none}.permission-grid-editor{padding-top:0px}.detail-view td,.detail-view th{padding:8px !important}.detail-view th{font-size:13px}.oembed_snippet[data-oembed-provider="youtube.com"],.oembed_snippet{margin-top:10px;position:relative;padding-bottom:55%;padding-top:15px;overflow:hidden}.oembed_snippet[data-oembed-provider="twitter.com"]{padding-bottom:0 !important;padding-top:0;margin-top:0}.oembed_snippet iframe{position:absolute;top:0;left:0;width:100%;height:100%}.activities{max-height:400px;overflow:auto}.activities li.activity-entry{padding:0}.activities li .media{position:relative;padding:10px}.activities li .media .img-space{position:absolute;top:24px;left:24px}.activities li .media .media-body{max-width:295px}.contentForm_options{margin-top:10px;min-height:29px}.contentForm_options .btn_container{position:relative}.contentForm_options .btn_container .label-public{position:absolute;right:40px;top:11px}#content-topic-bar{margin-top:5px;text-align:right}#content-topic-bar .label{margin-left:4px}#contentFormError{color:#FC4A64;padding-left:0;list-style:none}.placeholder-empty-stream{background-image:url("../img/placeholder-postform-arrow.png");background-repeat:no-repeat;padding:37px 0 0 70px;margin-left:90px}#streamUpdateBadge{text-align:center;z-index:9999;margin-bottom:15px;margin-top:15px}#streamUpdateBadge .label{border-radius:10px;font-size:.8em !important;padding:5px 10px}#wallStream .back_button_holder{padding-bottom:15px}.wall-entry{position:relative}.wall-entry .panel .panel-body{padding:10px}.wall-entry .wall-entry-header{color:#000;position:relative;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eeeeee}.wall-entry .wall-entry-header .img-space{top:25px;left:25px}.wall-entry .wall-entry-header .wall-entry-container-link{color:#21A1B3}.wall-entry .wall-entry-header .stream-entry-icon-list{position:absolute;top:0;right:25px;display:inline-block;padding-top:2px}.wall-entry .wall-entry-header .stream-entry-icon-list i{padding-right:5px}.wall-entry .wall-entry-header .stream-entry-icon-list .icon-pin{color:#FC4A64}.wall-entry .wall-entry-header .stream-entry-icon-list .fa-archive{color:#f8b763}.wall-entry .wall-entry-header .wall-entry-header-image{display:table-cell;width:40px;padding-right:10px}.wall-entry .wall-entry-header .wall-entry-header-image .fa{font-size:2.39em;color:#21A1B3;margin-top:5px}.wall-entry .wall-entry-header .wall-entry-header-info{display:table-cell;padding-right:30px;width:100%}.wall-entry .wall-entry-header .wall-entry-header-info .media-heading{font-size:15px;padding-top:1px;margin-bottom:3px}.wall-entry .wall-entry-header .wall-entry-header-info i.archived{color:#f8b763}.wall-entry .wall-entry-header .preferences{position:absolute;right:0;top:0}.wall-entry .wall-entry-header .media-subheading i.fa-caret-right{margin:0 2px}.wall-entry .wall-entry-header .media-subheading .wall-entry-icons{display:inline-block}.wall-entry .wall-entry-header .media-subheading .wall-entry-icons i{margin-right:2px}.wall-entry .wall-entry-header .media-subheading .time,.wall-entry .wall-entry-header .media-subheading i,.wall-entry .wall-entry-header .media-subheading span{font-size:11px;white-space:nowrap}.wall-entry .wall-entry-body{padding-left:50px}.wall-entry .wall-entry-body .wall-entry-content{margin-bottom:5px}.wall-entry .wall-entry-body .wall-entry-content .post-short-text{font-size:1.6em}.wall-entry .wall-entry-body .wall-entry-content .post-short-text .emoji{width:20px}.wall-entry .wall-entry-body audio,.wall-entry .wall-entry-body video{width:100%}.wall-entry .wall-stream-footer .wall-stream-addons .files{margin-bottom:5px}.wall-entry .content a{color:#21A1B3}.wall-entry .content img{max-width:100%}.wall-entry .media{overflow:visible}.wall-entry .well{margin-bottom:0}.wall-entry .well .comment .show-all-link{font-size:12px;cursor:pointer}.wall-entry .media-heading{font-size:14px;padding-top:1px;margin-bottom:3px}.wall-entry .media-heading .labels{padding-right:32px}.wall-entry .media-heading .viaLink{font-size:13px}.wall-entry .media-heading .viaLink i{color:#555555;padding-left:4px;padding-right:4px}.wall-entry .media-subheading{color:#555555;font-size:12px}.wall-entry .media-subheading .time{font-size:12px;white-space:nowrap}.wall-entry [data-ui-richtext] h1{font-size:1.45em;font-weight:normal}.wall-entry [data-ui-richtext] h2{font-size:1.3em;font-weight:normal}.wall-entry [data-ui-richtext] h3{font-size:1.2em;font-weight:normal}.wall-entry [data-ui-richtext] h4{font-size:1.1em;font-weight:normal}.wall-entry [data-ui-richtext] h5{font-size:1em;font-weight:normal}.wall-entry [data-ui-richtext] h6{font-size:.85em;font-weight:normal}@media (max-width:767px){.wall-entry .wall-entry-body{padding-left:0}#wallStream .back_button_holder{padding-bottom:5px;text-align:center}}.wall-entry-controls a{font-size:11px;color:#21A1B3 !important;margin-top:10px;margin-bottom:0}#wall-stream-filter-nav{font-size:12px;margin-bottom:10px;padding-top:2px;border-radius:0 0 4px 4px}#wall-stream-filter-nav .wall-stream-filter-root{margin:0;border:0 !important}#wall-stream-filter-nav .filter-panel{padding:0 10px}#wall-stream-filter-nav .wall-stream-filter-head{padding:5px 5px 10px 5px;border-bottom:1px solid #ddd}#wall-stream-filter-nav .wall-stream-filter-body{overflow:hidden;background-color:#f7f7f7;border:1px solid #ddd;border-top:0;border-radius:0 0 4px 4px}#wall-stream-filter-nav hr{margin:5px 0 0 0}#wall-stream-filter-nav .topic-remove-label{float:left}#wall-stream-filter-nav .topic-remove-label,#wall-stream-filter-nav .content-type-remove-label{margin-right:6px}#wall-stream-filter-nav .select2{width:260px !important;margin-bottom:5px;margin-top:2px}#wall-stream-filter-nav .select2 .select2-search__field{height:25px !important}#wall-stream-filter-nav .select2 .select2-selection__choice{height:23px !important}#wall-stream-filter-nav .select2 .select2-selection__choice span,#wall-stream-filter-nav .select2 .select2-selection__choice i{line-height:19px !important}#wall-stream-filter-nav .select2 .select2-selection__choice .img-rounded{width:18px !important;height:18px !important}#wall-stream-filter-nav .wall-stream-filter-bar{display:inline;float:right;white-space:normal}#wall-stream-filter-nav .wall-stream-filter-bar .label{height:18px;padding-top:4px;background-color:#fff}#wall-stream-filter-nav .wall-stream-filter-bar .btn,#wall-stream-filter-nav .wall-stream-filter-bar .label{box-shadow:0 0 2px #7a7a7a;-webkit-box-shadow:0 0 2px #7a7a7a;-moz-box-shadow:0 0 2px #7a7a7a}@media (max-width:767px){#wall-stream-filter-nav{margin-bottom:5px}#wall-stream-filter-nav .wall-stream-filter-root{white-space:nowrap}#wall-stream-filter-nav .wall-stream-filter-body{overflow:auto}}.filter-root{margin:15px}.filter-root .row{display:table !important}.filter-root .filter-panel{padding:0 5px;display:table-cell !important;float:none}.filter-root .filter-panel .filter-block strong{margin-bottom:5px}.filter-root .filter-panel .filter-block ul.filter-list{list-style:none;padding:0;margin:0 0 5px}.filter-root .filter-panel .filter-block ul.filter-list li{font-size:12px;padding:2px}.filter-root .filter-panel .filter-block ul.filter-list li a{color:#000}.filter-root .filter-panel div.filter-block:last-of-type ul.filter-list{margin:0}.filter-root .filter-panel+.filter-panel{border-left:2px solid #ededed}.stream-entry-loader{float:right;margin-top:5px}.load-suppressed{margin-top:-17px;margin-bottom:15px;text-align:center}.load-suppressed a{display:inline-block;background-color:white;padding:5px;border-radius:0 0 4px 4px;border:1px solid #ddd;font-size:11px}@media print{.wall-entry{page-break-inside:avoid}#wall-stream-filter-nav,#contentFormBody{display:none}}.space-owner{text-align:center;margin:14px 0;font-size:13px;color:#999}.space-member-sign{color:#97d271;position:absolute;top:42px;left:42px;font-size:16px;background:#fff;width:24px;height:24px;padding:2px 3px 1px 4px;border-radius:50px;border:2px solid #97d271}#space-menu-dropdown i.type{font-size:16px;color:#BFBFBF}#space-menu-spaces [data-space-chooser-item]{cursor:pointer}#space-menu-dropdown .input-group-addon{border-radius:0 4px 4px 0}#space-menu-dropdown .input-group-addon.focus{border-radius:0 4px 4px 0;border:2px solid #21A1B3;border-left:0}.input-group #space-menu-search{border-right:0}#space-menu-dropdown div:not(.input-group)>.search-reset{top:10px !important;right:15px !important}#space-directory-link i{margin-right:0}.space-acronym{color:#fff;text-align:center;display:inline-block}.current-space-image{margin-right:3px;margin-top:3px}@media (max-width:767px){#space-menu>.title{display:none}#space-menu-dropdown{width:300px !important}}.files,#postFormFiles_list{padding-left:0}ul.files{list-style:none;margin:0 0 5px;padding:0}ul.files li.file-preview-item{padding-left:24px;display:none}ul.files li.file-preview-item .file-fileInfo{padding-right:20px}.contentForm-upload-list{padding-left:0}.contentForm-upload-list li:first-child{margin-top:10px}.file_upload_remove_link,.file_upload_remove_link:hover{color:#FC4A64;cursor:pointer}.file-preview-item{text-overflow:ellipsis;overflow:hidden}.post-files{margin-top:10px;margin-bottom:10px}.post-files video{border-radius:4px}.post-files .jp-audio{margin-bottom:10px}.post-files .col-media{padding-left:0 !important;padding-right:0 !important}.post-files img{vertical-align:top;padding:2px;height:150px;width:100%;object-fit:cover;border-radius:4px}@media (max-width:650px){.post-files img{height:100px}}.post-file-list{padding:10px;padding-bottom:1px;margin-bottom:10px !important}.post-file-list a,.post-file-list a:active,.post-file-list a:focus,.post-file-list a:hover{color:#21A1B3}#wallStream.mobile .post-files{margin-top:10px;display:flex;overflow-x:auto}#wallStream.mobile .post-files img{max-width:190px;height:100px;width:auto}.file-preview-content{cursor:pointer}.image-upload-container{position:relative}.image-upload-container .image-upload-buttons{display:none;position:absolute;right:5px;bottom:5px}.image-upload-container input[type="file"]{position:absolute;opacity:0}.image-upload-container .image-upload-loader{display:none;position:absolute;top:0;left:0;width:100%;height:100%;padding:20px;background:#f8f8f8}.mime{background-repeat:no-repeat;background-position:0 0;padding:1px 0 4px 26px}.mime-word{background-image:url("../img/mime/word.png")}.mime-excel{background-image:url("../img/mime/excel.png")}.mime-powerpoint{background-image:url("../img/mime/powerpoint.png")}.mime-pdf{background-image:url("../img/mime/pdf.png")}.mime-zip{background-image:url("../img/mime/zip.png")}.mime-image{background-image:url("../img/mime/image.png")}.mime-file{background-image:url("../img/mime/file.png")}.mime-photoshop{background-image:url("../img/mime/photoshop.png")}.mime-illustrator{background-image:url("../img/mime/illustrator.png")}.mime-video{background-image:url("../img/mime/video.png")}.mime-audio{background-image:url("../img/mime/audio.png")}@media (max-width:480px){.jp-current-time{margin-left:0 !important}.jp-audio{width:auto !important;margin-left:0 !important}.jp-audio .jp-controls{padding:2px 12px 0 !important}.jp-audio .jp-progress{left:3px !important;top:45px !important;width:200px !important}.jp-audio .jp-volume-controls{position:absolute !important;top:15px !important;left:170px !important}.jp-audio .jp-time-holder{left:3px !important;top:60px !important;width:200px !important}.jp-audio .jp-toggles{left:210px !important;top:45px !important;width:auto !important}.jp-playlist ul{padding:0 0 0 0 !important}}div.jp-type-playlist div.jp-playlist a.jp-playlist-current,div.jp-type-playlist div.jp-playlist a:hover{color:#21A1B3 !important}.jp-details,.jp-playlist{border-top:1px solid #21A1B3}.jp-audio,.jp-audio-stream,.jp-video{border:1px solid #21A1B3}ul.tour-list{list-style:none;margin-bottom:0;padding-left:10px}ul.tour-list li{padding-top:5px}ul.tour-list li a{color:#21A1B3}ul.tour-list li a .fa{width:16px}ul.tour-list li.completed a{text-decoration:line-through;color:#555555}.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:white;color:#555555;font-size:14px;font-weight:400;border:1px solid #d7d7d7;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);min-width:120px;max-width:265px;z-index:11110 !important;padding:5px 0}.atwho-view strong,.atwho-view b{font-weight:normal}.atwho-view ul li.hint{background:#fff !important;border-left:3px solid transparent !important;font-size:12px;color:#999}.atwho-view .cur small{color:red}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}.atwho-view ul{list-style:none;padding:0;margin:auto}.atwho-view ul li{display:block;padding:5px 10px;border-left:3px solid transparent;padding:4px 15px 4px 8px;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:normal}.atwho-input.form-control{min-height:36px;height:auto;padding-right:95px;word-wrap:break-word}.atwho-input p{padding:0;margin:0}.atwho-placeholder{color:#bebebe !important}.atwho-emoji-entry{float:left;padding:4px !important;margin:0px !important;border:none !important}.atwho-emoji-entry:hover,.atwho-emoji-entry:active,.atwho-emoji-entry:focus{padding:4px !important;margin:0px !important;border:none !important;background-color:#f7f7f7 !important;border-radius:3px}.atwho-view .cur{border-left:3px solid #21A1B3;background-color:#f7f7f7 !important}.atwho-user,.atwho-space,.atwho-input a{color:#21A1B3}.atwho-input a:hover{color:#21A1B3}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}.atwho-view span{padding:5px}.sk-spinner-three-bounce.sk-spinner{margin:0 auto;width:70px;text-align:center}.loader{padding:30px 0}.loader .sk-spinner-three-bounce div,.loader .sk-spinner-three-bounce span{width:12px;height:12px;background-color:#21A1B3;border-radius:100%;display:inline-block;-webkit-animation:sk-threeBounceDelay 1.4s infinite ease-in-out;animation:sk-threeBounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.loader .sk-spinner-three-bounce .sk-bounce1{-webkit-animation-delay:-0.32s;animation-delay:-0.32s}.loader .sk-spinner-three-bounce .sk-bounce2{-webkit-animation-delay:-0.16s;animation-delay:-0.16s}@-webkit-keyframes sk-threeBounceDelay{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-threeBounceDelay{0%,80%,100%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.loader-modal{padding:8px 0}.loader-postform{padding:9px 0}.loader-postform .sk-spinner-three-bounce.sk-spinner{text-align:left;margin:0}.md-editor.active{border:2px solid #21A1B3 !important}.md-editor textarea{padding:10px !important}.markdown-render,[data-ui-markdown],[data-ui-richtext]{overflow:hidden;overflow-wrap:break-word;line-height:1.57}.markdown-render h1,[data-ui-markdown] h1,[data-ui-richtext] h1,.markdown-render h2,[data-ui-markdown] h2,[data-ui-richtext] h2,.markdown-render h3,[data-ui-markdown] h3,[data-ui-richtext] h3,.markdown-render h4,[data-ui-markdown] h4,[data-ui-richtext] h4,.markdown-render h5,[data-ui-markdown] h5,[data-ui-richtext] h5,.markdown-render h6,[data-ui-markdown] h6,[data-ui-richtext] h6{text-align:start;font-weight:normal;margin:1.2em 0 .8em;color:#555}.markdown-render h1:first-child,[data-ui-markdown] h1:first-child,[data-ui-richtext] h1:first-child,.markdown-render h2:first-child,[data-ui-markdown] h2:first-child,[data-ui-richtext] h2:first-child,.markdown-render h3:first-child,[data-ui-markdown] h3:first-child,[data-ui-richtext] h3:first-child,.markdown-render h4:first-child,[data-ui-markdown] h4:first-child,[data-ui-richtext] h4:first-child,.markdown-render h5:first-child,[data-ui-markdown] h5:first-child,[data-ui-richtext] h5:first-child,.markdown-render h6:first-child,[data-ui-markdown] h6:first-child,[data-ui-richtext] h6:first-child{margin:0 0 .8em}.markdown-render h1,[data-ui-markdown] h1,[data-ui-richtext] h1{font-size:1.7em}.markdown-render h2,[data-ui-markdown] h2,[data-ui-richtext] h2{font-size:1.5em}.markdown-render h3,[data-ui-markdown] h3,[data-ui-richtext] h3{font-size:1.2em}.markdown-render h4,[data-ui-markdown] h4,[data-ui-richtext] h4{font-size:1.1em}.markdown-render h5,[data-ui-markdown] h5,[data-ui-richtext] h5{font-size:1em}.markdown-render h6,[data-ui-markdown] h6,[data-ui-richtext] h6{font-size:.85em}.markdown-render p,[data-ui-markdown] p,[data-ui-richtext] p,.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre,.markdown-render blockquote,[data-ui-markdown] blockquote,[data-ui-richtext] blockquote,.markdown-render ul,[data-ui-markdown] ul,[data-ui-richtext] ul,.markdown-render ol,[data-ui-markdown] ol,[data-ui-richtext] ol{margin:0 0 1.2em}.markdown-render li ul,[data-ui-markdown] li ul,[data-ui-richtext] li ul,.markdown-render li ol,[data-ui-markdown] li ol,[data-ui-richtext] li ol{margin:0}.markdown-render p:last-child,[data-ui-markdown] p:last-child,[data-ui-richtext] p:last-child{margin:0}.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre{padding:0;border:none;background-color:#f7f7f7}.markdown-render pre code,[data-ui-markdown] pre code,[data-ui-richtext] pre code{background-color:#f7f7f7;color:#555}.markdown-render code,[data-ui-markdown] code,[data-ui-richtext] code{background-color:#dbf5f8;color:#197a88}.markdown-render blockquote,[data-ui-markdown] blockquote,[data-ui-richtext] blockquote{background-color:rgba(128,128,128,0.05);border-top-right-radius:5px;border-bottom-right-radius:5px;padding:15px 20px;font-size:1em;border-left:5px solid #435f6f}.markdown-render dt,[data-ui-markdown] dt,[data-ui-richtext] dt,.markdown-render dd,[data-ui-markdown] dd,[data-ui-richtext] dd{margin-top:5px;margin-bottom:5px;line-height:1.45}.markdown-render dt,[data-ui-markdown] dt,[data-ui-richtext] dt{font-weight:bold}.markdown-render dd,[data-ui-markdown] dd,[data-ui-richtext] dd{margin-left:40px}.markdown-render pre,[data-ui-markdown] pre,[data-ui-richtext] pre{text-align:start;border:0;padding:10px 20px;border-radius:0;border-left:2px solid #435f6f}.markdown-render pre code,[data-ui-markdown] pre code,[data-ui-richtext] pre code{white-space:pre !important}.markdown-render blockquote ul:last-child,[data-ui-markdown] blockquote ul:last-child,[data-ui-richtext] blockquote ul:last-child,.markdown-render blockquote ol:last-child,[data-ui-markdown] blockquote ol:last-child,[data-ui-richtext] blockquote ol:last-child{margin-bottom:0}.markdown-render ul,[data-ui-markdown] ul,[data-ui-richtext] ul,.markdown-render ol,[data-ui-markdown] ol,[data-ui-richtext] ol{margin-top:0;padding-left:30px}.markdown-render ul li p,[data-ui-markdown] ul li p,[data-ui-richtext] ul li p,.markdown-render ol li p,[data-ui-markdown] ol li p,[data-ui-richtext] ol li p{overflow:visible !important}.markdown-render .footnote,[data-ui-markdown] .footnote,[data-ui-richtext] .footnote{vertical-align:top;position:relative;top:-0.5em;font-size:.8em}.markdown-render .emoji,[data-ui-markdown] .emoji,[data-ui-richtext] .emoji{width:16px}.markdown-render a,[data-ui-markdown] a,[data-ui-richtext] a,.markdown-render a:visited,[data-ui-markdown] a:visited,[data-ui-richtext] a:visited{background-color:inherit;text-decoration:none;color:#21A1B3 !important}.markdown-render a.header-anchor,[data-ui-markdown] a.header-anchor,[data-ui-richtext] a.header-anchor{color:#555 !important}.markdown-render a.not-found,[data-ui-markdown] a.not-found,[data-ui-richtext] a.not-found{color:#f8b763}.markdown-render li,[data-ui-markdown] li,[data-ui-richtext] li{border:0 !important;background-color:transparent !important;padding:0;margin:5px 0}.markdown-render img:not(.center-block),[data-ui-markdown] img:not(.center-block),[data-ui-richtext] img:not(.center-block){max-width:100%}.markdown-render img.pull-right,[data-ui-markdown] img.pull-right,[data-ui-richtext] img.pull-right{margin:5px 0 0 10px}.markdown-render img.pull-left,[data-ui-markdown] img.pull-left,[data-ui-richtext] img.pull-left{margin:5px 10px 0 0}.markdown-render img.center-block,[data-ui-markdown] img.center-block,[data-ui-richtext] img.center-block{margin-top:5px;margin-bottom:5px}.markdown-render img[width='100%'],[data-ui-markdown] img[width='100%'],[data-ui-richtext] img[width='100%']{border-radius:4px}.markdown-render table,[data-ui-markdown] table,[data-ui-richtext] table{width:100%;font-size:1em;border:1px solid #d7d7d7;margin-bottom:1.2em !important}.markdown-render table th,[data-ui-markdown] table th,[data-ui-richtext] table th{font-size:1em;color:#fff !important;background-color:#435f6f}.markdown-render table th p,[data-ui-markdown] table th p,[data-ui-richtext] table th p{color:#fff !important}.markdown-render table td,[data-ui-markdown] table td,[data-ui-richtext] table td{padding:15px;border:1px solid #d7d7d7 !important}.markdown-render table th,[data-ui-markdown] table th,[data-ui-richtext] table th{padding:10px 15px;border:1px solid #d7d7d7 !important}@media (max-width:991px){.layout-sidebar-container{display:none}}.ui-widget-header{border:none !important;background:#fff !important;color:#7a7a7a !important;font-weight:300 !important}.ui-widget-content{border:1px solid #dddcda !important;border-radius:0 !important;background:#fff;color:#000 !important;-webkit-box-shadow:0 6px 6px rgba(0,0,0,0.1);box-shadow:0 6px 6px rgba(0,0,0,0.1)}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{opacity:.2}.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background:#fff !important;border:none;margin:1px}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:none !important;background:#f7f7f7 !important;color:#7a7a7a !important}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:none !important;border:1px solid #b2b2b2 !important}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #21A1B3 !important;background:#6fd6e4 !important}.status-bar-body{color:white;position:fixed;width:100%;background-color:rgba(0,0,0,0.7);text-align:center;padding:20px;z-index:9999999;bottom:0px;display:block;line-height:20px}.status-bar-close{color:white;font-weight:bold;font-size:21px;cursor:pointer}.status-bar-close:hover{color:white}.status-bar-close i{vertical-align:top !important;padding-top:3px}.status-bar-content i{margin-right:10px;font-size:21px;vertical-align:middle}.status-bar-content .showMore{color:#21A1B3;float:right;margin-left:10px;font-size:.7em;cursor:pointer;vertical-align:middle;white-space:nowrap}.status-bar-content .status-bar-details{text-align:left;font-size:.7em;margin-top:20px;max-height:200px;overflow:auto}.status-bar-content span{vertical-align:middle}.status-bar-content i.error,.status-bar-content i.fatal{color:#FC4A64}.status-bar-content i.warning{color:#f8b763}.status-bar-content i.info,.status-bar-content i.debug{color:#21A1B3}.status-bar-content i.success{color:#85CA2B}.highlight{background-color:#fff8e0}.alert-default{color:#000;background-color:#f7f7f7;border-color:#ededed;font-size:13px}.alert-default .info{margin:10px 0}.alert-success{color:#84be5e;background-color:#f7fbf4;border-color:#97d271}.alert-warning{color:#e9b168;background-color:#fffbf7;border-color:#fdd198}.alert-danger{color:#ff8989;background-color:#fff6f6;border-color:#ff8989}.data-saved{padding-left:10px;color:#21A1B3}img.bounceIn{-webkit-animation-duration:800ms;-moz-animation-duration:800ms;animation-duration:800ms}.tags .tag{margin-top:5px;border-radius:2px;padding:4px 8px;text-transform:uppercase;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#user-tags-panel .tags .tag{max-width:250px}.label{text-transform:uppercase}.label{text-transform:uppercase;display:inline-block;padding:3px 5px 4px;font-weight:600;font-size:10px;color:white;vertical-align:baseline;white-space:nowrap;text-shadow:none}.label-default{background:#ededed;color:#7a7a7a !important}a.label-default:hover{background:#e0e0e0 !important}.label-info{background-color:#21A1B3}a.label-info:hover{background:#1d8e9d !important}.label-danger{background-color:#FC4A64}a.label-danger:hover{background:#fc314f !important}.label-success{background-color:#97d271}a.label-success:hover{background:#89cc5e !important}.label-warning{background-color:#f8b763}a.label-warning:hover{background:#f7ac4b !important}.label-light{background-color:transparent;color:#7a7a7a;border:1px solid #bababa}.topic-label-list,.wall-entry-topics{margin-bottom:10px}.topic-label-list a,.wall-entry-topics a{margin-right:4px}.topic-label-list .label,.wall-entry-topics .label{padding:5px;border-radius:4px}.ProsemirrorEditor.fullscreen{position:fixed;top:0;left:0;width:100vw;height:calc(100vh - 3px);z-index:9998}.ProsemirrorEditor.fullscreen .ProseMirror-menubar-wrapper{height:100%}.ProsemirrorEditor.fullscreen .humhub-ui-richtext{max-height:none !important}.ProsemirrorEditor.fullscreen .ProseMirror{position:static;overflow:auto;height:calc(100% - 26px)}.ProsemirrorEditor.fullscreen .ProseMirror-menubar{position:static !important;top:0 !important;left:0 !important;margin:0 !important;width:100% !important}.login-container .ProsemirrorEditor.fullscreen,.modal-dialog .ProsemirrorEditor.fullscreen{width:100%;height:100%}.ProsemirrorEditor .ProseMirror{padding-right:12px}.ProsemirrorEditor .ProseMirror-menu{margin:0 -4px;line-height:1}.ProsemirrorEditor .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.ProsemirrorEditor .ProseMirror-menuitem{margin-right:0;display:inline-block}.ProsemirrorEditor .ProseMirror-menuseparator{border-right:1px solid #ddd;margin-right:3px}.ProsemirrorEditor .ProseMirror-menubar-wrapper{z-index:200}.ProsemirrorEditor .ProseMirror-menuitem .ProseMirror-menu-group{border-right:1px solid #ddd}.ProsemirrorEditor .ProseMirror-menuitem .ProseMirror-menu-group.last{border-right:none}.ProsemirrorEditor .ProseMirror-menuitem .seperator{border-right:1px solid #ddd;margin-right:2px;padding-right:2px}.ProsemirrorEditor .ProseMirror-menu-dropdown,.ProsemirrorEditor .ProseMirror-menu-dropdown-menu{font-size:90%;white-space:nowrap}.ProsemirrorEditor .ProseMirror-menu-dropdown{cursor:pointer;position:relative;padding-right:15px !important}.ProsemirrorEditor .ProseMirror-menu-dropdown-wrap{padding:1px 0 1px 0;display:inline-block;position:relative}.ProsemirrorEditor .ProseMirror-menu-dropdown-right{right:0}.ProsemirrorEditor .ProseMirror-menu-dropdown:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.ProsemirrorEditor .ProseMirror-menu-submenu{border-top-right-radius:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-menu,.ProsemirrorEditor .ProseMirror-menu-submenu{position:absolute;background:white;color:#666;border:1px solid #aaa;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-menu{z-index:15;min-width:6em;margin-top:2px}.ProsemirrorEditor .ProseMirror-menu-dropdown-item{cursor:pointer}.ProsemirrorEditor .ProseMirror-menu-dropdown-item div[title],.ProsemirrorEditor .ProseMirror-menu-submenu-wrap{padding:4px}.ProsemirrorEditor .ProseMirror-menu-dropdown-item:hover{background:#f2f2f2}.ProsemirrorEditor .ProseMirror-menu-submenu-wrap{position:relative}.ProsemirrorEditor .ProseMirror-menu-submenu-label:after{content:"";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 4px)}.ProsemirrorEditor .ProseMirror-menu-submenu{display:none;min-width:4em;left:100%;top:0}.ProsemirrorEditor .ProseMirror-menu-active{background:#eee;border-radius:4px;border:1px solid #ededed !important}.ProsemirrorEditor .ProseMirror-menu-disabled{opacity:.3}.ProsemirrorEditor .ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu,.ProsemirrorEditor .ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}.ProsemirrorEditor .ProseMirror-icon{display:inline-block;line-height:.8;vertical-align:-2px;padding:1px 7px;cursor:pointer;border:1px solid transparent}.ProsemirrorEditor .ProseMirror-menu-disabled.ProseMirror-icon{cursor:default}.ProsemirrorEditor .ProseMirror-icon svg{fill:currentColor;height:1em}.ProsemirrorEditor .ProseMirror-icon span{vertical-align:text-top}.ProsemirrorEditor.plainMenu .ProseMirror{border-top-left-radius:0 !important;border-top-right-radius:0 !important;border-top-width:1px !important;min-height:100px}.ProsemirrorEditor.plainMenu .ProseMirror-menu-group{padding:5px}.ProsemirrorEditor.plainMenu .ProseMirror-menuitem .ProseMirror-menu-group{padding:2px}.ProsemirrorEditor.plainMenu .ProseMirror-menubar~.ProseMirror-focused{border-color:#21A1B3 !important}.ProsemirrorEditor.plainMenu .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor.plainMenu .ProseMirror-menubar-wrapper{z-index:8}.ProsemirrorEditor.plainMenu .ProseMirror-menubar{background-color:#f7f7f7;border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid #ddd;position:relative;min-height:1em;color:#666;padding:1px 6px 1px 0;top:0;left:0;right:0;z-index:10;-moz-box-sizing:border-box;box-sizing:border-box;overflow:visible}.ProsemirrorEditor.focusMenu .form-control:focus{border-top-left-radius:0 !important}.ProsemirrorEditor.focusMenu .ProseMirror-menubar{display:table;min-height:1em;color:#666;padding:2px 6px;top:0;left:0;right:0;z-index:10;-moz-box-sizing:border-box;box-sizing:border-box;overflow:visible;margin-top:-25px;background:white;border:1px solid #aeaeae;border-bottom:0;border-top:1px solid #aeaeae;border-top-left-radius:4px;border-top-right-radius:4px;float:left}@-moz-document url-prefix(){.ProsemirrorEditor.focusMenu .ProseMirror-menubar{margin-top:-26px}}.ProsemirrorEditor .ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none}.ProsemirrorEditor .ProseMirror ul,.ProsemirrorEditor .ProseMirror ol{cursor:default}.ProsemirrorEditor .ProseMirror pre{white-space:pre-wrap}.ProsemirrorEditor .ProseMirror li{position:relative}.ProsemirrorEditor .ProseMirror img{max-width:100%}.ProsemirrorEditor .ProseMirror-hideselection *::selection{background:transparent}.ProsemirrorEditor .ProseMirror-hideselection *::-moz-selection{background:transparent}.ProsemirrorEditor .ProseMirror-selectednode{outline:2px dashed #8cf}.ProsemirrorEditor li.ProseMirror-selectednode{outline:none}.ProsemirrorEditor li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}.ProsemirrorEditor .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor .ProseMirror-menu{margin:0 -4px;line-height:1}.ProsemirrorEditor .ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.ProsemirrorEditor .ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProsemirrorEditor .ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2, start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProsemirrorEditor .ProseMirror-focused .ProseMirror-gapcursor{display:block}.ProsemirrorEditor .ProseMirror-example-setup-style hr{padding:2px 10px;border:none;margin:1em 0}.ProsemirrorEditor .ProseMirror-example-setup-style hr:after{content:"";display:block;height:1px;background-color:silver;line-height:2px}.ProsemirrorEditor .ProseMirror-example-setup-style img{cursor:default}.ProsemirrorEditor .ProseMirror p{margin-top:1.2em}.ProsemirrorEditor .ProseMirror p:first-child{margin:0}.ProsemirrorEditor .ProseMirror>p:first-child+*{margin-top:1.2em}.ProsemirrorEditor .ProsemirrorEditor{position:relative}.ProsemirrorEditor .ProsemirrorEditor .ProseMirror{padding-right:12px !important}.ProsemirrorEditor .ProsemirrorEditor img{max-width:100%}.ProsemirrorEditor .ProseMirror h1:first-child,.ProsemirrorEditor .ProseMirror h2:first-child,.ProsemirrorEditor .ProseMirror h3:first-child,.ProsemirrorEditor .ProseMirror h4:first-child,.ProsemirrorEditor .ProseMirror h5:first-child,.ProsemirrorEditor .ProseMirror h6:first-child{margin-top:10px}.ProsemirrorEditor .ProseMirror [data-mention]{color:#21A1B3}.ProsemirrorEditor .ProseMirror{outline:none}.ProsemirrorEditor .ProseMirror [data-oembed]{font-size:0}.ProsemirrorEditor .ProseMirror iframe{pointer-events:none;display:block}.ProsemirrorEditor .ProseMirror p{margin-bottom:1em}.ProsemirrorEditor .ProseMirror-textblock-dropdown{min-width:3em}.ProsemirrorEditor .ProseMirror .placeholder{padding:0 !important;pointer-events:none;height:0}.ProsemirrorEditor .ProseMirror:focus .placeholder{display:none}.ProsemirrorEditor .ProseMirror .tableWrapper{overflow-x:auto}.ProsemirrorEditor .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProsemirrorEditor .ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProsemirrorEditor .ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.ProsemirrorEditor .ProseMirror-menubar-wrapper{position:relative;outline:none}.ProsemirrorEditor .ProseMirror table{margin:0}.ProsemirrorEditor .ProseMirror .tableWrapper{margin:1em 0}.ProseMirror-prompt{background:white;padding:5px 10px 5px 15px;border:1px solid silver;position:fixed;border-radius:3px;min-width:300px;z-index:999999;box-shadow:-0.5px 2px 5px rgba(0,0,0,0.2)}.ProseMirror-prompt h5{font-weight:bold;font-size:100%;margin:15px 0}.ProseMirror-prompt input{margin-bottom:5px}.ProseMirror-prompt-close{position:absolute;left:2px;top:1px;color:#666;border:none;background:transparent;padding:0}.ProseMirror-prompt-close:after{content:"✕";font-size:12px}.ProseMirror-invalid{background:#ffc;border:1px solid #cc7;border-radius:4px;padding:5px 10px;position:absolute;min-width:10em}.ProseMirror-prompt-buttons{margin:15px 0;text-align:center}.atwho-view .cur{border-left:3px solid #59d6e4;background-color:#f7f7f7 !important}.atwho-user,.atwho-space,.atwho-input a{color:#59d6e4}.atwho-input a:hover{color:#59d6e4}.atwho-view strong{background-color:#f9f0d2}.atwho-view .cur strong{background-color:#f9f0d2}[data-emoji-category]{max-height:200px;display:block;position:relative;overflow:auto}[data-emoji-category] .atwho-emoji-entry{width:24px;height:28px;overflow:hidden}[data-emoji-category] .atwho-emoji-entry.cur{background-color:#ededed !important}.emoji-nav{padding-top:10px}.emoji-nav .emoji-nav-item{border-top:2px solid #fff8e0}.emoji-nav .emoji-nav-item.cur{border-left:0;border-top:2px solid #21A1B3}[data-ui-markdown],[data-ui-richtext]{overflow-x:auto;overflow-wrap:break-word}[data-ui-markdown] a,[data-ui-richtext] a{color:#21A1B3}#wallStream [data-ui-markdown],#wallStream [data-ui-richtext]{overflow-wrap:initial;word-break:initial;hyphens:initial}@media screen and (max-width:768px){.ProsemirrorEditor.focusMenu .form-control:focus{border-top-right-radius:0 !important}.ProsemirrorEditor.focusMenu .ProseMirror-menubar{min-height:1em;margin-top:0}.ProsemirrorEditor.focusMenu .humhub-ui-richtext{margin-top:0}}@media only screen and (max-width : 768px){body{padding-top:105px}.modal-open #layout-content>.container{overflow-x:unset}#layout-content .left-navigation .list-group{-webkit-overflow-scrolling:auto;white-space:nowrap;overflow-x:auto}#layout-content .left-navigation .list-group::-webkit-scrollbar{-webkit-appearance:none}#layout-content .left-navigation .list-group::-webkit-scrollbar:vertical{width:8px}#layout-content .left-navigation .list-group::-webkit-scrollbar:horizontal{height:8px}#layout-content .left-navigation .list-group::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.5);border-radius:10px;border:2px solid #ffffff}#layout-content .left-navigation .list-group::-webkit-scrollbar-track{border-radius:10px;background-color:#ffffff}#layout-content .table-responsive::-webkit-scrollbar{-webkit-appearance:none}#layout-content .table-responsive::-webkit-scrollbar:vertical{width:8px}#layout-content .table-responsive::-webkit-scrollbar:horizontal{height:8px}#layout-content .table-responsive::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0.5);border-radius:10px;border:2px solid #ffffff}#layout-content .table-responsive::-webkit-scrollbar-track{border-radius:10px;background-color:#ffffff}#layout-content .panel{margin-bottom:5px}#layout-content .panel .statistics .entry{margin-left:10px}#layout-content>.container{padding-right:2px !important;padding-left:2px !important;overflow-x:hidden}#layout-content .layout-nav-container .panel-heading{display:none}#layout-content .panel-profile-header #profilefileupload,#layout-content .panel-profile-header .profile-user-photo-container,#layout-content .panel-profile-header .space-acronym,#layout-content .panel-profile-header .profile-user-photo{height:100px !important;width:100px !important}#layout-content .image-upload-container .image-upload-buttons{right:2px !important}#layout-content .space-acronym{padding:6px 0 !important}#layout-content .panel-profile .panel-profile-header .img-profile-header-background{min-height:80px !important}#layout-content .panel-profile .panel-profile-header .img-profile-data{padding-top:50px !important;padding-left:130px}.modal-dialog{width:calc(100vw - 4px) !important;padding:0 !important;margin:2px !important}.dropdown-menu>li a,.nav-pills .dropdown-menu li a,.nav-tabs .dropdown-menu li a,.account .dropdown-menu li a,.modal .dropdown-menu li a,.panel .dropdown-menu li a,.nav-tabs .dropdown-menu li a{padding-top:10px;padding-bottom:10px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.dropdown-menu{max-width:320px}select.form-control:not([multiple]){padding-right:23px;width:auto}.modal.in{padding-right:0 !important}.load-suppressed{margin-top:-8px;margin-bottom:5px}.ProsemirrorEditor .ProseMirror-menuitem{font-size:1.2em !important}}.icon-sm,.fa-sm{font-size:.875em}.icon-lg,.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-0.0667em}.icon-2x,.fa-2x{font-size:2em}.icon-3x,.fa-3x{font-size:3em}.icon-4x,.fa-4x{font-size:4em}.icon-5x,.fa-5x{font-size:5em}.icon-6x,.fa-6x{font-size:6em}.icon-7x,.fa-7x{font-size:7em}.icon-9x,.fa-9x{font-size:9em}.icon-10x,.fa-10x{font-size:10em}@media print{a[href]:after{content:none}body{padding-top:0}pre,blockquote{page-break-inside:avoid}.preferences,.layout-sidebar-container,.layout-nav-container,button{display:none !important}}@media (min-width:500px){.container-directory.container-fluid .card{width:50%}}@media (min-width:1000px){.container-directory.container-fluid .card{width:33.33333333%}}@media (min-width:1300px){.container-directory.container-fluid .card{width:25%}}@media (min-width:1600px){.container-directory.container-fluid .card{width:20%}}@media (min-width:1900px){.container-directory.container-fluid .card{width:16.66666667%}}.container-directory .form-search .row>div{padding-bottom:3px}.container-directory .form-search .form-search-filter-keyword{position:relative}.container-directory .form-search .form-search-filter-keyword .form-button-search{position:absolute;right:18px;margin-bottom:3px}.container-directory .form-search .form-control.form-search-filter{width:100%;height:40px;margin:3px 0 0;padding:8px 30px 10px 8px;border-radius:4px;border:solid 1px #c5c5c5}.container-directory .form-search .form-button-search{background:none;border:0;font-size:16px;color:#000;top:initial;bottom:9px}.container-directory .form-search .form-search-field-info{font-size:80%}.container-directory .form-search-reset{text-decoration:underline;display:block;margin-top:26px}.container-directory .form-search-reset:hover{text-decoration:none}.container-directory .cards{display:flex;flex-direction:row;flex-wrap:wrap}.container-directory .card{display:flex;flex-direction:row}.container-directory .card .card-panel{position:relative;width:100%;display:flex;flex-direction:column;margin:15px 0;border-radius:4px;background-color:#ffffff}.container-directory .card .card-icons .fa{color:#21a1b3}.container-directory .card .card-icons .fa span{font:12px 'Open Sans',sans-serif;font-weight:600}.container-directory .card .card-bg-image{width:100%;height:86px;background-color:#cfcfcf;background-size:cover;background-position:center;border-radius:4px 4px 0 0}.container-directory .card .card-header{position:absolute;padding:16px;display:table;width:100%}.container-directory .card .card-header .card-image-wrapper{display:table-cell;width:98px}.container-directory .card .card-header .card-image-link{display:inline-block;border:2px solid #fff;border-radius:6px}.container-directory .card .card-header .card-icons{display:table-cell;padding:0 0 2px 5px;text-align:right;vertical-align:bottom;font-size:16px}.container-directory .card .card-header .card-icons .fa{color:#21a1b3}.container-directory .card .card-header .card-icons .fa.fa-mobile-phone{font-size:22px;line-height:15px;position:relative;top:2px}.container-directory .card .card-body{flex-grow:1;padding:44px 16px 24px 16px;overflow:auto}.container-directory .card .card-body .card-title{font-size:16px;font-weight:bold;line-height:24px}.container-directory .card .card-body .card-details{margin-top:8px;color:#57646c}.container-directory .card .card-body .card-details a{color:#21a1b3;text-decoration:underline}.container-directory .card .card-body .card-details a:hover{text-decoration:none}.container-directory .card .card-body .card-tags{margin-top:20px}.container-directory .card .card-footer{padding:0 16px 20px}.container-directory .card .card-footer a.btn{float:left;margin:0 8px 4px 0;white-space:normal;hyphens:none}.container-directory .card .card-footer a.btn:last-child{margin-right:0}.container-directory .card .card-footer .btn-group a.btn{margin-right:0}.container-directory .directory-load-more{display:none;text-align:center;padding:12px 0 15px}/*! Select2 humhub Theme v0.1.0-beta.4 | MIT License | github.com/select2/select2-humhub-theme */.select2-container--humhub{display:block}.select2-container--humhub .select2-selection{background-color:#fff;border:2px solid #ededed;border-radius:4px;color:#555;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;outline:0}.select2-container--humhub .select2-search--dropdown .select2-search__field{background-color:#fff;border:2px solid #ededed;border-radius:4px;color:#555;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px}.select2-container--humhub .select2-search__field{outline:0}.select2-container--humhub .select2-search__field::placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field::-webkit-input-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field:-moz-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-search__field::-moz-placeholder{color:#999;font-weight:normal;opacity:1}.select2-container--humhub .select2-search__field:-ms-input-placeholder{color:#999;font-weight:normal}.select2-container--humhub .select2-results__option[role=group]{padding:0}.select2-container--humhub .select2-results__option[aria-disabled=true]{color:#777;cursor:not-allowed}.select2-container--humhub .select2-results__option[aria-selected=true]{background-color:#f5f5f5;color:#262626;border-left:3px solid transparent}.select2-container--humhub .select2-results__option[aria-selected=false]{border-left:3px solid transparent}.select2-container--humhub .select2-results__option--highlighted[aria-selected]{background-color:#f7f7f7;border-left:3px solid #21A1B3;color:#000}.select2-container--humhub .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option{margin-left:-12px;padding-left:24px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-24px;padding-left:36px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-36px;padding-left:48px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-48px;padding-left:60px}.select2-container--humhub .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-60px;padding-left:72px}.select2-container--humhub .select2-results__group{color:#777;display:block;padding:6px 12px;font-size:12px;line-height:1.42857143;white-space:nowrap}.select2-container--humhub.select2-container--focus .select2-selection,.select2-container--humhub.select2-container--open .select2-selection{border:2px solid #21A1B3;outline:0;box-shadow:none}.select2-container--humhub.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 4px 4px 4px}.select2-container--humhub .select2-selection__clear{color:#999;cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--humhub .select2-selection__clear:hover{color:#333}.select2-container--humhub.select2-container--disabled .select2-selection{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none}.select2-container--humhub.select2-container--disabled .select2-selection,.select2-container--humhub.select2-container--disabled .select2-search__field{cursor:not-allowed}.select2-container--humhub.select2-container--disabled .select2-selection,.select2-container--humhub.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#eee}.select2-container--humhub.select2-container--disabled .select2-selection__clear,.select2-container--humhub.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove{display:none}.select2-container--humhub .select2-dropdown{-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);border-color:#d7d7d7;overflow-x:hidden;margin-top:-1px}.select2-container--humhub .select2-dropdown--above{margin-top:1px}.select2-container--humhub .select2-results>.select2-results__options{max-height:400px;overflow-y:auto}.select2-container--humhub .select2-selection--single{height:34px;line-height:1.42857143;padding:6px 24px 6px 12px}.select2-container--humhub .select2-selection--single .select2-selection__arrow{position:absolute;bottom:0;right:12px;top:0;width:4px}.select2-container--humhub .select2-selection--single .select2-selection__arrow b{border-color:#999 transparent transparent transparent;border-style:solid;border-width:4px 4px 0 4px;height:0;left:0;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--humhub .select2-selection--single .select2-selection__rendered{color:#555;padding:0}.select2-container--humhub .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--humhub .select2-selection--multiple{min-height:34px;padding:2px}.select2-container--humhub .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;display:block;line-height:1.42857143;list-style:none;margin:0;overflow:hidden;padding:0;width:100%;text-overflow:ellipsis;white-space:nowrap}.select2-container--humhub .select2-selection--multiple .select2-selection__placeholder{color:#999;float:left;margin-top:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice{color:#555;border-radius:4px;cursor:default;padding:0 6px;background-color:#21A1B3;color:#fff;border-radius:3px;font-size:12px !important;padding:0 5px 2px 2px;float:left;margin:2px;height:28px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice img,.select2-container--humhub .select2-selection--multiple .select2-selection__choice div{margin-right:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice span.no-image{line-height:27px;padding-left:5px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice i{margin:0px 2px;line-height:27px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice .picker-close{cursor:pointer}.select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{background:transparent;padding:0 5px;width:auto !important;height:32px;line-height:1.42857143;margin-top:0;min-width:5em}.select2-container--humhub .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:none;font-weight:bold;margin-right:3px}.select2-container--humhub .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:6px}.select2-container--humhub.input-sm,.select2-container--humhub.input-lg{border-radius:0;font-size:12px;height:auto;line-height:1;padding:0}.select2-container--humhub.input-sm .select2-selection--single,.input-group-sm .select2-container--humhub .select2-selection--single,.form-group-sm .select2-container--humhub .select2-selection--single{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 22px 5px 10px}.select2-container--humhub.input-sm .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--humhub .select2-selection--single .select2-selection__arrow b,.form-group-sm .select2-container--humhub .select2-selection--single .select2-selection__arrow b{margin-left:-5px}.select2-container--humhub.input-sm .select2-selection--multiple,.input-group-sm .select2-container--humhub .select2-selection--multiple,.form-group-sm .select2-container--humhub .select2-selection--multiple{min-height:30px}.select2-container--humhub.input-sm .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__choice,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__choice{font-size:12px;line-height:1.5;margin:4px 0 0 5px;padding:0 5px}.select2-container--humhub.input-sm .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 10px;font-size:12px;height:28px;line-height:1.5}.select2-container--humhub.input-sm .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__clear,.form-group-sm .select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:5px}.select2-container--humhub.input-lg .select2-selection--single,.input-group-lg .select2-container--humhub .select2-selection--single,.form-group-lg .select2-container--humhub .select2-selection--single{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 31px 10px 16px}.select2-container--humhub.input-lg .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow,.form-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow{width:5px}.select2-container--humhub.input-lg .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow b,.form-group-lg .select2-container--humhub .select2-selection--single .select2-selection__arrow b{border-width:5px 5px 0 5px;margin-left:-5px;margin-left:-10px;margin-top:-2.5px}.select2-container--humhub.input-lg .select2-selection--multiple,.input-group-lg .select2-container--humhub .select2-selection--multiple,.form-group-lg .select2-container--humhub .select2-selection--multiple{min-height:46px}.select2-container--humhub.input-lg .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__choice,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__choice{font-size:18px;line-height:1.3333333;border-radius:4px;margin:9px 0 0 8px;padding:0 10px}.select2-container--humhub.input-lg .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0 16px;font-size:18px;height:44px;line-height:1.3333333}.select2-container--humhub.input-lg .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__clear,.form-group-lg .select2-container--humhub .select2-selection--multiple .select2-selection__clear{margin-top:10px}.select2-container--humhub.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 5px 5px 5px}.input-group-lg .select2-container--humhub.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #999 transparent;border-width:0 5px 5px 5px}.select2-container--humhub[dir="rtl"] .select2-selection--single{padding-left:24px;padding-right:12px}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:12px;right:auto}.select2-container--humhub[dir="rtl"] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:0;margin-right:6px}.select2-container--humhub[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#f8b763}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fce4c5;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #fce4c5;border-color:#f6a032}.has-warning.select2-drop-active{border-color:#f6a032}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#f6a032}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#FC4A64}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #feaeba;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #feaeba;border-color:#fb1839}.has-error.select2-drop-active{border-color:#fb1839}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#fb1839}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#97d271}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d0ebbe;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d0ebbe;border-color:#7bc64a}.has-success.select2-drop-active{border-color:#7bc64a}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#7bc64a}.input-group .select2-container--humhub{display:table;table-layout:fixed;position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group.select2-humhub-prepend .select2-container--humhub .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}.input-group.select2-humhub-append .select2-container--humhub .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}.select2-humhub-append .select2-container--humhub,.select2-humhub-prepend .select2-container--humhub,.select2-humhub-append .input-group-btn,.select2-humhub-prepend .input-group-btn,.select2-humhub-append .input-group-btn .btn,.select2-humhub-prepend .input-group-btn .btn{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute !important;width:1px !important}.form-inline .select2-container--humhub{display:inline-block}ul.tag_input{list-style:none;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;padding:0 0 9px 4px}ul.tag_input li img{margin:0 5px 0 0}.tag_input_field{outline:none;border:none !important;padding:5px 4px 0 !important;width:170px;margin:2px 0 0 !important}.userInput,.spaceInput{background-color:#21A1B3;font-weight:600;color:#fff;border-radius:3px;font-size:12px !important;padding:2px;float:left;margin:3px 4px 0 0}.userInput i,.spaceInput i{padding:0 6px;font-size:14px;cursor:pointer;line-height:8px} \ No newline at end of file