@import url('https://fonts.googleapis.com/css?family=Open+Sans');
/*

  Colours

    #ffa500   Light orange (h1, h2)
    #ff6400   Dark orange (title, border)
    #0080c0   Dark blue (title)
    #006699   Links
    #15A300   Links-hover, column titles
    #ffffaa   Highlight background


    */

button, input[type="submit"] {
	background: #2082e5;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 4px 8px;
	color: #fff;
	width: auto;
}

button.btn-block {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

table {
	border-spacing: 0;
}

#bookings_controls_room table tr {
	display: flex;
	flex-flow: row;
	gap: 10px;
	align-items: start;
	-webkit-justify-content: start;
	-webkit-align-items: start;
}

#bookings_controls_room table tr td {
	display: block;
}

#bookings_controls_room table tr td:first-of-type {
	position: absolute;
	margin-top: -20px;
}


#bookings_controls_room table tr td:last-of-type {
	font-size: 0;
}

#bookings_controls_room input[type="submit"] {
	margin-left: -6px;
}

#bookings_controls_room #room_id {
	font-size: 18px;
	padding: 3px 6px;
	color: #000;
}

#bookings_controls_room strong {
	font-weight: normal;
}

p.iconbar img, #footer_links img {
	width: 16px;
	height: 16px;
}

/*! PocketGrid 1.1.0
* Copyright 2013 Arnaud Leray
* MIT License
*/

.booking-status-booked a, .booking-status-booked a:hover {
	border-right: 1px solid #fff !important;
	border-left: 1px solid #fff !important;
}

.block-group, .block, .block-group:after, .block:after, .block-group:before, .block:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

.block-group {
	*zoom: 1
}

.booking-cell-user {
	padding: 0 4px;
}

.block-group:before, .block-group:after {
	display: table;
	content: "";
	line-height: 0
}

.block-group:after {
	clear: both
}

.block-group {
	list-style-type: none;
	padding: 0;
	margin: 0
}

.block-group>.block-group {
	clear: none;
	float: left;
	margin: 0 !important
}

.block {
	float: left;
	width: 100%
}

.block-group.has-spacing {
	margin: 0 -16px;
}

.block-group.has-spacing>.block {
	padding: 0 16px;
}

.b-5 {
	width: 5%;
}

.b-10 {
	width: 10%;
}

.b-15 {
	width: 15%;
}

.b-20 {
	width: 20%;
}

.b-25 {
	width: 25%;
}

.b-30 {
	width: 30%;
}

.b-33 {
	width: 33.3333%;
}

.b-35 {
	width: 35%;
}

.b-40 {
	width: 40%;
}

.b-50 {
	width: 50%;
}

.b-60 {
	width: 60%;
}

.b-70 {
	width: 70%;
}

.b-75 {
	width: 75%;
}

.b-80 {
	width: 80%;
}

.b-90 {
	width: 90%;
}

.block.b-50:nth-child(2n+1) {
	clear: left;
}

body {
	/*background-image:url(images/bg/global.png);
	background-repeat:repeat-x;*/
	background-color: #fff;
	/*font-family:Trebuchet MS, Helvetica, sans-serif;*/
	font-family: "Open Sans", Verdana, "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 12px;
	letter-spacing: 0px;
	padding: 0;
	margin: 0;
	max-width: 100%;
	min-width: 560px;
}

h1, h2, h3, h4, h5 {
	font-family: "Open Sans", Arial, Helvetica, Sans-serif;
	color: #000;
}

h1, h2 {
	color: #2CB3E8;
	font-weight: normal;
}

h1 {
	font-size: 24pt;
}

h2 {
	font-size: 20pt;
}

h3 {
	font-size: 16pt;
}

h4 {
	font-size: 14pt;
}

h5 {
	font-size: 12pt;
}

h6 {
	font-size: 10pt;
}

img {
	border: 0;
}

.btn-block {
	width: 100%;
	display: block;
	margin: 0;
}

.outer {
	clear: both;
	margin-left: 20px;
	margin-right: 20px;
}

.header {
	padding: 16px 0 0 0;
}

.header-meta {
	text-align: right;
}

.header-meta .iconbar {
	background: transparent;
	margin: 0;
}

.header-meta a {
	font-size: 12px;
	font-weight: normal;
	color: #004060;
	display: inline-block;
	margin-left: 16px;
	line-height: 16px;
}

