a
{
	color: #1067b4;
}

label
{
	font-weight: normal !important;
}

.application-sidebar
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 300px;
	padding: 10px;
	overflow: auto;
}

.application-content
{
	position: absolute;
	bottom: 0;
	left: 300px;
	right: 0;
	padding-top: 15px;
	padding-left: 7px;
}

/* Leave enough space for the header bar */
body .application-sidebar, body .application-content
{
	top: 49px;
}

/* Take into account the impersonation header bar */
body.impersonating .application-sidebar, body.impersonating .application-content
{
	top: 95px;
}

#calendar th
{
	font-weight: normal;
}

.sidebar-item
{
	width: 100%;
	margin-bottom: 5px;
	margin-top: 5px
}

#sidebar .glyphicon
{
	margin-top: 2px;
	margin-left: 4px;
}

/* Add left indents to each sub-list in the sidebar. */
#sidebar .nav-list
{
	margin-left: 15px;
	padding-right: 0;
}

#sidebar #tool_tree.nav-list, #sidebar #area_tree.nav-list, #sidebar #extra-links.nav-list
{
	margin-left: 0;
}

#sidebar a
{
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 4px;
}

#sidebar #tool_tree input[type=checkbox], #sidebar #area_tree input[type=checkbox], #sidebar #extra-links input[type=checkbox]
{
	margin-right: 5px;
	margin-top: 0;
}

#sidebar #tool_tree a, #sidebar #area_tree a
{
	padding-left: 0;
	display: inline;
}

#extra-links a
{
	padding-left: 0;
	padding-top: 0;
	padding-bottom: 0;
}

#sidebar label
{
	width: 100%;
	margin: 0;
}

#sidebar fieldset
{
	margin-top: 15px;
	border: none;
	border-top: 1px dotted #c0c0c0;
}

#sidebar fieldset legend
{
	color: #333;
	padding: 0 10px;
	margin: 0 0 5px;
	text-align: center;
	position: relative;
	width: initial;
	border: 1px dotted #c0c0c0;
	font-size: 16px;
	cursor: pointer;
}

.item_tree div, #extra-links div
{
	width: 100%;
	cursor: pointer;
	font-weight: normal;
}

.item_tree div:hover
{
	background-color: #eeeeee;
}

#sidebar .selected
{
	background-color: #e7e7e7;
}

#sidebar .disabled
{
	opacity: .4;
}

#calendar-selected-element
{
	margin-top: -10px;
	margin-bottom: 15px;
}

#calendar-selected-element .label
{
	font-size: 13px;
	display: inline-block;
	vertical-align: bottom;
	padding: 5px 10px;
	margin-top: 10px;
}

#calendar-selected-element .label .glyphicon
{
	padding-right: 3px;
	font-size: 11px;
}

#calendar-selected-element .label:not(:last-of-type)
{
	margin-right: 10px;
}

#calendar-selected-element .label.label-danger, #calendar-selected-element .label.label-warning
{
	white-space: nowrap;
  	overflow: hidden;
  	text-overflow: ellipsis;
}

.status-icon
{
	font-size: 1.5em;
	margin-right: 10px;
}

.notification-icon
{
	font-size: 2.5em;
	margin-right: 5px;
}

.small-icon
{
	margin-right: 5px;
}

.primary-highlight
{
	color: #3477b4;
}

.label-primary
{
	background-color: #3477b4;
}

.success-highlight
{
	color: #008000;
}

.label-success
{
	background-color: #008000;
}

.warning-highlight
{
	color: #eb9316;
}

.label-warning
{
	background-color: #eb9316;
}

.danger-highlight
{
	color: #dc143c;
}

.label-danger
{
	background-color: #dc143c;
}

.grey
{
	color: grey;
}

.light-grey
{
	color: #6F6F6F;
}

.hover-black:hover
{
	color: black;
}

.chevron
{
	color: lightgrey;
	padding-right: 10px;
}

.pointer
{
	cursor: pointer;
}

.italic
{
	font-style: italic;
}

.table-in-well *
{
	background-color: transparent !important;
}

.table.table-align-middle > tbody > tr > td
{
     vertical-align: middle;
}

table > tbody > tr.no-border > td, table > tbody > tr.no-border > th,
table > thead > tr.no-border > td, table > thead > tr.no-border > th
{
	border: none;
}

