﻿/* DEFAULTS
----------------------------------------------------------*/

body   
{
    background: #b6b7bc;
    font-size: .80em;
    font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
    margin: 0px;
    padding: 0px;
    color: #696969;
}

a:link, a:visited
{
    color: #3a4f63;
}

a:hover
{
    color: #4b6c9e;
    text-decoration: none;
}

a:active
{
    color: #4b6c9e;
}

p
{
    margin-bottom: 10px;
    line-height: 1.6em;
}

a img
{
	border:none;
}

input[type="text"], select
{
	margin: 2px 3px;
}
input[type="button"], input[type="submit"], a.button
{
	margin: 2px 3px;
	padding:2px 10px;
	background-color:#DDD;
	border:1px solid #CCC;
	color:#000;
	border-radius:3px;
	text-decoration:none;
	text-align: center;
}

input[type="button"]:hover, input[type="submit"]:hover, a.button:hover
{
	background-color:#EEE;
	border:1px solid #CCC;
	color:#000;
}

input[type="button"]:active, input[type="submit"]:active, a.button:active
{
	background-color:#FFF;
	border:1px solid #CCC;
	color:#000;
}

input[type="button"]:disabled, input[type="submit"]:disabled, a.button.disabled
{
	border:1px solid #CCC !important;
	background-color:#EEE !important;
	color:#AAA !important;
	cursor:default;
}

input[type="image"]
{
	cursor: pointer;
}

.button.dl
{
	position:absolute;
	right:0;
}

.button.ul
{
	position:absolute;
	right:120px;
}


/* HEADINGS   
----------------------------------------------------------*/

h1, h2, h3, h4, h5, h6
{
    font-size: 1.5em;
    color: #666666;
    font-variant: small-caps;
    text-transform: none;
    font-weight: 200;
    margin-bottom: 0px;
    /*border-bottom:1px solid #CCC;*/
}

