created remote console page
TODO: Remove HTERM.
Change-Id: I72026e5ea64c9fba3089b68dfd2b8198255dabb8
Signed-off-by: Michael Davis <michael.s.davis@ibm.com>
diff --git a/app/common/directives/app-header.html b/app/common/directives/app-header.html
index 9572833..f9b224d 100644
--- a/app/common/directives/app-header.html
+++ b/app/common/directives/app-header.html
@@ -1,17 +1,25 @@
-<div id="header__wrapper">
-<!-- HEADER -->
<header id="header">
+<<<<<<< HEAD:src/header.html
+ <div class="logo__wrapper"></div>
+ <span class="app__version">openBMC V.0.0.1</span>
+ <div id="app-user" class="float-right">
+ <span class="app-user__indicator inline"></span>
+ <span class="app-user__name inline">SysAdmin</span>
+=======
<span class="app__version float-left">{{dataService.app_version}}</span>
<a href="" class="header__logout" ng-click="logout()">Log out</a>
</header>
<div class="header__functions-wrapper" role="heading">
<div class="logo__wrapper"><img src="assets/images/logo.svg" id="header__logo" alt="company logo"/></div>
- <button id="header__server-name">Server {{dataService.server_id}}</button>
+ <button id="header__server-name">{{dataService.server_id}}</button>
<div class="header__functions">
- <a href="#/server-health/event-log" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
- <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
+ <a href="" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
+ <a href="#/overview/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
<p class="header__refresh">Page last refreshed <span>{{dataService.last_updated |date:'h:mm:ss MMM dd yyyy'}}</span></p>
<button class="header__page-refresh" ng-click="refresh()"><img src="assets/images/icon-refresh-white.svg" alt="refresh page" role="button"/></button>
+>>>>>>> 4c1a3dd... Major update to code structure:app/common/directives/app-header.html
</div>
-</div>
-</div>
+</header>
+<div class="header__functions-wrapper">
+ header functions here
+</div>
\ No newline at end of file
diff --git a/app/common/directives/app-header.html~HEAD b/app/common/directives/app-header.html~HEAD
new file mode 100644
index 0000000..9572833
--- /dev/null
+++ b/app/common/directives/app-header.html~HEAD
@@ -0,0 +1,17 @@
+<div id="header__wrapper">
+<!-- HEADER -->
+<header id="header">
+ <span class="app__version float-left">{{dataService.app_version}}</span>
+ <a href="" class="header__logout" ng-click="logout()">Log out</a>
+</header>
+<div class="header__functions-wrapper" role="heading">
+ <div class="logo__wrapper"><img src="assets/images/logo.svg" id="header__logo" alt="company logo"/></div>
+ <button id="header__server-name">Server {{dataService.server_id}}</button>
+ <div class="header__functions">
+ <a href="#/server-health/event-log" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
+ <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
+ <p class="header__refresh">Page last refreshed <span>{{dataService.last_updated |date:'h:mm:ss MMM dd yyyy'}}</span></p>
+ <button class="header__page-refresh" ng-click="refresh()"><img src="assets/images/icon-refresh-white.svg" alt="refresh page" role="button"/></button>
+ </div>
+</div>
+</div>
diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
index 6a25ab6..fe1c3b1 100644
--- a/app/common/directives/app-navigation.html
+++ b/app/common/directives/app-navigation.html
@@ -1,97 +1,85 @@
-<nav class="nav__wrapper">
- <ul id="nav__top-level" ng-style="navStyle">
- <li>
- <a class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" href="#/overview/system" ng-click="change('overview')" tabindex="1">
- <span class="">
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
- <path d="M23.9,18.2l3.3,3.3l1.1-1.1L23.9,16l-7.8,7.8l-3.3-3.3l-1.1,1.1l4.4,4.4L23.9,18.2z"/>
- <path d="M5,8v24h30V8H5z M33,30H7V12h26V30z"/>
- </svg>
- Server overview</span></a>
- </li>
- <li>
- <button class="btn-health" ng-class="{opened: firstLevel == 'server-health'}" ng-click="change('server-health')" tabindex="2">
- <span>
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
- <polyline class="st0" points="32,12.9 32,16 8,16 8,8 27,8 "/>
- <rect x="8" y="16" class="st0" width="24" height="8"/>
- <rect x="8" y="24" class="st0" width="24" height="8"/>
- <line class="st0" x1="19" y1="12" x2="27" y2="12"/>
- <line class="st0" x1="11" y1="12" x2="13" y2="12"/>
- <line class="st0" x1="19" y1="20" x2="27" y2="20"/>
- <line class="st0" x1="11" y1="20" x2="13" y2="20"/>
- <line class="st0" x1="19" y1="28" x2="27" y2="28"/>
- <line class="st0" x1="11" y1="28" x2="13" y2="28"/>
- <polygon points="36.4,4 37.5,5.1 32.4,10.2 29.5,7.4 30.7,6.2 32.4,8 "/>
- </svg>
- Server health
- </span>
- </button>
- </li>
- <li>
- <button class="btn-control" ng-class="{opened: firstLevel == 'server-control'}" ng-click="change('server-control')" tabindex="3">
- <span>
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
- <line class="st0" x1="8" y1="12" x2="32" y2="12"/>
- <line class="st0" x1="8" y1="20" x2="32" y2="20"/>
- <line class="st0" x1="8" y1="28" x2="32" y2="28"/>
- <line class="st1" x1="24" y1="28" x2="28" y2="28"/>
- <line class="st1" x1="18" y1="20" x2="22" y2="20"/>
- <line class="st1" x1="12" y1="12" x2="16" y2="12"/>
- </svg>
- Server control
- </span>
- </button>
- </li>
- <li>
- <button class="btn-config" ng-class="{opened: firstLevel == 'configuration'}" ng-click="change('configuration')" tabindex="4">
- <span>
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
- <path d="M31.5,20c0-0.6-0.1-1.2-0.2-1.8L35,15l-3.1-5.1l-4.4,1.4c-1.1-0.9-2.3-1.6-3.6-2.1L23,5h-6l-1,4.2c-1.3,0.5-2.5,1.2-3.6,2.1
- L8.1,9.9L5,15l3.7,3.2c-0.1,0.6-0.2,1.2-0.2,1.8c0,0.6,0.1,1.2,0.2,1.8L5,25l3.1,5.1l4.4-1.4c1.1,0.9,2.3,1.6,3.6,2.1l1,4.2h6l1-4.2
- c1.3-0.5,2.5-1.2,3.6-2.1l4.4,1.4L35,25l-3.7-3.2C31.4,21.2,31.5,20.6,31.5,20z M32.4,25.4L31,27.7l-2.9-0.9l-1.1-0.4l-0.9,0.7
- c-0.9,0.8-1.9,1.3-2.9,1.7l-1,0.4L22,30.3L21.4,33h-2.8L18,30.3l-0.2-1.1l-1-0.4c-1.1-0.4-2.1-1-2.9-1.7l-0.9-0.7l-1.1,0.4L9,27.7
- l-1.4-2.3l2.4-2.1l0.8-0.7l-0.2-1.1c-0.1-0.5-0.1-1-0.1-1.5c0-0.4,0-0.9,0.1-1.5l0.2-1.1L10,16.7l-2.4-2.1L9,12.3l2.9,0.9l1.1,0.4
- l0.9-0.7c0.9-0.8,1.9-1.3,2.9-1.7l1-0.4L18,9.7L18.6,7h2.8L22,9.7l0.2,1.1l1,0.4c1.1,0.4,2.1,1,2.9,1.7l0.9,0.7l1.1-0.4l2.9-0.9
- l1.4,2.3L30,16.7l-0.8,0.7l0.2,1.1c0.1,0.6,0.1,1,0.1,1.5s0,0.9-0.1,1.5l-0.2,1.1l0.8,0.7L32.4,25.4z"/>
- <path d="M20,15c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S22.8,15,20,15z M20,23c-1.7,0-3-1.3-3-3c0-1.7,1.3-3,3-3c1.7,0,3,1.3,3,3C23,21.7,21.7,23,20,23z"/>
- </svg>
- Configuration</span></button>
- </li>
- <li>
- <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="change('users')" tabindex="5">
- <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="nav-icon"><path d="M16 21c5.523 0 10-4.477 10-10S21.523 1 16 1 6 5.477 6 11s4.477 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zM24 23H8a4 4 0 0 0-4 4v4h24v-4a4 4 0 0 0-4-4z"/></svg></span>
- <span>Users</span>
- </button>
- </li>
- </ul>
- <ul class="nav__second-level btn-health" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'server-health')}">
- <li ng-class="{'active': (path == '/server-health/event-log')}">
- <a href="#/server-health/event-log" tabindex="3" ng-click="closeSubnav()">Event log</a></li>
- <li ng-class="{'active': (path == '/server-health/inventory-overview' || path == '/server-health/inventory')}" ng-click="closeSubnav()">
- <a href="#/server-health/inventory-overview" tabindex="4">Hardware status</a></li>
- <li ng-class="{'active': (path == '/server-health/sensors-overview' || path == '/server-health/sensors')}">
- <a href="#/server-health/sensors-overview" ng-click="closeSubnav()" tabindex="5">Sensors</a></li>
- <!--<li ng-class="{'active': (path == '/server-health/power-consumption')}"><a href="#/server-health/power-consumption" tabindex="4" ng-click="closeSubnav()">Power consumption</a></li>-->
- <li ng-class="{'active': (path == '/server-health/unit-id')}">
- <a href="#/server-health/unit-id" tabindex="6" ng-click="closeSubnav()">Server LED</a></li>
- </ul>
- <ul class="nav__second-level btn-control" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'server-control')}">
- <li ng-class="{'active': (path == '/server-control' || path == '/server-control/power-operations')}">
- <a href="#/server-control/power-operations" ng-click="closeSubnav()">Server power operations</a></li>
- <li ng-class="{'active': (path == '/server-control/bmc-reboot')}">
- <a href="#/server-control/bmc-reboot" tabindex="8" ng-click="closeSubnav()">Reboot BMC</a></li>
- <li ng-class="{'active': (path == '/server-control/remote-console')}">
- <a href="#/server-control/remote-console" tabindex="5" ng-click="closeSubnav()">Serial over LAN</a></li>
- </ul>
- <ul class="nav__second-level btn-firmware" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'configuration')}">
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/network')}">
- <a href="#/configuration/network" ng-click="closeSubnav()">Network settings</a></li>
- <li ng-class="{'active': (path == '/configuration' || path == '/configuration/firmware')}">
- <a href="#/configuration/firmware" ng-click="closeSubnav()">Firmware</a></li>
- </ul>
- <ul class="nav__second-level btn-users" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'users')}">
- <li ng-class="{'active': (path == '/users' || path == '/users/manage-accounts')}">
- <a href="#/users/manage-accounts" ng-click="closeSubnav()">Manage user account</a></li>
- </ul>
-</nav>
+<nav>
+ <ul id="nav__top-level">
+ <li>
+ <button class="btn-dashboard">
+ <svg version="1.1" class="nav__icon" x="0px" y="0px"
+ viewBox="0 0 20 20">
+ <g>
+ <path d="M7.5,12.5v5.8H1.7v-5.8H7.5 M8.5,11.5H0.7v7.8h7.8V11.5L8.5,11.5z"/>
+ </g>
+ <g>
+ <path d="M18,12.5v5.8h-5.8v-5.8H18 M19,11.5h-7.8v7.8H19L19,11.5C19,11.5,19,11.5,19,11.5L19,11.5z"/>
+ </g>
+ <g>
+ <path d="M7.5,2v5.8H1.7V2H7.5 M8.5,1H0.7v7.8h7.8V1L8.5,1z"/>
+ </g>
+ <g>
+ <path d="M18,2v5.8h-5.8V2H18 M19,1h-7.8v7.8H19V1L19,1z"/>
+ </g>
+ </svg>
+
+ <p>Dashboard</p></button>
+ </li>
+ <li>
+<<<<<<< HEAD:src/navigation.html
+ <button class="btn-settings">
+=======
+ <button class="btn-settings" ng-class="{opened: firstLevel == 'settings'}" ng-click="firstLevel = 'settings';" tabindex="9">
+>>>>>>> 4c1a3dd... Major update to code structure:app/common/directives/app-navigation.html
+ <svg class="nav__icon" viewBox="0 0 20 20">
+ <path d="M17.498,11.697c-0.453-0.453-0.704-1.055-0.704-1.697c0-0.642,0.251-1.244,0.704-1.697c0.069-0.071,0.15-0.141,0.257-0.22c0.127-0.097,0.181-0.262,0.137-0.417c-0.164-0.558-0.388-1.093-0.662-1.597c-0.075-0.141-0.231-0.22-0.391-0.199c-0.13,0.02-0.238,0.027-0.336,0.027c-1.325,0-2.401-1.076-2.401-2.4c0-0.099,0.008-0.207,0.027-0.336c0.021-0.158-0.059-0.316-0.199-0.391c-0.503-0.274-1.039-0.498-1.597-0.662c-0.154-0.044-0.32,0.01-0.416,0.137c-0.079,0.106-0.148,0.188-0.22,0.257C11.244,2.956,10.643,3.207,10,3.207c-0.642,0-1.244-0.25-1.697-0.704c-0.071-0.069-0.141-0.15-0.22-0.257C7.987,2.119,7.821,2.065,7.667,2.109C7.109,2.275,6.571,2.497,6.07,2.771C5.929,2.846,5.85,3.004,5.871,3.162c0.02,0.129,0.027,0.237,0.027,0.336c0,1.325-1.076,2.4-2.401,2.4c-0.098,0-0.206-0.007-0.335-0.027C3.001,5.851,2.845,5.929,2.77,6.07C2.496,6.572,2.274,7.109,2.108,7.667c-0.044,0.154,0.01,0.32,0.137,0.417c0.106,0.079,0.187,0.148,0.256,0.22c0.938,0.936,0.938,2.458,0,3.394c-0.069,0.072-0.15,0.141-0.256,0.221c-0.127,0.096-0.181,0.262-0.137,0.416c0.166,0.557,0.388,1.096,0.662,1.596c0.075,0.143,0.231,0.221,0.392,0.199c0.129-0.02,0.237-0.027,0.335-0.027c1.325,0,2.401,1.076,2.401,2.402c0,0.098-0.007,0.205-0.027,0.334C5.85,16.996,5.929,17.154,6.07,17.23c0.501,0.273,1.04,0.496,1.597,0.66c0.154,0.047,0.32-0.008,0.417-0.137c0.079-0.105,0.148-0.186,0.22-0.256c0.454-0.453,1.055-0.703,1.697-0.703c0.643,0,1.244,0.25,1.697,0.703c0.071,0.07,0.141,0.15,0.22,0.256c0.073,0.098,0.188,0.152,0.307,0.152c0.036,0,0.073-0.004,0.109-0.016c0.558-0.164,1.096-0.387,1.597-0.66c0.141-0.076,0.22-0.234,0.199-0.393c-0.02-0.129-0.027-0.236-0.027-0.334c0-1.326,1.076-2.402,2.401-2.402c0.098,0,0.206,0.008,0.336,0.027c0.159,0.021,0.315-0.057,0.391-0.199c0.274-0.5,0.496-1.039,0.662-1.596c0.044-0.154-0.01-0.32-0.137-0.416C17.648,11.838,17.567,11.77,17.498,11.697 M16.671,13.334c-0.059-0.002-0.114-0.002-0.168-0.002c-1.749,0-3.173,1.422-3.173,3.172c0,0.053,0.002,0.109,0.004,0.166c-0.312,0.158-0.64,0.295-0.976,0.406c-0.039-0.045-0.077-0.086-0.115-0.123c-0.601-0.6-1.396-0.93-2.243-0.93s-1.643,0.33-2.243,0.93c-0.039,0.037-0.077,0.078-0.116,0.123c-0.336-0.111-0.664-0.248-0.976-0.406c0.002-0.057,0.004-0.113,0.004-0.166c0-1.75-1.423-3.172-3.172-3.172c-0.054,0-0.11,0-0.168,0.002c-0.158-0.312-0.293-0.639-0.405-0.975c0.044-0.039,0.085-0.078,0.124-0.115c1.236-1.236,1.236-3.25,0-4.486C3.009,7.719,2.969,7.68,2.924,7.642c0.112-0.336,0.247-0.664,0.405-0.976C3.387,6.668,3.443,6.67,3.497,6.67c1.75,0,3.172-1.423,3.172-3.172c0-0.054-0.002-0.11-0.004-0.168c0.312-0.158,0.64-0.293,0.976-0.405C7.68,2.969,7.719,3.01,7.757,3.048c0.6,0.6,1.396,0.93,2.243,0.93s1.643-0.33,2.243-0.93c0.038-0.039,0.076-0.079,0.115-0.123c0.336,0.112,0.663,0.247,0.976,0.405c-0.002,0.058-0.004,0.114-0.004,0.168c0,1.749,1.424,3.172,3.173,3.172c0.054,0,0.109-0.002,0.168-0.004c0.158,0.312,0.293,0.64,0.405,0.976c-0.045,0.038-0.086,0.077-0.124,0.116c-0.6,0.6-0.93,1.396-0.93,2.242c0,0.847,0.33,1.645,0.93,2.244c0.038,0.037,0.079,0.076,0.124,0.115C16.964,12.695,16.829,13.021,16.671,13.334 M10,5.417c-2.528,0-4.584,2.056-4.584,4.583c0,2.529,2.056,4.584,4.584,4.584s4.584-2.055,4.584-4.584C14.584,7.472,12.528,5.417,10,5.417 M10,13.812c-2.102,0-3.812-1.709-3.812-3.812c0-2.102,1.71-3.812,3.812-3.812c2.102,0,3.812,1.71,3.812,3.812C13.812,12.104,12.102,13.812,10,13.812"></path>
+ </svg>
+ <p>Settings</p></button>
+ </li>
+ <li>
+ <button class="btn-multi">
+ <svg class="nav__icon" viewBox="0 0 20 20">
+ <path d="M10,1.529c-4.679,0-8.471,3.792-8.471,8.471c0,4.68,3.792,8.471,8.471,8.471c4.68,0,8.471-3.791,8.471-8.471C18.471,5.321,14.68,1.529,10,1.529 M10,17.579c-4.18,0-7.579-3.399-7.579-7.579S5.82,2.421,10,2.421S17.579,5.82,17.579,10S14.18,17.579,10,17.579 M14.348,10c0,0.245-0.201,0.446-0.446,0.446h-5c-0.246,0-0.446-0.201-0.446-0.446s0.2-0.446,0.446-0.446h5C14.146,9.554,14.348,9.755,14.348,10 M14.348,12.675c0,0.245-0.201,0.446-0.446,0.446h-5c-0.246,0-0.446-0.201-0.446-0.446s0.2-0.445,0.446-0.445h5C14.146,12.229,14.348,12.43,14.348,12.675 M7.394,10c0,0.245-0.2,0.446-0.446,0.446H6.099c-0.245,0-0.446-0.201-0.446-0.446s0.201-0.446,0.446-0.446h0.849C7.194,9.554,7.394,9.755,7.394,10 M7.394,12.675c0,0.245-0.2,0.446-0.446,0.446H6.099c-0.245,0-0.446-0.201-0.446-0.446s0.201-0.445,0.446-0.445h0.849C7.194,12.229,7.394,12.43,7.394,12.675 M14.348,7.325c0,0.246-0.201,0.446-0.446,0.446h-5c-0.246,0-0.446-0.2-0.446-0.446c0-0.245,0.2-0.446,0.446-0.446h5C14.146,6.879,14.348,7.08,14.348,7.325 M7.394,7.325c0,0.246-0.2,0.446-0.446,0.446H6.099c-0.245,0-0.446-0.2-0.446-0.446c0-0.245,0.201-0.446,0.446-0.446h0.849C7.194,6.879,7.394,7.08,7.394,7.325"></path>
+ </svg>
+ <p>Multi System</p></button>
+ </li>
+ <li>
+ <button class="btn-help">
+ <svg class="nav__icon" viewBox="0 0 20 20">
+ <path class="nav__icon-help__outer" d="M10,0.9c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S14.9,0.9,10,0.9"/>
+ <path class="nav__icon-help__inner" d="M9.2,5.4V3.7h1.5v1.8H9.2z M9.2,16.1v-9h1.5v9H9.2z"/>
+ </svg>
+ <p>Help</p></button>
+ </li>
+ </ul>
+<<<<<<< HEAD:src/navigation.html
+ <ul class="nav__second-level btn-dashboard">
+ <li><button class="close" aria-label="close">×</button></li>
+ <li>2nd level 1</li>
+ <li>2nd level 2</li>
+ <li>2nd level 3</li>
+=======
+ <ul class="nav__second-level btn-overview" ng-style="navStyle" ng-class="{opened: firstLevel == 'overview'}">
+ <li ng-class="{'active': (path == '/overview/system')}" tabindex="2"><a href="#/system-overview">System Overview</a></li>
+ <li ng-class="{'active': (path == '/overview/power-operations')}" tabindex="3"><a href="#/overview/power-operations">Server power operations</a></li>
+ <li ng-class="{'active': (path == '/overview/power-consumption')}"><a href="" tabindex="4">Power consumption</a></li>
+ <li ng-class="{'active': (path == '/overview/remote-console')}"><a href="" tabindex="5">Remote console</a></li>
+ <li ng-class="{'active': (path == '/overview/unit-id')}"><a href="#/overview/unit-id" tabindex="6">Unit ID</a></li>
+ <li ng-class="{'active': (path == '/overview/log')}"><a href="#/overview/log" tabindex="7">Log</a></li>
+ <li ng-class="{'active': (path == '/overview/bmc-reboot')}"><a href="#/overview/bmc-reboot" tabindex="8">Reboot BMC</a></li>
+>>>>>>> 4c1a3dd... Major update to code structure:app/common/directives/app-navigation.html
+ </ul>
+ <ul class="nav__second-level btn-settings">
+ <li><button class="close" aria-label="close">×</button></li>
+ <li>2nd level 4</li>
+ <li>2nd level 5</li>
+ <li>2nd level 6</li>
+ </ul>
+ <ul class="nav__second-level btn-multi">
+ <li><button class="close" aria-label="close">×</button></li>
+ <li>2nd level 7</li>
+ <li>2nd level 8</li>
+ <li>2nd level 9</li>
+ </ul>
+ <ul class="nav__second-level btn-help">
+ <li><button class="close" aria-label="close">×</button></li>
+ <li>2nd level 10</li>
+ <li>2nd level 212</li>
+ <li>2nd level 312</li>
+ </ul>
+</nav>
\ No newline at end of file
diff --git a/app/common/directives/app-navigation.html~HEAD b/app/common/directives/app-navigation.html~HEAD
new file mode 100644
index 0000000..6a25ab6
--- /dev/null
+++ b/app/common/directives/app-navigation.html~HEAD
@@ -0,0 +1,97 @@
+<nav class="nav__wrapper">
+ <ul id="nav__top-level" ng-style="navStyle">
+ <li>
+ <a class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" href="#/overview/system" ng-click="change('overview')" tabindex="1">
+ <span class="">
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
+ <path d="M23.9,18.2l3.3,3.3l1.1-1.1L23.9,16l-7.8,7.8l-3.3-3.3l-1.1,1.1l4.4,4.4L23.9,18.2z"/>
+ <path d="M5,8v24h30V8H5z M33,30H7V12h26V30z"/>
+ </svg>
+ Server overview</span></a>
+ </li>
+ <li>
+ <button class="btn-health" ng-class="{opened: firstLevel == 'server-health'}" ng-click="change('server-health')" tabindex="2">
+ <span>
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
+ <polyline class="st0" points="32,12.9 32,16 8,16 8,8 27,8 "/>
+ <rect x="8" y="16" class="st0" width="24" height="8"/>
+ <rect x="8" y="24" class="st0" width="24" height="8"/>
+ <line class="st0" x1="19" y1="12" x2="27" y2="12"/>
+ <line class="st0" x1="11" y1="12" x2="13" y2="12"/>
+ <line class="st0" x1="19" y1="20" x2="27" y2="20"/>
+ <line class="st0" x1="11" y1="20" x2="13" y2="20"/>
+ <line class="st0" x1="19" y1="28" x2="27" y2="28"/>
+ <line class="st0" x1="11" y1="28" x2="13" y2="28"/>
+ <polygon points="36.4,4 37.5,5.1 32.4,10.2 29.5,7.4 30.7,6.2 32.4,8 "/>
+ </svg>
+ Server health
+ </span>
+ </button>
+ </li>
+ <li>
+ <button class="btn-control" ng-class="{opened: firstLevel == 'server-control'}" ng-click="change('server-control')" tabindex="3">
+ <span>
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
+ <line class="st0" x1="8" y1="12" x2="32" y2="12"/>
+ <line class="st0" x1="8" y1="20" x2="32" y2="20"/>
+ <line class="st0" x1="8" y1="28" x2="32" y2="28"/>
+ <line class="st1" x1="24" y1="28" x2="28" y2="28"/>
+ <line class="st1" x1="18" y1="20" x2="22" y2="20"/>
+ <line class="st1" x1="12" y1="12" x2="16" y2="12"/>
+ </svg>
+ Server control
+ </span>
+ </button>
+ </li>
+ <li>
+ <button class="btn-config" ng-class="{opened: firstLevel == 'configuration'}" ng-click="change('configuration')" tabindex="4">
+ <span>
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
+ <path d="M31.5,20c0-0.6-0.1-1.2-0.2-1.8L35,15l-3.1-5.1l-4.4,1.4c-1.1-0.9-2.3-1.6-3.6-2.1L23,5h-6l-1,4.2c-1.3,0.5-2.5,1.2-3.6,2.1
+ L8.1,9.9L5,15l3.7,3.2c-0.1,0.6-0.2,1.2-0.2,1.8c0,0.6,0.1,1.2,0.2,1.8L5,25l3.1,5.1l4.4-1.4c1.1,0.9,2.3,1.6,3.6,2.1l1,4.2h6l1-4.2
+ c1.3-0.5,2.5-1.2,3.6-2.1l4.4,1.4L35,25l-3.7-3.2C31.4,21.2,31.5,20.6,31.5,20z M32.4,25.4L31,27.7l-2.9-0.9l-1.1-0.4l-0.9,0.7
+ c-0.9,0.8-1.9,1.3-2.9,1.7l-1,0.4L22,30.3L21.4,33h-2.8L18,30.3l-0.2-1.1l-1-0.4c-1.1-0.4-2.1-1-2.9-1.7l-0.9-0.7l-1.1,0.4L9,27.7
+ l-1.4-2.3l2.4-2.1l0.8-0.7l-0.2-1.1c-0.1-0.5-0.1-1-0.1-1.5c0-0.4,0-0.9,0.1-1.5l0.2-1.1L10,16.7l-2.4-2.1L9,12.3l2.9,0.9l1.1,0.4
+ l0.9-0.7c0.9-0.8,1.9-1.3,2.9-1.7l1-0.4L18,9.7L18.6,7h2.8L22,9.7l0.2,1.1l1,0.4c1.1,0.4,2.1,1,2.9,1.7l0.9,0.7l1.1-0.4l2.9-0.9
+ l1.4,2.3L30,16.7l-0.8,0.7l0.2,1.1c0.1,0.6,0.1,1,0.1,1.5s0,0.9-0.1,1.5l-0.2,1.1l0.8,0.7L32.4,25.4z"/>
+ <path d="M20,15c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5S22.8,15,20,15z M20,23c-1.7,0-3-1.3-3-3c0-1.7,1.3-3,3-3c1.7,0,3,1.3,3,3C23,21.7,21.7,23,20,23z"/>
+ </svg>
+ Configuration</span></button>
+ </li>
+ <li>
+ <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="change('users')" tabindex="5">
+ <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" class="nav-icon"><path d="M16 21c5.523 0 10-4.477 10-10S21.523 1 16 1 6 5.477 6 11s4.477 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zM24 23H8a4 4 0 0 0-4 4v4h24v-4a4 4 0 0 0-4-4z"/></svg></span>
+ <span>Users</span>
+ </button>
+ </li>
+ </ul>
+ <ul class="nav__second-level btn-health" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'server-health')}">
+ <li ng-class="{'active': (path == '/server-health/event-log')}">
+ <a href="#/server-health/event-log" tabindex="3" ng-click="closeSubnav()">Event log</a></li>
+ <li ng-class="{'active': (path == '/server-health/inventory-overview' || path == '/server-health/inventory')}" ng-click="closeSubnav()">
+ <a href="#/server-health/inventory-overview" tabindex="4">Hardware status</a></li>
+ <li ng-class="{'active': (path == '/server-health/sensors-overview' || path == '/server-health/sensors')}">
+ <a href="#/server-health/sensors-overview" ng-click="closeSubnav()" tabindex="5">Sensors</a></li>
+ <!--<li ng-class="{'active': (path == '/server-health/power-consumption')}"><a href="#/server-health/power-consumption" tabindex="4" ng-click="closeSubnav()">Power consumption</a></li>-->
+ <li ng-class="{'active': (path == '/server-health/unit-id')}">
+ <a href="#/server-health/unit-id" tabindex="6" ng-click="closeSubnav()">Server LED</a></li>
+ </ul>
+ <ul class="nav__second-level btn-control" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'server-control')}">
+ <li ng-class="{'active': (path == '/server-control' || path == '/server-control/power-operations')}">
+ <a href="#/server-control/power-operations" ng-click="closeSubnav()">Server power operations</a></li>
+ <li ng-class="{'active': (path == '/server-control/bmc-reboot')}">
+ <a href="#/server-control/bmc-reboot" tabindex="8" ng-click="closeSubnav()">Reboot BMC</a></li>
+ <li ng-class="{'active': (path == '/server-control/remote-console')}">
+ <a href="#/server-control/remote-console" tabindex="5" ng-click="closeSubnav()">Serial over LAN</a></li>
+ </ul>
+ <ul class="nav__second-level btn-firmware" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'configuration')}">
+ <li ng-class="{'active': (path == '/configuration' || path == '/configuration/network')}">
+ <a href="#/configuration/network" ng-click="closeSubnav()">Network settings</a></li>
+ <li ng-class="{'active': (path == '/configuration' || path == '/configuration/firmware')}">
+ <a href="#/configuration/firmware" ng-click="closeSubnav()">Firmware</a></li>
+ </ul>
+ <ul class="nav__second-level btn-users" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'users')}">
+ <li ng-class="{'active': (path == '/users' || path == '/users/manage-accounts')}">
+ <a href="#/users/manage-accounts" ng-click="closeSubnav()">Manage user account</a></li>
+ </ul>
+</nav>
diff --git a/app/common/directives/app-navigation.js b/app/common/directives/app-navigation.js
index 00c3ec7..6e3025e 100644
--- a/app/common/directives/app-navigation.js
+++ b/app/common/directives/app-navigation.js
@@ -11,6 +11,7 @@
'path': '=',
'showNavigation': '='
},
+<<<<<<< HEAD
'controller': ['$scope', '$location', 'dataService', function($scope, $location, dataService){
$scope.showSubMenu = false;
$scope.change = function(firstLevel){
@@ -33,6 +34,13 @@
$scope.firstLevel = 'overview';
}
+=======
+ 'controller': ['$scope', 'dataService', function($scope, dataService){
+ $scope.$watch('showNavigation', function(){
+ var paddingTop = 0;
+ $scope.firstLevel = 'overview';
+ $scope.secondLevel = 'system_overview';
+>>>>>>> 4c1a3dd... Major update to code structure
if($scope.showNavigation){
paddingTop = document.getElementById('header__wrapper').offsetHeight;
}
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 0f3b729..3ed48a3 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -11,7 +11,11 @@
'use strict';
angular
.module('app.common.services')
+<<<<<<< HEAD
.factory('APIUtils', ['$http', 'Constants', '$q', function($http, Constants, $q){
+=======
+ .factory('APIUtils', ['$http', 'Constants', function($http, Constants){
+>>>>>>> 4c1a3dd... Major update to code structure
var SERVICE = {
LOGIN_CREDENTIALS: Constants.LOGIN_CREDENTIALS,
API_CREDENTIALS: Constants.API_CREDENTIALS,
@@ -19,8 +23,11 @@
CHASSIS_POWER_STATE: Constants.CHASSIS_POWER_STATE,
HOST_STATE_TEXT: Constants.HOST_STATE,
HOST_STATE: Constants.HOST_STATE,
+<<<<<<< HEAD
LED_STATE: Constants.LED_STATE,
LED_STATE_TEXT: Constants.LED_STATE_TEXT,
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
getChassisState: function(callback){
$http({
method: 'GET',
@@ -55,6 +62,7 @@
console.log(error);
});
},
+<<<<<<< HEAD
getLEDState: function(callback){
$http({
method: 'GET',
@@ -76,6 +84,8 @@
console.log(error);
});
},
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
login: function(username, password, callback){
$http({
method: 'POST',
@@ -92,11 +102,15 @@
}
}).error(function(error){
if(callback){
+<<<<<<< HEAD
if(error && error.status && error.status == 'error'){
callback(error);
}else{
callback(error, true);
}
+=======
+ callback(null, true);
+>>>>>>> 4c1a3dd... Major update to code structure
}
console.log(error);
});
@@ -170,6 +184,7 @@
}
});
},
+<<<<<<< HEAD
setLEDState: function(state, callback){
$http({
method: 'PUT',
@@ -219,6 +234,15 @@
});
},
hostPowerOn: function(callback){
+=======
+ hostPowerOn: function(callback){
+ /**
+ curl -c cjar -b cjar -k -H "Content-Type: application/json" -d
+ "{\"data\": \"xyz.openbmc_project.State.Host.Transition.Off\"}"
+ -X PUT
+ https://9.3.164.147/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+ **/
+>>>>>>> 4c1a3dd... Major update to code structure
$http({
method: 'PUT',
url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/state/host0/attr/RequestedHostTransition",
@@ -313,6 +337,7 @@
console.log(error);
}
});
+<<<<<<< HEAD
},
getLogs: function(callback){
$http({
@@ -785,6 +810,9 @@
return defer.promise;
},
+=======
+ }
+>>>>>>> 4c1a3dd... Major update to code structure
};
return SERVICE;
}]);
diff --git a/app/common/services/apiInterceptor.js b/app/common/services/apiInterceptor.js
index d1a23ad..cba3c6e 100644
--- a/app/common/services/apiInterceptor.js
+++ b/app/common/services/apiInterceptor.js
@@ -16,12 +16,18 @@
.service('apiInterceptor', ['$q', '$rootScope', 'dataService', function($q, $rootScope, dataService){
return {
'request': function(config){
+<<<<<<< HEAD
dataService.loading = true;
config.timeout = 20000;
+=======
+ dataService.server_unreachable = false;
+ dataService.loading = true;
+>>>>>>> 4c1a3dd... Major update to code structure
return config;
},
'response': function(response){
dataService.loading = false;
+<<<<<<< HEAD
//not interested in template requests
if(!/^https?\:/i.test(response.config.url)){
@@ -33,6 +39,12 @@
dataService.server_unreachable = true;
}else{
dataService.server_unreachable = false;
+=======
+ dataService.last_updated = new Date();
+
+ if(response == null){
+ dataService.server_unreachable = true;
+>>>>>>> 4c1a3dd... Major update to code structure
}
if(response && response.status == 'error' &&
@@ -45,9 +57,12 @@
'responseError': function(rejection){
dataService.server_unreachable = true;
dataService.loading = false;
+<<<<<<< HEAD
if(dataService.path != '/login'){
$rootScope.$emit('timedout-user', {});
}
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
return $q.reject(rejection);
}
};
diff --git a/app/common/services/constants.js b/app/common/services/constants.js
index a610ba9..0db039f 100644
--- a/app/common/services/constants.js
+++ b/app/common/services/constants.js
@@ -20,8 +20,12 @@
password: "testpass",
},
API_CREDENTIALS: {
+<<<<<<< HEAD
host: 'https://9.3.181.15',
mock_host: 'http://localhost:3000'
+=======
+ host: 'https://9.3.164.147'
+>>>>>>> 4c1a3dd... Major update to code structure
},
API_RESPONSE: {
ERROR_STATUS: 'error',
@@ -44,6 +48,7 @@
off: -1,
booting: 0,
unreachable: -2
+<<<<<<< HEAD
},
LED_STATE: {
on: true,
@@ -78,8 +83,14 @@
'xyz.openbmc_project.Sensor.Value.Unit.Watts': 'watts',
'xyz.openbmc_project.Sensor.Value.Unit.Amperes': 'amperes',
'xyz.openbmc_project.Sensor.Value.Unit.Joules': 'joules'
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
}
};
});
+<<<<<<< HEAD
})(window.angular);
+=======
+})(window.angular);
+>>>>>>> 4c1a3dd... Major update to code structure
diff --git a/app/common/services/dataService.js b/app/common/services/dataService.js
index 4cb72c5..f5f4c61 100644
--- a/app/common/services/dataService.js
+++ b/app/common/services/dataService.js
@@ -19,8 +19,12 @@
this.server_state = 'Unreachable';
this.server_status = -2;
this.chassis_state = 'On';
+<<<<<<< HEAD
this.LED_state = Constants.LED_STATE_TEXT.off;
this.server_id = Constants.API_CREDENTIALS.host.replace(/[^\d]+/m,"");
+=======
+ this.server_id = "Server 9.3.164.147";
+>>>>>>> 4c1a3dd... Major update to code structure
this.last_updated = new Date();
this.loading = false;
@@ -29,7 +33,10 @@
this.showNavigation = false;
this.bodyStyle = {};
this.path = '';
+<<<<<<< HEAD
this.sensorData = [];
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
this.setPowerOnState = function(){
this.server_state = Constants.HOST_STATE_TEXT.on;
diff --git a/app/common/services/userModel.js b/app/common/services/userModel.js
index dba607d..60f718e 100644
--- a/app/common/services/userModel.js
+++ b/app/common/services/userModel.js
@@ -15,9 +15,12 @@
.module('app.common.services')
.service('userModel', ['APIUtils',function(APIUtils){
return {
+<<<<<<< HEAD
fakeLogin: function(callback){
sessionStorage.setItem('LOGIN_ID', 'FAKE_ID');
},
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
login : function(username, password, callback){
APIUtils.login(username, password, function(response, error){
if(response &&
diff --git a/app/common/styles/base/colors.scss b/app/common/styles/base/colors.scss
index 38dd401..fe9f2dc 100644
--- a/app/common/styles/base/colors.scss
+++ b/app/common/styles/base/colors.scss
@@ -1,98 +1,28 @@
// Global
-$white: #ffffff;
+$white: #fff;
$black: #333;
-$darkgrey: #666;
-$medgrey: #d7dbe0;
-$lightgrey: #f5f7fa;
-$lightblue: #f1f2f6;
-$medblue: #3f71ec;
-$purple: #5A3EC8;
-$darkpurple: #20214f;
-$field__disabled: #e6e6e6;
-$field__focus: #3C6DEF;
-$btn__disabled-txt: #a6a5a6;
-$btn__disabled-bg: #d8d8d8;
+$field__disabled: #F4F8F8;
+$error: #FF5C49;
+$status-ok: #098145;
// Dark background
$darkbg__grey: #E3ECEC;
$darkbg__accent: #79a6f6;
-$darkbg__primary: #19273c;
+$darkbg__primary: #1d3458;
+$active: #648FFF;
-//Disabled table elements
-$disabled-row: #dddee0;
-$disabled-row-txt: #999999;
-
-//Forms
-$input-border: #a7a7a7;
-
-// Light Background
+// White Background
$lightbg__grey: #b8c1c1;
-$lightbg__accent: #d8e2fc;
-$lightbg__primary: #3c6df0;
-
-// Primary Button colors
-$primebtn__bg: #3c6df0;
-$primebtn__text: $white;
-
-// Secondary Button colors
-$secbtn__bg: #ebf0fc;
-$secbtn__border: #3f71ec;
-$secbtn__text: #3f71ec;
-
-// Dropdowns
-$dropdown__focus-bg: #e6e9ee;
-
-// Status colors
-$error-color: #e62425;
-$status-ok: #34bc6e;
-$status-ok-light: #bcefce;
-$status-warn: #ffb000;
+$lightbg__accent: #3c6df0;
+$lightbg__primary: #19273c;
// Alerts
-$alert__error: rgb(230, 35, 37);
-$alert__warning: rgb(255, 127, 0);
-$alert__message: rgb(203, 221, 235);
-
-// Severity
-$critical-lightbg: #e62325;
-$critical-darkbg: #ff5c49;
-$severity-medium-lightbg: #dc267f;
-$medium-darkbg: #FF509E;
-$warning-lightbg: #ff836f;
-$warning-darkbg: #ffb000;
-$low-lightbg: #c42cd6;
-$normal: #00baa1;
-
-// Priority tags
-$lowPriorityColor: #00b6cb;
-$lowPriorty-bg: #cdf0f6;
-$medPriorityColor: #feb101;
-$medPriorty-bg: #fef0cd;
-$highPriorityColor: #e62425;
-$highPriority-bg: #edc9cb;
-$resolvedColor: #999999;
-$resolved-bg: #d6d6d6;
-
-
-// Threshold graphs
-$thresh-critical: $error-color;
-$thresh-warning: #ffb001;
-$thresh-normal: $lightgrey;
-
-//Inventory
-$active: #c6b6f5;
-$inactive: $severity-medium-lightbg;
-$present: #b1bef3;
-$not-present: $severity-medium-lightbg;
+$alert__error: rgba(230, 35, 37, 0.3);
+$alert__warning: rgba(255, 127, 0, 0.3);
+$alert__message: rgba(203, 221, 235, 0.5);
// Links
-$links: #3c6df0;
-$links__hover: $lightbg__primary;
-$links__visited: #8ea7ea;
-$links__disabled: rgba(27, 40, 52, 0.70);
-
-// Navigation
-$nav__top-level-color: #1a273b;
-$nav__second-level-color: #e6e9ed;
-
-
+$links: #648FFF;
+$links__hover: $lightbg__accent;
+$links__visited: #5A3EC8;
+$links__disabled: rgba(27, 40, 52, 0.70);
\ No newline at end of file
diff --git a/app/common/styles/base/colors.scss~HEAD b/app/common/styles/base/colors.scss~HEAD
new file mode 100644
index 0000000..38dd401
--- /dev/null
+++ b/app/common/styles/base/colors.scss~HEAD
@@ -0,0 +1,98 @@
+// Global
+$white: #ffffff;
+$black: #333;
+$darkgrey: #666;
+$medgrey: #d7dbe0;
+$lightgrey: #f5f7fa;
+$lightblue: #f1f2f6;
+$medblue: #3f71ec;
+$purple: #5A3EC8;
+$darkpurple: #20214f;
+$field__disabled: #e6e6e6;
+$field__focus: #3C6DEF;
+$btn__disabled-txt: #a6a5a6;
+$btn__disabled-bg: #d8d8d8;
+
+// Dark background
+$darkbg__grey: #E3ECEC;
+$darkbg__accent: #79a6f6;
+$darkbg__primary: #19273c;
+
+//Disabled table elements
+$disabled-row: #dddee0;
+$disabled-row-txt: #999999;
+
+//Forms
+$input-border: #a7a7a7;
+
+// Light Background
+$lightbg__grey: #b8c1c1;
+$lightbg__accent: #d8e2fc;
+$lightbg__primary: #3c6df0;
+
+// Primary Button colors
+$primebtn__bg: #3c6df0;
+$primebtn__text: $white;
+
+// Secondary Button colors
+$secbtn__bg: #ebf0fc;
+$secbtn__border: #3f71ec;
+$secbtn__text: #3f71ec;
+
+// Dropdowns
+$dropdown__focus-bg: #e6e9ee;
+
+// Status colors
+$error-color: #e62425;
+$status-ok: #34bc6e;
+$status-ok-light: #bcefce;
+$status-warn: #ffb000;
+
+// Alerts
+$alert__error: rgb(230, 35, 37);
+$alert__warning: rgb(255, 127, 0);
+$alert__message: rgb(203, 221, 235);
+
+// Severity
+$critical-lightbg: #e62325;
+$critical-darkbg: #ff5c49;
+$severity-medium-lightbg: #dc267f;
+$medium-darkbg: #FF509E;
+$warning-lightbg: #ff836f;
+$warning-darkbg: #ffb000;
+$low-lightbg: #c42cd6;
+$normal: #00baa1;
+
+// Priority tags
+$lowPriorityColor: #00b6cb;
+$lowPriorty-bg: #cdf0f6;
+$medPriorityColor: #feb101;
+$medPriorty-bg: #fef0cd;
+$highPriorityColor: #e62425;
+$highPriority-bg: #edc9cb;
+$resolvedColor: #999999;
+$resolved-bg: #d6d6d6;
+
+
+// Threshold graphs
+$thresh-critical: $error-color;
+$thresh-warning: #ffb001;
+$thresh-normal: $lightgrey;
+
+//Inventory
+$active: #c6b6f5;
+$inactive: $severity-medium-lightbg;
+$present: #b1bef3;
+$not-present: $severity-medium-lightbg;
+
+// Links
+$links: #3c6df0;
+$links__hover: $lightbg__primary;
+$links__visited: #8ea7ea;
+$links__disabled: rgba(27, 40, 52, 0.70);
+
+// Navigation
+$nav__top-level-color: #1a273b;
+$nav__second-level-color: #e6e9ed;
+
+
diff --git a/app/common/styles/base/core.scss b/app/common/styles/base/core.scss
index 3dc8fea..37aaf46 100644
--- a/app/common/styles/base/core.scss
+++ b/app/common/styles/base/core.scss
@@ -5,9 +5,32 @@
color: $black;
}
+.container {
+ max-width: 1440px;
+}
+
p {
margin-bottom: .8em;
- transition: margin .05s;
+ @include fastTransition-all;
+}
+
+button, .button, input[type="submit"] {
+ color: $white;
+ background: $lightbg__primary;
+ border: 1px solid $lightbg__primary;
+ font-weight: normal;
+ font-size: 1em;
+ text-transform: none;
+ border-radius: 0;
+ padding: .5rem 2rem;
+ height: auto;
+ line-height: 2.5em;
+ &:hover {
+ background: $lightbg__accent;
+ //box-shadow: inset 0 0 0 2px $lightbg__primary;
+ cursor: pointer;
+ @include fastTransition-all;
+ }
}
a {
@@ -16,9 +39,9 @@
color: $links__visited;
}
&:hover {
- text-decoration: underline;
+ color: $links__hover;
}
- :focus {
+ focus {
color: $links;
}
}
\ No newline at end of file
diff --git a/app/common/styles/base/core.scss~HEAD b/app/common/styles/base/core.scss~HEAD
new file mode 100644
index 0000000..3dc8fea
--- /dev/null
+++ b/app/common/styles/base/core.scss~HEAD
@@ -0,0 +1,24 @@
+html, body {
+ height: 100%;
+ @include fontFamily;
+ font-size: 16px;
+ color: $black;
+}
+
+p {
+ margin-bottom: .8em;
+ transition: margin .05s;
+}
+
+a {
+ color: $links;
+ &:visited {
+ color: $links__visited;
+ }
+ &:hover {
+ text-decoration: underline;
+ }
+ :focus {
+ color: $links;
+ }
+}
\ No newline at end of file
diff --git a/app/common/styles/base/forms.scss b/app/common/styles/base/forms.scss
index 0957609..c4f7eed 100644
--- a/app/common/styles/base/forms.scss
+++ b/app/common/styles/base/forms.scss
@@ -19,45 +19,29 @@
input[type='text'],
textarea {
border-radius: 0px;
- border: 1px solid $input-border;
+ border: 1px solid $lightbg__grey;
height: 3.1em;
+ transition: all 1s ease;
margin: 0 0 1em 0;
- background: $white;
- box-shadow: 0 0 0;
- transition: none !important;
+ background: $lightbg__grey;
+ box-shadow: 0px 0px 0px;
&:focus {
- border-color: $medgrey;
- box-shadow: 0 -5px $field__focus inset;
+ border-color: $lightbg__accent;
+ box-shadow: 0px 0px 0px;
}
- &:disabled,
- .disabled {
+ &:disabled, .disabled {
background: $field__disabled;
border: 1px solid $lightbg__grey;
}
&.input__error {
- box-shadow: 0 -5px $error-color inset;
- color: $error-color;
- &:focus {
- box-shadow: 0 -5px $field__focus inset;
- }
+ border-color: $error;
+ background: rgba(230, 35, 37, 0.1);
}
}
-//Foundation overwrite
-[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea {
- border-color: $input-border;
-}
-
-input[readonly],
-input[readonly]:focus{
- box-shadow: 0 0 0;
- background: $field__disabled;
- border: 1px solid $lightbg__grey;
-}
-
textarea { padding: .2em;
height: auto;}
-input[type="submit"], .submit {
+input[type="submit"] {
margin: 1em 0;
width: 100%;
}
@@ -74,3 +58,73 @@
box-shadow: 0 0 0;
}
}
+
+//Custom Checkbox and Radio
+.checkbox-custom,
+.radio-custom {
+ opacity: 0;
+ position: absolute;
+}
+
+.checkbox-custom, .checkbox-custom-label,
+.radio-custom,
+.radio-custom-label {
+ display: inline-block;
+ vertical-align: middle;
+ margin: .1em 0 .1em -.5em;
+ padding: .5em;
+ cursor: pointer;
+}
+
+.checkbox-custom-label, .radio-custom-label {
+ position: relative;
+ padding-left: 2em;
+
+}
+
+.checkbox-custom + .checkbox-custom-label:before,
+.radio-custom + .radio-custom-label:before {
+ content: '';
+ background: #fff;
+ border: 1px solid $lightbg__grey;
+ display: inline-block;
+ vertical-align: middle;
+ width: 16px;
+ height: 16px;
+ margin-right: 10px;
+ margin-top: -3px;
+ text-align: center;
+ position: absolute;
+ left: 9px;
+ top: 15px;
+}
+
+.checkbox-custom:checked + .checkbox-custom-label:after {
+ content: '\2713';
+ position: absolute;
+ left: 10px;
+ top: 3px;
+ font-size: 1em;
+ padding: 4px 0 0 2px;
+ color: $white;
+}
+
+.checkbox-custom:checked + .checkbox-custom-label:before {
+ background: $lightbg__primary;
+ @include fastTransition-all;
+}
+
+.radio-custom + .radio-custom-label:before {
+ border-radius: 50%;
+}
+
+.radio-custom:checked + .radio-custom-label:before {
+ background: $lightbg__primary;
+ @include fastTransition-all;
+ box-shadow: inset 0px 0px 0px 2px #fff;
+}
+
+
+.checkbox-custom:focus + .checkbox-custom-label, .radio-custom:focus + .radio-custom-label {
+ outline: 1px solid $lightbg__grey; /* focus style */
+}
\ No newline at end of file
diff --git a/app/common/styles/base/forms.scss~HEAD b/app/common/styles/base/forms.scss~HEAD
new file mode 100644
index 0000000..0957609
--- /dev/null
+++ b/app/common/styles/base/forms.scss~HEAD
@@ -0,0 +1,76 @@
+label, legend {
+ font-size:1em;
+ font-weight: 300;
+ margin: 0;
+ &.disabled {
+ color: $lightbg__grey;
+ }
+ .error {
+ font-size: .9em;
+ }
+}
+
+input[type='email'],
+input[type='number'],
+input[type='password'],
+input[type='search'],
+input[type='tel'],
+input[type='url'],
+input[type='text'],
+textarea {
+ border-radius: 0px;
+ border: 1px solid $input-border;
+ height: 3.1em;
+ margin: 0 0 1em 0;
+ background: $white;
+ box-shadow: 0 0 0;
+ transition: none !important;
+ &:focus {
+ border-color: $medgrey;
+ box-shadow: 0 -5px $field__focus inset;
+ }
+ &:disabled,
+ .disabled {
+ background: $field__disabled;
+ border: 1px solid $lightbg__grey;
+ }
+ &.input__error {
+ box-shadow: 0 -5px $error-color inset;
+ color: $error-color;
+ &:focus {
+ box-shadow: 0 -5px $field__focus inset;
+ }
+ }
+}
+
+//Foundation overwrite
+[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea {
+ border-color: $input-border;
+}
+
+input[readonly],
+input[readonly]:focus{
+ box-shadow: 0 0 0;
+ background: $field__disabled;
+ border: 1px solid $lightbg__grey;
+}
+
+textarea { padding: .2em;
+ height: auto;}
+input[type="submit"], .submit {
+ margin: 1em 0;
+ width: 100%;
+}
+
+//Custom select
+select{
+ border-radius: 0px;
+ height:auto;
+ @include fastTransition-all;
+ @include bgImage__arrowDown-primary;
+ &:focus {
+ border-color: $lightbg__accent;
+ @include bgImage__arrowDown-accent;
+ box-shadow: 0 0 0;
+ }
+}
diff --git a/app/common/styles/base/foundation b/app/common/styles/base/foundation
new file mode 100644
index 0000000..0247f7f
--- /dev/null
+++ b/app/common/styles/base/foundation
@@ -0,0 +1,1567 @@
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.3.0
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
+/* Document
+ ========================================================================== */
+/**
+ * 1. Change the default font family in all browsers (opinionated).
+ * 2. Correct the line height in all browsers.
+ * 3. Prevent adjustments of font size after orientation changes in
+ * IE on Windows Phone and in iOS.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ line-height: 1.15;
+ /* 2 */
+ -ms-text-size-adjust: 100%;
+ /* 3 */
+ -webkit-text-size-adjust: 100%;
+ /* 3 */ }
+
+/* Sections
+ ========================================================================== */
+/**
+ * Remove the margin in all browsers (opinionated).
+ */
+body {
+ margin: 0; }
+
+/**
+ * Add the correct display in IE 9-.
+ */
+article,
+aside,
+footer,
+header,
+nav,
+section {
+ display: block; }
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+figcaption,
+figure {
+ display: block; }
+
+/**
+ * Add the correct margin in IE 8.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+hr {
+ box-sizing: content-box;
+ /* 1 */
+ height: 0;
+ /* 1 */
+ overflow: visible;
+ /* 2 */ }
+
+/**
+ * Add the correct display in IE.
+ */
+main {
+ display: block; }
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+pre {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */ }
+
+/* Links
+ ========================================================================== */
+/**
+ * 1. Remove the gray background on active links in IE 10.
+ * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
+ */
+a {
+ background-color: transparent;
+ /* 1 */
+ -webkit-text-decoration-skip: objects;
+ /* 2 */ }
+
+/**
+ * Remove the outline on focused links when they are also active or hovered
+ * in all browsers (opinionated).
+ */
+a:active,
+a:hover {
+ outline-width: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * 1. Remove the bottom border in Firefox 39-.
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+abbr[title] {
+ border-bottom: none;
+ /* 1 */
+ text-decoration: underline;
+ /* 2 */
+ text-decoration: underline dotted;
+ /* 2 */ }
+
+/**
+ * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
+ */
+b,
+strong {
+ font-weight: inherit; }
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+b,
+strong {
+ font-weight: bolder; }
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ /* 1 */
+ font-size: 1em;
+ /* 2 */ }
+
+/**
+ * Add the correct font style in Android 4.3-.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Add the correct background and color in IE 9-.
+ */
+mark {
+ background-color: #ff0;
+ color: #000; }
+
+/**
+ * Add the correct font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sub {
+ bottom: -0.25em; }
+
+sup {
+ top: -0.5em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+audio,
+video {
+ display: inline-block; }
+
+/**
+ * Add the correct display in iOS 4-7.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Remove the border on images inside links in IE 10-.
+ */
+img {
+ border-style: none; }
+
+/**
+ * Hide the overflow in IE.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * 1. Change the font styles in all browsers (opinionated).
+ * 2. Remove the margin in Firefox and Safari.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: sans-serif;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ line-height: 1.15;
+ /* 1 */
+ margin: 0;
+ /* 2 */ }
+
+/**
+ * Show the overflow in IE.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+button,
+select {
+ /* 1 */
+ text-transform: none; }
+
+/**
+ * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+ * controls in Android 4.
+ * 2. Correct the inability to style clickable types in iOS and Safari.
+ */
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */ }
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ /**
+ * Remove the inner border and padding in Firefox.
+ */
+ /**
+ * Restore the focus styles unset by the previous rule.
+ */ }
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0; }
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText; }
+
+/**
+ * Show the overflow in Edge.
+ */
+input {
+ overflow: visible; }
+
+/**
+ * 1. Add the correct box sizing in IE 10-.
+ * 2. Remove the padding in IE 10-.
+ */
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+ /**
+ * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+ */ }
+[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */ }
+
+/**
+ * Change the border, margin, and padding in all browsers (opinionated).
+ */
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em; }
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+legend {
+ box-sizing: border-box;
+ /* 1 */
+ display: table;
+ /* 1 */
+ max-width: 100%;
+ /* 1 */
+ padding: 0;
+ /* 3 */
+ color: inherit;
+ /* 2 */
+ white-space: normal;
+ /* 1 */ }
+
+/**
+ * 1. Add the correct display in IE 9-.
+ * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+progress {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Remove the default vertical scrollbar in IE.
+ */
+textarea {
+ overflow: auto; }
+
+/* Interactive
+ ========================================================================== */
+/*
+ * Add the correct display in Edge, IE, and Firefox.
+ */
+details {
+ display: block; }
+
+/*
+ * Add the correct display in all browsers.
+ */
+summary {
+ display: list-item; }
+
+/*
+ * Add the correct display in IE 9-.
+ */
+menu {
+ display: block; }
+
+/* Scripting
+ ========================================================================== */
+/**
+ * Add the correct display in IE 9-.
+ */
+canvas {
+ display: inline-block; }
+
+/**
+ * Add the correct display in IE.
+ */
+template {
+ display: none; }
+
+/* Hidden
+ ========================================================================== */
+/**
+ * Add the correct display in IE 10-.
+ */
+[hidden] {
+ display: none; }
+
+.foundation-mq {
+ font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
+
+html {
+ box-sizing: border-box;
+ font-size: 100%; }
+
+*,
+*::before,
+*::after {
+ box-sizing: inherit; }
+
+body {
+ margin: 0;
+ padding: 0;
+ background: #fefefe;
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-weight: normal;
+ line-height: 1.5;
+ color: #0a0a0a;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
+
+img {
+ display: inline-block;
+ vertical-align: middle;
+ max-width: 100%;
+ height: auto;
+ -ms-interpolation-mode: bicubic; }
+
+textarea {
+ height: auto;
+ min-height: 50px;
+ border-radius: 3px; }
+
+select {
+ width: 100%;
+ border-radius: 3px; }
+
+.map_canvas img,
+.map_canvas embed,
+.map_canvas object,
+.mqa-display img,
+.mqa-display embed,
+.mqa-display object {
+ max-width: none !important; }
+
+button {
+ padding: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border: 0;
+ border-radius: 3px;
+ background: transparent;
+ line-height: 1; }
+[data-whatinput='mouse'] button {
+ outline: 0; }
+
+.is-visible {
+ display: block !important; }
+
+.is-hidden {
+ display: none !important; }
+
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+ display: block;
+ box-sizing: border-box;
+ width: 100%;
+ height: 2.4375rem;
+ margin: 0 0 1rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ border-radius: 3px;
+ background-color: #fefefe;
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ font-family: inherit;
+ font-size: 1rem;
+ font-weight: normal;
+ color: #0a0a0a;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none; }
+[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+textarea:focus {
+ outline: none;
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ box-shadow: 0 0 5px #cacaca;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+
+textarea {
+ max-width: 100%; }
+textarea[rows] {
+ height: auto; }
+
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #cacaca; }
+
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+ color: #cacaca; }
+
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #cacaca; }
+
+input::placeholder,
+textarea::placeholder {
+ color: #cacaca; }
+
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+
+[type='submit'],
+[type='button'] {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 3px; }
+
+input[type='search'] {
+ box-sizing: border-box; }
+
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+ margin: 0 0 1rem; }
+
+[type='checkbox'] + label,
+[type='radio'] + label {
+ display: inline-block;
+ vertical-align: baseline;
+ margin-left: 0.5rem;
+ margin-right: 1rem;
+ margin-bottom: 0; }
+[type='checkbox'] + label[for],
+[type='radio'] + label[for] {
+ cursor: pointer; }
+
+label > [type='checkbox'],
+label > [type='radio'] {
+ margin-right: 0.5rem; }
+
+[type='file'] {
+ width: 100%; }
+
+label {
+ display: block;
+ margin: 0;
+ font-size: 0.875rem;
+ font-weight: normal;
+ line-height: 1.8;
+ color: #0a0a0a; }
+label.middle {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 0; }
+
+.help-text {
+ margin-top: -0.5rem;
+ font-size: 0.8125rem;
+ font-style: italic;
+ color: #0a0a0a; }
+
+.input-group {
+ display: table;
+ width: 100%;
+ margin-bottom: 1rem; }
+.input-group > :first-child {
+ border-radius: 3px 0 0 3px; }
+.input-group > :last-child > * {
+ border-radius: 0 3px 3px 0; }
+
+.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
+.input-group-button input,
+.input-group-button button,
+.input-group-button label {
+ margin: 0;
+ white-space: nowrap;
+ display: table-cell;
+ vertical-align: middle; }
+
+.input-group-label {
+ padding: 0 1rem;
+ border: 1px solid #cacaca;
+ background: #e6e6e6;
+ color: #0a0a0a;
+ text-align: center;
+ white-space: nowrap;
+ width: 1%;
+ height: 100%; }
+.input-group-label:first-child {
+ border-right: 0; }
+.input-group-label:last-child {
+ border-left: 0; }
+
+.input-group-field {
+ border-radius: 0;
+ height: 2.5rem; }
+
+.input-group-button {
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ width: 1%;
+ height: 100%; }
+.input-group-button a,
+.input-group-button input,
+.input-group-button button,
+.input-group-button label {
+ height: 2.5rem;
+ padding-top: 0;
+ padding-bottom: 0;
+ font-size: 1rem; }
+
+.input-group .input-group-button {
+ display: table-cell; }
+
+fieldset {
+ margin: 0;
+ padding: 0;
+ border: 0; }
+
+legend {
+ max-width: 100%;
+ margin-bottom: 0.5rem; }
+
+.fieldset {
+ margin: 1.125rem 0;
+ padding: 1.25rem;
+ border: 1px solid #cacaca; }
+.fieldset legend {
+ margin: 0;
+ margin-left: -0.1875rem;
+ padding: 0 0.1875rem;
+ background: #fefefe; }
+
+select {
+ height: 2.4375rem;
+ margin: 0 0 1rem;
+ padding: 0.5rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border: 1px solid #cacaca;
+ border-radius: 3px;
+ background-color: #fefefe;
+ font-family: inherit;
+ font-size: 1rem;
+ line-height: normal;
+ color: #0a0a0a;
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+ background-origin: content-box;
+ background-position: right -1rem center;
+ background-repeat: no-repeat;
+ background-size: 9px 6px;
+ padding-right: 1.5rem;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+@media screen and (min-width: 0\0) {
+ select {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+select:focus {
+ outline: none;
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ box-shadow: 0 0 5px #cacaca;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
+select:disabled {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
+select::-ms-expand {
+ display: none; }
+select[multiple] {
+ height: auto;
+ background-image: none; }
+
+.is-invalid-input:not(:focus) {
+ border-color: #c60f13;
+ background-color: #f8e6e7; }
+.is-invalid-input:not(:focus)::-webkit-input-placeholder {
+ color: #c60f13; }
+.is-invalid-input:not(:focus)::-moz-placeholder {
+ color: #c60f13; }
+.is-invalid-input:not(:focus):-ms-input-placeholder {
+ color: #c60f13; }
+.is-invalid-input:not(:focus)::placeholder {
+ color: #c60f13; }
+
+.is-invalid-label {
+ color: #c60f13; }
+
+.form-error {
+ display: none;
+ margin-top: -0.5rem;
+ margin-bottom: 1rem;
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #c60f13; }
+.form-error.is-visible {
+ display: block; }
+
+.hide {
+ display: none !important; }
+
+.invisible {
+ visibility: hidden; }
+
+@media screen and (max-width: 39.9375em) {
+ .hide-for-small-only {
+ display: none !important; } }
+
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+ .show-for-small-only {
+ display: none !important; } }
+
+@media print, screen and (min-width: 40em) {
+ .hide-for-medium {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em) {
+ .show-for-medium {
+ display: none !important; } }
+
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+ .hide-for-medium-only {
+ display: none !important; } }
+
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+ .show-for-medium-only {
+ display: none !important; } }
+
+@media print, screen and (min-width: 64em) {
+ .hide-for-large {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em) {
+ .show-for-large {
+ display: none !important; } }
+
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+ .hide-for-large-only {
+ display: none !important; } }
+
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+ .show-for-large-only {
+ display: none !important; } }
+
+.show-for-sr,
+.show-on-focus {
+ position: absolute !important;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0); }
+
+.show-on-focus:active, .show-on-focus:focus {
+ position: static !important;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto; }
+
+.show-for-landscape,
+.hide-for-portrait {
+ display: block !important; }
+@media screen and (orientation: landscape) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: block !important; } }
+@media screen and (orientation: portrait) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: none !important; } }
+
+.hide-for-landscape,
+.show-for-portrait {
+ display: none !important; }
+@media screen and (orientation: landscape) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: none !important; } }
+@media screen and (orientation: portrait) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: block !important; } }
+
+.row {
+ max-width: 100rem;
+ margin-right: auto;
+ margin-left: auto; }
+.row::before, .row::after {
+ display: table;
+ content: ' '; }
+.row::after {
+ clear: both; }
+.row.collapse > .column, .row.collapse > .columns {
+ padding-right: 0;
+ padding-left: 0; }
+.row .row {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem; }
+@media print, screen and (min-width: 40em) {
+ .row .row {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem; } }
+@media print, screen and (min-width: 64em) {
+ .row .row {
+ margin-right: -0.75rem;
+ margin-left: -0.75rem; } }
+.row .row.collapse {
+ margin-right: 0;
+ margin-left: 0; }
+.row.expanded {
+ max-width: none; }
+.row.expanded .row {
+ margin-right: auto;
+ margin-left: auto; }
+
+.column, .columns {
+ width: 100%;
+ float: left;
+ padding-right: 0.75rem;
+ padding-left: 0.75rem; }
+.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
+ float: right; }
+.column.end:last-child:last-child, .end.columns:last-child:last-child {
+ float: left; }
+
+.column.row.row, .row.row.columns {
+ float: none; }
+
+.row .column.row.row, .row .row.row.columns {
+ margin-right: 0;
+ margin-left: 0;
+ padding-right: 0;
+ padding-left: 0; }
+
+.small-1 {
+ width: 8.33333%; }
+
+.small-push-1 {
+ position: relative;
+ left: 8.33333%; }
+
+.small-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+
+.small-offset-0 {
+ margin-left: 0%; }
+
+.small-2 {
+ width: 16.66667%; }
+
+.small-push-2 {
+ position: relative;
+ left: 16.66667%; }
+
+.small-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+
+.small-offset-1 {
+ margin-left: 8.33333%; }
+
+.small-3 {
+ width: 25%; }
+
+.small-push-3 {
+ position: relative;
+ left: 25%; }
+
+.small-pull-3 {
+ position: relative;
+ left: -25%; }
+
+.small-offset-2 {
+ margin-left: 16.66667%; }
+
+.small-4 {
+ width: 33.33333%; }
+
+.small-push-4 {
+ position: relative;
+ left: 33.33333%; }
+
+.small-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+
+.small-offset-3 {
+ margin-left: 25%; }
+
+.small-5 {
+ width: 41.66667%; }
+
+.small-push-5 {
+ position: relative;
+ left: 41.66667%; }
+
+.small-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+
+.small-offset-4 {
+ margin-left: 33.33333%; }
+
+.small-6 {
+ width: 50%; }
+
+.small-push-6 {
+ position: relative;
+ left: 50%; }
+
+.small-pull-6 {
+ position: relative;
+ left: -50%; }
+
+.small-offset-5 {
+ margin-left: 41.66667%; }
+
+.small-7 {
+ width: 58.33333%; }
+
+.small-push-7 {
+ position: relative;
+ left: 58.33333%; }
+
+.small-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+
+.small-offset-6 {
+ margin-left: 50%; }
+
+.small-8 {
+ width: 66.66667%; }
+
+.small-push-8 {
+ position: relative;
+ left: 66.66667%; }
+
+.small-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+
+.small-offset-7 {
+ margin-left: 58.33333%; }
+
+.small-9 {
+ width: 75%; }
+
+.small-push-9 {
+ position: relative;
+ left: 75%; }
+
+.small-pull-9 {
+ position: relative;
+ left: -75%; }
+
+.small-offset-8 {
+ margin-left: 66.66667%; }
+
+.small-10 {
+ width: 83.33333%; }
+
+.small-push-10 {
+ position: relative;
+ left: 83.33333%; }
+
+.small-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+
+.small-offset-9 {
+ margin-left: 75%; }
+
+.small-11 {
+ width: 91.66667%; }
+
+.small-push-11 {
+ position: relative;
+ left: 91.66667%; }
+
+.small-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+
+.small-offset-10 {
+ margin-left: 83.33333%; }
+
+.small-12 {
+ width: 100%; }
+
+.small-offset-11 {
+ margin-left: 91.66667%; }
+
+.small-up-1 > .column, .small-up-1 > .columns {
+ float: left;
+ width: 100%; }
+.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
+ float: left; }
+
+.small-up-2 > .column, .small-up-2 > .columns {
+ float: left;
+ width: 50%; }
+.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
+ float: left; }
+
+.small-up-3 > .column, .small-up-3 > .columns {
+ float: left;
+ width: 33.33333%; }
+.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
+ float: left; }
+
+.small-up-4 > .column, .small-up-4 > .columns {
+ float: left;
+ width: 25%; }
+.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
+ float: left; }
+
+.small-up-5 > .column, .small-up-5 > .columns {
+ float: left;
+ width: 20%; }
+.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
+ float: left; }
+
+.small-up-6 > .column, .small-up-6 > .columns {
+ float: left;
+ width: 16.66667%; }
+.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
+ float: left; }
+
+.small-up-7 > .column, .small-up-7 > .columns {
+ float: left;
+ width: 14.28571%; }
+.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
+ float: left; }
+
+.small-up-8 > .column, .small-up-8 > .columns {
+ float: left;
+ width: 12.5%; }
+.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
+ float: left; }
+
+.small-collapse > .column, .small-collapse > .columns {
+ padding-right: 0;
+ padding-left: 0; }
+
+.small-collapse .row {
+ margin-right: 0;
+ margin-left: 0; }
+
+.expanded.row .small-collapse.row {
+ margin-right: 0;
+ margin-left: 0; }
+
+.small-uncollapse > .column, .small-uncollapse > .columns {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem; }
+
+.small-centered {
+ margin-right: auto;
+ margin-left: auto; }
+.small-centered, .small-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+
+.small-uncentered,
+.small-push-0,
+.small-pull-0 {
+ position: static;
+ float: left;
+ margin-right: 0;
+ margin-left: 0; }
+
+@media print, screen and (min-width: 40em) {
+ .medium-1 {
+ width: 8.33333%; }
+ .medium-push-1 {
+ position: relative;
+ left: 8.33333%; }
+ .medium-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+ .medium-offset-0 {
+ margin-left: 0%; }
+ .medium-2 {
+ width: 16.66667%; }
+ .medium-push-2 {
+ position: relative;
+ left: 16.66667%; }
+ .medium-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+ .medium-offset-1 {
+ margin-left: 8.33333%; }
+ .medium-3 {
+ width: 25%; }
+ .medium-push-3 {
+ position: relative;
+ left: 25%; }
+ .medium-pull-3 {
+ position: relative;
+ left: -25%; }
+ .medium-offset-2 {
+ margin-left: 16.66667%; }
+ .medium-4 {
+ width: 33.33333%; }
+ .medium-push-4 {
+ position: relative;
+ left: 33.33333%; }
+ .medium-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+ .medium-offset-3 {
+ margin-left: 25%; }
+ .medium-5 {
+ width: 41.66667%; }
+ .medium-push-5 {
+ position: relative;
+ left: 41.66667%; }
+ .medium-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+ .medium-offset-4 {
+ margin-left: 33.33333%; }
+ .medium-6 {
+ width: 50%; }
+ .medium-push-6 {
+ position: relative;
+ left: 50%; }
+ .medium-pull-6 {
+ position: relative;
+ left: -50%; }
+ .medium-offset-5 {
+ margin-left: 41.66667%; }
+ .medium-7 {
+ width: 58.33333%; }
+ .medium-push-7 {
+ position: relative;
+ left: 58.33333%; }
+ .medium-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+ .medium-offset-6 {
+ margin-left: 50%; }
+ .medium-8 {
+ width: 66.66667%; }
+ .medium-push-8 {
+ position: relative;
+ left: 66.66667%; }
+ .medium-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+ .medium-offset-7 {
+ margin-left: 58.33333%; }
+ .medium-9 {
+ width: 75%; }
+ .medium-push-9 {
+ position: relative;
+ left: 75%; }
+ .medium-pull-9 {
+ position: relative;
+ left: -75%; }
+ .medium-offset-8 {
+ margin-left: 66.66667%; }
+ .medium-10 {
+ width: 83.33333%; }
+ .medium-push-10 {
+ position: relative;
+ left: 83.33333%; }
+ .medium-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+ .medium-offset-9 {
+ margin-left: 75%; }
+ .medium-11 {
+ width: 91.66667%; }
+ .medium-push-11 {
+ position: relative;
+ left: 91.66667%; }
+ .medium-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+ .medium-offset-10 {
+ margin-left: 83.33333%; }
+ .medium-12 {
+ width: 100%; }
+ .medium-offset-11 {
+ margin-left: 91.66667%; }
+ .medium-up-1 > .column, .medium-up-1 > .columns {
+ float: left;
+ width: 100%; }
+ .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
+ float: left; }
+ .medium-up-2 > .column, .medium-up-2 > .columns {
+ float: left;
+ width: 50%; }
+ .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
+ float: left; }
+ .medium-up-3 > .column, .medium-up-3 > .columns {
+ float: left;
+ width: 33.33333%; }
+ .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
+ float: left; }
+ .medium-up-4 > .column, .medium-up-4 > .columns {
+ float: left;
+ width: 25%; }
+ .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
+ float: left; }
+ .medium-up-5 > .column, .medium-up-5 > .columns {
+ float: left;
+ width: 20%; }
+ .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
+ float: left; }
+ .medium-up-6 > .column, .medium-up-6 > .columns {
+ float: left;
+ width: 16.66667%; }
+ .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
+ float: left; }
+ .medium-up-7 > .column, .medium-up-7 > .columns {
+ float: left;
+ width: 14.28571%; }
+ .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
+ float: left; }
+ .medium-up-8 > .column, .medium-up-8 > .columns {
+ float: left;
+ width: 12.5%; }
+ .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
+ float: left; }
+ .medium-collapse > .column, .medium-collapse > .columns {
+ padding-right: 0;
+ padding-left: 0; }
+ .medium-collapse .row {
+ margin-right: 0;
+ margin-left: 0; }
+ .expanded.row .medium-collapse.row {
+ margin-right: 0;
+ margin-left: 0; }
+ .medium-uncollapse > .column, .medium-uncollapse > .columns {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem; }
+ .medium-centered {
+ margin-right: auto;
+ margin-left: auto; }
+ .medium-centered, .medium-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+ .medium-uncentered,
+ .medium-push-0,
+ .medium-pull-0 {
+ position: static;
+ float: left;
+ margin-right: 0;
+ margin-left: 0; } }
+
+@media print, screen and (min-width: 64em) {
+ .large-1 {
+ width: 8.33333%; }
+ .large-push-1 {
+ position: relative;
+ left: 8.33333%; }
+ .large-pull-1 {
+ position: relative;
+ left: -8.33333%; }
+ .large-offset-0 {
+ margin-left: 0%; }
+ .large-2 {
+ width: 16.66667%; }
+ .large-push-2 {
+ position: relative;
+ left: 16.66667%; }
+ .large-pull-2 {
+ position: relative;
+ left: -16.66667%; }
+ .large-offset-1 {
+ margin-left: 8.33333%; }
+ .large-3 {
+ width: 25%; }
+ .large-push-3 {
+ position: relative;
+ left: 25%; }
+ .large-pull-3 {
+ position: relative;
+ left: -25%; }
+ .large-offset-2 {
+ margin-left: 16.66667%; }
+ .large-4 {
+ width: 33.33333%; }
+ .large-push-4 {
+ position: relative;
+ left: 33.33333%; }
+ .large-pull-4 {
+ position: relative;
+ left: -33.33333%; }
+ .large-offset-3 {
+ margin-left: 25%; }
+ .large-5 {
+ width: 41.66667%; }
+ .large-push-5 {
+ position: relative;
+ left: 41.66667%; }
+ .large-pull-5 {
+ position: relative;
+ left: -41.66667%; }
+ .large-offset-4 {
+ margin-left: 33.33333%; }
+ .large-6 {
+ width: 50%; }
+ .large-push-6 {
+ position: relative;
+ left: 50%; }
+ .large-pull-6 {
+ position: relative;
+ left: -50%; }
+ .large-offset-5 {
+ margin-left: 41.66667%; }
+ .large-7 {
+ width: 58.33333%; }
+ .large-push-7 {
+ position: relative;
+ left: 58.33333%; }
+ .large-pull-7 {
+ position: relative;
+ left: -58.33333%; }
+ .large-offset-6 {
+ margin-left: 50%; }
+ .large-8 {
+ width: 66.66667%; }
+ .large-push-8 {
+ position: relative;
+ left: 66.66667%; }
+ .large-pull-8 {
+ position: relative;
+ left: -66.66667%; }
+ .large-offset-7 {
+ margin-left: 58.33333%; }
+ .large-9 {
+ width: 75%; }
+ .large-push-9 {
+ position: relative;
+ left: 75%; }
+ .large-pull-9 {
+ position: relative;
+ left: -75%; }
+ .large-offset-8 {
+ margin-left: 66.66667%; }
+ .large-10 {
+ width: 83.33333%; }
+ .large-push-10 {
+ position: relative;
+ left: 83.33333%; }
+ .large-pull-10 {
+ position: relative;
+ left: -83.33333%; }
+ .large-offset-9 {
+ margin-left: 75%; }
+ .large-11 {
+ width: 91.66667%; }
+ .large-push-11 {
+ position: relative;
+ left: 91.66667%; }
+ .large-pull-11 {
+ position: relative;
+ left: -91.66667%; }
+ .large-offset-10 {
+ margin-left: 83.33333%; }
+ .large-12 {
+ width: 100%; }
+ .large-offset-11 {
+ margin-left: 91.66667%; }
+ .large-up-1 > .column, .large-up-1 > .columns {
+ float: left;
+ width: 100%; }
+ .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
+ float: left; }
+ .large-up-2 > .column, .large-up-2 > .columns {
+ float: left;
+ width: 50%; }
+ .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
+ float: left; }
+ .large-up-3 > .column, .large-up-3 > .columns {
+ float: left;
+ width: 33.33333%; }
+ .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
+ float: left; }
+ .large-up-4 > .column, .large-up-4 > .columns {
+ float: left;
+ width: 25%; }
+ .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
+ float: left; }
+ .large-up-5 > .column, .large-up-5 > .columns {
+ float: left;
+ width: 20%; }
+ .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
+ float: left; }
+ .large-up-6 > .column, .large-up-6 > .columns {
+ float: left;
+ width: 16.66667%; }
+ .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
+ float: left; }
+ .large-up-7 > .column, .large-up-7 > .columns {
+ float: left;
+ width: 14.28571%; }
+ .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
+ float: left; }
+ .large-up-8 > .column, .large-up-8 > .columns {
+ float: left;
+ width: 12.5%; }
+ .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
+ float: left; }
+ .large-collapse > .column, .large-collapse > .columns {
+ padding-right: 0;
+ padding-left: 0; }
+ .large-collapse .row {
+ margin-right: 0;
+ margin-left: 0; }
+ .expanded.row .large-collapse.row {
+ margin-right: 0;
+ margin-left: 0; }
+ .large-uncollapse > .column, .large-uncollapse > .columns {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem; }
+ .large-centered {
+ margin-right: auto;
+ margin-left: auto; }
+ .large-centered, .large-centered:last-child:not(:first-child) {
+ float: none;
+ clear: both; }
+ .large-uncentered,
+ .large-push-0,
+ .large-pull-0 {
+ position: static;
+ float: left;
+ margin-right: 0;
+ margin-left: 0; } }
+
+.column-block {
+ margin-bottom: 1.5rem; }
+.column-block > :last-child {
+ margin-bottom: 0; }
diff --git a/app/common/styles/base/index.scss b/app/common/styles/base/index.scss
index b8a33b9..bc61b44 100644
--- a/app/common/styles/base/index.scss
+++ b/app/common/styles/base/index.scss
@@ -5,6 +5,4 @@
@import 'core';
@import 'typography';
@import 'utility';
-@import 'buttons';
@import 'forms';
-@import 'icons';
diff --git a/app/common/styles/base/index.scss~HEAD b/app/common/styles/base/index.scss~HEAD
new file mode 100644
index 0000000..b8a33b9
--- /dev/null
+++ b/app/common/styles/base/index.scss~HEAD
@@ -0,0 +1,10 @@
+@import 'variables';
+@import 'foundation';
+@import 'colors';
+@import 'mixins';
+@import 'core';
+@import 'typography';
+@import 'utility';
+@import 'buttons';
+@import 'forms';
+@import 'icons';
diff --git a/app/common/styles/base/mixins.scss b/app/common/styles/base/mixins.scss
index d13f2ce..4b7a1eb 100644
--- a/app/common/styles/base/mixins.scss
+++ b/app/common/styles/base/mixins.scss
@@ -1,3 +1,8 @@
+
+$lightbg__grey: #b8c1c1;
+$lightbg__accent: #3c6df0;
+$lightbg__primary: #19273c;
+
//Breakpoints mixin
@mixin mediaQuery($breakpoint) {
@if $breakpoint == "x-small" {
@@ -9,15 +14,21 @@
@media (min-width: 47.938em) { //767px
@content;
}
- } @else if $breakpoint == "medium" {
+ }
+
+ @else if $breakpoint == "medium" {
@media (min-width: 64.000em) { //1024px
@content;
}
- } @else if $breakpoint == "large" {
+ }
+
+ @else if $breakpoint == "large" {
@media (min-width: 85.375em) { //1366px
@content;
}
- } @else if $breakpoint == "x-large" {
+ }
+
+ @else if $breakpoint == "x-large" {
@media (min-width: 100.000em) { //1600px
@content;
}
@@ -26,43 +37,10 @@
//Fonts mixin
@mixin fontFamily {
- font-family: Helvetica, Arial, Verdana, sans-serif;
+ font-family: Arial, Verdana, sans-serif;
font-weight: 200;
}
-@mixin fontFamilyBold {
- font-family: Helvetica, Arial, Verdana, sans-serif;
- font-weight: 700;
-}
-
-@mixin fontCourierBold {
- font-family: "Courier New", Helvetica, monospace, arial, sans-serif;
- font-weight: 700;
-}
-
-//Navigation icons
-@mixin navIcons {
- color: $white;
- fill: $white;
- max-height: 40px;
- stroke-width: .5;
- display: block;
- width: 40px;
- margin: 0 auto .5em auto;
- .st0 {
- fill: none;
- stroke: #fff;
- stroke-width: 2;
- stroke-miterlimit: 10;
- }
- .st1 {
- fill: none;
- stroke: #fff;
- stroke-width: 4;
- stroke-miterlimit: 10;
- }
-}
-
//Transitions mixin
@mixin fastTransition-all {
transition: all .5s ease;
@@ -78,99 +56,11 @@
}
@mixin bgImage__arrowDown-accent {
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #3c6df0'></polygon></svg>");
+ background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #3c6df0'></polygon></svg>");
}
@mixin bgImage__arrowDown-grey {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #b8c1c1'></polygon></svg>");
}
-@mixin calcColumn-5 {
- min-width: calc(100% * (1/5) - 5px);
-}
-@mixin calcColumn-4 ($offset: 0) {
- min-width: calc(100% * (1/4) - #{$offset});
-}
-
-@mixin calcColumn-3 {
- min-width: calc(100% * (1/3) - 5px);
-}
-
-@mixin calcSplitColumn {
- min-width: calc(100% * (1/2) - 5px);
-}
-
-@mixin vertCenter {
- top: 50%;
- transform: translateY(-50%);
-}
-
-@mixin indeterminate-bar {
- background-image: repeating-linear-gradient(-45deg, rgba(251, 234, 174, 0.35), rgba(251, 234, 174, 0.35) 25px, rgba(244, 176, 0, 0.45) 25px, rgba(244, 176, 0, 0.45) 50px);
- -webkit-animation: progress 2s linear infinite;
- -moz-animation: progress 2s linear infinite;
- animation: progress 2s linear infinite;
- background-size: 165% 100%;
-
- @-webkit-keyframes progress {
- 0% {
- background-position: -70px 0;
- }
- 100% {
- background-position: 0 0;
- }
- }
-
- @-moz-keyframes progress {
- 0% {
- background-position: -70px 0;
- }
- 100% {
- background-position: 0 0;
- }
- }
-
- @-ms-keyframes progress {
- 0% {
- background-position: -70px 0;
- }
- 100% {
- background-position: 0 0;
- }
- }
-
- @keyframes progress {
- 0% {
- background-position: -70px 0;
- }
- 100% {
- background-position: 0 0;
- }
- }
-}
-
-@mixin table-row-save {
- @-webkit-keyframes row-flash {
- from { background-color: $lightblue; }
- to { background-color: inherit; }
- }
- @-moz-keyframes row-flash {
- from { background-color: $lightblue; }
- to { background-color: inherit; }
- }
- @-o-keyframes row-flash {
- from { background-color: $lightblue; }
- to { background-color: inherit; }
- }
- @keyframes row-flash {
- from { background-color: $lightblue; }
- to { background-color: inherit; }
- }
- .row-flash {
- -webkit-animation: row-flash 1s infinite; /* Safari 4+ */
- -moz-animation: row-flash 1s infinite; /* Fx 5+ */
- -o-animation: row-flash 1s infinite; /* Opera 12+ */
- animation: row-flash 1s infinite; /* IE 10+ */
- }
-}
\ No newline at end of file
diff --git a/app/common/styles/base/mixins.scss~HEAD b/app/common/styles/base/mixins.scss~HEAD
new file mode 100644
index 0000000..d13f2ce
--- /dev/null
+++ b/app/common/styles/base/mixins.scss~HEAD
@@ -0,0 +1,176 @@
+//Breakpoints mixin
+@mixin mediaQuery($breakpoint) {
+ @if $breakpoint == "x-small" {
+ @media (min-width: 25.000em) { //400px
+ @content;
+ }
+ }
+ @if $breakpoint == "small" {
+ @media (min-width: 47.938em) { //767px
+ @content;
+ }
+ } @else if $breakpoint == "medium" {
+ @media (min-width: 64.000em) { //1024px
+ @content;
+ }
+ } @else if $breakpoint == "large" {
+ @media (min-width: 85.375em) { //1366px
+ @content;
+ }
+ } @else if $breakpoint == "x-large" {
+ @media (min-width: 100.000em) { //1600px
+ @content;
+ }
+ }
+}
+
+//Fonts mixin
+@mixin fontFamily {
+ font-family: Helvetica, Arial, Verdana, sans-serif;
+ font-weight: 200;
+}
+
+@mixin fontFamilyBold {
+ font-family: Helvetica, Arial, Verdana, sans-serif;
+ font-weight: 700;
+}
+
+@mixin fontCourierBold {
+ font-family: "Courier New", Helvetica, monospace, arial, sans-serif;
+ font-weight: 700;
+}
+
+//Navigation icons
+@mixin navIcons {
+ color: $white;
+ fill: $white;
+ max-height: 40px;
+ stroke-width: .5;
+ display: block;
+ width: 40px;
+ margin: 0 auto .5em auto;
+ .st0 {
+ fill: none;
+ stroke: #fff;
+ stroke-width: 2;
+ stroke-miterlimit: 10;
+ }
+ .st1 {
+ fill: none;
+ stroke: #fff;
+ stroke-width: 4;
+ stroke-miterlimit: 10;
+ }
+}
+
+//Transitions mixin
+@mixin fastTransition-all {
+ transition: all .5s ease;
+}
+
+@mixin slowTransition-all {
+ transition: all 1.5s ease;
+}
+
+//Custom SVG arrow
+@mixin bgImage__arrowDown-primary {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #19273c'></polygon></svg>");
+}
+
+@mixin bgImage__arrowDown-accent {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #3c6df0'></polygon></svg>");
+}
+
+@mixin bgImage__arrowDown-grey {
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #b8c1c1'></polygon></svg>");
+}
+
+@mixin calcColumn-5 {
+ min-width: calc(100% * (1/5) - 5px);
+}
+
+@mixin calcColumn-4 ($offset: 0) {
+ min-width: calc(100% * (1/4) - #{$offset});
+}
+
+@mixin calcColumn-3 {
+ min-width: calc(100% * (1/3) - 5px);
+}
+
+@mixin calcSplitColumn {
+ min-width: calc(100% * (1/2) - 5px);
+}
+
+@mixin vertCenter {
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+@mixin indeterminate-bar {
+ background-image: repeating-linear-gradient(-45deg, rgba(251, 234, 174, 0.35), rgba(251, 234, 174, 0.35) 25px, rgba(244, 176, 0, 0.45) 25px, rgba(244, 176, 0, 0.45) 50px);
+ -webkit-animation: progress 2s linear infinite;
+ -moz-animation: progress 2s linear infinite;
+ animation: progress 2s linear infinite;
+ background-size: 165% 100%;
+
+ @-webkit-keyframes progress {
+ 0% {
+ background-position: -70px 0;
+ }
+ 100% {
+ background-position: 0 0;
+ }
+ }
+
+ @-moz-keyframes progress {
+ 0% {
+ background-position: -70px 0;
+ }
+ 100% {
+ background-position: 0 0;
+ }
+ }
+
+ @-ms-keyframes progress {
+ 0% {
+ background-position: -70px 0;
+ }
+ 100% {
+ background-position: 0 0;
+ }
+ }
+
+ @keyframes progress {
+ 0% {
+ background-position: -70px 0;
+ }
+ 100% {
+ background-position: 0 0;
+ }
+ }
+}
+
+@mixin table-row-save {
+ @-webkit-keyframes row-flash {
+ from { background-color: $lightblue; }
+ to { background-color: inherit; }
+ }
+ @-moz-keyframes row-flash {
+ from { background-color: $lightblue; }
+ to { background-color: inherit; }
+ }
+ @-o-keyframes row-flash {
+ from { background-color: $lightblue; }
+ to { background-color: inherit; }
+ }
+ @keyframes row-flash {
+ from { background-color: $lightblue; }
+ to { background-color: inherit; }
+ }
+ .row-flash {
+ -webkit-animation: row-flash 1s infinite; /* Safari 4+ */
+ -moz-animation: row-flash 1s infinite; /* Fx 5+ */
+ -o-animation: row-flash 1s infinite; /* Opera 12+ */
+ animation: row-flash 1s infinite; /* IE 10+ */
+ }
+}
\ No newline at end of file
diff --git a/app/common/styles/base/typography.scss b/app/common/styles/base/typography.scss
index 64f5e3c..b20397f 100644
--- a/app/common/styles/base/typography.scss
+++ b/app/common/styles/base/typography.scss
@@ -19,39 +19,26 @@
font-weight: 300;
margin: 0 0 .8rem;
line-height: 1;
- color: #333;
}
-h1, .h1 {
- font-size: 3rem;
- font-weight: 500;
- padding-top: .5em;
+h1 {
+ font-size: 2.3rem;
}
-h2, .h2 {
+h2 {
font-size: 1.8rem;
}
-h3, .h3 {
+h3 {
font-size: 1.3rem;
+}
+
+h4 {
+ font-size: 1.125rem;
letter-spacing: -.08rem;
}
-h4, .h4 {
- font-size: 1.125rem;
- letter-spacing: -.04rem;
-}
-
-h5, .h5 {
+h5 {
font-size: 1rem;
letter-spacing: -.05rem;
}
-
-.courier-normal {
- font-family: "Courier New", Helvetica, arial, sans-serif;
-}
-.courier-bold {
- font-family: "Courier New", Helvetica, arial, sans-serif;
- font-weight: 700;
- margin-bottom: 0;
-}
diff --git a/app/common/styles/base/typography.scss~HEAD b/app/common/styles/base/typography.scss~HEAD
new file mode 100644
index 0000000..64f5e3c
--- /dev/null
+++ b/app/common/styles/base/typography.scss~HEAD
@@ -0,0 +1,57 @@
+// Typography
+
+b,
+strong {
+ font-weight: bold;
+}
+
+p {
+ margin-top: 0;
+ line-height: 1.5rem;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-weight: 300;
+ margin: 0 0 .8rem;
+ line-height: 1;
+ color: #333;
+}
+
+h1, .h1 {
+ font-size: 3rem;
+ font-weight: 500;
+ padding-top: .5em;
+}
+
+h2, .h2 {
+ font-size: 1.8rem;
+}
+
+h3, .h3 {
+ font-size: 1.3rem;
+ letter-spacing: -.08rem;
+}
+
+h4, .h4 {
+ font-size: 1.125rem;
+ letter-spacing: -.04rem;
+}
+
+h5, .h5 {
+ font-size: 1rem;
+ letter-spacing: -.05rem;
+}
+
+.courier-normal {
+ font-family: "Courier New", Helvetica, arial, sans-serif;
+}
+.courier-bold {
+ font-family: "Courier New", Helvetica, arial, sans-serif;
+ font-weight: 700;
+ margin-bottom: 0;
+}
diff --git a/app/common/styles/base/utility.scss b/app/common/styles/base/utility.scss
index d0c1e80..2886bf1 100644
--- a/app/common/styles/base/utility.scss
+++ b/app/common/styles/base/utility.scss
@@ -1,5 +1,6 @@
.inline {
display: inline-block;
+ line-height: 2;
}
.disabled {
@@ -13,7 +14,7 @@
clear: both;
}
.error {
- color: $error-color;
+ color: $error;
}
.hide {
@@ -42,66 +43,14 @@
}
}
-.fixed {
- position:fixed;
- top:130px;
- z-index:200;
-}
-
-.bold {
- font-weight: 700;
-}
-
.no-margin {
- margin: 0 !important;
-}
-
-.no-padding {
- padding:0 !important;
+ margin: 0px !important;
}
.no-bottom-margin {
- margin-bottom: 0 !important;
+ margin-bottom: 0px !important;
}
.no-top-margin {
- margin-top: 0 !important;
-}
-
-.btm-border-grey {
- border-bottom: 1px solid $lightbg__grey;
-}
-
-.transitionAll {
- transition: all .5s ease;
-}
-
-//Uploading
-.uploading {
- @include indeterminate-bar;
- font-weight: 700;
- padding: .2em 6em .2em 1em;
- margin: .8em 0;
- width: 100%;
-}
-
-.accessible-text {
- height: 0;
- width: 0;
- position: absolute;
- overflow: hidden;
-}
-
-.show-scroll {
- // Force scrollbar to always be visible in webkit browsers
- &::-webkit-scrollbar {
- background-color: lighten($medgrey, 5%);
- width: 8px;
- }
-
- &::-webkit-scrollbar-thumb {
- border-radius: 5px;
- background-color: rgba(0,0,0,.5);
- -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
- }
+ margin-top: 0px !important;
}
\ No newline at end of file
diff --git a/app/common/styles/base/utility.scss~HEAD b/app/common/styles/base/utility.scss~HEAD
new file mode 100644
index 0000000..d0c1e80
--- /dev/null
+++ b/app/common/styles/base/utility.scss~HEAD
@@ -0,0 +1,107 @@
+.inline {
+ display: inline-block;
+}
+
+.disabled {
+ color: $lightbg__grey;
+}
+
+.float-right {
+ float: right;
+}
+.clear-float {
+ clear: both;
+}
+.error {
+ color: $error-color;
+}
+
+.hide {
+ display: none;
+}
+
+.show {
+ display: block;
+}
+
+.close {
+ color: $lightbg__primary;
+ font-size: 1.5em;
+ padding: 1em;
+ box-sizing: border-box;
+ line-height: 0;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ background: transparent;
+ border: 0px;
+ margin: 0;
+ &:hover {
+ color: $lightbg__accent;
+ background: transparent;
+ }
+}
+
+.fixed {
+ position:fixed;
+ top:130px;
+ z-index:200;
+}
+
+.bold {
+ font-weight: 700;
+}
+
+.no-margin {
+ margin: 0 !important;
+}
+
+.no-padding {
+ padding:0 !important;
+}
+
+.no-bottom-margin {
+ margin-bottom: 0 !important;
+}
+
+.no-top-margin {
+ margin-top: 0 !important;
+}
+
+.btm-border-grey {
+ border-bottom: 1px solid $lightbg__grey;
+}
+
+.transitionAll {
+ transition: all .5s ease;
+}
+
+//Uploading
+.uploading {
+ @include indeterminate-bar;
+ font-weight: 700;
+ padding: .2em 6em .2em 1em;
+ margin: .8em 0;
+ width: 100%;
+}
+
+.accessible-text {
+ height: 0;
+ width: 0;
+ position: absolute;
+ overflow: hidden;
+}
+
+.show-scroll {
+ // Force scrollbar to always be visible in webkit browsers
+ &::-webkit-scrollbar {
+ background-color: lighten($medgrey, 5%);
+ width: 8px;
+ }
+
+ &::-webkit-scrollbar-thumb {
+ border-radius: 5px;
+ background-color: rgba(0,0,0,.5);
+ -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
+ }
+}
\ No newline at end of file
diff --git a/app/common/styles/directives/app-header.scss b/app/common/styles/directives/app-header.scss
index e69de29..9b7dff5 100644
--- a/app/common/styles/directives/app-header.scss
+++ b/app/common/styles/directives/app-header.scss
@@ -0,0 +1,163 @@
+$logoHeight: 30px;
+$logoMaxHeight: 100px;
+$logoMaxWidth: 125px;
+
+#header__wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 100;
+}
+
+.app__version {
+ margin-left: 1em;
+ display: none;
+ @include mediaQuery(x-small) {
+ display: inline-block;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ }
+}
+
+header {
+ position: relative;
+ background: #000;
+ color: $white;
+ overflow: hidden;
+}
+
+.header__logout {
+ float: right;
+ display: inline-block;
+ color: $white;
+ font-size: .9em;
+ text-decoration: none;
+ padding: 1em;
+ &:visited {
+ color: $white;
+ }
+}
+
+.header__functions-wrapper {
+ color: $white;
+ background: $darkbg__primary;
+ padding: 0 1.1em;
+ box-sizing: border-box;
+ display: block;
+ position: relative;
+ overflow: hidden;
+ min-height: 5em;
+ #header__server-name {
+ //margin-top: .8em;
+ font-size: 1.5em;
+ font-weight: 500;
+ color: $white;
+ padding: .9em;
+ height: 100%;
+ background: transparent;
+ max-width: 350px;
+ white-space: nowrap;
+ }
+ .logo__wrapper {
+ padding-top: .5em;
+ //position: absolute;
+ //top: 50%;
+ //transform: translateY(-50%);
+ }
+
+ #header__logo {
+ vertical-align: middle;
+ margin: 1em;
+ float: left;
+ height: $logoHeight; //required for <SVG> logos - can remove if using img
+ max-height: $logoMaxHeight;
+ max-width: $logoMaxWidth;
+ width: auto;
+ }
+ #header__funct-icon {
+ display: block;
+ font-size: 2.3em;
+ color: $white;
+ padding: 0;
+ &:before {
+ content: '\2261';
+ line-height: .5;
+ font-size: 2em;
+ padding: 0 .3em;
+ }
+ @include mediaQuery(medium) {
+ display: none;
+ }
+ }
+
+ .header__functions {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ background: $darkbg__primary;
+ z-index: 100;
+ @include fastTransition-all;
+ span {
+ display: block;
+ color: $white;
+ font-size: 1em;
+ }
+ a, p, button {
+ display: block;
+ float: left;
+ text-decoration: none;
+ border-left: 1px solid #384456;
+ color: $lightgrey;
+ margin: 0;
+ padding: 1.250em 1.688em;
+ height: 100%;
+ font-size: 0.875em;
+ line-height: 1;
+ > span {
+ font-size: 1rem;
+ font-weight: bold;
+ }
+ }
+ }
+
+ // hide/show header functions based on screen size
+ .header__functions > #header__server-health {
+ display: none;
+ @include mediaQuery(small) {
+ display: block;
+ }
+ }
+
+ .header__functions > .header__refresh {
+ display: none;
+ @include mediaQuery(medium) {
+ display: block;
+ }
+ }
+
+ .header__functions {
+ .header__refresh {
+ color: $lightgrey;
+ line-height: 1.8;
+ margin-top: -4px;
+ }
+ }
+ .header__server-power,
+ .header__page-refresh {
+ &:hover {
+ background: rgba(60, 109, 240, .4);
+ }
+ }
+ .header__page-refresh {
+ img {
+ stroke: $white;
+ height: 22px;
+ width: 24px;
+ }
+ }
+}
+
+// end header__functions-wrapper
diff --git a/app/common/styles/directives/app-navigation.scss b/app/common/styles/directives/app-navigation.scss
index 2d818a9..8e69b7f 100644
--- a/app/common/styles/directives/app-navigation.scss
+++ b/app/common/styles/directives/app-navigation.scss
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
$nav__toplvlWidth: 125px;
$nav__seclvlWidth: 240px;
@@ -13,6 +14,16 @@
background: $nav__top-level-color;
//height: 100%;
position: absolute;
+=======
+$nav__toplvlWidth: 120px;
+$nav__seclvlWidth: 240px;
+
+// Top level navigation
+#nav__top-level {
+ background: $nav__top-level-color;
+ height: 100%;
+ position: fixed;
+>>>>>>> 4c1a3dd... Major update to code structure
left: 0;
top: 0;
bottom: 0;
@@ -21,6 +32,7 @@
margin: 0;
padding: 0;
width: $nav__toplvlWidth;
+<<<<<<< HEAD
overflow-y: auto;
li {
margin: 0;
@@ -29,6 +41,11 @@
.nav-icon {
@include navIcons;
}
+=======
+ li {
+ margin: 0;
+ }
+>>>>>>> 4c1a3dd... Major update to code structure
.button, button, a {
background: transparent;
height: auto;
@@ -42,9 +59,18 @@
margin-bottom: 0;
white-space: normal;
border-radius: 0;
+<<<<<<< HEAD
text-decoration: none;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
+=======
+ .nav__icon {
+ color: $white;
+ max-height: 40px;
+ stroke-width: .5;
+ margin-bottom: -.5em;
+ }
+>>>>>>> 4c1a3dd... Major update to code structure
a {
margin-bottom: 5px;
}
@@ -52,7 +78,11 @@
margin: 1em 0 0 0;
display: block;
font-size: .9em;
+<<<<<<< HEAD
font-weight: 700;
+=======
+ font-weight: normal;
+>>>>>>> 4c1a3dd... Major update to code structure
line-height: 1rem;
}
@@ -68,17 +98,24 @@
&:hover {
background: $nav__second-level-color;
fill: $black;
+<<<<<<< HEAD
color: $medblue;
padding: 1em;
border-radius: 0;
border-top: 1px solid $medgrey;
border-bottom: 1px solid $medgrey;
+=======
+ color: $black;
+ padding: 1em;
+ border-radius: 0;
+>>>>>>> 4c1a3dd... Major update to code structure
.nav__icon-help__outer {
stroke: $black;
}
.nav__icon-help__inner {
fill: $lightbg__primary;
}
+<<<<<<< HEAD
.nav-icon {
fill: $medblue;
color: $medblue;
@@ -91,11 +128,14 @@
stroke: $medblue;
}
}
+=======
+>>>>>>> 4c1a3dd... Major update to code structure
}
}
.opened {
background: $nav__second-level-color;
fill: $black;
+<<<<<<< HEAD
color: $medblue;
.nav__icon-help__outer {
stroke: $lightbg__primary;
@@ -112,6 +152,12 @@
stroke: $medblue;
}
}
+=======
+ color: $black;
+ .nav__icon-help__outer {
+ stroke: $lightbg__primary;
+ }
+>>>>>>> 4c1a3dd... Major update to code structure
}
}
@@ -121,11 +167,16 @@
background: $nav__second-level-color;
top: 0;
bottom: 0;
+<<<<<<< HEAD
left: -245px;
+=======
+ left: -$nav__toplvlWidth;
+>>>>>>> 4c1a3dd... Major update to code structure
width: $nav__seclvlWidth;
z-index: 97;
padding: 0;
margin: 0;
+<<<<<<< HEAD
list-style-type: none;
@include fastTransition-all;
&.opened {
@@ -133,6 +184,23 @@
box-shadow: 7px 0 28px -10px $darkgrey;
@include fastTransition-all;
}
+=======
+ display: none;
+ list-style-type: none;
+ @include fastTransition-all;
+ @include mediaQuery(medium) {
+ left: $nav__toplvlWidth;
+ &.btn-overview {
+ display: block;
+ }
+ }
+ &.opened {
+ left: $nav__toplvlWidth;
+ display: block;
+ @include fastTransition-all;
+ }
+
+>>>>>>> 4c1a3dd... Major update to code structure
a {
padding: 1.2em 1em 1.2em 1em;
display: block;
diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss
index 7b1d1c5..7d04da2 100644
--- a/app/common/styles/elements/index.scss
+++ b/app/common/styles/elements/index.scss
@@ -1,14 +1,5 @@
@import "toggle-switch";
-@import "toggle-filter";
@import "status";
-@import "tags";
@import "alerts";
-@import "inline-confirm";
-@import "accordion";
-@import "content-search";
-@import "paginate";
-@import "thresholds";
-@import "export";
-@import "modals";
-@import "quicklinks";
+@import "inline-confirm";
\ No newline at end of file
diff --git a/app/common/styles/elements/status.scss b/app/common/styles/elements/status.scss
index 7d9b57a..22d99b8 100644
--- a/app/common/styles/elements/status.scss
+++ b/app/common/styles/elements/status.scss
@@ -3,7 +3,6 @@
content: '\25CF';
display: inline-block;
font-size: 2em;
- color: $status-ok;
margin-right: .1em;
transform: translateY(2px);
@include slowTransition-all;
@@ -41,6 +40,7 @@
}
.status-light__good {
+ color: $status-ok;
&::before {
@include status-light__good;
}
diff --git a/app/common/styles/index.scss b/app/common/styles/index.scss
index 4288740..f6f6d84 100644
--- a/app/common/styles/index.scss
+++ b/app/common/styles/index.scss
@@ -1,3 +1,7 @@
+<<<<<<< HEAD
+=======
+
+>>>>>>> 4c1a3dd... Major update to code structure
@import "./base/index.scss";
@import "./elements/index.scss";
@import "./components/index.scss";
diff --git a/app/common/styles/layout/content.scss b/app/common/styles/layout/content.scss
index b1a7942..ac201b9 100644
--- a/app/common/styles/layout/content.scss
+++ b/app/common/styles/layout/content.scss
@@ -2,50 +2,12 @@
$nav__toplvlWidth: 120px;
$nav__seclvlWidth: 240px;
-// Page header
-.page-header {
- position: relative;
- border-bottom: 1px solid $lightbg__grey;
- margin: 1.625em 0 1.2em 0;
- padding-left: 0;
- overflow: hidden;
- .h4 {
- padding: 0;
- margin: 0 0 .5em 0;
- font-weight: bold;
- }
-}
-
.content__container {
margin-left: $nav__toplvlWidth;
padding: 1em .1em;
transition: left 1s ease;
@include mediaQuery(x-small){
- //margin-left: $nav__toplvlWidth + $nav__seclvlWidth;
+ margin-left: $nav__toplvlWidth + $nav__seclvlWidth;
padding: 1rem 2rem;
}
}
-
-section.row {
- padding-left: 0;
- padding-right: 0;
-}
-
-.content-header {
- font-weight: 700;
- margin-bottom: 0;
- margin-top: 2em;
-}
-
-.content-label, label {
- color: $darkgrey;
- text-transform: uppercase;
- font-weight: 700;
- font-size: .75em;
- margin-bottom: 0;
-}
-
-.subhead {
- border-bottom: 1px solid $medgrey;
- padding-bottom: .5em;
-}
\ No newline at end of file
diff --git a/app/common/styles/layout/header.scss b/app/common/styles/layout/header.scss
index fe06d0b..9bbe7e8 100644
--- a/app/common/styles/layout/header.scss
+++ b/app/common/styles/layout/header.scss
@@ -1,15 +1,15 @@
-$logoHeight: 30px;
+
+$logoHeight: 40px;
$logoMaxHeight: 100px;
$logoMaxWidth: 125px;
#header__wrapper {
position: fixed;
- top: 0;
+ top:0;
left: 0;
- right: 0;
- z-index: 300;
+ right:0;
+ z-index: 100;
}
-
.app__version {
margin-left: 1em;
display: none;
@@ -20,144 +20,32 @@
transform: translateY(-50%);
}
}
-
header {
position: relative;
- background: #000;
+ background: $black;
color: $white;
- overflow: hidden;
-}
+ padding: .8em;
-.header__logout {
- float: right;
- display: inline-block;
- color: $white;
- font-size: .9em;
- text-decoration: none;
- padding: 1em;
- &:visited {
- color: $white;
- }
-}
-
-.header__functions-wrapper {
- color: $white;
- background: $darkbg__primary;
- padding: 0 1.1em;
- box-sizing: border-box;
- display: block;
- position: relative;
- overflow: hidden;
- min-height: 5em;
- #header__server-name {
- //margin-top: .8em;
- font-size: 1.5em;
- font-weight: 500;
- color: $white;
- padding: .9em;
- height: 100%;
- background: transparent;
- max-width: 350px;
- white-space: nowrap;
- }
.logo__wrapper {
- padding-top: .5em;
- //position: absolute;
- //top: 50%;
- //transform: translateY(-50%);
+ display: inline-block;
}
#header__logo {
vertical-align: middle;
- margin: 1em;
+ margin-right: 1em;
float: left;
- height: $logoHeight; //required for <SVG> logos - can remove if using img
+ height:$logoHeight; //required for <SVG> logos - can remove if using img
max-height: $logoMaxHeight;
max-width: $logoMaxWidth;
width: auto;
}
- #header__funct-icon {
- display: block;
- font-size: 2.3em;
- color: $white;
- padding: 0;
- &:before {
- content: '\2261';
- line-height: .5;
- font-size: 2em;
- padding: 0 .3em;
- }
- @include mediaQuery(medium) {
- display: none;
- }
- }
- .header__functions {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- background: $darkbg__primary;
- z-index: 100;
- @include fastTransition-all;
- span {
- display: block;
- color: $white;
- font-size: 1em;
- }
- a, p, button {
- display: block;
- float: left;
- text-decoration: none;
- border-left: 1px solid #384456;
- color: $lightgrey;
- margin: 0;
- padding: 1.250em 1.688em;
- height: 100%;
- font-size: 0.875em;
- line-height: 1;
- > span {
- font-size: 1rem;
- font-weight: bold;
- }
- }
- }
-
- // hide/show header functions based on screen size
- .header__functions > #header__server-health {
- display: none;
- @include mediaQuery(small) {
- display: block;
- }
- }
-
- .header__functions > .header__refresh {
- display: none;
- @include mediaQuery(medium) {
- display: block;
- }
- }
-
- .header__functions {
- .header__refresh {
- color: $lightgrey;
- line-height: 1.8;
- margin-top: -4px;
- }
- }
- .header__server-power,
- .header__page-refresh {
- &:hover {
- background: rgba(60, 109, 240, .4);
- }
- }
- .header__page-refresh {
- img {
- stroke: $white;
- height: 22px;
- width: 24px;
- }
- }
}
-// end header__functions-wrapper
+.header__functions-wrapper {
+ color: $white;
+ background: green;
+ padding: 1em 1.1em;
+ box-sizing: border-box;
+ display: block;
+}
diff --git a/app/common/styles/layout/header.scss~HEAD b/app/common/styles/layout/header.scss~HEAD
new file mode 100644
index 0000000..fe06d0b
--- /dev/null
+++ b/app/common/styles/layout/header.scss~HEAD
@@ -0,0 +1,163 @@
+$logoHeight: 30px;
+$logoMaxHeight: 100px;
+$logoMaxWidth: 125px;
+
+#header__wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 300;
+}
+
+.app__version {
+ margin-left: 1em;
+ display: none;
+ @include mediaQuery(x-small) {
+ display: inline-block;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ }
+}
+
+header {
+ position: relative;
+ background: #000;
+ color: $white;
+ overflow: hidden;
+}
+
+.header__logout {
+ float: right;
+ display: inline-block;
+ color: $white;
+ font-size: .9em;
+ text-decoration: none;
+ padding: 1em;
+ &:visited {
+ color: $white;
+ }
+}
+
+.header__functions-wrapper {
+ color: $white;
+ background: $darkbg__primary;
+ padding: 0 1.1em;
+ box-sizing: border-box;
+ display: block;
+ position: relative;
+ overflow: hidden;
+ min-height: 5em;
+ #header__server-name {
+ //margin-top: .8em;
+ font-size: 1.5em;
+ font-weight: 500;
+ color: $white;
+ padding: .9em;
+ height: 100%;
+ background: transparent;
+ max-width: 350px;
+ white-space: nowrap;
+ }
+ .logo__wrapper {
+ padding-top: .5em;
+ //position: absolute;
+ //top: 50%;
+ //transform: translateY(-50%);
+ }
+
+ #header__logo {
+ vertical-align: middle;
+ margin: 1em;
+ float: left;
+ height: $logoHeight; //required for <SVG> logos - can remove if using img
+ max-height: $logoMaxHeight;
+ max-width: $logoMaxWidth;
+ width: auto;
+ }
+ #header__funct-icon {
+ display: block;
+ font-size: 2.3em;
+ color: $white;
+ padding: 0;
+ &:before {
+ content: '\2261';
+ line-height: .5;
+ font-size: 2em;
+ padding: 0 .3em;
+ }
+ @include mediaQuery(medium) {
+ display: none;
+ }
+ }
+
+ .header__functions {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ background: $darkbg__primary;
+ z-index: 100;
+ @include fastTransition-all;
+ span {
+ display: block;
+ color: $white;
+ font-size: 1em;
+ }
+ a, p, button {
+ display: block;
+ float: left;
+ text-decoration: none;
+ border-left: 1px solid #384456;
+ color: $lightgrey;
+ margin: 0;
+ padding: 1.250em 1.688em;
+ height: 100%;
+ font-size: 0.875em;
+ line-height: 1;
+ > span {
+ font-size: 1rem;
+ font-weight: bold;
+ }
+ }
+ }
+
+ // hide/show header functions based on screen size
+ .header__functions > #header__server-health {
+ display: none;
+ @include mediaQuery(small) {
+ display: block;
+ }
+ }
+
+ .header__functions > .header__refresh {
+ display: none;
+ @include mediaQuery(medium) {
+ display: block;
+ }
+ }
+
+ .header__functions {
+ .header__refresh {
+ color: $lightgrey;
+ line-height: 1.8;
+ margin-top: -4px;
+ }
+ }
+ .header__server-power,
+ .header__page-refresh {
+ &:hover {
+ background: rgba(60, 109, 240, .4);
+ }
+ }
+ .header__page-refresh {
+ img {
+ stroke: $white;
+ height: 22px;
+ width: 24px;
+ }
+ }
+}
+
+// end header__functions-wrapper
diff --git a/app/common/styles/layout/index.scss b/app/common/styles/layout/index.scss
index 4183519..1122ffe 100644
--- a/app/common/styles/layout/index.scss
+++ b/app/common/styles/layout/index.scss
@@ -1,2 +1,2 @@
@import 'header';
-@import 'content';
+@import 'navigation';
diff --git a/app/common/styles/layout/index.scss~HEAD b/app/common/styles/layout/index.scss~HEAD
new file mode 100644
index 0000000..4183519
--- /dev/null
+++ b/app/common/styles/layout/index.scss~HEAD
@@ -0,0 +1,2 @@
+@import 'header';
+@import 'content';
diff --git a/app/common/styles/layout/navigation.scss b/app/common/styles/layout/navigation.scss
new file mode 100644
index 0000000..024e869
--- /dev/null
+++ b/app/common/styles/layout/navigation.scss
@@ -0,0 +1,86 @@
+#nav__top-level {
+ background: $black;
+ height: 100%;
+ position: fixed;
+ left: 0;
+ top: 0;
+ bottom: 0;
+ z-index: 99;
+ list-style-type: none;
+ margin: 0;
+ li { margin: 0; }
+ .button, button, a {
+ background: transparent;
+ height: auto;
+ border: 0;
+ color: $white;
+ fill: $white;
+ width: 100%;
+ padding: 1em;
+ display: block;
+ text-align: center;
+ margin-bottom: 0;
+ white-space: normal;
+ .nav__icon {
+ color: $white;
+ max-height: 40px;
+ stroke-width: .5;
+ margin-bottom: -.5em;
+ }
+ a {
+ margin-bottom: 5px;
+ }
+ p {
+ margin: 0;
+ font-size: .9em;
+ line-height:1.2rem;
+ }
+
+ .nav__icon-help__outer {
+ fill: transparent;
+ stroke: $white;
+ stroke-miterlimit: 10;
+ stroke-width: 1px;
+ }
+ .nav__icon-help__Inner {
+ fill: $white;
+ }
+ &:hover {
+ background: $white;
+ fill: $black;
+ color: $black;
+ padding: 1em;
+ border-radius: 0;
+ .nav__icon-help__outer {
+ stroke: $black;
+ }
+ .nav__icon-help__inner {
+ fill: $black;
+ }
+ }
+ }
+ .opened {
+ background: $white;
+ fill: $black;
+ color: $black;
+ }
+}
+
+.nav__second-level {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 97;
+ display: block;
+ background: $white;
+ padding: 10px .6em;
+ margin: 0;
+ list-style-type: none;
+ transition: all ease-out 0.5s;
+ box-shadow: 0 2px 5px 0 $black;
+ &.opened {
+ transition: all ease-out .8s;
+
+ }
+}