/***********************************************************************************************************************
 * Core element styles
 **********************************************************************************************************************/
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; height: 100%; }
body { min-width: 320px; padding: 0; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #555; background-color: #f8f8f8; }
body#ui { display: flex; flex-direction: column; flex-wrap: nowrap; height: 100%; overflow: hidden; }

/* disable context menus on mobile */
body { 
    user-select: none; /* Disables text selection */
    -webkit-touch-callout: none; /* Disables the context menu on iOS Safari */
}

a { color: #08c; text-decoration: none; }
p { margin: 0 0 10px; }
ul, ol { padding: 0; margin: 0 0 10px 25px; }
li { line-height: 20px; }

h3 { font-size: 24.5px; }

button, input, select, textarea { margin: 0; font-size: 100%; vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; appearance: button; -webkit-appearance: button; }

label, select, button, input[type="button"], input[type="reset"], input[type="submit"], input[type="radio"], input[type="checkbox"] { cursor: pointer; }
label, input, button, select, textarea { font-size: 14px; font-weight: normal; line-height: 20px; }
label { display: block; margin-bottom: 5px; }

select, input, button, textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
select { width: 220px; background-color: #fff; border: 1px solid #ccc; }
select, textarea, input, .uneditable-input { display: inline-block; height: 20px; padding: 4px 6px; margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555; vertical-align: middle; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
select, input[type="file"] { height: 30px; line-height: 30px; }
textarea, input, .uneditable-input { background-color: #fff; border: 1px solid #ccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear .2s, box-shadow linear .2s; -moz-transition: border linear .2s, box-shadow linear .2s; -o-transition: border linear .2s, box-shadow linear .2s; transition: border linear .2s, box-shadow linear .2s; }
textarea:focus, input:focus, .uneditable-input:focus, select:focus-within { border-color: rgba(82, 168, 236, 0.8); outline: 0; outline: thin dotted \9; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }
a:focus-within { outline: none; }
input[type="button"], input[type="reset"], input[type="submit"] { height: 44px; }

img { width: auto; height: auto; max-width: 100%; vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }
img.icon { margin-top: -4px; width: 22px; }
img.icon16 { margin-top: -4px; width: 16px; }
img.icon22 { margin-top: -4px; width: 22px; }
img.icon32 { margin-top: -4px; width: 32px; }

footer p { margin: 0; padding-bottom: 10px; }

/***********************************************************************************************************************
 * Commonly used classes, buttons, and actions
 **********************************************************************************************************************/

.hide { display: none !important; }
.NoScroll { overflow: hidden; }

.label, .badge { display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); white-space: nowrap; vertical-align: baseline; background-color: #999; }
.badge { padding-right: 9px; padding-left: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }
.label-warning, .badge-warning { background-color: #f89406; }

.badge.iconbadge {
	position: absolute;
	box-sizing: border-box;
	margin: 2px 0 0 2px;
	min-width: 16px;

	/*border: 2px solid #f8f8f8;*/
	border: none;
	border-radius: 16px;
	background-color: #d40;

	font-size: 11px;
	text-shadow: none;
	text-align: center;
	line-height: 15px;
	color: #f8f8f8;
	padding: 1px 4px;
	z-index: 1;
}
.badge.iconbadge.running { background-color: #6518a8; }
.iconbadge {
	margin-top: -6px;
	margin-left: -12px;
	border: 2px solid #fff;
	background-color: #FF7D28;
	color: #fff;
	padding: 0px 4px 0px 4px;
}

.btn {
    display: inline-block;
    padding: 4px 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #333;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    vertical-align: middle;
    cursor: pointer;
    background-color: #f5f5f5;
    background-image: -moz-linear-gradient(top, #fff, #e6e6e6);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#e6e6e6));
    background-image: -webkit-linear-gradient(top, #fff, #e6e6e6);
    background-image: -o-linear-gradient(top, #fff, #e6e6e6);
    background-image: linear-gradient(to bottom, #fff, #e6e6e6);
    background-repeat: repeat-x;
    border: 1px solid #ccc;
    border-color: #e6e6e6 #e6e6e6 #bfbfbf;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    border-bottom-color: #b3b3b3;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn:hover, .btn:focus, .btn:active, .btn.active, .btn.disabled, .btn[disabled] { color: #333; background-color: #e6e6e6; }
.btn:hover, .btn:focus { color: #333; text-decoration: none; background-position: 0 -15px; -webkit-transition: background-position .1s linear; -moz-transition: background-position .1s linear; -o-transition: background-position .1s linear; transition: background-position .1s linear; }
.btn-success {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #5bb75b;
    background-image: -moz-linear-gradient(top, #62c462, #51a351);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
    background-image: -webkit-linear-gradient(top, #62c462, #51a351);
    background-image: -o-linear-gradient(top, #62c462, #51a351);
    background-image: linear-gradient(to bottom, #62c462, #51a351);
    background-repeat: repeat-x;
    border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] { color: #fff; background-color: #51a351; }
.btn-info {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #49afcd;
    background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
    background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
    background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
    background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
    background-repeat: repeat-x;
    border-color: #2f96b4 #2f96b4 #1f6377;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] { color: #fff; background-color: #2f96b4; }
.btn-warning {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #faa732;
    background-image: -moz-linear-gradient(top, #fbb450, #f89406);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
    background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
    background-image: -o-linear-gradient(top, #fbb450, #f89406);
    background-image: linear-gradient(to bottom, #fbb450, #f89406);
    background-repeat: repeat-x;
    border-color: #f89406 #f89406 #ad6704;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] { color: #fff; background-color: #f89406; }
.btn-danger {
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #da4f49;
    background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
    background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
    background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
    background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
    background-repeat: repeat-x;
    border-color: #bd362f #bd362f #802420;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] { color: #fff; background-color: #bd362f; }

.btn-group { position: relative; display: inline-block; font-size: 0; white-space: nowrap; vertical-align: middle; }
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover { font-size: 14px; }

.caret { display: inline-block; width: 0; height: 0; vertical-align: top; border-top: 4px solid #000; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; }
.btn .caret { margin-top: 8px; margin-left: 0; }

.close {
    float: right;
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    filter: alpha(opacity = 20);
}
button.close {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    background: transparent; 
    appearance: none;
    -webkit-appearance: none;
}

.actions { background-color: #f4f4f4; }
.actions button,
.actions .btn-group { word-spacing: normal; }
.actions button label { margin: 0; }
.actions > button.btn { min-width: 64px; background-image: none; border-radius: 0; opacity: 0.75; }
.actions button.btn a .caret { padding-top: 12px; background: red; }
.actions .btn-group button.btn { min-width: 72px; background-image: none; border-radius: 0; opacity: 0.75; }
.actions .btn-group button.btn.dropdown-toggle { min-width: 8px; height: 54px; padding: 0 8px; }
.actions .btn-group + .btn-group { margin-left: 0; } /* override bootstrap's desire to further separate adjacent drop-downs */
.actions button img.icon { padding-top: 6px; }
.actions .dropdown-menu img.icon { width: 16px; padding-right: 3px; }
.actions .dropdown-menu { padding-top: 0; }
.actions .dropdown-menu { max-width: 240px; max-height: 256px; overflow: auto; overflow-x: hidden; }
.actions .dropdown-menu li > a { padding: 4px 20px 4px 8px; /*overflow: hidden; text-overflow: ellipsis;*/ }
.actions .badge.iconbadge { margin-top: 3px; margin-left: 13px; }

.actions .btn { border: none; background-color: transparent; box-shadow: none; padding: 4px; }
.actions .btn:hover,
.actions .btn:focus,
.actions .btn:active { background-color: #fff; }
.actions .btn label { font-size: 13px; }
.actions > button.btn .icon { width: auto; }
.actions > button.btn-success,
.actions > button.btn-info,
.actions > button.btn-danger,
.actions > button.btn-warning { background-image: none; border-radius: 0; opacity: 1; }

.actions > button.btn i.icon { width: 16px; position: relative; left: 50%; margin: 6px 0 2px -8px; }
/* Creates a button style between Bootstrap's btn-success and btn-warning */
.actions .btn-flag {
	color: #fff; background-repeat: repeat-x;
	border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
	background-color: #ffcc00;
}
.actions .btn-flag:hover { background-color: #ffda2c; }
.actions .btn-flag:focus { background-color: #ffda2c; }

.actions .btn-success { background-color: #51A351; }
.actions .btn-success:focus,
.actions .btn-success:hover,
.actions .btn-success:active { background-color: #5BB75B; }

.actions .btn-info { background-color: #2F96B4; }
.actions .btn-info:focus,
.actions .btn-info:hover,
.actions .btn-info:active { background-color: #49AFCD; }

.actions .btn-danger { background-color: #BD362F; }
.actions .btn-danger:focus,
.actions .btn-danger:hover,
.actions .btn-danger:active { background-color: #DA4F49; }

.actions .btn-warning { background-color: #F89406; }
.actions .btn-warning:focus,
.actions .btn-warning:hover,
.actions .btn-warning:active { background-color: #FAA732; }

.block {
  padding: 8px 8px;
  margin: 0 0 20px;
  list-style: none;
  background-color: #eeeeee;
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
}

.cke_combopanel__styles { width: 300px; }

.panel { position: relative; display: none; }
.PaneWrapper { overflow:hidden; }

/***********************************************************************************************************************
 * iCheck plugin styles
 **********************************************************************************************************************/

.icheckbox_square,
.iradio_square {
    display: inline-block;
	vertical-align: middle;
    margin: 0 4px 0 0;
    padding: 0;
    width: 28px;
    height: 28px;
    border: 1px solid #E0E0E0;
    cursor: pointer;
}

.icheckbox_square { background-position: -2px center; }
.icheckbox_square.focus { border-color: #0ae; }
.icheckbox_square.checked { background: transparent url('../img/check-form.png') -34px center no-repeat; }
.icheckbox_square.disabled { border: 1px solid #F0F0F0; cursor: default; }
.icheckbox_square.checked.disabled { background-position: -66px center; }

.iradio_square { border-radius: 14px; }
.iradio_square input { display: none; }
.iradio_square.checked:after { content: ''; border: 6px solid white; background-color: #555; display: block; width: 100%; width: 28px; height: 28px; box-sizing: border-box; border-radius: 14px; }

/* .iradio_square { background-position: -120px 0; }
.iradio_square.hover { background-position: -144px 0; }
.iradio_square.checked { background-position: -168px 0; }
.iradio_square.disabled { background-position: -192px 0; cursor: default; }
.iradio_square.checked.disabled { background-position: -216px 0; } */

/* Retina support */
/* @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (-moz-min-device-pixel-ratio: 1.5),
       only screen and (-o-min-device-pixel-ratio: 3/2),
       only screen and (min-device-pixel-ratio: 1.5) {
    .icheckbox_square,
    .iradio_square { background-image: url(green@2x.png); -webkit-background-size: 240px 24px; background-size: 240px 24px; }
} */

/***********************************************************************************************************************
 * Nav and dropdowns (TODO, clean this up)
 **********************************************************************************************************************/


/***********************************************************************************************************************
 * Overlays and click blockers
 **********************************************************************************************************************/

#resize-overlay,
#AjaxClickBlocker { display: none; position: absolute; width: 100%; height: 100%; z-index: 100000; top: 0; left: 0; background-color: rgba(1,1,1,0);  }

#AjaxLoader {
	position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -16px; /* half width of the spinner gif */
    margin-top: -16px; /* half height of the spinner gif */
    text-align:center;
    overflow: hidden;
	padding: 12px;
	/* border: 1px solid #bbb; */
	border: 1px solid #ddd;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	background-color: #ffffff;
}
#AjaxLoader .Message { padding-top: 12px; }

#resize-overlay.col { cursor: ew-resize; }
#resize-overlay.col.min { cursor: e-resize; cursor: nwse-resize; }
#resize-overlay.col.max { cursor: w-resize; cursor: nesw-resize; }
#resize-overlay.row { cursor: ns-resize; }
#resize-overlay.row.min { cursor: s-resize; cursor: nwse-resize; }
#resize-overlay.row.max { cursor: n-resize; cursor: nesw-resize; }

/***********************************************************************************************************************
 * Specific main page element styles
 **********************************************************************************************************************/

#Header { background-color: #eee; display: none; height: 56px; background-color: #09d; }
#TopViewContainer,
#BottomViewContainer { min-height: auto; }

#Header > #HeaderTop > div.container { height: 56px; display: flex; flex-direction: row; }
#Header > #HeaderTop > div.container > div.fill { flex-grow: 1; flex-shrink: 1; }
#Header ul#header_options { display: flex; flex-direction: row; }
#Header ul#header_options li { list-style: none; }
#Header ul#header_options a.header-link { 
    padding: 0;
    display: block; 
    cursor: pointer;
    box-sizing: border-box;
    min-width: 64px;
    max-width: 72px;
    height: 56px;
    font-size: 11px;
    font-weight: bold;
    text-shadow: none;
    color: #08c;
    text-align: center;
    line-height: 14px;
    text-transform: uppercase;
}
#Header ul#header_options a.header-link i {
    position: relative;
    top: -1px;
    font-size: 32px;
    line-height: 56px;
    color: #fff;
}
#Header ul#header_options a.header-link:hover,
#Header ul#header_options a.header-link.active { background-color: #0ae; }

#Logo { width: 64px; } 
#Logo a { display: block; height: 100%; width: 100%; }
#Logo img { height: 48px; position: relative; top: 3px; left: 7px; }

#Workspace { height: calc(100vh - 56px); display: flex; overflow: hidden; }
#Workspace.signin { height: 100%; }
#LeftViewContainer { display: none; height: 100%; z-index: 20001; }
#CenterViewContainer { display: flex; flex-direction: column; overflow: hidden; min-width: 240px; height: 100%; background-color: #f8f8f8; }

div#SlideoutContainer { z-index: 20002; }

/* .responsive-left { width: 320px; }
.responsive-center { flex-grow: 1; } */

.container { margin-right: auto; margin-left: auto; }

.row-fluid .container { width: auto; }
.row-fluid [class*="span"] { margin-left: 12px; }

.resizable-right, .resizable-left { position: relative; flex-shrink: 0; flex-grow: 0; }
.responsive-center { flex-grow: 1; }

.resizer { display: none; position: absolute; top: 0; bottom: 0; width: 7px; z-index: 1000; }
.resizable-right .resizer { display: block; right: -3px; cursor: ew-resize; }
.resizable-left  .resizer { display: block; left: -3px; cursor: ew-resize; }
.resizable-right .resizer:hover,
.resizable-left  .resizer:hover { background-color: rgba(0,0,0,0.05); }
.resizable-right .resizer.active,
.resizable-left  .resizer.active { background-color: rgba(0,0,0,0.1); }