.header-meta a img {
	margin: 0 8px 0 0;
	vertical-align: -20%;
}

.header-meta a:hover {
	color: #006090 !important;
}

.header-meta .normal {
	margin: 8px 0;
	font-weight: normal;
	font-size: 12px;
	color: #004060;
}

.header-title .title a {
	display: inline-block;
	padding: 12px 0;
	font-family: "Open Sans", verdana, arial;
	font-size: 22px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: -1px;
	color: #006090;
}

.mid-section {
	padding-top: 20px;
}

.content_area {
	margin: 32px 0 0 0;
	padding: 0;
}

#room_id {
	border: 2px solid #bad7e8;
	border-top-color: transparent;
	border-left-color: transparent;
	border-radius: 5px;
	background: #f1f7fc;
	cursor: pointer;
	text-align: center;
	font-weight: normal;
}

.content_area h5 {
	border: 2px solid #bad7e8;
	border-top-color: transparent;
	border-left-color: transparent;
	margin: 5px !important;
	border-radius: 5px;
	background: #f1f7fc;
	cursor: pointer;
	text-align: center;
	font-weight: normal;
}

.content_area h5 a {
	padding: 10px;
	display: block;
}

.content_area h5 a img {
	margin-right: 10px;
}

.content_area h5:hover {
	background: #e9f4fd;
}

.content_area h5:hover a {
	color: #5a96cb;
}

.sub_nav {
	float: left;
	width: 180px;
	margin-right: 25px;
	margin-top: 15px;
}

.noticebox {
	background-color: #FFFFBF;
	border: 1px solid #808080;
	padding: 5px;
	text-align: center;
}

.noticebox h1 {
	border-bottom: 1px solid #808080;
	font-size: 95%;
}

.small {
	font-size: 90%;
}

.footer {
	font-size: 12px;
	padding-top: 10px;
	margin-bottom: 30px;
	clear: both;
}

.footer #footer {
	border-top: 1px solid #2CB3E8;
	margin-top: 24px;
	padding-top: 8px;
}

#footer_links {
	height: 32px;
}

#footer_links a {
	margin-right: 16px;
	display: inline-block;
	height: 32px;
	line-height: 32px;
	font-size: 10px;
}

#footer_links a img {
	vertical-align: -11%;
	margin-right: 4px;
}

#footer_links .HW_badge_cont {
	display: inline-block;
	vertical-align: middle;
}

a {
	font-style: normal;
	color: #006699;
	text-decoration: none;
}

a:hover {
	font-style: normal;
	color: #5a96cb;
	text-decoration: none;
}

a:visited:hover {
	font-style: normal;
	color: #5a96cb;
	text-decoration: none;
}

.style1 {
	font-size: 18px;
	font-weight: bold;
	color: #5a96cb;
}

.style2 {
	color: #000000;
	font-weight: bold;
}

.ad_box {
	width: 142px;
	height: 342px;
	padding-top: 5px;
	padding-left: 19px;
	padding-right: 19px;
	background-image: url(images/side_banner.gif);
	background-repeat: no-repeat;
	text-align: center;
}

.banner {
	font-size: 10px;
	padding-left: 5px;
	text-align: left;
}

.content_area ul li {
	margin: 3px 0;
}

p.breadcrumbs {
	font-size: 90%;
	font-weight: bold;
	margin: 32px 0 0 0;
}

.highlight {
	background: #ffffaa;
}

/**
 * Msgbox classes
 */

/* Base class */

p.msgbox {
	background-position: 4px 4px;
	background-repeat: no-repeat;
	width: 320px;
	color: #000;
	padding: 4px 4px 4px 28px;
	border-width: 1px;
	border-style: solid;
	font-size: 8pt;
	max-width: 100%;
	box-sizing: border-box;
}

p.msgbox.large {
	width: 100%;
	max-width: 100%;
}

/* ERROR */

p.msgbox.error {
	background-image: url(i_error.png);
	background-color: #FBE6F2;
	border-color: #D893A1;
}

/*p.msgbox.error{
  background-image:url(i_error.png);
  color:red;
  border-width:0;
  }*/

/* INFORMATION */

p.msgbox.info {
	background-image: url(i_info.png);
	background-color: #E6FBF2;
	border-color: #93D8A1;
}

/* EXCLAMATION */

p.msgbox.exclamation {
	background-image: url(i_exclamation.png);
	background-color: #FBE6F2;
	border-color: #D893A1;
}