h1
{
    font-size: 1.6em;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

h2
{
    font-size: 1.5em;
    font-weight: 600;
}

h3
{
    font-size: 1.2em;
}

h4
{
    font-size: 1.1em;
}

h5, h6
{
    font-size: 1em;
}

/* this rule styles <h1> and <h2> tags that are the 
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
    margin-top: 0px;
}


/* PRIMARY LAYOUT ELEMENTS   
----------------------------------------------------------*/

.page
{
    /*width: 960px;*/
    background-color: #fff;
    margin: 0;
    border: 1px solid #496077;
}

.header
{
    position: relative;
    margin: 0px;
    padding: 0px;
    background: #4b6c9e;
    width: 100%;
    z-index:3;
}

.header h1
{
    font-weight: 700;
    margin: 0px;
    padding: 0px 0px 0px 20px;
    color: #f9f9f9;
    border: none;
    line-height: 2em;
    font-size: 2em;
}
.header h1 a
{
	color: #f9f9f9;
	text-decoration:none;
}

.main
{
    padding: 0px 12px;
    margin: 12px 8px 8px 8px;
    min-height: 420px;
}

.leftCol
{
    padding: 6px 0px;
    margin: 12px 8px 8px 8px;
    width: 200px;
    min-height: 200px;
}

.footer
{
	background: #4b6c9e;
    color: #FFF;
    padding: 10px;
    margin: 0px auto;
    text-align: center;
    line-height: normal;
}
.footer a
{
	color:#FFF;
}

#locale-switcher
{
	float:right;
}


/* TAB MENU   
----------------------------------------------------------*/

div.hideSkiplink
{
    background-color:#3a4f63;
    width:100%;
}

div.menu
{
    padding: 4px 0px 4px 8px;
}

div.menu ul
{
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
}

div.menu ul li a, div.menu ul li a:visited
{
    background-color: #465c71;
    border: 1px #4e667d solid;
    color: #dde4ec;
    display: block;
    line-height: 1.35em;
    padding: 4px 20px;
    text-decoration: none;
    white-space: nowrap;
}

div.menu ul li a:hover
{
    background-color: #bfcbd6;
    color: #465c71;
    text-decoration: none;
}

div.menu ul li a:active
{
    background-color: #465c71;
    color: #cfdbe6;
    text-decoration: none;
}

.admin-menu ul, .admin-menu ul li
{
	margin:10px 20px;
	padding: 0;
	list-style-type: none;
	list-style-image: none;
}

.admin-menu ul li a
{
	font-size:15px;
	font-weight: 200;
	color: #000;
	text-decoration:none;
}

/* PENDING TRANSACTIONS SECTION   
----------------------------------------------------------*/
#pending-transactions
{
	z-index: 4;
	position: absolute;
	top: 0;
	right: 0;
}
#auth-request-alert
{
	position:absolute;
	top:50px;
	right:20px;
	width: 300px;
	padding:20px;
	background-color:#FFF;
	color:#000;
	border:1px solid #DDD;
	border-radius:5px;
	box-shadow: 2px 2px 8px #333;
}
#auth-request-alert h2
{
	margin-top:0;
	margin-bottom:10px;
	border-bottom:1px solid #DDD;
}
#auth-request-alert table
{
	width: 100%;
}
#auth-request-alert th
{
	font-weight:bold;
	text-align:right;
}
#auth-request-alert a
{
	display: inline-block;
	width: 35%;
	margin:0 1%;
}

/* FORM ELEMENTS   
----------------------------------------------------------*/

fieldset
{
    margin: 1em 0px;
    padding: 1em;
    border: 1px solid #ccc;
}

fieldset p 
{
    margin: 2px 12px 10px 10px;
}

fieldset.login label, fieldset.register label, fieldset.changePassword label
{
    display: block;
}

fieldset label.inline 
{
    display: inline;
}

legend 
{
    font-size: 1.1em;
    font-weight: 600;
    padding: 2px 4px 8px 4px;
}

input.textEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

input.passwordEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

div.accountInfo
{
    width: 42%;
}

/* MISC  
----------------------------------------------------------*/

.clear
{
    clear: both;
}

.title
{
    display: block;
    float: left;
    text-align: left;
    width: auto;
}

.loginDisplay
{
    font-size: 1.1em;
    display: block;
    text-align: right;
    padding: 10px;
    color: White;
}

.loginDisplay a:link
{
    color: white;
}

.loginDisplay a:visited
{
    color: white;
}

.loginDisplay a:hover
{
    color: white;
}

.failureNotification
{
    font-size: 1.2em;
    color: Red;
}

.bold
{
    font-weight: bold;
}

.submitButton
{
    text-align: right;
    padding-right: 10px;
}

.column
{
	float:left;
	width:50%;
}

.section
{
	margin-bottom:20px;
}

.section h1, .section h2, .section h3, .section h4, .section h5,  .section h6
{
	margin-bottom:10px;
	border-bottom:1px solid #CCC;
}


/* TABLES  
----------------------------------------------------------*/
table.data-table
{
	width: 100%;
	border: none;
}
table.data-table tbody tr
{
	cursor: default;
	border: 1px solid #BBB;
}
table.data-table thead tr, table.item-table thead tr
{
	background-color:#DDD;
	border: 1px solid #AAA;
}
table.data-table tbody tr.alt, table.data-table tbody tr:nth-child(even),
table.item-table tbody tr.alt, table.item-table tbody tr:nth-child(even)
{
	background-color:#EEE;
}

table.data-table tbody tr.selected
{
	background-color:#CDE !important;
}

table.data-table > tbody > tr:not(.pager):hover
{
	background-color:#DDD;
}
table.data-table tr th, table.data-table tr td
{
	border:none;
	padding: 0 10px;
	text-align: left;
}

table.item-table th, table.item-table td
{
	padding:2px 10px;
}

table.item-table tbody th
{
	text-align:right;
}

table.item-table thead th
{
	text-align:left;
}
table.item-table .section th
{
	text-align:left;
	border-bottom: 1px solid #DDD;
}
.pager
{
	border: 1px solid #BBB
}
.pager td
{
	padding:0 !important;
}
.pager a, .pager span
{
	text-decoration: none;
	display: inline-block;
	padding: 2px 0;
	border: 1px solid #DDD;
	width: 30px;
	text-align: center;
}
.pager a
{
	background:#FFF;
	color:#000;
}
.pager a:hover
{
	background-color:#EEE;
}
.pager span
{
	background-color:#4b6c9e;
	color:#FFF;
	font-weight:bold;
}
.pager table
{
	float:left;
}
.pager .page-size
{
	float:right;
	padding: 2px 10px;
}

.data-table .sort-cell{}
.data-table .sort-asc, .data-table .sort-desc
{
	background-attachment:scroll;
	background-repeat: no-repeat;
	background-position:left;
	padding-left: 20px;
}
.data-table .sort-asc{background-image:url(/Images/sort-asc.png);}
.data-table .sort-desc{background-image:url(/Images/sort-desc.png);}


/*.device-list .connected
{
	background-color:#DFD;
}

.device-list .connected:nth-child(even)
{
	background-color:#CFC;
}

.device-list .disconnected
{
	background-color:#FDD;
}

.device-list .disconnected:nth-child(even)
{
	background-color:#FCC;
}*/

/* ELEMENTS
----------------------------------------------------------*/
#map { height: 400px; }
#map .map-toggle-enlarge { width:25px;height:25px;background-color:#FFF; background-repeat:no-repeat;background-attachment: scroll;background-position: center center; border-radius:4px;border:1px solid #CCC;box-shadow:0 1px 5px rgba(0,0,0,0.65);cursor:pointer; }
#map .map-toggle-enlarge:hover { background-color:#f4f4f4; }
#map .map-toggle-enlarge.expand { background-image:url(/images/arrow_out.png); }
#map .map-toggle-enlarge.collapse { background-image:url(/images/arrow_in.png); }
.command-button
{
	margin:0 3px;
}
.back-button
{
	margin-top:30px;
	color:#000;
	font-weight:bold;
}
.add-entity
{
	display: block;
	float:left;
	padding:10px 30px;
	border:1px solid #3a4f63;
	background-color:#4b6c9e;
	color:#FFF !important;
	margin-bottom:20px;
}
.filter
{
	margin:10px 0;
	position:relative;
}
.filter-field
{
	float:left;
}

.modal-background
{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	opacity:.2;
	-webkit-opacity: 0.2;
	-moz-opacity: 0.2;
	filter:alpha(opacity=20);
	z-index:1000001;
}

.modal-popup
{
	margin: auto;
	position: fixed;
	top: 0; left: 0; bottom: 0; right: 0;
	background-color:#FFF;
	border:1px solid #666;
	border-radius:5px;
	z-index:1000002;
	height:30%;
	width:30%;
	padding:20px;
	box-shadow: 2px 2px 10px #666;
}
.modal-popup-content
{
	position: absolute;
	overflow-y: auto;
	top: 60px;
	left: 20px;
	bottom: 20px;
	right: 20px;
}
.has-command-row .modal-popup-content
{
	bottom: 60px;
}
.modal-big
{
	width:50% !important;
	height:50% !important;	
}
.modal-popup .modal-popup-close
{
	position: absolute;
	top: 20px;
	right:20px;
	border: none;
	display:block;
	width:16px;
	height: 16px;
	opacity:.5;
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	filter:alpha(opacity=50);
	background:transparent url('/Images/close.png') no-repeat scroll 0 0;
}
.modal-popup .modal-popup-close:hover
{
	opacity:.8;
	-webkit-opacity: 0.8;
	-moz-opacity: 0.8;
	filter:alpha(opacity=80);
}

.modal-popup h2
{
	border-bottom: 1px solid #CCC;
	margin: 0 0 20px;
}
.modal-popup table
{
	width: 100%;
}
.modal-popup table th
{
	width: 33%;
}

.modal-popup .command-row
{
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	border-top: 1px solid #CCC;
	padding-top: 5px;
}
.leaflet-popup-content h2
{
	border-bottom:1px solid #CCC;
}
.validation-error
{
	color:#A00;
}
#loading
{
	text-align:center;
	width: 300px !important;
	height: 70px !important;
}
.block-message
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	cursor: default;
	text-align: center;
}
.block-message div
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	opacity: .5;
}
.block-message span
{
	position:relative;
	z-index:1;
	color: #F44;
	font-size:20px;
	background-color:#333;
	border:1px solid #F44;
	border-radius:5px;
	padding:10px;
	opacity:.7;
	top:150px;
}
.device-locked
{
	display:inline-block;
}
.device-unlocked
{
	display:none;
}
.hex
{
	font-family:Monospace;
	font-size:13px;
	word-break: break-word;
}
.base64
{
	font-family:Monospace;
	font-size:13px;
	word-break: break-all;
}