.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 .thead-light th, .table.thead-light th
{
    color: #495057;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.split-screen-left-panel
{
	position: absolute;
	top: 120px;
	bottom: 0;
	width: 50%;
	overflow-y: scroll;
	min-width: 375px;
}

.split-screen-right-panel
{
	position: absolute;
	top: 120px;
	bottom: 0;
	width: 50%;
	overflow-y: scroll;
	overflow-x: hidden;
	left: 50%;
	padding-left: 12px;
	padding-right: 24px;
}

.datetimepicker-container
{
	display: inline-block;
	position: relative;
}

.extra-side-padding
{
	padding-left: 5px;
	padding-right: 5px;
}

.small-input
{
	max-width: 125px;
}

/* Overrides the styling of un-editable Full Calendar events. Makes the cursor
appear as a pointer (rather than text selector) when mousing over event text. */
.fc-title
{
	pointer-events: none;
}

/* Adds more space between event and side so users can more easily click to create new events */
div.fc-ltr .fc-time-grid .fc-event-container
{
    margin-right: 10%;
}

/* Add extra space on the right of the calendar header where the buttons are */
.fc-toolbar .fc-right {
	margin-right: 15px;
}

/* Override Bootstrap's media and media-body CSS settings so that the
Twitter Typeahead autocomplete dropdown menu isn't chopped off. */
.media, .media-body
{
	overflow: visible;
	min-height: 35px;
}


/* Twitter typeahead styles */
.twitter-typeahead
{
	display: block !important;
}

/* The hint is the portion of text that comes after what you've typed to suggest word completion. */
.tt-hint
{
	color: #999999
}

/* This styles the dropdown menu of possible search results. */
.tt-dropdown-menu
{
	margin-top: 4px;
	padding: 4px 0;
	background-color: #ffffff;
	border: 1px solid #cccccc;
	border-radius: 4px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
	max-height: 150px;
	overflow-y: auto;
}

/* The suggestion style encases the matching part of the query in each of the search results. */
/* Zero out some padding and margin properties. */
.tt-suggestion
{
	padding: 3px 20px;
	line-height: 20px;
	cursor: pointer;
}

.tt-suggestion p
{
	margin: 0;
}

/* The style of the search result that the mouse is hovering over. */
.tt-suggestion.tt-cursor
{
	color: #fff;
	background-color: #0097cf;
}

.page-footer
{
	margin-top: 20px;
  	border-top: 1px solid #eee;
	line-height: 40px;
	text-align: center;
}

.body-container
{
	/* 100 viewport - header (height+border+margin) - footer (height+border+margin) */
	min-height: calc(100vh - 71px - 61px);
}

.customization-section-title
{
	margin-bottom: 20px;
	margin-top: 5px;
}

.customization-separation
{
	margin-left: -15px;
	margin-right: -15px;
	border-top: 1px solid #ddd;
	clear: both;
}

.customization-input-file
{
	color: transparent;
	display: inline-block !important;
	margin-right: -170px;
}

/* Navbar customization, to force collapse and hamburger menu */
@media (min-width: 768px)
{
	.navbar-toggle
	{
		margin-right: 0;
	}
}

.force-navbar-collapse .navbar-header
{
	float: none;
}
.force-navbar-collapse .navbar-left,
.force-navbar-collapse .navbar-right
{
	float: none !important;
}
.force-navbar-collapse .navbar-toggle
{
	display: block;
}
.force-navbar-collapse .navbar-collapse
{
	border-top: 1px solid transparent;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.force-navbar-collapse .navbar-fixed-top
{
	top: 0;
	border-width: 0 0 1px;
}
.force-navbar-collapse .navbar-collapse.collapse
{
	display: none!important;
}
.force-navbar-collapse .navbar-nav
{
	float: none!important;
	margin: 7.5px -15px;
}
.force-navbar-collapse .navbar-nav>li
{
	float: none;
}
.force-navbar-collapse .navbar-nav>li>a
{
	padding-top: 10px;
	padding-bottom: 10px;
}
.force-navbar-collapse .collapse.in
{
	display:block !important;
	border-color: #e7e7e7;
}
/* sub-menu */
.force-navbar-collapse .navbar-nav .open .dropdown-menu
{
	position: static;
	float: none;
	width: auto;
	margin-top: 0;
	background-color: transparent;
	border: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.force-navbar-collapse .navbar-nav .open .dropdown-menu > li > a,
.force-navbar-collapse .navbar-nav .open .dropdown-menu .dropdown-header
{
	padding: 5px 15px 5px 25px;
}
.force-navbar-collapse .navbar-nav .open .dropdown-menu > li > a
{
	line-height: 20px;
}
.force-navbar-collapse .navbar-nav .open .dropdown-menu > li > a:hover,
.force-navbar-collapse .navbar-nav .open .dropdown-menu > li > a:focus
{
	background-image: none;
}
.force-navbar-collapse .navbar-default .navbar-nav .open .dropdown-menu > li > a
{
	color: #777;
}
.force-navbar-collapse .nav.navbar-nav.hidden-sm
{
	display: none;
}
.force-navbar-collapse .nav.navbar-nav .visible-sm
{
	display: block !important;
}

.navbar-preferences > a
{
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.navbar-preferences > a > img
{
	width: 19px;
	height: 19px;
}

/* Customization of time picker CSS */
.picker__list small
{
    color: #999;
    float: right;
    line-height: 1.5;
}

.picker__list span
{
	color: #999;
}

/* Customization of search result group item */
.list-group-item
{
	margin-bottom: 5px;
}

.tool-status
{
	margin-bottom: 30px;
}

.danger-status
{
	margin-bottom: 30px;
}

.warning-status
{
	margin-bottom: 30px;
}

.tool-comments, .tool-problems, .tool-counters, .tool-rates
{
	margin-bottom: 30px;
}

.danger-status .media-heading, .danger-status .media-middle, .danger-status .media-bottom
{
	display: block;
}

.warning-status .media-heading, .warning-status .media-middle, .warning-status .media-bottom
{
	display: block;
}

.tool-comments .media-heading, .tool-comments .media-middle, .tool-comments .media-bottom
{
	display: block;
}

.tool-problems .media-heading, .tool-problems .media-middle, .tool-problems .media-bottom
{
	display: block;
}

.danger-status .media-heading
{
	font-weight: 600;
    line-height: 1.1;
	font-size: x-large;
}

.warning-status .media-heading
{
	font-weight: 500;
    line-height: 1.1;
	font-size: large;
}

.danger-status .media-bottom, .warning-status .media-bottom, .tool-comments .media-bottom, .tool-problems .media-bottom
{
	color: grey;
	font-style: italic;
}

.danger-status .media-middle
{
	font-size: large;
}

.warning-status .media-bottom, .tool-comments .media-bottom, .tool-problems .media-bottom
{
	font-size: small;
}

.tool-problems .media-heading
{
	font-size: medium;
	font-weight: 500;
}

.tool-rates
{
	margin-top: 5px;
}

.tool-rates .media-heading
{
	display: block;
	font-size: medium;
	font-weight: 500;
}

.tool-counters
{
	margin-top: 5px;
	display: table;
}

.tool-counter
{
	display: table-row;
}

.tool-counter-name, .tool-counter-description, .tool-counter-reset
{
	display: table-cell;
	padding-right: 10px;
	padding-top: 10px;
	vertical-align: middle;
}

.tool-counter-description
{
	padding-left: 10px;
	font-style: italic;
}

.jumbotron-body
{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

#jumbotron-container .table-bordered tr:not(.success, .warning, .danger) td, #jumbotron-container .table-bordered th
{
	background-color: white;
}

#jumbotron-container .table-bordered td, #jumbotron-container .table-bordered th
{
	opacity: 0.8;
}

.spinner-full-page
{
	position: absolute;
    opacity: 0.75;
    width: 100%;
    height: 100%;
	z-index: 99999;
}

.spinner-container
{
	position: fixed;
  	top: 0;
  	left: 0;
  	right: 0;
  	bottom: 0;
	text-align: center;
	background-color: #ffffff;
	font-size: 70px;
	color: #bfbfbf;
}

.spinner-container .normal-right-spinner
{
	top: calc(50% - 70px);
}

.glyphicon.normal-right-spinner
{
    -webkit-animation: glyphicon-spin-r 2s infinite linear;
    animation: glyphicon-spin-r 2s infinite linear;
}

@-webkit-keyframes glyphicon-spin-r
{
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes glyphicon-spin-r
{
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.glyphicon-reverse
{
	transform: scaleX(-1);
}

ul.area-tree-list
{
	list-style: none;
	padding-left: 32px;
}

.login-tree ul.area-tree-list
{
	padding-left: 24px;
}

ul.area-tree-root > li.area-tree-node {
	padding-left: 0;
}

li.area-tree-leaf
{
	list-style: none;
}

li.area-tree-node a, li.area-tree-node a:hover, li.area-tree-node a:focus
{
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	display: inline-block;
	margin-top: 5px;
	margin-bottom: 20px;
}

.login-tree li.area-tree-node a
{
	margin-bottom: 0;
}

.info-tooltip-container + .tooltip > .tooltip-inner,
.info-tooltip-container > .tooltip > .tooltip-inner
{
	max-width: initial;
	text-align: left;
	padding: 10px 16px;
}

.info-tooltip-container + .tooltip > .tooltip-inner a,
.info-tooltip-container > .tooltip > .tooltip-inner a
{
	color: #b0dbff;
}

.requests-description-container
{
	display: table-row;
}

.requests-description, .requests-description-info
{
	display: table-cell;
}

.requests-description
{
	font-size: large;
	font-style: italic;
}

.requests-description-info
{
	padding-right: 10px;
}

.buddy-system-requests, .staff-assistance-requests
{
	margin-top: 20px;
}

.buddy-list, .staff-assistance-list
{
	margin-top: 10px;
}

.buddy-list-item, .staff-assistance-list-item
{
	display: table;
	width: 100%;
	margin-bottom: 5px;
}

.buddy-list-item:first-child, .staff-assistance-list-item:first-child
{
	margin-top: 10px;
}

.buddy-list-item-reply, .staff-assistance-list-item-reply
{
	margin-top: 5px;
}

.buddy-list-item-reply textarea, .staff-assistance-list-item-reply textarea
{
	padding: 10px;
}

.buddy-list-item-description, .buddy-list-item-buttons, .staff-assistance-list-item-description, .staff-assistance-list-item-buttons
{
	display: table-cell;
	word-break: break-word;
	padding: 10px;
}

.buddy-list-item-reply textarea, .buddy-list .buddy-list-item.list-group-item-info, .staff-assistance-list-item-reply textarea, .staff-assistance-list .staff-assistance-list-item.list-group-item-info
{
	border-radius: 8px;
}

.buddy-list-item-buttons, .staff-assistance-list-item-buttons
{
	vertical-align: middle;
	text-align: right;
	white-space: nowrap;
}

.buddy-list-item-reply, .buddy-list-item-message, .staff-assistance-list-item-reply, .staff-assistance-list-item-message
{
	float: right;
	width: 90%;
}

.request-item-message-user
{
	position: absolute;
	top: 5px;
	right: 5px;
	font-size: x-small;
}

.request-item-message-new-reply
{
	position: absolute;
	top: 5px;
}

.buddy-list-item-reply-buttons, .staff-assistance-list-item-reply-buttons
{
	margin: 15px 0;
	padding: 0 10px;
}

.buddy-list-day, .staff-assistance-list-day
{
	margin-top: 20px;
	padding-inline-start: 40px;
	font-size: large;
}

/* Make tooltips in consumable opaque */
#withdrawal_form_order .tooltip
{
	opacity: 1 !important;
}

#consumables_order
{
	margin-right: 5%;
	margin-left: 5%;
	height: 100%;
	padding-bottom: 100px;
	overflow-y: scroll;
}

/* Make consumable order stay in place for small screens */
@media (max-width: 992px)
{
	#consumables_order.affix
	{
		position: static;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

/* Pagination */
.button-column-minimum
{
    width: 1px;
    white-space: nowrap;
    word-break: keep-all;
}

.pagination-column a
{
    color: inherit;
}

.pagination-column
{
	display: flex;
    justify-content: space-between;
    white-space: nowrap;
}

.pagination-column .glyphicon
{
	font-size: 10px;
	padding-left: 5px;
	vertical-align: middle;
}

/* No bottom margin when using pagination inside a panel */
.panel-body .pagination:last-of-type
{
	margin-bottom: 0;
}

/* Badge display on top right corner */
.badge
{
	background-color: #6e6e6e;
}

.badge.badge-tab-top
{
	z-index: 5;
	position: absolute;
	top: -0.5em;
	right: -0.5em;
}

.badge.active
{
	vertical-align: top;
}

.active > a > .badge.badge-tab-top, .badge.active
{
	color: #fff !important;
	background-color: #ee0000 !important;
}

.nav-pills.nav-pills-spacer > li + li
{
	margin-left: 8px;
}

.nav-pills > li
{
	background-color: #eee;
	text-decoration: none;
	border-radius: 4px;
}

.panel-tab-content
{
	border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/* Table striped every 2 */
.table-double-stripped tbody tr:nth-child(4n+1), .table-double-stripped tbody tr:nth-child(4n+2)
{
	background-color: #f9f9f9;
}

.sticky
{
	position: sticky;
	position: -webkit-sticky;
	left: 0;
	top:0;
	z-index: 5;
}

/* Staff status styles */
.staff-status-contact, .staff-status-add
{
	width: 100%;
	display: table-cell;
}

.staff-status-contact
{
	padding-right: 8px;
}

.staff-status-add
{
	text-align: right;
}

.staff-status-availability
{
	vertical-align: middle !important;
	border-left: 1px solid #ddd;
}

.btn-input-white
{
	background: #fff;
	-webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
	box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
}

.sds-box-shadow-top
{
	border-top: none !important;
	box-shadow: inset 0 1px 0 #dee2e6;
}

.sds-box-shadow-bottom
{
  	border-bottom: none !important;
	box-shadow: inset 0 -1px 0 #dee2e6;
}

/* Invalid input for post usage/reservation questions and additional event parameters */
.dynamic_form input:invalid, .dynamic_form textarea:invalid, .dynamic_form select:invalid
{
	border-color: #dc3545!important;
	border-width: 2px;
	background: #ffebeb;
}

.dynamic_form input:invalid::placeholder
{
    color: #505050  ;
}

.required-question-star
{
    color:red;
    font-size: 20px;
    font-weight: bold;
    line-height: .75;
}

/* Make form-control look like plain text */
.form-control-plaintext
{
    display: block;
    width: 100%;
    padding-top: 6px;
    margin-bottom: 0;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
}

/* Media queries for popups in safety and other media items */
@media (max-width: 768px)
{
	.modal-lg .media-popup
	{
		max-height: calc(100vh - 115px);
	}
}

.media-popup
{
	max-width: calc(100vw - 60px);
	max-height: calc(100vh - 150px);
}

.media-pdf
{
	width: 100%;
	height: calc(100vh - 150px);
}

@media (min-width: 768px)
{
	.modal-lg .media-popup
	{
		max-width: 570px;
	}
}

@media (min-width: 992px)
{
	.modal-lg .media-popup
	{
		max-width: 870px;
	}
}

.adjustment-request-message, .adjustment-request-reply-textarea
{
	border-top: 1px solid #eae9e9 !important;
}

.adjustment-request-message
{
	position: relative;
	padding-top: 20px;
}

.adjustment-request-reply-textarea
{
	padding-top: 5px;
}

.usage-charge
{
	position: relative;
}

.usage-charge-adjustment-button
{
	position: absolute;
	top: 15px;
	right: 15px;
	white-space: nowrap;
}

/* Table default color enforcing (useful when using sticky columns) */
.table > thead > tr > td.default,
.table > tbody > tr > td.default,
.table > tfoot > tr > td.default,
.table > thead > tr > th.default,
.table > tbody > tr > th.default,
.table > tfoot > tr > th.default,
.table > thead > tr.default > td,
.table > tbody > tr.default > td,
.table > tfoot > tr.default > td,
.table > thead > tr.default > th,
.table > tbody > tr.default > th,
.table > tfoot > tr.default > th
{
  	background-color: #ffffff;
}

.table-striped > thead > tr:nth-of-type(odd) > td.default,
.table-striped > tbody > tr:nth-of-type(odd) > td.default,
.table-striped > tfoot > tr:nth-of-type(odd) > td.default,
.table-striped > thead > tr:nth-of-type(odd) > th.default,
.table-striped > tbody > tr:nth-of-type(odd) > th.default,
.table-striped > tfoot > tr:nth-of-type(odd) > th.default,
.table-striped > thead > tr.default:nth-of-type(odd) > td,
.table-striped > tbody > tr.default:nth-of-type(odd) > td,
.table-striped > tfoot > tr.default:nth-of-type(odd) > td,
.table-striped > thead > tr.default:nth-of-type(odd) > th,
.table-striped > tbody > tr.default:nth-of-type(odd) > th,
.table-striped > tfoot > tr.default:nth-of-type(odd) > th
{
  	background-color: #f9f9f9;
}

.table-hover > tbody > tr > td.default:hover,
.table-hover > tbody > tr > th.default:hover,
.table-hover > tbody > tr.default:hover > td,
.table-hover > tbody > tr:hover > .default,
.table-hover > tbody > tr.default:hover > th
{
  	background-color: #f5f5f5;
}

.strikethrough
{
	text-decoration: line-through;
}

#safety-tabs, #knowledge-base-tabs
{
	margin-top: 0;
	margin-bottom: 15px;
}

.safety-title, .knowledge-base-title
{
	margin-top: 0;
	margin-right: 20px;
}

.safety-tabs-nav, .knowledge-base-tabs-nav
{
	display: inline-block;
	float: right;
}

.consumable-row .tooltip-inner
{
	text-align: left!important;
}

.configuration-reservation-option
{
	padding: 2px;
	color: white;
}

.modal-footer:empty
{
	padding: inherit;
	text-align: inherit;
	border-top: inherit;
}

.progress-bar-default
{
 	background-color: initial;
 	background-image: initial;
	color: gray;
}

.tool-properties-container
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tool-property
{
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px 10px;
	font-size: 14px;
}