/* QUESTION */

p.msgbox.question {
	background-image: url(i_help.png);
	background-color: #E6FBF2;
	border-color: #93D8A1;
}

/* NOTICE */

p.msgbox.notice {
	background-image: url(i_info.png);
	background-color: #ffffd5;
	border-color: #d9d991;
}

span.green, p.green {
	color: #5a96cb;
	font-weight: bold;
	font-size: 10pt;
}

p span, dd span {
	background: #FFA;
}

p span.red {
	background: #FBE6F2;
}

dl {
	margin-top: 8px;
}

dt {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 2px;
}

dd {
	margin-bottom: 12px;
}

.column dt, .column dd {
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
}

.column dt {
	color: #55B10A;
	margin-bottom: 3px;
}

.column dd {
	color: #333;
	font-size: 11px;
	margin: 0 0 24px 0;
}

/*.column dd + dt {
	margin-top: 24px;
	}*/

/* Tableless form */

fieldset {
	border: 1px solid #999;
	margin: 0 0px 24px 0;
	padding: 8px;
}

legend {
	color: #999;
	font-size: 14px;
	font-weight: bold;
	padding: 0 4px;
}

.multibooking-table {
	border: 1px solid #F5F4EA;
}

.multibooking-table caption {
	text-align: left;
	padding: 8px;
	background: #F5F4EA;
}

.multibooking-table thead tr th, .multibooking-table tbody tr td {
	vertical-align: middle;
	padding: 8px;
}

.multibooking-table input[type=text], .multibooking-table select {
	width: 100%;
	box-sizing: border-box;
}

.border-table .heading th, .border-table .heading td {
	padding: 6px;
	vertical-align: top;
	border: 0;
}

.border-table td {
	padding: 6px;
	vertical-align: top;
	border-bottom: 1px solid #ccc;
}

/**
 * Alternating table row colours (zebra tables)
 */

.tr0 td {
	background: #F5F4EA;
	color: #000;
}

.tr1 td {
	background: #ffffff;
	color: #000;
}

.zebra-table tbody tr:nth-child(odd) td {
	background: #F5F4EA;
	color: #000;
}

.zebra-table tbody tr:nth-child(even) td {
	background: #ffffff;
	color: #000;
}

.zebra-table thead tr th {
	text-align: left;
}

.table-align-vat tr td {
	vertical-align: top;
}

.border-table tbody.has-border tr:last-child td {
	border-bottom: 1px solid #D6DFF7;
}

.form-table td input[type=text], .form-table td select, .form-table td textarea, .form-table td button {
	margin: 0;
	float: none;
	display: inline-block;
	font-size: inherit;
	padding: 4px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	min-height: 27.5px;
}

.form-table td input[type=text]+button, .form-table td select+button, .form-table td textarea+button {
	margin-left: 4px;
}

/**
 * Table headings (<TD> tags with class 'h' = a <TH> tag :D)
 */

td.h {
	font-weight: bold;
	border: 0px;
}

tr.heading td {
	background: #D6DFF7;
	color: #000;
}

tr.heading td.n, td.n {
	background: #fff;
}

/**
 * Icon bar on list pages above & below data
 */

p.iconbar {
	padding: 0;
	margin: 16px 0px;
	background: #fff;
	/*#f5f4ea;*/
	color: #000;
	font-weight: bold;
}

p.iconbar>a {
	padding: 3px 4px 3px 3px;
}

p.iconbar>.active {
	background: #008ED3;
	color: #fff;
}

p.iconbar+p.iconbar, p.iconbar+.cssform, p.iconbar+.messages, p.iconbar+h2 {
	margin-top: 32px;
}

p.iconbar+h2 {
	margin-top: 32px;
}

div.column div.c {
	margin: 0;
}

div.column div#c1 {
	margin-right: 10px;
}

div.column div#c2 {
	margin-left: 10px;
}

/* Forms */

input, select, textarea, file {
	font-family: "Open Sans", Tahoma, verdana, arial, sans-serif;
	padding: 0px;
	font-size: 10pt;
}

select.list, input.text {
	width: 128px;
}

tr.fsubmit td input {
	width: 64px;
	font-weight: bold;
}

table.form td {
	padding: 6px;
	border-bottom: 1px solid #c0c0c0;
	background-color: #f5f4ea;
	vertical-align: top;
}

table.form td+td {
	background-color: #fff;
	font-size: 85%
}