.tabs {
    position: relative;
    height: 100px;
}
.tabs > ul, .tabs > ul > li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-image: none;
    height: 20px;
}
.tabs > ul  {
	position: absolute;
	z-index: 2;
}
.tabs > ul > li {
    display: block;
    float: left;
}
.tabs > ul > li > a {
    display: block;
    border-top: 1px solid #c1c1c1;
    padding: 2px 15px;
    height: 16px;
    line-height: 16px;
    text-decoration: none;
    border-left: 1px solid #c1c1c1;
    background-color:#FFF;
}
.tabs > ul > li:first-child > a {
	border-radius: 3px 0 0 0;
}
.tabs > ul > li:last-child > a {
    border-right: 1px solid #c1c1c1;
	border-radius: 0 3px 0 0;
}
.tabs > ul > li.selected > a {
	border-bottom:1px solid #FFF;
	color:#2196f3;
}
.tabs > div {
    position: absolute;
    top: 21px;
    left: 0;
    right: 0;
    bottom: 0;
    background: #FFF;
    border: 1px solid #ccc;
    border-radius: 0 3px 3px 3px;
    overflow-y: auto;
    padding: 5px;
}
.tabs > div.selected {
	z-index: 1;
}
.signature-valid, .signature-invalid, .signature-none {
	font-size:10px;
	font-variant-caps: initial;
	text-decoration: none;
}
.signature-valid {
    color: #4CAF50 !important;
}
.signature-invalid {
    color: #F44336 !important;
}
.signature-none {
	color: #A0A0A0 !important;
}

