diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 27f4f29d16..1ed7520bd8 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -26,7 +26,7 @@ jobs: - name: Install PHP and PHP Code Sniffer uses: shivammathur/setup-php@v2 with: - php-version: 7.3 + php-version: 8.0 extensions: curl, fileinfo, gd, mbstring, openssl, pdo, pdo_sqlite, sqlite3, xml, zip tools: phpcs diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ad0c7b0ad8..3b081f3c4a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,18 +24,19 @@ jobs: node-version: 12 - name: Install Node dependencies - working-directory: ./tests/js + working-directory: ./modules/system/tests/js run: npm install - name: Run tests - working-directory: ./tests/js + working-directory: ./modules/system/tests/js run: npm run test + phpUnitTests: strategy: max-parallel: 8 matrix: operatingSystem: [ubuntu-latest, windows-latest] - phpVersion: ['7.2', '7.3', '7.4', '8.0'] + phpVersion: ['8.0', '8.1'] fail-fast: false runs-on: ${{ matrix.operatingSystem }} name: ${{ matrix.operatingSystem }} / PHP ${{ matrix.phpVersion }} @@ -72,18 +73,25 @@ jobs: php-version: ${{ matrix.phpVersion }} extensions: ${{ env.extensions }} + - name: Echo branches + run: echo "${{ github.ref }} | ${{ github.head_ref }} | ${{ github.ref_name }} | ${{ github.base_ref }}" + - name: Switch library dependency (develop) if: github.ref == 'refs/heads/develop' || github.base_ref == 'develop' run: php ./.github/workflows/utilities/library-switcher "dev-develop as 1.1" - name: Switch library dependency (1.0) - if: github.ref == 'refs/heads/1.0' || github.base_ref == '1.0' + if: github.head_ref == '1.0' || github.ref == 'refs/heads/1.0' || github.base_ref == '1.0' run: php ./.github/workflows/utilities/library-switcher "1.0.x-dev as 1.0" - name: Switch library dependency (1.1) - if: github.ref == 'refs/heads/1.1' || github.base_ref == '1.1' + if: github.head_ref == '1.1' || github.ref == 'refs/heads/1.1' || github.base_ref == '1.1' run: php ./.github/workflows/utilities/library-switcher "1.1.x-dev as 1.1" + - name: Switch library dependency (1.2) + if: github.head_ref == 'wip/1.2' || github.ref == 'refs/heads/wip/1.2' || github.base_ref == 'wip/1.2' + run: php ./.github/workflows/utilities/library-switcher "dev-wip/1.2 as 1.2" + - name: Setup dependency cache id: composercache run: echo "::set-output name=dir::$(composer config cache-files-dir)" @@ -105,10 +113,10 @@ jobs: run: php artisan package:discover - name: Setup problem matchers for PHPUnit - if: matrix.phpVersion == '7.4' + if: matrix.phpVersion == '8.1' run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - name: Run Linting and Tests run: | - ./vendor/bin/parallel-lint --exclude vendor --exclude storage --exclude tests/fixtures/plugins/testvendor/goto/Plugin.php . + composer lint ./vendor/bin/phpunit diff --git a/.github/workflows/utilities/phpcs-pr b/.github/workflows/utilities/phpcs-pr index b997066ddb..231930c4f8 100755 --- a/.github/workflows/utilities/phpcs-pr +++ b/.github/workflows/utilities/phpcs-pr @@ -7,8 +7,8 @@ * of changed files. The PHPCS tests are only run against these changed files, to speed up the tests. */ if (empty($argv[1])) { - echo 'You must provide a base branch to check this PR against.'; - echo "\n"; + fwrite(STDERR, 'You must provide a base branch to check this PR against.'); + fwrite(STDERR, "\n"); exit(1); } @@ -22,6 +22,13 @@ foreach ($files as &$file) { } } +// no changes found in diff, early exit +if (!count($files)) { + fwrite(STDOUT, "\e[0;32mFound no changed files.\e[0m"); + fwrite(STDOUT, "\n"); + exit(0); +} + // Run all changed files through the PHPCS code sniffer and generate a CSV report $csv = shell_exec('phpcs --colors -nq --report="csv" --extensions="php" ' . implode(' ', $files)); $lines = array_map(function ($row) { @@ -34,50 +41,47 @@ $lines = array_map(function ($row) { array_shift($lines); if (!count($lines)) { - echo "\e[0;32mFound no issues with code quality.\e[0m"; - echo "\n"; + fwrite(STDOUT, "\e[0;32mFound no issues with code quality.\e[0m"); + fwrite(STDOUT, "\n"); exit(0); -} else { - // Group errors by file - $files = []; +} - foreach ($lines as $line) { - $filename = str_replace(dirname(dirname(dirname(__DIR__))), '', $line[0]); +// Group errors by file +$files = []; - if (empty($files[$filename])) { - $files[$filename] = []; - } +foreach ($lines as $line) { + $filename = str_replace(dirname(dirname(dirname(__DIR__))), '', $line[0]); - $files[$filename][] = [ - 'warning' => ($line[3] === 'warning'), - 'message' => $line[4], - 'line' => $line[1], - ]; + if (empty($files[$filename])) { + $files[$filename] = []; } - // Render report - echo "\e[0;31mFound " - . ((count($lines) === 1) - ? '1 issue' - : count($lines) . ' issues') - . " with code quality.\e[0m"; - echo "\n"; + $files[$filename][] = [ + 'warning' => (($line[3] ?? 'err') === 'warning'), + 'message' => $line[4] ?? 'unknown', + 'line' => $line[1] ?? '0', + ]; +} + +// Render report +fwrite(STDERR, "\e[0;31mFound " + . ((count($lines) === 1) + ? '1 issue' + : count($lines) . ' issues') + . " with code quality.\e[0m"); +fwrite(STDERR, "\n"); - foreach ($files as $file => $errors) { - echo "\n"; - echo "\e[1;37m" . str_replace('"', '', $file) . "\e[0m"; - echo "\n\n"; +foreach ($files as $file => $errors) { + fwrite(STDERR, "\n"); + fwrite(STDERR, "\e[1;37m" . str_replace('"', '', $file) . "\e[0m"); + fwrite(STDERR, "\n\n"); - foreach ($errors as $error) { - echo "\e[2m" . str_pad(' L' . $error['line'], 7) . " | \e[0m"; - if ($error['warning'] === false) { - echo "\e[0;31mERR:\e[0m "; - } else { - echo "\e[1;33mWARN:\e[0m "; - } - echo $error['message']; - echo "\n"; - } + foreach ($errors as $error) { + fwrite(STDERR, "\e[2m" . str_pad(' L' . $error['line'], 7) . " | \e[0m"); + fwrite(STDERR, $error['warning'] ? "\e[1;33mWARN:\e[0m " : "\e[0;31mERR:\e[0m "); + fwrite(STDERR, $error['message']); + fwrite(STDERR, "\n"); } - exit(1); } + +exit(1); diff --git a/.github/workflows/utilities/phpcs-push b/.github/workflows/utilities/phpcs-push index add55df908..fe51c44c2b 100755 --- a/.github/workflows/utilities/phpcs-push +++ b/.github/workflows/utilities/phpcs-push @@ -7,8 +7,8 @@ * against these changed files, to speed up the tests. */ if (empty($argv[1])) { - echo 'You must provide a commit SHA to check.'; - echo "\n"; + fwrite(STDERR, 'You must provide a commit SHA to check.'); + fwrite(STDERR, "\n"); exit(1); } @@ -22,6 +22,13 @@ foreach ($files as &$file) { } } +// no changes found in diff, early exit +if (!count($files)) { + fwrite(STDOUT, "\e[0;32mFound no changed files.\e[0m"); + fwrite(STDOUT, "\n"); + exit(0); +} + // Run all changed files through the PHPCS code sniffer and generate a CSV report $csv = shell_exec('phpcs --colors -nq --report="csv" --extensions="php" ' . implode(' ', $files)); $lines = array_map(function ($row) { @@ -34,50 +41,47 @@ $lines = array_map(function ($row) { array_shift($lines); if (!count($lines)) { - echo "\e[0;32mFound no issues with code quality.\e[0m"; - echo "\n"; + fwrite(STDOUT, "\e[0;32mFound no issues with code quality.\e[0m"); + fwrite(STDOUT, "\n"); exit(0); -} else { - // Group errors by file - $files = []; +} - foreach ($lines as $line) { - $filename = str_replace(dirname(dirname(dirname(__DIR__))), '', $line[0]); +// Group errors by file +$files = []; - if (empty($files[$filename])) { - $files[$filename] = []; - } +foreach ($lines as $line) { + $filename = str_replace(dirname(dirname(dirname(__DIR__))), '', $line[0]); - $files[$filename][] = [ - 'warning' => ($line[3] === 'warning'), - 'message' => $line[4], - 'line' => $line[1], - ]; + if (empty($files[$filename])) { + $files[$filename] = []; } - // Render report - echo "\e[0;31mFound " - . ((count($lines) === 1) - ? '1 issue' - : count($lines) . ' issues') - . " with code quality.\e[0m"; - echo "\n"; + $files[$filename][] = [ + 'warning' => (($line[3] ?? 'err') === 'warning'), + 'message' => $line[4] ?? 'unknown', + 'line' => $line[1] ?? '0', + ]; +} + +// Render report +fwrite(STDERR, "\e[0;31mFound " + . ((count($lines) === 1) + ? '1 issue' + : count($lines) . ' issues') + . " with code quality.\e[0m"); +fwrite(STDERR, "\n"); - foreach ($files as $file => $errors) { - echo "\n"; - echo "\e[1;37m" . str_replace('"', '', $file) . "\e[0m"; - echo "\n\n"; +foreach ($files as $file => $errors) { + fwrite(STDERR, "\n"); + fwrite(STDERR, "\e[1;37m" . str_replace('"', '', $file) . "\e[0m"); + fwrite(STDERR, "\n\n"); - foreach ($errors as $error) { - echo "\e[2m" . str_pad(' L' . $error['line'], 7) . " | \e[0m"; - if ($error['warning'] === false) { - echo "\e[0;31mERR:\e[0m "; - } else { - echo "\e[1;33mWARN:\e[0m "; - } - echo $error['message']; - echo "\n"; - } + foreach ($errors as $error) { + fwrite(STDERR, "\e[2m" . str_pad(' L' . $error['line'], 7) . " | \e[0m"); + fwrite(STDERR, $error['warning'] ? "\e[1;33mWARN:\e[0m " : "\e[0;31mERR:\e[0m "); + fwrite(STDERR, $error['message']); + fwrite(STDERR, "\n"); } - exit(1); } +exit(1); + diff --git a/.gitignore b/.gitignore index 0a2a3393b4..3582897e81 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,4 @@ package-lock.json /node_modules # Ignore generated public directory from `winter:mirror public` -public \ No newline at end of file +public diff --git a/.vscode/settings.json b/.vscode/settings.json index a81b0b8d5c..8e710556a0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,7 +11,7 @@ "**/modules/*/widgets/*/partials/*.htm": "php", "**/plugins/*/*/behaviors/*/partials/*.htm": "php", - "**/plugins/*/*/components/*/*.htm": "wintercms-twig", + "**/plugins/*/*/components/**/*.htm": "wintercms-twig", "**/plugins/*/*/controllers/*/*.htm": "php", "**/plugins/*/*/formwidgets/*/partials/*.htm": "php", "**/plugins/*/*/layouts/*.htm": "php", diff --git a/artisan b/artisan index df630d0d6d..8d1e73f4ca 100755 --- a/artisan +++ b/artisan @@ -9,7 +9,7 @@ | Composer provides a convenient, automatically generated class loader | for our application. We just need to utilize it! We'll require it | into the script here so that we do not have to worry about the -| loading of any our classes "manually". Feels great to relax. +| loading of any of our classes manually. It's great to relax. | */ @@ -40,7 +40,7 @@ $status = $kernel->handle( | Shutdown The Application |-------------------------------------------------------------------------- | -| Once Artisan has finished running. We will fire off the shutdown events +| Once Artisan has finished running, we will fire off the shutdown events | so that any final work may be done by the application before we shut | down the process. This is the last thing to happen to the request. | diff --git a/composer.json b/composer.json index 7e9593c427..ac0cb5c167 100644 --- a/composer.json +++ b/composer.json @@ -29,34 +29,25 @@ "source": "https://github.com/wintercms/winter" }, "require": { - "php": "^7.2.9|~8.0.0", - "winter/storm": "dev-develop as 1.1.999", - "winter/wn-system-module": "dev-develop as 1.1.999", - "winter/wn-backend-module": "dev-develop as 1.1.999", - "winter/wn-cms-module": "dev-develop as 1.1.999", - "laravel/framework": "~6.0", + "php": "^8.0.2", + "winter/storm": "dev-wip/1.2 as 1.2", + "winter/wn-system-module": "dev-wip/1.2", + "winter/wn-backend-module": "dev-wip/1.2", + "winter/wn-cms-module": "dev-wip/1.2", + "laravel/framework": "^9.1", "wikimedia/composer-merge-plugin": "~2.0.1" }, "require-dev": { - "phpunit/phpunit": "^8.4|^9.3.3", - "mockery/mockery": "~1.3.3|^1.4.2", - "fakerphp/faker": "~1.9", - "squizlabs/php_codesniffer": "3.*", + "phpunit/phpunit": "^9.5.8", + "mockery/mockery": "^1.4.4", + "fakerphp/faker": "^1.9.2", + "squizlabs/php_codesniffer": "^3.2", "php-parallel-lint/php-parallel-lint": "^1.0", "dms/phpunit-arraysubset-asserts": "^0.1.0|^0.2.1" }, - "autoload-dev": { - "classmap": [ - "tests/concerns/InteractsWithAuthentication.php", - "tests/fixtures/backend/models/UserFixture.php", - "tests/TestCase.php", - "tests/PluginTestCase.php" - ] - }, "scripts": { "post-create-project-cmd": [ - "@php artisan key:generate", - "@php artisan package:discover" + "@php artisan key:generate" ], "post-update-cmd": [ "@php artisan winter:version", @@ -66,7 +57,7 @@ "phpunit --stop-on-failure" ], "lint": [ - "parallel-lint --exclude vendor --exclude storage --exclude tests/fixtures/plugins/testvendor/goto/Plugin.php ." + "parallel-lint --exclude vendor --exclude storage --exclude modules/system/tests/fixtures/plugins/testvendor/goto/Plugin.php ." ], "sniff": [ "phpcs --colors -nq --report=\"full\" --extensions=\"php\"" diff --git a/config/app.php b/config/app.php index 66d3050646..c4d3537fc2 100644 --- a/config/app.php +++ b/config/app.php @@ -16,7 +16,7 @@ | */ - 'debug' => true, + 'debug' => env('APP_DEBUG', true), /* |-------------------------------------------------------------------------- @@ -26,9 +26,10 @@ | This value is the name of your application. This value is used when the | framework needs to place the application's name in a notification or | any other location as required by the application or its packages. + | */ - 'name' => 'Winter CMS', + 'name' => env('APP_NAME', 'Winter CMS'), /* |-------------------------------------------------------------------------- @@ -41,7 +42,7 @@ | */ - 'url' => 'http://localhost', + 'url' => env('APP_URL', 'http://localhost'), /* |-------------------------------------------------------------------------- @@ -132,7 +133,9 @@ | - Illuminate\Http\Request::HEADER_X_FORWARDED_HOST - trust only the proxy hostname | - Illuminate\Http\Request::HEADER_X_FORWARDED_PORT - trust only the proxy port | - Illuminate\Http\Request::HEADER_X_FORWARDED_PROTO - trust only the proxy protocol + | - Illuminate\Http\Request::HEADER_X_FORWARDED_PREFIX - trust only the proxy prefix | - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB - trust Amazon Elastic Load Balancing headers + | - Illuminate\Http\Request::HEADER_X_FORWARDED_TRAEFIK - trust Traefik reverse proxy headers | | Examples: | - To trust only the hostname, use the following: @@ -203,6 +206,19 @@ 'fallback_locale' => 'en', + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + /* |-------------------------------------------------------------------------- | Encryption Key @@ -214,8 +230,7 @@ | */ - 'key' => 'CHANGE_ME!!!!!!!!!!!!!!!!!!!!!!!', - + 'key' => env('APP_KEY'), 'cipher' => 'AES-256-CBC', /* @@ -233,7 +248,7 @@ // 'Illuminate\Html\HtmlServiceProvider', // Example - 'System\ServiceProvider', + System\ServiceProvider::class, ]), /* @@ -268,9 +283,6 @@ */ 'aliases' => array_merge(include(base_path('modules/system/aliases.php')), [ - // 'Str' => 'Illuminate\Support\Str', // Example - ]), - ]; diff --git a/config/auth.php b/config/auth.php index 8dc13b61c7..846e31a593 100644 --- a/config/auth.php +++ b/config/auth.php @@ -1,8 +1,8 @@ [ + /* |-------------------------------------------------------------------------- | Enable throttling of Backend authentication attempts @@ -11,7 +11,8 @@ | If set to true, users will be given a limited number of attempts to sign | in to the Backend before being blocked for a specified number of minutes. | - */ + */ + 'enabled' => true, /* @@ -21,7 +22,8 @@ | | Number of failed attempts allowed while trying to authenticate a user. | - */ + */ + 'attemptLimit' => 5, /* @@ -32,8 +34,8 @@ | The number of minutes to suspend further attempts on authentication once | the attempt limit is reached. | - */ + */ + 'suspensionTime' => 15, ], - ]; diff --git a/config/broadcasting.php b/config/broadcasting.php index 6d32d2d2b6..948f010a11 100644 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -11,11 +11,11 @@ | framework when an event needs to be broadcast. You may set this to | any of the connections defined in the "connections" array below. | - | Supported: "pusher", "redis", "log", "null" + | Supported: "pusher", "ably", "redis", "log", "null" | */ - 'default' => 'pusher', + 'default' => env('BROADCAST_DRIVER', 'null'), /* |-------------------------------------------------------------------------- @@ -29,31 +29,32 @@ */ 'connections' => [ - 'pusher' => [ - 'driver' => 'pusher', - 'key' => '', - 'secret' => '', - 'app_id' => '', + 'app_id' => env('PUSHER_APP_ID'), + 'client_options' => [ + // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html + ], + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), 'options' => [ - 'cluster' => '', - 'useTLS' => true, + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'useTLS' => true, ], + 'secret' => env('PUSHER_APP_SECRET'), + ], + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), ], - 'redis' => [ - 'driver' => 'redis', 'connection' => 'default', + 'driver' => 'redis', ], - 'log' => [ 'driver' => 'log', ], - 'null' => [ 'driver' => 'null', ], - ], - ]; diff --git a/config/cache.php b/config/cache.php index 17e2507638..c689a4ba53 100644 --- a/config/cache.php +++ b/config/cache.php @@ -18,7 +18,7 @@ | */ - 'default' => 'file', + 'default' => env('CACHE_DRIVER', 'file'), /* |-------------------------------------------------------------------------- @@ -29,42 +29,39 @@ | well as their drivers. You may even define multiple stores for the | same cache driver to group types of items stored in your caches. | - | Supported: "apc", "array", "database", "file", - | "memcached", "redis", "dynamodb" + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" | */ 'stores' => [ - 'apc' => [ 'driver' => 'apc', ], - 'array' => [ 'driver' => 'array', + 'serialize' => false, ], - 'database' => [ - 'driver' => 'database', - 'table' => 'cache', 'connection' => null, + 'driver' => 'database', + 'lock_connection' => null, + 'table' => 'cache', ], - 'file' => [ 'driver' => 'file', - 'path' => storage_path('framework/cache'), + 'path' => storage_path('framework/cache'), ], - 'memcached' => [ 'driver' => 'memcached', + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), 'sasl' => [ env('MEMCACHED_USERNAME'), env('MEMCACHED_PASSWORD'), ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], 'servers' => [ [ 'host' => env('MEMCACHED_HOST', '127.0.0.1'), @@ -73,21 +70,22 @@ ], ], ], - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', + 'connection' => 'cache', + 'driver' => 'redis', + 'lock_connection' => 'default', ], - 'dynamodb' => [ - 'driver' => 'dynamodb', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'driver' => 'dynamodb', 'endpoint' => env('DYNAMODB_ENDPOINT'), + 'key' => env('AWS_ACCESS_KEY_ID'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + ], + 'octane' => [ + 'driver' => 'octane', ], - ], /* @@ -101,7 +99,7 @@ | */ - 'prefix' => 'winter', + 'prefix' => env('CACHE_PREFIX', str_slug(env('APP_NAME', 'winter'), '_') . '_cache'), /* |-------------------------------------------------------------------------- @@ -138,5 +136,4 @@ */ 'disableRequestCache' => null, - ]; diff --git a/config/cms.php b/config/cms.php index 4da7fd4a7e..560491de72 100644 --- a/config/cms.php +++ b/config/cms.php @@ -91,7 +91,7 @@ | */ - 'backendSkin' => 'Backend\Skins\Standard', + 'backendSkin' => \Backend\Skins\Standard::class, /* |-------------------------------------------------------------------------- @@ -117,7 +117,11 @@ | */ - 'loadModules' => ['System', 'Backend', 'Cms'], + 'loadModules' => [ + 'System', + 'Backend', + 'Cms', + ], /* |-------------------------------------------------------------------------- @@ -156,7 +160,7 @@ | */ - 'enableRoutesCache' => false, + 'enableRoutesCache' => env('ROUTES_CACHE', false), /* |-------------------------------------------------------------------------- @@ -196,7 +200,7 @@ | */ - 'enableAssetCache' => false, + 'enableAssetCache' => env('ASSET_CACHE', false), /* |-------------------------------------------------------------------------- @@ -250,7 +254,7 @@ | */ - 'databaseTemplates' => false, + 'databaseTemplates' => env('DATABASE_TEMPLATES', false), /* |-------------------------------------------------------------------------- @@ -312,26 +316,22 @@ */ 'storage' => [ - 'uploads' => [ - 'disk' => 'local', - 'folder' => 'uploads', - 'path' => '/storage/app/uploads', + 'disk' => 'local', + 'folder' => 'uploads', + 'path' => '/storage/app/uploads', 'temporaryUrlTTL' => 3600, ], - 'media' => [ - 'disk' => 'local', + 'disk' => 'local', 'folder' => 'media', - 'path' => '/storage/app/media', + 'path' => '/storage/app/media', ], - 'resized' => [ - 'disk' => 'local', + 'disk' => 'local', 'folder' => 'resized', - 'path' => '/storage/app/resized', + 'path' => '/storage/app/resized', ], - ], /* @@ -360,7 +360,7 @@ | */ - 'linkPolicy' => 'detect', + 'linkPolicy' => env('LINK_POLICY', 'detect'), /* |-------------------------------------------------------------------------- @@ -371,7 +371,10 @@ | */ - 'defaultMask' => ['file' => null, 'folder' => null], + 'defaultMask' => [ + 'file' => null, + 'folder' => null, + ], /* |-------------------------------------------------------------------------- @@ -396,7 +399,7 @@ | */ - 'enableCsrfProtection' => true, + 'enableCsrfProtection' => env('ENABLE_CSRF', true), /* |-------------------------------------------------------------------------- @@ -466,5 +469,4 @@ */ 'enableBackendServiceWorkers' => false, - ]; diff --git a/config/cookie.php b/config/cookie.php index f286fe5a6b..654d29df81 100644 --- a/config/cookie.php +++ b/config/cookie.php @@ -17,5 +17,4 @@ 'unencryptedCookies' => [ // 'my_cookie', ], - ]; diff --git a/config/database.php b/config/database.php index ab04e6c28f..f57e26acac 100644 --- a/config/database.php +++ b/config/database.php @@ -2,19 +2,6 @@ return [ - /* - |-------------------------------------------------------------------------- - | PDO Fetch Style - |-------------------------------------------------------------------------- - | - | By default, database results will be returned as instances of the PHP - | stdClass object; however, you may desire to retrieve records in an - | array format for simplicity. Here you can tweak the fetch style. - | - */ - - 'fetch' => PDO::FETCH_CLASS, - /* |-------------------------------------------------------------------------- | Default Database Connection Name @@ -26,7 +13,7 @@ | */ - 'default' => 'mysql', + 'default' => env('DB_CONNECTION', 'mysql'), /* |-------------------------------------------------------------------------- @@ -44,60 +31,58 @@ */ 'connections' => [ - 'sqlite' => [ - 'driver' => 'sqlite', - // 'url' => env('DATABASE_URL'), - 'database' => base_path('storage/database.sqlite'), - 'prefix' => '', - 'foreign_key_constraints' => true, + 'database' => env('DB_DATABASE', storage_path('database.sqlite')), + 'driver' => 'sqlite', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'prefix' => '', + 'url' => env('DATABASE_URL'), ], - 'mysql' => [ - 'driver' => 'mysql', - // 'url' => env('DATABASE_URL'), - 'engine' => 'InnoDB', - 'host' => '127.0.0.1', - 'port' => 3306, - 'database' => 'database', - 'username' => 'root', - 'password' => '', - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'database' => env('DB_DATABASE', 'winter'), + 'driver' => 'mysql', + 'engine' => 'InnoDB', + 'host' => env('DB_HOST', '127.0.0.1'), + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + 'password' => env('DB_PASSWORD', ''), + 'port' => env('DB_PORT', '3306'), + 'prefix' => '', 'prefix_indexes' => true, - 'strict' => true, - 'varcharmax' => 191, + 'strict' => true, + 'unix_socket' => env('DB_SOCKET', ''), + 'url' => env('DATABASE_URL'), + 'username' => env('DB_USERNAME', 'winter'), ], - 'pgsql' => [ - 'driver' => 'pgsql', - // 'url' => env('DATABASE_URL'), - 'host' => '127.0.0.1', - 'port' => 5432, - 'database' => 'database', - 'username' => 'root', - 'password' => '', - 'charset' => 'utf8', - 'prefix' => '', + 'charset' => 'utf8', + 'database' => env('DB_DATABASE', 'winter'), + 'driver' => 'pgsql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'password' => env('DB_PASSWORD', ''), + 'port' => env('DB_PORT', '5432'), + 'prefix' => '', 'prefix_indexes' => true, - 'schema' => 'public', - 'sslmode' => 'prefer', + 'search_path' => 'public', + 'sslmode' => 'prefer', + 'url' => env('DATABASE_URL'), + 'username' => env('DB_USERNAME', 'winter'), ], - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - // 'url' => env('DATABASE_URL'), - 'host' => '127.0.0.1', - 'port' => 1433, - 'database' => 'database', - 'username' => 'root', - 'password' => '', - 'charset' => 'utf8', - 'prefix' => '', + 'charset' => 'utf8', + 'database' => env('DB_DATABASE', 'winter'), + 'driver' => 'sqlsrv', + 'host' => env('DB_HOST', '127.0.0.1'), + 'password' => env('DB_PASSWORD', ''), + 'port' => env('DB_PORT', '1433'), + 'prefix' => '', 'prefix_indexes' => true, + 'url' => env('DATABASE_URL'), + 'username' => env('DB_USERNAME', 'winter'), ], - ], /* @@ -107,7 +92,7 @@ | | This table keeps track of all the migrations that have already run for | your application. Using this information, we can determine which of - | the migrations on disk have not actually be run in the databases. + | the migrations on disk haven't actually been run in the database. | */ @@ -119,28 +104,30 @@ |-------------------------------------------------------------------------- | | Redis is an open source, fast, and advanced key-value store that also - | provides a richer set of commands than a typical key-value systems - | such as APC or Memcached. Winter CMS makes it easy to dig right in. + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Winter makes it easy to dig right in. | */ 'redis' => [ - - 'client' => 'predis', - + 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ - 'cluster' => 'redis', - 'prefix' => '', + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', str_slug(env('APP_NAME', 'winter'), '_') . '_database_'), ], - 'default' => [ - // 'url' => env('REDIS_URL'), - 'host' => '127.0.0.1', - 'password' => null, - 'port' => 6379, - 'database' => 0, + 'database' => env('REDIS_DB', '0'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'url' => env('REDIS_URL'), + ], + 'cache' => [ + 'database' => env('REDIS_CACHE_DB', '1'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'url' => env('REDIS_URL'), ], - ], - ]; diff --git a/config/develop.php b/config/develop.php index 381b56409d..4a30178b51 100644 --- a/config/develop.php +++ b/config/develop.php @@ -42,5 +42,4 @@ */ 'allowDeepSymlinks' => false, - ]; diff --git a/config/environment.php b/config/environment.php index 5249b15bad..caa9f6581c 100644 --- a/config/environment.php +++ b/config/environment.php @@ -27,9 +27,6 @@ */ 'hosts' => [ - 'localhost' => 'dev', - ], - ]; diff --git a/config/filesystems.php b/config/filesystems.php index e060a08164..98904ecd94 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -13,20 +13,7 @@ | */ - 'default' => 'local', - - /* - |-------------------------------------------------------------------------- - | Default Cloud Filesystem Disk - |-------------------------------------------------------------------------- - | - | Many applications store files both locally and in the cloud. For this - | reason, you may specify a default "cloud" driver here. This driver - | will be bound as the Cloud disk implementation in the container. - | - */ - - 'cloud' => 's3', + 'default' => env('FILESYSTEM_DISK', 'local'), /* |-------------------------------------------------------------------------- @@ -37,36 +24,26 @@ | may even configure multiple disks of the same driver. Defaults have | been setup for each driver as an example of the required options. | - | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" + | Supported Drivers: "local", "ftp", "sftp", "s3" | */ 'disks' => [ - 'local' => [ 'driver' => 'local', - 'root' => storage_path('app'), - 'url' => '/storage/app', + 'root' => storage_path('app'), + 'url' => '/storage/app', + 'visibility' => 'public', ], - 's3' => [ - 'driver' => 's3', - 'key' => '', - 'secret' => '', - 'region' => '', - 'bucket' => '', - // 'url' => env('AWS_URL'), - // 'endpoint' => env('AWS_ENDPOINT'), - ], - - 'rackspace' => [ - 'driver' => 'rackspace', - 'username' => 'your-username', - 'key' => 'your-key', - 'container' => 'your-container', - 'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/', - 'region' => 'IAD', + 'bucket' => env('AWS_BUCKET'), + 'driver' => 's3', + 'endpoint' => env('AWS_ENDPOINT'), + 'key' => env('AWS_ACCESS_KEY_ID'), + 'region' => env('AWS_DEFAULT_REGION'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'url' => env('AWS_URL'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), ], ], - ]; diff --git a/config/hashing.php b/config/hashing.php index 5b10c09d3c..ad56664fb1 100644 --- a/config/hashing.php +++ b/config/hashing.php @@ -44,9 +44,8 @@ */ 'argon' => [ - 'memory' => 1024, - 'threads' => 2, - 'time' => 2, + 'memory' => 65536, + 'threads' => 1, + 'time' => 4, ], - ]; diff --git a/config/logging.php b/config/logging.php index 0e9478c720..415941e91c 100644 --- a/config/logging.php +++ b/config/logging.php @@ -13,7 +13,20 @@ | */ - 'default' => env('LOG_CHANNEL', 'single'), + 'default' => env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), /* |-------------------------------------------------------------------------- @@ -21,7 +34,7 @@ |-------------------------------------------------------------------------- | | Here you may configure the log channels for your application. Out of - | the box, Laravel uses the Monolog PHP logging library. This gives + | the box, Winter uses the Monolog PHP logging library. This gives | you a variety of powerful log handlers / formatters to utilize. | | Available Drivers: "single", "daily", "slack", "syslog", @@ -32,60 +45,63 @@ 'channels' => [ 'stack' => [ - 'driver' => 'stack', - 'channels' => ['daily'], + 'channels' => [ + 'single', + ], + 'driver' => 'stack', 'ignore_exceptions' => false, ], - 'single' => [ 'driver' => 'single', - 'path' => storage_path('logs/system.log'), - 'level' => 'debug', + 'level' => env('LOG_LEVEL', 'debug'), + 'path' => storage_path('logs/system.log'), ], - 'daily' => [ + 'days' => 14, 'driver' => 'daily', - 'path' => storage_path('logs/system.log'), - 'level' => 'debug', - 'days' => 14, + 'level' => env('LOG_LEVEL', 'debug'), + 'path' => storage_path('logs/system.log'), ], - 'slack' => [ - 'driver' => 'slack', - 'url' => env('LOG_SLACK_WEBHOOK_URL'), - 'username' => 'Winter CMS Log', - 'emoji' => ':boom:', - 'level' => 'critical', + 'driver' => 'slack', + 'emoji' => ':boom:', + 'level' => env('LOG_LEVEL', 'critical'), + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Winter Log', ], - 'papertrail' => [ - 'driver' => 'monolog', - 'level' => 'debug', - 'handler' => \Monolog\Handler\SyslogUdpHandler::class, + 'driver' => 'monolog', + 'handler' => env('LOG_PAPERTRAIL_HANDLER', \Monolog\Handler\SyslogUdpHandler::class), 'handler_with' => [ + 'connectionString' => 'tls://' . env('PAPERTRAIL_URL') . ':' . env('PAPERTRAIL_PORT'), 'host' => env('PAPERTRAIL_URL'), 'port' => env('PAPERTRAIL_PORT'), ], + 'level' => env('LOG_LEVEL', 'debug'), ], - 'stderr' => [ - 'driver' => 'monolog', - 'handler' => \Monolog\Handler\StreamHandler::class, + 'driver' => 'monolog', 'formatter' => env('LOG_STDERR_FORMATTER'), + 'handler' => \Monolog\Handler\StreamHandler::class, + 'level' => env('LOG_LEVEL', 'debug'), 'with' => [ 'stream' => 'php://stderr', ], ], - 'syslog' => [ 'driver' => 'syslog', - 'level' => 'debug', + 'level' => env('LOG_LEVEL', 'debug'), ], - 'errorlog' => [ 'driver' => 'errorlog', - 'level' => 'debug', + 'level' => env('LOG_LEVEL', 'debug'), + ], + 'null' => [ + 'driver' => 'monolog', + 'handler' => \Monolog\Handler\NullHandler::class, + ], + 'emergency' => [ + 'path' => storage_path('logs/system.log'), ], ], - ]; diff --git a/config/mail.php b/config/mail.php index e0b3543632..8c27086d94 100644 --- a/config/mail.php +++ b/config/mail.php @@ -4,45 +4,76 @@ /* |-------------------------------------------------------------------------- - | Mail Driver + | Default Mailer |-------------------------------------------------------------------------- | - | Laravel supports both SMTP and PHP's "mail" function as drivers for the - | sending of e-mail. You may specify which one you're using throughout - | your application here. By default, Laravel is setup for SMTP mail. - | - | Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses", - | "postmark", "sparkpost", "log", "array" + | This option controls the default mailer that is used to send any email + | messages sent by your application. Alternative mailers may be setup + | and used as needed; however, this mailer will be used by default. | */ - 'driver' => 'smtp', + 'default' => env('MAIL_MAILER', 'smtp'), /* |-------------------------------------------------------------------------- - | SMTP Host Address + | Mailer Configurations |-------------------------------------------------------------------------- | - | Here you may provide the host address of the SMTP server used by your - | applications. A default option is provided that is compatible with - | the Mailgun mail service which will provide reliable deliveries. + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. | - */ - - 'host' => 'smtp.mailgun.org', - - /* - |-------------------------------------------------------------------------- - | SMTP Host Port - |-------------------------------------------------------------------------- + | Winter supports a variety of mail "transport" drivers to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. | - | This is the SMTP port used by your application to deliver e-mails to - | users of the application. Like the host we have set this value to - | stay compatible with the Mailgun e-mail application by default. + | Supported: "smtp", "sendmail", "mailgun", "ses", + | "postmark", "log", "array", "failover" | */ - 'port' => 587, + 'mailers' => [ + 'smtp' => [ + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'password' => env('MAIL_PASSWORD'), + 'port' => env('MAIL_PORT', 587), + 'timeout' => null, + 'transport' => 'smtp', + 'username' => env('MAIL_USERNAME'), + ], + 'ses' => [ + 'transport' => 'ses', + ], + 'mailgun' => [ + 'transport' => 'mailgun', + ], + 'postmark' => [ + 'transport' => 'postmark', + ], + 'mail' => [ + 'transport' => 'mail', + ], + 'sendmail' => [ + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'), + 'transport' => 'sendmail', + ], + 'log' => [ + 'channel' => env('MAIL_LOG_CHANNEL'), + 'transport' => 'log', + ], + 'array' => [ + 'transport' => 'array', + ], + 'failover' => [ + 'mailers' => [ + 'smtp', + 'log', + ], + 'transport' => 'failover', + ], + ], /* |-------------------------------------------------------------------------- @@ -56,73 +87,7 @@ */ 'from' => [ - 'address' => 'noreply@domain.tld', - 'name' => 'Winter CMS', + 'address' => env('MAIL_FROM_ADDRESS', 'noreply@example.com'), + 'name' => env('MAIL_FROM_NAME', env('APP_NAME', 'Winter CMS')), ], - - /* - |-------------------------------------------------------------------------- - | E-Mail Encryption Protocol - |-------------------------------------------------------------------------- - | - | Here you may specify the encryption protocol that should be used when - | the application send e-mail messages. A sensible default using the - | transport layer security protocol should provide great security. - | - */ - - 'encryption' => 'tls', - - /* - |-------------------------------------------------------------------------- - | SMTP Server Username - |-------------------------------------------------------------------------- - | - | If your SMTP server requires a username for authentication, you should - | set it here. This will get used to authenticate with your server on - | connection. You may also set the "password" value below this one. - | - */ - - 'username' => null, - - /* - |-------------------------------------------------------------------------- - | SMTP Server Password - |-------------------------------------------------------------------------- - | - | Here you may set the password required by your SMTP server to send out - | messages from your application. This will be given to the server on - | connection so that the application will be able to send messages. - | - */ - - 'password' => null, - - /* - |-------------------------------------------------------------------------- - | Sendmail System Path - |-------------------------------------------------------------------------- - | - | When using the "sendmail" driver to send e-mails, we will need to know - | the path to where Sendmail lives on this server. A default path has - | been provided here, which will work well on most of your systems. - | - */ - - 'sendmail' => '/usr/sbin/sendmail -bs', - - /* - |-------------------------------------------------------------------------- - | Log Channel - |-------------------------------------------------------------------------- - | - | If you are using the "log" driver, you may specify the logging channel - | if you prefer to keep mail messages separate from other log entries - | for simpler reading. Otherwise, the default channel will be used. - | - */ - - // 'log_channel' => env('MAIL_LOG_CHANNEL'), - ]; diff --git a/config/queue.php b/config/queue.php index 308c0ef32a..342b9d650d 100644 --- a/config/queue.php +++ b/config/queue.php @@ -7,13 +7,13 @@ | Default Queue Connection Name |-------------------------------------------------------------------------- | - | The Winter CMS queue API supports an assortment of back-ends via a single + | Winter's queue API supports an assortment of back-ends via a single | API, giving you convenient access to each back-end using the same | syntax for every one. Here you may define a default connection. | */ - 'default' => 'sync', + 'default' => env('QUEUE_CONNECTION', 'sync'), /* |-------------------------------------------------------------------------- @@ -22,50 +22,49 @@ | | Here you may configure the connection information for each server that | is used by your application. A default configuration has been added - | for each back-end shipped with Laravel. You are free to add more. + | for each back-end shipped with Winter. You are free to add more. | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" | */ 'connections' => [ - 'sync' => [ 'driver' => 'sync', ], - 'database' => [ - 'driver' => 'database', - 'table' => 'jobs', - 'queue' => 'default', + 'after_commit' => false, + 'driver' => 'database', + 'queue' => 'default', 'retry_after' => 90, + 'table' => 'jobs', ], - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', + 'after_commit' => false, + 'block_for' => 0, + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', 'retry_after' => 90, - 'block_for' => 0, ], - 'sqs' => [ + 'after_commit' => false, 'driver' => 'sqs', - 'key' => '', - 'secret' => '', - 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', - 'queue' => 'your-queue-name', - 'region' => 'us-east-1', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'suffix' => env('SQS_SUFFIX'), ], - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - 'queue' => 'default', + 'after_commit' => false, + 'block_for' => null, + 'connection' => 'default', + 'driver' => 'redis', + 'queue' => env('REDIS_QUEUE', 'default'), 'retry_after' => 90, - 'block_for' => null, ], - ], /* @@ -80,8 +79,8 @@ */ 'failed' => [ - 'database' => 'mysql', - 'table' => 'failed_jobs', + 'database' => env('DB_CONNECTION', 'mysql'), + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'table' => 'failed_jobs', ], - ]; diff --git a/config/services.php b/config/services.php index e4438e8c2a..fd9b6e0161 100644 --- a/config/services.php +++ b/config/services.php @@ -8,39 +8,23 @@ |-------------------------------------------------------------------------- | | This file is for storing the credentials for third party services such - | as Stripe, Mailgun, Mandrill, and others. This file provides a sane - | default location for this type of information, allowing packages - | to have a conventional place to find your various credentials. + | as Mailgun, Postmark, AWS and more. This file provides the de facto + | location for this type of information, allowing packages to have + | a conventional file to locate the various service credentials. | */ 'mailgun' => [ - 'domain' => '', - 'secret' => '', - 'endpoint' => 'api.mailgun.net', // api.eu.mailgun.net for EU + 'domain' => env('MAILGUN_DOMAIN'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + 'secret' => env('MAILGUN_SECRET'), ], - - 'mandrill' => [ - 'secret' => '', - ], - 'postmark' => [ - 'token' => '', + 'token' => env('POSTMARK_TOKEN'), ], - 'ses' => [ - 'key' => '', - 'secret' => '', - 'region' => 'us-east-1', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), ], - - 'sparkpost' => [ - 'secret' => '', - ], - - 'stripe' => [ - 'model' => 'User', - 'secret' => '', - ], - ]; diff --git a/config/session.php b/config/session.php index 6886351ae6..2137951367 100644 --- a/config/session.php +++ b/config/session.php @@ -16,7 +16,7 @@ | */ - 'driver' => 'file', + 'driver' => env('SESSION_DRIVER', 'file'), /* |-------------------------------------------------------------------------- @@ -29,8 +29,7 @@ | */ - 'lifetime' => 120, - + 'lifetime' => env('SESSION_LIFETIME', 120), 'expire_on_close' => false, /* @@ -70,7 +69,7 @@ | */ - 'connection' => null, + 'connection' => env('SESSION_CONNECTION'), /* |-------------------------------------------------------------------------- @@ -90,13 +89,15 @@ | Session Cache Store |-------------------------------------------------------------------------- | - | When using the "apc", "memcached", or "dynamodb" session drivers you may + | While using one of the framework's cache driven session backends you may | list a cache store that should be used for these sessions. This value | must match with one of the application's configured cache "stores". | + | Affects: "apc", "dynamodb", "memcached", "redis" + | */ - 'store' => null, + 'store' => env('SESSION_STORE'), /* |-------------------------------------------------------------------------- @@ -109,7 +110,10 @@ | */ - 'lottery' => [2, 100], + 'lottery' => [ + 2, + 100, + ], /* |-------------------------------------------------------------------------- @@ -122,7 +126,7 @@ | */ - 'cookie' => 'winter_session', + 'cookie' => env('SESSION_COOKIE', str_slug(env('APP_NAME', 'winter'), '_') . '_session'), /* |-------------------------------------------------------------------------- @@ -148,7 +152,7 @@ | */ - 'domain' => null, + 'domain' => env('SESSION_DOMAIN'), /* |-------------------------------------------------------------------------- @@ -170,11 +174,11 @@ | | By setting this option to true, session cookies will only be sent back | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. + | the cookie from being sent to you when it can't be done securely. | */ - 'secure' => false, + 'secure' => env('SESSION_SECURE_COOKIE', false), /* |-------------------------------------------------------------------------- @@ -182,31 +186,31 @@ |-------------------------------------------------------------------------- | | This option determines how your cookies behave when cross-site requests - | take place and can be used to mitigate CSRF attacks. + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. | | Cookies that match the domain of the current site, i.e. what's displayed | in the browser's address bar, are referred to as first-party cookies. | Similarly, cookies from domains other than the current site are referred | to as third-party cookies. | - | Cookies without a SameSite attribute will be treated as `SameSite=Lax`, + | Cookies without a SameSite attribute will be treated as `SameSite=lax`, | meaning the default behaviour will be to restrict cookies to first party | contexts only. | | Cookies for cross-site usage must specify `same_site` as 'None' and `secure` | as `true` to work correctly. | - | Lax - Cookies are allowed to be sent with top-level navigations and will + | lax - Cookies are allowed to be sent with top-level navigations and will | be sent along with GET request initiated by third party website. | This is the default value in modern browsers. | - | Strict - Cookies will only be sent in a first-party context and not be + | strict - Cookies will only be sent in a first-party context and not be | sent along with requests initiated by third party websites. | - | Supported: "Lax", "Strict" and "None" + | Supported: "lax", "strict", "none", null | */ - 'same_site' => 'Lax', - + 'same_site' => 'lax', ]; diff --git a/config/testing/cms.php b/config/testing/cms.php index ffa7eb71d6..f8660bbbde 100644 --- a/config/testing/cms.php +++ b/config/testing/cms.php @@ -96,7 +96,7 @@ | */ - 'pluginsPathLocal' => base_path('tests/fixtures/plugins'), + 'pluginsPathLocal' => base_path('modules/system/tests/fixtures/plugins'), /* |-------------------------------------------------------------------------- @@ -107,7 +107,65 @@ | */ - 'themesPathLocal' => base_path('tests/fixtures/themes'), + 'themesPathLocal' => base_path('modules/cms/tests/fixtures/themes'), + + /* + |-------------------------------------------------------------------------- + | Resource storage + |-------------------------------------------------------------------------- + | + | Specifies the configuration for resource storage, such as media and + | upload files. These resources are used: + | + | media - generated by the media manager. + | uploads - generated by attachment model relationships. + | resized - generated by System\Classes\ImageResizer or the resize() Twig filter + | + | For each resource you can specify: + | + | disk - filesystem disk, as specified in filesystems.php config. + | folder - a folder prefix for storing all generated files inside. + | path - the public path relative to the application base URL, + | or you can specify a full URL path. + | + | Optionally, you can specify how long temporary URLs to protected files + | in cloud storage (ex. AWS, RackSpace) are valid for by setting + | temporaryUrlTTL to a value in seconds to define a validity period. This + | is only used for the 'uploads' config when using a supported cloud disk + | + | NOTE: If you have installed Winter in a subfolder, are using local + | storage and are not using a linkPolicy of 'force' you should include + | the path to the subfolder in the `path` option for these storage + | configurations. + | + | Example: Winter is installed under https://localhost/projects/winter. + | You should then specify `/projects/winter/storage/app/uploads` as the + | path for the uploads disk and `/projects/winter/storage/app/media` as + | the path for the media disk. + */ + + 'storage' => [ + + 'uploads' => [ + 'disk' => 'local', + 'folder' => 'uploads', + 'path' => '/storage/tests/app/uploads', + 'temporaryUrlTTL' => 3600, + ], + + 'media' => [ + 'disk' => 'local', + 'folder' => 'media', + 'path' => '/storage/tests/app/media', + ], + + 'resized' => [ + 'disk' => 'local', + 'folder' => 'resized', + 'path' => '/storage/tests/app/resized', + ], + + ], /* |-------------------------------------------------------------------------- diff --git a/config/testing/filesystems.php b/config/testing/filesystems.php new file mode 100644 index 0000000000..d7bf8bf430 --- /dev/null +++ b/config/testing/filesystems.php @@ -0,0 +1,64 @@ + 'local', + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => 's3', + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => base_path('storage/tests/app'), + 'url' => '/storage/tests/app', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => '', + 'secret' => '', + 'region' => '', + 'bucket' => '', + // 'url' => env('AWS_URL'), + // 'endpoint' => env('AWS_ENDPOINT'), + ], + + ], + +]; diff --git a/config/view.php b/config/view.php index 9128d732f9..63394f68a5 100644 --- a/config/view.php +++ b/config/view.php @@ -15,6 +15,7 @@ 'paths' => [ // Default Laravel Blade template location + // @see https://github.com/octobercms/october/issues/3473 & https://github.com/octobercms/october/issues/3459 // realpath(base_path('resources/views')) ], @@ -29,6 +30,5 @@ | */ - 'compiled' => realpath(storage_path('framework/views')), - + 'compiled' => env('VIEW_COMPILED_PATH', realpath(storage_path('framework/views'))), ]; diff --git a/modules/backend/.eslintignore b/modules/backend/.eslintignore index e0d3f30269..b84f8627b8 100644 --- a/modules/backend/.eslintignore +++ b/modules/backend/.eslintignore @@ -12,3 +12,6 @@ controllers/**/*.js formwidgets/**/*.js reportwidgets/**/*.js widgets/**/*.js + +# Ignore test fixtures +tests diff --git a/modules/backend/ServiceProvider.php b/modules/backend/ServiceProvider.php index d8c19f9fea..2dea56797c 100644 --- a/modules/backend/ServiceProvider.php +++ b/modules/backend/ServiceProvider.php @@ -20,8 +20,7 @@ class ServiceProvider extends ModuleServiceProvider */ public function register() { - parent::register('backend'); - + $this->registerConsole(); $this->registerMailer(); $this->registerAssetBundles(); @@ -47,6 +46,18 @@ public function boot() parent::boot('backend'); } + /** + * Register console commands + */ + protected function registerConsole() + { + $this->registerConsoleCommand('create.controller', \Backend\Console\CreateController::class); + $this->registerConsoleCommand('create.formwidget', \Backend\Console\CreateFormWidget::class); + $this->registerConsoleCommand('create.reportwidget', \Backend\Console\CreateReportWidget::class); + + $this->registerConsoleCommand('winter.passwd', \Backend\Console\WinterPasswd::class); + } + /** * Register mail templates */ @@ -71,6 +82,8 @@ protected function registerAssetBundles() $combiner->registerBundle('~/modules/backend/widgets/table/assets/js/build.js'); $combiner->registerBundle('~/modules/backend/widgets/mediamanager/assets/js/mediamanager-browser.js'); $combiner->registerBundle('~/modules/backend/widgets/mediamanager/assets/less/mediamanager.less'); + $combiner->registerBundle('~/modules/backend/widgets/reportcontainer/assets/less/reportcontainer.less'); + $combiner->registerBundle('~/modules/backend/widgets/table/assets/less/table.less'); $combiner->registerBundle('~/modules/backend/formwidgets/codeeditor/assets/less/codeeditor.less'); $combiner->registerBundle('~/modules/backend/formwidgets/repeater/assets/less/repeater.less'); $combiner->registerBundle('~/modules/backend/formwidgets/codeeditor/assets/js/build.js'); diff --git a/modules/backend/assets/css/winter.css b/modules/backend/assets/css/winter.css index 2f190130de..96bfcd3f61 100644 --- a/modules/backend/assets/css/winter.css +++ b/modules/backend/assets/css/winter.css @@ -1,1132 +1,1129 @@ @import "../vendor/jcrop/css/jquery.Jcrop.min.css"; @import "../../../system/assets/vendor/prettify/prettify.css"; @import "../../../system/assets/vendor/prettify/theme-desert.css"; -@-webkit-keyframes showSweetAlert {0% {transform:scale(0.7);-webkit-transform:scale(0.7) }45% {transform:scale(1.05);-webkit-transform:scale(1.05) }80% {transform:scale(0.95);-webkit-tranform:scale(0.95) }100% {transform:scale(1);-webkit-transform:scale(1) }} -@keyframes showSweetAlert {0% {transform:scale(0.7);-webkit-transform:scale(0.7) }45% {transform:scale(1.05);-webkit-transform:scale(1.05) }80% {transform:scale(0.95);-webkit-tranform:scale(0.95) }100% {transform:scale(1);-webkit-transform:scale(1) }} -@-webkit-keyframes hideSweetAlert {0% {transform:scale(1);-webkit-transform:scale(1) }100% {transform:scale(0.5);-webkit-transform:scale(0.5) }} -@keyframes hideSweetAlert {0% {transform:scale(1);-webkit-transform:scale(1) }100% {transform:scale(0.5);-webkit-transform:scale(0.5) }} -.showSweetAlert {-webkit-animation:showSweetAlert 0.3s;animation:showSweetAlert 0.3s} -.hideSweetAlert {-webkit-animation:hideSweetAlert 0.2s;animation:hideSweetAlert 0.2s} -@-webkit-keyframes animateSuccessTip {0% {width:0;left:1px;top:19px }54% {width:0;left:1px;top:19px }70% {width:50px;left:-8px;top:37px }84% {width:17px;left:21px;top:48px }100% {width:25px;left:14px;top:45px }} -@keyframes animateSuccessTip {0% {width:0;left:1px;top:19px }54% {width:0;left:1px;top:19px }70% {width:50px;left:-8px;top:37px }84% {width:17px;left:21px;top:48px }100% {width:25px;left:14px;top:45px }} -@-webkit-keyframes animateSuccessLong {0% {width:0;right:46px;top:54px }65% {width:0;right:46px;top:54px }84% {width:55px;right:0;top:35px }100% {width:47px;right:8px;top:38px }} -@keyframes animateSuccessLong {0% {width:0;right:46px;top:54px }65% {width:0;right:46px;top:54px }84% {width:55px;right:0;top:35px }100% {width:47px;right:8px;top:38px }} -@-webkit-keyframes rotatePlaceholder {0% {transform:rotate(-45deg);-webkit-transform:rotate(-45deg) }5% {transform:rotate(-45deg);-webkit-transform:rotate(-45deg) }12% {transform:rotate(-405deg);-webkit-transform:rotate(-405deg) }100% {transform:rotate(-405deg);-webkit-transform:rotate(-405deg) }} -@keyframes rotatePlaceholder {0% {transform:rotate(-45deg);-webkit-transform:rotate(-45deg) }5% {transform:rotate(-45deg);-webkit-transform:rotate(-45deg) }12% {transform:rotate(-405deg);-webkit-transform:rotate(-405deg) }100% {transform:rotate(-405deg);-webkit-transform:rotate(-405deg) }} -.animateSuccessTip {-webkit-animation:animateSuccessTip 0.75s;animation:animateSuccessTip 0.75s} -.animateSuccessLong {-webkit-animation:animateSuccessLong 0.75s;animation:animateSuccessLong 0.75s} -.icon.success.animate::after {-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in} -@-webkit-keyframes animateErrorIcon {0% {transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0 }100% {transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1 }} -@keyframes animateErrorIcon {0% {transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0 }100% {transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1 }} -.animateErrorIcon {-webkit-animation:animateErrorIcon 0.5s;animation:animateErrorIcon 0.5s} -@-webkit-keyframes animateXMark {0% {transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0 }50% {transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0 }80% {transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px }100% {transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1 }} -@keyframes animateXMark {0% {transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0 }50% {transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0 }80% {transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px }100% {transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1 }} -.animateXMark {-webkit-animation:animateXMark 0.5s;animation:animateXMark 0.5s} -@-webkit-keyframes pulseWarning {0% {border-color:#F8D486 }100% {border-color:#F8BB86 }} -@keyframes pulseWarning {0% {border-color:#F8D486 }100% {border-color:#F8BB86 }} -.pulseWarning {-webkit-animation:pulseWarning 0.75s infinite alternate;animation:pulseWarning 0.75s infinite alternate} -@-webkit-keyframes pulseWarningIns {0% {background-color:#F8D486 }100% {background-color:#F8BB86 }} -@keyframes pulseWarningIns {0% {background-color:#F8D486 }100% {background-color:#F8BB86 }} -.pulseWarningIns {-webkit-animation:pulseWarningIns 0.75s infinite alternate;animation:pulseWarningIns 0.75s infinite alternate} -.sweet-overlay {background-color:rgba(0,0,0,0.4);position:fixed;left:0;right:0;top:0;bottom:0;display:none;z-index:7600} -.sweet-alert {background-color:#f9f9f9;width:478px;padding:17px;border-radius:5px;text-align:center;position:fixed;left:50%;top:50%;margin-left:-256px;margin-top:-200px;overflow:hidden;display:none;z-index:8600} -@media all and (max-width:767px) {.sweet-alert {width:auto;margin-left:0;margin-right:0;left:15px;right:15px }} -.sweet-alert .icon {width:80px;height:80px;border:4px solid gray;border-radius:50%;margin:20px auto;position:relative;box-sizing:content-box} -.sweet-alert .icon.error {border-color:#952518} -.sweet-alert .icon.error .x-mark {position:relative;display:block} -.sweet-alert .icon.error .line {position:absolute;height:5px;width:47px;background-color:#ab2a1c;display:block;top:37px;border-radius:2px} -.sweet-alert .icon.error .line.left {-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px} -.sweet-alert .icon.error .line.right {-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px} -.sweet-alert .icon.warning {border-color:#eea236} -.sweet-alert .icon.warning .body {position:absolute;width:5px;height:47px;left:50%;top:10px;border-radius:2px;margin-left:-2px;background-color:#f0ad4e} -.sweet-alert .icon.warning .dot {position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;left:50%;bottom:10px;background-color:#f0ad4e} -.sweet-alert .icon.info {border-color:#46b8da} -.sweet-alert .icon.info::before {content:"";position:absolute;width:5px;height:29px;left:50%;bottom:17px;border-radius:2px;margin-left:-2px;background-color:#5bc0de} -.sweet-alert .icon.info::after {content:"";position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;top:19px;background-color:#5bc0de} -.sweet-alert .icon.success {border-color:#2b9854} +@-webkit-keyframes showSweetAlert{0%{transform:scale(0.7);-webkit-transform:scale(0.7)}45%{transform:scale(1.05);-webkit-transform:scale(1.05)}80%{transform:scale(0.95);-webkit-tranform:scale(0.95)}100%{transform:scale(1);-webkit-transform:scale(1)}} +@keyframes showSweetAlert{0%{transform:scale(0.7);-webkit-transform:scale(0.7)}45%{transform:scale(1.05);-webkit-transform:scale(1.05)}80%{transform:scale(0.95);-webkit-tranform:scale(0.95)}100%{transform:scale(1);-webkit-transform:scale(1)}} +@-webkit-keyframes hideSweetAlert{0%{transform:scale(1);-webkit-transform:scale(1)}100%{transform:scale(0.5);-webkit-transform:scale(0.5)}} +@keyframes hideSweetAlert{0%{transform:scale(1);-webkit-transform:scale(1)}100%{transform:scale(0.5);-webkit-transform:scale(0.5)}} +.showSweetAlert{-webkit-animation:showSweetAlert 0.3s;animation:showSweetAlert 0.3s} +.hideSweetAlert{-webkit-animation:hideSweetAlert 0.2s;animation:hideSweetAlert 0.2s} +@-webkit-keyframes animateSuccessTip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}} +@keyframes animateSuccessTip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}} +@-webkit-keyframes animateSuccessLong{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}} +@keyframes animateSuccessLong{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}} +@-webkit-keyframes rotatePlaceholder{0%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}100%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}} +@keyframes rotatePlaceholder{0%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}5%{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}12%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}100%{transform:rotate(-405deg);-webkit-transform:rotate(-405deg)}} +.animateSuccessTip{-webkit-animation:animateSuccessTip 0.75s;animation:animateSuccessTip 0.75s} +.animateSuccessLong{-webkit-animation:animateSuccessLong 0.75s;animation:animateSuccessLong 0.75s} +.icon.success.animate::after{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in} +@-webkit-keyframes animateErrorIcon{0%{transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1}} +@keyframes animateErrorIcon{0%{transform:rotateX(100deg);-webkit-transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);-webkit-transform:rotateX(0deg);opacity:1}} +.animateErrorIcon{-webkit-animation:animateErrorIcon 0.5s;animation:animateErrorIcon 0.5s} +@-webkit-keyframes animateXMark{0%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0}50%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0}80%{transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px}100%{transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1}} +@keyframes animateXMark{0%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0}50%{transform:scale(0.4);-webkit-transform:scale(0.4);margin-top:26px;opacity:0}80%{transform:scale(1.15);-webkit-transform:scale(1.15);margin-top:-6px}100%{transform:scale(1);-webkit-transform:scale(1);margin-top:0;opacity:1}} +.animateXMark{-webkit-animation:animateXMark 0.5s;animation:animateXMark 0.5s} +@-webkit-keyframes pulseWarning{0%{border-color:#F8D486}100%{border-color:#F8BB86}} +@keyframes pulseWarning{0%{border-color:#F8D486}100%{border-color:#F8BB86}} +.pulseWarning{-webkit-animation:pulseWarning 0.75s infinite alternate;animation:pulseWarning 0.75s infinite alternate} +@-webkit-keyframes pulseWarningIns{0%{background-color:#F8D486}100%{background-color:#F8BB86}} +@keyframes pulseWarningIns{0%{background-color:#F8D486}100%{background-color:#F8BB86}} +.pulseWarningIns{-webkit-animation:pulseWarningIns 0.75s infinite alternate;animation:pulseWarningIns 0.75s infinite alternate} +.sweet-overlay{background-color:rgba(0,0,0,0.4);position:fixed;left:0;right:0;top:0;bottom:0;display:none;z-index:7600} +.sweet-alert{background-color:#f9f9f9;width:478px;padding:17px;border-radius:5px;text-align:center;position:fixed;left:50%;top:50%;margin-left:-256px;margin-top:-200px;overflow:hidden;display:none;z-index:8600} +@media all and (max-width:767px){.sweet-alert{width:auto;margin-left:0;margin-right:0;left:15px;right:15px}} +.sweet-alert .icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;margin:20px auto;position:relative;box-sizing:content-box} +.sweet-alert .icon.error{border-color:#952518} +.sweet-alert .icon.error .x-mark{position:relative;display:block} +.sweet-alert .icon.error .line{position:absolute;height:5px;width:47px;background-color:#ab2a1c;display:block;top:37px;border-radius:2px} +.sweet-alert .icon.error .line.left{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px} +.sweet-alert .icon.error .line.right{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px} +.sweet-alert .icon.warning{border-color:#eea236} +.sweet-alert .icon.warning .body{position:absolute;width:5px;height:47px;left:50%;top:10px;border-radius:2px;margin-left:-2px;background-color:#f0ad4e} +.sweet-alert .icon.warning .dot{position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;left:50%;bottom:10px;background-color:#f0ad4e} +.sweet-alert .icon.info{border-color:#46b8da} +.sweet-alert .icon.info::before{content:"";position:absolute;width:5px;height:29px;left:50%;bottom:17px;border-radius:2px;margin-left:-2px;background-color:#5bc0de} +.sweet-alert .icon.info::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;top:19px;background-color:#5bc0de} +.sweet-alert .icon.success{border-color:#2b9854} .sweet-alert .icon.success::before, -.sweet-alert .icon.success::after {content:'';border-radius:50%;position:absolute;width:60px;height:120px;background:white;-webkit-transform:rotate(45deg);transform:rotate(45deg)} -.sweet-alert .icon.success::before {border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px} -.sweet-alert .icon.success::after {border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px} -.sweet-alert .icon.success .placeholder {width:80px;height:80px;border:4px solid rgba(49,172,95,0.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2} -.sweet-alert .icon.success .fix {width:5px;height:90px;background-color:#f9f9f9;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} -.sweet-alert .icon.success .line {height:5px;background-color:#31ac5f;display:block;border-radius:2px;position:absolute;z-index:2} -.sweet-alert .icon.success .line.tip {width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)} -.sweet-alert .icon.success .line.long {width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} -.sweet-alert .icon.custom {background-size:contain;border-radius:0;border:none;background-position:center center;background-repeat:no-repeat} -.sweet-alert .btn-default:focus {border-color:#656d79;outline:0} -.sweet-alert .btn-success:focus {border-color:#2b9854;outline:0} -.sweet-alert .btn-info:focus {border-color:#46b8da;outline:0} -.sweet-alert .btn-danger:focus {border-color:#952518;outline:0} -.sweet-alert .btn-warning:focus {border-color:#eea236;outline:0} -.sweet-alert button::-moz-focus-inner {border:0} -.sweet-overlay {background-color:rgba(0,0,0,0.2);z-index:10499} -.sweet-alert {text-align:right;border-radius:3px;-webkit-box-shadow:0 27px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22);box-shadow:0 27px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22);z-index:10500} -.sweet-alert h2 {word-break:break-word;word-wrap:break-word;max-height:350px;overflow-y:auto;margin:10px 0 17px 0;color:#2b3e50;text-align:left;font-size:15px;line-height:23px} -.sweet-alert p {margin:0} -.sweet-alert p.text-muted {margin-bottom:20px;color:#555} -.control-simplelist {font-size:13px;padding:20px 20px 2px 20px;margin-bottom:20px;background:#fff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} -.control-simplelist ul {padding-left:15px} -.control-simplelist.form-control ul {margin-bottom:0} -.control-simplelist.form-control li {padding-top:5px;padding-bottom:5px} +.sweet-alert .icon.success::after{content:'';border-radius:50%;position:absolute;width:60px;height:120px;background:white;-webkit-transform:rotate(45deg);transform:rotate(45deg)} +.sweet-alert .icon.success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px} +.sweet-alert .icon.success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px} +.sweet-alert .icon.success .placeholder{width:80px;height:80px;border:4px solid rgba(49,172,95,0.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2} +.sweet-alert .icon.success .fix{width:5px;height:90px;background-color:#f9f9f9;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} +.sweet-alert .icon.success .line{height:5px;background-color:#31ac5f;display:block;border-radius:2px;position:absolute;z-index:2} +.sweet-alert .icon.success .line.tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)} +.sweet-alert .icon.success .line.long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} +.sweet-alert .icon.custom{background-size:contain;border-radius:0;border:none;background-position:center center;background-repeat:no-repeat} +.sweet-alert .btn-default:focus{border-color:#656d79;outline:0} +.sweet-alert .btn-success:focus{border-color:#2b9854;outline:0} +.sweet-alert .btn-info:focus{border-color:#46b8da;outline:0} +.sweet-alert .btn-danger:focus{border-color:#952518;outline:0} +.sweet-alert .btn-warning:focus{border-color:#eea236;outline:0} +.sweet-alert button::-moz-focus-inner{border:0} +.sweet-overlay{background-color:rgba(0,0,0,0.2);z-index:10499} +.sweet-alert{text-align:right;border-radius:3px;-webkit-box-shadow:0 27px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22);box-shadow:0 27px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22);z-index:10500} +.sweet-alert h2{word-break:break-word;word-wrap:break-word;max-height:350px;overflow-y:auto;margin:10px 0 17px 0;color:#2b3e50;text-align:left;font-size:15px;line-height:23px} +.sweet-alert p{margin:0} +.sweet-alert p.text-muted{margin-bottom:20px;color:#555} +.control-simplelist{font-size:13px;padding:20px 20px 2px 20px;margin-bottom:20px;background:#fff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +.control-simplelist ul{padding-left:15px} +.control-simplelist.form-control ul{margin-bottom:0} +.control-simplelist.form-control li{padding-top:5px;padding-bottom:5px} .control-simplelist.with-icons ul, .control-simplelist.with-checkboxes ul, .control-simplelist.is-divided ul, -.control-simplelist.is-selectable ul {list-style-type:none;padding-left:0} -.control-simplelist.with-checkboxes li {margin-top:-5px} -.control-simplelist.with-checkboxes li:first-child {margin-top:0} -.control-simplelist.with-checkboxes li:last-child div.custom-checkbox {margin-bottom:0} -.control-simplelist.with-checkboxes li:last-child div.custom-checkbox label {margin-bottom:5px} -.control-simplelist.is-sortable li.placeholder {position:relative} -.control-simplelist.is-sortable li.placeholder:before {top:-10px;position:absolute;content:'';display:block;width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:5px solid #999} -.control-simplelist.is-sortable li.dragged {position:absolute;opacity:0.5;filter:alpha(opacity=50);z-index:2000;color:#e67e22;width:auto !important} -.control-simplelist.is-scrollable {height:200px} -.control-simplelist.is-scrollable.size-tiny {min-height:250px} -.control-simplelist.is-scrollable.size-small {min-height:300px} -.control-simplelist.is-scrollable.size-large {min-height:400px} -.control-simplelist.is-scrollable.size-huge {min-height:450px} -.control-simplelist.is-scrollable.size-giant {min-height:550px} +.control-simplelist.is-selectable ul{list-style-type:none;padding-left:0} +.control-simplelist.with-checkboxes li{margin-top:-5px} +.control-simplelist.with-checkboxes li:first-child{margin-top:0} +.control-simplelist.with-checkboxes li:last-child div.custom-checkbox{margin-bottom:0} +.control-simplelist.with-checkboxes li:last-child div.custom-checkbox label{margin-bottom:5px} +.control-simplelist.is-sortable li.placeholder{position:relative} +.control-simplelist.is-sortable li.placeholder:before{top:-10px;position:absolute;content:'';display:block;width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:5px solid #999} +.control-simplelist.is-sortable li.dragged{position:absolute;opacity:0.5;filter:alpha(opacity=50);z-index:2000;color:#e67e22;width:auto !important} +.control-simplelist.is-scrollable{height:200px} +.control-simplelist.is-scrollable.size-tiny{min-height:250px} +.control-simplelist.is-scrollable.size-small{min-height:300px} +.control-simplelist.is-scrollable.size-large{min-height:400px} +.control-simplelist.is-scrollable.size-huge{min-height:450px} +.control-simplelist.is-scrollable.size-giant{min-height:550px} .control-simplelist.is-divided, .control-simplelist.is-selectable, -.control-simplelist.is-selectable-box {padding:0} +.control-simplelist.is-selectable-box{padding:0} .control-simplelist.is-divided li .heading, .control-simplelist.is-selectable li .heading, -.control-simplelist.is-selectable-box li .heading {font-size:14px;font-weight:500} +.control-simplelist.is-selectable-box li .heading{font-size:14px;font-weight:500} .control-simplelist.is-divided li, -.control-simplelist.is-selectable li {padding:5px 10px;border-bottom:1px solid #d4d8da} +.control-simplelist.is-selectable li{padding:5px 10px;border-bottom:1px solid #d4d8da} .control-simplelist.is-divided li:last-child, -.control-simplelist.is-selectable li:last-child {border-bottom:none} -.control-simplelist.is-selectable li a {padding:5px 10px;margin:-5px -10px;display:block;color:#333} -.control-simplelist.is-selectable li:hover {background:#4ea5e0;cursor:pointer} +.control-simplelist.is-selectable li:last-child{border-bottom:none} +.control-simplelist.is-selectable li a{padding:5px 10px;margin:-5px -10px;display:block;color:#333} +.control-simplelist.is-selectable li:hover{background:#4ea5e0;cursor:pointer} .control-simplelist.is-selectable li:hover, -.control-simplelist.is-selectable li:hover a {color:white} -.control-simplelist.is-selectable li:hover a {text-decoration:none} -.control-simplelist.is-selectable li.active a {background:#f0f0f0} -.control-simplelist.is-selectable li.active a:hover {background:#4ea5e0} -.control-simplelist.is-selectable-box {padding-top:15px;margin-bottom:0} -.control-simplelist.is-selectable-box li {width:155px;margin:8px;display:inline-block;text-align:center;vertical-align:top} -.control-simplelist.is-selectable-box li a {text-decoration:none;display:block;color:#333} -.control-simplelist.is-selectable-box li a .box {display:block;width:155px;height:155px;border:3px solid rgba(0,0,0,0.1);position:relative;-webkit-transition:border 0.3s ease;transition:border 0.3s ease} -.control-simplelist.is-selectable-box li a .image {display:block;width:56px;height:56px;position:absolute;top:50%;left:50%;margin-top:-28px;margin-left:-28px} -.control-simplelist.is-selectable-box li a .image >i {font-size:56px;color:rgba(0,0,0,0.25)} -.control-simplelist.is-selectable-box li a .heading {margin:7px 0;padding:0} -.control-simplelist.is-selectable-box li a .description {font-size:12px} -.control-simplelist.is-selectable-box li a:hover .box {border-color:rgba(0,0,0,0.2)} -.control-simplelist.is-selectable-box li a:hover .image >i {color:rgba(0,0,0,0.45)} -.list-preview .control-simplelist.is-selectable ul {margin-bottom:0} -.drag-noselect {-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} -.control-scrollbar {position:relative;overflow:hidden;height:100%} -.control-scrollbar >.scrollbar-scrollbar {position:absolute;z-index:100} -.control-scrollbar >.scrollbar-scrollbar .scrollbar-track {background-color:transparent;position:relative;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} -.control-scrollbar >.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb {background-color:rgba(0,0,0,0.35);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;overflow:hidden;position:absolute} -.control-scrollbar >.scrollbar-scrollbar.disabled {display:none !important} -.control-scrollbar.vertical >.scrollbar-scrollbar {right:0;margin-right:5px;width:6px} -.control-scrollbar.vertical >.scrollbar-scrollbar .scrollbar-track {height:100%;width:6px} -.control-scrollbar.vertical >.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb {height:20px;width:6px;top:0;left:0} -.control-scrollbar.vertical >.scrollbar-scrollbar:active, -.control-scrollbar.vertical >.scrollbar-scrollbar:hover {width:8px;-webkit-transition:width 0.3s;transition:width 0.3s} -.control-scrollbar.vertical >.scrollbar-scrollbar:active .scrollbar-track, -.control-scrollbar.vertical >.scrollbar-scrollbar:hover .scrollbar-track, -.control-scrollbar.vertical >.scrollbar-scrollbar:active .scrollbar-thumb, -.control-scrollbar.vertical >.scrollbar-scrollbar:hover .scrollbar-thumb {width:8px;-webkit-transition:width 0.3s;transition:width 0.3s} -.control-scrollbar.horizontal >.scrollbar-scrollbar {margin:0 0 5px;clear:both;height:6px} -.control-scrollbar.horizontal >.scrollbar-scrollbar .scrollbar-track {width:100%;height:6px} -.control-scrollbar.horizontal >.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb {height:6px;margin:2px 0;left:0;top:0} -.control-scrollbar.horizontal >.scrollbar-scrollbar:active, -.control-scrollbar.horizontal >.scrollbar-scrollbar:hover {height:8px;-webkit-transition:height 0.3s;transition:height 0.3s} -.control-scrollbar.horizontal >.scrollbar-scrollbar:active .scrollbar-track, -.control-scrollbar.horizontal >.scrollbar-scrollbar:hover .scrollbar-track, -.control-scrollbar.horizontal >.scrollbar-scrollbar:active .scrollbar-thumb, -.control-scrollbar.horizontal >.scrollbar-scrollbar:hover .scrollbar-thumb {height:8px;-webkit-transition:height 0.3s;transition:height 0.3s} -html.mobile .control-scrollbar {overflow:auto;-webkit-overflow-scrolling:touch} -.no-touch .control-scrollbar >.scrollbar-scrollbar {opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} -.no-touch .control-scrollbar:active >.scrollbar-scrollbar, -.no-touch .control-scrollbar:hover >.scrollbar-scrollbar {opacity:1} -@media (max-width:768px) {.responsive-sidebar >.layout-cell:last-child .control-scrollbar {overflow:visible;height:auto }.responsive-sidebar >.layout-cell:last-child .control-scrollbar .scrollbar-scrollbar {display:none !important }} -.control-filelist p.no-data {padding:22px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:normal;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} -.control-filelist ul {padding:0;margin:0} -.control-filelist ul li {font-weight:normal;line-height:150%;position:relative;list-style:none} -.control-filelist ul li a:hover {background:#ddd} -.control-filelist ul li.active >a {background:#ddd;position:relative} -.control-filelist ul li.active >a:after {position:absolute;height:100%;width:4px;left:0;top:0;background:#e67e22;display:block;content:' '} -.control-filelist ul li a {display:block;padding:10px 45px 10px 20px;outline:none} +.control-simplelist.is-selectable li:hover a{color:white} +.control-simplelist.is-selectable li:hover a{text-decoration:none} +.control-simplelist.is-selectable li.active a{background:#f0f0f0} +.control-simplelist.is-selectable li.active a:hover{background:#4ea5e0} +.control-simplelist.is-selectable-box{padding-top:15px;margin-bottom:0} +.control-simplelist.is-selectable-box li{width:155px;margin:8px;display:inline-block;text-align:center;vertical-align:top} +.control-simplelist.is-selectable-box li a{text-decoration:none;display:block;color:#333} +.control-simplelist.is-selectable-box li a .box{display:block;width:155px;height:155px;border:3px solid rgba(0,0,0,0.1);position:relative;-webkit-transition:border 0.3s ease;transition:border 0.3s ease} +.control-simplelist.is-selectable-box li a .image{display:block;width:56px;height:56px;position:absolute;top:50%;left:50%;margin-top:-28px;margin-left:-28px} +.control-simplelist.is-selectable-box li a .image>i{font-size:56px;color:rgba(0,0,0,0.25)} +.control-simplelist.is-selectable-box li a .heading{margin:7px 0;padding:0} +.control-simplelist.is-selectable-box li a .description{font-size:12px} +.control-simplelist.is-selectable-box li a:hover .box{border-color:rgba(0,0,0,0.2)} +.control-simplelist.is-selectable-box li a:hover .image>i{color:rgba(0,0,0,0.45)} +.list-preview .control-simplelist.is-selectable ul{margin-bottom:0} +.drag-noselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.control-scrollbar{position:relative;overflow:hidden;height:100%} +.control-scrollbar>.scrollbar-scrollbar{position:absolute;z-index:100} +.control-scrollbar>.scrollbar-scrollbar .scrollbar-track{background-color:transparent;position:relative;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} +.control-scrollbar>.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{background-color:rgba(0,0,0,0.35);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;overflow:hidden;position:absolute} +.control-scrollbar>.scrollbar-scrollbar.disabled{display:none !important} +.control-scrollbar.vertical>.scrollbar-scrollbar{right:0;margin-right:5px;width:6px} +.control-scrollbar.vertical>.scrollbar-scrollbar .scrollbar-track{height:100%;width:6px} +.control-scrollbar.vertical>.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{height:20px;width:6px;top:0;left:0} +.control-scrollbar.vertical>.scrollbar-scrollbar:active, +.control-scrollbar.vertical>.scrollbar-scrollbar:hover{width:8px;-webkit-transition:width 0.3s;transition:width 0.3s} +.control-scrollbar.vertical>.scrollbar-scrollbar:active .scrollbar-track, +.control-scrollbar.vertical>.scrollbar-scrollbar:hover .scrollbar-track, +.control-scrollbar.vertical>.scrollbar-scrollbar:active .scrollbar-thumb, +.control-scrollbar.vertical>.scrollbar-scrollbar:hover .scrollbar-thumb{width:8px;-webkit-transition:width 0.3s;transition:width 0.3s} +.control-scrollbar.horizontal>.scrollbar-scrollbar{margin:0 0 5px;clear:both;height:6px} +.control-scrollbar.horizontal>.scrollbar-scrollbar .scrollbar-track{width:100%;height:6px} +.control-scrollbar.horizontal>.scrollbar-scrollbar .scrollbar-track .scrollbar-thumb{height:6px;margin:2px 0;left:0;top:0} +.control-scrollbar.horizontal>.scrollbar-scrollbar:active, +.control-scrollbar.horizontal>.scrollbar-scrollbar:hover{height:8px;-webkit-transition:height 0.3s;transition:height 0.3s} +.control-scrollbar.horizontal>.scrollbar-scrollbar:active .scrollbar-track, +.control-scrollbar.horizontal>.scrollbar-scrollbar:hover .scrollbar-track, +.control-scrollbar.horizontal>.scrollbar-scrollbar:active .scrollbar-thumb, +.control-scrollbar.horizontal>.scrollbar-scrollbar:hover .scrollbar-thumb{height:8px;-webkit-transition:height 0.3s;transition:height 0.3s} +html.mobile .control-scrollbar{overflow:auto;-webkit-overflow-scrolling:touch} +.no-touch .control-scrollbar>.scrollbar-scrollbar{opacity:0;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} +.no-touch .control-scrollbar:active>.scrollbar-scrollbar, +.no-touch .control-scrollbar:hover>.scrollbar-scrollbar{opacity:1} +@media (max-width:768px){.responsive-sidebar>.layout-cell:last-child .control-scrollbar{overflow:visible;height:auto}.responsive-sidebar>.layout-cell:last-child .control-scrollbar .scrollbar-scrollbar{display:none !important}} +.control-filelist p.no-data{padding:22px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:normal;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +.control-filelist ul{padding:0;margin:0} +.control-filelist ul li{font-weight:normal;line-height:150%;position:relative;list-style:none} +.control-filelist ul li a:hover{background:#ddd} +.control-filelist ul li.active>a{background:#ddd;position:relative} +.control-filelist ul li.active>a:after{position:absolute;height:100%;width:4px;left:0;top:0;background:#e67e22;display:block;content:' '} +.control-filelist ul li a{display:block;padding:10px 45px 10px 20px;outline:none} .control-filelist ul li a:hover, .control-filelist ul li a:focus, -.control-filelist ul li a:active {text-decoration:none} -.control-filelist ul li a span {display:block} -.control-filelist ul li a span.title {font-weight:normal;color:#405261;font-size:14px} -.control-filelist ul li a span.description {color:#8f8f8f;font-size:12px;white-space:nowrap;font-weight:normal;overflow:hidden;text-overflow:ellipsis} -.control-filelist ul li a span.description strong {color:#405261;font-weight:normal} -.control-filelist ul li.group >h4, -.control-filelist ul li.group >div.group >h4 {font-weight:normal;font-size:14px;margin-top:0;margin-bottom:0;position:relative} -.control-filelist ul li.group >h4 a, -.control-filelist ul li.group >div.group >h4 a {padding:10px 20px 10px 53px;color:#405261;position:relative;outline:none} -.control-filelist ul li.group >h4 a:hover, -.control-filelist ul li.group >div.group >h4 a:hover {background:transparent} -.control-filelist ul li.group >h4 a:before, -.control-filelist ul li.group >div.group >h4 a:before, -.control-filelist ul li.group >h4 a:after, -.control-filelist ul li.group >div.group >h4 a:after {width:10px;height:10px;display:block;position:absolute;top:1px} -.control-filelist ul li.group >h4 a:after, -.control-filelist ul li.group >div.group >h4 a:after {left:33px;top:9px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f07b";color:#a1aab1;font-size:16px} -.control-filelist ul li.group >h4 a:before, -.control-filelist ul li.group >div.group >h4 a:before {left:20px;top:9px;color:#cfcfcf;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f0da";-webkit-transform:rotate(90deg) translate(5px,0);-ms-transform:rotate(90deg) translate(5px,0);transform:rotate(90deg) translate(5px,0);-webkit-transition:all 0.1s ease;transition:all 0.1s ease} -.control-filelist ul li.group >ul >li >a {padding-left:52px} -.control-filelist ul li.group >ul >li.group {padding-left:20px} -.control-filelist ul li.group >ul >li.group >ul >li >a {padding-left:324px;margin-left:-270px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:297px;margin-left:-243px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:270px;margin-left:-216px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:243px;margin-left:-189px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:216px;margin-left:-162px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:189px;margin-left:-135px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:162px;margin-left:-108px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:135px;margin-left:-81px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:108px;margin-left:-54px} -.control-filelist ul li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li.group >ul >li >a {padding-left:81px;margin-left:-27px} -.control-filelist ul li.group[data-status=collapsed] >h4 a:before, -.control-filelist ul li.group[data-status=collapsed] >div.group >h4 a:before {-webkit-transform:rotate(0deg) translate(3px,0);-ms-transform:rotate(0deg) translate(3px,0);transform:rotate(0deg) translate(3px,0)} -.control-filelist ul li.group[data-status=collapsed] >ul, -.control-filelist ul li.group[data-status=collapsed] >div.subitems {display:none} -.control-filelist ul li >div.controls {position:absolute;right:19px;top:6px} -.control-filelist ul li >div.controls .dropdown {width:14px;height:21px} -.control-filelist ul li >div.controls .dropdown.open a.control {display:block !important} -.control-filelist ul li >div.controls .dropdown.open a.control:before {visibility:visible;display:block} -.control-filelist ul li >div.controls a.control {color:#405261;font-size:14px;visibility:hidden;overflow:hidden;width:14px;height:21px;display:none;text-decoration:none;cursor:pointer;padding:0;opacity:0.5;filter:alpha(opacity=50)} -.control-filelist ul li >div.controls a.control:before {visibility:visible;display:block;margin-right:0} -.control-filelist ul li >div.controls a.control:hover {opacity:1;filter:alpha(opacity=100)} -.control-filelist ul li:hover >div.controls, -.control-filelist ul li:hover >a.control {display:block !important} -.control-filelist ul li:hover >div.controls >a.control, -.control-filelist ul li:hover >a.control >a.control {display:block !important} -.control-filelist ul li .checkbox {position:absolute;top:-5px;right:0} -.control-filelist ul li .checkbox label {margin-right:0} -.control-filelist ul li .checkbox label:before {border-color:#ccc} -.control-filelist.single-line ul li a span.title {text-overflow:ellipsis;overflow:hidden;white-space:nowrap} -.control-filelist.filelist-hero ul li {background:#fff;border-bottom:none} -.control-filelist.filelist-hero ul li >a {padding:11px 45px 10px 50px;font-size:13px;border-bottom:1px solid #ecf0f1} -.control-filelist.filelist-hero ul li >a span.title {font-size:14px;font-weight:normal;color:#2b3e50} -.control-filelist.filelist-hero ul li >a span.description {font-size:13px} -.control-filelist.filelist-hero ul li >a .list-icon {position:absolute;left:14px;top:15px;font-size:22px;color:#b7c0c2} -.control-filelist.filelist-hero ul li >a:hover {background:#4ea5e0;border-bottom:1px solid #4ea5e0 !important} -.control-filelist.filelist-hero ul li >a:hover span.title, -.control-filelist.filelist-hero ul li >a:hover span.description {color:#fff !important} -.control-filelist.filelist-hero ul li >a:hover .list-icon {color:#fff !important} -.control-filelist.filelist-hero ul li >a:active {background:#3498db;border-bottom:1px solid #3498db !important} -.control-filelist.filelist-hero ul li >a:active span.title, -.control-filelist.filelist-hero ul li >a:active span.description {color:#fff !important} -.control-filelist.filelist-hero ul li >a:active .list-icon {color:#fff !important} -.control-filelist.filelist-hero ul li .checkbox {top:-2px;right:0} -.control-filelist.filelist-hero ul li.active >a {border-bottom:1px solid #ddd} -.control-filelist.filelist-hero ul li.active >a:after {top:-1px;bottom:-1px;height:auto} -.control-filelist.filelist-hero ul li.active >a >span.borders:before {content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#ddd} -.control-filelist.filelist-hero ul li.active >a >span.borders:before {top:-1px} -.control-filelist.filelist-hero ul li.active >a:hover >span.borders:before {background-color:#4ea5e0} -.control-filelist.filelist-hero ul li.active >a:active >span.borders:before {background-color:#3498db} -.control-filelist.filelist-hero ul li >h4 {padding-top:7px;padding-bottom:6px;border-bottom:1px solid #ecf0f1} -.control-filelist.filelist-hero ul li >div.controls {display:none;position:absolute;right:16px;top:15px} -.control-filelist.filelist-hero ul li >div.controls >a.control {width:16px;height:23px;background:transparent;overflow:hidden;display:inline-block;color:#fff !important;padding:0} -.control-filelist.filelist-hero ul li >div.controls >a.control:before {font-size:17px} -.control-filelist.filelist-hero ul li:hover >div.controls {display:block} -.control-filelist.filelist-hero ul li.separator {position:relative;border-bottom:1px solid #95a5a6;padding:12px 15px 13px 15px} -.control-filelist.filelist-hero ul li.separator:before {z-index:31;content:'';display:block;width:0;height:0;border-left:9.5px solid transparent;border-right:9.5px solid transparent;border-top:11px solid #fff;border-bottom-width:0;position:absolute;left:13px;bottom:-8px} -.control-filelist.filelist-hero ul li.separator:after {z-index:30;content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #95a5a6;border-bottom-width:0;position:absolute;left:14px;bottom:-9px} -.control-filelist.filelist-hero ul li.separator h5 {color:#2b3e50;font-size:14px;margin:0;font-weight:normal;padding:0} -.control-filelist.filelist-hero ul >li.group >ul >li >a {padding-left:66px} -.control-filelist.filelist-hero.single-level ul li:hover {background:#4ea5e0} -.control-filelist.filelist-hero.single-level ul li:hover >a {background:#4ea5e0;border-bottom:1px solid #4ea5e0 !important} -.control-filelist.filelist-hero.single-level ul li:hover >a span.title, -.control-filelist.filelist-hero.single-level ul li:hover >a span.description {color:#fff !important} -.control-filelist.filelist-hero.single-level ul li:hover >a .list-icon {color:#fff !important} -.control-filelist.filelist-hero.single-level ul li:active {background:#3498db} -.control-filelist.filelist-hero.single-level ul li:active >a {background:#3498db;border-bottom:1px solid #3498db !important} -.control-filelist.filelist-hero.single-level ul li:active >a span.title, -.control-filelist.filelist-hero.single-level ul li:active >a span.description {color:#fff !important} -.control-filelist.filelist-hero.single-level ul li:active >a .list-icon {color:#fff !important} -.control-scrollpanel {position:relative;background:#ecf0f1} -.control-scrollpanel .control-scrollbar.vertical >.scrollbar-scrollbar {right:0} -.tooltip .tooltip-inner {text-align:left;padding:5px 8px} -.tooltip.in {opacity:1;filter:alpha(opacity=100)} +.control-filelist ul li a:active{text-decoration:none} +.control-filelist ul li a span{display:block} +.control-filelist ul li a span.title{font-weight:normal;color:#405261;font-size:14px} +.control-filelist ul li a span.description{color:#8f8f8f;font-size:12px;white-space:nowrap;font-weight:normal;overflow:hidden;text-overflow:ellipsis} +.control-filelist ul li a span.description strong{color:#405261;font-weight:normal} +.control-filelist ul li.group>h4, +.control-filelist ul li.group>div.group>h4{font-weight:normal;font-size:14px;margin-top:0;margin-bottom:0;position:relative} +.control-filelist ul li.group>h4 a, +.control-filelist ul li.group>div.group>h4 a{padding:10px 20px 10px 53px;color:#405261;position:relative;outline:none} +.control-filelist ul li.group>h4 a:hover, +.control-filelist ul li.group>div.group>h4 a:hover{background:transparent} +.control-filelist ul li.group>h4 a:before, +.control-filelist ul li.group>div.group>h4 a:before, +.control-filelist ul li.group>h4 a:after, +.control-filelist ul li.group>div.group>h4 a:after{width:10px;height:10px;display:block;position:absolute;top:1px} +.control-filelist ul li.group>h4 a:after, +.control-filelist ul li.group>div.group>h4 a:after{left:33px;top:9px;font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f07b";color:#a1aab1;font-size:16px} +.control-filelist ul li.group>h4 a:before, +.control-filelist ul li.group>div.group>h4 a:before{left:20px;top:9px;color:#cfcfcf;font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f0da";-webkit-transform:rotate(90deg) translate(5px,0);-ms-transform:rotate(90deg) translate(5px,0);transform:rotate(90deg) translate(5px,0);-webkit-transition:all 0.1s ease;transition:all 0.1s ease} +.control-filelist ul li.group>ul>li>a{padding-left:52px} +.control-filelist ul li.group>ul>li.group{padding-left:20px} +.control-filelist ul li.group>ul>li.group>ul>li>a{padding-left:324px;margin-left:-270px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:297px;margin-left:-243px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:270px;margin-left:-216px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:243px;margin-left:-189px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:216px;margin-left:-162px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:189px;margin-left:-135px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:162px;margin-left:-108px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:135px;margin-left:-81px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:108px;margin-left:-54px} +.control-filelist ul li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li.group>ul>li>a{padding-left:81px;margin-left:-27px} +.control-filelist ul li.group[data-status=collapsed]>h4 a:before, +.control-filelist ul li.group[data-status=collapsed]>div.group>h4 a:before{-webkit-transform:rotate(0deg) translate(3px,0);-ms-transform:rotate(0deg) translate(3px,0);transform:rotate(0deg) translate(3px,0)} +.control-filelist ul li.group[data-status=collapsed]>ul, +.control-filelist ul li.group[data-status=collapsed]>div.subitems{display:none} +.control-filelist ul li>div.controls{position:absolute;right:19px;top:6px} +.control-filelist ul li>div.controls .dropdown{width:14px;height:21px} +.control-filelist ul li>div.controls .dropdown.open a.control{display:block !important} +.control-filelist ul li>div.controls .dropdown.open a.control:before{visibility:visible;display:block} +.control-filelist ul li>div.controls a.control{color:#405261;font-size:14px;visibility:hidden;overflow:hidden;width:14px;height:21px;display:none;text-decoration:none;cursor:pointer;padding:0;opacity:0.5;filter:alpha(opacity=50)} +.control-filelist ul li>div.controls a.control:before{visibility:visible;display:block;margin-right:0} +.control-filelist ul li>div.controls a.control:hover{opacity:1;filter:alpha(opacity=100)} +.control-filelist ul li:hover>div.controls, +.control-filelist ul li:hover>a.control{display:block !important} +.control-filelist ul li:hover>div.controls>a.control, +.control-filelist ul li:hover>a.control>a.control{display:block !important} +.control-filelist ul li .checkbox{position:absolute;top:-5px;right:0} +.control-filelist ul li .checkbox label{margin-right:0} +.control-filelist ul li .checkbox label:before{border-color:#ccc} +.control-filelist.single-line ul li a span.title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.control-filelist.filelist-hero ul li{background:#fff;border-bottom:none} +.control-filelist.filelist-hero ul li>a{padding:11px 45px 10px 50px;font-size:13px;border-bottom:1px solid #ecf0f1} +.control-filelist.filelist-hero ul li>a span.title{font-size:14px;font-weight:normal;color:#2b3e50} +.control-filelist.filelist-hero ul li>a span.description{font-size:13px} +.control-filelist.filelist-hero ul li>a .list-icon{position:absolute;left:14px;top:15px;font-size:22px;color:#b7c0c2} +.control-filelist.filelist-hero ul li>a:hover{background:#4ea5e0;border-bottom:1px solid #4ea5e0 !important} +.control-filelist.filelist-hero ul li>a:hover span.title, +.control-filelist.filelist-hero ul li>a:hover span.description{color:#fff !important} +.control-filelist.filelist-hero ul li>a:hover .list-icon{color:#fff !important} +.control-filelist.filelist-hero ul li>a:active{background:#3498db;border-bottom:1px solid #3498db !important} +.control-filelist.filelist-hero ul li>a:active span.title, +.control-filelist.filelist-hero ul li>a:active span.description{color:#fff !important} +.control-filelist.filelist-hero ul li>a:active .list-icon{color:#fff !important} +.control-filelist.filelist-hero ul li .checkbox{top:-2px;right:0} +.control-filelist.filelist-hero ul li.active>a{border-bottom:1px solid #ddd} +.control-filelist.filelist-hero ul li.active>a:after{top:-1px;bottom:-1px;height:auto} +.control-filelist.filelist-hero ul li.active>a>span.borders:before{content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#ddd} +.control-filelist.filelist-hero ul li.active>a>span.borders:before{top:-1px} +.control-filelist.filelist-hero ul li.active>a:hover>span.borders:before{background-color:#4ea5e0} +.control-filelist.filelist-hero ul li.active>a:active>span.borders:before{background-color:#3498db} +.control-filelist.filelist-hero ul li>h4{padding-top:7px;padding-bottom:6px;border-bottom:1px solid #ecf0f1} +.control-filelist.filelist-hero ul li>div.controls{display:none;position:absolute;right:16px;top:15px} +.control-filelist.filelist-hero ul li>div.controls>a.control{width:16px;height:23px;background:transparent;overflow:hidden;display:inline-block;color:#fff !important;padding:0} +.control-filelist.filelist-hero ul li>div.controls>a.control:before{font-size:17px} +.control-filelist.filelist-hero ul li:hover>div.controls{display:block} +.control-filelist.filelist-hero ul li.separator{position:relative;border-bottom:1px solid #95a5a6;padding:12px 15px 13px 15px} +.control-filelist.filelist-hero ul li.separator:before{z-index:31;content:'';display:block;width:0;height:0;border-left:9.5px solid transparent;border-right:9.5px solid transparent;border-top:11px solid #fff;border-bottom-width:0;position:absolute;left:13px;bottom:-8px} +.control-filelist.filelist-hero ul li.separator:after{z-index:30;content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #95a5a6;border-bottom-width:0;position:absolute;left:14px;bottom:-9px} +.control-filelist.filelist-hero ul li.separator h5{color:#2b3e50;font-size:14px;margin:0;font-weight:normal;padding:0} +.control-filelist.filelist-hero ul>li.group>ul>li>a{padding-left:66px} +.control-filelist.filelist-hero.single-level ul li:hover{background:#4ea5e0} +.control-filelist.filelist-hero.single-level ul li:hover>a{background:#4ea5e0;border-bottom:1px solid #4ea5e0 !important} +.control-filelist.filelist-hero.single-level ul li:hover>a span.title, +.control-filelist.filelist-hero.single-level ul li:hover>a span.description{color:#fff !important} +.control-filelist.filelist-hero.single-level ul li:hover>a .list-icon{color:#fff !important} +.control-filelist.filelist-hero.single-level ul li:active{background:#3498db} +.control-filelist.filelist-hero.single-level ul li:active>a{background:#3498db;border-bottom:1px solid #3498db !important} +.control-filelist.filelist-hero.single-level ul li:active>a span.title, +.control-filelist.filelist-hero.single-level ul li:active>a span.description{color:#fff !important} +.control-filelist.filelist-hero.single-level ul li:active>a .list-icon{color:#fff !important} +.control-scrollpanel{position:relative;background:#ecf0f1} +.control-scrollpanel .control-scrollbar.vertical>.scrollbar-scrollbar{right:0} +.tooltip .tooltip-inner{text-align:left;padding:5px 8px} +.tooltip.in{opacity:1;filter:alpha(opacity=100)} .wn-logo-white, -.oc-logo-white {background-image:url(../images/winter-logo-white.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain} +.oc-logo-white{background-image:url(../images/winter-logo-white.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain} .wn-logo, -.oc-logo {background-image:url(../images/winter-logo.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain} +.oc-logo{background-image:url(../images/winter-logo.svg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain} .layout.control-tabs.wn-logo-transparent:not(.has-tabs), .layout.control-tabs.oc-logo-transparent:not(.has-tabs), .flex-layout-column.wn-logo-transparent:not(.has-tabs), .flex-layout-column.oc-logo-transparent:not(.has-tabs), .layout-cell.wn-logo-transparent, -.layout-cell.oc-logo-transparent {background-size:50% auto;background-repeat:no-repeat;background-image:url(../images/winter-logo.svg);background-position:50% 50%;position:relative} +.layout-cell.oc-logo-transparent{background-size:50% auto;background-repeat:no-repeat;background-image:url(../images/winter-logo.svg);background-position:50% 50%;position:relative} .layout.control-tabs.wn-logo-transparent:not(.has-tabs):after, .layout.control-tabs.oc-logo-transparent:not(.has-tabs):after, .flex-layout-column.wn-logo-transparent:not(.has-tabs):after, .flex-layout-column.oc-logo-transparent:not(.has-tabs):after, .layout-cell.wn-logo-transparent:after, -.layout-cell.oc-logo-transparent:after {content:'';display:table-cell;position:absolute;left:0;top:0;height:100%;width:100%;background:rgba(249,249,249,0.7)} -.report-widget {padding:15px;background:white;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font-size:13px} -.report-widget h3 {font-size:14px;color:#7e8c8d;text-transform:uppercase;font-weight:600;margin-top:0;margin-bottom:30px} -.report-widget .height-100 {height:100px} -.report-widget .height-200 {height:200px} -.report-widget .height-300 {height:300px} -.report-widget .height-400 {height:400px} -.report-widget .height-500 {height:500px} -.report-widget p.report-description {margin-bottom:0;margin-top:15px;font-size:12px;line-height:190%;color:#7e8c8d} -.report-widget a:not(.btn) {color:#7e8c8d;text-decoration:none} -.report-widget a:not(.btn):hover {color:#0181b9;text-decoration:none} -.report-widget p.flash-message.static {margin-bottom:0} -.report-widget .icon-circle.success {color:#31ac5f} -.report-widget .icon-circle.primary {color:#34495e} -.report-widget .icon-circle.warning {color:#f0ad4e} -.report-widget .icon-circle.danger {color:#ab2a1c} -.report-widget .icon-circle.info {color:#5bc0de} -.control-treelist ol {padding:0;margin:0;list-style:none} -.control-treelist ol ol {margin:0;margin-left:15px;padding-left:15px;border-left:1px solid #dbdee0} -.control-treelist >ol >li >div.record:before {display:none} -.control-treelist li {margin:0;padding:0} -.control-treelist li >div.record {margin:0;font-size:12px;margin-bottom:5px;position:relative;display:block} -.control-treelist li >div.record:before {color:#bdc3c7;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f111";font-size:6px;position:absolute;left:-18px;top:11px} -.control-treelist li >div.record >a.move {display:inline-block;padding:7px 0 7px 10px;text-decoration:none;color:#bdc3c7} -.control-treelist li >div.record >a.move:hover {color:#4ea5e0} -.control-treelist li >div.record >a.move:before {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f0c9"} -.control-treelist li >div.record >span {color:#666;display:inline-block;padding:7px 15px 7px 5px} -.control-treelist li.dragged {position:absolute;z-index:2000;width:auto !important;height:auto !important} -.control-treelist li.dragged >div.record {opacity:0.5;filter:alpha(opacity=50);background:#4ea5e0 !important} -.control-treelist li.dragged >div.record >a.move:before, -.control-treelist li.dragged >div.record >span {color:white} -.control-treelist li.dragged >div.record:before {display:none} -.control-treelist li.placeholder {display:inline-block;position:relative;background:#4ea5e0 !important;height:25px;margin-bottom:5px} -.control-treelist li.placeholder:before {display:block;position:absolute;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f053";color:#d35714;left:-10px;top:8px;z-index:2000} -.control-treeview {margin-bottom:40px} -.control-treeview ol {margin:0;padding:0;list-style:none;background:#fff} -.control-treeview ol >li {-webkit-transition:width 1s;transition:width 1s} -.control-treeview ol >li >div {font-size:14px;font-weight:normal;background:#fff;border-bottom:1px solid #ecf0f1;position:relative} -.control-treeview ol >li >div >a {color:#2b3e50;padding:11px 45px 10px 61px;display:block;line-height:150%;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} -.control-treeview ol >li >div:before {content:' ';background-image:url(../images/treeview-icons.png);background-position:0 -28px;background-repeat:no-repeat;background-size:42px auto;position:absolute;width:21px;height:22px;left:28px;top:15px} -.control-treeview ol >li >div span.comment {display:block;font-weight:400;color:#95a5a6;font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis} -.control-treeview ol >li >div >span.expand {font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:none;position:absolute;width:20px;height:20px;top:19px;left:2px;cursor:pointer;color:#bdc3c7;-webkit-transition:transform 0.1s ease;transition:transform 0.1s ease} -.control-treeview ol >li >div >span.expand:before {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f0da";line-height:100%;font-size:15px;position:relative;left:8px;top:2px} -.control-treeview ol >li >div >span.drag-handle {font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;-webkit-transition:opacity 0.4s;transition:opacity 0.4s;position:absolute;right:9px;bottom:0;width:18px;height:19px;cursor:move;color:#bdc3c7;opacity:0;filter:alpha(opacity=0)} -.control-treeview ol >li >div >span.drag-handle:before {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f0c9";font-size:18px} -.control-treeview ol >li >div span.borders {font-size:0} -.control-treeview ol >li >div >ul.submenu {position:absolute;left:20px;bottom:-36.9px;padding:0;list-style:none;z-index:200;height:37px;display:none;margin-left:15px;background:transparent url(../images/treeview-submenu-tabs.png) repeat-x left -39px} -.control-treeview ol >li >div >ul.submenu:before, -.control-treeview ol >li >div >ul.submenu:after {background:transparent url(../images/treeview-submenu-tabs.png) no-repeat left top;content:' ';display:block;width:20px;height:37px;position:absolute;top:0} -.control-treeview ol >li >div >ul.submenu:before {left:-20px} -.control-treeview ol >li >div >ul.submenu:after {background-position:-100px top;right:-20px} -.control-treeview ol >li >div >ul.submenu li {font-size:12px} -.control-treeview ol >li >div >ul.submenu li a {display:block;padding:4px 3px 0 3px;color:#fff;text-decoration:none;outline:none} -.control-treeview ol >li >div >ul.submenu li a i {margin-right:5px} -.control-treeview ol >li >div:hover >ul.submenu {display:block} -.control-treeview ol >li >div:active >ul.submenu {background-position:left -116px} -.control-treeview ol >li >div:active >ul.submenu:before {background-position:left -77px} -.control-treeview ol >li >div:active >ul.submenu:after {background-position:-100px -77px} -.control-treeview ol >li >div .checkbox {position:absolute;top:-2px;right:0} -.control-treeview ol >li >div .checkbox label {margin-right:0} -.control-treeview ol >li >div .checkbox label:before {border-color:#ccc} -.control-treeview ol >li >div.popover-highlight {background-color:#4ea5e0 !important} -.control-treeview ol >li >div.popover-highlight:before {background-position:0 -80px} -.control-treeview ol >li >div.popover-highlight >a {color:#fff !important;cursor:default} -.control-treeview ol >li >div.popover-highlight span {color:#fff !important} -.control-treeview ol >li >div.popover-highlight >ul.submenu, -.control-treeview ol >li >div.popover-highlight >span.drag-handle {display:none !important} -.control-treeview ol >li.dragged div, -.control-treeview ol >li >div:hover {background-color:#4ea5e0 !important} -.control-treeview ol >li.dragged div >a, -.control-treeview ol >li >div:hover >a {color:#fff !important} -.control-treeview ol >li.dragged div:before, -.control-treeview ol >li >div:hover:before {background-position:0 -80px} -.control-treeview ol >li.dragged div:after, -.control-treeview ol >li >div:hover:after {top:0 !important;bottom:0 !important} -.control-treeview ol >li.dragged div span, -.control-treeview ol >li >div:hover span {color:#fff !important} -.control-treeview ol >li.dragged div span.drag-handle, -.control-treeview ol >li >div:hover span.drag-handle {cursor:move;opacity:1;filter:alpha(opacity=100)} -.control-treeview ol >li.dragged div span.borders, -.control-treeview ol >li >div:hover span.borders {display:none} -.control-treeview ol >li >div:active {background-color:#3498db !important} -.control-treeview ol >li >div:active >a {color:#fff !important} -.control-treeview ol >li[data-no-drag-mode] div:hover span.drag-handle {cursor:default !important;opacity:0.3 !important;filter:alpha(opacity=30) !important} -.control-treeview ol >li.dragged li.has-subitems >div:before, -.control-treeview ol >li.dragged.has-subitems >div:before {background-position:0 -52px} -.control-treeview ol >li.dragged div >ul.submenu {display:none !important} -.control-treeview ol >li >ol {padding-left:20px;padding-right:20px} -.control-treeview ol >li[data-status=collapsed] >ol {display:none} -.control-treeview ol >li.has-subitems >div:before {background-position:0 0;width:23px;height:26px;left:26px} -.control-treeview ol >li.has-subitems >div:hover:before, -.control-treeview ol >li.has-subitems >div.popover-highlight:before {background-position:0 -52px} -.control-treeview ol >li.has-subitems >div span.expand {display:block} -.control-treeview ol >li.placeholder {position:relative;opacity:0.5;filter:alpha(opacity=50)} -.control-treeview ol >li.dragged {position:absolute;z-index:2000;opacity:0.25;filter:alpha(opacity=25)} -.control-treeview ol >li.dragged >div {-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} -.control-treeview ol >li.drop-target >div {background-color:#2581b8 !important} -.control-treeview ol >li.drop-target >div >a {color:#fff} -.control-treeview ol >li.drop-target >div >a >span.comment {color:#fff} -.control-treeview ol >li.drop-target >div:before {background-position:0 -80px} -.control-treeview ol >li.drop-target.has-subitems >div:before {background-position:0 -52px} -.control-treeview ol >li[data-status=expanded] >div >span.expand {-webkit-transform:rotate(90deg) translate(0,0);-ms-transform:rotate(90deg) translate(0,0);transform:rotate(90deg) translate(0,0)} -.control-treeview ol >li.drag-ghost {background-color:transparent;box-sizing:content-box} -.control-treeview ol >li.active >div {background:#ddd} -.control-treeview ol >li.active >div:after {position:absolute;width:4px;left:0;top:-1px;bottom:-1px;background:#e67e22;display:block;content:' '} -.control-treeview ol >li.active >div >span.comment, -.control-treeview ol >li.active >div >span.expand {color:#8f8f8f} -.control-treeview ol >li.active >div >span.borders:before, -.control-treeview ol >li.active >div >span.borders:after {content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#ddd} -.control-treeview ol >li.active >div >span.borders:before {top:-1px} -.control-treeview ol >li.active >div >span.borders:after {bottom:-1px} -.control-treeview ol >li.no-data {padding:18px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:400} -.control-treeview ol >li >ol >li >div {margin-left:-20px;margin-right:-20px;padding-left:71px} -.control-treeview ol >li >ol >li >div >a {margin-left:-71px;padding-left:71px} -.control-treeview ol >li >ol >li >div:before {margin-left:10px} -.control-treeview ol >li >ol >li >div >span.expand {left:12px} -.control-treeview ol >li >ol >li >ol >li >div {margin-left:-40px;margin-right:-40px;padding-left:81px} -.control-treeview ol >li >ol >li >ol >li >div >a {margin-left:-81px;padding-left:81px} -.control-treeview ol >li >ol >li >ol >li >div:before {margin-left:20px} -.control-treeview ol >li >ol >li >ol >li >div >span.expand {left:22px} -.control-treeview ol >li >ol >li >ol >li >ol >li >div {margin-left:-60px;margin-right:-60px;padding-left:91px} -.control-treeview ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-91px;padding-left:91px} -.control-treeview ol >li >ol >li >ol >li >ol >li >div:before {margin-left:30px} -.control-treeview ol >li >ol >li >ol >li >ol >li >div >span.expand {left:32px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-80px;margin-right:-80px;padding-left:101px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-101px;padding-left:101px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:40px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:42px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-100px;margin-right:-100px;padding-left:111px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-111px;padding-left:111px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:50px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:52px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-120px;margin-right:-120px;padding-left:121px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-121px;padding-left:121px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:60px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:62px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-140px;margin-right:-140px;padding-left:131px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-131px;padding-left:131px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:70px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:72px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-160px;margin-right:-160px;padding-left:141px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-141px;padding-left:141px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:80px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:82px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-180px;margin-right:-180px;padding-left:151px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-151px;padding-left:151px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:90px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:92px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div {margin-left:-200px;margin-right:-200px;padding-left:161px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >a {margin-left:-161px;padding-left:161px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div:before {margin-left:100px} -.control-treeview ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >ol >li >div >span.expand {left:102px} -.control-treeview p.no-data {padding:18px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:400} -.control-treeview a.menu-control {display:block;margin:20px;padding:13px 15px;border:dotted 2px #ebebeb;color:#bdc3c7;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:5px;vertical-align:middle} +.layout-cell.oc-logo-transparent:after{content:'';display:table-cell;position:absolute;left:0;top:0;height:100%;width:100%;background:rgba(249,249,249,0.7)} +.report-widget{padding:15px;background:white;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font-size:13px} +.report-widget h3{font-size:14px;color:#7e8c8d;text-transform:uppercase;font-weight:600;margin-top:0;margin-bottom:30px} +.report-widget .height-100{height:100px} +.report-widget .height-200{height:200px} +.report-widget .height-300{height:300px} +.report-widget .height-400{height:400px} +.report-widget .height-500{height:500px} +.report-widget p.report-description{margin-bottom:0;margin-top:15px;font-size:12px;line-height:190%;color:#7e8c8d} +.report-widget a:not(.btn){color:#7e8c8d;text-decoration:none} +.report-widget a:not(.btn):hover{color:#0181b9;text-decoration:none} +.report-widget p.flash-message.static{margin-bottom:0} +.report-widget .icon-circle.success{color:#31ac5f} +.report-widget .icon-circle.primary{color:#34495e} +.report-widget .icon-circle.warning{color:#f0ad4e} +.report-widget .icon-circle.danger{color:#ab2a1c} +.report-widget .icon-circle.info{color:#5bc0de} +.control-treelist ol{padding:0;margin:0;list-style:none} +.control-treelist ol ol{margin:0;margin-left:15px;padding-left:15px;border-left:1px solid #dbdee0} +.control-treelist>ol>li>div.record:before{display:none} +.control-treelist li{margin:0;padding:0} +.control-treelist li>div.record{margin:0;font-size:12px;margin-bottom:5px;position:relative;display:block} +.control-treelist li>div.record:before{color:#bdc3c7;font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f111";font-size:6px;position:absolute;left:-18px;top:11px} +.control-treelist li>div.record>a.move{display:inline-block;padding:7px 0 7px 10px;text-decoration:none;color:#bdc3c7} +.control-treelist li>div.record>a.move:hover{color:#4ea5e0} +.control-treelist li>div.record>a.move:before{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f0c9"} +.control-treelist li>div.record>span{color:#666;display:inline-block;padding:7px 15px 7px 5px} +.control-treelist li.dragged{position:absolute;z-index:2000;width:auto !important;height:auto !important} +.control-treelist li.dragged>div.record{opacity:0.5;filter:alpha(opacity=50);background:#4ea5e0 !important} +.control-treelist li.dragged>div.record>a.move:before, +.control-treelist li.dragged>div.record>span{color:white} +.control-treelist li.dragged>div.record:before{display:none} +.control-treelist li.placeholder{display:inline-block;position:relative;background:#4ea5e0 !important;height:25px;margin-bottom:5px} +.control-treelist li.placeholder:before{display:block;position:absolute;font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f053";color:#d35714;left:-10px;top:8px;z-index:2000} +.control-treeview{margin-bottom:40px} +.control-treeview ol{margin:0;padding:0;list-style:none;background:#fff} +.control-treeview ol>li{-webkit-transition:width 1s;transition:width 1s} +.control-treeview ol>li>div{font-size:14px;font-weight:normal;background:#fff;border-bottom:1px solid #ecf0f1;position:relative} +.control-treeview ol>li>div>a{color:#2b3e50;padding:11px 45px 10px 61px;display:block;line-height:150%;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.control-treeview ol>li>div:before{content:' ';background-image:url(../images/treeview-icons.png);background-position:0 -28px;background-repeat:no-repeat;background-size:42px auto;position:absolute;width:21px;height:22px;left:28px;top:15px} +.control-treeview ol>li>div span.comment{display:block;font-weight:400;color:#95a5a6;font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis} +.control-treeview ol>li>div>span.expand{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:none;position:absolute;width:20px;height:20px;top:19px;left:2px;cursor:pointer;color:#bdc3c7;-webkit-transition:transform 0.1s ease;transition:transform 0.1s ease} +.control-treeview ol>li>div>span.expand:before{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f0da";line-height:100%;font-size:15px;position:relative;left:8px;top:2px} +.control-treeview ol>li>div>span.drag-handle{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;-webkit-transition:opacity 0.4s;transition:opacity 0.4s;position:absolute;right:9px;bottom:0;width:18px;height:19px;cursor:move;color:#bdc3c7;opacity:0;filter:alpha(opacity=0)} +.control-treeview ol>li>div>span.drag-handle:before{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f0c9";font-size:18px} +.control-treeview ol>li>div span.borders{font-size:0} +.control-treeview ol>li>div>ul.submenu{position:absolute;left:20px;bottom:-36.9px;padding:0;list-style:none;z-index:200;height:37px;display:none;margin-left:15px;background:transparent url(../images/treeview-submenu-tabs.png) repeat-x left -39px} +.control-treeview ol>li>div>ul.submenu:before, +.control-treeview ol>li>div>ul.submenu:after{background:transparent url(../images/treeview-submenu-tabs.png) no-repeat left top;content:' ';display:block;width:20px;height:37px;position:absolute;top:0} +.control-treeview ol>li>div>ul.submenu:before{left:-20px} +.control-treeview ol>li>div>ul.submenu:after{background-position:-100px top;right:-20px} +.control-treeview ol>li>div>ul.submenu li{font-size:12px} +.control-treeview ol>li>div>ul.submenu li a{display:block;padding:4px 3px 0 3px;color:#fff;text-decoration:none;outline:none} +.control-treeview ol>li>div>ul.submenu li a i{margin-right:5px} +.control-treeview ol>li>div:hover>ul.submenu{display:block} +.control-treeview ol>li>div:active>ul.submenu{background-position:left -116px} +.control-treeview ol>li>div:active>ul.submenu:before{background-position:left -77px} +.control-treeview ol>li>div:active>ul.submenu:after{background-position:-100px -77px} +.control-treeview ol>li>div .checkbox{position:absolute;top:-2px;right:0} +.control-treeview ol>li>div .checkbox label{margin-right:0} +.control-treeview ol>li>div .checkbox label:before{border-color:#ccc} +.control-treeview ol>li>div.popover-highlight{background-color:#4ea5e0 !important} +.control-treeview ol>li>div.popover-highlight:before{background-position:0 -80px} +.control-treeview ol>li>div.popover-highlight>a{color:#fff !important;cursor:default} +.control-treeview ol>li>div.popover-highlight span{color:#fff !important} +.control-treeview ol>li>div.popover-highlight>ul.submenu, +.control-treeview ol>li>div.popover-highlight>span.drag-handle{display:none !important} +.control-treeview ol>li.dragged div, +.control-treeview ol>li>div:hover{background-color:#4ea5e0 !important} +.control-treeview ol>li.dragged div>a, +.control-treeview ol>li>div:hover>a{color:#fff !important} +.control-treeview ol>li.dragged div:before, +.control-treeview ol>li>div:hover:before{background-position:0 -80px} +.control-treeview ol>li.dragged div:after, +.control-treeview ol>li>div:hover:after{top:0 !important;bottom:0 !important} +.control-treeview ol>li.dragged div span, +.control-treeview ol>li>div:hover span{color:#fff !important} +.control-treeview ol>li.dragged div span.drag-handle, +.control-treeview ol>li>div:hover span.drag-handle{cursor:move;opacity:1;filter:alpha(opacity=100)} +.control-treeview ol>li.dragged div span.borders, +.control-treeview ol>li>div:hover span.borders{display:none} +.control-treeview ol>li>div:active{background-color:#3498db !important} +.control-treeview ol>li>div:active>a{color:#fff !important} +.control-treeview ol>li[data-no-drag-mode] div:hover span.drag-handle{cursor:default !important;opacity:0.3 !important;filter:alpha(opacity=30) !important} +.control-treeview ol>li.dragged li.has-subitems>div:before, +.control-treeview ol>li.dragged.has-subitems>div:before{background-position:0 -52px} +.control-treeview ol>li.dragged div>ul.submenu{display:none !important} +.control-treeview ol>li>ol{padding-left:20px;padding-right:20px} +.control-treeview ol>li[data-status=collapsed]>ol{display:none} +.control-treeview ol>li.has-subitems>div:before{background-position:0 0;width:23px;height:26px;left:26px} +.control-treeview ol>li.has-subitems>div:hover:before, +.control-treeview ol>li.has-subitems>div.popover-highlight:before{background-position:0 -52px} +.control-treeview ol>li.has-subitems>div span.expand{display:block} +.control-treeview ol>li.placeholder{position:relative;opacity:0.5;filter:alpha(opacity=50)} +.control-treeview ol>li.dragged{position:absolute;z-index:2000;opacity:0.25;filter:alpha(opacity=25)} +.control-treeview ol>li.dragged>div{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} +.control-treeview ol>li.drop-target>div{background-color:#2581b8 !important} +.control-treeview ol>li.drop-target>div>a{color:#fff} +.control-treeview ol>li.drop-target>div>a>span.comment{color:#fff} +.control-treeview ol>li.drop-target>div:before{background-position:0 -80px} +.control-treeview ol>li.drop-target.has-subitems>div:before{background-position:0 -52px} +.control-treeview ol>li[data-status=expanded]>div>span.expand{-webkit-transform:rotate(90deg) translate(0,0);-ms-transform:rotate(90deg) translate(0,0);transform:rotate(90deg) translate(0,0)} +.control-treeview ol>li.drag-ghost{background-color:transparent;box-sizing:content-box} +.control-treeview ol>li.active>div{background:#ddd} +.control-treeview ol>li.active>div:after{position:absolute;width:4px;left:0;top:-1px;bottom:-1px;background:#e67e22;display:block;content:' '} +.control-treeview ol>li.active>div>span.comment, +.control-treeview ol>li.active>div>span.expand{color:#8f8f8f} +.control-treeview ol>li.active>div>span.borders:before, +.control-treeview ol>li.active>div>span.borders:after{content:' ';position:absolute;width:100%;height:1px;display:block;left:0;background-color:#ddd} +.control-treeview ol>li.active>div>span.borders:before{top:-1px} +.control-treeview ol>li.active>div>span.borders:after{bottom:-1px} +.control-treeview ol>li.no-data{padding:18px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:400} +.control-treeview ol>li>ol>li>div{margin-left:-20px;margin-right:-20px;padding-left:71px} +.control-treeview ol>li>ol>li>div>a{margin-left:-71px;padding-left:71px} +.control-treeview ol>li>ol>li>div:before{margin-left:10px} +.control-treeview ol>li>ol>li>div>span.expand{left:12px} +.control-treeview ol>li>ol>li>ol>li>div{margin-left:-40px;margin-right:-40px;padding-left:81px} +.control-treeview ol>li>ol>li>ol>li>div>a{margin-left:-81px;padding-left:81px} +.control-treeview ol>li>ol>li>ol>li>div:before{margin-left:20px} +.control-treeview ol>li>ol>li>ol>li>div>span.expand{left:22px} +.control-treeview ol>li>ol>li>ol>li>ol>li>div{margin-left:-60px;margin-right:-60px;padding-left:91px} +.control-treeview ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-91px;padding-left:91px} +.control-treeview ol>li>ol>li>ol>li>ol>li>div:before{margin-left:30px} +.control-treeview ol>li>ol>li>ol>li>ol>li>div>span.expand{left:32px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-80px;margin-right:-80px;padding-left:101px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-101px;padding-left:101px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:40px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:42px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-100px;margin-right:-100px;padding-left:111px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-111px;padding-left:111px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:50px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:52px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-120px;margin-right:-120px;padding-left:121px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-121px;padding-left:121px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:60px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:62px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-140px;margin-right:-140px;padding-left:131px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-131px;padding-left:131px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:70px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:72px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-160px;margin-right:-160px;padding-left:141px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-141px;padding-left:141px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:80px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:82px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-180px;margin-right:-180px;padding-left:151px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-151px;padding-left:151px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:90px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:92px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div{margin-left:-200px;margin-right:-200px;padding-left:161px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>a{margin-left:-161px;padding-left:161px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div:before{margin-left:100px} +.control-treeview ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>ol>li>div>span.expand{left:102px} +.control-treeview p.no-data{padding:18px 0;margin:0;color:#666;font-size:14px;text-align:center;font-weight:400} +.control-treeview a.menu-control{display:block;margin:20px;padding:13px 15px;border:dotted 2px #ebebeb;color:#bdc3c7;font-size:12px;font-weight:600;text-transform:uppercase;border-radius:5px;vertical-align:middle} .control-treeview a.menu-control:hover, -.control-treeview a.menu-control:focus {text-decoration:none;background-color:#4ea5e0;color:#fff;border:none;padding:15px 17px} -.control-treeview a.menu-control:active {background:#3498db;color:#fff} -.control-treeview a.menu-control i {margin-right:10px;font-size:14px} -.control-treeview.treeview-light {margin-bottom:0;margin-top:20px} -.control-treeview.treeview-light ol {background-color:transparent} -.control-treeview.treeview-light ol >li >div {background-color:transparent;border-bottom:none} -.control-treeview.treeview-light ol >li >div:before {top:15px} -.control-treeview.treeview-light ol >li >div >a {padding-top:10px;padding-bottom:10px} -.control-treeview.treeview-light ol >li >div span.expand {top:19px} -.control-treeview.treeview-light ol >li >div >span.drag-handle {top:0;right:0;bottom:auto;height:100%;width:60px;background:#2581b8;-webkit-transition:none !important;transition:none !important} -.control-treeview.treeview-light ol >li >div >span.drag-handle:before {position:absolute;left:50%;top:50%;margin-left:-6px} -.control-treeview.treeview-light ol >li >div >ul.submenu {right:60px;left:auto;bottom:auto;top:0;height:100%;margin:0;background:transparent;white-space:nowrap;font-size:0} -.control-treeview.treeview-light ol >li >div >ul.submenu:before, -.control-treeview.treeview-light ol >li >div >ul.submenu:after {display:none} -.control-treeview.treeview-light ol >li >div >ul.submenu li {height:100%;display:inline-block;background:#2581b8;border-right:1px solid #328ec8} -.control-treeview.treeview-light ol >li >div >ul.submenu li p {display:table;height:100%;padding:0;margin:0} -.control-treeview.treeview-light ol >li >div >ul.submenu li p a {display:table-cell;vertical-align:middle;height:100%;padding:0 20px;font-size:13px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} -.control-treeview.treeview-light ol >li >div >ul.submenu li p a i.control-icon {font-size:22px;margin-right:0} +.control-treeview a.menu-control:focus{text-decoration:none;background-color:#4ea5e0;color:#fff;border:none;padding:15px 17px} +.control-treeview a.menu-control:active{background:#3498db;color:#fff} +.control-treeview a.menu-control i{margin-right:10px;font-size:14px} +.control-treeview.treeview-light{margin-bottom:0;margin-top:20px} +.control-treeview.treeview-light ol{background-color:transparent} +.control-treeview.treeview-light ol>li>div{background-color:transparent;border-bottom:none} +.control-treeview.treeview-light ol>li>div:before{top:15px} +.control-treeview.treeview-light ol>li>div>a{padding-top:10px;padding-bottom:10px} +.control-treeview.treeview-light ol>li>div span.expand{top:19px} +.control-treeview.treeview-light ol>li>div>span.drag-handle{top:0;right:0;bottom:auto;height:100%;width:60px;background:#2581b8;-webkit-transition:none !important;transition:none !important} +.control-treeview.treeview-light ol>li>div>span.drag-handle:before{position:absolute;left:50%;top:50%;margin-left:-6px} +.control-treeview.treeview-light ol>li>div>ul.submenu{right:60px;left:auto;bottom:auto;top:0;height:100%;margin:0;background:transparent;white-space:nowrap;font-size:0} +.control-treeview.treeview-light ol>li>div>ul.submenu:before, +.control-treeview.treeview-light ol>li>div>ul.submenu:after{display:none} +.control-treeview.treeview-light ol>li>div>ul.submenu li{height:100%;display:inline-block;background:#2581b8;border-right:1px solid #328ec8} +.control-treeview.treeview-light ol>li>div>ul.submenu li p{display:table;height:100%;padding:0;margin:0} +.control-treeview.treeview-light ol>li>div>ul.submenu li p a{display:table-cell;vertical-align:middle;height:100%;padding:0 20px;font-size:13px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.control-treeview.treeview-light ol>li>div>ul.submenu li p a i.control-icon{font-size:22px;margin-right:0} body.dragging .control-treeview ol.dragging, -body.dragging .control-treeview ol.dragging ol {background:#ccc;padding-right:20px;-webkit-transition:padding 1s;transition:padding 1s} -body.dragging .control-treeview ol.dragging >li >div, -body.dragging .control-treeview ol.dragging ol >li >div {margin-right:0;-webkit-transition:margin 1s;transition:margin 1s} -body.dragging .control-treeview ol.dragging >li >div .custom-checkbox, -body.dragging .control-treeview ol.dragging ol >li >div .custom-checkbox {-webkit-transition:opacity 0.5s;transition:opacity 0.5s;opacity:0;filter:alpha(opacity=0)} -body.dragging .control-treeview.treeview-light ol.dragging >li >div, -body.dragging .control-treeview.treeview-light ol.dragging ol >li >div {background-color:#f9f9f9} -@media only screen and (min--moz-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-devicepixel-ratio:1.5),only screen and (min-resolution:1.5dppx) {.control-treeview ol >li >div:before {background-position:0 -79px;background-size:21px auto }.control-treeview ol >li.has-subitems >div:before {background-position:0 -52px }.control-treeview ol >li.has-subitems >div:hover:before,.control-treeview ol >li.has-subitems >div.popover-highlight:before {background-position:0 -102px }.control-treeview ol >li.dragged >div:before,.control-treeview ol >li.dragged li >div:before,.control-treeview ol >li >div:hover:before,.control-treeview ol >li >div.popover-highlight:before {background-position:0 -129px }.control-treeview ol >li.dragged li.has-subitems >div:before,.control-treeview ol >li.dragged.has-subitems >div:before {background-position:0 -102px }.control-treeview ol >li.drop-target >div:before {background-position:0 -129px }.control-treeview ol >li.drop-target.has-subitems >div:before {background-position:0 -102px }} -.sidenav-tree {width:300px} -.sidenav-tree .control-toolbar {padding:0} -.sidenav-tree .control-toolbar .toolbar-item {display:block} -.sidenav-tree .control-toolbar input.form-control {border:none;outline:none;padding:12px 13px 13px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:inset -3px 0 3px rgba(0,0,0,0.1);box-shadow:inset -3px 0 3px rgba(0,0,0,0.1)} -.sidenav-tree .control-toolbar input.form-control.search {background-position:right -78px} -.sidenav-tree ul {padding:0;margin:0;list-style:none} -.sidenav-tree div.scrollbar-thumb {background:rgba(0,0,0,0.2) !important} -.sidenav-tree ul.top-level >li[data-status=collapsed] >div.group h3:before {-webkit-transform:rotate(0deg) translate(2px,-2px);-ms-transform:rotate(0deg) translate(2px,-2px);transform:rotate(0deg) translate(2px,-2px)} -.sidenav-tree ul.top-level >li[data-status=collapsed] >div.group:before, -.sidenav-tree ul.top-level >li[data-status=collapsed] >div.group:after {display:none} -.sidenav-tree ul.top-level >li[data-status=collapsed] ul {display:none} -.sidenav-tree ul.top-level >li >div.group {position:relative} -.sidenav-tree ul.top-level >li >div.group h3 {background:rgba(0,0,0,0.15);color:#ecf0f1;text-transform:uppercase;font-size:15px;padding:15px 15px 15px 40px;margin:0;position:relative;cursor:pointer;font-weight:400} -.sidenav-tree ul.top-level >li >div.group h3:before {display:block;position:absolute;width:10px;height:10px;left:16px;top:15px;color:#cfcfcf;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f105";-webkit-transform:rotate(90deg) translate(5px,-3px);-ms-transform:rotate(90deg) translate(5px,-3px);transform:rotate(90deg) translate(5px,-3px);-webkit-transition:all 0.1s ease;transition:all 0.1s ease;font-size:16px} -.sidenav-tree ul.top-level >li >div.group:before, -.sidenav-tree ul.top-level >li >div.group:after {content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #34495e;border-bottom-width:0;position:absolute;left:15px;bottom:-8px;z-index:101} -.sidenav-tree ul.top-level >li >div.group:after {content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid rgba(0,0,0,0.15);border-bottom-width:0} -.sidenav-tree ul.top-level >li >ul li a {display:block;position:relative;padding:18px 25px 18px 55px;background:transparent;border-bottom:1px solid rgba(0,0,0,0.15);color:#fff;text-decoration:none !important;opacity:0.65;filter:alpha(opacity=65)} -.sidenav-tree ul.top-level >li >ul li a:active, -.sidenav-tree ul.top-level >li >ul li a:hover {opacity:1;filter:alpha(opacity=100);text-decoration:none} -.sidenav-tree ul.top-level >li >ul li a i {position:absolute;left:16px;top:18px;font-size:22px} -.sidenav-tree ul.top-level >li >ul li a span {display:block;line-height:150%} -.sidenav-tree ul.top-level >li >ul li a span.header {color:#fff;font-size:15px;margin-bottom:5px} -.sidenav-tree ul.top-level >li >ul li a span.description {color:rgba(255,255,255,0.6);font-size:13px} -.sidenav-tree ul.top-level >li >ul li:hover a, -.sidenav-tree ul.top-level >li >ul li.active a {opacity:1;filter:alpha(opacity=100)} -.sidenav-tree ul.top-level >li >ul li.active {border-left:5px solid #e67e22} -.sidenav-tree ul.top-level >li >ul li.active a {color:rgba(255,255,255,0.91);padding-right:20px} -.sidenav-tree ul.top-level >li >ul li.active a span.header {color:#fff} -.sidenav-tree ul.top-level >li >ul li.active a span.description {color:rgba(255,255,255,0.91)} -.sidenav-tree .back-link {display:none} -@media (min-width:768px) {.sidenav-tree-root .sidenav-tree {width:600px }.sidenav-tree-root .sidenav-tree ul.top-level >li >ul {font-size:0;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;align-content:stretch }.sidenav-tree-root .sidenav-tree ul.top-level >li >ul >li {display:inline-block;width:300px }.sidenav-tree-root .sidenav-tree ul.top-level >li >ul >li a {height:100% }} -@media (min-width:768px) and (max-width:991px) {.sidenav-tree-root .sidenav-tree {width:100% }.sidenav-tree-root .sidenav-tree ul.top-level >li >ul >li {width:50% }} -@media (min-width:1200px) {.sidenav-tree-root .sidenav-tree {width:900px }} -@media (max-width:768px) {.sidenav-tree {width:100%;height:auto !important;display:block !important }.sidenav-tree >.layout {display:none }.sidenav-tree-root .sidenav-tree {width:100% !important;height:100% !important;display:table-cell !important }.sidenav-tree-root .sidenav-tree .back-link {display:none !important }.sidenav-tree-root .sidenav-tree >.layout {display:table !important }.sidenav-tree-root #layout-body {display:none }body.has-sidenav-tree .sidenav-tree .back-link {display:block;padding:13px 15px;background:#2b3e50;color:#bdc3c7;font-size:14px;line-height:14px;text-transform:uppercase }body.has-sidenav-tree .sidenav-tree .back-link i {display:inline-block;margin-right:10px }body.has-sidenav-tree .sidenav-tree .back-link:hover {text-decoration:none }body.has-sidenav-tree #layout-body {display:block !important }} -div.panel {padding:20px} -div.panel.no-padding {padding:0} -div.panel.no-padding-bottom {padding-bottom:0} -div.panel.padding-top {padding-top:20px} -div.panel.padding-less {padding:15px} -div.panel.transparent {background:transparent} -div.panel.border-left {border-left:1px solid #e8eaeb} -div.panel.border-right {border-right:1px solid #e8eaeb} -div.panel.border-bottom {border-bottom:1px solid #e8eaeb} -div.panel.border-top {border-top:1px solid #e8eaeb} -div.panel.triangle-down {position:relative} -div.panel.triangle-down:after {content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #fff;border-bottom-width:0;position:absolute;left:15px;bottom:-8px;z-index:101} -div.panel.triangle-down:before {content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #e8eaeb;border-bottom-width:0;position:absolute;left:14px;bottom:-9px;z-index:100} +body.dragging .control-treeview ol.dragging ol{background:#ccc;padding-right:20px;-webkit-transition:padding 1s;transition:padding 1s} +body.dragging .control-treeview ol.dragging>li>div, +body.dragging .control-treeview ol.dragging ol>li>div{margin-right:0;-webkit-transition:margin 1s;transition:margin 1s} +body.dragging .control-treeview ol.dragging>li>div .custom-checkbox, +body.dragging .control-treeview ol.dragging ol>li>div .custom-checkbox{-webkit-transition:opacity 0.5s;transition:opacity 0.5s;opacity:0;filter:alpha(opacity=0)} +body.dragging .control-treeview.treeview-light ol.dragging>li>div, +body.dragging .control-treeview.treeview-light ol.dragging ol>li>div{background-color:#f9f9f9} +@media only screen and (min--moz-device-pixel-ratio:1.5),only screen and (-o-min-device-pixel-ratio:3/2),only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-devicepixel-ratio:1.5),only screen and (min-resolution:1.5dppx){.control-treeview ol>li>div:before{background-position:0 -79px;background-size:21px auto}.control-treeview ol>li.has-subitems>div:before{background-position:0 -52px}.control-treeview ol>li.has-subitems>div:hover:before,.control-treeview ol>li.has-subitems>div.popover-highlight:before{background-position:0 -102px}.control-treeview ol>li.dragged>div:before,.control-treeview ol>li.dragged li>div:before,.control-treeview ol>li>div:hover:before,.control-treeview ol>li>div.popover-highlight:before{background-position:0 -129px}.control-treeview ol>li.dragged li.has-subitems>div:before,.control-treeview ol>li.dragged.has-subitems>div:before{background-position:0 -102px}.control-treeview ol>li.drop-target>div:before{background-position:0 -129px}.control-treeview ol>li.drop-target.has-subitems>div:before{background-position:0 -102px}} +.sidenav-tree{width:300px} +.sidenav-tree .control-toolbar{padding:0} +.sidenav-tree .control-toolbar .toolbar-item{display:block} +.sidenav-tree .control-toolbar input.form-control{border:none;outline:none;padding:12px 13px 13px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:inset -3px 0 3px rgba(0,0,0,0.1);box-shadow:inset -3px 0 3px rgba(0,0,0,0.1)} +.sidenav-tree .control-toolbar input.form-control.search{background-position:right -78px} +.sidenav-tree ul{padding:0;margin:0;list-style:none} +.sidenav-tree div.scrollbar-thumb{background:rgba(0,0,0,0.2) !important} +.sidenav-tree ul.top-level>li[data-status=collapsed]>div.group h3:before{-webkit-transform:rotate(0deg) translate(2px,-2px);-ms-transform:rotate(0deg) translate(2px,-2px);transform:rotate(0deg) translate(2px,-2px)} +.sidenav-tree ul.top-level>li[data-status=collapsed]>div.group:before, +.sidenav-tree ul.top-level>li[data-status=collapsed]>div.group:after{display:none} +.sidenav-tree ul.top-level>li[data-status=collapsed] ul{display:none} +.sidenav-tree ul.top-level>li>div.group{position:relative} +.sidenav-tree ul.top-level>li>div.group h3{background:rgba(0,0,0,0.15);color:#ecf0f1;text-transform:uppercase;font-size:15px;padding:15px 15px 15px 40px;margin:0;position:relative;cursor:pointer;font-weight:400} +.sidenav-tree ul.top-level>li>div.group h3:before{display:block;position:absolute;width:10px;height:10px;left:16px;top:15px;color:#cfcfcf;font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f105";-webkit-transform:rotate(90deg) translate(5px,-3px);-ms-transform:rotate(90deg) translate(5px,-3px);transform:rotate(90deg) translate(5px,-3px);-webkit-transition:all 0.1s ease;transition:all 0.1s ease;font-size:16px} +.sidenav-tree ul.top-level>li>div.group:before, +.sidenav-tree ul.top-level>li>div.group:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #34495e;border-bottom-width:0;position:absolute;left:15px;bottom:-8px;z-index:101} +.sidenav-tree ul.top-level>li>div.group:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid rgba(0,0,0,0.15);border-bottom-width:0} +.sidenav-tree ul.top-level>li>ul li a{display:block;position:relative;padding:18px 25px 18px 55px;background:transparent;border-bottom:1px solid rgba(0,0,0,0.15);color:#fff;text-decoration:none !important;opacity:0.65;filter:alpha(opacity=65)} +.sidenav-tree ul.top-level>li>ul li a:active, +.sidenav-tree ul.top-level>li>ul li a:hover{opacity:1;filter:alpha(opacity=100);text-decoration:none} +.sidenav-tree ul.top-level>li>ul li a i{position:absolute;left:16px;top:18px;font-size:22px} +.sidenav-tree ul.top-level>li>ul li a span{display:block;line-height:150%} +.sidenav-tree ul.top-level>li>ul li a span.header{color:#fff;font-size:15px;margin-bottom:5px} +.sidenav-tree ul.top-level>li>ul li a span.description{color:rgba(255,255,255,0.6);font-size:13px} +.sidenav-tree ul.top-level>li>ul li:hover a, +.sidenav-tree ul.top-level>li>ul li.active a{opacity:1;filter:alpha(opacity=100)} +.sidenav-tree ul.top-level>li>ul li.active{border-left:5px solid #e67e22} +.sidenav-tree ul.top-level>li>ul li.active a{color:rgba(255,255,255,0.91);padding-right:20px} +.sidenav-tree ul.top-level>li>ul li.active a span.header{color:#fff} +.sidenav-tree ul.top-level>li>ul li.active a span.description{color:rgba(255,255,255,0.91)} +.sidenav-tree .back-link{display:none} +@media (min-width:768px){.sidenav-tree-root .sidenav-tree{width:600px}.sidenav-tree-root .sidenav-tree ul.top-level>li>ul{font-size:0;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;align-content:stretch}.sidenav-tree-root .sidenav-tree ul.top-level>li>ul>li{display:inline-block;width:300px}.sidenav-tree-root .sidenav-tree ul.top-level>li>ul>li a{height:100%}} +@media (min-width:768px) and (max-width:991px){.sidenav-tree-root .sidenav-tree{width:100%}.sidenav-tree-root .sidenav-tree ul.top-level>li>ul>li{width:50%}} +@media (min-width:1200px){.sidenav-tree-root .sidenav-tree{width:900px}} +@media (max-width:768px){.sidenav-tree{width:100%;height:auto !important;display:block !important}.sidenav-tree>.layout{display:none}.sidenav-tree-root .sidenav-tree{width:100% !important;height:100% !important;display:table-cell !important}.sidenav-tree-root .sidenav-tree .back-link{display:none !important}.sidenav-tree-root .sidenav-tree>.layout{display:table !important}.sidenav-tree-root #layout-body{display:none}body.has-sidenav-tree .sidenav-tree .back-link{display:block;padding:13px 15px;background:#2b3e50;color:#bdc3c7;font-size:14px;line-height:14px;text-transform:uppercase}body.has-sidenav-tree .sidenav-tree .back-link i{display:inline-block;margin-right:10px}body.has-sidenav-tree .sidenav-tree .back-link:hover{text-decoration:none}body.has-sidenav-tree #layout-body{display:block !important}} +div.panel{padding:20px} +div.panel.no-padding{padding:0} +div.panel.no-padding-bottom{padding-bottom:0} +div.panel.padding-top{padding-top:20px} +div.panel.padding-less{padding:15px} +div.panel.transparent{background:transparent} +div.panel.border-left{border-left:1px solid #e8eaeb} +div.panel.border-right{border-right:1px solid #e8eaeb} +div.panel.border-bottom{border-bottom:1px solid #e8eaeb} +div.panel.border-top{border-top:1px solid #e8eaeb} +div.panel.triangle-down{position:relative} +div.panel.triangle-down:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #fff;border-bottom-width:0;position:absolute;left:15px;bottom:-8px;z-index:101} +div.panel.triangle-down:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #e8eaeb;border-bottom-width:0;position:absolute;left:14px;bottom:-9px;z-index:100} div.panel h3.section, -div.panel >label {text-transform:uppercase;color:#95a5a6;font-size:13px;font-weight:600;margin:0 0 15px 0} -div.panel >label {margin-bottom:5px} -.nav.selector-group {font-size:13px;letter-spacing:0.01em;margin-bottom:20px} -.nav.selector-group li a {padding:7px 20px 7px 23px;color:#95a5a6} -.nav.selector-group li.active {border-left:3px solid #e6802b;padding-left:0} -.nav.selector-group li.active a {padding-left:20px;color:#2b3e50} -.nav.selector-group li i[class^="icon-"] {font-size:17px;margin-right:6px;position:relative;top:1px} -div.panel .nav.selector-group {margin:0 -20px 20px -20px} -ul.tree-path {list-style:none;padding:0;margin-bottom:0} -ul.tree-path li {display:inline-block;margin-right:1px;font-size:13px} -ul.tree-path li:after {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f105";display:inline-block;font-size:13px;margin-left:5px;position:relative;top:1px;color:#95a5a6} -ul.tree-path li:last-child a {cursor:default} -ul.tree-path li:last-child:after {display:none} -ul.tree-path li.go-up {font-size:12px;margin-right:7px} -ul.tree-path li.go-up a {color:#95a5a6} -ul.tree-path li.go-up a:hover {color:#0181b9} -ul.tree-path li.go-up:after {display:none} -ul.tree-path li.root a {font-weight:600;color:#405261} -ul.tree-path li a {color:#95a5a6} -ul.tree-path li a:hover {text-decoration:none} -table.name-value-list {border-collapse:collapse;font-size:13px} +div.panel>label{text-transform:uppercase;color:#95a5a6;font-size:13px;font-weight:600;margin:0 0 15px 0} +div.panel>label{margin-bottom:5px} +.nav.selector-group{font-size:13px;letter-spacing:0.01em;margin-bottom:20px} +.nav.selector-group li a{padding:7px 20px 7px 23px;color:#95a5a6} +.nav.selector-group li.active{border-left:3px solid #e6802b;padding-left:0} +.nav.selector-group li.active a{padding-left:20px;color:#2b3e50} +.nav.selector-group li i[class^="icon-"]{font-size:17px;margin-right:6px;position:relative;top:1px} +div.panel .nav.selector-group{margin:0 -20px 20px -20px} +ul.tree-path{list-style:none;padding:0;margin-bottom:0} +ul.tree-path li{display:inline-block;margin-right:1px;font-size:13px} +ul.tree-path li:after{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f105";display:inline-block;font-size:13px;margin-left:5px;position:relative;top:1px;color:#95a5a6} +ul.tree-path li:last-child a{cursor:default} +ul.tree-path li:last-child:after{display:none} +ul.tree-path li.go-up{font-size:12px;margin-right:7px} +ul.tree-path li.go-up a{color:#95a5a6} +ul.tree-path li.go-up a:hover{color:#0181b9} +ul.tree-path li.go-up:after{display:none} +ul.tree-path li.root a{font-weight:600;color:#405261} +ul.tree-path li a{color:#95a5a6} +ul.tree-path li a:hover{text-decoration:none} +table.name-value-list{border-collapse:collapse;font-size:13px} table.name-value-list th, -table.name-value-list td {padding:4px 0 4px 0;vertical-align:top} +table.name-value-list td{padding:4px 0 4px 0;vertical-align:top} table.name-value-list tr:first-child th, -table.name-value-list tr:first-child td {padding-top:0} -table.name-value-list th {font-weight:600;color:#95a5a6;padding-right:15px;text-transform:uppercase} -table.name-value-list td {color:#2b3e50;word-wrap:break-word} -.scrollpad-scrollbar-size-tester {width:50px;height:50px;overflow-y:scroll;position:absolute;top:-200px;left:-200px} -.scrollpad-scrollbar-size-tester div {height:100px} -.scrollpad-scrollbar-size-tester::-webkit-scrollbar {width:0;height:0} -div.control-scrollpad {position:relative;width:100%;height:100%;overflow:hidden} -div.control-scrollpad >div {overflow:hidden;overflow-y:scroll;height:100%} -div.control-scrollpad >div::-webkit-scrollbar {width:0;height:0} -div.control-scrollpad[data-direction=horizontal] >div {overflow-x:scroll;overflow-y:hidden;width:100%} -div.control-scrollpad[data-direction=horizontal] >div::-webkit-scrollbar {width:auto;height:0} -div.control-scrollpad >.scrollpad-scrollbar {z-index:199;position:absolute;top:0;right:0;bottom:0;width:11px;background-color:transparent;opacity:0;overflow:hidden;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} -div.control-scrollpad >.scrollpad-scrollbar .drag-handle {position:absolute;right:2px;min-height:10px;width:7px;background-color:rgba(0,0,0,0.35);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} -div.control-scrollpad >.scrollpad-scrollbar:hover {opacity:0.7;filter:alpha(opacity=70);-webkit-transition:opacity 0 linear;transition:opacity 0 linear} -div.control-scrollpad >.scrollpad-scrollbar[data-visible] {opacity:0.7;filter:alpha(opacity=70)} -div.control-scrollpad >.scrollpad-scrollbar[data-hidden] {display:none} -div.control-scrollpad[data-direction=horizontal] >.scrollpad-scrollbar {top:auto;left:0;width:auto;height:11px} -div.control-scrollpad[data-direction=horizontal] >.scrollpad-scrollbar .drag-handle {right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} -.svg-icon-container img.svg-icon {display:none} -.svg-icon-container.svg-active-effects img.svg-icon {-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:0.6;filter:alpha(opacity=60)} +table.name-value-list tr:first-child td{padding-top:0} +table.name-value-list th{font-weight:600;color:#95a5a6;padding-right:15px;text-transform:uppercase} +table.name-value-list td{color:#2b3e50;word-wrap:break-word} +.scrollpad-scrollbar-size-tester{width:50px;height:50px;overflow-y:scroll;position:absolute;top:-200px;left:-200px} +.scrollpad-scrollbar-size-tester div{height:100px} +.scrollpad-scrollbar-size-tester::-webkit-scrollbar{width:0;height:0} +div.control-scrollpad{position:relative;width:100%;height:100%;overflow:hidden} +div.control-scrollpad>div{overflow:hidden;overflow-y:scroll;height:100%} +div.control-scrollpad>div::-webkit-scrollbar{width:0;height:0} +div.control-scrollpad[data-direction=horizontal]>div{overflow-x:scroll;overflow-y:hidden;width:100%} +div.control-scrollpad[data-direction=horizontal]>div::-webkit-scrollbar{width:auto;height:0} +div.control-scrollpad>.scrollpad-scrollbar{z-index:199;position:absolute;top:0;right:0;bottom:0;width:11px;background-color:transparent;opacity:0;overflow:hidden;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-transition:opacity 0.3s;transition:opacity 0.3s} +div.control-scrollpad>.scrollpad-scrollbar .drag-handle{position:absolute;right:2px;min-height:10px;width:7px;background-color:rgba(0,0,0,0.35);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} +div.control-scrollpad>.scrollpad-scrollbar:hover{opacity:0.7;filter:alpha(opacity=70);-webkit-transition:opacity 0 linear;transition:opacity 0 linear} +div.control-scrollpad>.scrollpad-scrollbar[data-visible]{opacity:0.7;filter:alpha(opacity=70)} +div.control-scrollpad>.scrollpad-scrollbar[data-hidden]{display:none} +div.control-scrollpad[data-direction=horizontal]>.scrollpad-scrollbar{top:auto;left:0;width:auto;height:11px} +div.control-scrollpad[data-direction=horizontal]>.scrollpad-scrollbar .drag-handle{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto} +.svg-icon-container img.svg-icon{display:none} +.svg-icon-container.svg-active-effects img.svg-icon{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:0.6;filter:alpha(opacity=60)} .svg-icon-container.svg-active-effects:hover img.svg-icon, -.svg-icon-container.svg-active-effects.active img.svg-icon {-webkit-filter:none;filter:none;opacity:1;filter:alpha(opacity=100)} -html.svg .svg-icon-container i.svg-replace {display:none} -@-webkit-keyframes fadeIn {0% {opacity:0 }100% {opacity:1 }} -@keyframes fadeIn {0% {opacity:0 }100% {opacity:1 }} -.fadeIn {-webkit-animation-name:fadeIn;animation-name:fadeIn} -@-webkit-keyframes fadeInDown {0% {opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0) }100% {opacity:1;-webkit-transform:none;transform:none }} -@keyframes fadeInDown {0% {opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0) }100% {opacity:1;-webkit-transform:none;-ms-transform:none;transform:none }} -.fadeInDown {-webkit-animation-name:fadeInDown;animation-name:fadeInDown} -@-webkit-keyframes fadeInLeft {0% {opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0) }100% {opacity:1;-webkit-transform:none;transform:none }} -@keyframes fadeInLeft {0% {opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0) }100% {opacity:1;-webkit-transform:none;-ms-transform:none;transform:none }} -.fadeInLeft {-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft} -@-webkit-keyframes fadeInRight {0% {opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0) }100% {opacity:1;-webkit-transform:none;transform:none }} -@keyframes fadeInRight {0% {opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0) }100% {opacity:1;-webkit-transform:none;-ms-transform:none;transform:none }} -.fadeInRight {-webkit-animation-name:fadeInRight;animation-name:fadeInRight} -@-webkit-keyframes fadeInUp {0% {opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0) }100% {opacity:1;-webkit-transform:none;transform:none }} -@keyframes fadeInUp {0% {opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0) }100% {opacity:1;-webkit-transform:none;-ms-transform:none;transform:none }} -.fadeInUp {-webkit-animation-name:fadeInUp;animation-name:fadeInUp} -@-webkit-keyframes fadeInUpBig {0% {opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0) }100% {opacity:1;-webkit-transform:none;transform:none }} -@-webkit-keyframes fadeOut {0% {opacity:1 }100% {opacity:0 }} -@keyframes fadeOut {0% {opacity:1 }100% {opacity:0 }} -.fadeOut {-webkit-animation-name:fadeOut;animation-name:fadeOut} -@-webkit-keyframes fadeOutDown {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0) }} -@keyframes fadeOutDown {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0) }} -.fadeOutDown {-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown} -@-webkit-keyframes fadeOutLeft {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0) }} -@keyframes fadeOutLeft {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0) }} -.fadeOutLeft {-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft} -@-webkit-keyframes fadeOutRight {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0) }} -@keyframes fadeOutRight {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0) }} -.fadeOutRight {-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight} -@-webkit-keyframes fadeOutUp {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0) }} -@keyframes fadeOutUp {0% {opacity:1 }100% {opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0) }} -.fadeOutUp {-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp} -html:not(.mobile) body.drag * {cursor:grab !important;cursor:-webkit-grab !important;cursor:-moz-grab !important} +.svg-icon-container.svg-active-effects.active img.svg-icon{-webkit-filter:none;filter:none;opacity:1;filter:alpha(opacity=100)} +html.svg .svg-icon-container i.svg-replace{display:none} +@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}} +@keyframes fadeIn{0%{opacity:0}100%{opacity:1}} +.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn} +@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}} +@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}} +.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown} +@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}} +@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}} +.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft} +@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}} +@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}} +.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight} +@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}} +@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}} +.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp} +@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}} +@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}} +@keyframes fadeOut{0%{opacity:1}100%{opacity:0}} +.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut} +@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}} +@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}} +.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown} +@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}} +@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}} +.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft} +@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}} +@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}} +.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight} +@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}} +@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}} +.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp} +html:not(.mobile) body.drag *{cursor:grab !important;cursor:-webkit-grab !important;cursor:-moz-grab !important} body.dragging, -body.dragging * {cursor:move !important} +body.dragging *{cursor:move !important} body.loading, -body.loading * {cursor:wait !important} -body.no-select {-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default !important} +body.loading *{cursor:wait !important} +body.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default !important} html, -body {height:100%} -body {font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";background:#f9f9f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} -#layout-canvas {min-height:100%;height:100%} -.control-tabs.primary-tabs >ul.nav-tabs, -.control-tabs.primary-tabs >div >ul.nav-tabs, -.control-tabs.primary-tabs >div >div >ul.nav-tabs {margin-left:-20px;margin-right:-20px} -.control-tabs.primary-tabs.tabs-no-inset >ul.nav-tabs, -.control-tabs.primary-tabs.tabs-no-inset >div >ul.nav-tabs, -.control-tabs.primary-tabs.tabs-no-inset >div >div >ul.nav-tabs {margin-left:0;margin-right:0} -.global-notice{position:sticky;top:0;display:flex;align-items:center;flex-wrap:wrap;gap:0.5em;justify-content:space-between;z-index:10500;background:#ab2a1c;color:#FFF;padding:0.5em 0.75em} -.global-notice .notice-icon{font-size:1.5em;vertical-align:bottom;display:inline-block;margin-right:.25em} -.global-notice .notice-text{display:inline-block;vertical-align:middle} -.layout {display:table;table-layout:fixed;height:100%;width:100%} -.layout >.layout-row {display:table-row;vertical-align:top;height:100%} -.layout >.layout-row >.layout-cell {display:table-cell;vertical-align:top;height:100%} -.layout >.layout-row >.layout-cell.layout-container, -.layout >.layout-row >.layout-cell .layout-container, -.layout >.layout-row >.layout-cell.padded-container, -.layout >.layout-row >.layout-cell .padded-container {padding:20px 20px 0 20px} -.layout >.layout-row >.layout-cell.layout-container .container-flush, -.layout >.layout-row >.layout-cell .layout-container .container-flush, -.layout >.layout-row >.layout-cell.padded-container .container-flush, -.layout >.layout-row >.layout-cell .padded-container .container-flush {padding-top:0} -.layout >.layout-row >.layout-cell .layout-relative {position:relative;height:100%} -.layout >.layout-row >.layout-cell .layout-absolute {position:absolute;height:100%;width:100%} -.layout >.layout-row >.layout-cell.min-size {width:0} -.layout >.layout-row >.layout-cell.min-height {height:0} -.layout >.layout-row >.layout-cell.center {text-align:center} -.layout >.layout-row >.layout-cell.middle {vertical-align:middle} -.layout >.layout-row >.layout-cell.layout-container, -.layout >.layout-row >.layout-cell .layout-container, -.layout >.layout-row >.layout-cell.padded-container, -.layout >.layout-row >.layout-cell .padded-container {padding:20px 20px 0 20px} -.layout >.layout-row >.layout-cell.layout-container .container-flush, -.layout >.layout-row >.layout-cell .layout-container .container-flush, -.layout >.layout-row >.layout-cell.padded-container .container-flush, -.layout >.layout-row >.layout-cell .padded-container .container-flush {padding-top:0} -.layout >.layout-row >.layout-cell .layout-relative {position:relative;height:100%} -.layout >.layout-row >.layout-cell .layout-absolute {position:absolute;height:100%;width:100%} -.layout >.layout-row >.layout-cell.min-size {width:0} -.layout >.layout-row >.layout-cell.min-height {height:0} -.layout >.layout-row >.layout-cell.center {text-align:center} -.layout >.layout-row >.layout-cell.middle {vertical-align:middle} -.layout >.layout-row.min-size {height:0.1px} -.layout >.layout-cell {display:table-cell;vertical-align:top;height:100%} -.layout >.layout-cell.layout-container, -.layout >.layout-cell .layout-container, -.layout >.layout-cell.padded-container, -.layout >.layout-cell .padded-container {padding:20px 20px 0 20px} -.layout >.layout-cell.layout-container .container-flush, -.layout >.layout-cell .layout-container .container-flush, -.layout >.layout-cell.padded-container .container-flush, -.layout >.layout-cell .padded-container .container-flush {padding-top:0} -.layout >.layout-cell .layout-relative {position:relative;height:100%} -.layout >.layout-cell .layout-absolute {position:absolute;height:100%;width:100%} -.layout >.layout-cell.min-size {width:0} -.layout >.layout-cell.min-height {height:0} -.layout >.layout-cell.center {text-align:center} -.layout >.layout-cell.middle {vertical-align:middle} -.whiteboard {background:white} -.layout-fill-container {position:absolute;left:0;top:0;width:100%;height:100%} -[data-calculate-width] >form, -[data-calculate-width] >div {display:inline-block} +body{height:100%} +body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";background:#f9f9f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} +#layout-canvas{min-height:100%;height:100%} +.control-tabs.primary-tabs>ul.nav-tabs, +.control-tabs.primary-tabs>div>ul.nav-tabs, +.control-tabs.primary-tabs>div>div>ul.nav-tabs{margin-left:-20px;margin-right:-20px} +.control-tabs.primary-tabs.tabs-no-inset>ul.nav-tabs, +.control-tabs.primary-tabs.tabs-no-inset>div>ul.nav-tabs, +.control-tabs.primary-tabs.tabs-no-inset>div>div>ul.nav-tabs{margin-left:0;margin-right:0} +.layout{display:table;table-layout:fixed;height:100%;width:100%} +.layout>.layout-row{display:table-row;vertical-align:top;height:100%} +.layout>.layout-row>.layout-cell{display:table-cell;vertical-align:top;height:100%} +.layout>.layout-row>.layout-cell.layout-container, +.layout>.layout-row>.layout-cell .layout-container, +.layout>.layout-row>.layout-cell.padded-container, +.layout>.layout-row>.layout-cell .padded-container{padding:20px 20px 0 20px} +.layout>.layout-row>.layout-cell.layout-container .container-flush, +.layout>.layout-row>.layout-cell .layout-container .container-flush, +.layout>.layout-row>.layout-cell.padded-container .container-flush, +.layout>.layout-row>.layout-cell .padded-container .container-flush{padding-top:0} +.layout>.layout-row>.layout-cell .layout-relative{position:relative;height:100%} +.layout>.layout-row>.layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout>.layout-row>.layout-cell.min-size{width:0} +.layout>.layout-row>.layout-cell.min-height{height:0} +.layout>.layout-row>.layout-cell.center{text-align:center} +.layout>.layout-row>.layout-cell.middle{vertical-align:middle} +.layout>.layout-row>.layout-cell.layout-container, +.layout>.layout-row>.layout-cell .layout-container, +.layout>.layout-row>.layout-cell.padded-container, +.layout>.layout-row>.layout-cell .padded-container{padding:20px 20px 0 20px} +.layout>.layout-row>.layout-cell.layout-container .container-flush, +.layout>.layout-row>.layout-cell .layout-container .container-flush, +.layout>.layout-row>.layout-cell.padded-container .container-flush, +.layout>.layout-row>.layout-cell .padded-container .container-flush{padding-top:0} +.layout>.layout-row>.layout-cell .layout-relative{position:relative;height:100%} +.layout>.layout-row>.layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout>.layout-row>.layout-cell.min-size{width:0} +.layout>.layout-row>.layout-cell.min-height{height:0} +.layout>.layout-row>.layout-cell.center{text-align:center} +.layout>.layout-row>.layout-cell.middle{vertical-align:middle} +.layout>.layout-row.min-size{height:0.1px} +.layout>.layout-cell{display:table-cell;vertical-align:top;height:100%} +.layout>.layout-cell.layout-container, +.layout>.layout-cell .layout-container, +.layout>.layout-cell.padded-container, +.layout>.layout-cell .padded-container{padding:20px 20px 0 20px} +.layout>.layout-cell.layout-container .container-flush, +.layout>.layout-cell .layout-container .container-flush, +.layout>.layout-cell.padded-container .container-flush, +.layout>.layout-cell .padded-container .container-flush{padding-top:0} +.layout>.layout-cell .layout-relative{position:relative;height:100%} +.layout>.layout-cell .layout-absolute{position:absolute;height:100%;width:100%} +.layout>.layout-cell.min-size{width:0} +.layout>.layout-cell.min-height{height:0} +.layout>.layout-cell.center{text-align:center} +.layout>.layout-cell.middle{vertical-align:middle} +.whiteboard{background:white} +.layout-fill-container{position:absolute;left:0;top:0;width:100%;height:100%} +[data-calculate-width]>form, +[data-calculate-width]>div{display:inline-block} body.compact-container .layout.layout-container, -body.compact-container .layout .layout-container {padding:0 !important} +body.compact-container .layout .layout-container{padding:0 !important} body.slim-container .layout.layout-container, -body.slim-container .layout .layout-container {padding-left:0 !important;padding-right:0 !important} -@media (max-width:768px) {.layout .hide-on-small {display:none }.layout.responsive-sidebar >.layout-cell:first-child {display:table-footer-group;height:auto }.layout.responsive-sidebar >.layout-cell:first-child .control-breadcrumb {display:none }.layout.responsive-sidebar >.layout-cell:last-child {display:table-header-group;width:auto;height:auto }.layout.responsive-sidebar >.layout-cell:last-child .layout-absolute {position:static }} -.flex-layout-column {display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex;-webkit-flex-direction:column;-moz-flex-direction:column;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column} -.flex-layout-column.full-height-strict {height:100%} -.flex-layout-column.absolute {position:absolute !important} -.flex-layout-column.fill-container {position:absolute;left:0;top:0;width:100%;height:100%} -.flex-layout-row {display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex;-webkit-flex-direction:row;-moz-flex-direction:row;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row} +body.slim-container .layout .layout-container{padding-left:0 !important;padding-right:0 !important} +@media (max-width:768px){.layout .hide-on-small{display:none}.layout.responsive-sidebar>.layout-cell:first-child{display:table-footer-group;height:auto}.layout.responsive-sidebar>.layout-cell:first-child .control-breadcrumb{display:none}.layout.responsive-sidebar>.layout-cell:last-child{display:table-header-group;width:auto;height:auto}.layout.responsive-sidebar>.layout-cell:last-child .layout-absolute{position:static}} +.flex-layout-column{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex;-webkit-flex-direction:column;-moz-flex-direction:column;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column} +.flex-layout-column.full-height-strict{height:100%} +.flex-layout-column.absolute{position:absolute !important} +.flex-layout-column.fill-container{position:absolute;left:0;top:0;width:100%;height:100%} +.flex-layout-row{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex;-webkit-flex-direction:row;-moz-flex-direction:row;-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row} .flex-layout-column.justify-center, -.flex-layout-row.justify-center {-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-webkit-box-pack:center;justify-content:center} +.flex-layout-row.justify-center{-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-webkit-box-pack:center;justify-content:center} .flex-layout-column.align-center, -.flex-layout-row.align-center {-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-align-content:center;-moz-align-content:center;-webkit-box-align:center;-ms-align-content:center;align-content:center} +.flex-layout-row.align-center{-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;align-items:center;-webkit-align-content:center;-moz-align-content:center;-webkit-box-align:center;-ms-align-content:center;align-content:center} .flex-layout-column.full-height, -.flex-layout-row.full-height {min-height:100%} -.flex-layout-item {margin:0} -.flex-layout-item.fix {-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto} -.flex-layout-item.stretch {-webkit-box-flex:1;-webkit-flex:1 1 auto;-moz-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto} -.flex-layout-item.stretch-constrain {-webkit-box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1} -.flex-layout-item.center {-webkit-align-self:center;-moz-align-self:center;-ms-align-self:center;align-self:center} -.flex-layout-item.relative {position:relative} -.flex-layout-item.layout-container {max-width:none} -body.mainmenu-open {overflow:hidden;position:fixed} -.mainmenu-tooltip .tooltip-inner {font-size:13px;padding:6px 16px} -ul.mainmenu-nav {font-size:14px} -ul.mainmenu-nav li {} -ul.mainmenu-nav li .svg-icon {-webkit-backface-visibility:hidden;backface-visibility:hidden} -ul.mainmenu-nav li span.counter {display:block;position:absolute;top:.143em;right:0;padding:.143em .429em .214em .286em;background-color:#d9350f;color:#fff;font-size:.786em;line-height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1,);-ms-transform:scale(1,);transform:scale(1,);-webkit-transition:all 0.3s;transition:all 0.3s} -ul.mainmenu-nav li span.counter.empty {opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0,);-ms-transform:scale(0,);transform:scale(0,)} -nav#layout-mainmenu {background-color:#000;padding:0 0 0 20px;line-height:0;white-space:nowrap;display:flex} -nav#layout-mainmenu a {text-decoration:none} -nav#layout-mainmenu a:focus {background:transparent} -nav#layout-mainmenu ul {margin:0;padding:0;list-style:none;float:left;white-space:nowrap;overflow:hidden} -nav#layout-mainmenu ul li {color:rgba(255,255,255,0.6);display:inline-block;vertical-align:top;position:relative;margin-right:30px} -nav#layout-mainmenu ul li a {display:inline-block;font-size:14px;color:inherit;padding:14px 0 10px} -nav#layout-mainmenu ul li a:hover {background-color:transparent} +.flex-layout-row.full-height{min-height:100%} +.flex-layout-item{margin:0} +.flex-layout-item.fix{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto} +.flex-layout-item.stretch{-webkit-box-flex:1;-webkit-flex:1 1 auto;-moz-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto} +.flex-layout-item.stretch-constrain{-webkit-box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1} +.flex-layout-item.center{-webkit-align-self:center;-moz-align-self:center;-ms-align-self:center;align-self:center} +.flex-layout-item.relative{position:relative} +.flex-layout-item.layout-container{max-width:none} +body.mainmenu-open{overflow:hidden;position:fixed} +.mainmenu-tooltip .tooltip-inner{font-size:13px;padding:6px 16px} +ul.mainmenu-nav{font-size:14px} +ul.mainmenu-nav li{} +ul.mainmenu-nav li .svg-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden} +ul.mainmenu-nav li span.counter{display:block;position:absolute;top:.143em;right:0;padding:.143em .429em .214em .286em;background-color:#d9350f;color:#fff;font-size:.786em;line-height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1,);-ms-transform:scale(1,);transform:scale(1,);-webkit-transition:all 0.3s;transition:all 0.3s} +ul.mainmenu-nav li span.counter.empty{opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0,);-ms-transform:scale(0,);transform:scale(0,)} +nav#layout-mainmenu{background-color:#000;padding:0 0 0 20px;line-height:0;white-space:nowrap;display:flex} +nav#layout-mainmenu a{text-decoration:none} +nav#layout-mainmenu a:focus{background:transparent} +nav#layout-mainmenu ul{margin:0;padding:0;list-style:none;float:left;white-space:nowrap;overflow:hidden} +nav#layout-mainmenu ul li{color:rgba(255,255,255,0.6);display:inline-block;vertical-align:top;position:relative;margin-right:30px} +nav#layout-mainmenu ul li a{display:inline-block;font-size:14px;color:inherit;padding:14px 0 10px} +nav#layout-mainmenu ul li a:hover{background-color:transparent} nav#layout-mainmenu ul li a:active, -nav#layout-mainmenu ul li a:focus {text-decoration:none;color:rgba(255,255,255,0.6)} -nav#layout-mainmenu ul li a i {line-height:1;font-size:30px;vertical-align:middle} -nav#layout-mainmenu ul li a img.svg-icon {height:30px;width:30px;margin-right:10px;position:relative;top:0} -nav#layout-mainmenu ul.nav {display:inline-block} -nav#layout-mainmenu .toolbar-item {flex:1 1 auto;display:block;padding-right:0;overflow:hidden} -nav#layout-mainmenu .toolbar-item-account {flex:0 0 auto} +nav#layout-mainmenu ul li a:focus{text-decoration:none;color:rgba(255,255,255,0.6)} +nav#layout-mainmenu ul li a i{line-height:1;font-size:30px;vertical-align:middle} +nav#layout-mainmenu ul li a img.svg-icon{height:30px;width:30px;margin-right:10px;position:relative;top:0} +nav#layout-mainmenu ul.nav{display:inline-block} +nav#layout-mainmenu .toolbar-item{flex:1 1 auto;display:block;padding-right:0;overflow:hidden} +nav#layout-mainmenu .toolbar-item-account{flex:0 0 auto} nav#layout-mainmenu .toolbar-item:before, -nav#layout-mainmenu .toolbar-item:after {margin-top:0} -nav#layout-mainmenu .toolbar-item:before {left:-12px} -nav#layout-mainmenu .toolbar-item:after {right:-12px} -nav#layout-mainmenu .toolbar-item.scroll-active-before:before {color:#fff} -nav#layout-mainmenu .toolbar-item.scroll-active-after:after {color:#fff} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action {margin:0} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action:first-child {margin-left:21px} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action i {font-size:20px} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action a {position:relative;padding:0 10px;top:-1px} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account {margin-right:0} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account >a {padding:0 15px 0 10px;font-size:13px;position:relative} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account.highlight >a {z-index:600} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account img.account-avatar {width:45px;height:45px} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account .account-name {margin-right:15px} -nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account ul {line-height:23px} +nav#layout-mainmenu .toolbar-item:after{margin-top:0} +nav#layout-mainmenu .toolbar-item:before{left:-12px} +nav#layout-mainmenu .toolbar-item:after{right:-12px} +nav#layout-mainmenu .toolbar-item.scroll-active-before:before{color:#fff} +nav#layout-mainmenu .toolbar-item.scroll-active-after:after{color:#fff} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action{margin:0} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action:first-child{margin-left:21px} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action i{font-size:20px} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-quick-action a{position:relative;padding:0 10px;top:-1px} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account{margin-right:0} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account>a{padding:0 15px 0 10px;font-size:13px;position:relative} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account.highlight>a{z-index:600} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account img.account-avatar{width:45px;height:45px} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account .account-name{margin-right:15px} +nav#layout-mainmenu ul.mainmenu-toolbar li.mainmenu-account ul{line-height:23px} html.svg nav#layout-mainmenu img.svg-icon, -html.svg .mainmenu-collapsed img.svg-icon {display:inline-block} -nav#layout-mainmenu ul li .mainmenu-accountmenu {position:fixed;top:0;right:20px;background:#f9f9f9;z-index:600;display:none;-webkit-box-shadow:0 1px 6px rgba(0,0,0,0.12),0 1px 4px rgba(0,0,0,0.24);box-shadow:0 1px 6px rgba(0,0,0,0.12),0 1px 4px rgba(0,0,0,0.24);border-radius:3px} -nav#layout-mainmenu ul li .mainmenu-accountmenu.active {display:block} -nav#layout-mainmenu ul li .mainmenu-accountmenu:after {content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #f9f9f9;right:9px;top:-7px;position:absolute} -nav#layout-mainmenu ul li .mainmenu-accountmenu ul {float:none;display:block;overflow:visible} -nav#layout-mainmenu ul li .mainmenu-accountmenu li {padding:0;margin:0;font-weight:normal;text-align:left;display:block} -nav#layout-mainmenu ul li .mainmenu-accountmenu li a {display:block;padding:10px 30px;text-align:left;font-size:14px;color:#666} +html.svg .mainmenu-collapsed img.svg-icon{display:inline-block} +nav#layout-mainmenu ul li .mainmenu-accountmenu{position:fixed;top:0;right:20px;background:#f9f9f9;z-index:600;display:none;-webkit-box-shadow:0 1px 6px rgba(0,0,0,0.12),0 1px 4px rgba(0,0,0,0.24);box-shadow:0 1px 6px rgba(0,0,0,0.12),0 1px 4px rgba(0,0,0,0.24);border-radius:3px} +nav#layout-mainmenu ul li .mainmenu-accountmenu.active{display:block} +nav#layout-mainmenu ul li .mainmenu-accountmenu:after{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #f9f9f9;right:9px;top:-7px;position:absolute} +nav#layout-mainmenu ul li .mainmenu-accountmenu ul{float:none;display:block;overflow:visible} +nav#layout-mainmenu ul li .mainmenu-accountmenu li{padding:0;margin:0;font-weight:normal;text-align:left;display:block} +nav#layout-mainmenu ul li .mainmenu-accountmenu li a{display:block;padding:10px 30px;text-align:left;font-size:14px;color:#666} nav#layout-mainmenu ul li .mainmenu-accountmenu li a:hover, -nav#layout-mainmenu ul li .mainmenu-accountmenu li a:focus {background:#4ea5e0;color:#fff} -nav#layout-mainmenu ul li .mainmenu-accountmenu li a:active {background:#3498db;color:#fff} +nav#layout-mainmenu ul li .mainmenu-accountmenu li a:focus{background:#4ea5e0;color:#fff} +nav#layout-mainmenu ul li .mainmenu-accountmenu li a:active{background:#3498db;color:#fff} nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:hover:after, nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:focus:after, -nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:active:after {content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #4ea5e0;position:absolute;right:9px;top:-7px;z-index:102} -nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:active:after {content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #3498db} -nav#layout-mainmenu ul li .mainmenu-accountmenu li.divider {height:1px;width:100%;background-color:#e0e0e0} +nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:active:after{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #4ea5e0;position:absolute;right:9px;top:-7px;z-index:102} +nav#layout-mainmenu ul li .mainmenu-accountmenu li:first-child a:active:after{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-bottom:7px solid #3498db} +nav#layout-mainmenu ul li .mainmenu-accountmenu li.divider{height:1px;width:100%;background-color:#e0e0e0} nav#layout-mainmenu.navbar-mode-inline, -nav#layout-mainmenu.navbar-mode-inline_no_icons {height:60px} +nav#layout-mainmenu.navbar-mode-inline_no_icons{height:60px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-toolbar li.mainmenu-quick-action a, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-toolbar li.mainmenu-quick-action a {height:60px;line-height:60px} -nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-toolbar li.mainmenu-account >a, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-toolbar li.mainmenu-account >a {height:60px;line-height:60px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-toolbar li.mainmenu-quick-action a{height:60px;line-height:60px} +nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-toolbar li.mainmenu-account>a, +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-toolbar li.mainmenu-account>a{height:60px;line-height:60px} nav#layout-mainmenu.navbar-mode-inline ul li .mainmenu-accountmenu, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul li .mainmenu-accountmenu {top:70px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul li .mainmenu-accountmenu{top:70px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li {margin:5px 0} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li{margin:5px 0} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li a, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a {padding:10px 15px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a{padding:10px 15px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li a .nav-icon, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-icon {position:relative;top:-1px;margin-right:5px;width:30px;height:30px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-icon{position:relative;top:-1px;margin-right:5px;width:30px;height:30px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li a .nav-icon i, nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-icon i, nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li a .nav-icon img, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-icon img {margin:0} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-icon img{margin:0} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li a .nav-label, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-label {line-height:30px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li a .nav-label{line-height:30px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li:first-child, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li:first-child {margin-left:-13px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li:first-child{margin-left:-13px} nav#layout-mainmenu.navbar-mode-inline ul.mainmenu-nav li:last-child, -nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li:last-child {margin-right:0} -nav#layout-mainmenu.navbar-mode-inline_no_icons .nav-icon {display:none !important} -nav#layout-mainmenu.navbar-mode-tile {height:78px} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-toolbar li.mainmenu-quick-action a {height:78px;line-height:78px} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-toolbar li.mainmenu-account >a {height:78px;line-height:78px} -nav#layout-mainmenu.navbar-mode-tile ul li .mainmenu-accountmenu {top:88px} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a {position:relative;width:65px;height:65px} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-icon {text-align:center;display:block;position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-26.5px;width:30px;height:30px} +nav#layout-mainmenu.navbar-mode-inline_no_icons ul.mainmenu-nav li:last-child{margin-right:0} +nav#layout-mainmenu.navbar-mode-inline_no_icons .nav-icon{display:none !important} +nav#layout-mainmenu.navbar-mode-tile{height:78px} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-toolbar li.mainmenu-quick-action a{height:78px;line-height:78px} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-toolbar li.mainmenu-account>a{height:78px;line-height:78px} +nav#layout-mainmenu.navbar-mode-tile ul li .mainmenu-accountmenu{top:88px} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a{position:relative;width:65px;height:65px} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-icon{text-align:center;display:block;position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-26.5px;width:30px;height:30px} nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-icon i, -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-icon img {margin:0} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-label {display:block;width:100px;height:20px;line-height:20px;position:absolute;bottom:4px;left:50%;padding:0 5px;margin-left:-50px;overflow:hidden;text-overflow:ellipsis;text-align:center} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li {padding:0 15px;margin:7px 0 0} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li:first-child {margin-left:-7px} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li:hover .nav-label {width:auto;min-width:100px;text-overflow:all;overflow:visible;z-index:2} -nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li.active:first-child {margin-left:0} -nav#layout-mainmenu .menu-toggle {height:45px;line-height:45px;font-size:16px;display:none} -nav#layout-mainmenu .menu-toggle .menu-toggle-icon {background:#333;display:inline-block;height:45px;line-height:45px;width:45px;text-align:center;opacity:.7} -nav#layout-mainmenu .menu-toggle .menu-toggle-icon i {line-height:45px;font-size:20px;vertical-align:bottom} -nav#layout-mainmenu .menu-toggle .menu-toggle-title {margin-left:10px} -nav#layout-mainmenu .menu-toggle:hover .menu-toggle-icon {opacity:1} -body.mainmenu-open nav#layout-mainmenu .menu-toggle-icon {opacity:1} -nav#layout-mainmenu.navbar-mode-collapse {padding-left:0;height:45px} -nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-quick-action a {height:45px;line-height:45px} -nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-account >a {height:45px;line-height:45px} -nav#layout-mainmenu.navbar-mode-collapse ul li .mainmenu-accountmenu {top:55px} -nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-account >a {padding-right:0} -nav#layout-mainmenu.navbar-mode-collapse ul li .mainmenu-accountmenu:after {right:13px} -nav#layout-mainmenu.navbar-mode-collapse ul.nav {display:none} -nav#layout-mainmenu.navbar-mode-collapse .menu-toggle {display:inline-block;color:#fff !important} -@media (max-width:769px) {nav#layout-mainmenu.navbar {padding-left:0;height:45px }nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-quick-action a {height:45px;line-height:45px }nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-account >a {height:45px;line-height:45px }nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu {top:55px }nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-account >a {padding-right:0 }nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu:after {right:13px }nav#layout-mainmenu.navbar ul.nav {display:none }nav#layout-mainmenu.navbar .menu-toggle {display:inline-block;color:#fff !important }} -.mainmenu-collapsed {position:absolute;height:100%;top:0;left:0;margin:0;background:#000} -.mainmenu-collapsed >div {display:block;height:100%} -.mainmenu-collapsed >div ul.mainmenu-nav li a {position:relative;width:65px;height:65px} -.mainmenu-collapsed >div ul.mainmenu-nav li a .nav-icon {text-align:center;display:block;position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-26.5px;width:30px;height:30px} -.mainmenu-collapsed >div ul.mainmenu-nav li a .nav-icon i, -.mainmenu-collapsed >div ul.mainmenu-nav li a .nav-icon img {margin:0} -.mainmenu-collapsed >div ul.mainmenu-nav li a .nav-label {display:block;width:100px;height:20px;line-height:20px;position:absolute;bottom:4px;left:50%;padding:0 5px;margin-left:-50px;overflow:hidden;text-overflow:ellipsis;text-align:center} -.mainmenu-collapsed >div ul.mainmenu-nav li {padding:0 15px;margin:7px 0 0} -.mainmenu-collapsed >div ul.mainmenu-nav li:first-child {margin-left:-7px} -.mainmenu-collapsed >div ul.mainmenu-nav li:hover .nav-label {width:auto;min-width:100px;text-overflow:all;overflow:visible;z-index:2} -.mainmenu-collapsed >div ul.mainmenu-nav li.active:first-child {margin-left:0} -.mainmenu-collapsed >div ul.mainmenu-nav li:first-child {margin-left:0} -.mainmenu-collapsed >div ul {margin:0;padding:5px 0 15px 15px;overflow:hidden} -.mainmenu-collapsed >div ul li {color:rgba(255,255,255,0.6);display:inline-block;vertical-align:top;position:relative;margin-right:30px} -.mainmenu-collapsed >div ul li a {display:inline-block;font-size:14px;color:inherit} -.mainmenu-collapsed >div ul li a:hover {background-color:transparent} -.mainmenu-collapsed >div ul li a:active, -.mainmenu-collapsed >div ul li a:focus {text-decoration:none;color:rgba(255,255,255,0.6)} -.mainmenu-collapsed >div ul li a i {line-height:1;font-size:30px;vertical-align:middle} -.mainmenu-collapsed >div ul li a img.svg-icon {height:30px;width:30px;position:relative;top:0} -.mainmenu-collapsed .scroll-marker {position:absolute;left:0;width:100%;height:10px;display:none} -.mainmenu-collapsed .scroll-marker:after {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f141";display:block;position:absolute;left:50%;margin-left:-3px;top:0;height:9px;font-size:10px;color:rgba(255,255,255,0.6)} -.mainmenu-collapsed .scroll-marker.before {top:0} -.mainmenu-collapsed .scroll-marker.after {bottom:3px} -.mainmenu-collapsed .scroll-marker.after:after {top:2px} -.mainmenu-collapsed.scroll-before .scroll-marker.before {display:block} -.mainmenu-collapsed.scroll-after .scroll-marker.after {display:block} -body.mainmenu-open .mainmenu-collapsed ul {position:absolute;left:0;top:10px;bottom:10px} -html.mobile .mainmenu-collapsed ul {overflow:auto;-webkit-overflow-scrolling:touch} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-icon img{margin:0} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li a .nav-label{display:block;width:100px;height:20px;line-height:20px;position:absolute;bottom:4px;left:50%;padding:0 5px;margin-left:-50px;overflow:hidden;text-overflow:ellipsis;text-align:center} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li{padding:0 15px;margin:7px 0 0} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li:first-child{margin-left:-7px} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li:hover .nav-label{width:auto;min-width:100px;text-overflow:all;overflow:visible;z-index:2} +nav#layout-mainmenu.navbar-mode-tile ul.mainmenu-nav li.active:first-child{margin-left:0} +nav#layout-mainmenu .menu-toggle{height:45px;line-height:45px;font-size:16px;display:none} +nav#layout-mainmenu .menu-toggle .menu-toggle-icon{background:#333;display:inline-block;height:45px;line-height:45px;width:45px;text-align:center;opacity:.7} +nav#layout-mainmenu .menu-toggle .menu-toggle-icon i{line-height:45px;font-size:20px;vertical-align:bottom} +nav#layout-mainmenu .menu-toggle .menu-toggle-title{margin-left:10px} +nav#layout-mainmenu .menu-toggle:hover .menu-toggle-icon{opacity:1} +body.mainmenu-open nav#layout-mainmenu .menu-toggle-icon{opacity:1} +nav#layout-mainmenu.navbar-mode-collapse{padding-left:0;height:45px} +nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-quick-action a{height:45px;line-height:45px} +nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-account>a{height:45px;line-height:45px} +nav#layout-mainmenu.navbar-mode-collapse ul li .mainmenu-accountmenu{top:55px} +nav#layout-mainmenu.navbar-mode-collapse ul.mainmenu-toolbar li.mainmenu-account>a{padding-right:0} +nav#layout-mainmenu.navbar-mode-collapse ul li .mainmenu-accountmenu:after{right:13px} +nav#layout-mainmenu.navbar-mode-collapse ul.nav{display:none} +nav#layout-mainmenu.navbar-mode-collapse .menu-toggle{display:inline-block;color:#fff !important} +@media (max-width:769px){nav#layout-mainmenu.navbar{padding-left:0;height:45px}nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-quick-action a{height:45px;line-height:45px}nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-account>a{height:45px;line-height:45px}nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu{top:55px}nav#layout-mainmenu.navbar ul.mainmenu-toolbar li.mainmenu-account>a{padding-right:0}nav#layout-mainmenu.navbar ul li .mainmenu-accountmenu:after{right:13px}nav#layout-mainmenu.navbar ul.nav{display:none}nav#layout-mainmenu.navbar .menu-toggle{display:inline-block;color:#fff !important}} +.mainmenu-collapsed{position:absolute;height:100%;top:0;left:0;margin:0;background:#000} +.mainmenu-collapsed>div{display:block;height:100%} +.mainmenu-collapsed>div ul.mainmenu-nav li a{position:relative;width:65px;height:65px} +.mainmenu-collapsed>div ul.mainmenu-nav li a .nav-icon{text-align:center;display:block;position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-26.5px;width:30px;height:30px} +.mainmenu-collapsed>div ul.mainmenu-nav li a .nav-icon i, +.mainmenu-collapsed>div ul.mainmenu-nav li a .nav-icon img{margin:0} +.mainmenu-collapsed>div ul.mainmenu-nav li a .nav-label{display:block;width:100px;height:20px;line-height:20px;position:absolute;bottom:4px;left:50%;padding:0 5px;margin-left:-50px;overflow:hidden;text-overflow:ellipsis;text-align:center} +.mainmenu-collapsed>div ul.mainmenu-nav li{padding:0 15px;margin:7px 0 0} +.mainmenu-collapsed>div ul.mainmenu-nav li:first-child{margin-left:-7px} +.mainmenu-collapsed>div ul.mainmenu-nav li:hover .nav-label{width:auto;min-width:100px;text-overflow:all;overflow:visible;z-index:2} +.mainmenu-collapsed>div ul.mainmenu-nav li.active:first-child{margin-left:0} +.mainmenu-collapsed>div ul.mainmenu-nav li:first-child{margin-left:0} +.mainmenu-collapsed>div ul{margin:0;padding:5px 0 15px 15px;overflow:hidden} +.mainmenu-collapsed>div ul li{color:rgba(255,255,255,0.6);display:inline-block;vertical-align:top;position:relative;margin-right:30px} +.mainmenu-collapsed>div ul li a{display:inline-block;font-size:14px;color:inherit} +.mainmenu-collapsed>div ul li a:hover{background-color:transparent} +.mainmenu-collapsed>div ul li a:active, +.mainmenu-collapsed>div ul li a:focus{text-decoration:none;color:rgba(255,255,255,0.6)} +.mainmenu-collapsed>div ul li a i{line-height:1;font-size:30px;vertical-align:middle} +.mainmenu-collapsed>div ul li a img.svg-icon{height:30px;width:30px;position:relative;top:0} +.mainmenu-collapsed .scroll-marker{position:absolute;left:0;width:100%;height:10px;display:none} +.mainmenu-collapsed .scroll-marker:after{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f141";display:block;position:absolute;left:50%;margin-left:-3px;top:0;height:9px;font-size:10px;color:rgba(255,255,255,0.6)} +.mainmenu-collapsed .scroll-marker.before{top:0} +.mainmenu-collapsed .scroll-marker.after{bottom:3px} +.mainmenu-collapsed .scroll-marker.after:after{top:2px} +.mainmenu-collapsed.scroll-before .scroll-marker.before{display:block} +.mainmenu-collapsed.scroll-after .scroll-marker.after{display:block} +body.mainmenu-open .mainmenu-collapsed ul{position:absolute;left:0;top:10px;bottom:10px} +html.mobile .mainmenu-collapsed ul{overflow:auto;-webkit-overflow-scrolling:touch} nav#layout-mainmenu.navbar ul li:hover a:active, .mainmenu-collapsed li:hover a:active, nav#layout-mainmenu.navbar ul li:hover a:focus, -.mainmenu-collapsed li:hover a:focus {color:#fff !important} -.touch .mainmenu-collapsed li a:hover {color:rgba(255,255,255,0.6)} -nav#layout-mainmenu.navbar ul li.highlight >a, -.mainmenu-collapsed li.highlight >a {color:#fff !important} +.mainmenu-collapsed li:hover a:focus{color:#fff !important} +.touch .mainmenu-collapsed li a:hover{color:rgba(255,255,255,0.6)} +nav#layout-mainmenu.navbar ul li.highlight>a, +.mainmenu-collapsed li.highlight>a{color:#fff !important} nav#layout-mainmenu.navbar ul li.active, -.mainmenu-collapsed li.active {color:#fff !important} +.mainmenu-collapsed li.active{color:#fff !important} nav#layout-mainmenu.navbar ul li.active a, -.mainmenu-collapsed li.active a {color:#fff !important} +.mainmenu-collapsed li.active a{color:#fff !important} nav#layout-mainmenu.navbar ul li:hover, -.mainmenu-collapsed li:hover {color:#fff;background:transparent} +.mainmenu-collapsed li:hover{color:#fff;background:transparent} body.drag nav#layout-mainmenu.navbar ul.nav li:hover, -body.drag .mainmenu-collapsed ul li:hover {color:rgba(255,255,255,0.6)} -.layout-sidenav-container {width:120px} -#layout-sidenav {position:absolute;height:100%;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:14px} -#layout-sidenav ul {position:relative;margin:0;padding:0;height:100%;overflow:hidden} -#layout-sidenav ul li {display:block;text-align:center;position:relative} -#layout-sidenav ul li a {padding:1.429em .714em;display:block;font-size:.929em;color:rgba(255,255,255,0.6);font-weight:normal;position:relative} -#layout-sidenav ul li a:hover {text-decoration:none;background-color:transparent} -#layout-sidenav ul li a:focus {background:transparent} -#layout-sidenav ul li a i {color:rgba(255,255,255,0.6);display:block;margin-bottom:5px;font-size:2em} -#layout-sidenav ul li:first-child a {padding-top:2.143em} +body.drag .mainmenu-collapsed ul li:hover{color:rgba(255,255,255,0.6)} +.layout-sidenav-container{width:120px} +#layout-sidenav{position:absolute;height:100%;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:14px} +#layout-sidenav ul{position:relative;margin:0;padding:0;height:100%;overflow:hidden} +#layout-sidenav ul li{display:block;text-align:center;position:relative} +#layout-sidenav ul li a{padding:1.429em .714em;display:block;font-size:.929em;color:rgba(255,255,255,0.6);font-weight:normal;position:relative} +#layout-sidenav ul li a:hover{text-decoration:none;background-color:transparent} +#layout-sidenav ul li a:focus{background:transparent} +#layout-sidenav ul li a i{color:rgba(255,255,255,0.6);display:block;margin-bottom:5px;font-size:2em} +#layout-sidenav ul li:first-child a{padding-top:2.143em} #layout-sidenav ul li.active a, -#layout-sidenav ul li a:hover {color:#fff} +#layout-sidenav ul li a:hover{color:#fff} #layout-sidenav ul li.active a i, -#layout-sidenav ul li a:hover i {color:#fff} -#layout-sidenav ul li span.counter {display:block;position:absolute;top:1.071em;right:1.071em;padding:.143em .429em .214em .286em;background-color:#d9350f;color:#fff;font-size:.786em;line-height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1,);-ms-transform:scale(1,);transform:scale(1,);-webkit-transition:all 0.3s;transition:all 0.3s} -#layout-sidenav ul li span.counter.empty {opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0,);-ms-transform:scale(0,);transform:scale(0,)} -@media (min-width:768px) and (max-width:991px) {#layout-sidenav {font-size:12px }.layout-sidenav-container {width:100px }} -@media (max-width:767px) {#layout-sidenav {font-size:10px }.layout-sidenav-container {width:80px }} -html.mobile #layout-sidenav ul {overflow:auto;-webkit-overflow-scrolling:touch} +#layout-sidenav ul li a:hover i{color:#fff} +#layout-sidenav ul li span.counter{display:block;position:absolute;top:1.071em;right:1.071em;padding:.143em .429em .214em .286em;background-color:#d9350f;color:#fff;font-size:.786em;line-height:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1,);-ms-transform:scale(1,);transform:scale(1,);-webkit-transition:all 0.3s;transition:all 0.3s} +#layout-sidenav ul li span.counter.empty{opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0,);-ms-transform:scale(0,);transform:scale(0,)} +@media (min-width:768px) and (max-width:991px){#layout-sidenav{font-size:12px}.layout-sidenav-container{width:100px}} +@media (max-width:767px){#layout-sidenav{font-size:10px}.layout-sidenav-container{width:80px}} +html.mobile #layout-sidenav ul{overflow:auto;-webkit-overflow-scrolling:touch} #layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover, -.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover {color:rgba(255,255,255,0.6) !important} +.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover{color:rgba(255,255,255,0.6) !important} #layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover i, -.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover i {color:rgba(255,255,255,0.6) !important} +.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover i{color:rgba(255,255,255,0.6) !important} #layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover:after, -.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover:after {display:none !important} -#layout-side-panel .fix-button {position:absolute;right:-25px;top:0;display:none;width:25px;height:25px;font-size:13px;background:#ecf0f1;z-index:120;opacity:0.5;filter:alpha(opacity=50);-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0} -#layout-side-panel .fix-button i {display:block;text-align:center;margin-top:5px;color:#aaa} -#layout-side-panel .fix-button:hover {text-decoration:none;display:block;opacity:1 !important;filter:alpha(opacity=100) !important} -#layout-side-panel:hover .fix-button {display:block} -#layout-side-panel .fix-button-content-header .fix-button {top:46px} -#layout-side-panel .sidepanel-content-header {background:#d35400;color:white;font-size:15px;padding:12px 20px 13px;position:relative} -#layout-side-panel .sidepanel-content-header:after {content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #d35400;border-bottom-width:0;position:absolute;left:14px;bottom:-8px} -body.side-panel-not-fixed #layout-side-panel {display:none} -body.side-panel-not-fixed #layout-side-panel .fix-button {opacity:0.5;filter:alpha(opacity=50)} -body.display-side-panel #layout-side-panel {display:block;position:absolute;z-index:600;width:350px;-webkit-box-shadow:3px 0 3px 0 rgba(0,0,0,0.1);box-shadow:3px 0 3px 0 rgba(0,0,0,0.1)} -@media (min-width:992px) {body.side-panel-fix-shadow #layout-side-panel {-webkit-box-shadow:none;box-shadow:none }} -.touch #layout-side-panel .fix-button {display:none} -@media (max-width:768px) {#layout-side-panel .fix-button {display:none }} -#layout-footer {width:100%;z-index:100;height:60px;position:fixed;bottom:0;color:#666;background-color:rgba(255,255,255,0.8);border-top:1px solid #dfdfdf} +.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover:after{display:none !important} +#layout-side-panel .fix-button{position:absolute;right:-25px;top:0;display:none;width:25px;height:25px;font-size:13px;background:#ecf0f1;z-index:120;opacity:0.5;filter:alpha(opacity=50);-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0} +#layout-side-panel .fix-button i{display:block;text-align:center;margin-top:5px;color:#aaa} +#layout-side-panel .fix-button:hover{text-decoration:none;display:block;opacity:1 !important;filter:alpha(opacity=100) !important} +#layout-side-panel:hover .fix-button{display:block} +#layout-side-panel .fix-button-content-header .fix-button{top:46px} +#layout-side-panel .sidepanel-content-header{background:#d35400;color:white;font-size:15px;padding:12px 20px 13px;position:relative} +#layout-side-panel .sidepanel-content-header:after{content:'';display:block;width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:8px solid #d35400;border-bottom-width:0;position:absolute;left:14px;bottom:-8px} +body.side-panel-not-fixed #layout-side-panel{display:none} +body.side-panel-not-fixed #layout-side-panel .fix-button{opacity:0.5;filter:alpha(opacity=50)} +body.display-side-panel #layout-side-panel{display:block;position:absolute;z-index:600;width:350px;-webkit-box-shadow:3px 0 3px 0 rgba(0,0,0,0.1);box-shadow:3px 0 3px 0 rgba(0,0,0,0.1)} +@media (min-width:992px){body.side-panel-fix-shadow #layout-side-panel{-webkit-box-shadow:none;box-shadow:none}} +.touch #layout-side-panel .fix-button{display:none} +@media (max-width:768px){#layout-side-panel .fix-button{display:none}} +#layout-footer{width:100%;z-index:100;height:60px;position:fixed;bottom:0;color:#666;background-color:rgba(255,255,255,0.8);border-top:1px solid #dfdfdf} #layout-footer .brand, -#layout-footer .tagline {margin:10px;height:40px;line-height:40px} -#layout-footer .brand {float:left;font-size:16px} -#layout-footer .brand .logo {margin:0 10px} -#layout-footer .tagline {float:right} -#layout-footer .tagline p {color:#999} -body.outer {background:#2b3e50} -body.outer .layout >.layout-row.layout-head {text-align:center;background:#f9f9f9} -body.outer .layout >.layout-row.layout-head >.layout-cell {height:40%;padding:50px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle;position:relative} -body.outer .layout >.layout-row.layout-head >.layout-cell:after {content:'';display:block;width:0;height:0;border-left:28px solid transparent;border-right:28px solid transparent;border-top:20px solid #f9f9f9;border-bottom-width:0;position:absolute;bottom:-20px;left:50%;margin-left:-28px} -body.outer .layout >.layout-row.layout-head >.layout-cell h1.wn-logo, -body.outer .layout >.layout-row.layout-head >.layout-cell h1.oc-logo {font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:inline-block;width:100%;max-width:450px;height:170px;min-height:72px} -body.outer .layout >.layout-row >.layout-cell {vertical-align:top} -body.outer .layout >.layout-row >.layout-cell .outer-form-container {margin:0 auto;width:436px;padding:40px 0} -body.outer .layout >.layout-row >.layout-cell .outer-form-container h2 {font-size:18px;margin:20px 0;color:#feffff} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .horizontal-form {font-size:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .horizontal-form input {vertical-align:top;margin-right:9px;display:inline-block;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .horizontal-form button {background:#0181b9;text-align:center;font-size:13px;font-weight:600;height:40px;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .remember label {color:rgba(255,255,255,0.44)} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .remember input#remember {display:none} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .forgot-password {margin-top:30px;font-size:13px;top:8px} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .forgot-password a {color:rgba(255,255,255,0.44)} -body.outer .layout >.layout-row >.layout-cell .outer-form-container .forgot-password:before {color:rgba(255,255,255,0.44);font-size:14px;position:relative;margin-right:5px} -html.csstransitions body.outer .outer-form-container {-webkit-transition:all 0.5s ease-out;transition:all 0.5s ease-out;-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} -html.csstransitions body.outer.preload .outer-form-container {-webkit-transform:scale(0.2,0.2);-moz-transform:scale(0.2,0.2);-ms-transform:scale(0.2,0.2);-o-transform:scale(0.2,0.2);transform:scale(0.2,0.2)} -@media (max-width:768px) {body.outer .layout >.layout-row.layout-head >.layout-cell {padding:50px 20px }body.outer .layout >.layout-row >.layout-cell .outer-form-container {width:auto;padding:40px }body.outer .layout >.layout-row >.layout-cell .outer-form-container .horizontal-form {display:block }body.outer .layout >.layout-row >.layout-cell .outer-form-container .horizontal-form input {display:block;width:100% !important;margin-bottom:20px }} +#layout-footer .tagline{margin:10px;height:40px;line-height:40px} +#layout-footer .brand{float:left;font-size:16px} +#layout-footer .brand .logo{margin:0 10px} +#layout-footer .tagline{float:right} +#layout-footer .tagline p{color:#999} +body.outer{background:#2b3e50} +body.outer .layout>.layout-row.layout-head{text-align:center;background:#f9f9f9} +body.outer .layout>.layout-row.layout-head>.layout-cell{height:40%;padding:50px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle;position:relative} +body.outer .layout>.layout-row.layout-head>.layout-cell:after{content:'';display:block;width:0;height:0;border-left:28px solid transparent;border-right:28px solid transparent;border-top:20px solid #f9f9f9;border-bottom-width:0;position:absolute;bottom:-20px;left:50%;margin-left:-28px} +body.outer .layout>.layout-row.layout-head>.layout-cell h1.wn-logo, +body.outer .layout>.layout-row.layout-head>.layout-cell h1.oc-logo{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;display:inline-block;width:100%;max-width:450px;height:170px;min-height:72px} +body.outer .layout>.layout-row>.layout-cell{vertical-align:top} +body.outer .layout>.layout-row>.layout-cell .outer-form-container{margin:0 auto;width:436px;padding:40px 0} +body.outer .layout>.layout-row>.layout-cell .outer-form-container h2{font-size:18px;margin:20px 0;color:#feffff} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .horizontal-form{font-size:0;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:-ms-flex;display:flex} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .horizontal-form input{vertical-align:top;margin-right:9px;display:inline-block;border:none;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .horizontal-form button{background:#0181b9;text-align:center;font-size:13px;font-weight:600;height:40px;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .remember label{color:rgba(255,255,255,0.44)} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .remember input#remember{display:none} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .forgot-password{margin-top:30px;font-size:13px;top:8px} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .forgot-password a{color:rgba(255,255,255,0.44)} +body.outer .layout>.layout-row>.layout-cell .outer-form-container .forgot-password:before{color:rgba(255,255,255,0.44);font-size:14px;position:relative;margin-right:5px} +html.csstransitions body.outer .outer-form-container{-webkit-transition:all 0.5s ease-out;transition:all 0.5s ease-out;-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} +html.csstransitions body.outer.preload .outer-form-container{-webkit-transform:scale(0.2,0.2);-moz-transform:scale(0.2,0.2);-ms-transform:scale(0.2,0.2);-o-transform:scale(0.2,0.2);transform:scale(0.2,0.2)} +@media (max-width:768px){body.outer .layout>.layout-row.layout-head>.layout-cell{padding:50px 20px}body.outer .layout>.layout-row>.layout-cell .outer-form-container{width:auto;padding:40px}body.outer .layout>.layout-row>.layout-cell .outer-form-container .horizontal-form{display:block}body.outer .layout>.layout-row>.layout-cell .outer-form-container .horizontal-form input{display:block;width:100% !important;margin-bottom:20px}} body.breadcrumb-fancy .control-breadcrumb, -.control-breadcrumb.breadcrumb-fancy {margin-bottom:0;background-color:#e67e22} +.control-breadcrumb.breadcrumb-fancy{margin-bottom:0;background-color:#e67e22} body.breadcrumb-fancy .control-breadcrumb li, -.control-breadcrumb.breadcrumb-fancy li {background-color:#d35400;color:rgba(255,255,255,0.5)} +.control-breadcrumb.breadcrumb-fancy li{background-color:#d35400;color:rgba(255,255,255,0.5)} body.breadcrumb-fancy .control-breadcrumb li a, -.control-breadcrumb.breadcrumb-fancy li a {opacity:.5;-webkit-transition:all 0.3s ease;transition:all 0.3s ease} +.control-breadcrumb.breadcrumb-fancy li a{opacity:.5;-webkit-transition:all 0.3s ease;transition:all 0.3s ease} body.breadcrumb-fancy .control-breadcrumb li a:hover, -.control-breadcrumb.breadcrumb-fancy li a:hover {opacity:1} +.control-breadcrumb.breadcrumb-fancy li a:hover{opacity:1} body.breadcrumb-fancy .control-breadcrumb li:before, -.control-breadcrumb.breadcrumb-fancy li:before {border-left-color:#fff;opacity:.5} +.control-breadcrumb.breadcrumb-fancy li:before{border-left-color:#fff;opacity:.5} body.breadcrumb-fancy .control-breadcrumb li:after, -.control-breadcrumb.breadcrumb-fancy li:after {border-left-color:#d35400} +.control-breadcrumb.breadcrumb-fancy li:after{border-left-color:#d35400} body.breadcrumb-fancy .control-breadcrumb li:last-child, -.control-breadcrumb.breadcrumb-fancy li:last-child {background-color:#d35400} +.control-breadcrumb.breadcrumb-fancy li:last-child{background-color:#d35400} body.breadcrumb-fancy .control-breadcrumb li:last-child:before, -.control-breadcrumb.breadcrumb-fancy li:last-child:before {opacity:1;border-left-color:#d35400} -.fancy-layout .tab-collapse-icon {position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} -.fancy-layout .tab-collapse-icon:hover {text-decoration:none;opacity:1;filter:alpha(opacity=100)} -.fancy-layout .tab-collapse-icon.primary {color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} -.fancy-layout .tab-collapse-icon.primary i {position:relative;display:block} +.control-breadcrumb.breadcrumb-fancy li:last-child:before{opacity:1;border-left-color:#d35400} +.fancy-layout .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} +.fancy-layout .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .tab-collapse-icon.primary i{position:relative;display:block} .fancy-layout .control-tabs.master-tabs, -.fancy-layout.control-tabs.master-tabs {overflow:hidden} +.fancy-layout.control-tabs.master-tabs{overflow:hidden} .fancy-layout .control-tabs.master-tabs:before, .fancy-layout.control-tabs.master-tabs:before, .fancy-layout .control-tabs.master-tabs:after, -.fancy-layout.control-tabs.master-tabs:after {top:13px;font-size:14px;color:rgba(255,255,255,0.35)} +.fancy-layout.control-tabs.master-tabs:after{top:13px;font-size:14px;color:rgba(255,255,255,0.35)} .fancy-layout .control-tabs.master-tabs:before, -.fancy-layout.control-tabs.master-tabs:before {left:8px} +.fancy-layout.control-tabs.master-tabs:before{left:8px} .fancy-layout .control-tabs.master-tabs:after, -.fancy-layout.control-tabs.master-tabs:after {right:8px} +.fancy-layout.control-tabs.master-tabs:after{right:8px} .fancy-layout .control-tabs.master-tabs.scroll-before:before, -.fancy-layout.control-tabs.master-tabs.scroll-before:before {color:#fff} +.fancy-layout.control-tabs.master-tabs.scroll-before:before{color:#fff} .fancy-layout .control-tabs.master-tabs.scroll-after:after, -.fancy-layout.control-tabs.master-tabs.scroll-after:after {color:#fff} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container {background:#d35400;padding-left:20px;padding-right:20px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs {margin-left:-8px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li {margin-left:-5px;top:1px;padding-top:3px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close {top:14px;right:-3px;left:auto;z-index:110;font-family:sans-serif} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close i, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close i {top:4px;right:1px;color:rgba(255,255,255,0.3) !important;font-style:normal;font-weight:bold;font-size:16px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close i:hover, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li span.tab-close i:hover {color:#fff !important} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a {border-bottom:none;background:transparent;font-size:14px;color:rgba(255,255,255,0.35);padding:6px 0 0 24px!important;overflow:visible} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title {position:relative;display:inline-block;padding:12px 5px 0 5px;height:38px;font-size:14px;z-index:100;background-color:#b9530f} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:before, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:before, -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:after, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:after {content:' ';position:absolute;width:20px;display:block;height:37px;top:0;z-index:100;background-color:#b9530f} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:before, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:before {left:-14px;-webkit-border-radius:8px 0 0 0;-moz-border-radius:8px 0 0 0;border-radius:8px 0 0 0;-webkit-transform:skewX(-20deg);-ms-transform:skewX(-20deg);transform:skewX(-20deg)} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:after, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title:after {right:-14px;-webkit-border-radius:0 8px 0 0;-moz-border-radius:0 8px 0 0;border-radius:0 8px 0 0;-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg)} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title span, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a >span.title span {border-top:none;padding:0;margin-top:0;overflow:visible} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a:before, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a:before {z-index:110;position:absolute;top:18px;left:22px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a[class*=icon] >span.title, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li a[class*=icon] >span.title {padding-left:18px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a {z-index:107;color:#fff} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active span.tab-close i, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active span.tab-close i {color:#fff} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title {background-color:#e67e22;z-index:105} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title:before, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title:before {z-index:107;background-color:#e67e22} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title:after, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li.active a >span.title:after {background-color:#e67e22;z-index:107} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li[data-modified] span.tab-close i, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li[data-modified] span.tab-close i {top:5px;font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li[data-modified] span.tab-close i:before, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li[data-modified] span.tab-close i:before {font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;content:"\f111";font-size:9px} -.fancy-layout .control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li:first-child, -.fancy-layout.control-tabs.master-tabs >div >div.tabs-container >ul.nav-tabs >li:first-child {margin-left:0} -.fancy-layout .control-tabs.master-tabs[data-closable] >div >div.tabs-container >ul.nav-tabs >li a >span.title, -.fancy-layout.control-tabs.master-tabs[data-closable] >div >div.tabs-container >ul.nav-tabs >li a >span.title {padding-right:10px} +.fancy-layout.control-tabs.master-tabs.scroll-after:after{color:#fff} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container{background:#d35400;padding-left:20px;padding-right:20px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs{margin-left:-8px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li{margin-left:-5px;top:1px;padding-top:3px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close{top:14px;right:-3px;left:auto;z-index:110;font-family:sans-serif} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close i, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close i{top:4px;right:1px;color:rgba(255,255,255,0.3) !important;font-style:normal;font-weight:bold;font-size:16px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close i:hover, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li span.tab-close i:hover{color:#fff !important} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a{border-bottom:none;background:transparent;font-size:14px;color:rgba(255,255,255,0.35);padding:6px 0 0 24px!important;overflow:visible} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title{position:relative;display:inline-block;padding:12px 5px 0 5px;height:38px;font-size:14px;z-index:100;background-color:#b9530f} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:before, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:before, +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:after, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:after{content:' ';position:absolute;width:20px;display:block;height:37px;top:0;z-index:100;background-color:#b9530f} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:before, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:before{left:-14px;-webkit-border-radius:8px 0 0 0;-moz-border-radius:8px 0 0 0;border-radius:8px 0 0 0;-webkit-transform:skewX(-20deg);-ms-transform:skewX(-20deg);transform:skewX(-20deg)} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:after, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title:after{right:-14px;-webkit-border-radius:0 8px 0 0;-moz-border-radius:0 8px 0 0;border-radius:0 8px 0 0;-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg)} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title span, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a>span.title span{border-top:none;padding:0;margin-top:0;overflow:visible} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a:before, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a:before{z-index:110;position:absolute;top:18px;left:22px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a[class*=icon]>span.title, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li a[class*=icon]>span.title{padding-left:18px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a{z-index:107;color:#fff} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active span.tab-close i, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active span.tab-close i{color:#fff} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title{background-color:#e67e22;z-index:105} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title:before, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title:before{z-index:107;background-color:#e67e22} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title:after, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li.active a>span.title:after{background-color:#e67e22;z-index:107} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li[data-modified] span.tab-close i, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li[data-modified] span.tab-close i{top:5px;font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li[data-modified] span.tab-close i:before, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li[data-modified] span.tab-close i:before{font-family:"Font Awesome 6 Free";font-weight:900;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;text-rendering:auto;content:"\f111";font-size:9px} +.fancy-layout .control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li:first-child, +.fancy-layout.control-tabs.master-tabs>div>div.tabs-container>ul.nav-tabs>li:first-child{margin-left:0} +.fancy-layout .control-tabs.master-tabs[data-closable]>div>div.tabs-container>ul.nav-tabs>li a>span.title, +.fancy-layout.control-tabs.master-tabs[data-closable]>div>div.tabs-container>ul.nav-tabs>li a>span.title{padding-right:10px} .fancy-layout .control-tabs.master-tabs.has-tabs:before, .fancy-layout.control-tabs.master-tabs.has-tabs:before, .fancy-layout .control-tabs.master-tabs.has-tabs:after, -.fancy-layout.control-tabs.master-tabs.has-tabs:after {display:block} +.fancy-layout.control-tabs.master-tabs.has-tabs:after{display:block} .fancy-layout .control-tabs.secondary-tabs:before, -.fancy-layout.control-tabs.secondary-tabs:before {left:5px} +.fancy-layout.control-tabs.secondary-tabs:before{left:5px} .fancy-layout .control-tabs.secondary-tabs:after, -.fancy-layout.control-tabs.secondary-tabs:after {right:5px} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs {background:#475354} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs >li {border-right:none;padding-right:0;margin-right:0} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li a, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs >li a {background:transparent;border:none;padding:12px 10px 13px 10px;font-size:14px;font-weight:normal;line-height:14px;color:#919898} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li a span span, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs >li a span span {overflow:visible;border-top:none;margin-top:0;padding-top:0} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li:first-child, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs >li:first-child {padding-left:15px} -.fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li.active a, -.fancy-layout.control-tabs.secondary-tabs >div >ul.nav-tabs >li.active a {color:#fff} +.fancy-layout.control-tabs.secondary-tabs:after{right:5px} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs{background:#475354} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs>li{border-right:none;padding-right:0;margin-right:0} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li a, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs>li a{background:transparent;border:none;padding:12px 10px 13px 10px;font-size:14px;font-weight:normal;line-height:14px;color:#919898} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li a span span, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs>li a span span{overflow:visible;border-top:none;margin-top:0;padding-top:0} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li:first-child, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs>li:first-child{padding-left:15px} +.fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li.active a, +.fancy-layout.control-tabs.secondary-tabs>div>ul.nav-tabs>li.active a{color:#fff} .fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon, -.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon {position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} +.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} .fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon:hover, -.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon:hover {text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} .fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary, -.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary {color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} .fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary i, -.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary i {position:relative;display:block} +.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary i{position:relative;display:block} .fancy-layout .control-tabs.secondary-tabs .tab-collapse-icon.primary, -.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary {color:#fff;top:12px;right:11px;bottom:auto} +.fancy-layout.control-tabs.secondary-tabs .tab-collapse-icon.primary{color:#fff;top:12px;right:11px;bottom:auto} .fancy-layout .control-tabs.secondary-tabs.primary-collapsed .tab-collapse-icon.primary, -.fancy-layout.control-tabs.secondary-tabs.primary-collapsed .tab-collapse-icon.primary {-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs {background:#f9f9f9} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li {margin-left:-19px} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li:first-child, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li:first-child {margin-left:0;padding-left:8px} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a {padding:8px 16px 0 16px;font-weight:400;height:36px;color:#2b3e50;opacity:0.6;filter:alpha(opacity=60)} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title {position:relative;display:inline-block;padding:8px 5px 9px 5px;font-size:14px;z-index:100;height:27px !important;background-color:transparent} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:before, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:before, -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:after, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:after {content:' ';position:absolute;background-color:white;width:15px;height:28px;top:0;z-index:100;display:none} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:before, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:before {left:-11px;-webkit-border-radius:8px 0 0 0;-moz-border-radius:8px 0 0 0;border-radius:8px 0 0 0;-webkit-transform:skewX(-20deg);-ms-transform:skewX(-20deg);transform:skewX(-20deg)} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:after, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title:after {right:-11px;-webkit-border-radius:0 8px 0 0;-moz-border-radius:0 8px 0 0;border-radius:0 8px 0 0;-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg)} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title span, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li a >span.title span {height:18px;font-size:14px} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a {opacity:1;filter:alpha(opacity=100)} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title {background-color:white} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title:before, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title:before, -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title:after, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs >div >ul.nav-tabs >li.active a >span.title:after {display:block} +.fancy-layout.control-tabs.secondary-tabs.primary-collapsed .tab-collapse-icon.primary{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-ms-transform:scale(1,1);-o-transform:scale(1,1);transform:scale(1,1)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs{background:#f9f9f9} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li{margin-left:-19px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li:first-child, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li:first-child{margin-left:0;padding-left:8px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a{padding:8px 16px 0 16px;font-weight:400;height:36px;color:#2b3e50;opacity:0.6;filter:alpha(opacity=60)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title{position:relative;display:inline-block;padding:8px 5px 9px 5px;font-size:14px;z-index:100;height:27px !important;background-color:transparent} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:before, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:before, +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:after, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:after{content:' ';position:absolute;background-color:white;width:15px;height:28px;top:0;z-index:100;display:none} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:before, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:before{left:-11px;-webkit-border-radius:8px 0 0 0;-moz-border-radius:8px 0 0 0;border-radius:8px 0 0 0;-webkit-transform:skewX(-20deg);-ms-transform:skewX(-20deg);transform:skewX(-20deg)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:after, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title:after{right:-11px;-webkit-border-radius:0 8px 0 0;-moz-border-radius:0 8px 0 0;border-radius:0 8px 0 0;-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title span, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li a>span.title span{height:18px;font-size:14px} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a{opacity:1;filter:alpha(opacity=100)} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title{background-color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title:before, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title:before, +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title:after, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs>div>ul.nav-tabs>li.active a>span.title:after{display:block} .fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs .tab-collapse-icon.primary, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs .tab-collapse-icon.primary {color:#808c8d} +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs .tab-collapse-icon.primary{color:#808c8d} .fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed .tab-collapse-icon.primary, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed .tab-collapse-icon.primary {color:white} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs {background:#e67e22} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a {color:white} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a >span.title:before, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a >span.title:before, -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a >span.title:after, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li a >span.title:after {background-color:white} -.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li.active a, -.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed >div >ul.nav-tabs >li.active a {color:#2b3e50} -.fancy-layout .control-tabs.primary-tabs.master-area >div >ul.nav-tabs, -.fancy-layout.control-tabs.primary-tabs.master-area >div >ul.nav-tabs {-webkit-transition:background-color 0.5s;transition:background-color 0.5s;background:#e67e22} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs {background:#7f8c8d;margin-left:0 !important;margin-right:0 !important} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs:before, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs:before {display:none} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li {background:transparent;border-right:none;margin-right:-8px} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li:first-child, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li:first-child {margin-left:-5px} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a {background:transparent;border:none;padding:12px 16px 0;font-size:14px;font-weight:400;color:#95a5a6} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title {background:#d5d9d8;border-top:none;padding:5px 5px 3px 5px} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:before, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:before, -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:after, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:after {background:#d5d9d8;border-width:0;top:0} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:before, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:before {left:-20px} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:after, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title:after {right:-20px} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title span, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li a span.title span {border-width:0;vertical-align:top} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li.active a, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li.active a {color:#808c8d} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li.active a:before, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li.active a:before {display:none} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title {background:#fafafa} -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title:before, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title:before, -.fancy-layout .control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title:after, -.fancy-layout.control-tabs.primary-tabs >div >ul.nav-tabs >li.active a span.title:after {background:#fafafa} -.fancy-layout .control-tabs.primary-tabs >.tab-content >.tab-pane, -.fancy-layout.control-tabs.primary-tabs >.tab-content >.tab-pane {padding:20px 20px 0 20px} -.fancy-layout .control-tabs.primary-tabs >.tab-content >.tab-pane.pane-compact, -.fancy-layout.control-tabs.primary-tabs >.tab-content >.tab-pane.pane-compact {padding:0} +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed .tab-collapse-icon.primary{color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs{background:#e67e22} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a{color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a>span.title:before, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a>span.title:before, +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a>span.title:after, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li a>span.title:after{background-color:white} +.fancy-layout .control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li.active a, +.fancy-layout.control-tabs.secondary-tabs.secondary-content-tabs.primary-collapsed>div>ul.nav-tabs>li.active a{color:#2b3e50} +.fancy-layout .control-tabs.primary-tabs.master-area>div>ul.nav-tabs, +.fancy-layout.control-tabs.primary-tabs.master-area>div>ul.nav-tabs{-webkit-transition:background-color 0.5s;transition:background-color 0.5s;background:#e67e22} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs{background:#7f8c8d;margin-left:0 !important;margin-right:0 !important} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs:before, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs:before{display:none} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li{background:transparent;border-right:none;margin-right:-8px} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li:first-child, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li:first-child{margin-left:-5px} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a{background:transparent;border:none;padding:12px 16px 0;font-size:14px;font-weight:400;color:#95a5a6} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title{background:#d5d9d8;border-top:none;padding:5px 5px 3px 5px} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:before, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:before, +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:after, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:after{background:#d5d9d8;border-width:0;top:0} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:before, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:before{left:-20px} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:after, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title:after{right:-20px} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title span, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li a span.title span{border-width:0;vertical-align:top} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li.active a, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li.active a{color:#808c8d} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li.active a:before, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li.active a:before{display:none} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title{background:#fafafa} +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title:before, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title:before, +.fancy-layout .control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title:after, +.fancy-layout.control-tabs.primary-tabs>div>ul.nav-tabs>li.active a span.title:after{background:#fafafa} +.fancy-layout .control-tabs.primary-tabs>.tab-content>.tab-pane, +.fancy-layout.control-tabs.primary-tabs>.tab-content>.tab-pane{padding:20px 20px 0 20px} +.fancy-layout .control-tabs.primary-tabs>.tab-content>.tab-pane.pane-compact, +.fancy-layout.control-tabs.primary-tabs>.tab-content>.tab-pane.pane-compact{padding:0} .fancy-layout .control-tabs.primary-tabs.collapsed, -.fancy-layout.control-tabs.primary-tabs.collapsed {display:none} -.fancy-layout .control-tabs.has-tabs >div.tab-content, -.fancy-layout.control-tabs.has-tabs >div.tab-content {background:#f9f9f9} -.fancy-layout .control-tabs >div.tab-content >div.tab-pane, -.fancy-layout.control-tabs >div.tab-content >div.tab-pane {padding:0} -.fancy-layout .control-tabs >div.tab-content >div.tab-pane.padded-pane, -.fancy-layout.control-tabs >div.tab-content >div.tab-pane.padded-pane {padding:20px 20px 0 20px} -.fancy-layout .form-tabless-fields {position:relative;background:#e67e22;padding:18px 23px 0 23px;-webkit-transition:all 0.5s;transition:all 0.5s} +.fancy-layout.control-tabs.primary-tabs.collapsed{display:none} +.fancy-layout .control-tabs.has-tabs>div.tab-content, +.fancy-layout.control-tabs.has-tabs>div.tab-content{background:#f9f9f9} +.fancy-layout .control-tabs>div.tab-content>div.tab-pane, +.fancy-layout.control-tabs>div.tab-content>div.tab-pane{padding:0} +.fancy-layout .control-tabs>div.tab-content>div.tab-pane.padded-pane, +.fancy-layout.control-tabs>div.tab-content>div.tab-pane.padded-pane{padding:20px 20px 0 20px} +.fancy-layout .form-tabless-fields{position:relative;background:#e67e22;padding:18px 23px 0 23px;-webkit-transition:all 0.5s;transition:all 0.5s} .fancy-layout .form-tabless-fields:before, -.fancy-layout .form-tabless-fields:after {content:" ";display:table} -.fancy-layout .form-tabless-fields:after {clear:both} -.fancy-layout .form-tabless-fields label {text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0} -.fancy-layout .form-tabless-fields input[type=text] {background:transparent;border:none;color:#fff;font-size:35px;font-weight:100;height:auto;padding:0;-webkit-box-shadow:none;box-shadow:none} -.fancy-layout .form-tabless-fields input[type=text]::-moz-placeholder {color:rgba(255,255,255,0.5);opacity:1} -.fancy-layout .form-tabless-fields input[type=text]:-ms-input-placeholder {color:rgba(255,255,255,0.5)} -.fancy-layout .form-tabless-fields input[type=text]::-webkit-input-placeholder {color:rgba(255,255,255,0.5)} +.fancy-layout .form-tabless-fields:after{content:" ";display:table} +.fancy-layout .form-tabless-fields:after{clear:both} +.fancy-layout .form-tabless-fields label{text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0} +.fancy-layout .form-tabless-fields input[type=text]{background:transparent;border:none;color:#fff;font-size:35px;font-weight:100;height:auto;padding:0;-webkit-box-shadow:none;box-shadow:none} +.fancy-layout .form-tabless-fields input[type=text]::-moz-placeholder{color:rgba(255,255,255,0.5);opacity:1} +.fancy-layout .form-tabless-fields input[type=text]:-ms-input-placeholder{color:rgba(255,255,255,0.5)} +.fancy-layout .form-tabless-fields input[type=text]::-webkit-input-placeholder{color:rgba(255,255,255,0.5)} .fancy-layout .form-tabless-fields input[type=text]:focus, -.fancy-layout .form-tabless-fields input[type=text]:hover {background-color:rgba(255,255,255,0.1)} -.fancy-layout .form-tabless-fields .form-group {padding-bottom:0} -.fancy-layout .form-tabless-fields .form-group.is-required >label:after {display:none} -.fancy-layout .form-tabless-fields .tab-collapse-icon {position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} -.fancy-layout .form-tabless-fields .tab-collapse-icon:hover {text-decoration:none;opacity:1;filter:alpha(opacity=100)} -.fancy-layout .form-tabless-fields .tab-collapse-icon.primary {color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} -.fancy-layout .form-tabless-fields .tab-collapse-icon.primary i {position:relative;display:block} -.fancy-layout .form-tabless-fields .tab-collapse-icon.tabless {top:14px} -.fancy-layout .form-tabless-fields.collapsed {padding:5px 23px 0 10px} -.fancy-layout .form-tabless-fields.collapsed .tab-collapse-icon.tabless {-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} -.fancy-layout .form-tabless-fields.collapsed .form-group:not(.collapse-visible) {display:none} -.fancy-layout .form-tabless-fields.collapsed .form-buttons {margin-left:10px;padding-bottom:0} -.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator {background-color:#e67e22;padding:0 0 0 30px;color:rgba(255,255,255,0.5);margin-top:1px;height:90%;font-size:12px;line-height:100%} -.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator >span {left:-10px;top:18px} -.fancy-layout .form-buttons {-webkit-transition:all 0.5s;transition:all 0.5s;padding-top:14px;padding-bottom:5px} -.fancy-layout .form-buttons .btn {padding:0;margin-right:5px;margin-top:-6px;margin-right:30px;background:transparent;color:#fff;font-weight:normal;-webkit-box-shadow:none;box-shadow:none;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.3s ease;transition:all 0.3s ease} -.fancy-layout .form-buttons .btn:hover {opacity:1;filter:alpha(opacity=100)} -.fancy-layout .form-buttons .btn:last-child {margin-right:0} +.fancy-layout .form-tabless-fields input[type=text]:hover{background-color:rgba(255,255,255,0.1)} +.fancy-layout .form-tabless-fields .form-group{padding-bottom:0} +.fancy-layout .form-tabless-fields .form-group.is-required>label:after{display:none} +.fancy-layout .form-tabless-fields .tab-collapse-icon{position:absolute;display:block;text-decoration:none;outline:none;opacity:0.6;filter:alpha(opacity=60);-webkit-transition:all 0.3s;transition:all 0.3s;font-size:12px;color:#fff;right:11px} +.fancy-layout .form-tabless-fields .tab-collapse-icon:hover{text-decoration:none;opacity:1;filter:alpha(opacity=100)} +.fancy-layout .form-tabless-fields .tab-collapse-icon.primary{color:#475354;bottom:-25px;z-index:100;-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .form-tabless-fields .tab-collapse-icon.primary i{position:relative;display:block} +.fancy-layout .form-tabless-fields .tab-collapse-icon.tabless{top:14px} +.fancy-layout .form-tabless-fields.collapsed{padding:5px 23px 0 10px} +.fancy-layout .form-tabless-fields.collapsed .tab-collapse-icon.tabless{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)} +.fancy-layout .form-tabless-fields.collapsed .form-group:not(.collapse-visible){display:none} +.fancy-layout .form-tabless-fields.collapsed .form-buttons{margin-left:10px;padding-bottom:0} +.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator{background-color:#e67e22;padding:0 0 0 30px;color:rgba(255,255,255,0.5);margin-top:1px;height:90%;font-size:12px;line-height:100%} +.fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator>span{left:-10px;top:18px} +.fancy-layout .form-buttons{-webkit-transition:all 0.5s;transition:all 0.5s;padding-top:14px;padding-bottom:5px} +.fancy-layout .form-buttons .btn{padding:0;margin-right:5px;margin-top:-6px;margin-right:30px;background:transparent;color:#fff;font-weight:normal;-webkit-box-shadow:none;box-shadow:none;opacity:0.5;filter:alpha(opacity=50);-webkit-transition:all 0.3s ease;transition:all 0.3s ease} +.fancy-layout .form-buttons .btn:hover{opacity:1;filter:alpha(opacity=100)} +.fancy-layout .form-buttons .btn:last-child{margin-right:0} .fancy-layout .form-buttons .btn[class^="wn-icon-"]:before, .fancy-layout .form-buttons .btn[class*=" wn-icon-"]:before, .fancy-layout .form-buttons .btn[class^="oc-icon-"]:before, -.fancy-layout .form-buttons .btn[class*=" oc-icon-"]:before {opacity:1} +.fancy-layout .form-buttons .btn[class*=" oc-icon-"]:before{opacity:1} .fancy-layout form.oc-data-changed .btn.save, -.fancy-layout form.wn-data-changed .btn.save {opacity:1;filter:alpha(opacity=100)} -.fancy-layout .field-codeeditor {border:none !important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} -.fancy-layout .field-codeeditor .editor-code {-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} -.fancy-layout .field-richeditor {border:none;border-left:1px solid #d1d6d9 !important} +.fancy-layout form.wn-data-changed .btn.save{opacity:1;filter:alpha(opacity=100)} +.fancy-layout .field-codeeditor{border:none !important;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} +.fancy-layout .field-codeeditor .editor-code{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0} +.fancy-layout .field-richeditor{border:none;border-left:1px solid #d1d6d9 !important} .fancy-layout .field-richeditor, .fancy-layout .field-richeditor .fr-toolbar, -.fancy-layout .field-richeditor .fr-wrapper {-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-top-right-radius:0;border-top-left-radius:0} -.fancy-layout .secondary-content-tabs .field-richeditor .fr-toolbar {background:white} -body.side-panel-not-fixed .fancy-layout .field-richeditor {border-left:none} -html.cssanimations .fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator >span {-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background-image:url('../../../system/assets/ui/images/loader-white.svg');background-size:20px 20px} -html.gecko .fancy-layout .control-tabs.secondary-tabs >div >ul.nav-tabs >li.active a {padding-top:13px} -.flyout-container >.flyout {overflow:hidden;width:0;left:0 !important;-webkit-transition:width 0.1s;transition:width 0.1s} -.flyout-overlay {width:100%;height:100%;top:0;z-index:5000;position:absolute;background-color:rgba(0,0,0,0);-webkit-transition:background-color 0.3s;transition:background-color 0.3s} -.flyout-toggle {position:absolute;top:20px;left:0;width:23px;height:25px;background:#2b3e50;cursor:pointer;border-bottom-right-radius:4px;border-top-right-radius:4px;color:#bdc3c7;font-size:10px} -.flyout-toggle i {margin:7px 0 0 6px;display:inline-block} -.flyout-toggle:hover i {color:#fff} -body.flyout-visible {overflow:hidden} -body.flyout-visible .flyout-overlay {background-color:rgba(0,0,0,0.3)} \ No newline at end of file +.fancy-layout .field-richeditor .fr-wrapper{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-top-right-radius:0;border-top-left-radius:0} +.fancy-layout .secondary-content-tabs .field-richeditor .fr-toolbar{background:white} +body.side-panel-not-fixed .fancy-layout .field-richeditor{border-left:none} +html.cssanimations .fancy-layout .form-tabless-fields .loading-indicator-container .loading-indicator>span{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background-image:url('../../../system/assets/ui/images/loader-white.svg');background-size:20px 20px} +html.gecko .fancy-layout .control-tabs.secondary-tabs>div>ul.nav-tabs>li.active a{padding-top:13px} +.flyout-container>.flyout{overflow:hidden;width:0;left:0 !important;-webkit-transition:width 0.1s;transition:width 0.1s} +.flyout-overlay{width:100%;height:100%;top:0;z-index:5000;position:absolute;background-color:rgba(0,0,0,0);-webkit-transition:background-color 0.3s;transition:background-color 0.3s} +.flyout-toggle{position:absolute;top:20px;left:0;width:23px;height:25px;background:#2b3e50;cursor:pointer;border-bottom-right-radius:4px;border-top-right-radius:4px;color:#bdc3c7;font-size:10px} +.flyout-toggle i{margin:7px 0 0 6px;display:inline-block} +.flyout-toggle:hover i{color:#fff} +body.flyout-visible{overflow:hidden} +body.flyout-visible .flyout-overlay{background-color:rgba(0,0,0,0.3)} \ No newline at end of file diff --git a/modules/backend/assets/js/winter-min.js b/modules/backend/assets/js/winter-min.js index 5d58396141..41225f0d16 100644 --- a/modules/backend/assets/js/winter-min.js +++ b/modules/backend/assets/js/winter-min.js @@ -1,530 +1,131 @@ - -(function($){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:true};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=false;function cancelTouch(){this.removeEventListener('touchmove',onTouchMove);startX=null;isMoving=false;} -function onTouchMove(e){if(config.preventDefaultEvents){e.preventDefault();} -if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startX-x;var dy=startY-y;if(Math.abs(dx)>=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft();} -else{config.wipeRight();}} -else if(Math.abs(dy)>=config.min_move_y){cancelTouch();if(dy>0){config.wipeDown();} -else{config.wipeUp();}}}} -function onTouchStart(e) -{if(e.touches.length==1){startX=e.touches[0].pageX;startY=e.touches[0].pageY;isMoving=true;this.addEventListener('touchmove',onTouchMove,false);}} -if('ontouchstart'in document.documentElement){this.addEventListener('touchstart',onTouchStart,false);}});return this;};})(jQuery);(function($){var liveUpdatingTargetSelectors={};var liveUpdaterIntervalId;var liveUpdaterRunning=false;var defaultSettings={ellipsis:'...',setTitle:'never',live:false};$.fn.ellipsis=function(selector,options){var subjectElements,settings;subjectElements=$(this);if(typeof selector!=='string'){options=selector;selector=undefined;} -settings=$.extend({},defaultSettings,options);settings.selector=selector;subjectElements.each(function(){var elem=$(this);ellipsisOnElement(elem,settings);});if(settings.live){addToLiveUpdater(subjectElements.selector,settings);}else{removeFromLiveUpdater(subjectElements.selector);} -return this;};function ellipsisOnElement(containerElement,settings){var containerData=containerElement.data('jqae');if(!containerData)containerData={};var wrapperElement=containerData.wrapperElement;if(!wrapperElement){wrapperElement=containerElement.wrapInner('
').find('>div');wrapperElement.css({margin:0,padding:0,border:0});} -var wrapperElementData=wrapperElement.data('jqae');if(!wrapperElementData)wrapperElementData={};var wrapperOriginalContent=wrapperElementData.originalContent;if(wrapperOriginalContent){wrapperElement=wrapperElementData.originalContent.clone(true).data('jqae',{originalContent:wrapperOriginalContent}).replaceAll(wrapperElement);}else{wrapperElement.data('jqae',{originalContent:wrapperElement.clone(true)});} -containerElement.data('jqae',{wrapperElement:wrapperElement,containerWidth:containerElement.width(),containerHeight:containerElement.height()});var containerElementHeight=containerElement.height();var wrapperOffset=(parseInt(containerElement.css('padding-top'),10)||0)+(parseInt(containerElement.css('border-top-width'),10)||0)-(wrapperElement.offset().top-containerElement.offset().top);var deferAppendEllipsis=false;var selectedElements=wrapperElement;if(settings.selector)selectedElements=$(wrapperElement.find(settings.selector).get().reverse());selectedElements.each(function(){var selectedElement=$(this),originalText=selectedElement.text(),ellipsisApplied=false;if(wrapperElement.innerHeight()-selectedElement.innerHeight()>containerElementHeight+wrapperOffset){selectedElement.remove();}else{removeLastEmptyElements(selectedElement);if(selectedElement.contents().length){if(deferAppendEllipsis){getLastTextNode(selectedElement).get(0).nodeValue+=settings.ellipsis;deferAppendEllipsis=false;} -while(wrapperElement.innerHeight()>containerElementHeight+wrapperOffset){ellipsisApplied=ellipsisOnLastTextNode(selectedElement);if(ellipsisApplied){removeLastEmptyElements(selectedElement);if(selectedElement.contents().length){getLastTextNode(selectedElement).get(0).nodeValue+=settings.ellipsis;}else{deferAppendEllipsis=true;selectedElement.remove();break;}}else{deferAppendEllipsis=true;selectedElement.remove();break;}} -if(((settings.setTitle=='onEllipsis')&&ellipsisApplied)||(settings.setTitle=='always')){selectedElement.attr('title',originalText);}else if(settings.setTitle!='never'){selectedElement.removeAttr('title');}}}});} -function ellipsisOnLastTextNode(element){var lastTextNode=getLastTextNode(element);if(lastTextNode.length){var text=lastTextNode.get(0).nodeValue;var pos=text.lastIndexOf(' ');if(pos>-1){text=$.trim(text.substring(0,pos));lastTextNode.get(0).nodeValue=text;}else{lastTextNode.get(0).nodeValue='';} -return true;} -return false;} -function getLastTextNode(element){if(element.contents().length){var contents=element.contents();var lastNode=contents.eq(contents.length-1);if(lastNode.filter(textNodeFilter).length){return lastNode;}else{return getLastTextNode(lastNode);}}else{element.append('');var contents=element.contents();return contents.eq(contents.length-1);}} -function removeLastEmptyElements(element){if(element.contents().length){var contents=element.contents();var lastNode=contents.eq(contents.length-1);if(lastNode.filter(textNodeFilter).length){var text=lastNode.get(0).nodeValue;text=$.trim(text);if(text==''){lastNode.remove();return true;}else{return false;}}else{while(removeLastEmptyElements(lastNode)){} -if(lastNode.contents().length){return false;}else{lastNode.remove();return true;}}} -return false;} -function textNodeFilter(){return this.nodeType===3;} -function addToLiveUpdater(targetSelector,settings){liveUpdatingTargetSelectors[targetSelector]=settings;if(!liveUpdaterIntervalId){liveUpdaterIntervalId=window.setInterval(function(){doLiveUpdater();},200);}} -function removeFromLiveUpdater(targetSelector){if(liveUpdatingTargetSelectors[targetSelector]){delete liveUpdatingTargetSelectors[targetSelector];if(!liveUpdatingTargetSelectors.length){if(liveUpdaterIntervalId){window.clearInterval(liveUpdaterIntervalId);liveUpdaterIntervalId=undefined;}}}};function doLiveUpdater(){if(!liveUpdaterRunning){liveUpdaterRunning=true;for(var targetSelector in liveUpdatingTargetSelectors){$(targetSelector).each(function(){var containerElement,containerData;containerElement=$(this);containerData=containerElement.data('jqae');if((containerData.containerWidth!=containerElement.width())||(containerData.containerHeight!=containerElement.height())){ellipsisOnElement(containerElement,liveUpdatingTargetSelectors[targetSelector]);}});} -liveUpdaterRunning=false;}};})(jQuery);(function($){$.waterfall=function(){var steps=[],dfrd=$.Deferred(),pointer=0;$.each(arguments,function(i,a){steps.push(function(){var args=[].slice.apply(arguments),d;if(typeof(a)=='function'){if(!((d=a.apply(null,args))&&d.promise)){d=$.Deferred()[d===false?'reject':'resolve'](d);}}else if(a&&a.promise){d=a;}else{d=$.Deferred()[a===false?'reject':'resolve'](a);} -d.fail(function(){dfrd.reject.apply(dfrd,[].slice.apply(arguments));}).done(function(data){pointer++;args.push(data);pointer==steps.length?dfrd.resolve.apply(dfrd,args):steps[pointer].apply(null,args);});});});steps.length?steps[0]():dfrd.resolve();return dfrd;}})(jQuery);(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){factory(require('jquery'));}else{factory(jQuery);}}(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s);} -function decode(s){return config.raw?s:decodeURIComponent(s);} -function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value));} -function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');} -try{s=decodeURIComponent(s.replace(pluses,' '));return config.json?JSON.parse(s):s;}catch(e){}} -function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value;} -var config=$.cookie=function(key,value,options){if(arguments.length>1&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setTime(+t+days*864e+5);} -return(document.cookie=[encode(key),'=',stringifyCookieValue(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));} -var result=key?undefined:{};var cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i"+this.options.dictFallbackText+"
";} -fieldsString+="Text
= e(trans('backend::lang.mediafinder.no_image')) ?>
diff --git a/modules/backend/formwidgets/mediafinder/partials/_mediafinder.htm b/modules/backend/formwidgets/mediafinder/partials/_mediafinder.php similarity index 100% rename from modules/backend/formwidgets/mediafinder/partials/_mediafinder.htm rename to modules/backend/formwidgets/mediafinder/partials/_mediafinder.php diff --git a/modules/backend/formwidgets/nestedform/assets/css/nestedform.css b/modules/backend/formwidgets/nestedform/assets/css/nestedform.css index d19d815cc2..13e471af9c 100644 --- a/modules/backend/formwidgets/nestedform/assets/css/nestedform.css +++ b/modules/backend/formwidgets/nestedform/assets/css/nestedform.css @@ -1,6 +1,6 @@ -.nested-form {position:relative;min-height:30px} -.nested-form .control-tabs.primary-tabs .nav-tabs {margin:0 !important} -.nested-form.panel-styles {margin-top:5px;padding:1em 1.25em 0 1.25em !important;background:#f5f5f5;border:1px solid #d1d6d9;border-radius:3px;box-shadow:inset 0 1px 0 rgba(209,214,217,0.25),0 1px 0 rgba(255,255,255,.5)} -.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs >li.active >a:before {background-color:#f5f5f5;border-color:#f5f5f5} -.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs >li >a >span.title:before, -.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs >li >a >span.title:after {background-color:#f5f5f5} \ No newline at end of file +.nested-form{position:relative;min-height:30px} +.nested-form .control-tabs.primary-tabs .nav-tabs{margin:0 !important} +.nested-form.panel-styles{margin-top:5px;padding:1em 1.25em 0 1.25em !important;background:#f5f5f5;border:1px solid #d1d6d9;border-radius:3px;box-shadow:inset 0 1px 0 rgba(209,214,217,0.25),0 1px 0 rgba(255,255,255,.5)} +.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs>li.active>a:before{background-color:#f5f5f5;border-color:#f5f5f5} +.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs>li>a>span.title:before, +.nested-form.panel-styles .control-tabs.primary-tabs .nav-tabs>li>a>span.title:after{background-color:#f5f5f5} \ No newline at end of file diff --git a/modules/backend/formwidgets/nestedform/partials/_nestedform.htm b/modules/backend/formwidgets/nestedform/partials/_nestedform.php similarity index 100% rename from modules/backend/formwidgets/nestedform/partials/_nestedform.htm rename to modules/backend/formwidgets/nestedform/partials/_nestedform.php diff --git a/modules/backend/formwidgets/permissioneditor/assets/css/permissioneditor.css b/modules/backend/formwidgets/permissioneditor/assets/css/permissioneditor.css index c1316dc40e..4815d62508 100644 --- a/modules/backend/formwidgets/permissioneditor/assets/css/permissioneditor.css +++ b/modules/backend/formwidgets/permissioneditor/assets/css/permissioneditor.css @@ -1,40 +1,40 @@ -.permissioneditor {position:relative;margin:0 -20px} -.permissioneditor.control-disabled .permissions-overlay {position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,0.01);cursor:not-allowed} -.permissioneditor.control-disabled table {opacity:0.5;filter:alpha(opacity=50)} -.permissioneditor table {width:100%} -.permissioneditor table th {padding:30px 4px 8px 4px;color:#2a3e51;font-weight:normal;border-bottom:1px solid #dbe1e3} -.permissioneditor table th.tab {font-size:13px} -.permissioneditor table th.permission-type {text-transform:uppercase;font-size:11px;text-align:center} -.permissioneditor table td {padding:10px 4px;vertical-align:top;border-bottom:1px solid #ecf0f1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} -.permissioneditor table td.permission-value {text-align:center} -.permissioneditor table td.permission-name {font-size:13px;cursor:pointer;color:#777} -.permissioneditor table td p.comment {margin-top:5px;margin-bottom:0} -.permissioneditor table td p.comment:empty {display:none} -.permissioneditor table tr:hover td {background:#4ea5e0} -.permissioneditor table tr:hover td.permission-name {color:#fff !important} +.permissioneditor{position:relative;margin:0 -20px} +.permissioneditor.control-disabled .permissions-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,0.01);cursor:not-allowed} +.permissioneditor.control-disabled table{opacity:0.5;filter:alpha(opacity=50)} +.permissioneditor table{width:100%} +.permissioneditor table th{padding:30px 4px 8px 4px;color:#2a3e51;font-weight:normal;border-bottom:1px solid #dbe1e3} +.permissioneditor table th.tab{font-size:13px} +.permissioneditor table th.permission-type{text-transform:uppercase;font-size:11px;text-align:center} +.permissioneditor table td{padding:10px 4px;vertical-align:top;border-bottom:1px solid #ecf0f1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.permissioneditor table td.permission-value{text-align:center} +.permissioneditor table td.permission-name{font-size:13px;cursor:pointer;color:#777} +.permissioneditor table td p.comment{margin-top:5px;margin-bottom:0} +.permissioneditor table td p.comment:empty{display:none} +.permissioneditor table tr:hover td{background:#4ea5e0} +.permissioneditor table tr:hover td.permission-name{color:#fff !important} .permissioneditor table th:first-child, -.permissioneditor table td:first-child {padding-left:20px} +.permissioneditor table td:first-child{padding-left:20px} .permissioneditor table th:last-child, -.permissioneditor table td:last-child {padding-right:5px} +.permissioneditor table td:last-child{padding-right:5px} .permissioneditor table .custom-radio, .permissioneditor table .custom-checkbox, -.permissioneditor table .custom-switch {display:inline-block;padding-left:0} +.permissioneditor table .custom-switch{display:inline-block;padding-left:0} .permissioneditor table .custom-radio, .permissioneditor table .custom-checkbox, .permissioneditor table .custom-switch, .permissioneditor table .custom-radio label, .permissioneditor table .custom-checkbox label, -.permissioneditor table .custom-switch label {margin-bottom:0} +.permissioneditor table .custom-switch label{margin-bottom:0} .permissioneditor table .custom-radio label, .permissioneditor table .custom-checkbox label, -.permissioneditor table .custom-switch label {padding:0 0 0 14px;margin:0;top:0} +.permissioneditor table .custom-switch label{padding:0 0 0 14px;margin:0;top:0} .permissioneditor table .custom-radio label span, .permissioneditor table .custom-checkbox label span, -.permissioneditor table .custom-switch label span {text-indent:-10000em;display:block} +.permissioneditor table .custom-switch label span{text-indent:-10000em;display:block} .permissioneditor table .custom-radio label:before, .permissioneditor table .custom-checkbox label:before, -.permissioneditor table .custom-switch label:before {margin-right:0} -.permissioneditor table tr:last-child td {border-bottom:none} -.permissioneditor table tr:first-child th {padding-top:0} -.permissioneditor table tr.disabled td.permission-name {color:#AAA} -.permissioneditor table tr.last-section-row td {border-bottom:none} \ No newline at end of file +.permissioneditor table .custom-switch label:before{margin-right:0} +.permissioneditor table tr:last-child td{border-bottom:none} +.permissioneditor table tr:first-child th{padding-top:0} +.permissioneditor table tr.disabled td.permission-name{color:#AAA} +.permissioneditor table tr.last-section-row td{border-bottom:none} \ No newline at end of file diff --git a/modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.htm b/modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.php similarity index 84% rename from modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.htm rename to modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.php index 2060a21ab6..dee44e733e 100644 --- a/modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.htm +++ b/modules/backend/formwidgets/permissioneditor/partials/_permissioneditor.php @@ -11,7 +11,7 @@