/* Helper Classes */
/*----------------*/
.relative { position: relative; }
.inline-block { display: inline-block; }
.no-margin { margin: 0 !important; }
.no-wrap { white-space: nowrap; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.selectize-control .selectize-input.disabled {
	opacity: 1;
	background-color: #eee;
	cursor: not-allowed !important;
}

th.vertical-text, td.vertical-text {
	/*height:80px;*/
	/*white-space: nowrap;*/
	position:relative;
}

th.vertical-text > div, td.vertical-text > div {
	transform-origin: 0 50%;
	transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	-webkit-transform-origin: 0 50%;
	white-space: nowrap;
	display: block;
	position: absolute;
	bottom: 12%;
	left: 50%;
}

/*This style designed to align a total cell with the input cells above*/
td.total-cell.table-control, th.total-cell.table-control{
	padding-left: 8px;
}

div.dataTables_wrapper div.dataTables_processing{
	position:fixed !important;
	background-color: #D3D3D3;
}

tr.end-total-row + tr>td{
	border-top-color: white;
}

table.table-group-white tr.group td{
	font-weight: bold;
	background-color: white;
}

table.dataTable.fixedHeader-floating{
	table-layout: auto !important;
}

.margin-top-xs{
	margin-top: 5px;
}

.margin-top-sm{
	margin-top: 10px;
}

.no-break{
	white-space: nowrap;
}

.disabled-hover{
	cursor:not-allowed !important;
	pointer-events: all !important;
}

.no-padding-top{
	padding-top: 0 !important;
}

.no-margin-top{
	margin-top: 0 !important;
}

.no-margin-bottom{
	margin-bottom: 0 !important;
}

.table > thead > tr > th {
	vertical-align: top;
}

textarea{
	resize: vertical;
}

.selectize-control.loading::before {
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
	content: ' ';
	z-index: 2;
	position: absolute;
	display: block;
	top: 50%;
	right: 34px;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 0;
	background: url('/img/spinner-selectize.gif');
	background-size: 16px 16px;
	/*opacity: 0;*/
}

/*----------*/
/* Defaults */
/*----------*/
body {
	font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}
nav.navbar { margin: 0; z-index: 10; min-height: 25px;}
nav.navbar .navbar-toggle {
	margin: 0;
	height: 50px;
	width: 50px;
	padding: 9px 12px;
	background: #CCC;
	border: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
nav.navbar.navbar-inverse .navbar-toggle {
	background: #555;
}
nav.navbar .navbar-toggle .icon-bar { width: 100%; }

nav.navbar.navbar-inverse .link-icon { color: #CCC; }
nav.navbar .user-circle {
	position: relative;
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 5px;
	background: #999;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	text-align: center;
	overflow: hidden;
	top: 5px;
}
nav.navbar.navbar-inverse .user-circle {
	background: #FFF;
}
nav.navbar i.fa-user {
	position: relative;
	top: 6px;
	font-size: 18px;
	color: #F8F8F8;
}
nav.navbar.navbar-inverse i.fa-user {
	color: #222;
}
nav.navbar li.user-menu > a { margin-top: -7px; color: #000; }
nav.navbar.navbar-inverse li.user-menu > a { color: #FFF; }
nav.navbar .navbar-brand-img  { float: left; }
nav.navbar .navbar-brand {
	font-family: 'Questrial', sans-serif;
}
nav.navbar .navbar-brand {
	color: #000;
}
nav.navbar.navbar-inverse .navbar-brand {
	color: #FFF;
}

.nav-spacer { width: 100%; height: 135px; }

/*a.navbar-brand {
	padding-top: 13px;
}*/

.header {
	position: absolute;
	top: 80px;
	z-index: 4;
	width: 100%;
	background: #FFF;
	padding: 10px 0 0;
	border-bottom: 1px solid #F7F7F7;
}
.header.scrolled {
	position: fixed;
	top: 38px;
	border-bottom: 1px solid #DDD;
	box-shadow: 0 2px 3px rgba(0,0,0,0.1);
}
.header h2 {
	float: left;
	margin: 0 0 10px;
	font-size: 2em;
	font-weight: 300;
}
.header .header-actions {
	position: relative;
	float: right;
	margin: 0 0 10px;
	z-index: 4;
}
.header .surprise-logo {
	position: absolute;
	left: -70px;
	text-align: right;
	opacity: 0;
}

.nav-spacer {
	position: relative;
	z-index: 0;
}

.dropdown-menu {
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

.page { margin-top: 50px; }
.page-description { margin: 1em 0 2em; }
.required-reminder{
	margin-bottom: 20px;
	color: red;
}

.page-actions { display: inline-block; }

.page-well {
	padding: 20px;
	margin-bottom: 20px;
	background: #EFEFEF;
}
.page .page-well > h3 { margin: 0 0 15px; }

/*.page h3 { margin: 20px 15px; }*/
.page label { font-weight: 600; }
.page .required { color: red; }

/*.page .form-group, .page .form-control, .page .radio, .page .checkbox { margin-bottom: 20px; }*/

.page .field-description { margin-top: 5px; font-size: 13px; color: #777; }

.page .input-prepend .prepend { color: #777; }
.page input.has-prepend { width: auto; display: inline-block; }

/*.page select { width: auto; }*/

.page .form-label { font-weight: 600; }

.page .checkbox-group, .page .radio-group { margin-bottom: 20px; }
.page .checkbox-group .checkbox, .page .radio-group .radio { margin-bottom: 10px; }

.page .checkbox label, .page .radio label { font-weight: 400; }
.page .checkbox-inline label, .page .radio-inline label { font-weight: 400; }

.page h3.section-heading { margin: 25px 0 20px; padding: 7px 15px; background: #EFEFEF; border-bottom: 1px solid #E3E3E3; font-size: 20px; }
.page .field-group { margin-bottom: 20px; }
.page .field-heading { margin-bottom: 5px; font-weight: 600; color: #000; }
.page .field-value { color: #555; }

.table thead tr th.actions {
	color: #CCC;
}
.table tbody tr td.actions {
	text-align: center;
}

.table tbody  tr td {
	font-size: 12px;
	/*cursor: pointer;*/
}

.table.big-font-table tbody  tr td {
	font-size: 14px;
}

/*http://stackoverflow.com/questions/13771101/centering-a-button-vertically-in-table-cell-using-twitter-bootstrap*/
.table tbody>tr>td.vert-align,
.table tbody>tr>th.vert-align,
.table thead>tr>th.vert-align{
	vertical-align: middle;
}

footer {
	margin: 50px 0 0;
	padding: 30px 0 20px;
	background-color: #777;
	background: url('../img/concrete_wall.png');
	color: #FFF;
}
footer.fixed {
	position: fixed;
	bottom: 0;
	width: 100%;
}
footer .footer-left { float: left; margin-bottom: 10px; }
footer .footer-right { float: right; }
footer .footer-links { margin-top: 5px; }
footer .footer-links li { display: inline-block; margin-left: 20px; }
footer .footer-links li:first-child { margin-left: 0; }
footer .footer-links li a { color: #FFF; }

footer .scroll-to-top {
	position: fixed;
	bottom: -50px;
	right: 30px;
	width: 50px;
	height: 50px;

	padding-top: 2px;

	background-color: #CCC;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;

	color: #555;
	font-size: 30px;
	text-align: center;
	cursor: pointer;
}
footer .scroll-to-top:hover { color: #333; }

.btn { font-weight: 200; }

.logo_display_img{
	max-height: 100px;
	display:block;
	max-width: 150px;
}

/*-------------------*/
/* Media Query Rules */
/*-------------------*/

/* Large desktop */
@media (min-width: 1200px) { }

/* Portrait tablet to landscape and large desktop */
@media (min-width: 768px) {
	nav.compressed .navbar-nav > li > a,
	nav.compressed a.navbar-brand {
		padding-top: 9px;
		padding-bottom: 8px;
		height: auto;
	}
}

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {
	.header .surprise-logo { display: none !important; }
}

/* Landscape phone to portrait tablet */
@media (max-width: 767px) {
	nav.navbar { border: none; }
	.header h2 {
		font-size: 1.5em;
		padding-top: 5px;
	}
	.header-actions .btn {
		padding: 5px 10px;
		font-size: 12px;
		line-height: 1.5;
		border-radius: 3px;
	}
	.header.scrolled { top: 50px; }
	footer { padding: 10px 0 5px; text-align: center; }
	footer .footer-left { width: 100%; }
	footer .scroll-to-top { display: none; }
}

/* Landscape phones and down */
@media (max-width: 480px) {
	nav.navbar { border: none; }
	.header h2 {
		font-size: 1.2em;
		padding-top: 3px;
		width: 100%;
		text-align: center;
	}
	.header-actions {
		width: 100%;
		text-align: center;
	}
	.header-actions .btn {
		padding: 5px 10px;
		font-size: 12px;
		line-height: 1.5;
		border-radius: 3px;
	}
	.header.scrolled { top: 50px; }
	.page-actions { width: 100%; text-align: center; }
	footer { padding: 10px 0 5px; }
	footer .scroll-to-top { display: none; }
}

.row-menu {
	position: fixed;
	bottom: -40px;
	width: 100%;
	height: 40px;
	background: #FFF;
	background: rgba(255, 255, 255, 0.95);
	border-top: 1px solid #CCC;
}
.row-menu .row-identifier {
	display: inline-block;
	width: 60%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	font-size: 16px;
}



/*---------*/
/* Custom  */
/*---------*/

.nav-project-logo {
	position: relative;
	top: 8px;
	height: 35px;
	margin: -15px 10px 0 0;
	border: 2px solid #FFF;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.navbar.compressed .nav-project-logo {
	height: 30px;
	margin: -13px 5px 0 0;
}
@media (max-width: 480px) {
	.navbar.compressed .nav-project-logo {
		margin: 2px 0 0 0;
	}
}

.waste {
	height: 400px;
}
.table th i.fa { margin-left: 3px; }

#code { min-height: 1200px; }

.pco-label {
	font-size: 100%;
	line-height: 2;
}

.pco-label-remove {
	cursor: pointer;
}

/*--------------*/
/* Alert Box    */
/*--------------*/

@media (min-width: 768px) {
	/*Responsive styling for the alert box*/
	div.js_alert_box{
		width: 262px; /*Got this from span4*/
		position:fixed;
		z-index: 4;
		margin-left: 506px;
	}

	div.js_alert_box div.alert{
		width: 85%;
	}
}

@media (min-width: 992px) {
	/*Responsive styling for the alert box*/
	div.js_alert_box{
		width: 340px; /*Got this from span4*/
		position:fixed;
		z-index: 4;
		margin-left: 652px;
	}

	div.js_alert_box div.alert{
		width: 85%;
	}
}

@media (min-width: 1200px) {
	/*Responsive styling for the alert box*/
	div.js_alert_box{
		width: 370px; /*Got this from span4*/
		position:fixed;
		z-index: 4;
	}

	div.container div.js_alert_box {
		margin-left: 830px;
	}

	div.container-fluid div.js_alert_box {
		margin-left: 62.5%;
	}

	div.js_alert_box div.alert{
		width: 85%;
	}
}

@media (max-width: 767px) {
	div.js_alert_box{
		width: 100%; /*Got this from span4*/
		position:relative;
		display: block;
		z-index: 4;
	}

	div.js_alert_box div.alert{
		width: 100%;
	}
}

/*--------------------------------*/
/* Table overrides			      */
/*--------------------------------*/

/*.table tbody td.success {
  background-color: #5cb85c !important;
  color: white !important;
}

.table tbody td.danger, span.label.label-danger.aim_colours {
  background-color: #b94a48 !important;
  color: white !important;
}

.table tbody td.warning, span.label.label-warning.aim_colours {
  background-color: #FFFF00 !important;
  color: black !important;
}

.table tbody td.info, span.label.label-info.aim_colours {
  background-color: #3a87ad !important;
  color: white !important;
}*/

.table tbody td.orange-bg {
  background-color: #FFEDDD !important;
  /*color: black !important;*/
}

.center-text{
	text-align: center !important;
}

.pricing-table td, .pricing-table th {
   text-align: center;   
   font-size: 14px !important;
}

.table > thead > tr > td.highlight-gray,
.table > tbody > tr > td.highlight-gray,
.table > tfoot > tr > td.highlight-gray,
.table > thead > tr > th.highlight-gray,
.table > tbody > tr > th.highlight-gray,
.table > tfoot > tr > th.highlight-gray,
.table > thead > tr.highlight-gray > td,
.table > tbody > tr.highlight-gray > td,
.table > tfoot > tr.highlight-gray > td,
.table > thead > tr.highlight-gray > th,
.table > tbody > tr.highlight-gray > th,
.table > tfoot > tr.highlight-gray > th {
  background-color: #999999;
}

.table > thead > tr > td.highlight-light-gray,
.table > tbody > tr > td.highlight-light-gray,
.table > tfoot > tr > td.highlight-light-gray,
.table > thead > tr > th.highlight-light-gray,
.table > tbody > tr > th.highlight-light-gray,
.table > tfoot > tr > th.highlight-light-gray,
.table > thead > tr.highlight-light-gray > td,
.table > tbody > tr.highlight-light-gray > td,
.table > tfoot > tr.highlight-light-gray > td,
.table > thead > tr.highlight-light-gray > th,
.table > tbody > tr.highlight-light-gray > th,
.table > tfoot > tr.highlight-light-gray > th {
  background-color: #D3D3D3;
}

.table > thead > tr > td.highlight-orange,
.table > tbody > tr > td.highlight-orange,
.table > tfoot > tr > td.highlight-orange,
.table > thead > tr > th.highlight-orange,
.table > tbody > tr > th.highlight-orange,
.table > tfoot > tr > th.highlight-orange,
.table > thead > tr.highlight-orange > td,
.table > tbody > tr.highlight-orange > td,
.table > tfoot > tr.highlight-orange > td,
.table > thead > tr.highlight-orange > th,
.table > tbody > tr.highlight-orange > th,
.table > tfoot > tr.highlight-orange > th {
	background-color: #FFCFB0;
}

.table > thead > tr > td.highlight-danger,
.table > tbody > tr > td.highlight-danger,
.table > tfoot > tr > td.highlight-danger,
.table > thead > tr > th.highlight-danger,
.table > tbody > tr > th.highlight-danger,
.table > tfoot > tr > th.highlight-danger,
.table > thead > tr.highlight-danger > td,
.table > tbody > tr.highlight-danger > td,
.table > tfoot > tr.highlight-danger > td,
.table > thead > tr.highlight-danger > th,
.table > tbody > tr.highlight-danger > th,
.table > tfoot > tr.highlight-danger > th {
	background-color: #ebcccc;
}

.table > thead > tr > td.highlight-warning,
.table > tbody > tr > td.highlight-warning,
.table > tfoot > tr > td.highlight-warning,
.table > thead > tr > th.highlight-warning,
.table > tbody > tr > th.highlight-warning,
.table > tfoot > tr > th.highlight-warning,
.table > thead > tr.highlight-warning > td,
.table > tbody > tr.highlight-warning > td,
.table > tfoot > tr.highlight-warning > td,
.table > thead > tr.highlight-warning > th,
.table > tbody > tr.highlight-warning > th,
.table > tfoot > tr.highlight-warning > th {
	background-color: #fcf8e3;
}

/* Commented these out in favour of Yuhiro's styling above
/*table.ava_table_show tbody tr:first-child td{
	border-top-style: none !important;
}

a.js_collapse_toggle{
	outline: 0;
}

*/

/*--------------------------------*/
/* Collision styles			      */
/*--------------------------------*/
.form-control-static.collision{
	padding-left: 13px;
	width: 100%;
}


/*--------------------------------*/
/* Bootstrap Submenus		      */
/*--------------------------------*/
.dropdown-submenu {
	position:relative;
}
.dropdown-submenu>.dropdown-menu {
	top:0;
	left:100%;
	margin-top:-6px;
	margin-left:-1px;
	-webkit-border-radius:0 6px 6px 6px;
	-moz-border-radius:0 6px 6px 6px;
	border-radius:0 6px 6px 6px;
}
/*.dropdown-submenu:hover>.dropdown-menu {
	display:block;
}*/
.dropdown-submenu>a:after {
	display:block;
	content:" ";
	float:right;
	width:0;
	height:0;
	border-color:transparent;
	border-style:solid;
	border-width:5px 0 5px 5px;
	border-left-color:#cccccc;
	margin-top:5px;
	margin-right:-10px;
}
.dropdown-submenu:hover>a:after {
	border-left-color:#ffffff;
}
.dropdown-submenu.pull-left {
	float:none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
	left:-100%;
	margin-left:10px;
	-webkit-border-radius:6px 0 6px 6px;
	-moz-border-radius:6px 0 6px 6px;
	border-radius:6px 0 6px 6px;
}

/*--------------------------------*/
/* Misc overrides			      */
/*--------------------------------*/

a.no-link-underline {
	text-decoration: none !important
}

.text-ellipsis {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.status-success {
  color:#5cb85c
}

/*Making the Google org chart work with bootstrap*/
table.google-visualization-orgchart-table {
  border-collapse: separate;
}

.hoverimage {
	position: absolute;
	top: 0;
	left: 0;
	display: none;
}

.screenshot:hover .hoverimage {
	display: block;
}

/*http://stackoverflow.com/questions/18730116/twitter-bootstrap-3-0-how-do-i-badge-badge-important-now*/
.label-as-badge {
	border-radius: 1em;
	margin-top: 3px;
}

.margin-bottom-xs{
	margin-bottom: 5px;
}

.jqplot-highlighter-tooltip {
	color: black;
}

.jqplot-data-label {
	color: black;
}

/*.jqplot-target {
	color: #c8c8c8;
}

.jqplot-axis {
	color: #c8c8c8;
}*/

table.jqplot-table-legend {
	background: none;
	border: none;
}

table.jqplot-table-legend > tbody > tr > td {
	padding-top: 0.5em;
}

div.jqplot-table-legend-swatch-outline {
	 border: none; 
	 padding: none; 
}

.dataTable > thead > tr > th.hide-sort-arrows:after{
	content: "" !important;
}

.dataTable > thead > tr > th.hide-sort-arrows{
	padding-right: 5px !important;
}

.dataTable > thead > tr > th.actions:after{
	content: "" !important;
}

.dataTable > thead > tr > th.actions{
	padding-right: 5px !important;
}

.visible-portrait-phone {
	display: none !important;
}

/* Landscape phones and down */
@media (max-width: 480px) {
  .hidden-portrait-phone {
	display: none !important;
  }
  .visible-portrait-phone {
	display: block !important;
  }
}

.selectize-input div.item + input { display: inline-block !important; }

/* Shade inputs */

.input-shade-blue {
	background-color: #d9edf7 !important;
}

.selectize-control.multi .selectize-input.input-shade-blue > div {
	background: #ffffff;
	color: #333333;
}

.panel-heading-buttons-right h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: normal;
	width: 68%;
	padding-top: 6px;
}

/* Homepage panels and list groups */

.panel.panel-info.panel-fox {
	border: 1px solid #22b7bb;
}
.panel.panel-info.panel-fox > .panel-heading,
.panel.panel-info.panel-fox > .panel-body,
.panel.panel-info.panel-fox > .panel-footer {
	background-color: #29b6d8;	
	color: #ffffff;
	border: none;
}

.panel.panel-success.panel-fox {
	border: 1px solid #53c077;
}
.panel.panel-success.panel-fox > .panel-heading,
.panel.panel-success.panel-fox > .panel-body,
.panel.panel-success.panel-fox > .panel-footer {
	background-color: #66c796;
	color: #ffffff;
	border: none;
}

.panel.panel-danger.panel-fox {
	border: 1px solid #da557b;
}
.panel.panel-danger.panel-fox > .panel-heading,
.panel.panel-danger.panel-fox > .panel-body,
.panel.panel-danger.panel-fox > .panel-footer {
	background-color: #df6a78;
	color: #ffffff;
	border: none;
}

.panel.panel-default.panel-fox {
	border: 1px solid #e5e5e5;
}
.panel.panel-default.panel-fox > .panel-heading,
.panel.panel-default.panel-fox > .panel-body,
.panel.panel-default.panel-fox > .panel-footer {
	background-color: #f5f5f5;
	color: #333333;
	border: none;
}

.panel.panel-fox > .panel-body {
	padding-top: 0;
	padding-bottom: 0;
}

.panel.panel-fox > .panel-heading .panel-title {
	font-size: 20px;
}
.panel.panel-fox > .panel-body h1 {
	margin: 0;
	font-size: 40px;
}

.list-group.list-group-fox .list-group-item {
	border-top-width: 0;
	border-left-width: 4px;
	border-bottom-width: 0;
	border-right-width: 0;
	margin-bottom: 10px;
	background-color: #f2f2f2;
}

.list-group.list-group-fox .list-group-item.list-group-item-green {
	border-left-color: #66c796;
}

.list-group.list-group-fox .list-group-item.list-group-item-red {
	border-left-color: #df6a78;
}

.navbar-brand img {
	height: 30px;
}

.compressed .navbar-brand img {
	height: 20px;
}

td.clickable-cell a,
th.clickable-cell a {
	display:block;
	width:100%;
	text-decoration:none;
	color:inherit;
}

tr.grand-total th {
  font-weight: bold;
  background-color: #e0e0e0;
  border-top-color: white !important;
}

table.table-plain-links a {
	color: #333;
	display:block;
	width:100%;
	/*color:inherit;*/
}

table.table-block-links a {
	display:block;
	width:100%;
	/*color:inherit;*/
}

table.table-plain-links-basic a {
	color: #333;
}

hr.thin-hr {
	margin-top: 5px;
	margin-bottom: 5px;
}

table.table-super-condensed th {
	padding: 2px 3px !important;
	font-size: 12px !important;
	line-height: 15px !important;
}

table.table-super-condensed td {
	padding: 2px 3px !important;
	font-size: 11px !important;
	line-height: 14px !important;
}

table.table-super-condensed-body td {
	padding: 2px 3px !important;
	font-size: 11px !important;
	line-height: 14px !important;
}

table.table-pm-module-reports thead th {
	padding: 3px 20px 3px 3px !important;
	font-size: 13px !important;
	line-height: 18px !important;
}

table.table-pm-module-reports tfoot th {
	padding: 3px !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

table.table-pm-module-reports td {
	padding: 3px !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

table.table-pm-module-no-sort thead th {
	padding: 3px 3px 3px 3px !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

table.table-pm-module-no-sort td {
	padding: 2px !important;
	font-size: 10px !important;
	line-height: 15px !important;
}

.table-pm-module-no-sort > thead > tr > th[class*="sort"]:after{
    content: "" !important;
}

.performance-grid-panel > .panel-body {
	padding-top: 0;
	padding-bottom: 0;
}

.performance-grid-panel > .panel-body h1 {
	font-size: 40px;
	margin-top: 0;
	margin-bottom: 5px;
}

.performance-grid-panel > .panel-body h2 {
	margin-top: 10px;
}

.performance-grid {
    border-bottom: #dee2e6 solid 1px;
    padding-right: 0;
    padding-left: 0;
    text-align: center;
}

.performance-grid:not(:last-child) {
	border-right: #dee2e6 solid 1px;
}

.fox-danger {
	color: #fb8072;
}

.fox-warning {
	color: #FFC675;
}

.fox-success {
	color: #5CB85C;
}

/*--------------------------------*/
/* Employee Table			      */
/*--------------------------------*/
/*http://stackoverflow.com/questions/25626789/make-input-fields-look-like-table-cells-in-bootstrap-3*/
select.table-control{
	display: block;
	padding: 0;
	margin: 0 !important;
	border: 0;
	width: 100%;
	background-color: #d9edf7;
}

input.table-control{
	display: block;
	padding: 2px 0 0 4px;
	margin: 0 !important;
	border: 0;
	width: 100%;
	height: 100%;
	background-color: #d9edf7;
}

input.table-control.normal-colour{
	background-color: #ffffff;
}

td.table-control{
	margin: 0;
	padding-left:4px;
	padding-right: 4px;
	background-color: #d9edf7;
}

td.table-control.normal-colour{
	background-color: #ffffff;
}

td.table-control div.selectize-control{
	height: 34px;
	border: 0;
}

td.table-control div.selectize-input{
	border: 0;
	padding-left: 4px;
	padding-right: 4px;
}

td.table-control > span{
	padding-left: 4px;
}

td.table-control > div > span{
	padding-left: 4px;
}

select.table-control-employee{
	display: block;
	padding: 0;
	margin: 0 !important;
	border: 0;
	width: 100%;
	background-color: #d9edf7;
}

input.table-control-employee{
	display: block;
	padding: 2px 0 0 4px;
	margin: 0 !important;
	border: 0;
	width: 100%;
	background-color: #d9edf7;
}

td.table-control-employee{
	margin: 0;
	padding: 0 !important;
}

td.table-control-employee div.selectize-control{
	height: 34px;
	border: 0;
}

td.table-control-employee div.selectize-input{
	border: 0;
	padding-left: 4px;
	padding-right: 4px;
}

td.table-control-employee > span{
	padding-left: 4px;
}

td.table-control-employee > div > span{
	padding-left: 4px;
}

td.table-control-buttons {
	text-align: center;
	margin: 0;
	padding: 0 !important;
	white-space: nowrap;
}

/* Timeline */

.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

    .timeline:before {
        top: 0;
        bottom: 0;
        position: absolute;
        content: " ";
        width: 3px;
        background-color: #eeeeee;
        left: 50%;
        margin-left: -1.5px;
    }

    .timeline > li {
        margin-bottom: 20px;
        position: relative;
    }

        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }

        .timeline > li:after {
            clear: both;
        }

        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }

        .timeline > li:after {
            clear: both;
        }

        .timeline > li > .timeline-panel {
            width: 46%;
            float: left;
            border: 1px solid #d4d4d4;
            border-radius: 2px;
            padding: 20px;
            position: relative;
            -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
        }

            .timeline > li > .timeline-panel:before {
                position: absolute;
                top: 26px;
                right: -15px;
                display: inline-block;
                border-top: 15px solid transparent;
                border-left: 15px solid #ccc;
                border-right: 0 solid #ccc;
                border-bottom: 15px solid transparent;
                content: " ";
            }

            .timeline > li > .timeline-panel:after {
                position: absolute;
                top: 27px;
                right: -14px;
                display: inline-block;
                border-top: 14px solid transparent;
                border-left: 14px solid #fff;
                border-right: 0 solid #fff;
                border-bottom: 14px solid transparent;
                content: " ";
            }

        .timeline > li > .timeline-badge {
            color: #fff;
            width: 50px;
            height: 50px;
            line-height: 50px;
            font-size: 1.4em;
            text-align: center;
            position: absolute;
            top: 16px;
            left: 50%;
            margin-left: -25px;
            background-color: #999999;
            /*z-index: 100;*/
            border-top-right-radius: 50%;
            border-top-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-bottom-left-radius: 50%;
        }

        .timeline > li.timeline-inverted > .timeline-panel {
            float: right;
        }

            .timeline > li.timeline-inverted > .timeline-panel:before {
                border-left-width: 0;
                border-right-width: 15px;
                left: -15px;
                right: auto;
            }

            .timeline > li.timeline-inverted > .timeline-panel:after {
                border-left-width: 0;
                border-right-width: 14px;
                left: -14px;
                right: auto;
            }

.timeline-badge.primary {
    background-color: #2e6da4 !important;
}

.timeline-badge.success {
    background-color: #3f903f !important;
}

.timeline-badge.warning {
    background-color: #f0ad4e !important;
}

.timeline-badge.danger {
    background-color: #d9534f !important;
}

.timeline-badge.info {
    background-color: #5bc0de !important;
}

.timeline-title {
    margin-top: 0;
    color: inherit;
}

.timeline-body > p,
.timeline-body > ul {
    margin-bottom: 0;
}

    .timeline-body > p + p {
        margin-top: 5px;
    }

@media (max-width: 767px) {
    ul.timeline:before {
        left: 40px;
    }

    ul.timeline > li > .timeline-panel {
        width: calc(100% - 90px);
        width: -moz-calc(100% - 90px);
        width: -webkit-calc(100% - 90px);
    }

    ul.timeline > li > .timeline-badge {
        left: 15px;
        margin-left: 0;
        top: 16px;
    }

    ul.timeline > li > .timeline-panel {
        float: right;
    }

        ul.timeline > li > .timeline-panel:before {
            border-left-width: 0;
            border-right-width: 15px;
            left: -15px;
            right: auto;
        }

        ul.timeline > li > .timeline-panel:after {
            border-left-width: 0;
            border-right-width: 14px;
            left: -14px;
            right: auto;
        }
}

.whitespace-normal > div {
	white-space: normal !important;
}

.table > tbody > tr > td.danger-important {
    background-color: #f2dede !important;
}

.table > tbody > tr > td.warning-important {
    background-color: #fcf8e3 !important;
}

.table > tbody > tr > td.success-important {
    background-color: #dff0d8 !important;
}

.popover{
    max-width: 500px; /* Max Width of the popover (depending on the container!) */
}

table thead tr th{
	background-color: #ffffff;
}

.dollars_notice{
	font-weight: normal;
}

a.clickable-table-cell{
	height:100%;
	width: 100%;
	display:block;
}

.modal-draggable .modal-header{
	cursor: move;
}

.table-control.no-break.js-column-total-cell {
	padding-top: 7px;
}

.table-no-header tr:first-child td, .table-no-header tr:first-child th{
	border-top:none !important;
}

td.risk-table-cell{
	padding: 0 !important;
}

td.risk-table-cell div{
	min-height:50px !important;
	vertical-align: middle;
}

td.risk-table-cell div a,
td.risk-table-cell div strong{
	line-height: 50px;
	height: 100%;
	width: 100%;
	display:inline-block;
}

td.risk-table-cell div span{
	line-height: 50px;
	height: 100%;
	width: 100%;
	display:inline-block;
}

.triangle-div{
	height: 100%;
	width: 100%;
}

.tr-triangle div.triangle-div{
	position: relative;
}

.tr-triangle div.triangle-div:after {
	content: "";
	position: absolute;
	top: -5px;
	right: -5px;
	width: 0;
	height: 0;
	display: block;
	border-left: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-top: 10px solid #f00;
}

.tr-triangle div.triangle-div.loading_comments:after{
	cursor: progress;
}

.help-cursor{
	cursor: help;
}

.progress-cursor{
	cursor: progress;
}


/* ----Grid helper classes----*/

/*Apply no break*/
tr.js_totals_row td,
tr.js_header_row th,
tr.input-row th,
tr.input-row td,
tr.js_warehouse_row th,
tr.js_warehouse_row td,
tr.js_cash_flow_row td,
tr.js_warehousing_totals_row td,
#js_grand_total_row tr,
#js_indirect_forecast_row tr {
	white-space: nowrap;
}

/* Right align total cells */
td.js-column-total-hours-cell,
td.js-column-total-dollars-cell,
td.js-column-etc-total-hours-cell,
td.js-column-etc-total-dollars-cell{
	text-align: right;
}

#indirect_forecast_table thead tr th {
	white-space: nowrap;
}

/* This is to eliminate repeated us of the table-control class shows up*/
tr.input-row td input,
tr.js_warehouse_row td input {
	display: block;
	padding: 2px 0 0 4px;
	margin: 0 !important;
	border: 0;
	width: 100%;
	height: 100%;
	background-color: #d9edf7;
}

tr.input-row td:not(.js-row-total-hours-cell):not(.js-row-total-dollars-cell):not(.js-row-etc-total-hours-cell):not(.js-row-etc-total-dollars-cell):not(.etc-cell),
tr.js_warehouse_row td:not(.js-row-total-hours-cell):not(.js-row-rate-cell):not(.js-row-total-dollars-cell):not(.js-row-etc-total-hours-cell):not(.js-row-etc-total-dollars-cell):not(.etc-cell) {
	margin: 0;
	padding-left:4px;
	padding-right: 4px;
	background-color: #d9edf7;
}

td.etc-cell{
	background-color: #dff0d8;
 }


/* Alignment Fix */
#indirect_forecast_table tbody tr.active td {
	padding-top: 7px;
}

/* Accruals Tab CSS */
.accrual_lines_table tr.line-row {
	color: #FFF;
	background-color: #343A40;
}

.accrual_lines_table tr.accrual-row {
	color: #FFF;
	background-color: #536067;
}

.accrual_lines_table tr.accrual-row a {
	color: #6ab1ea;
	/*font-size: 0.9em;*/
}

.accrual_lines_table tr.accrual-row a.accrual_line_comments:hover {
	text-decoration: none;
}

.accrual_lines_table tr.accrual-markup {
	background-color: #FFF;
	/*background-color: #FFEEE0;*/
}

.accrual_lines_table tr.accrual-totals {
	background-color: #FFF;
	/*background-color: #FFEED0;*/
}

.accrual_lines_table tr.line-markups {
	background-color: #FFEEC0;
}

.accrual_lines_table tr.line-totals {
	background-color: #FFEEB0;
}

.accrual_lines_table tr.markup-totals {
	background-color: #FFEEA0;
}

.accrual_lines_table tr.grand-totals {
	background-color: #FFEE80;
}

.accrual_lines_table tr.line-row > td {
	border: 1px solid #343A40;
}

.accrual_lines_table tr.accrual-row > td {
	border: 1px solid #536067;
}

/*.accrual_lines_table tr.line-markups > td {*/
/*	border-top: 2px solid black;*/
/*}*/

/*.accrual_lines_table tr.markup-totals > td {*/
/*	border-top: 4px double black;*/
/*}*/

.accrual_lines_table tr.line-totals > td {
	border-top: 2px solid black;
}

.accrual_lines_table tr.grand-totals > td {
	border-top: 4px double black;
}

.accrual_lines_table tr:not(.blank-row) th:nth-child(8),
.accrual_lines_table tr:not(.blank-row) td:nth-child(8){
	border-left: 2px solid black;
}

.accrual_lines_table tr.blank-row td {
	height: 25px;
	border: none;
}

.accrual_lines_table colgroup col:nth-child(1),
.accrual_lines_table colgroup col:nth-child(2),
.accrual_lines_table colgroup col:nth-child(4),
.floatThead-container table colgroup col:nth-child(1),
.floatThead-container table colgroup col:nth-child(2),
.floatThead-container table colgroup col:nth-child(4){
	width: 200px !important;
}

.accrual_lines_table tr td:nth-child(3),
.accrual_lines_table tr td:nth-child(5),
.accrual_lines_table tr td:nth-child(6),
.accrual_lines_table tr td:nth-child(7){
	white-space: nowrap;
}

.d-flex {
	display: flex !important;
}

.justify-content-center {
	justify-content: center !important;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
	color: #495057;
	/*background-color: #fff;*/
	border-color: #dee2e6 #dee2e6 #fff;
}

table.table-finance-report thead th {
	padding: 4px 4px 4px 4px !important;
	font-size: 13px !important;
	line-height: 20px !important;
}

table.table-finance-report tfoot th {
	padding: 4px !important;
	font-size: 12px !important;
	line-height: 18px !important;
}

table.table-finance-report td {
	padding: 4px !important;
	font-size: 12px !important;
	line-height: 18px !important;
}

td.top_table_border {
	border-top: 1px solid black !important;
}

table.table-phi-report thead th {
	padding: 4px 4px 4px 4px !important;
	font-size: 12px !important;
	line-height: 18px !important;
}

table.table-phi-report td {
	padding: 3px !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

.table-phi-report > thead > tr > th[class*="sort"]:after{
	content: "" !important;
}

table.table-cpr-report thead th {
	padding: 4px 4px 4px 4px !important;
	font-size: 12px !important;
	line-height: 18px !important;
}

table.table-cpr-report td {
	padding: 3px !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

.table-cpr-report > thead > tr > th[class*="sort"]:after{
	content: "" !important;
}

.js_status_icon{
	width: 10%;
	/*border: 1px solid #999;*/
	/*border-radius: 4px;*/
	padding-left: 10px;
	padding-top: 10px;
	padding-right: 10px;
	/*background-color: #f5f5f5;*/
	/*box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);*/
	position: relative;
}

.status-success {
	color:#5cb85c
}

.status-current {
	color: #31708f
}

i.status_wizard_number{
	font-family: 'Open Sans', "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

.status_arrow{
	margin: 37px 9px 0 9px;
}
/* Styles for new grid */

table.grid_table a {
	color: #333;
}

thead tr th a.grid-group-add-link {
	/*display: none;*/
	padding-left: 20px;
	font-weight: normal;
	color: rgb(51, 122, 183);
}

tr.dtrg-group a.grid-group-add-link {
	display: none;
	padding-left: 20px;
	font-weight: normal;
	color: rgb(51, 122, 183);
}

tr.dtrg-group:hover a.grid-group-add-link {
	display: inline-block;
}

.dtrg-group > th > .depth-span {
	font-size: 12px;
}

td > .depth-span {
	font-size: 12px;
}

.grid-text-center {
	text-align: center !important;
}

.grid-text-right {
	text-align: right !important;
}

.grid-footer tr td {
	font-size: 16px;
	font-weight: 700;
	background-color: rgba(0, 0, 0, 0.25);
}

input[readonly].js-datepicker-week-ending-saturday {
	background-color: #fff !important; /* normal white background */
	cursor: pointer; /* feels interactive */
}

input[readonly].js-datepicker-week-ending-saturday-filter {
	background-color: #fff /* normal white background */
	cursor: pointer; /* feels interactive */
}

/* Custom row selection styles for Font Awesome 4.7.0 */
td.select-checkbox {
	cursor: pointer;
}

/* Unselected rows: show empty square (fa-square-o) */
table.dataTable tbody tr:not(.selected) td.select-checkbox::before,
table.dataTable tbody tr:not(.selected) th.select-checkbox::before {
	font-family: 'FontAwesome';
	content: "\f096"; /* fa-square-o */
	margin-top: 2px;
	margin-left: -6px;
	border: none;
	font-size: 1.33333333em;
	color: #337ab7;
	text-decoration: none;
	font-weight: normal;
}

/* Selected rows: show checked square (fa-check-square) */
table.dataTable tbody tr.selected td.select-checkbox::before,
table.dataTable tbody tr.selected th.select-checkbox::before {
	font-family: 'FontAwesome';
	content: "\f14a"; /* fa-check-square */
	margin-top: 8px;
	margin-left: -6px;
	border: none;
	font-size: 1.33333333em;
	color: white;
	text-decoration: none;
	font-weight: normal;
}

/* Remove DataTables' default selection mark */
table.dataTable tbody tr.selected td.select-checkbox::after,
table.dataTable tbody tr.selected th.select-checkbox::after {
	content: "";
}

/* Fix alignment */
table.dataTable tbody td.select-checkbox::before,
table.dataTable tbody td.select-checkbox::after,
table.dataTable tbody th.select-checkbox::before,
table.dataTable tbody th.select-checkbox::after {
	top: initial !important;
}

/* Ensure checkbox column has room */
table.dataTable tbody tr td.select-checkbox {
	min-width: 25px;
}

.table th i.fa.grid-select-all-icon { margin-left: 0px; }

/* On grid table view, make overflow visible for the floating header when scrolling*/
.grid-table-view .dtfh-floating-limiter {
	overflow: visible !important;
}

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
	border: none;
}

.table-light-padding > tbody > tr > td,
.table-light-padding > tbody > tr > th,
.table-light-padding > tfoot > tr > td,
.table-light-padding > tfoot > tr > th,
.table-light-padding > thead > tr > td,
.table-light-padding > thead > tr > th {
	padding: 4px;
}

.dt-pagination-row {
	padding-top: 10px;
	padding-bottom: 10px;
}

#grid_table tbody tr.is-modified {
	position: relative;
}

#grid_table tbody tr.is-modified::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 0 4px rgba(51, 122, 183, 0.5);
	z-index: 10;
	animation: modified-fadeout 3s forwards;
}


@keyframes modified-fadeout {
	0% {
		box-shadow: inset 0 0 0 4px rgba(51, 122, 183, 0.5);
	}

	80% {
		box-shadow: inset 0 0 0 4px rgba(51, 122, 183, 0.5);
	}

	100% {
		box-shadow: inset 0 0 0 0 rgba(51, 122, 183, 0);
	}
}

#grid_table_processing {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;
	transform: translate(-50%, -50%) !important;
	margin: 0 !important;
	z-index: 10000 !important;
}

/* Specific outline primary utility */
.btn-outline-primary {
	color: #337ab7 !important;
	border-color: #2e6da4;
	background-color: transparent;
}

/* Hover state interaction */
.btn-outline-primary:hover {
	box-shadow: 0 0 0 0.2rem rgba(40, 96, 144, 0.5);
}

.btn-outline-primary:active,
.btn-outline-primary.active,
.open > .dropdown-toggle.btn-primary {
	color: #fff;
	background-color: #286090;
	border-color: #204d74;
}

.bg-orange {
	background-color: #fbcca1;
}

.bg-warning-dark {
	background-color: #f7ecb5;
}

.bg-secondary {
	background-color:#e2e6ea;
}

#grid_table_wrapper .grid-group-label {
	position: sticky;
	left: 0;
	top: unset !important;
	bottom: auto;
	z-index: 1 !important;

	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 4px;

	width: max-content;
	max-width: calc(100vw - 60px);
	white-space: nowrap;
}

.attachment-link {
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	margin-top: 5px;
}

.attachment-link:has(.attachment-badge) {
	padding-right: 8px;
}

.attachment-link .fa-paperclip {
	display: inline-block;
}

.attachment-badge {
	position: absolute;
	top: -7px;
	right: -3px;

	min-width: 15px;
	height: 15px;
	padding: 0 3px;

	border-radius: 8px;
	background: #337ab7;
	color: #fff;

	font-size: 9px;
	font-weight: bold;
	line-height: 15px;
	text-align: center;
	white-space: nowrap;
}