/*==========================================================================
   Body
==========================================================================*/
html {
	height: 100%;
}

body {
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	background-color: #DDDDDD;
	font-size: .9rem;
}

body.splash {
	background-color: #31a8fd;
	height: 100%;
}

body.splash>.container-fluid {
	height: 100%;
}






/*==========================================================================
   Headings
==========================================================================*/
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
	margin-bottom: 15px;
	font-family: 'Open Sans', sans-serif;
}

h1 {
	font-weight: 600;
	font-size: 30px;
}







a {
	color: #333;
}


.grey-links>a {
	color: #999;
}




.scroll-y {
	overflow-y: scroll;
	height: 300px;
}




.flash-list {
	margin: 0;
	padding: 0 1.6rem;
}









/*==========================================================================
   Splash box
==========================================================================*/
.splash-box-container {
	display: table;
	width: 100%;
	height: 100%;
}

.splash-box-container .floater {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}

.splash-box {
	background-color: #FFF;
	padding: 30px;
}

.splash-footer {
	margin: 0;
	text-align: center;
	padding: 25px;
	font-size: 0.9em;
	color: #fff;
	margin-top: 25px;
	margin-left: -15px;
	margin-right: -15px;
}

.splash-footer a {
	color: #fff;
}

.splash-footer a:hover {
	color: #30363E;
}

.splash-box .big-icon {
	display: block;
	text-align: center;
	font-size: 90px;
	margin-bottom: 1rem;
	background: #DDD;
	padding: 15px 0px;
}

.splash-box .logo-floater {
	display: table-cell;
	vertical-align: middle;
}


.splash-box .logo {
	width: 150px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	margin-bottom: 25px;
}













/*==========================================================================
   Sidebar
==========================================================================*/
#sidebar-left {
	width: 230px;
	z-index: 100;
	/* Behind the navbar */
	padding: 0;
	background-color: #30363E;
	min-height: 100vh;
	font-size: .9rem;
	position: fixed;
	display: none;
}

#sidebar-left h6.menu-heading {
	text-transform: uppercase;
	color: #70829a;
	font-weight: 600;
	font-size: .9rem;
	margin: 0;
	padding: 1rem;
	padding-bottom: .3rem;
}

#sidebar-left .sidebar-menu {
	margin: 0;
	padding: 0;
}

#sidebar-left .sidebar-menu>li {
	margin: 0;
	padding: 0;
}

#sidebar-left .sidebar-menu>li>a {
	padding: .4rem 1rem;
	overflow: hidden;
	color: #FFF;
	display: block;
	font-weight: 600;
}

#sidebar-left .sidebar-menu>li>a:hover,
#sidebar-left .sidebar-menu>li.active>a {
	text-decoration: none;
	background-color: #454A52;
	cursor: pointer;
}

#sidebar-left .sidebar-menu>li>a>i {
	margin-right: .5rem;
}




#sidebar-left .sidebar-menu>li>ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background-color: rgba(0, 0, 0, .4);
	display: none;
}

#sidebar-left .sidebar-menu>li>ul.expanded {
	display: block;
}

#sidebar-left .sidebar-menu>li>ul li {
	margin: 0;
	padding: 0;
}

#sidebar-left .sidebar-menu>li>ul li>a {
	padding: .4rem 1rem .4rem 1.2rem;
	overflow: hidden;
	color: #FFF;
	display: block;
	font-weight: 600;
}

#sidebar-left .sidebar-menu>li>ul li>a:hover {
	text-decoration: none;
	background-color: rgba(0, 0, 0, .2);
}

#sidebar-left .sidebar-menu>li>ul li>a>i {
	margin-right: .5rem;
	color: #999;
}


.toggle-menu {
	display: inline-block;
	color: #FFF;
	float: left;
	margin-right: 10px;
}









/*==========================================================================
   topnav
==========================================================================*/
.top-nav {
	background-color: #4A89DC;
}