table.form td label {
	font-weight: normal;
}

table.form td label.required {
	font-weight: bold;
}

table.form input[type="checkbox"] {
	/*margin:2px 0px;*/
	margin-left: 0px;
	vertical-align: middle;
}

table.form tr.fsubmit td {
	background: #fff;
	color: #000;
	border: 0px
}

table.form tr.fsubmit td input {
	font-weight: bold;
	padding: 2px 10px
}

table.form {
	width: 75%;
	min-width: 400px;
}

/*table.form input[type="text"],textarea,select{ border:1px solid #c0c0c0; padding:1px; }*/

tr.title td {
	padding: 4px;
	background: #D6DFF7;
	color: #000;
	font-size: 10pt;
	letter-spacing: 0;
	font-family: "Open Sans", Tahoma;
	font-weight: bold;
	border-bottom: 0px;
}

.input-focus {
	background-color: #F5F4EA;
}

.cssform fieldset {
	padding-bottom: 12px;
}

.cssform .fieldset-description {
	margin-bottom: 12px;
}

.cssform .fieldset-description p {
	padding-left: 0;
	border: 0;
	height: auto;
}

.cssform p, .cssform .input-group {
	/*width: 200px;*/
	clear: left;
	margin: 0;
	padding: 12px 0 0px 0;
	padding-left: 145px;
	/*width of left column containing the label elements*/
	border-bottom: 0px solid #c0c0c0;
	height: 1%;
}

.cssform label {
	font-weight: bold;
	float: left;
	margin-left: -145px;
	/*width of left column*/
	width: 140px;
	/*width of labels. Should be smaller than left column (155px) to create some right margin*/
}

.cssform label.ni {
	font-weight: normal;
	width: auto;
	margin: 0 0 5px 0;
	float: none;
	display: block;
}

/* when usng .block-group, on a label, in .cssform - override default label classes */

.cssform label.block-group {
	display: block;
	margin-bottom: 0;
	margin-left: 0;
	font-weight: normal;
	/*
	margin-left: 0;
	margin-bottom: 0;
	width: initial;
	display: block;*/
	/*display: inline-block;*/
}

.cssform input[type="radio"], .cssform input[type="checkbox"] {
	margin: 0;
}

.cssform label>input[type="radio"], .cssform label>input[type="checkbox"] {
	vertical-align: middle;
}

.cssform label.required {
	/*font-weight:bold;*/
}

.cssform label.required:after {
	content: "*";
	color: red;
	font-weight: normal;
}

.cssform div.submit {
	padding: 8px 0 0 150px;
	border-top: 1px solid #c0c0c0;
	margin-top: 8px;
}

.cssform fieldset>div.submit {
	padding-left: 145px;
}

.cssform div.submit input {
	/* background-image:url(images/ui/bullet_disk.png);
	background-position:2px 50%;
	background-repeat:no-repeat;
	padding: 0px 4px; */
}

.cssform input[type="text"] {
	/*width of text boxes. IE6 does not understand this attribute*/
	/*width: 180px;*/
}

.cssform textarea {
	/*width: 250px;
height: 150px;*/
	/*border:2px inset;*/
}

/*.threepxfix class below:
Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
*/

* html .threepxfix {
	margin-left: 3px;
}

small.hint {
	color: #777;
}

.cssform p.hint, .cssform ul.hint {
	padding-top: 1px;
	background: #fff;
	font-size: 85%;
	color: #777;
	padding-left: 145px;
	/*width of left column containing the label elements*/
}

.cssform ul.hint {
	margin-left: 15px;
}

.cssform div.formfield {
	margin-left: 150px;
}

.cssform p.error span, span.error {
	background: #FBE6F2;
	color: #000;
	padding: 2px;
	line-height: 150%;
}

.cssform p.error span {
	font-size: 105%;
}

p.hint span.error {
	font-size: 100%;
}

span.error {
	padding: 0;
	font-size: 90%;
}

/*button.link {
	background: none !important;
	border: none;
	padding: 0;
	font-family: inherit;
	color: #069;
	text-decoration: none;
	cursor: pointer;
}

button.link-md {
	padding-top: 2px;
	padding-bottom: : 2px;
	padding-left: 4px;
	padding-right: 4px;
	}*/

.sidebox {
	border: 1px solid #ff6400;
	background: #ffffef;
	padding: 10px;
}

h5 {
	margin: 0 0 10px 0;
}

