a:link,
a:visited,
a:active {
	color: #e51b25;
	text-decoration: none;
}
input[type='email']::placeholder,
input[type='password']::placeholder,
input[type='text']::placeholder {
	color: #ccc;
	opacity: 1;
	/* Firefox */
}
body {
	/*
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	padding-top: 80px;
	padding-bottom: 40px;
*/
	background-color: #eee;
	font-family: 'Pontano Sans', arial, verdana, helvetica;
}
/* Headings
******************************/
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Roboto', arial, verdana, helvetica;
}
h1 {
	letter-spacing: -2px;
}
h1 span {
	margin-left: 4px;
}
h1 span.data-count {
	font-size: 0.3em;
	text-transform: none;
	letter-spacing: 0;
}
h1 span.small {
	font-size: 0.3em;
	letter-spacing: 0;
}
h5 {
	font-family: 'Pontano Sans', arial, verdana, helvetica;
	font-weight: bold;
}
h5 span.small {
	font-size: 0.8em;
	font-weight: normal;
	color: #333;
	margin-left: 1em;
}
p {
	font-size: 14px;
}
.btn-sm {
	margin: 0;
	padding: 0.1rem 0.4rem;
}
.btn-sm i {
	font-size: 1.1rem;
	margin: -0.4rem 0rem;
}
.preserve-space {
	white-space: pre-wrap;
}
.card-header span.small {
	font-size: 0.6em;
	font-weight: normal;
	color: #333;
	margin-top: 7px;
}
header {
	height: 90px;
	background: #999 url(../images/header_bg.jpg) no-repeat fixed;
	background-size: contain;
}
header img {
	max-width: 80%;
	margin: 16px 0;
}
.affix {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1030;
}
/* fixed to top styles */
.navbar.affix {
	background-color: #222 !important;
}
.navbar-brand {
	font-family: 'Oswald', Arial, helvetica, sans-serif;
	font-weight: 300;
	font-size: 1.3em;
	letter-spacing: 0;
}
.navbar-brand span {
	font-weight: 700;
}
.nav-item {
	font-family: 'Roboto', arial, verdana, helvetica;
}
.nav-item span {
	font-weight: 900;
}
.nav-item .dropdown-header {
	font-weight: bold;
	border-bottom: solid 1px #ccc;
	background-color: #ddd;
}
main {
	padding-top: 20px;
}
.scroll-list {
	height: auto;
	max-height: 300px;
	overflow-x: hidden;
}
div.optgroup-header {
	font-weight: bold;
}
/* Login
******************************/
.form-login {
	width: 100%;
	max-width: 330px;
	padding: 15px;
	margin: 0 auto;
}
.form-login .form-control {
	position: relative;
	box-sizing: border-box;
	height: auto;
	padding: 10px;
	font-size: 16px;
}
.form-login .form-control:focus {
	z-index: 2;
}
.form-login input[type="email"] {
	margin-bottom: -1px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}