.top-nav .brand {
	background-color: #3078D7;
	width: 230px;
}

.top-nav .brand a {
	font-size: 1.1rem;
	color: #FFF;
}

.top-nav .brand a:hover {
	text-decoration: none;
}

.top-nav .header-logo {
	width: auto;
	height: 45px;
	margin: -5px 0px;
	filter: brightness(0) invert(1);
}







/*==========================================================================
  Top bar
==========================================================================*/
#topbar {
	position: relative;
	width: 100%;
	background: #fafafa;
	border-bottom: 1px solid #e0e0e0;
}

#topbar h1 {
	font-size: 1.25rem;
	font-weight: 400;
	margin: 0;
}

#topbar .right-actions {
	float: right;
	margin-top: -3px;
}




/*==========================================================================
   Forms
==========================================================================*/
label {
	font-weight: 600;
}

.form-control {
	border-radius: 0px;
}

.form-control:hover,
.form-control:focus {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.28);
}

.input-sm {
	font-size: 1em;
	padding: 2px;
}

.sweet-alert .form-control {
	display: block !important;
}

.datetime-input {
	margin: 0px -5px;
}

.datetime-input legend {
	margin: 0px 5px;
}

.datetime-input .form-control {
	margin: 0px 5px;
}


.btn {
	padding: 0.3em 1em;
	font-size: 1.1em;
	border-radius: 3px;
}

.btn-sm {
	font-size: 1em;
}

.btn-xs {
	padding: .25rem .4rem;
	font-size: .875rem;
	line-height: .5;
	border-radius: .2rem;
}

.card-header .btn-xs {
	padding: .45rem .4rem;
}

.btn-primary {
	background: #3078d7;
}

.btn-basic {
	border: 1px solid #dfdfdf;
	background-color: #FFF !important;
}

.form-group.required .control-label:after {
	content: "*";
	color: red;
}



/*==========================================================================
   Alerts
==========================================================================*/
.alert {
	border-radius: 0px;
}


/*==========================================================================
   Tables
==========================================================================*/
.table td,
.table th {
	padding: 0.6em;
}

table .wrap {
	width: 1%;
	white-space: nowrap;
}

table .actions {
	width: 1%;
	white-space: nowrap;
}

.table-hover tbody tr:hover {
	background-color: rgba(148, 148, 148, 0.08);
}

table.details {
	width: 100%;
}

table.details th {
	vertical-align: top;
}

table.details td,
table.details th {
	width: 50%;
	padding: 5px 0px;
}

table td.collected-cell {
	background: #fffbc9;
	color: #dc8547 !important;
}

table td.collected-cell a {
	color: #dc8547 !important;
}

table td.collected-cell i {
	color: #dc8547 !important;
}

table td.collected-cell .badge-secondary {
	background-color: #dc8547 !important;
}

table td.dropped-cell {
	background: #c9d5e4;
	color: #4A89DC !important;
}

table td.dropped-cell a {
	color: #4A89DC !important;
}

table td.dropped-cell i {
	color: #4A89DC !important;
}

table td.dropped-cell .badge-secondary {
	background-color: #4A89DC !important;
}


table td.delivered-cell {
	background: #c6e8ab;
	color: #478812 !important;
}

table td.delivered-cell a {
	color: #478812 !important;
}

table td.delivered-cell i {
	color: #478812 !important;
}

table td.delivered-cell .badge-secondary {
	background-color: #478812 !important;
}

table td.completed-cell {
	background: #c9e4df;
}

table td.completed-cell .badge-secondary {
	background: #7ca9a0;
}


table td.readyinvoicing-cell {
	background: #f0cd6a;
	color: #000 !important;
}

table td.readyinvoicing-cell a,
table td.readyinvoicing-cell i {
	color: #000 !important;
}

table td.readyinvoicing-cell .badge-secondary {
	background: #eca608 !important;
}


table td.invoiced-job {
	background: #f5cbf3;
	color: #8e488b !important;
}