.cssform-stacked label {
	margin: 0 0 8px 0;
	padding: 0;
	display: block;
	float: initial;
	width: auto;
}

.cssform-stacked p, .cssform-stacked p.hint, .cssform-stacked label {
	/*margin: 0;*/
	/*padding: 12px 0 0px 0;*/
	padding-left: 0;
	border: 0;
}

.cssform-stacked .input-group, .cssform-stacked input[type=text], .cssform-stacked textarea, .cssform-stacked select {
	margin: 0 0 8px 0;
	padding: 0;
	float: none;
	display: block;
}

.cssform-stacked .input-group {
	margin-bottom: 16px;
}

.filter-form {
	background: #F5F4EA;
	padding: 4px;
}

.filter-form.add-bottom {
	margin-bottom: 16px;
}

.filter-form+table {
	margin-top: 16px;
}

.filter-form .input-group {
	padding: 4px 8px;
	margin-bottom: 0;
}

.filter-form .input-group input, .filter-form .input-group select {
	width: 100%;
	max-width: 100%;
	height: 26px;
	line-height: 26px;
}

.filter-form .input-group button, .filter-form .input-group .button {
	height: 26px;
	line-height: 26px;
	padding-top: 0;
	padding-bottom: 0;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
}

/* Gallery */

div.iconbox {
	height: 180px;
	width: 300px;
	border: 1px solid #ccc;
	overflow: scroll;
	margin-left: 5px;
}

div.g, div.g1 {
	float: left;
	margin: 0 8px 8px 0;
	width: 22px;
	text-align: center;
	border: 0px solid transparent;
}

div.g1 {
	background: #d894a1;
	border: 0px solid #D893A1;
}

div.g p, div.g1 p {
	margin: 0;
	padding: 0;
	text-align: center;
}

/* Image preview */

.border_b {
	border: 1px solid #000000;
}

.float {
	visibility: hidden;
	position: absolute;
	left: -3000px;
	z-index: 10;
}

.bookings-grid-header {
	padding: 6px;
	font-weight: normal;
	border: 1px solid #999;
	color: #666;
	border-radius: 5px;
}

#bookings_grid>form {
	display: flex;
	flex-direction: column-reverse;
}

#bookings_grid>form table+.cssform {
	margin-top: 0 !important;
	margin-bottom: 32px;
}

.bookings-grid-header.has-week {
	border-color: transparent;
}

.bookings-grid-header a {
	color: inherit;
}

.bookings-grid-header a:hover {
	color: inherit;
	opacity: 0.8;
}

.bookings-grid {
	width: 100%;
	height: 100%;
	border-collapse: collapse;
}

.bookings-grid.is-legend {
	width: auto;
	height: auto;
	display: none;
}

.bookings-grid th, .bookings-grid td {
	font-size: 90%;
	display: table-cell;
	height: 100%;
	/*font-family: tahoma,verdana,sans-serif;*/
	/*padding: 3px;*/
}