.form-login input[type="password"] {
	margin-bottom: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
/* Buttons
******************************/
.btn-add {
	font-family: 'Open Sans Condensed', helvetica, sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.2em;
	letter-spacing: -1px;
}
.btn-add span {
	font-weight: 300;
	margin-left: 2px;
}
.btn-add i {
	margin-right: 2px;
}
.site-buttons {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.site-buttons li {
	display: inline-block;
	min-width: 12%;
	margin-right: 8px;
}
.site-buttons li a {
	font-size: 0.9em;
	color: #fff;
	text-align: center;
	width: 100%;
	margin: 4px;
	box-shadow: 0 0 8px #000;
}
.site-buttons li a i {
	font-size: 2em;
	display: block;
}
.row-action:hover .action-delete {
	color: #d00;
}
.row-action:hover .action-edit {
	color: #0c0;
}

/* Modals
******************************/
.modal-header {
	color: #fff;
	background-color: #333;
}
.modal-body {
	position: relative;
}
.modal-footer {
	background-color: #999;
}
/* Data Tables
******************************/
.col-action {
	width: 50px;
}
.row-action {
	width: 50px;
	cursor: pointer;
}
.alert {
	display: ;
}
/* System Messages
******************************/
.system-message {
	position: fixed;
	top: 45%;
	left: 25%;
	margin-left: 0;
	width: 50%;
	z-index: 9999;
}
.system-message span {
	font-size: 1.2em;
}
/* Profile
******************************/
.profile-info h4 span {
	font-size: 0.7em;
	margin-top: 4px;
}
.profile-panel .profile-picture {
	float: left;
	background-color: #999;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.profile-panel .profile-picture i {
	padding: 12px;
}
.profile-panel p {
	margin: 0;
}
.profile-panel p i {
	font-size: 1.25em;
}
.profile-panel p.note {
	font-size: 0.7em !important;
}
.profile-details {
	float: left;
}
.profile-details .contacts {
	overflow: auto;
}
.profile-details .contacts .contact-name {
	clear: both;
	float: left;
	margin-right: 12px;
}
.profile-details .contacts .contact-phone {
	float: right;
}
.panel {
	margin-top: 8px;
	padding: 8px;
	background-color: #ccd;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.panel .panel-header {
	border-bottom: solid 1px #666;
	overflow: hidden;
}
/* Calendar Grid
******************************/

.calendar-grid {
	table-layout: fixed;
	border-collapse: collapse;
	background-color: #fff;
	border: solid 1px #999;
	box-shadow: 2px 2px 4px #999;
}
.calendar-grid thead {
	background-color: #ddd;
}
.calendar-grid thead tr:first-child th {
	font-weight: bold;
	background-color: #bbb;
}
.calendar-grid thead tr td,.calendar-grid thead tr th {
	font-size: 0.75em !important;
	text-align: center;
	padding: 4px;
	border: solid 1px #999;
}
.calendar-grid thead tr th span {
	font-size: 0.9em;
	font-weight: normal;
	display: block;
}
.calendar-grid thead tr th span.holiday-name {
	color: #fff;
	text-shadow: 0 0 2px #000;
}
.calendar-grid thead .holiday {
	position: relative;
	background-color: #666;
}
.calendar-grid thead .holiday:after {
	content: 'Holiday';
	font: bold 2.4em 'Roboto', arial, verdana, helvetica;
	color: #ff0;
	position: absolute;
	left: 20px;
	top: 30px;
	transform: rotate(-30deg);
	text-shadow: 0 0 4px #000;
}
.calendar-grid thead .holiday:hover {
	background-color: #bbb;
}
.calendar-grid.schedule tbody tr:hover {
	border-left: solid 4px #090;
}
.calendar-grid.schedule tbody tr:hover th:first-of-type {
	padding-left: 1px;
}
.calendar-grid.schedule tbody tr td, .calendar-grid.schedule tfoot tr td {
	font-size: 0.75em;
}
.calendar-grid .shift-totals {
	background-color: #ddd;
	border-top: solid 3px #333;
}
.calendar-grid tbody tr td, .calendar-grid tfoot tr td {
	text-align: center;
	padding: 2px;
	border: solid 1px #999;
}
.calendar-grid tbody tr td.data {
	background-color: #f3f3f3;
}
.calendar-grid tbody tr td.data p {
	margin: 0;
	padding: 0;
}
.calendar-grid tbody tr td.data p.notes {
	font-size: 0.8em;
	color: #333;
	background-color: #ff6;
}
.calendar-grid tbody tr td.locked {
	background-color: #eee;
}
.calendar-grid tbody tr td.locked:hover {
	background-color: #eee;
	cursor: default !important;
}
.calendar-grid tbody tr td.shift-highlight,
.calendar-grid tbody tr td ul li i.shift-highlight {
	background-color: #cfc;
}
.calendar-grid tbody tr td.shift-highlight:hover,
.calendar-grid tbody tr td ul li i.shift-highlight:hover {
	background-color: #cfc;
}
.calendar-grid tbody tr td .action-icon {
	font-size: 1.25em;
}
.calendar-grid tbody tr td .action-icon.info-icon {
	position: relative;
}
.calendar-grid tbody tr td .action-icon.info-icon .employee-info {
	position: absolute;
	width: 300px;
	padding: 8px;
	background-color: #dde;
	border: solid 2px #bbc;
	border-radius: 8px;
}
.calendar-grid tbody tr td .action-icon.info-icon .employee-info h6 {
	padding-bottom: 2px;
	margin-bottom: 4px;
	border-bottom: solid 1px #999;
}
.calendar-grid tbody tr td .action-icon.info-icon .employee-info p {
	font-size: 0.8em;
}
.calendar-grid tbody tr td .action-icon.info-icon .employee-info p span {
	font-weight: bold;
}
.shift-selection {
	position: absolute;
	left: 0;
	top: 0;
	width: 250px;
	padding: 8px;
	border: solid 1px #615549;
	background-color: #f0eeec;
	border-radius: 12px;
	box-shadow: 0 0 4px #000;
	z-index: 100;
}
.shift-selection ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.shift-selection ul li {
	text-align: left;
	margin: 1px;
	padding: 2px;
	background-color: #e5e1dd;
	border: solid 1px transparent;
	border-radius: 4px;
}
.shift-selection ul li i {
	margin: 2px 4px 2px 0;
	padding: 6px;
	background-color: #ffffff;
	border-radius: 2px;
	line-height: 1rem;
}
.shift-selection ul li:hover {
	background-color: #d0c8c0;
	border: solid 1px #afa294;
}
.future-availability-schedule .availability-grid {
	background-color: #ffffe0;
	border: solid 2px #d0c6b6;
}
.base-availability-schedule .base-availability-grid {
	background-color: #ded;
	border: solid 2px #bcb;
}
.table2 td {
	padding: 0;
}
.schedule-grid,
.future-availability-schedule .availability-grid,
.base-availability-schedule .base-availability-grid {
	padding: 10px;
	margin-bottom: 16px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.base-availability-grid .calendar-grid tbody td.shift {
	height: 37px;
}
.schedule-grid {
	background-color: #dfe0cf;
	border: solid 2px #bfc0af;
}
.schedule-grid .special-info {
	font-size: 0.6em !important;
	margin: 0;
	padding: 0 0 4px 0 !important;
}
.schedule-grid table {
	margin: 0;
}
.schedule-grid table thead tr:first-child th,.schedule-grid table thead tr:first-child td {
	width: 10%;
	background-color: #9b8;
}
.schedule-grid table thead tr th {
	width: 36px;
}
.schedule-grid table tbody tr td:first-child {
	text-align: right;
	line-height: 2em;
	padding-right: 8px;
	cursor: default !important;
}
.schedule-grid table,
.schedule-grid table tr td {
	border: solid 1px #786;
}
.schedule-grid table thead,
.schedule-grid table tbody tr td:first-child {
	background-color: #bda;
}
.location-details .location-item {
	display: inline-block;
	padding: 8px;
	margin: 12px 12px 0 0;
	border: solid 1px #bba;
	background-color: #ccb;
}
.location-details .location-item h6 {
	font-weight: bold;
	border-bottom: solid 1px #765;
	margin: 0;
}
.location-details .location-item p {
	font-size: 0.7em;
	margin: 0;
}
.edit:hover {
	background-color: #ff0;
	cursor: pointer;
}
.am i,
.pm i {
	font-size: 1.4em;
	line-height: 1.5em;
}
.leave {
	background: #eee url(../images/stripes.png);
}
.text-schedule h5 {
	margin: 0;
	padding: 0;
}
.text-schedule h5:not(:first-child) {
	margin-top: 16px;
}
.text-schedule .past {
	color: #aaa;
	text-decoration: line-through;
}
.base-availability {
/*	cursor: pointer;*/
/*	background-color: #cfc;*/
}
.available {
	cursor: pointer;
	background-color: #9c9;
}
.not-available {
	cursor: not-allowed;
	background-color: #c33;
}

/* User Login Info
------------------------------------ */
.login-info {
	font-family: 'Roboto', arial, verdana, helvetica;
	margin: 6px 6px 4px 6px;
}
.login-info li {
	color: #eee;
	text-align: right;
	position: relative;
	width: 100%;
	display: inline-block;
	margin: 0;
	padding: 0;
}
.login-info li ul {
	display: none;
	position: absolute;
	right: -6px;
	top: -6px;
	padding: 8px 16px;
	background-color: #999;
	border: solid 2px #666;
	border-radius: 8px;
	box-shadow: 0 0 4px #000;
	z-index: 999;
}
.login-info li ul h5 {
	color: #333;
	border-bottom: solid 1px #666;
}
.login-info li p {
	color: #543;
	margin: 0;
	padding: 0;
}
.login-info li:hover ul {
	display: block;
}
.login-info li a {
	color: #ddd;
	display: block;
	margin: 4px 0;
}
.login-info li a:hover {
	color: #fff;
}
.login-info li i {
	font-size: 1.3em;
}
.login-info li span {
	font-weight: 900;
}
.base-availability-schedule .maxWorkDays {
	display: inline-block;
	padding: 8px;
	border: solid 1px #999;
	background-color: #cdc;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.employee-info .employee-name, .employee-profile .employee-name {
	font-weight: bold;
	letter-spacing: -2px;
	margin: 0;
}
.employee-info p {
	margin: 0;
	padding: 0;
}
.employee-info .employee-status {
	color: #c33;
	font-weight: bold;
	text-transform: uppercase;
}
.employee-rating {
	font-size: 0.9rem;
	font-weight: bold;
	color: #fff;
	vertical-align: middle;
	padding: 0.25rem 0.5rem;
	margin: 0 0 0 0.5rem;
}
.action-icon {
	cursor: pointer;
}
.action-icon i:nth-child(2) {
	opacity: 0.9;
}
.action-icon:hover .fa-lock:before {
	content: "\f09c";
}
.icon-set {
	display: inline-block;
	margin: -3px 0px -3px 12px;
	padding: 4px;
	border: solid 1px #03c;
	background-color: #39f;
	border-radius: 8px;
	box-shadow: 0 0 2px #000;
}
.icon-set i {
	padding: 4px;
	cursor: pointer;
}
.icon-set i:hover {
	color: #fff;
}
.edit-button i {
	font-size: 1.6em;
}
.profile-footer p {
	margin: 0;
	padding: 0;
}
.easy-autocomplete-container {
	z-index: 10;
}
form h5 {
	margin-bottom: 2px;
}
form .dropdown {
	margin-bottom: 12px;
}
.card-columns {
	column-count: 2;
}
.permissions-display .card-columns {
	column-count: 3;
}
.permission-group {
	margin-bottom: 2px;
	border: dashed 1px #ddd;
	border-radius: 8px;
}
.permission-group h6 {
	margin: 0;
	padding: 0;
}
.permission-group p {
	font-size: 0.8rem;
	color: #999;
	margin: 0;
	padding: 0;
}
.permission-group .form-group {
	margin: 0;
}
.permission-group div {
	line-height: 1;
}
.permission-group div i {
	vertical-align: middle;
}
.data-table thead th {
	font-size: 0.9rem;
}
.data-table tbody td {
	font-size: 0.7rem;
}
.user-list p {
	font-size: 0.75em;
	margin: 0;
	padding: 0;
}
@media (min-width: 481px) and (max-width: 767px) {
	header {
		background-size: inherit;
	}
	h1 {
		font-size: 1.6rem;
	}
	h5 {
		font-size: 0.9em;
	}
	.schedule-grid,
	.availability-grid,
	.base-availability-grid {
		margin-bottom: 8px;
	}
	.calendar-grid {
		box-shadow: 1px 1px 2px #999;
		margin: 0 0 4px 0;
	}
	.calendar-grid thead tr td {
		font-size: 0.75em !important;
		width: auto;
	}
	.calendar-grid thead tr td span {
		font-size: 0.9em;
	}
	.calendar-grid thead .holiday:after {
		font: bold 1.4em 'Roboto', arial, verdana, helvetica;
		color: #ff0;
		left: 6px;
	}
	.data-table thead th {
		font-size: 0.75rem;
		text-align: center;
	}
	.data-table tbody td {
		font-size: 0.65rem;
		border-right: solid 1px #ddd;
	}
	.card-columns {
		column-count: 1;
	}
}
@media (max-width: 480px) {
	header img {
		max-width: 100%;
	}
	h1 {
		font-size: 1.3rem;
	}
	h5 {
		font-size: 0.75em;
	}
	.schedule-grid,
	.availability-grid,
	.base-availability-grid {
		max-width: none;
		margin-bottom: 6px;
		padding: 8px;
		-moz-border-radius: 6px;
		-webkit-border-radius: 6px;
		border-radius: 6px;
		overflow-x: scroll;
	}
	.calendar-grid i,
	.availability-grid i {
		font-size: 1em;
	}
	.calendar-grid {
		box-shadow: 1px 1px 2px #999;
		margin: 0 0 4px 0;
	}
	.calendar-grid thead tr th {
		font-size: 0.6rem;
		font-weight: normal;
		text-align: center;
	}
	.calendar-grid thead tr td {
		font-size: 0.6rem !important;
		padding: 0;
		width: auto;
	}
	.calendar-grid thead tr td span {
		font-size: 0.9em;
	}
	.calendar-grid thead .holiday:after {
		font: bold 1.6em 'Roboto', arial, verdana, helvetica;
		color: #ff0;
		left: 0;
	}
	.data-table thead th {
		font-size: 0.6rem;
		font-weight: normal;
		text-align: center;
	}
	.data-table tbody td {
		font-size: 0.6rem;
		border-right: solid 1px #ddd;
	}
	.card-columns {
		column-count: 1;
	}
}