table td.invoiced-job a {
	color: #8e488b !important;
}

table td.invoiced-job i {
	color: #8e488b !important;
}

table td.invoiced-job .badge-secondary {
	background-color: #8e488b !important;
}





/*==========================================================================
  Misc
==========================================================================*/
/* Fix bootbox modal title alignment bug */
.bootbox .modal-header {
	display: block;
}



.depth-spacer {
	height: 42px;
	width: 30px;
	float: left;
	text-align: center;
	line-height: 42px;
	color: #DDD;
	margin-right: .75rem;
}

.spacer {
	height: 15px;
}


.card {
	margin-bottom: 15px;
}

.sidebar .card-header {
	font-weight: bold;
	font-size: 1.2em;
}


.notes-container {
	margin: -20px;
	padding: 20px;
	padding-bottom: 30px;
}

.write-note-container {
	background-color: #ced7e2;
	border: 1px solid #cccccc;
	border-top: 1px solid #bac5d2;
	margin: auto -20px;
	margin-top: 15px;
	margin-bottom: -20px;
}


.note {
	display: table;
	width: 100%;
	padding: 15px;
	border-bottom: 1px dotted #c5c5c5;
}

.profile-photo-container,
.note-details-container {
	display: table-cell;
	vertical-align: top;
}

.profile-photo-container {
	text-align: center;
	width: 60px;
	padding-right: 10px;
}

.note-details-container {
	vertical-align: top;
}

.profile-thumbnail {
	height: 50px;
	width: 50px;
	background-color: #4a5058;
	color: #ccd0d6;
	font-size: 1.8em;
	text-align: center;
	border-radius: 6px;
	border: 1px solid #22262b;
	padding: 20px 0px;
	font-weight: 100;
	display: inline-block;
	margin: 0px auto;
}

.note i {
	display: inline-block;
	color: #666;
	font-size: 0.8em;
	padding-bottom: 5px;
}

.note .btn i {
	padding-bottom: 0px;
}


.p-5 {
	padding: 5px;
}

.p-10 {
	padding: 10px;
}

.p-15 {
	padding: 15px;
}

.p-25 {
	padding: 25px;
}

.p-30 {
	padding: 30px;
}


.planner-controls {
	padding: 15px;
	border: 1px solid #dfdfdf;
	background-color: #f1f1f1;
}

.planner-controls .btn-group {
	width: 100%;
}

.planner-controls .btn-group .form-control {
	box-shadow: none !important;
}