.bookings-grid-header-row .bookings-grid-header-cell {
	text-align: center;
	font-weight: normal;
	padding: 3px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.bookings-grid-content-row .bookings-grid-header-cell {
	text-align: right;
	vertical-align: middle;
	font-weight: normal;
}

.bookings-grid-content-row .bookings-grid-header-cell {
	width: 100px;
	/*padding: 15px 5px;*/
}

.bookings-grid-content-row .bookings-grid-header-cell strong {
	font-weight: normal;
}

.bookings-grid-content-row .bookings-grid-header-cell-period {
	text-align: center;
}

.bookings-grid-content-row:hover .bookings-grid-header-cell-period {
	background-color: #f8de6a !important;
}

.bookings-grid-content-row .bookings-grid-header-cell span, .bookings-grid-content-row .bookings-grid-header-cell br {
	display: none;
}

.bookings-grid-header-cell-is-today {
	background: #f8de6a;
}

.bookings-grid-slot {
	text-align: center;
	vertical-align: middle;
	position: relative;
	/*border: 1px solid #ddd;*/
	padding: 0;
}

.bookings-grid-button {
	font-size: inherit;
	box-sizing: border-box;
	display: inline-flex;
	height: 100%;
	width: 100%;
	padding: 6px 3px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border: 1px solid transparent;
	/**1px solid #ddd;**/
	background: transparent;
	border-radius: 0;
}

.bookings-grid-button.multi-select-content[up-show-for=":checked"] {
	padding: 2.85px;
}

.bookings-grid-button[up-content] {
	cursor: help;
}

.bookings-grid-button[disabled] {
	background: transparent;
	pointer-events: none;
	opacity: .65;
}

.bookings-grid-button:hover {
	border: 1px solid #2196F3 !important;
}

.bookings-grid.is-legend td {
	font-size: 90%;
}

.bookings-grid.is-legend .bookings-grid-button:hover {
	outline: none;
}

.bookings-grid-slot.booking-status-available .bookings-grid-button {
	background: #fff;
	border: 1px solid transparent;
	border-top: 1px solid #ddd;
	color: #000;
}

.bookings-grid-slot.booking-status-booked-recurring .bookings-grid-button {
	background: #E68A73;
	color: #fff;
}

.bookings-grid-slot.booking-status-booked-single .bookings-grid-button {
	background: #3082BF;
	color: #fff;
	padding: 0;
}

.bookings-grid-slot.booking-status-unavailable {
	background: #f9fbfc url('images/bookings-unavailable-bg.png');
	/*background-image: url('images/bookings-unavailable-bg.png');*/
}

.booking-status-unavailable a {
	padding: 3px;
}

.booking-status-unavailable a img {
	visibility: hidden;
	padding: 1.35px;
}

.bookings-grid-slot.booking-status-unavailable-holiday {
	/*background: #FFFFF7;*/
}

.bookings-cancel.is-repeat .submit button {
	width: 100%;
	margin-bottom: 8px;
}

.booking-choices-cancel {
	border: 2px solid #FF4136;
}

.booking-choices button {
	width: 100%;
	margin-bottom: 8px;
}

.popup-menu {
	padding: 8px 0;
}

.popup-menu-item {
	background: transparent;
	margin: 0;
	padding: 8px;
	display: block;
	color: inherit;
}

.popup-menu-item:hover {
	background: #F5F4EA;
}

table.bookings td {
	font-size: 90%;
	font-family: "Open Sans", tahoma, verdana, sans-serif;
	padding: 3px;
}

table.bookings td.free {
	background: #fff;
	border: 1px solid #ccc;
	/*#D3E6CF;  /*#C7F2BC;*/
	color: #000;
}

/* Free period */

table.bookings td.static {
	background: #E68A73;
	color: #fff;
	border: 1px solid #E68A73;
}

/* Timetabled lesson */

table.bookings td.staff {
	background: #3082BF;
	color: #fff;
	border: 1px solid #3082BF;
}

/* Booked by staff */

table.bookings td.holiday {
	background: #f6f6f6;
	color: #333;
	border: 1px solid #ccc;
}

/* Holiday */

table.bookings td.free a {
	color: #00f;
	text-decoration: none;
	display: block;
}

table.bookings td.free a:hover {
	color: #f00;
	text-decoration: none;
}

.button-empty {
	background: transparent;
	padding: 0;
	margin: 0;
	cursor: pointer;
	border: 0;
}

.booking-action {
	display: inline-block;
	margin: 4px 2px;
	font-size: 100%;
	color: inherit;
}

.booking-action:hover, a.booking-action:hover {
	color: inherit;
}

.pagination {
	padding: 5px 0;
}

.pagination strong, .pagination a {
	display: inline-block;
	padding: 5px;
}

.maintenance-wrapper {
	padding: 8px 0;
	background: #ffffaa;
}

.hidden {
	display: none;
}

.up-form .loading-notice {
	display: none;
}

.up-form.up-active .loading-notice {
	display: block;
}

.room-info {
	min-width: 300px;
}

.room-info .zebra-table {
	margin-bottom: 30px;
}

.room-photo {
	max-width: 420px;
}

.room-photo img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

#session_id {
	padding: 0 5px;
}

.bookings-grid-button.multi-select-content.up-switched:hover {
	background: aliceblue;
}

.session-calendar {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #ccc;
	margin-bottom: 64px;
	min-width: 280px;
	/* @todo remove? width on cells should take care of this */
}

.session-calendar tr.header-row th, .session-calendar tr.week-row td {
	background: #F5F4EA;
	text-align: center;
}

.session-calendar tr.header-row th {
	font-size: 14px;
	font-weight: normal;
	padding: 12px 0;
}

.session-calendar tr.week-row td {
	color: #666;
	padding: 8px 0;
	border-bottom: 1px solid #ccc;
	/*height: 32px;*/
}