.checkbox-dropdown {
    position: relative;
    background: #FFF;
    margin-left: 10px;
}

.checkbox-dropdown div {
    display: none;
    position: absolute;
    background: #FFF;
    padding: 10px 15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
    border-radius: 0 0 3px 3px;
    border: 1px solid #EEE;
}

.checkbox-dropdown > span {
    padding: 5px 30px 5px 5px;
    background: url(/Images/chevron-down.png) no-repeat scroll right 5px center;
    border-radius: 3px;
    display: inline-block;
    cursor: default;
}

.checkbox-dropdown input {
    display: none;
}

.checkbox-dropdown input + label {
    /*background: transparent url('/Images/elegant.png') no-repeat scroll left top;*/
    display: inline-block;
    white-space: nowrap;
    padding-left: 23px;
    height: 17px;
    line-height: 17px;
    vertical-align: middle;
    overflow: hidden;
    position: relative;
    margin: 7px 0;
}
.checkbox-dropdown input + label:active {
    background-position: left -17px;
}
.checkbox-dropdown input:checked + label:active {
    background-position: left -51px;
}
.checkbox-dropdown input:checked + label {
    background-position: left -34px;
}
.checkbox-dropdown input:disabled + label {
    background-position: left -68px;
}
.checkbox-dropdown input:checked:disabled + label {
    background-position: left bottom;
}

.checkbox-dropdown div:focus, .checkbox-dropdown:focus {
    outline: none;
}

.checkbox-dropdown:focus-within div, .checkbox-dropdown:focus div, .checkbox-dropdown div:hover {
    display: block;
}

.checkbox-dropdown input + label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background: #FFF;
    border-radius: 3px;
    color: #666;
    text-align: center;
    vertical-align: middle;
    line-height: 14px;
    font-size: 16px;
    border: 1px solid #DDD;
    font-weight: bold;
}
.checkbox-dropdown input + label:hover:before {
    border-color: #BBB;
}

.checkbox-dropdown input:checked + label:before {
    content: '✓';
}