.planner .location-list,
.planner .location-list li {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.planner .location-list {
	margin: 15px 0px;
	height: 250px;
	overflow: auto;
}

.planner .location-list li {
	background: #FFF;
	border: 1px solid #dfdfdf;
	padding: 10px;
	margin-bottom: 10px;
}

.planner .location-list li h6 {
	font-size: 1em;
	font-weight: bold;
	margin: 0px;
	margin-bottom: 5px;
	display: inline-block;
}

.planner .location-list li i {
	color: #949494;
	display: inline-block;
	width: 17px;
}

.planner .location-list li:first-child i {
	color: #4C6EF5;
}

.planner .location-list li:last-child i {
	color: #ff636d;
}

.planner .location-list li p {
	font-size: 0.7rem;
	color: #666;
	margin-bottom: 0px;
	padding-left: 17px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.planner .price-container {
	border-top: 1px solid #bac5d2;
	background-color: #ced7e2;
	margin: 0px -15px;
	padding: 10px;
	margin-bottom: -15px;
}

.planner .price-container h3,
.planner .price-container span {
	text-align: center;
	display: block;
	color: #23344a;
}

.planner .price-container span {
	text-transform: uppercase;
	font-weight: 100;
}

.planner .price-container h3 {
	margin-bottom: 5px;
	font-size: 1.6rem;
	font-weight: bold;
}

.planner .planner-map {
	height: 100%;
	background: #f1f1f1;
	border: 1px solid #dfdfdf;
	position: relative;
}

.planner .no-map-container {
	display: table;
	height: 100%;
	width: 100%;
	padding: 0px 25px;
}

.planner .no-map {
	width: 100%;
	vertical-align: middle;
	display: table-cell;
	text-align: center;
	color: #555;
}



#add-location-form {
	margin: -15px;
	border-bottom: 1px solid #cecece;
	padding: 15px;
	margin-bottom: 15px;
	background-color: #e0e0e0;
}



.activity-list,
.activity-list li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.activity-list li {
	padding: 5px 0px;
	margin: 5px 0px;
}

.activity-list li i {
	color: #666;
	display: block;
	font-size: 0.8em;
}


.large-stat {
	margin: 10px 0px;
	font-size: 3em;
	font-weight: bold;
	text-align: center;
	color: #444;
}

.stat-label {
	font-size: 0.9rem;
	font-weight: 100;
	text-transform: uppercase;
	text-align: center;
	color: #666;
}

.current-day {
	background: #4A89DC;
	color: #FFF;
	font-weight: bold;
}



.shaded {
	background-color: #f1f1f1;
}

.hidden {
	display: none;
}



.clean-list {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.clean-list li {
	list-style: none;
	margin: 0px;
	padding: 0px;
	padding: 15px;
	border: 1px solid #96cadc;
	margin-bottom: 15px;
	border-radius: 4px;
	background-color: #d3eef7;
}




.colour-pallet {
	list-style: none;
	margin: 0em 0.5em;
	padding: 0;
}

.colour-pallet li {
	display: inline-block;
	width: 40px;
	padding: 0.15em;
	padding-bottom: 0;
}

.colour-pallet.mini li {
	width: 25px;
}

.colour-pallet li a {
	display: block;
	background: #eee;
	height: 35px;
	width: 35px;
}

.colour-pallet.mini li a {
	width: 20px;
	height: 20px;
}

.colour-pallet li a:hover {
	opacity: 0.8;
}

.colour-pallet li a.selected {
	border: 2px solid #4a89dc;
}



.stat-block h2 {
	font-size: 3em;
	font-weight: bold;
	text-align: center;
	margin: 0;
	margin-bottom: 0.25em;
}

.stat-block p {
	font-size: 1.1em;
	color: #666;
	text-align: center;
	margin: 0;
}

.chart-box {
	height: 400px;
	border: 1px solid #dfdfdf;
	background: #efefef;
}

.ct-series-a .ct-bar,
.ct-series-a .ct-line,
.ct-series-a .ct-point,
.ct-series-a .ct-slice-donut {
	stroke: #4a89dc;
}



.pagination {
	margin: 0;
	padding: 0;
	border-radius: 0;
}

.pagination>span {
	border-radius: 0 !important;
	border: 1px solid #CCC;
	font-weight: bold;
}

.pagination>span a,
.pagination>span.current {
	padding: 7px 12px;
	display: inline-block;
	color: #333;
}

.pagination>span a:hover {
	background-color: #EEE;
	text-decoration: none;
}

.pagination>span:first-of-type {
	border-right: 0px;
}

.pagination>span:last-of-type {
	border-left: 0px;
}







.address-search {
	margin-bottom: 15px;
	border: 1px solid #CCC;
	padding: 15px;
	background: #EEE;

	button {
		margin-left: 5px;
	}

	.no-addresses {
		padding: 10px;
		border: 1px solid #CCC;
		background-color: #FFF;
		margin-top: 15px;
		display: block;
	}

	ul {
		list-style: none;
		padding: 0;
		margin: 0;
		margin-top: 15px;
		max-height: 300px;
		overflow-y: scroll;

		li {
			padding: 10px;
			border: 1px solid #CCC;
			background-color: #FFF;

			&:hover {
				background-color: #DDD;
				cursor: pointer;
			}
		}
	}
}