.session-calendar .date-cell {
	border-bottom: 1px solid #ccc;
	padding: 0;
	position: relative;
}

.session-calendar .date-cell.has-holiday:after {
	content: "";
	position: absolute;
	top: 6px;
	right: 6px;
	/*transform: translate(50%, -50%);*/
	background: #000;
	opacity: 0.2;
	width: 6px;
	height: 6px;
	border-radius: 3px;
}

.session-calendar .date-cell-content {
	position: relative;
	display: block;
	width: 42px;
	padding: 15px 0;
	text-align: center;
}

.session-calendar .date-cell-info {
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	padding-left: 1px;
	text-align: left;
	min-width: 280px;
	pointer-events: none;
}

.session-calendar .week-label {
	position: relative;
	display: inline-block;
	padding: 4px 8px;
	background: #ccc;
	margin-left: 15px;
}

.session-calendar .week-label:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -15px;
	height: 2px;
	background: #ccc;
	width: 15px;
}

.session-calendar .week-label:after {
	content: "";
	position: absolute;
	top: 0;
	left: -15px;
	height: 100%;
	background: #ccc;
	/*width: 2px;*/
}

.session-calendar .prev-month, .session-calendar .next-month {
	color: #ccc;
}

.session-calendar .date-btn {
	border: 0;
	background: transparent;
	color: inherit;
}

.session-calendar .date-btn[disabled] {
	pointer-events: none;
	text-decoration: line-through;
}

.session-calendar .date-btn:hover {
	/*background: #333;*/
	outline: 2px solid #FFDC00;
	z-index: 100;
	position: relative;
}

.dot {
	position: relative;
	display: inline-block;
	background: #ccc;
}

.dot-size-md {
	width: 16px;
	height: 16px;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}

