commit
a2998eea80
|
@ -0,0 +1,565 @@
|
|||
<?php namespace pineapple;
|
||||
|
||||
class Themes extends Module
|
||||
{
|
||||
// CONSTANTS
|
||||
private $MODULE_DIR = '/pineapple/modules/Themes/';
|
||||
private $CSS_DIR = '/pineapple/modules/Themes/css/';
|
||||
private $SKELETON_CSS = '/pineapple/modules/Themes/css/main.css';
|
||||
private $CURRENT_CSS = '/pineapple/modules/Themes/css/CURRENT_CSS';
|
||||
private $CURRENT_LOGO = '/pineapple/modules/Themes/img/CURRENT_LOGO';
|
||||
private $CURRENT_THROBBER = '/pineapple/modules/Themes/img/CURRENT_THROBBER';
|
||||
private $CURRENT_FAVICON = '/pineapple/modules/Themes/img/CURRENT_FAVICON';
|
||||
private $CURRENT_DASHBOARD = '/pineapple/modules/Themes/img/CURRENT_DASHBOARD';
|
||||
private $BACKUP_MAIN_CSS = '/pineapple/css/.backup.main.css';
|
||||
private $BACKUP_FAVICON = '/pineapple/img/.backup.favicon.ico';
|
||||
private $BACKUP_THROBBER = '/pineapple/img/.backup.throbber.gif';
|
||||
private $BACKUP_LOGO = '/pineapple/img/.backup.logo.png';
|
||||
private $BACKUP_DASHBOARD = '/pineapple/modules/Dashboard/.backup.module_icon.svg';
|
||||
|
||||
private $current_theme = "";
|
||||
|
||||
/*
|
||||
* Static list of all module names
|
||||
* from here we can grab the CURRENT file, and the module directory
|
||||
*/
|
||||
private $ALL_MODULES = array(
|
||||
"Dashboard",
|
||||
"Recon",
|
||||
"Profiling",
|
||||
"Clients",
|
||||
"ModuleManager",
|
||||
"Filters",
|
||||
"PineAP",
|
||||
"Tracking",
|
||||
"Logging",
|
||||
"Reporting",
|
||||
"Networking",
|
||||
"Configuration",
|
||||
"Advanced",
|
||||
"Help",
|
||||
);
|
||||
/*
|
||||
* Faster to map Hex values then to calculate on the fly
|
||||
*/
|
||||
private $WHITE_HEX = 'ffffff';
|
||||
private $RESTORE_HEX = '808080';
|
||||
private $NORMAL_COLOR_HEX_MAP = array(
|
||||
"red" => "FF0000",
|
||||
"green" => "00FF00",
|
||||
"blue" => "0000FF",
|
||||
"purple" => "800080",
|
||||
"orange" => "cc3300",
|
||||
"yellow" => "ffff00",
|
||||
"pink" => "ff0066",
|
||||
);
|
||||
private $LIGHT_COLOR_HEX_MAP = array(
|
||||
"red" => "ff4d4d",
|
||||
"green" => "80ff80",
|
||||
"blue" => "8080ff",
|
||||
"purple" => "ff66ff",
|
||||
"orange" => "ff9f80",
|
||||
"yellow" => "ffff66",
|
||||
"pink" => "ff99c2",
|
||||
);
|
||||
private $DARK_COLOR_HEX_MAP = array(
|
||||
"red" => "990000",
|
||||
"green" => "004d00",
|
||||
"blue" => "000077",
|
||||
"purple" => "4d004d",
|
||||
"orange" => "992600",
|
||||
"yellow" => "cccc00",
|
||||
"pink" => "99003d",
|
||||
);
|
||||
|
||||
public function route()
|
||||
{
|
||||
switch ($this->request->action) {
|
||||
case 'getThemeList':
|
||||
$this->handleGetThemeList();
|
||||
break;
|
||||
case 'themeFields':
|
||||
$this->getThemeFields();
|
||||
break;
|
||||
case 'deleteTheme':
|
||||
$this->handleDeleteTheme();
|
||||
break;
|
||||
case 'activateTheme':
|
||||
$this->activateTheme();
|
||||
break;
|
||||
case 'getThemeCode':
|
||||
$this->getThemeCode();
|
||||
break;
|
||||
case 'submitThemeCode':
|
||||
$this->submitThemeCode();
|
||||
break;
|
||||
case 'getCurrentTheme':
|
||||
$this->getCurrentTheme();
|
||||
break;
|
||||
case 'createNewTheme':
|
||||
$this->handleCreateNewTheme();
|
||||
break;
|
||||
case 'restoreDefault':
|
||||
$this->restoreDefault();
|
||||
break;
|
||||
case 'backupFiles':
|
||||
$this->backupFiles();
|
||||
break;
|
||||
case 'replaceImage':
|
||||
$this->replaceImage();
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Get the CURRENT_<MODULE_ICON> file, which is 1 line with the current color of the icon
|
||||
public function currentFile($name)
|
||||
{
|
||||
$upper = strtoupper($name);
|
||||
return "/pineapple/modules/Themes/img/CURRENT_{$upper}";
|
||||
}
|
||||
// Move an image from light->dark or vice versa
|
||||
public function replaceImage()
|
||||
{
|
||||
$img = $this->request->img;
|
||||
switch ($img)
|
||||
{
|
||||
// Pineapple Logo
|
||||
case 'Logo':
|
||||
$this->response = array("message" => "Logo Changed");
|
||||
if ($this->request->light) {
|
||||
exec("cp $this->BACKUP_LOGO /pineapple/img/logo.png");
|
||||
exec("echo light > $this->CURRENT_LOGO");
|
||||
}
|
||||
else
|
||||
{
|
||||
exec("echo dark > $this->CURRENT_LOGO");
|
||||
exec('cp /pineapple/modules/Themes/img/logo-dark.png /pineapple/img/logo.png');
|
||||
}
|
||||
$this->response = array("message" => "Logo Changed");
|
||||
break;
|
||||
|
||||
// Pineapple favicon.ico Image
|
||||
case 'Icon':
|
||||
if ($this->request->light) {
|
||||
exec("echo light > $this->CURRENT_FAVICON");
|
||||
exec("cp $this->BACKUP_FAVICON /pineapple/img/favicon.ico");
|
||||
}
|
||||
else
|
||||
{
|
||||
exec("echo dark > $this->CURRENT_FAVICON");
|
||||
exec('cp /pineapple/modules/Themes/img/favicon-dark.ico /pineapple/img/favicon.ico');
|
||||
}
|
||||
$this->response = array("message" => "Icon Changed");
|
||||
break;
|
||||
|
||||
// Pineapple Throbber gif
|
||||
case 'Throbber':
|
||||
if ($this->request->light) {
|
||||
exec("echo light > $this->CURRENT_THROBBER");
|
||||
exec("cp $this->BACKUP_THROBBER /pineapple/img/throbber.gif");
|
||||
}
|
||||
else
|
||||
{
|
||||
exec("echo dark > $this->CURRENT_THROBBER");
|
||||
exec('cp /pineapple/modules/Themes/img/throbber-dark.gif /pineapple/img/throbber.gif');
|
||||
}
|
||||
$this->response = array("message" => "Throbber Changed");
|
||||
break;
|
||||
|
||||
// Modify all of the module Icons
|
||||
case 'All':
|
||||
foreach ($this->ALL_MODULES as $module)
|
||||
{
|
||||
$current = $this->currentFile($module);
|
||||
$success = $this->replaceModuleImage(
|
||||
$module,
|
||||
$this->request->color,
|
||||
$this->request->brightness
|
||||
);
|
||||
}
|
||||
$this->response = array(
|
||||
"success" => true,
|
||||
"message" => "All module icons changed to {$this->request->color}-{$this->request->brightness}"
|
||||
);
|
||||
break;
|
||||
// Assume module Icon
|
||||
default:
|
||||
$success = $this->replaceModuleImage(
|
||||
$this->request->img,
|
||||
$this->request->color,
|
||||
$this->request->brightness
|
||||
);
|
||||
$this->response = array(
|
||||
"success" => $success,
|
||||
"message" => "{$this->request->img} icon changed to {$this->request->color}-{$this->request->brightness}"
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* replaceModuleImage
|
||||
* $moduleName -> String name of module, can be any format (nEtWoRkIng) because it gets formatted
|
||||
* $color -> string name of the color, used for index of mapping
|
||||
* $brightness -> string name of brightness, used for map selection
|
||||
*/
|
||||
public function replaceModuleImage($moduleName, $color, $brightness)
|
||||
{
|
||||
$current = $this->currentFile($moduleName);
|
||||
$replace = "/pineapple/modules/{$moduleName}/module_icon.svg";
|
||||
switch($color)
|
||||
{
|
||||
case 'light':
|
||||
return $this->restoreModuleIcon (
|
||||
$moduleName
|
||||
);
|
||||
break;
|
||||
case 'dark':
|
||||
if (exec("echo dark > $current") != 0 ||
|
||||
exec("echo $brightness >> $current") != 0 ||
|
||||
!$this->searchAndReplaceFile($replace, "FFFFFF"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$hex = "";
|
||||
switch($brightness)
|
||||
{
|
||||
case 'light':
|
||||
$hex = $this->LIGHT_COLOR_HEX_MAP[$color];
|
||||
break;
|
||||
case 'dark':
|
||||
$hex = $this->DARK_COLOR_HEX_MAP[$color];
|
||||
break;
|
||||
default:
|
||||
$hex = $this->NORMAL_COLOR_HEX_MAP[$color];
|
||||
break;
|
||||
}
|
||||
// Replace the modules icon image
|
||||
if (exec("echo $color > $current") != 0 ||
|
||||
exec("echo $brightness >> $current") != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!$this->searchAndReplaceFile($replace, $hex)) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
* searchAndReplaceFile
|
||||
* $s -> substring to find
|
||||
* return: true or false showing succcessful string replacement
|
||||
*/
|
||||
public function searchAndReplaceFile($f, $s)
|
||||
{
|
||||
// Use a stream editor so we dont have to load the entire file into RAM
|
||||
return (exec("sed -i 's/fill:\(.*\);/fill:#{$s};/g' $f") == 0);
|
||||
}
|
||||
/*
|
||||
* setCurrentTheme
|
||||
* $theme -> modify CURRENT_CSS file with new theme
|
||||
*/
|
||||
public function setCurrentTheme($theme)
|
||||
{
|
||||
$this->current_theme = $theme;
|
||||
exec('echo '.$theme.' > /pineapple/modules/Themes/css/CURRENT_CSS');
|
||||
}
|
||||
/*
|
||||
* getCurrentTheme
|
||||
* return current theme, and all parameters for icon colors/brightness
|
||||
*/
|
||||
public function getCurrentTheme()
|
||||
{
|
||||
$line = file('/pineapple/modules/Themes/css/CURRENT_CSS')[0];
|
||||
$line = trim(preg_replace('/\s+/', ' ', $line));
|
||||
|
||||
$logo = file('/pineapple/modules/Themes/img/CURRENT_LOGO')[0];
|
||||
$logo = trim(preg_replace('/\s+/', ' ', $logo));
|
||||
|
||||
$icon = file('/pineapple/modules/Themes/img/CURRENT_FAVICON')[0];
|
||||
$icon = trim(preg_replace('/\s+/', ' ', $icon));
|
||||
|
||||
$throbber = file('/pineapple/modules/Themes/img/CURRENT_THROBBER')[0];
|
||||
$throbber = trim(preg_replace('/\s+/', ' ', $throbber));
|
||||
$this->response = array(
|
||||
"current" => $line,
|
||||
"logo" => $logo,
|
||||
"icon" => $icon,
|
||||
"throbber" => $throbber,
|
||||
);
|
||||
foreach ($this->ALL_MODULES as $module)
|
||||
{
|
||||
$current = $this->currentFile($module);
|
||||
$lower = strtolower($module);
|
||||
$color = file($current)[0];
|
||||
$color = trim(preg_replace('/\s+/', ' ', $color));
|
||||
$brightness = file($current)[1];
|
||||
$brightness = trim(preg_replace('/\s+/', ' ', $brightness));
|
||||
$this->response[$lower] = $color;
|
||||
$this->response[$lower.'brightness'] = $brightness;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* isCurrentThemeEnv
|
||||
* $theme string name of theme to check if its current
|
||||
* check if global current_them var is set, compare against that
|
||||
* this way we dont open,read,close a file every for every check
|
||||
*/
|
||||
public function isCurrentThemeEnv($theme)
|
||||
{
|
||||
if ($this->current_theme != "") {
|
||||
return ($this->current_theme == $theme);
|
||||
}
|
||||
if (!file_exists($this->CURRENT_CSS)) {
|
||||
return false;
|
||||
}
|
||||
$line = file($this->CURRENT_CSS)[0];
|
||||
$line = trim(preg_replace('/\s+/', ' ', $line));
|
||||
return ($line === $theme);
|
||||
}
|
||||
/*
|
||||
* restoreImages
|
||||
* Undo any changes made by this Module
|
||||
* This includes: original icons, gifs, svg's
|
||||
*/
|
||||
public function restoreImages()
|
||||
{
|
||||
$success = true;
|
||||
exec("cp {$this->BACKUP_FAVICON} /pineapple/img/favicon.ico");
|
||||
exec("cp {$this->BACKUP_LOGO} /pineapple/img/logo.png");
|
||||
exec("cp {$this->BACKUP_THROBBER} /pineapple/img/throbber.gif");
|
||||
exec('echo light > /pineapple/modules/Themes/img/CURRENT_LOGO');
|
||||
exec('echo light > /pineapple/modules/Themes/img/CURRENT_FAVICON');
|
||||
exec('echo light > /pineapple/modules/Themes/img/CURRENT_THROBBER');
|
||||
|
||||
foreach ($this->ALL_MODULES as $module)
|
||||
{
|
||||
$current = $this->currentFile($module);
|
||||
$success = $this->restoreModuleIcon (
|
||||
$module
|
||||
);
|
||||
}
|
||||
$this->response = array(
|
||||
"success" => $success,
|
||||
"message" => "Restored all files"
|
||||
);
|
||||
}
|
||||
/*
|
||||
* restoreModuleIcon
|
||||
* Generic helper function to put a modules icon back to normal
|
||||
* using only the name of the module (in any format).
|
||||
*/
|
||||
public function restoreModuleIcon($moduleName)
|
||||
{
|
||||
$current = $this->currentFile($moduleName);
|
||||
$replace = "/pineapple/modules/{$moduleName}/module_icon.svg";
|
||||
if (!$this->searchAndReplaceFile($replace, $this->RESTORE_HEX))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (exec("echo light > $current") != 0 ||
|
||||
exec("echo normal >> $current") != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/*
|
||||
* restoreDefault
|
||||
* backup all files if not done yet
|
||||
* put the original css file back
|
||||
* restore all of the images
|
||||
*/
|
||||
public function restoreDefault()
|
||||
{
|
||||
$this->backupFiles();
|
||||
exec("cp {$this->BACKUP_MAIN_CSS} /pineapple/css/main.css");
|
||||
$this->setCurrentTheme('main.css');
|
||||
$this->restoreImages();
|
||||
}
|
||||
/*
|
||||
* getThemeCode
|
||||
* retrieve the css styling code from a theme file
|
||||
*/
|
||||
public function getThemeCode()
|
||||
{
|
||||
$code = file_get_contents($this->CSS_DIR . $this->request->name);
|
||||
$this->response = array("code" => $code, "file" => $this->CSS_DIR . $this->request->name);
|
||||
}
|
||||
/*
|
||||
* getThemeFields
|
||||
* more or less only returns the code for now
|
||||
*/
|
||||
public function getThemeFields()
|
||||
{
|
||||
$allFields = array();
|
||||
$code = file_get_contents($this->CSS_DIR . $this->request->name);
|
||||
$this->response = array("code" => $code);
|
||||
}
|
||||
/*
|
||||
* activateTheme
|
||||
* mv the users selected theme to main.css file
|
||||
*/
|
||||
public function activateTheme()
|
||||
{
|
||||
$themeName = $this->request->name;
|
||||
$cmd = exec("cp {$this->CSS_DIR}{$themeName} /pineapple/css/main.css");
|
||||
if ($cmd == 0) {
|
||||
$this->setCurrentTheme($themeName);
|
||||
$message = $themeName . " is now active.";
|
||||
$this->response = array("return" => true, "message" => $message);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = "Could not move theme" . $themeName . "(Something is wrong..)";
|
||||
$this->response = array("return" => false,"message" => $message);
|
||||
}
|
||||
}
|
||||
/* Credits to SteveRusin at http://php.net/manual/en/ref.strings.php */
|
||||
private function endsWith($str, $sub)
|
||||
{
|
||||
return (substr($str, strlen($str) - strlen($sub)) === $sub);
|
||||
}
|
||||
/*
|
||||
* handleDeleteTheme
|
||||
* delete a users theme file from the local css directory
|
||||
*/
|
||||
public function handleDeleteTheme()
|
||||
{
|
||||
$themeName = $this->request->name;
|
||||
exec("rm {$this->CSS_DIR}{$themeName}");
|
||||
if (!file_exists("/pineapple/modules/Themes/css/" . $themeName)) {
|
||||
$message = "Deleted " . $themeName;
|
||||
} else {
|
||||
$message = "Error deleting " . $themeName;
|
||||
}
|
||||
$this->response = array("message" => $message);
|
||||
}
|
||||
/*
|
||||
* submitThemeCode
|
||||
* save a users theme file in the local css directory
|
||||
*/
|
||||
public function submitThemeCode()
|
||||
{
|
||||
$code = $this->request->themeCode;
|
||||
$themeName = $this->request->name;
|
||||
$fileName = $this->request->fileName;
|
||||
file_put_contents($this->CSS_DIR . $themeName, $code);
|
||||
$message = (!file_exists($this->CSS_DIR . $themeName)) ? "Created " . $themeName : "Updated " . $themeName;
|
||||
|
||||
$this->response = array(
|
||||
"message" => $message,
|
||||
"filename" => $fileName
|
||||
);
|
||||
}
|
||||
/*
|
||||
* handleGetThemeList
|
||||
* get the list of .css files in the local css directory
|
||||
* avoid sending back the main.css file so it cannot be modified
|
||||
*/
|
||||
public function handleGetThemeList()
|
||||
{
|
||||
$all_themes = array();
|
||||
$root_themes = preg_grep('/^([^.])/', scandir("{$this->CSS_DIR}"));
|
||||
foreach ($root_themes as $theme) {
|
||||
if (!is_file($theme) && $this->endsWith($theme, '.css') && $theme != "main.css") {
|
||||
$active = $this->isCurrentThemeEnv($theme);
|
||||
$obj = array("title" => $theme, "location" => "../Themes/css/", "active" => $active);
|
||||
array_push($all_themes, $obj);
|
||||
}
|
||||
}
|
||||
$this->response = $all_themes;
|
||||
}
|
||||
/*
|
||||
* handleCreateNewTheme
|
||||
* create a new .css theme file in the local css directory
|
||||
*/
|
||||
public function handleCreateNewTheme()
|
||||
{
|
||||
$themePath = $this->CSS_DIR;
|
||||
$themeName = str_replace(' ', '_', $this->request->themeName);
|
||||
if (!$this->endswith($themeName, '.css')) {
|
||||
$themeName = $themeName . ".css";
|
||||
}
|
||||
if (file_exists($themePath . $themeName)) {
|
||||
$this->response = array("create_success" => false, "create_message" => "A theme named {$themeName} already exists.");
|
||||
return;
|
||||
}
|
||||
exec("cp {$this->SKELETON_CSS} {$themePath}{$themeName}");
|
||||
$this->response = array("create_success" => true, "create_message" => "Created {$themeName}");
|
||||
}
|
||||
/*
|
||||
* backupFiles
|
||||
* Backup all of the .css/IMG files used so the module can properly restore defaults
|
||||
*/
|
||||
public function backupFiles()
|
||||
{
|
||||
$success = true;
|
||||
$modules = array();
|
||||
if (!file_exists($this->BACKUP_MAIN_CSS)) {
|
||||
exec("cp /pineapple/css/main.css {$this->BACKUP_MAIN_CSS}");
|
||||
array_push($modules, "Backed up main.css.");
|
||||
}
|
||||
if (!file_exists($this->SKELETON_CSS)) {
|
||||
mkdir($this->CSS_DIR);
|
||||
exec("cp {$this->BACKUP_MAIN_CSS} {$this->SKELETON_CSS}");
|
||||
array_push($modules, "Backed up skeleton.css.");
|
||||
}
|
||||
if (!file_exists($this->BACKUP_THROBBER)) {
|
||||
exec("cp /pineapple/img/throbber.gif {$this->BACKUP_THROBBER}");
|
||||
array_push($modules, "Backed up favicon.ico");
|
||||
}
|
||||
if (!file_exists($this->CURRENT_THROBBER)) {
|
||||
exec("echo light > $this->CURRENT_THROBBER");
|
||||
array_push($modules, "Wrote to {$this->CURRENT_THROBBER}");
|
||||
}
|
||||
if (!file_exists($this->BACKUP_FAVICON)) {
|
||||
exec("cp /pineapple/img/favicon.ico {$this->BACKUP_FAVICON}");
|
||||
array_push($modules, "Backed up favicon.ico");
|
||||
}
|
||||
if (!file_exists($this->CURRENT_FAVICON)) {
|
||||
exec("echo light > $this->CURRENT_FAVICON");
|
||||
array_push($modules, "Wrote to /pineapple/modules/Themes/img/CURRENT_FAVICON");
|
||||
}
|
||||
if (!file_exists($this->BACKUP_LOGO)) {
|
||||
exec("cp /pineapple/img/logo.png $this->BACKUP_LOGO");
|
||||
array_push($modules, "Wrote to {$this->BACKUP_LOGO}");
|
||||
}
|
||||
if (!file_exists($this->CURRENT_LOGO)) {
|
||||
exec("echo light > $this->CURRENT_LOGO");
|
||||
array_push($modules, "Wrote to {$this->CURRENT_LOGO}");
|
||||
}
|
||||
foreach ($this->ALL_MODULES as $module)
|
||||
{
|
||||
$current = $this->currentFile($module);
|
||||
if (!$this->backupModuleIcon($current))
|
||||
{
|
||||
array_push($modules, "Did not write to {$current}.");
|
||||
}
|
||||
else
|
||||
{
|
||||
array_push($modules, "Wrote to {$current}.");
|
||||
}
|
||||
}
|
||||
$this->response = array(
|
||||
"success" => $success,
|
||||
"message" => $success ?
|
||||
"Created a backup file for all files" :
|
||||
"Failed to backup files! Tread lightly",
|
||||
"modules" => $modules
|
||||
);
|
||||
}
|
||||
public function backupModuleIcon($currentFile) {
|
||||
if (!file_exists($currentFile)) {
|
||||
if (exec("echo light > $currentFile") != 0 ||
|
||||
exec("echo normal >> $currentFile") != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,499 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:lime;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: lime;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: lime;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
white-space:nowrap;
|
||||
background-color: black;
|
||||
border: lime;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
background-color: black;
|
||||
background-image: none;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid lime;
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
* {
|
||||
color: lime;
|
||||
border-color: lime;
|
||||
border-top: lime;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #000000;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: limegreen;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #18ff00;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: lime;
|
||||
background-color: black;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
p {
|
||||
color: lime;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:forestgreen;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:lime;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:lime;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:lime;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: lime;
|
||||
background-color: lime;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #000000;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #000000;
|
||||
border-top: 1px solid #0F0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: lime;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: lime;
|
||||
background-color: black;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:black;
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: lime;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: lime;
|
||||
background-color: black;
|
||||
border-color: lime;
|
||||
border-bottom-color: lime;
|
||||
border-bottom: lime;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: lime;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: lime;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: black;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid lime;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: darkgray;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: black;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: lime;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px lime;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,250 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #fff !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #ccc !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "WiFi Pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #2196F3;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #2196F3;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,526 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:#ff0066;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #ff0066;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #ff0066;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
border: 1px solid #ff0066;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: #ff0066;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid #ff0066;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: #ff0066;
|
||||
white-space:nowrap;
|
||||
background-color: black;
|
||||
border: #ff0066;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #ff0066;
|
||||
background-color: black;
|
||||
background-image: none;
|
||||
border: 1px solid #ff0066;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #ff0066;
|
||||
border-top: 1px solid #ff0066;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
* {
|
||||
color: #ff0066;
|
||||
border-color: #ff0066;
|
||||
border-top: #ff0066;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid black;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: #ff0066;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: black;
|
||||
border: 1px solid #ff0066;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #ff66a3;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #ff0000;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #ff66a3;
|
||||
color:#ff0066;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #ff0066;
|
||||
background-color: black;
|
||||
border-color: #ff0066;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #ff0066;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:#ff66a3;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:#ff0066;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:#ff0066;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:#ff0066;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:#ff0066;
|
||||
border-color: #ff0066;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #ff0066;
|
||||
background-color: #ff0066;
|
||||
border-color: #ff0066;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #ff0066;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: black;
|
||||
border-top: 1px solid #ff66a3;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #ff0066;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:#ff0066;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #ff0066;
|
||||
background-color: black;
|
||||
border-color: #ff0066;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:black;
|
||||
color: #ff0066;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: #ff0066;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: #ff0066;
|
||||
background-color: black;
|
||||
border-color: #ff0066;
|
||||
border-bottom-color: #ff0066;
|
||||
border-bottom: #ff0066;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: #ff0066;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: #ff0066;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: black;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #ff0066;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #ff0066;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: black;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #ff0066;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #ff0066;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,522 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:#0066ff;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #0066ff;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #0066ff;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
border: 1px solid #0066ff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: #0066ff;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid #0066ff;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: #0066ff;
|
||||
white-space:nowrap;
|
||||
background-color: black;
|
||||
border: #0066ff;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #0066ff;
|
||||
background-color: black;
|
||||
background-image: none;
|
||||
border: 1px solid #0066ff;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #0066ff;
|
||||
border-top: 1px solid #0066ff;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
* {
|
||||
color: #0066ff;
|
||||
border-color: #0066ff;
|
||||
border-top: #0066ff;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid black;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: #0066ff;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: black;
|
||||
border: 1px solid #0066ff;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #00004d;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #ff0000;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #00004d;
|
||||
color:#0066ff;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #0066ff;
|
||||
background-color: black;
|
||||
border-color: #0066ff;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #0066ff;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:blue;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:#0066ff;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:#0066ff;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:#0066ff;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:#0066ff;
|
||||
border-color: #0066ff;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #0066ff;
|
||||
background-color: #0066ff;
|
||||
border-color: #0066ff;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: black;
|
||||
border-top: 1px solid #00004d;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #0066ff;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:#0066ff;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #0066ff;
|
||||
background-color: black;
|
||||
border-color: #0066ff;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:black;
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: #0066ff;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: #0066ff;
|
||||
background-color: black;
|
||||
border-color: #0066ff;
|
||||
border-bottom-color: #0066ff;
|
||||
border-bottom: #0066ff;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: #0066ff;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: #0066ff;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: black;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: middle;
|
||||
border-bottom: 2px solid #0066ff;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: middle;
|
||||
border-top: 1px solid #0066ff;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: black;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #0066ff;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #0066ff;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,499 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:blue;
|
||||
font-family:webkit-pictograph;
|
||||
}
|
||||
|
||||
i {
|
||||
color: blue;
|
||||
font: webkit-pictograph;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: webkit-pictograph;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: red;
|
||||
text-align: center;
|
||||
background-color: white;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: blue;
|
||||
white-space:nowrap;
|
||||
background-color: white;
|
||||
border: red;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: red;
|
||||
background-color: white;
|
||||
background-image: none;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid red;
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
* {
|
||||
color: red;
|
||||
border-color: red;
|
||||
border-top: red;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid white;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: red;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: white;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: red;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid red;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: white;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: red;
|
||||
background-color: white;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
p {
|
||||
color: red;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:blue;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:blue;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:blue;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:blue;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:red;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: red;
|
||||
background-color: red;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid white;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: white;
|
||||
opacity: 1;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: white;
|
||||
border-top: 1px solid red;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: white;
|
||||
opacity: 1;
|
||||
color: red;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: white !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid white !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:red;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: red;
|
||||
background-color: white;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:white;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: red;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:white;
|
||||
font-family: webkit-pictograph;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:white;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: blue;
|
||||
background-color: white;
|
||||
border-color: red;
|
||||
border-bottom-color: red;
|
||||
border-bottom: red;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:white;
|
||||
}
|
||||
.nav {
|
||||
background-color:white;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:white;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:white;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:white;
|
||||
border-color: red;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: webkit-pictograph;
|
||||
background-color: red;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: white;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid red;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: red;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px red;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,525 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:#991f00 ;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #991f00 ;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #991f00 ;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
border: 1px solid #991f00 ;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid #991f00 ;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: #991f00 ;
|
||||
white-space:nowrap;
|
||||
background-color: black;
|
||||
border: #991f00 ;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #991f00 ;
|
||||
background-color: black;
|
||||
background-image: none;
|
||||
border: 1px solid #991f00 ;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #991f00 ;
|
||||
border-top: 1px solid #991f00 ;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
* {
|
||||
color: #991f00 ;
|
||||
border-color: #991f00 ;
|
||||
border-top: #991f00 ;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid black;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: #991f00 ;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: black;
|
||||
border: 1px solid #991f00 ;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #e62e00;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: black;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e62e00;
|
||||
color:#991f00 ;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #991f00 ;
|
||||
background-color: black;
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #991f00 ;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:#e62e00;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:#991f00 ;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:#991f00 ;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:#991f00 ;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:#991f00 ;
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #991f00 ;
|
||||
background-color: #991f00 ;
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #991f00 ;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: black;
|
||||
border-top: 1px solid #e62e00;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: black;
|
||||
opacity: 1;
|
||||
color: #991f00 ;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: black !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid black !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:#991f00 ;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #991f00 ;
|
||||
background-color: black;
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:black;
|
||||
color: #991f00 ;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: #991f00 ;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: #991f00 ;
|
||||
background-color: black;
|
||||
border-color: #991f00 ;
|
||||
border-bottom-color: #991f00 ;
|
||||
border-bottom: #991f00 ;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: #991f00 ;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: #991f00 ;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: black;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #991f00 ;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #991f00 ;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: black;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #991f00;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #991f00;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,525 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: black;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: black;
|
||||
text-align: center;
|
||||
background-color: #991f00;
|
||||
border: 1px solid black;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: black;
|
||||
white-space:nowrap;
|
||||
background-color: #991f00;
|
||||
border: black;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: black;
|
||||
background-color: #991f00;
|
||||
background-image: none;
|
||||
border: 1px solid black;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid black;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
* {
|
||||
color: black;
|
||||
border-color: black;
|
||||
border-top: black;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #991f00;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: black;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #991f00;
|
||||
border: 1px solid black;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #e62e00;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #991f00;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e62e00;
|
||||
color:black;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: #991f00;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: black;
|
||||
background-color: #991f00;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
p {
|
||||
color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:#e62e00;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:black;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:black;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:black;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:black;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: black;
|
||||
background-color: black;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #991f00;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #991f00;
|
||||
opacity: 1;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #991f00;
|
||||
border-top: 1px solid #e62e00;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #991f00;
|
||||
opacity: 1;
|
||||
color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #991f00;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #991f00 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #991f00 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:black;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: black;
|
||||
background-color: #991f00;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:#991f00;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: black;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:#991f00;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:#991f00;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: black;
|
||||
background-color: #991f00;
|
||||
border-color: black;
|
||||
border-bottom-color: black;
|
||||
border-bottom: black;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:#991f00;
|
||||
}
|
||||
.nav {
|
||||
background-color:#991f00;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:#991f00;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:#991f00;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:#991f00;
|
||||
border-color: black;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: black;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: #991f00;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid black;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: #991f00;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: black;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px black;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,576 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #0c0c0c;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #131313;
|
||||
}
|
||||
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #181818;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #131313;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #202020;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #fff !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #ccc !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "WiFi Pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.navbar-default {
|
||||
background-color: #0c0c0c;
|
||||
border-color: #181818;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
background-color: #0e0e0e;
|
||||
border-top: 1px solid #202020;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: #202020;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: #c6c6c6;
|
||||
background-color: #0e0e0e;
|
||||
border-color: #202020;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
color: #c6c6c6;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table,
|
||||
.panel>.panel-body+.table-responsive,
|
||||
.panel>.table+.panel-body,
|
||||
.panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid #202020;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #c6c6c6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:focus, a:hover {
|
||||
color: #c6c6c6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: #131313;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #454545;
|
||||
}
|
||||
|
||||
.btn-default.active, .btn-default:active {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #c6c6c6;
|
||||
background-color: #131313;
|
||||
border-color: #767676;
|
||||
}
|
||||
|
||||
.btn-default.focus, .btn-default:focus {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open>.dropdown-toggle.btn-default.focus, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default:hover {
|
||||
color: #212121;
|
||||
background-color: #010101;
|
||||
border-color: #171717;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav>li>a {
|
||||
color: #404041;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover {
|
||||
color: #404041;
|
||||
background-color: #0c0c0c;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #a2a2a2;
|
||||
text-align: center;
|
||||
background-color: #131313;
|
||||
border: 1px solid #2e2e2e;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
background-color: #000;
|
||||
border: 1px solid #202020;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
color: #c6c6c6;
|
||||
border: 1px solid #202020;
|
||||
border-bottom: none;
|
||||
background-color: #000;
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
background-color: #111111;
|
||||
border: 1px solid #333333;
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #454545;
|
||||
}
|
||||
|
||||
.btn-success.active, .btn-success:active {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-success.focus, .btn-success:focus {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-success:hover {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .btn-success:active:focus, .btn-success:active:hover, .open>.dropdown-toggle.btn-success.focus, .open>.dropdown-toggle.btn-success:focus, .open>.dropdown-toggle.success:hover {
|
||||
color: #212121;
|
||||
background-color: #010101;
|
||||
border-color: #171717;
|
||||
}
|
||||
|
||||
.btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover {
|
||||
|
||||
background-color: #111;
|
||||
border-color: #333;
|
||||
color: #333;
|
||||
|
||||
}
|
||||
|
||||
.panel-group .panel-heading+.panel-collapse>.list-group, .panel-group .panel-heading+.panel-collapse>.panel-body {
|
||||
border-top: 1px solid #212121;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #111111;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
pre {
|
||||
color: #c6c6c6;
|
||||
background-color: #111111;
|
||||
border: 1px solid #333333;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #a94442;
|
||||
background-color: #000;
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
color: #a94442;
|
||||
background-color: #000;
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.table {
|
||||
color: #c6c6c6;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.table > thead > tr > th {
|
||||
border-bottom: 2px solid #333;
|
||||
}
|
||||
|
||||
.table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > thead > tr > td.active, .table > thead > tr > th.active {
|
||||
color: #c6c6c6;
|
||||
background-color: #000;
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
background-color: #202020;
|
||||
|
||||
}
|
||||
|
||||
.progress {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #a94442;
|
||||
background-color: #000;
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.table-striped > tbody > tr:nth-of-type(2n+1) {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
tr:hover td {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.text-info {
|
||||
color: #a94442;
|
||||
}
|
||||
|
||||
.open > .dropdown-menu {
|
||||
background-color: #0c0c0c;
|
||||
border-color: #181818;
|
||||
color: #c6c6c6;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
|
||||
color: #777;
|
||||
background-color: #131313;
|
||||
}
|
||||
|
||||
.btn-info {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #454545;
|
||||
}
|
||||
|
||||
.btn-info:hover {
|
||||
color: #c6c6c6;
|
||||
background-color: #131313;
|
||||
border-color: #767676;
|
||||
}
|
||||
|
||||
.btn-info.active, .btn-info:active {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-info.focus, .btn-info:focus {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .btn-info:active:focus, .btn-info:active:hover, .open>.dropdown-toggle.btn-info.focus, .open>.dropdown-toggle.btn-info:focus, .open>.dropdown-toggle.btn-info:hover {
|
||||
color: #212121;
|
||||
background-color: #010101;
|
||||
border-color: #171717;
|
||||
}
|
||||
|
||||
.btn-danger {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #454545;
|
||||
}
|
||||
|
||||
.btn-danger:hover {
|
||||
color: #c6c6c6;
|
||||
background-color: #131313;
|
||||
border-color: #767676;
|
||||
}
|
||||
|
||||
.btn-danger.active, .btn-danger:active {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-danger.focus, .btn-danger:focus {
|
||||
color: #c6c6c6;
|
||||
background-color: #010101;
|
||||
border-color: #212121;
|
||||
}
|
||||
|
||||
.btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .btn-danger:active:focus, .btn-danger:active:hover, .open>.dropdown-toggle.btn-danger.focus, .open>.dropdown-toggle.btn-danger:focus, .open>.dropdown-toggle.btn-danger:hover {
|
||||
color: #212121;
|
||||
background-color: #010101;
|
||||
border-color: #171717;
|
||||
}
|
||||
.btn-switch {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 50px;
|
||||
height: 25px;
|
||||
cursor: pointer;
|
||||
background-color: darkgray;
|
||||
border: 2px solid darkgray;
|
||||
border-radius: 40px;
|
||||
|
||||
}
|
||||
.btn-switch--on {
|
||||
background-color: #ccffff;
|
||||
border: 2px solid #ccffff;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: gray;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: black;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: whitesmoke;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px whitesmoke;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,250 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #fff !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #ccc !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "WiFi Pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #2196F3;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #2196F3;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,525 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:red;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: red;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: red;
|
||||
text-align: center;
|
||||
background-color: black;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: red;
|
||||
white-space:nowrap;
|
||||
background-color: black;
|
||||
border: red;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: red;
|
||||
background-color: black;
|
||||
background-image: none;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid red;
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
* {
|
||||
color: red;
|
||||
border-color: red;
|
||||
border-top: red;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: red;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #000000;
|
||||
border: 1px solid red;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: darkred;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #ff0000;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid darkred;
|
||||
color:red;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: black;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: red;
|
||||
background-color: black;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
p {
|
||||
color: red;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:darkred;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:red;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:red;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:red;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:red;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: red;
|
||||
background-color: red;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #000000;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #000000;
|
||||
border-top: 1px solid darkred;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: red;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:red;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: red;
|
||||
background-color: black;
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:black;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: red;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: red;
|
||||
background-color: black;
|
||||
border-color: red;
|
||||
border-bottom-color: red;
|
||||
border-bottom: red;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: red;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: red;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: black;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid red;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid red;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: black;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: darkgray;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: black;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: red;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px red;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,511 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:cornflowerblue;
|
||||
font-family:cursive;
|
||||
}
|
||||
|
||||
i {
|
||||
color: cornflowerblue;
|
||||
font: cursive;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: cursive;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: cursive;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: cornflowerblue;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: rosybrown;
|
||||
text-align: center;
|
||||
background-color: wheat;
|
||||
border: 1px solid rosybrown;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: rosybrown;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid rosybrown;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: cornflowerblue;
|
||||
white-space:nowrap;
|
||||
background-color: wheat;
|
||||
border: rosybrown;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: rosybrown;
|
||||
background-color: wheat;
|
||||
background-image: none;
|
||||
border: 1px solid rosybrown;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid rosybrown;
|
||||
border-top: 1px solid rosybrown;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
* {
|
||||
color: rosybrown;
|
||||
border-color: rosybrown;
|
||||
border-top: rosybrown;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid wheat;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: rosybrown;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: wheat;
|
||||
border: 1px solid rosybrown;
|
||||
border-radius: 4px;
|
||||
font-family: cursive;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: rosybrown;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid rosybrown;
|
||||
color:cornflowerblue;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: wheat;
|
||||
font-family: cursive;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: rosybrown;
|
||||
background-color: wheat;
|
||||
border-color: rosybrown;
|
||||
}
|
||||
|
||||
p {
|
||||
color: rosybrown;
|
||||
font-family: cursive;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:darkmagenta;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:cornflowerblue;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:cornflowerblue;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:cornflowerblue;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:rosybrown;
|
||||
border-color: rosybrown;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: rosybrown;
|
||||
background-color: rosybrown;
|
||||
border-color: rosybrown;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid wheat;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: wheat;
|
||||
opacity: 1;
|
||||
color: rosybrown;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: wheat;
|
||||
border-top: 1px solid rosybrown;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: wheat;
|
||||
opacity: 1;
|
||||
color: rosybrown;
|
||||
font-family: cursive;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: wheat;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: wheat !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid wheat !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:rosybrown;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: rosybrown;
|
||||
background-color: wheat;
|
||||
border-color: rosybrown;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:wheat;
|
||||
color: rosybrown;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: rosybrown;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:wheat;
|
||||
font-family: cursive;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:wheat;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: cornflowerblue;
|
||||
background-color: wheat;
|
||||
border-color: rosybrown;
|
||||
border-bottom-color: rosybrown;
|
||||
border-bottom: rosybrown;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:wheat;
|
||||
}
|
||||
.nav {
|
||||
background-color:wheat;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:wheat;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:wheat;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:wheat;
|
||||
border-color: rosybrown;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: cursive;
|
||||
background-color: rosybrown;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: wheat;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid rosybrown;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid rosybrown;
|
||||
}
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: wheat;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: rosybrown;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px rosybrown;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,504 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:magenta;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
i {
|
||||
color: lime;
|
||||
font: monospace;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: monospace;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: lime;
|
||||
text-align: center;
|
||||
background-color: purple;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
white-space:nowrap;
|
||||
background-color: purple;
|
||||
border: lime;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
background-color: purple;
|
||||
background-image: none;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid lime;
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: purple;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: purple;
|
||||
}
|
||||
|
||||
* {
|
||||
color: lime;
|
||||
border-color: lime;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: lime;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #000000;
|
||||
border: 1px solid lime;
|
||||
border-radius: 4px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: limegreen;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #18ff00;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: purple;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: lime;
|
||||
background-color: purple;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
p {
|
||||
color: lime;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:violet;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:lime;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:lime;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:lime;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: magenta;
|
||||
background-color: lime;
|
||||
border-color: #adadad;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #000000;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #000000;
|
||||
border-top: 1px solid #0F0;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #000;
|
||||
opacity: 1;
|
||||
color: lime;
|
||||
font-family: monospace;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "Neon Pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:lime;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: lime;
|
||||
background-color: purple;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:purple;
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:black;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:purple;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: lime;
|
||||
background-color: purple;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:black;
|
||||
}
|
||||
.nav {
|
||||
background-color:black;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:black;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:black;
|
||||
border-color: lime;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: monospace;
|
||||
background-color: lime;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: magenta;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid lime;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid lime;
|
||||
}
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: black;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: lime;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: purple;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px purple;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,526 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:#00e673;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
i {
|
||||
color: #00e673;
|
||||
font: sans-serif;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: sans-serif;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #00e673;
|
||||
text-align: center;
|
||||
background-color: #00e673;
|
||||
border: 1px solid #00e673;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: #00e673;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid #00e673;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: #00e673;
|
||||
white-space:nowrap;
|
||||
background-color: #6666ff;
|
||||
border: #00e673;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #00e673;
|
||||
background-color: #6666ff;
|
||||
background-image: none;
|
||||
border: 1px solid #00e673;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #00e673;
|
||||
border-top: 1px solid #00e673;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
* {
|
||||
color: #00e673;
|
||||
border-color: #00e673;
|
||||
border-top: #00e673;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #6666ff;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: #00e673;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #6666ff;
|
||||
border: 1px solid #00e673;
|
||||
border-radius: 4px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: lightblue;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #ff0000;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid dark#00e673;
|
||||
color:#00e673;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: #6666ff;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: #00e673;
|
||||
background-color: springgreen;
|
||||
border-color: #00e673;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #00e673;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:#00e673;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:#00e673;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:#00e673;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:#00e673;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:#00e673;
|
||||
border-color: #00e673;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: #00e673;
|
||||
background-color: #00e673;
|
||||
border-color: #00e673;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #00e673;
|
||||
color:black
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #6666ff;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #6666ff;
|
||||
opacity: 1;
|
||||
color: #00e673;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #6666ff;
|
||||
border-top: 1px solid dark#00e673;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #6666ff;
|
||||
opacity: 1;
|
||||
color: #00e673;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #6666ff;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000038 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000038 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:#00e673;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: #00e673;
|
||||
background-color: #6666ff;
|
||||
border-color: #00e673;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:#6666ff;
|
||||
color: #00e673;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: #00e673;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:#6666ff;
|
||||
font-family:sans-serif;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:#6666ff;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: #00e673;
|
||||
background-color: #6666ff;
|
||||
border-color: #00e673;
|
||||
border-bottom-color: #00e673;
|
||||
border-bottom: #00e673;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:#6666ff;
|
||||
}
|
||||
.nav {
|
||||
background-color:#6666ff;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:#6666ff;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:#6666ff;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:#6666ff;
|
||||
border-color: #00e673;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: sans-serif;
|
||||
background-color: #00e673;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: #6666ff;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid #00e673;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid #00e673;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: #6666ff;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: darkslategray;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: #6666ff;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: #00e673;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px #00e673;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
|
@ -0,0 +1,525 @@
|
|||
.truncated {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
a {
|
||||
color:gold;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
i {
|
||||
color: gold;
|
||||
font: sans-serif;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-weight: 700;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
font-family: sans-serif;
|
||||
font-weight: 500;
|
||||
line-height: 1.1;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.input-group-addon {
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: gold;
|
||||
text-align: center;
|
||||
background-color: #000038;
|
||||
border: 1px solid gold;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.panel-default {
|
||||
border-color: gold;
|
||||
}
|
||||
|
||||
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive, .panel>.table+.panel-body, .panel>.table-responsive+.panel-body {
|
||||
border-top: 1px solid gold;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a {
|
||||
display:block;
|
||||
padding: 3px 20px;
|
||||
clear: both;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
color: gold;
|
||||
white-space:nowrap;
|
||||
background-color: #000038;
|
||||
border: gold;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: gold;
|
||||
background-color: #000038;
|
||||
background-image: none;
|
||||
border: 1px solid gold;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
-webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid gold;
|
||||
border-top: 1px solid gold;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
min-height: .01%;
|
||||
overflow-x: auto;
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
* {
|
||||
color: gold;
|
||||
border-color: gold;
|
||||
border-top: gold;
|
||||
}
|
||||
.uppercase {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.table-layout-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.module-icon {
|
||||
display: inline;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
.fixed-addon-width {
|
||||
min-width: 70px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-addon-width-2 {
|
||||
min-width: 90px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
.fixed-addon-width-3 {
|
||||
min-width: 110px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fixed-width-200 {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
.caret-reversed {
|
||||
border-top-width: 0;
|
||||
border-bottom: 4px solid #000038;
|
||||
}
|
||||
|
||||
.image-small-18 {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.center-text {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.scrollable-pre {
|
||||
overflow: auto;
|
||||
word-wrap: normal;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
pre {
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 1.42857143;
|
||||
color: gold;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #000038;
|
||||
border: 1px solid gold;
|
||||
border-radius: 4px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.log-pre {
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.btn-fixed-length {
|
||||
width: 70px;
|
||||
}
|
||||
|
||||
.title-message {
|
||||
margin-left: 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
height: 9px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.padding-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.select-inline {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
.logout {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.module-nav li a {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.module-nav li:hover {
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
.nav>li>a:focus, .nav>li>a:hover {
|
||||
text-decoration: none;
|
||||
background-color: lightblue;
|
||||
}
|
||||
.sidebar .sidebar-nav.navbar-collapse {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 20px;
|
||||
margin-bottom: 20px;
|
||||
overflow: hidden;
|
||||
background-color: #ff0000;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.table>tbody>tr.active>td, .table>tbody>tr.active>th, .table>tbody>tr>td.active, .table>tbody>tr>th.active, .table>tfoot>tr.active>td, .table>tfoot>tr.active>th, .table>tfoot>tr>td.active, .table>tfoot>tr>th.active, .table>thead>tr.active>td, .table>thead>tr.active>th, .table>thead>tr>td.active, .table>thead>tr>th.active {
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
.sidebar ul li {
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid darkgold;
|
||||
color:gold;
|
||||
}
|
||||
|
||||
.btn {
|
||||
background-color: #000038;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.alert-info {
|
||||
color: gold;
|
||||
background-color: blue;
|
||||
border-color: gold;
|
||||
}
|
||||
|
||||
p {
|
||||
color: gold;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color:darkgold;
|
||||
}
|
||||
|
||||
.h3 h3 {
|
||||
color:gold;
|
||||
}
|
||||
.h2, h2 {
|
||||
font-size: 30px;
|
||||
color:gold;
|
||||
}
|
||||
.h1, h1 {
|
||||
font-size: 30px;
|
||||
color:gold;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:gold;
|
||||
border-color: gold;
|
||||
}
|
||||
|
||||
.btn-default:hover {
|
||||
color: gold;
|
||||
background-color: gold;
|
||||
border-color: gold;
|
||||
}
|
||||
|
||||
.sidebar .active {
|
||||
background-color: #13033a;
|
||||
}
|
||||
|
||||
@media(min-width:768px) {
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
width: 250px;
|
||||
margin-top: 51px;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
position: inherit;
|
||||
margin: 0 0 0 250px;
|
||||
padding: 15px 30px;
|
||||
border-left: 1px solid #000038;
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-top-links {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.navbar-top-links li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
background-color: #000038;
|
||||
opacity: 1;
|
||||
color: gold;
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
padding: 10px 15px;
|
||||
background-color: #000038;
|
||||
border-top: 1px solid darkgold;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: auto;
|
||||
background-color: #000038;
|
||||
opacity: 1;
|
||||
color: gold;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-top-links .dropdown-menu li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.module-content {
|
||||
padding: 15px 15px;
|
||||
background-color: #000038;
|
||||
}
|
||||
|
||||
.pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-menu-top {
|
||||
max-height: 300px !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
@media(max-width:768px) {
|
||||
.dropdown-menu-top {
|
||||
margin: auto !important;
|
||||
position: absolute !important;
|
||||
background-color: #000038 !important;
|
||||
word-wrap: break-word !important;
|
||||
border: 1px solid #000038 !important;
|
||||
width: 300px !important;
|
||||
max-width: 300px !important;
|
||||
}
|
||||
.dropdown-menu-top li a {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.dropdown-menu-logout {
|
||||
max-width: 50px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.login-logo {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 10px;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.brand-logo {
|
||||
content: url('/img/logo.png');
|
||||
max-height: 30px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.brand-text::after {
|
||||
content: "pineapple";
|
||||
padding-top: 3px;
|
||||
padding-left: 5px;
|
||||
float: right;
|
||||
color:gold;
|
||||
}
|
||||
|
||||
.alert-danger {
|
||||
color: gold;
|
||||
background-color: #000038;
|
||||
border-color: gold;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
background-color:#000038;
|
||||
color: gold;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading+.panel-collapse>.panel-body {
|
||||
border-top-color: gold;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
background-color:#000038;
|
||||
font-family:sans-serif;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color:#000038;
|
||||
}
|
||||
|
||||
.panel-default>.panel-heading {
|
||||
color: gold;
|
||||
background-color: #000038;
|
||||
border-color: gold;
|
||||
border-bottom-color: gold;
|
||||
border-bottom: gold;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color:#000038;
|
||||
}
|
||||
.nav {
|
||||
background-color:#000038;
|
||||
}
|
||||
.sidebar-nav.navbar-collapse {
|
||||
background-color:#000038;
|
||||
}
|
||||
.navbar-default{
|
||||
background-color:#000038;
|
||||
}
|
||||
.navbar-static-top {
|
||||
background-color:#000038;
|
||||
border-color: gold;
|
||||
}
|
||||
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.btn-group>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn-group:not(:last-child)>.btn, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
|
||||
font-family: sans-serif;
|
||||
background-color: gold;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
color: #000038;
|
||||
}
|
||||
.table>thead>tr>th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: 2px solid gold;
|
||||
}
|
||||
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
|
||||
padding: 8px;
|
||||
line-height: 1.42857143;
|
||||
vertical-align: top;
|
||||
border-top: 1px solid gold;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: relative;
|
||||
background-color: #000038;
|
||||
-webkit-background-clip: padding-box;
|
||||
background-clip: padding-box;
|
||||
border: 1px solid #999;
|
||||
border: 1px solid rgba(0,0,0,.2);
|
||||
border-radius: 6px;
|
||||
outline: 0;
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5);
|
||||
}
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
}
|
||||
.switch input {display:none;}
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: darkgray;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: #000038;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
input:checked + .slider {
|
||||
background-color: gold;
|
||||
}
|
||||
input:focus + .slider {
|
||||
box-shadow: 0 0 1px gold;
|
||||
}
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 533 B |
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
|
@ -0,0 +1,604 @@
|
|||
registerController("ThemesController", ['$api', '$scope','$window','$route', '$http', function ($api, $scope, $window, $route, $http) {
|
||||
|
||||
getThemes();
|
||||
getCurrentTheme();
|
||||
backupFiles();
|
||||
|
||||
$scope.debug = false;
|
||||
$scope.themes = [];
|
||||
$scope.themeToDelete = null;
|
||||
$scope.themeDeleteValidation = '';
|
||||
$scope.messages = [];
|
||||
$scope.newThemeName = '';
|
||||
$scope.throbber = true;
|
||||
$scope.running = false;
|
||||
$scope.current = '';
|
||||
$scope.library = true;
|
||||
$scope.editor = true;
|
||||
$scope.workshopTheme = {themeName: "", file: "", code: "", title: ""};
|
||||
$scope.editThemeFile = {themeName: "", file: "", code: ""};
|
||||
$scope.colors = ['dark', 'light', 'red', 'blue', 'green', 'purple', 'orange', 'yellow', 'pink'];
|
||||
$scope.brightness = ['light', 'normal', 'dark'];
|
||||
$scope.working = false;
|
||||
$scope.autoRefresh = true;
|
||||
// Dark and White
|
||||
$scope.throbbercontrast = true; // true == light -> false == dark
|
||||
$scope.logocontrast = true;
|
||||
$scope.faviconcontrast = true;
|
||||
$scope.reconcontrast = true;
|
||||
$scope.logocontrastText = 'light';
|
||||
$scope.faviconcontrastText = 'light';
|
||||
$scope.throbbercontrastText = 'light';
|
||||
// Color and brightness
|
||||
$scope.allcontrastText = 'light';
|
||||
$scope.allcontrastBrightness = 'normal';
|
||||
$scope.dashboardcontrastText = 'light';
|
||||
$scope.dashboardcontrastBrightness = 'normal';
|
||||
$scope.reconcontrastText = 'light';
|
||||
$scope.reconcontrastBrightness = 'normal';
|
||||
$scope.profilingcontrastText = 'light';
|
||||
$scope.profilingcontrastBrightness = 'normal';
|
||||
$scope.clientscontrastText = 'light';
|
||||
$scope.clientscontrastBrightness = 'normal';
|
||||
$scope.modulescontrastText = 'light';
|
||||
$scope.modulescontrastBrightness = 'normal';
|
||||
$scope.filterscontrastText = 'light';
|
||||
$scope.filterscontrastBrightness = 'normal';
|
||||
$scope.pineapcontrastText = 'light';
|
||||
$scope.pineapcontrastBrightness = 'normal';
|
||||
$scope.trackingcontrastText = 'light';
|
||||
$scope.trackingcontrastBrightness = 'normal';
|
||||
$scope.loggingcontrastText = 'light';
|
||||
$scope.loggingcontrastBrightness = 'normal';
|
||||
$scope.reportingcontrastText = 'light';
|
||||
$scope.reportingcontrastBrightness = 'normal';
|
||||
$scope.networkingcontrastText = 'light';
|
||||
$scope.networkingcontrastBrightness = 'normal';
|
||||
$scope.configurationcontrastText = 'light';
|
||||
$scope.configurationcontrastBrightness = 'normal';
|
||||
$scope.advancedcontrastText = 'light';
|
||||
$scope.advancedcontrastBrightness = 'normal';
|
||||
$scope.helpcontrastText = 'light';
|
||||
$scope.helpcontrastBrightness = 'normal';
|
||||
$scope.switchOn = {
|
||||
"position" : "relative",
|
||||
"display" : "block",
|
||||
"width" : "50px",
|
||||
"height" : "25px",
|
||||
"cursor" : "pointer",
|
||||
"border" : "2px solid darkgray",
|
||||
"background-color" : "darkgray",
|
||||
"border-radius" : "40px"
|
||||
}
|
||||
$scope.switchOff = {
|
||||
"position" : "relative",
|
||||
"display" : "block",
|
||||
"width" : "50px",
|
||||
"height" : "25px",
|
||||
"cursor" : "pointer",
|
||||
"border" : "2px solid darkgray",
|
||||
"background-color" : "white",
|
||||
"border-radius" : "40px"
|
||||
}
|
||||
$scope.selectOptions = {
|
||||
"position" : "relative",
|
||||
"display" : "block",
|
||||
"width" : "100px",
|
||||
"height" : "25px",
|
||||
"cursor" : "pointer",
|
||||
"border" : "2px solid darkgray",
|
||||
"background-color" : "white",
|
||||
"color" : "black",
|
||||
"border-radius" : "40px"
|
||||
}
|
||||
$scope.changeThrobber = function(){
|
||||
$scope.throbbercontrast = !$scope.throbbercontrast;
|
||||
$scope.throbbercontrastText = 'light';
|
||||
if (!$scope.throbbercontrast) {
|
||||
$scope.throbbercontrastText = 'dark';
|
||||
}
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Throbber',
|
||||
light: $scope.throbbercontrast
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Throbber", "set to " + $scope.throbbercontrastText);
|
||||
log("changeThrobber", response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeLogo = function(){
|
||||
$scope.logocontrast = !$scope.logocontrast;
|
||||
$scope.logocontrastText = 'light';
|
||||
if (!$scope.logocontrast) {
|
||||
$scope.logocontrastText = 'dark';
|
||||
}
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Logo',
|
||||
light: $scope.logocontrast
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Logo", "set to " + $scope.logocontrastText);
|
||||
log("changeLogo", response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$scope.changeFavicon = function(){
|
||||
$scope.faviconcontrast = !$scope.faviconcontrast;
|
||||
$scope.faviconcontrastText = 'light';
|
||||
if (!$scope.faviconcontrast) {
|
||||
$scope.faviconcontrastText = 'dark';
|
||||
}
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Icon',
|
||||
light: $scope.faviconcontrast
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Icon", "set to " + $scope.faviconcontrastText);
|
||||
log("changeFavicon", response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeAllIcons = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'All',
|
||||
color: $scope.allcontrastText,
|
||||
brightness: $scope.allcontrastBrightness
|
||||
}, function(response) {
|
||||
for (msg in response) {
|
||||
$scope.sendMessage("All Icons", "set to " + $scope.allcontrastText + "(" + $scope.allcontrastBrightness + ")");
|
||||
log("changeAllIcons", "Success? " + response.success + " " + response.message);
|
||||
}
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeDashboard = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Dashboard',
|
||||
color: $scope.dashboardcontrastText,
|
||||
brightness: $scope.dashboardcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Dashboard Icon", "set to " + $scope.dashboardcontrastText + " (" + $scope.dashboardcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeRecon = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Recon',
|
||||
color: $scope.reconcontrastText,
|
||||
brightness: $scope.reconcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Recon Icon", "set to " + $scope.reconcontrastText + " (" + $scope.reconcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeProfiling = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Profiling',
|
||||
color: $scope.profilingcontrastText,
|
||||
brightness: $scope.profilingcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Profiling Icon", "set to " + $scope.profilingcontrastText + " (" + $scope.profilingcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeClients = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Clients',
|
||||
color: $scope.clientscontrastText,
|
||||
brightness: $scope.clientscontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Clients Icon", "set to " + $scope.clientscontrastText + " (" + $scope.clientscontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeModules = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'ModuleManager',
|
||||
color: $scope.modulescontrastText,
|
||||
brightness: $scope.modulescontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("ModuleManager Icon", "set to " + $scope.modulescontrastText + " (" + $scope.modulescontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeFilters = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Filters',
|
||||
color: $scope.filterscontrastText,
|
||||
brightness: $scope.filterscontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Filters Icon", "set to " + $scope.filterscontrastText + " (" + $scope.filterscontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changePineap = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'PineAP',
|
||||
color: $scope.pineapcontrastText,
|
||||
brightness: $scope.pineapcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Filters Icon", "set to " + $scope.pineapcontrastText + " (" + $scope.pineapcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeTracking = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Tracking',
|
||||
color: $scope.trackingcontrastText,
|
||||
brightness: $scope.trackingcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Tracking Icon", "set to " + $scope.trackingcontrastText + " (" + $scope.trackingcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeLogging = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Logging',
|
||||
color: $scope.loggingcontrastText,
|
||||
brightness: $scope.loggingcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Logging Icon", "set to " + $scope.loggingcontrastText + " (" + $scope.loggingcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeReporting = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Reporting',
|
||||
color: $scope.reportingcontrastText,
|
||||
brightness: $scope.reportingcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Reporting Icon", "set to " + $scope.reportingcontrastText + " (" + $scope.reportingcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeNetworking = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Networking',
|
||||
color: $scope.networkingcontrastText,
|
||||
brightness: $scope.networkingcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Networking Icon", "set to " + $scope.networkingcontrastText + " (" + $scope.networkingcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeConfiguration = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Configuration',
|
||||
color: $scope.configurationcontrastText,
|
||||
brightness: $scope.configurationcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Configuration Icon", "set to " + $scope.configurationcontrastText + " (" + $scope.configurationcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeAdvanced = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Advanced',
|
||||
color: $scope.advancedcontrastText,
|
||||
brightness: $scope.advancedcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Advanced Icon", "set to " + $scope.advancedcontrastText + " (" + $scope.advancedcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.changeHelp = function(){
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "replaceImage",
|
||||
img: 'Help',
|
||||
color: $scope.helpcontrastText,
|
||||
brightness: $scope.helpcontrastBrightness
|
||||
}, function(response) {
|
||||
$scope.sendMessage("Help Icon", "set to " + $scope.helpcontrastText + " (" + $scope.helpcontrastBrightness + ")");
|
||||
log("changeDashboard", "Success? " + response.success + " " + response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
function log(fn, message) {
|
||||
if ($scope.debug === true) {
|
||||
console.log("fn[" + fn + "]-> " + message);
|
||||
}
|
||||
};
|
||||
function backupFiles() {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "backupFiles"
|
||||
}, function(response) {
|
||||
log('backupFiles', response.message);
|
||||
for (i=0; i<response.modules.length; i++) {
|
||||
log('backupFiles', response.modules[i]);
|
||||
}
|
||||
});
|
||||
};
|
||||
function getCurrentTheme() {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "getCurrentTheme"
|
||||
}, function(response) {
|
||||
$scope.current = response.current;
|
||||
$scope.logocontrastText = response.logo;
|
||||
$scope.faviconcontrastText = response.icon;
|
||||
$scope.throbbercontrastText = response.throbber;
|
||||
$scope.dashboardcontrastText = response.dashboard;
|
||||
$scope.dashboardcontrastBrightness = response.dashboardbrightness;
|
||||
$scope.reconcontrastText = response.recon;
|
||||
$scope.reconcontrastBrightness = response.reconbrightness;
|
||||
$scope.profilingcontrastText = response.profiling;
|
||||
$scope.profilingcontrastBrightness = response.profilingbrightness;
|
||||
$scope.clientscontrastText = response.clients;
|
||||
$scope.clientscontrastBrightness = response.clientsbrightness;
|
||||
$scope.modulescontrastText = response.modulemanager;
|
||||
$scope.modulescontrastBrightness = response.modulemanagerbrightness;
|
||||
$scope.filterscontrastText = response.filters;
|
||||
$scope.filterscontrastBrightness = response.filtersbrightness;
|
||||
$scope.pineapcontrastText = response.pineap;
|
||||
$scope.pineapcontrastBrightness = response.pineapbrightness;
|
||||
$scope.trackingcontrastText = response.tracking;
|
||||
$scope.trackingcontrastBrightness = response.trackingbrightness;
|
||||
$scope.loggingcontrastText = response.logging;
|
||||
$scope.loggingcontrastBrightness = response.loggingbrightness;
|
||||
$scope.reportingcontrastText = response.reporting;
|
||||
$scope.reportingcontrastBrightness = response.reportingbrightness;
|
||||
$scope.networkingcontrastText = response.networking;
|
||||
$scope.networkingcontrastBrightness = response.networkingbrightness;
|
||||
$scope.configurationcontrastText = response.configuration;
|
||||
$scope.configurationcontrastBrightness = response.configurationbrightness;
|
||||
$scope.advancedcontrastText = response.advanced;
|
||||
$scope.advancedcontrastBrightness = response.advancedbrightness;
|
||||
$scope.helpcontrastText = response.help;
|
||||
$scope.helpcontrastBrightness = response.helpbrightness;
|
||||
$scope.throbbercontrast = true;
|
||||
$scope.faviconcontrast = true;
|
||||
$scope.logocontrast = true;
|
||||
if (response.throbber === 'dark') {
|
||||
$scope.throbbercontrast = false;
|
||||
}
|
||||
if (response.icon === 'dark') {
|
||||
$scope.faviconcontrast = false;
|
||||
}
|
||||
if (response.logo === 'dark') {
|
||||
$scope.logocontrast = false;
|
||||
}
|
||||
log("getCurrentTheme", "Current theme is " + $scope.current);
|
||||
log("getCurrentTheme", "Current throbber is " + response.throbber);
|
||||
log("getCurrentTheme", "Current icon is " + response.icon);
|
||||
log("getCurrentTheme", "Current logo is " + response.logo);
|
||||
log("getCurrentTheme", "Current Dashboard is " + response.dashboard);
|
||||
});
|
||||
};
|
||||
$scope.file_changed = function(element) {
|
||||
$scope.$apply(function(scope) {
|
||||
var photofile = element.files[0];
|
||||
var reader = new FileReader();
|
||||
reader.onload = function(e) {
|
||||
$scope.$apply(function() {
|
||||
$scope.prev_img = e.target.result;
|
||||
});
|
||||
};
|
||||
reader.readAsDataURL(photofile);
|
||||
});
|
||||
};
|
||||
$scope.restoreDefault = function() {
|
||||
$scope.working = "Working..";
|
||||
console.log("Restore Default Function Called");
|
||||
$scope.throbber = true;
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "restoreDefault"
|
||||
}, function (response) {
|
||||
log("restoreDefault", "default CSS restored");
|
||||
$scope.sendMessage("Restore", "Default CSS restored");
|
||||
$scope.throbber = false;
|
||||
log("restoreDefault", "Successful? "+ response.success + ". " + response.message);
|
||||
$scope.working = "Done!";
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.sendMessage = function (t, m) {
|
||||
// Add a new message to the top of the list
|
||||
$scope.messages.unshift({title: t, msg: m});
|
||||
log("sendMessage", m);
|
||||
// if there are 4 items in the list remove the 4th item
|
||||
if ($scope.messages.length == 4) {
|
||||
$scope.dismissMessage(3);
|
||||
}
|
||||
};
|
||||
$scope.dismissMessage = function ($index) {
|
||||
//var index = $scope.messages.indexOf(message);
|
||||
$scope.messages.splice($index, 1);
|
||||
log("dismissMessage", "message at index " + $index + " dismissed" );
|
||||
};
|
||||
$scope.createNewTheme = function () {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "createNewTheme",
|
||||
themeName: $scope.newThemeName
|
||||
}, function (response) {
|
||||
if (response.create_success) {
|
||||
log("createNewTheme", "success! new theme '"+ $scope.newThemeName + "' created");
|
||||
getThemes();
|
||||
$scope.newThemeName = '';
|
||||
} else {
|
||||
$scope.sendMessage("Error Creating Theme", response.create_message);
|
||||
log("createNewTheme", "error! " + response.create_message);
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.deleteTheme = function (theme) {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "deleteTheme",
|
||||
name: theme.title
|
||||
}, function (response) {
|
||||
$scope.sendMessage("Delete", response.message);
|
||||
getThemes();
|
||||
});
|
||||
log('deleteTheme', 'Deleting Theme: ' + theme.title );
|
||||
};
|
||||
$scope.activateTheme = function (theme) {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "activateTheme",
|
||||
name: theme.title
|
||||
}, function (response) {
|
||||
if (response.return === true) {
|
||||
$scope.currentTheme = theme.title;
|
||||
getThemes();
|
||||
$scope.sendMessage("Activated", response.message);
|
||||
if ($scope.autoRefresh) {
|
||||
$window.location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.editTheme = function (theme) {
|
||||
console.log("action: edit " + theme.name);
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "getThemeCode",
|
||||
name: theme.name
|
||||
}, function (response) {
|
||||
$scope.editThemeFile.code = response.code;
|
||||
$scope.editThemeFile.file = response.file;
|
||||
$scope.editThemeFile.themeName = theme.name;
|
||||
});
|
||||
};
|
||||
$scope.saveThemeCode = function (editFile) {
|
||||
console.log("action: save " + editFile.themeName);
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "submitThemeCode",
|
||||
themeCode: editFile.code,
|
||||
name: editFile.themeName,
|
||||
fileName: editFile.file
|
||||
}, function (response) {
|
||||
$scope.sendMessage("Saved", editFile.themeName);
|
||||
});
|
||||
if ($scope.current === editFile.themeName)
|
||||
{
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "activateTheme",
|
||||
name: editFile.themeName
|
||||
}, function (response) {
|
||||
if (response.return === true) {
|
||||
$scope.currentTheme = editFile.themeName;
|
||||
$scope.sendMessage("Activated", response.message);
|
||||
}
|
||||
});
|
||||
log('saveThemeCode', "Theme code saved, also current so set to inactive");
|
||||
}
|
||||
};
|
||||
$scope.getThemeFields = function (theme) {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "themeFields",
|
||||
name: theme.title
|
||||
}, function (response) {
|
||||
$scope.workshopTheme.themeName = theme.title;
|
||||
$scope.workshopTheme.title = theme.title;
|
||||
$scope.workshopTheme.code = response.code;
|
||||
console.log(response);
|
||||
$scope.library = false;
|
||||
});
|
||||
};
|
||||
function getThemes() {
|
||||
$api.request({
|
||||
module: "Themes",
|
||||
action: "getThemeList"
|
||||
}, function (response) {
|
||||
$scope.themes = [];
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
$scope.themes.unshift({
|
||||
title: response[i].title,
|
||||
storage: response[i].location,
|
||||
active: response[i].active
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}]);
|
|
@ -0,0 +1,786 @@
|
|||
<div class="row" ng-controller="ThemesController">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<a href="javascript:;" data-toggle="collapse" data-target="#collapseControls" class="text-muted"><h4
|
||||
class="panel-title"><b>Theme:</b> {{ current.substring(0, current.length - 4); }}</h4></a>
|
||||
</div>
|
||||
<div id="collapseControls" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td>
|
||||
Auto Refresh
|
||||
</td>
|
||||
<td>
|
||||
<label class="switch" >
|
||||
<input type="checkbox" ng-model="autoRefresh">
|
||||
<span class="slider round">
|
||||
</span>
|
||||
</label>
|
||||
</td>
|
||||
|
||||
<td style="text-align:right;">
|
||||
<button class="btn btn-default"
|
||||
data-toggle="modal"
|
||||
data-target="#loadingModal"
|
||||
type="button"
|
||||
ng-click="restoreDefault()">Restore Default</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<a href="javascript:;" data-toggle="collapse" data-target="#collapseMessages" class="text-muted"><h4
|
||||
class="panel-title">Themes Messages</h4></a>
|
||||
</div>
|
||||
<div id="collapseMessages" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<p ng-show="(messages.length == 0)" class="text-muted"><i>No Messages...</i></p>
|
||||
<a ng-hide="(messages.length < 2)" ng-click="messages = []" class="pull-right" href="javascript:;">Clear
|
||||
All</a>
|
||||
<table style="width:100%" ng-hide="(messages.length == 0)">
|
||||
<tr ng-repeat="message in messages">
|
||||
<td>
|
||||
<hr/>
|
||||
<h5><b>{{ message.title }}</b> <a ng-click="dismissMessage($index)" href="javascript:;"
|
||||
class="pull-right">Dismiss</a></h5>
|
||||
<p class="text-muted"><i>{{ message.msg }}</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<a href="javascript:;" data-toggle="collapse" data-target="#collapseIconColors" class="text-muted"><h4
|
||||
class="panel-title">Icon Colors</h4></a>
|
||||
</div>
|
||||
<div id="collapseIconColors" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<table class="table table-striped" align="left">
|
||||
<thead>
|
||||
<th>Icon</th>
|
||||
<th>Color</th>
|
||||
<th>Brightness</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Throbber</td><td> {{ throbbercontrastText }}</td><td> N/A </td> </tr>
|
||||
<tr><td>Logo</td><td> {{ logocontrastText }}</td><td> N/A </td> </tr>
|
||||
<tr><td>Favicon</td><td> {{ faviconcontrastText }}</td><td> N/A </td> </tr>
|
||||
<tr><td>Dashboard</td><td> {{ dashboardcontrastText }}</td><td> {{ dashboardcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Recon</td><td> {{ reconcontrastText }}</td><td> {{ reconcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Profiling</td><td> {{ profilingcontrastText }}</td><td> {{ profilingcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Clients</td><td> {{ clientscontrastText }}</td><td> {{ clientscontrastBrightness }}</td> </tr>
|
||||
<tr><td>Modules</td><td> {{ modulescontrastText }}</td><td> {{ modulescontrastBrightness }}</td> </tr>
|
||||
<tr><td>Filters</td><td> {{ filterscontrastText }}</td><td> {{ filterscontrastBrightness }}</td> </tr>
|
||||
<tr><td>PineAP</td><td> {{ pineapcontrastText }}</td><td> {{ pineapcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Tracking</td><td> {{ trackingcontrastText }}</td><td> {{ trackingcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Logging</td><td> {{ loggingcontrastText }}</td><td> {{ loggingcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Reporting</td><td> {{ reportingcontrastText }}</td><td> {{ reportingcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Networking</td><td> {{ networkingcontrastText }}</td><td> {{ networkingcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Configuration</td><td> {{ configurationcontrastText }}</td><td> {{ configurationcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Advanced</td><td> {{ advancedcontrastText }}</td><td> {{ advancedcontrastBrightness }}</td> </tr>
|
||||
<tr><td>Help</td><td> {{ helpcontrastText }}</td><td> {{ helpcontrastBrightness }}</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-group" id="accordion">
|
||||
<div class="col-md-9">
|
||||
<!-- Library panel -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h5 class="panel-title"><a href="javascript:;" data-toggle="collapse" data-parent="#accordion"
|
||||
data-target="#collapseLibrary" class="text-muted">Themes</a></h5>
|
||||
</div>
|
||||
<div id="collapseLibrary" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<div class="input-group" ng-show="library">
|
||||
<input type="text" class="form-control" placeholder="Theme Name" name="themeName"
|
||||
ng-model="newThemeName">
|
||||
<span class="input-group-btn">
|
||||
<button ng-disabled="newThemeName == ''" class="btn btn-default" type="button" ng-click="createNewTheme()">Create New Theme</button>
|
||||
</span>
|
||||
</div>
|
||||
<hr ng-show="library"/>
|
||||
<div ng-show="themes.length > 0 && library == true">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped" align="center">
|
||||
<thead>
|
||||
<th>Theme Name</th>
|
||||
<th>Location</th>
|
||||
<th>Activate</th>
|
||||
<th>Delete</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="theme in themes">
|
||||
<td><a href="javascript:;" ng-click="getThemeFields(theme)">
|
||||
<b>{{ theme.title.substring(0, theme.title.length - 4); }}</b></a></td>
|
||||
<td class="text-muted"><i>{{ theme.storage }}</i></td>
|
||||
<td><a href="javascript:;"
|
||||
ng-click="activateTheme(theme)">Activate</a>
|
||||
</td>
|
||||
<td><a href="javascript:;" data-toggle="modal"
|
||||
ng-click="deleteTheme(theme)"
|
||||
> Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="themes.length > 0 || library == false">
|
||||
<p class="text-muted text-center">
|
||||
<i>No Themes in Library to Display.</i>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div ng-show="library == false">
|
||||
<button type="submit" class="btn btn-default btn-sm" ng-click="library = true">Back To
|
||||
Library
|
||||
</button>
|
||||
<hr />
|
||||
<h3>Theme Editor | {{ workshopTheme.themeName }}</h3>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped" align="center">
|
||||
<thead>
|
||||
<th>CSS Editor</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<textarea class="form-control" rows="30" ng-model="workshopTheme.code"> </textarea>
|
||||
|
||||
<div class="modal-footer">
|
||||
<div style="padding-right:5em" >
|
||||
<button type="button" ng-click="saveThemeCode(workshopTheme)" class="btn btn-success pull-left"
|
||||
data-dismiss="modal">Save
|
||||
</button>
|
||||
</div>
|
||||
<div style="padding-left:5em" >
|
||||
<button type="button" ng-click="saveThemeCode(workshopTheme); activateTheme(workshopTheme)" class="btn btn-success pull-left"
|
||||
data-dismiss="modal" >Save and Activate
|
||||
</button>
|
||||
</div>
|
||||
<button type="button" class="btn btn-default pull-right" data-dismiss="modal"
|
||||
ng-click="library = true">Cancel
|
||||
</button>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h5 class="panel-title"><a href="javascript:;" data-toggle="collapse" data-parent="#accordion"
|
||||
data-target="#collapseImages" class="text-muted">Icons</a></h5>
|
||||
</div>
|
||||
<div id="collapseImages" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<hr style="height:1px;border:none;color:#333;background-color:#333;">
|
||||
<h3>Generic</h3>
|
||||
<hr style="height:1px;border:none;color:#333;background-color:#333;">
|
||||
<table class="table table-striped" align="center">
|
||||
<thead>
|
||||
<th>Type</th>
|
||||
<th>Image</th>
|
||||
<th>Light Theme</th>
|
||||
<th>Dark Theme</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<b>Throbber</b>
|
||||
</td>
|
||||
<td>
|
||||
<img src="/img/throbber.gif"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="throbbercontrast == false"
|
||||
ng-style="switchOff"
|
||||
ng-model="throbbercontrast"
|
||||
ng-click="changeThrobber()">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="throbbercontrast == true"
|
||||
ng-style="switchOn"
|
||||
ng-model="throbbercontrast"
|
||||
ng-click="changeThrobber()">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b>Logo</b>
|
||||
</td>
|
||||
<td>
|
||||
<img src="/img/logo.png" width="30" height="30" />
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="logocontrast == false"
|
||||
ng-style="switchOff"
|
||||
ng-model="logocontrast"
|
||||
ng-click="changeLogo()">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="logocontrast == true"
|
||||
ng-style="switchOn"
|
||||
ng-model="logocontrast"
|
||||
ng-click="changeLogo()">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b>Icon</b>
|
||||
</td>
|
||||
<td>
|
||||
<img src="/img/favicon.ico"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="faviconcontrast == false"
|
||||
ng-style="switchOff"
|
||||
ng-model="faviconcontrast"
|
||||
ng-click="changeFavicon()">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-switch"
|
||||
ng-hide="faviconcontrast == true"
|
||||
ng-style="switchOn"
|
||||
ng-model="faviconcontrast"
|
||||
ng-click="changeFavicon()">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr style="height:1px;border:none;color:#333;background-color:#333;">
|
||||
<h3>Modules</h3>
|
||||
<hr style="height:1px;border:none;color:#333;background-color:#333;">
|
||||
<table class="table table-striped" align="center">
|
||||
<thead>
|
||||
<th>Type</th>
|
||||
<th>Image</th>
|
||||
<th>Color</th>
|
||||
<th>Brightness</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<b>ALL</b>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<select ng-model="allcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ allcontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select ng-model="allcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ allcontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeAllIcons()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b>Dashboard</b>
|
||||
</td>
|
||||
<td>
|
||||
<img src="/modules/Dashboard/module_icon.svg" width="30" height="30" />
|
||||
</td>
|
||||
<td>
|
||||
<select ng-model="dashboardcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ dashboardcontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<select ng-model="dashboardcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ dashboardcontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeDashboard()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Recon</b></td>
|
||||
<td><img src="/modules/Recon/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="reconcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ reconcontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="reconcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ reconcontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeRecon()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<td><b>Profiling</b></td>
|
||||
<td><img src="/modules/Profiling/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="profilingcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ profilingcontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="profilingcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
|
||||
ng-value="{{ profilingcontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeProfiling()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<td><b>Clients</b></td>
|
||||
<td><img src="/modules/Clients/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="clientscontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ clientscontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="clientscontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ clientscontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeClients()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Modules</b></td>
|
||||
<td><img src="/modules/ModuleManager/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="modulescontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ modulescontrastText }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="modulescontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ modulescontrastBrightness }}"
|
||||
>
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeModules()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Filters</b></td>
|
||||
<td><img src="/modules/Filters/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="filterscontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ filterscontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="filterscontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ filterscontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeFilters()">
|
||||
Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>PineAP</b></td>
|
||||
<td><img src="/modules/PineAP/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="pineapcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ pineapcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="pineapcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ pineapcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changePineap()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>Tracking</b></td>
|
||||
<td><img src="/modules/Tracking/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="trackingcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ trackingcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="trackingcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ trackingcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeTracking()">Apply</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Logging</b></td>
|
||||
<td><img src="/modules/Logging/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="loggingcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ loggingcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="loggingcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ loggingcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeLogging()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Reporting</b></td>
|
||||
<td><img src="/modules/Reporting/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="reportingcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ reportingcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="reportingcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ reportingcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeReporting()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Networking</b></td>
|
||||
<td><img src="/modules/Networking/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="networkingcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ networkingcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="networkingcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ networkingcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeNetworking()">Apply</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Configuration</b></td>
|
||||
<td><img src="/modules/Configuration/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="configurationcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ configurationcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="configurationcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ configurationcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeConfiguration()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Advanced</b></td>
|
||||
<td><img src="/modules/Advanced/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="advancedcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ advancedcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="advancedcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ advancedcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeAdvanced()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Help</b></td>
|
||||
<td><img src="/modules/Help/module_icon.svg" width="30" height="30" /></td>
|
||||
<td><select ng-model="helpcontrastText"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in colors"
|
||||
ng-value="{{ helpcontrastText }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><select ng-model="helpcontrastBrightness"
|
||||
ng-style="selectOptions"
|
||||
ng-options="x for x in brightness"
|
||||
ng-value="{{ helpcontrastBrightness }}">
|
||||
</select>
|
||||
</td>
|
||||
<td><button class="btn btn-default"
|
||||
type="button"
|
||||
ng-click="changeHelp()">Apply
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Contribution Pannel -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h5 class="panel-title"><a href="javascript:;" data-toggle="collapse" data-parent="#accordion"
|
||||
data-target="#collapseContribution" class="text-muted">How To</a></h5>
|
||||
</div>
|
||||
<div id="collapseContribution" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><b>Share your new theme</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Navigate to the wifi pineapple modules repository</li>
|
||||
<li class="text-muted">Add your theme .css file in the css directory of this module</li>
|
||||
<li class="text-muted">Create a new pull request</li>
|
||||
<li class="text-muted">Update the version number</li>
|
||||
<li class="text-muted">Update the module version in module.info</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Fix Images appearing broken/unable to be loaded</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Refresh the page</li>
|
||||
<li class="text-muted">If the problem persists, see "Submit a Bug"</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Fix a messy looking page after a save/refresh</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Reselect 'Activate' beside your theme</li>
|
||||
<li class="text-muted">Refresh the page</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Select the proper Image type</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Beside each Image type are two options "Light" and "Dark"</li>
|
||||
<li class="text-muted">"Dark" images are intended for dark backgrounds </li>
|
||||
<li class="text-muted">"Light" images are intended for light backgrounds </li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Use a theme once without a module</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Navigate to https://github.com/kbeflo/pineapple-themes</li>
|
||||
<li class="text-muted">Select a theme and run the install.sh script</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Submit a Bug</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Navigate to https://github.com/hak5/wifipineapple-modules/issues</li>
|
||||
<li class="text-muted">Select the "New Issue" button </li>
|
||||
<li class="text-muted">Tag @trashbo4t in your issue description </li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h5 class="panel-title"><a href="javascript:;" data-toggle="collapse" data-parent="#accordion"
|
||||
data-target="#collapseTips" class="text-muted">Community Tips</a></h5>
|
||||
</div>
|
||||
<div id="collapseTips" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><b>Creating a New Theme</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">
|
||||
The set of .css files bundled with the Themes module are already configured to handle
|
||||
undefined colors from the standard bootstrap .css file in the default settings.
|
||||
</li>
|
||||
<li class="text-muted">
|
||||
A reccommended method to ensure larger coverage is to create a new .css file with the theme creator
|
||||
then copy another .css files code.
|
||||
</li>
|
||||
<li class="text-muted">
|
||||
Once you copied the code do a search and replace for the colors of your choosing!
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Working with .css files in a browser</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Modyfing a .css file with active updating is possible in modern browsers.</li>
|
||||
<li class="text-muted">Select 'ctrl'+'shift'+'I', then select the sourses tab.</li>
|
||||
<li class="text-muted">Select the 'css' folder, then the main.css file</li>
|
||||
<li class="text-muted">Modify the main.css file until you like the appearance of the page.</li>
|
||||
<li class="text-muted">From there select all of the code ('ctrl'+'a') and paste it into your theme files CSS Editor box</li>
|
||||
<li class="text-muted">Then select "Save" and "Activate"</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><b>Dark Theme vs Light Theme Icons</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">If your background is dark, its best to choose a "Dark Theme" icon.</li>
|
||||
<li class="text-muted">Overlooked transparency pixels will be harder to see this way!</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Change Log Pannel -->
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h5 class="panel-title"><a href="javascript:;" data-toggle="collapse" data-parent="#accordion"
|
||||
data-target="#collapseChangelog" class="text-muted">Themes Change Log</a></h5>
|
||||
</div>
|
||||
<div id="collapseChangelog" class="panel-collapse collapse">
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li><b>1.0</b></li>
|
||||
<ul>
|
||||
<li class="text-muted">Pending release of 1.0</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="loadingModal" class="modal fade" role="dialog" >
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Loading</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="panel-title"><img src="/img/throbber.gif" ng-show="throbber"/>
|
||||
<p><b>{{ working }}</b></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"title": "Themes",
|
||||
"description": "Create, download, and share custom themes",
|
||||
"version": "1.0",
|
||||
"author": "trashbo4t"
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="370.589px" height="370.589px" viewBox="0 0 370.589 370.589" style="enable-background:new 0 0 370.589 370.589;"
|
||||
xml:space="preserve" fill="#808080">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M5.806,224.753c-7.741,7.741-7.741,20.291,0.002,28.034l10.114,10.114l24.18-9.46L30.99,277.97l50.811,50.812
|
||||
l39.014-22.66l-19.858,41.815l16.843,16.844c7.743,7.743,20.293,7.743,28.034,0.002l91.812-91.812L97.618,132.941L5.806,224.753z"
|
||||
/>
|
||||
<path d="M358.83,11.841l-0.082-0.083c-9.66-9.66-21.981-13.478-35.631-11.043c-27.59,4.924-56.519,34.861-77.384,80.087
|
||||
c-5.788,12.546-13.997,19.607-25.101,21.588c-21.311,3.803-48.293-11.741-64.344-27.792c-3.362-3.362-8.814-3.361-12.176,0.001
|
||||
l-16.685,16.686l24.651,24.651c3.202,3.202,3.202,8.392,0,11.594c-3.202,3.202-8.393,3.202-11.594,0l-24.651-24.651l-6.178,6.178
|
||||
c-3.364,3.364-3.364,8.815-0.002,12.178l139.703,139.703c3.361,3.361,8.812,3.36,12.177-0.002l34.458-34.458
|
||||
c3.361-3.362,3.362-8.814,0.001-12.177c-16.051-16.051-31.595-43.034-27.792-64.344c1.98-11.103,9.042-19.312,21.588-25.1
|
||||
c45.226-20.865,75.163-49.793,80.087-77.383C372.309,33.822,368.49,21.501,358.83,11.841z M343.056,48.746
|
||||
c-5.857,5.857-15.354,5.857-21.213,0c-5.856-5.858-5.856-15.355,0-21.213c5.858-5.858,15.355-5.858,21.213,0
|
||||
C348.914,33.391,348.914,42.888,343.056,48.746z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
Loading…
Reference in New Issue