.dot-size-sm {
	width: 10px;
	height: 10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.tab-pane {
	border: 1px solid #ccc;
	margin-bottom: 32px;
	position: relative;
}

.tab-pane-list {
	margin-bottom: -1px;
	/*border-right: 1px solid #ccc;*/
}

.tab-pane-detail {
	/*border-left: 0;*/
	/*margin-left: -1px;*/
}

.tab-pane-list:after {
	content: "";
	width: 1px;
	background: #ccc;
	top: 0;
	bottom: 0;
	position: absolute;
}

.tab-pane-list-item, label.tab-pane-list-item {
	display: block;
	width: 100%;
	margin: 0;
	font-weight: normal;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	;
}

/*.tab-pane-list-item:last-child {
		border-bottom: 0;
		}*/

.tab-pane-list-item input[type=radio] {
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.tab-pane-list-item input[type=radio]:focus+.tab-pane-list-item-body, .tab-pane-list-item input[type=radio]:checked+.tab-pane-list-item-body {
	background: #F5F4EA;
}

.tab-pane-list-item-body {
	padding: 12px;
}

.tab-pane-detail-item {
	padding: 12px;
}

.box {
	background: #f5f4ea;
	padding: 16px;
}

.stat-item {
	display: inline-block;
}

.stat-item+.stat-item {
	margin-left: 48px;
}

.stat-item dl {
	margin: 0;
	padding: 0;
}

.stat-item dt {
	font-size: 20px;
	font-weight: bold;
	margin: 0;
	padding: 0;
	color: #333;
}

.stat-item dd {
	font-size: 11px;
	margin: 0 0 4px 0;
	padding: 0;
	color: #333;
}

.dash-booking-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dash-booking-list li {
	margin: 0;
	padding: 0;
}

.dash-booking-list li+li {
	border-top: 1px solid #ccc;
	margin-top: 16px;
	padding-top: 16px;
}

.dash-booking-title {
	font-weight: normal;
	display: block;
	color: #002030;
	margin: 0 0 6px 0;
}

.dash-booking-subtitle {
	font-weight: normal;
	display: block;
	margin: 0 0 6px 0;
}

.dash-booking-notes {
	font-size: 11px;
	color: #666;
}

.dash-booking-time {
	color: #666;
	font-size: 11px;
}

.autocomplete__wrapper {
	position: relative;
}

.autocomplete__hint, .autocomplete__input {
	-webkit-appearance: none;
	border: 1px solid grey;
	border-radius: 0;
	/* Safari 10 on iOS adds implicit border rounding. */
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-bottom: 0;
	/* BUG: Safari 10 on macOS seems to add an implicit margin. */
	width: 100%;
}

.autocomplete__input {
	background-color: transparent;
	position: relative;
}

.autocomplete__hint {
	color: #b1b4b6;
	position: absolute;
}

.autocomplete__input--default {
	padding: 3px;
}

.autocomplete__input--focused {
	/*outline: 3px solid #fd0;*/
	outline: 2px solid #666;
	outline-offset: 0;
	/*box-shadow: inset 0 0 0 2px;*/
}

.autocomplete__input--show-all-values {
	padding: 3px 34px 3px 3px;
	/* Space for arrow. Other padding should match .autocomplete__input--default. */
	cursor: pointer;
}

.autocomplete__dropdown-arrow-down {
	display: inline-block;
	position: absolute;
	right: 7px;
	width: 22px;
	height: 17px;
	top: 5px;
	pointer-events: none;
}

.autocomplete__menu {
	background-color: #fff;
	border: 2px solid #0B0C0C;
	border-top: 0;
	color: #0B0C0C;
	margin: 0;
	max-height: 342px;
	overflow-x: hidden;
	padding: 0;
	width: 100%;
	width: calc(100% - 4px);
}

.autocomplete__menu--visible {
	display: block;
}

.autocomplete__menu--hidden {
	display: none;
}

.autocomplete__menu--overlay {
	box-shadow: rgba(0, 0, 0, 0.256863) 0px 2px 6px;
	left: 0;
	position: absolute;
	top: 100%;
	z-index: 100;
}

.autocomplete__menu--inline {
	position: relative;
}

.autocomplete__option {
	border-bottom: solid #b1b4b6;
	border-width: 1px 0;
	cursor: pointer;
	display: block;
	position: relative;
	margin: 0;
}

ul li.autocomplete__option {
	margin: 0;
}

.autocomplete__option>* {
	pointer-events: none;
}

.autocomplete__option:first-of-type {
	border-top-width: 0;
}

.autocomplete__option:last-of-type {
	border-bottom-width: 0;
}

.autocomplete__option--odd {
	background-color: #FAFAFA;
}

.autocomplete__option--focused, .autocomplete__option:hover {
	background-color: #1d70b8;
	border-color: #1d70b8;
	color: white;
	outline: none;
}

.autocomplete__option--no-results {
	background-color: #FAFAFA;
	color: #646b6f;
	cursor: not-allowed;
}

.autocomplete__hint, .autocomplete__input, .autocomplete__option {
	/*font-size: 16px;*/
	line-height: 1.25;
}

.autocomplete__hint {
	padding: 3px;
}

.autocomplete__option {
	padding: 5px 3px;
}

@media (min-width: 641px) {
	.autocomplete__hint, .autocomplete__input, .autocomplete__option {
		/*font-size: 19px;*/
		/*line-height: 1.31579;*/
	}
}

/*! Huebee v2.1.1
https://huebee.buzz
---------------------------------------------- */

.huebee {
	position: absolute;
	z-index: 1;
	transform: translateY(0px);
	transition: opacity 0.15s, transform 0.15s;
}

.huebee.is-hidden {
	opacity: 0;
	transform: translateY(10px);
}

.huebee.is-static-open {
	position: relative;
	z-index: auto;
}

.huebee__container {
	position: absolute;
	left: 0;
	top: 5px;
	padding: 10px;
	background: #EEE;
	border-radius: 5px;
	box-shadow: 0 5px 10px hsla(0, 0%, 0%, 0.3);
}

.huebee.is-static-open .huebee__container {
	position: relative;
	display: inline-block;
	left: auto;
	top: auto;
	box-shadow: none;
}

.huebee__canvas {
	display: block;
	cursor: pointer;
}

.huebee__cursor {
	width: 15px;
	height: 15px;
	position: absolute;
	left: 0px;
	top: 0px;
	box-sizing: content-box;
	border: 3px solid white;
	border-radius: 5px;
	pointer-events: none;
}

.huebee__cursor.is-hidden {
	opacity: 0;
}

.huebee__close-button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	top: -9px;
	right: -9px;
	border-radius: 12px;
	background: #222;
}

.huebee__close-button__x {
	stroke: white;
	stroke-width: 3;
	stroke-linecap: round;
}

.huebee__close-button:hover {
	background: white;
	cursor: pointer;
}

.huebee__close-button:hover .huebee__close-button__x {
	stroke: #222;
}