﻿/***Select Booking Times***/
.bookingTimeSlotMasterContainer {
	overflow: hidden;
	width: 100%;
	font-family: 'Open Sans', Arial, sans-serif;
}

.bookingTimeSlotBorderContainer,
.bookingResourceListWrapper {
	overflow: hidden;
}


.bookingTimeSlotContainer {
	width: 100%;
	float: left;
}

	.bookingTimeSlotContainer .timeSlotNavRight {
		margin-top: 5px;
	}

	.bookingTimeSlotContainer .timeSlotNavMiddle {
		height: 36px;
		line-height: 36px;
		margin-top: 0;
		vertical-align: middle;
		float: right;
		width: 100px;
		margin-right: 10px;
	}

		.bookingTimeSlotContainer .timeSlotNavMiddle .date-picker {
			display: inline-block;
			position: absolute;
			top: 3px;
			right: 5px;
			cursor: pointer;
		}

			.bookingTimeSlotContainer .timeSlotNavMiddle .date-picker:hover {
				opacity: 0.7;
				transition: 0.2s;
			}

		.bookingTimeSlotContainer .timeSlotNavMiddle .content-left {
			position: relative;
		}

	.bookingTimeSlotContainer .buttonRightArrow {
		background: url("images/icon_right_arrow.png") no-repeat scroll 0 0 transparent;
		float: right;
		height: 26px;
		width: 28px;
		background-size: 10px 16px;
		background-position: 0px 6px;
	}

	.bookingTimeSlotContainer .buttonLeftArrow {
		background: url("images/icon_left_arrow.png") no-repeat scroll 0 0 transparent;
		float: left;
		height: 26px;
		width: 28px;
		background-size: 10px 16px;
		background-position: 0px 6px;
	}

		.bookingTimeSlotContainer .buttonLeftArrow.disabled,
		.bookingTimeSlotContainer .buttonLeftArrow.disabled:hover,
		.bookingTimeSlotContainer .buttonRightArrow.disabled,
		.bookingTimeSlotContainer .buttonRightArrow.disabled:hover {
			opacity: 0.2;
		}

		.bookingTimeSlotContainer .buttonLeftArrow:hover {
			transition: 0.2s;
			opacity: 0.7;
		}

	.bookingTimeSlotContainer .buttonRightArrow:hover {
	}

	.bookingTimeSlotContainer .timeSlotNavigationContainer {
		width: 100%;
		float: left;
	}

.ui-datepicker .ui-datepicker-title select,
.bookingResourceListWrapper select {
	padding: 0px;
}

#advancedFacilitySearch .ui-datepicker-trigger {
	margin-left: 5px;
	margin-top: 0;
}

.bookingTimeSlotContainer .timeSlotNavigationBorderContainer,
.bookingResourceListHeader {
	height: 36px;
	font-weight: 300;
}

.bookingTimeSlotContainer .timeSlotNavigationContainer {
	width: 100%;
	float: left;
	box-sizing: border-box;
}

.bookingTimeSlotContainer .timeSlotNavigation {
	width: 100%;
	float: left;
}

.bookingTimeSlotContainer .timeSlotNavRight {
	float: right;
	width: 65px;
}

#tableColumns {
	width: 100%;
	float: left;
}

	#tableColumns.Staff {
		height: 100% !important;
	}

/*
 * To prevent a case where rows and the row headings are misaligned (which becomes more prominent over multiple timeslots).
 *
 * The reason for this, is the inconsistent use of borders & padding included in the JS calculations which have to worry about taking borders and padding into account
 * The border-box sizing will allow us to use borders and padding without having to worry about the size of divs changing due to these borders, thus simplifying JS height calculations.
 * Ideally we should echo border-box sizing throughout the root of our project, despite the performance hit.
 * See http://www.paulirish.com/2012/box-sizing-border-box-ftw/
 */
#calendarRegion * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#calendarRegion .timeColumn {
	width: 12.5%;
	float: left;
}

#calendarRegion .dateColumn {
	width: 87.5%;
	float: left;
}

#calendarRegion .dayTimeColumn {
	width: 100%;
	float: left;
}

#calendarRegion .timeSlotColumn {
	width: 12.999999%;
	float: left;
	border-right: 1px solid #C0C0C0;
}

#calendarRegion #tableHeader .timeSlotColumn {
	border-color: #2EA6E3;
}

	#calendarRegion #tableHeader .timeSlotColumn:last-child,
	#calendarRegion .timeSlotColumn .selectorColumnHeader:last-child,
	#calendarRegion .timeSlotColumn:last-child {
		float: none;
		overflow-x: hidden;
		width: auto;
	}


	#calendarRegion #tableHeader .timeSlotColumn.selectorColumnHeader:hover {
		background: #FFF;
	}

	#calendarRegion #tableHeader .timeSlotColumn.selectorColumnHeader .cellHeader {
		transition: 0.2s background;
	}

#calendarRegion:not(.readOnly) #tableHeader .timeSlotColumn.selectorColumnHeader:hover .cellHeader,
#calendarRegion:not(.readOnly) #tableHeader .timeSlotColumn.selectorColumnHeader.activeColumn .cellHeader {
	background: #65BDEA !important;
	transition: 0.2s background;
	cursor: pointer;
}

#calendarRegion .cellHeader {
	overflow: hidden;
	padding: 5px 0px;
	background: #3776B2; /* for non-css3 browsers */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3776B2', endColorstr='#5794DD'); /* for IE */
	background: -webkit-gradient(linear, center top, center bottom, from(#3776B2), to(#5794DD)); /* for webkit browsers */
	background: -moz-linear-gradient(center bottom, #3776B2, #5794DD) repeat scroll 0 0 transparent; /* for firefox 3.6+ */
	color: white;
	background: #65BDEA;
	border-bottom: 3px solid #2EA6E3;
	text-align: center;
}
#calendarRegion.daily-view .cellHeader {
	text-align: left;
}

#calendarRegion .timeSlotCellDay {
	display: inline-block;
	font-weight: 500;
	text-align: center;
}

#calendarRegion .timeSlotCellDayName {
	float: left;
	margin-left: 4px;
}

#calendarRegion .timeSlotCellDate {
	float: left;
	font-size: 0.8em;
	margin-left: 6px;
	margin-top: 2px;
	text-align: center;
}

#calendarRegion div.timeSlotCell,
#calendarRegion div.timeSlotCellAvailable,
#calendarRegion div.timeSlotCellUnavailable,
#calendarRegion div.timeSlotCellBooked,
#calendarRegion div.timeSlotCellBase {
	font-size: 0.85em;
	height: 40px;
	line-height: 1;
	padding: 3px 0;
	position: relative;
}



	#calendarRegion div.timeSlotCellAvailable.activeColumn,
	#calendarRegion .Public div.timeSlotCellAvailable.partial.activeColumn {
		background: #EEE;
		transition: 0.2s;
	}

/*
#calendarRegion div.timeSlotCell,
#calendarRegion div.timeSlotCellAvailable,
#calendarRegion div.timeSlotCellUnavailable,
#calendarRegion div.timeSlotCellBase  {
	overflow: hidden;
}*/

#calendarRegion div.timeSlotCellBooked {
	overflow: visible;
}

#calendarRegion div.timeSlotCellBase {
	padding: 0px;
	height: 46px;
}

#calendarRegion div.timeSlotCellBase {
	border-bottom: 1px solid #C0C0C0;
	border-top: 1px dotted transparent;
}

#calendarRegion div.timeSlotCell,
#calendarRegion div.timeSlotCellUnavailable,
#calendarRegion div.timeSlotCellBooked {
	border: 0;
	background-color: #DDD;
}

#calendarRegion div.timeSlotCellAvailable {
	border-bottom: 1px dashed #e1e1e1;
	border-top: 1px solid transparent;
	border-left: 0;
	border-right: 0;
	overflow: visible;
	padding: 0;
	background: #ffffff;
	/*making text unselectable, mainly for chrome*/
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-o-user-select: none;
	cursor: pointer;
}

	#calendarRegion div.timeSlotCellAvailable:last-child {
		border-bottom: 1px solid #C0C0C0;
	}

	/*As we do not show partially booked in public calendar use .staff prefix*/
	#calendarRegion div.timeSlotCellAvailable.partial {
		background: #FFF899;
		border-bottom: 1px solid #FFF899;
	}

		#calendarRegion div.timeSlotCellAvailable.partial.mouseOver {
			background: none repeat scroll 0 0 #50D07F;
			border: 1px solid #50D07F;
			cursor: pointer;
		}


#calendarRegion .Public div.timeSlotCellAvailable.partial {
	background: #ffffff;
	border-bottom: 1px dashed #e1e1e1;
}

.timeSlotCellTimeSpan {
	display: none;
	float: left;
}

#calendarRegion div.timeSlotCellBooked {
	background: rgba(255,0,0,0.4);
}

#usergrid tr input {
	transform: scale(1.2);
}

#usergrid tr:hover {
	cursor: pointer;
}

.Public #tableBodySlots div.timeSlotCellBooked {
	background: #CCCCCC;
}

#tableBodySlots div.timeSlotColumn > div .timeSlotCellTimeSpan {
	display: none;
}

#tableBodySlots div.timeSlotColumn > div:hover .timeSlotCellTimeSpan {
	display: block !important;
}

#tableBodySlots div.timeSlotColumn > div.mouseOver .timeSlotCellTimeSpan {
	display: none !important;
}

#calendarRegion div.timeSlotGroupSelected {
	background-color: #99CCCC;
	border-color: #24D19D;
}


	#calendarRegion div.timeSlotGroupSelected:hover {
		background-color: #3399CC;
		border-color: #3399CC;
	}

#calendarRegion div.timeSlotCellAvailable.mouseOver,
#calendarRegion div.mouseOver.activeColumn,
#calendarRegion .Public div.timeSlotCellAvailable.partial.mouseOver {
	background: rgb(153, 255, 153);
	border-color: rgb(153, 255, 153);
	cursor: pointer;
	padding: 0;
	transition: 0.2s;
}

	#calendarRegion div.mouseOver.dragging,
	#calendarRegion div.mouseOver.dragging.activeColumn,
	#calendarRegion .Public div.timeSlotCellAvailable.partial.mouseOver.dragging {
		z-index: 1;
		transform: scale(1.02);
		box-shadow: 0px 2px 6px -1px #666;
		transition: 0.2s;
	}

#calendarRegion div.timeSlotCellUnavailable.mouseOver.dragging {
	background-color: #DDD;
}

#calendarRegion .timeSlotCellTimeViewer {
	position: absolute;
	color: #FFF;
	background: rgba(0,0,0,0.6);
	z-index: 2;
	padding: 2px 6px 2px 6px;
	text-align: center;
	left: -10000px;
	pointer-events: none;
}


#calendarRegion .timeSlotCellDragArrowIndicator {
	position: absolute;
	width: 60px;
	z-index: 2;
	display: none;
}

#calendarRegion .timeSlotCellTimeSpan {
	line-height: 1;
	position: relative;
	left: 0;
	top: 0;
	overflow: hidden;
	z-index: 3;
	white-space: nowrap;
}

#calendarRegion div.mouseOver.single .timeSlotCellTimeSpan {
	display: inline;
	cursor: pointer;
}

#calendarRegion div.timeCell {
	border: 1px solid #C0C0C0;
	border-top: none;
	font-size: 0.85em;
	height: 40px;
	overflow: hidden;
	padding: 3px 0 3px 0;
	text-align: center;
	line-height: 1;
}

	#calendarRegion div.timeCell > span {
		display: block;
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}

#calendarRegion div.resourceCell {
	border: 1px solid #e1e1e1;
	border-top: none;
	font-weight: bold;
	font-size: 1.00em;
	min-height: 55px;
	overflow: hidden;
	padding: 3px;
	text-align: left;
}


#calendarRegion .Public div.timeSlotCellAvailable > div.slotTime > div {
	display: none;
}

#calendarRegion div.timeSlotCellAvailable > div.slotTime > div.availability,
#calendarRegion div.timeSlotCellUnavailable > div.slotTime > div.availability {
	display: none;
}

#calendarRegion div.timeSlotCellAvailable.partial > div.slotTime > div.availability,
#calendarRegion div.mouseOver > div.slotTime > div.availability {
	display: block;
	cursor: pointer;
	line-height: 1;
	float: left;
	width: 100%;
}

#calendarRegion div.mouseOver div.slotTime {
	font-weight: bold;
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#calendarRegion.Staff div.timeSlotCell.Available.Partial {
	background: #FFF899;
}

	#calendarRegion.Staff div.timeSlotCell.Available.Partial.current-date {
		background: #50D07F;
	}

#calendarRegion.Staff div.timeSlotCell.Unavailable {
	background: #DDD !important;
}

#calendarRegion.Staff div.timeSlotCell.Booked {
	background: rgba(255,0,0,0.4) !important;
}

.ui-dialog-content .select {
	padding: 0px;
}

/*Bookable Item Selection*/
.dialogue-selection.bookings .filters > span {
	display: inline-block;
	float: left;
}

.dialogue-selection.bookings .filters > div {
	display: inline-block;
	margin-left: 20px;
}

.dialogue-selection.bookings select {
	height: auto;
	margin-bottom: 10px;
	width: 420px;
}


/*Admin bookings - start*/
.bookingResourceListWrapper {
	float: left;
	margin-right: 10px;
	height: 520px;
}

#bookingResourceList {
	margin-left: 6px;
	float: left;
	width: 100%;
	height: 390px;
	overflow-y: scroll;
	overflow-x: hidden;
}


.bookingResourceListHeader {
	height: 36px;
	line-height: 36px;
	padding-left: 10px;
	vertical-align: middle;
	font-weight: bold;
	font-size: 14px;
}

.bookingResourceListWrapper .selected {
	background-color: #99CCCC;
}


.bookingResourceListWrapper ul li {
	float: left;
	width: 100%;
}

.bookingResourceListWrapper .inputWrapper {
	display: inline-block;
	*display: inline;
	zoom: 1;
	width: 13%;
	vertical-align: middle;
}

.bookingResourceListWrapper .labelWrapper {
	display: inline-block;
	*display: inline;
	zoom: 1;
	width: 85%;
	vertical-align: middle;
	padding: 5px;
	border: 1px solid black;
	border-top: 0;
}

#bookingResourceList ul li:first-child .labelWrapper {
	border-top: 1px solid black;
}


.bookingResourceListWrapper label {
	width: 100%;
}

.bookingResourceListHeaderWrapper .manage-facility-link {
	padding: 5px 5px 0;
}

/*Admin bookings - finish*/

/** Admin booking **/

#bookingRuleRegionWrapper {
	float: left;
	border: 1px solid black;
	width: 100%;
	margin-top: 20px;
}

#bookingRuleRegion {
	margin: 10px;
}

	#bookingRuleRegion .inputRegion {
		width: 100%;
		float: left;
		padding: 10px 0px;
	}

		#bookingRuleRegion .inputRegion .label {
			float: left;
			width: 100px;
		}

.bookingFormSectionWrapper {
	float: left;
	border-bottom: 1px solid black;
	width: 100%
}

.bookingFormSection {
	float: left;
	padding: 10px;
}

#bookingSlide #bookingRuleRegion {
	margin: 0;
}

#bookingSlide .bookingFormSection {
	padding: 0;
}

#bookingSlide h2 {
	margin: 0;
}

#bookingSlide input.timespan {
	width: 80px;
}

#bookingSlide input.datetime {
	width: 100px;
}

#bookingSlide .inputRegion {
	padding: 7px 0;
}

	#bookingSlide .inputRegion .label {
		width: 200px;
	}

	#bookingSlide .inputRegion label {
		margin-right: 10px;
	}

.timeSlotCellAvailable .new-booking,
.timeSlotCellBooked .new-booking {
	height: 13px;
	width: 13px;
	cursor: pointer;
}

.timeSlotCellAvailable .new-booking,
.timeSlotCellBooked .new-booking {
	background: url("images/admin-add-button.png") no-repeat scroll 0 0 transparent;
	float: left;
}


div.staff .more-info .booking-link:hover {
	color: #65BDEA;
	text-decoration: underline;
	cursor: pointer;
}


div.staff .more-info-click-wrapper {
	min-width: 280px;
}

	div.staff .more-info-click-wrapper .contextual-add-booking-link.add-icon {
		background: url("images/add-icon.png") no-repeat scroll 0 0 transparent;
		width: 13px;
		height: 13px;
		text-decoration: none;
		margin-top: 5px;
		display: inline-block;
		margin-right: 5px;
		background-size: 13px 13px;
		float: left;
	}

div.staff #more-info-popup .more-info {
	padding: 10px;
	background: #d9d9d9;
	position: relative;
	z-index: 1000;
	min-width: 140px;
	font-size: 13px;
	border-radius: 4px;
	background: rgb(72, 72, 72);
	background: rgba(0,0,0,0.7);
	color: #FFF !important;
	box-shadow: 0 25px 55px rgba(0, 0, 0, 0.31), 0 16px 28px rgba(0, 0, 0, 0.32);
}

div.staff .more-info a {
	color: #48DDFF;
}


div.staff .more-info .slot-information {
	margin-bottom: 5px;
}

	div.staff .more-info .slot-information:first-child + .slot-information {
		border-bottom: 1px solid #C0C0C0;
		padding-bottom: 5px;
	}

div.staff .more-info a.close {
	float: right;
	color: #FFF !important;
	margin-top: -10px;
	margin-right: -4px;
	cursor: pointer;
	text-shadow: 0 1px white;
}


	div.staff .more-info a.close:hover {
		color: #48DDFF !important;
		transition: 0.2s;
	}


	div.staff .more-info a.close:hover {
		text-decoration: none;
	}

div.staff .more-info-new {
	background-color: #F0F0F0;
	border-bottom: 1px solid #3776B2;
}

div.staff .more-info ul li {
	cursor: pointer;
}

/*FacilityMoreInfoDialog*/
#FacilityMoreInfoDialog h2 {
	width: 100%;
	color: black;
}

#FacilityMoreInfoDialog .dialog-header {
	margin-top: 5px;
	font-style: italic;
}

#FacilityMoreInfoDialog .dialog-left {
	float: left;
	max-width: 350px;
}

	#FacilityMoreInfoDialog .dialog-left .left-span {
		min-width: 100px;
		margin-right: 10px;
		display: inline-block;
		font-weight: bold;
	}

#FacilityMoreInfoDialog .dialog-right {
	float: right;
	max-width: 350px;
	padding-top: 10px;
}

#FacilityMoreInfoDialog .dialog-left .dialog-additionaltext {
	margin-top: 15px;
}

#FacilityMoreInfoDialog .dialog-left div {
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #CECECE;
}

#FacilityMoreInfoDialog #GISLocation,
#FacilityMoreInfoDialog .photo-placeholder {
	max-width: 350px;
	max-height: 304px;
	margin-bottom: 10px;
	overflow: hidden;
}

#FacilityMoreInfoDialog .dialog-left > div:last-child {
	padding-top: 5px;
}


/*Day View Calendar************************************************/
#calendarRegion.day-view div.timeSlotColumn {
	width: 9%;
}

/*Month View Calendar************************************************/
.month-view #table-body {
	width: 100%;
	position: relative;
}

.month-view #tableColumns {
	width: 100%;
}

.month-view #tableBodySlots {
	top: 0;
	overflow: hidden;
	width: 100%;
}

#month-nav .timeSlotNavigationBorderContainer {
	border: none;
	padding: 4px;
}

#month-nav .timeSlotNavigation h1 {
	float: left;
	margin-top: 5px;
	margin-left: 10px;
	font-weight: inherit;
	margin-bottom: 0;
}

#month-nav .bookingTimeSlotContainer .timeSlotNavRight {
	margin-top: 0;
}

.month-view #tableHeader .timeSlotColumn,
.month-view #tableBody .timeSlotColumn {
	width: 14.2%;
	box-sizing: border-box;
}

	.month-view #tableHeader .timeSlotColumn:last-child,
	.month-view #tableBody .timeSlotColumn:last-child {
		width: auto;
	}

.month-view #tableBodySlots .timeSlotColumn {
	border: none;
}

	.month-view #tableBodySlots .timeSlotColumn:last-child {
		border-right: 1px solid #e1e1e1;
	}

.month-view #tableBody .timeSlotCell {
	background: #ffffff;
	height: 120px;
	border-bottom: 1px solid #e1e1e1;
	border-left: 1px solid #e1e1e1;
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
	font-size: 0.923em;
	padding: 4px;
}

.month-view.daily-view #tableBody .timeSlotCell {
	padding: 0px;
	border-top: 0px;
	border-left: 0px;
	border-right: 1px solid #e1e1e1;
}

#resourceDetails .month-view #tableBody .timeSlotCell {
	height: 100px;
}

	#resourceDetails .month-view #tableBody .timeSlotCell.Unavailable,
	#resourceDetails .month-view #tableBody .timeSlotCell.Booked,
	#resourceDetails .month-view #tableBody .timeSlotCell.passed {
		background-color: #DDD;
	}

.month-view:not(.Public) #tableBody .timeSlotCell.daily {
	background: rgb(227, 243, 251);
	border: 1px solid rgb(46, 166, 227);
}

.month-view:not(.Public) #tableBody .timeSlotCell.current-date {
	background: rgb(214, 255, 214);
	border: 1px solid rgb(118,255,118);
}

.month-view #tableBody .timeSlotCell h5 {
	text-align: right;
	float: right;
}

.month-view #tableBody .timeSlotCell.passed h5 {
	color: #858585;
}

.month-view #tableBody .timeSlotCell.not-current-month {
	background: #fbfbfb;
}

	.month-view #tableBody .timeSlotCell.not-current-month h5 {
		color: #aaaaaa;
	}

.month-view #tableBody .timeSlotCell > div {
	margin: 15px 2px 0 2px;
}

	.month-view #tableBody .timeSlotCell > div.bookingSummary,
	.month-view #tableBody .timeSlotCell > div.show-more {
		margin: 0 2px 0 2px;
	}

.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-1,
.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-2,
.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-3,
.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-4 {
	overflow: hidden;
	-ms-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	line-height: 14px;
	font-size: 12px;
}

.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-1 {
	-webkit-line-clamp: 1;
	max-height: 14px;
}

.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-2 {
	-webkit-line-clamp: 2;
	max-height: 28px;
}

.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-3 {
	-webkit-line-clamp: 3;
	max-height: 42px;
	margin-bottom: 7px;
}

.month-view #tableBody .timeSlotCell div.bookingSummary .clamp-4 {
	-webkit-line-clamp: 4;
	max-height: 56px;
	margin-bottom: 7px;
}

#tableBody .timeSlotCell div.Tentative .bookingResourceFacility,
#tableBody .timeSlotCell div.Tentative .bookingTime,
#tableBody .timeSlotCell div.Tentative .bookingStatus {
	color: #AAAAAA;
}

.month-view #tableBody .timeSlotCell div.bookingSummary .bookingStatus {
	display: none;
}

.month-view #tableBody .timeSlotCell a {
	font-weight: bold;
}

.month-view #tableBody .timeSlotCell > div.show-more {
	color: #5894DE;
	cursor: pointer;
	margin-top: 7px;
	background: none;
	font-size: 12px;
}

.month-view .timeSlotCell .more-info-click-wrapper {
	margin: -125px 0 0 -2px !important;
}

	.month-view .timeSlotCell .more-info-click-wrapper a {
		font-weight: normal;
	}

	.month-view .timeSlotCell .more-info-click-wrapper li {
		margin-bottom: 5px;
	}

.month-view .timeSlotCell.passed .more-info-click-wrapper h5 {
	color: #DDD !important;
	text-align: left !important;
}

input.datetime {
	width: 80px;
	padding-left: 6px;
	padding-right: 6px;
}

input.timespan {
	width: 64px;
	padding-left: 6px;
	padding-right: 6px;
}

div.booking-occurrences-table {
	margin: 20px 0px 10px 0px;
}

	div.booking-occurrences-table table {
		width: 100%;
		border-collapse: collapse;
		background: #FFFFFF;
		box-shadow: 0 1px 1px -1px black;
	}

	div.booking-occurrences-table tr {
		border-bottom: 1px solid #EBEBEB;
	}

		div.booking-occurrences-table tr.rescheduled {
			background: #DEF0FE;
		}

		div.booking-occurrences-table tr.modified {
			background: #D8EDFE;
		}

		div.booking-occurrences-table tr.modified-rescheduled {
			background: #CDE8FE;
		}

		div.booking-occurrences-table tr.deleted {
			background: #F0F0F0;
		}

		div.booking-occurrences-table tr.conflicted {
			background: #FAE3E2;
		}

	div.booking-occurrences-table table th {
		font-weight: bold;
	}

	div.booking-occurrences-table table th,
	div.booking-occurrences-table td {
		padding: 7px 0 7px 15px;
	}

/* for printing */
.printView div {
	overflow: visible !important;
	float: none !important;
}

.printView #calendarRegion td.timeSlotCell {
	vertical-align: top;
	min-height: 60px;
}

.printView #calendarRegion th {
	overflow: visible;
	border: 1px solid #e1e1e1;
}

	.printView #calendarRegion th.weekday {
		width: 14%
	}

	.printView #calendarRegion th.timeslot {
		width: 9%
	}

.printView #calendarRegion .printCellHeader {
	padding: 5px 0px;
	font-weight: bold;
}

@media print {
	body {
		overflow: visible !important;
	}
}

/* Facility Index */
.facilitiesIndex .alphabets {
	margin: 15px 0;
}

.facilitiesIndex .alphabet {
	margin: 10px 10px 10px 0;
	display: inline-table;
	width: 265px;
}

.facilitiesIndex .facility {
	margin: 3px 0;
}

/* Facility Details */
.weekSchedule {
	width: 100%;
	/*min-width: 560px;*/
	float: right;
	font-family: 'Open Sans', Arial, sans-serif;
}

.monthSchedule {
	width: 30%;
	margin: 10px;
	margin-left: 0px;
	float: left;
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 700;
}

.arrow {
	float: left;
	height: 26px;
	width: 12px;
	cursor: pointer;
}

	.arrow.left {
		margin-right: 10px;
		background: url("images/arrow-left-dark.png") no-repeat scroll 0 0 transparent;
	}

	.arrow.right {
		margin-left: 10px;
		background: url("images/arrow-right-dark.png") no-repeat scroll 0 0 transparent;
	}

	.arrow.hidden {
		visibility: hidden;
	}

.createbooking {
	float: right;
	margin-top: 10px;
}

	.createbooking .startBooking {
		margin-right: 0;
	}

.startBooking {
	cursor: pointer;
}

.monthCalendarDisplay .cellDayOfWeek,
.weekCalendarDisplay .timeSlotCellDay {
	display: inline-block;
}

.monthCalendarDisplay .cellHeader,
.weekCalendarDisplay .cellHeader {
	overflow: hidden;
	padding: 5px;
	color: white;
	font-weight: bold;
	background-color: #65BDEA;
	border-bottom: 3px solid #2EA6E3;
	text-align: center;
}

	.weekCalendarDisplay .cellHeader span.post, .weekCalendarDisplay .cellHeader .upper .short {
		display: none;
	}

.weekCalendarDisplay #tableBody .timeSlotColumn .timeSlotCell {
	width: 100%;
}

.monthCalendarDisplay .weekCountColumn {
	width: 9%;
	float: left;
}

.weekCalendarDisplay .timeColumn {
	float: left;
	width: 35px;
}

.monthCalendarDisplay .daysColumn {
	width: 91%;
	float: left;
}

.monthCalendarDisplay .dayColumn,
.weekCalendarDisplay .timeSlotColumn {
	box-sizing: border-box;
	float: left;
	overflow: visible;
}

.weekCalendarDisplay .timeSlotCellTimeSpan .post {
	display: none;
}

.monthCalendarDisplay .dayColumn {
	width: 14.285%;
}

.weekCalendarDisplay div.timeCell {
	border-top: none;
	font-size: 0.85em;
	overflow: hidden;
	box-sizing: border-box;
	font-weight: 500;
	cursor: pointer;
}

	.weekCalendarDisplay div.timeCell > span {
		position: relative;
		left: 0;
		right: 0;
		height: 100%;
		width: 100%;
		display: block;
		background: #FFF;
	}

.weekCalendarDisplay .dateColumn {
	float: left;
}

.weekCalendarDisplay #tableheadercontainer {
	float: left;
}

.monthCalendarDisplay div.dayCell {
	border-top: none;
	font-size: 0.85em;
	overflow: hidden;
	padding: 3px;
	text-align: center;
	box-sizing: border-box;
	padding-top: 11px;
	font-weight: 700;
	cursor: pointer;
}

	.monthCalendarDisplay div.dayCell.selected {
		border-top: 2px solid;
		border-bottom: 2px solid;
		border-top-color: red;
		border-bottom-color: red;
	}

.monthCalendarDisplay div.weekCountColumn div.dayCell.selected {
	border-left: 2px solid red;
}

.monthCalendarDisplay div.dayColumn:last-child div.dayCell.selected {
	border-right: 2px solid red;
}

.weekCalendarDisplay div.timeCell {
	height: 30px;
	border-bottom: 1px solid #F9F9F9;
	/*width: 270px;*/
	position: relative;
	z-index: 1;
	border-top: 1px solid #F9F9F9;
}

.weekCalendarDisplay #scrollable {
	display: block;
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.weekCalendarDisplay .scrolling {
	box-sizing: border-box;
}

.weekCalendarDisplay #tableColumns {
	height: auto;
	overflow-y: hidden;
}

.monthCalendarDisplay div.dayCell {
	height: 40px;
}

.weekCalendarDisplay div.timeSlotCell {
	font-size: 0.85em;
	padding: 3px;
	position: relative;
	border: 1px solid #FFF;
	cursor: default;
	text-align: left;
	float: left;
}

	.weekCalendarDisplay div.timeSlotCell.FullyBooked {
		border: 0;
		background-color: rgba(255,0,0,0.4);
	}

#facilityList div.timeSlot.FullyBooked,
#facilityList div.daySlot.FullyBooked,
.monthCalendarDisplay div.dayCell.FullyBooked,
.legendColor.FullyBooked {
	background-color: rgba(255,0,0,0.4);
}

.weekCalendarDisplay div.timeSlotCell.Unavailable {
	background-color: #DDD;
}

#facilityList div.timeSlot.Unavailable,
#facilityList div.daySlot.Unavailable,
.monthCalendarDisplay div.dayCell.NotApplicable,
.monthCalendarDisplay div.dayCell.Unavailable,
.legendColor.Unavailable {
	background-color: #DDD;
}

#facilityList div.timeSlot.Free,
#facilityList div.daySlot.Free,
.monthCalendarDisplay div.dayCell.Free,
.weekCalendarDisplay div.timeSlotCell.Free,
.legendColor.Free {
	background-color: rgb(153, 255, 153);
}

#facilityList div.timeSlot.PartiallyUnavailable,
#facilityList div.timeSlot.PartiallyBooked,
#facilityList div.daySlot.PartiallyUnavailable,
#facilityList div.daySlot.PartiallyBooked,
.monthCalendarDisplay div.dayCell.PartiallyBooked,
.weekCalendarDisplay div.timeSlotCell.PartiallyBooked,
.legendColor.PartiallyBooked {
	background-color: #FFF899;
}

#facilityList.availability div.daySlot span.availabilityShort {
	display: none;
}

.legends {
	margin: 20px 0;
	border: 1px solid #C0C0C0;
	font-weight: 500;
}

.legend {
	padding: 3px;
	margin: 5px;
	display: inline-block;
}

.legendColor {
	width: 25px;
	height: 25px;
	border: 1px solid #FFF;
	float: left;
	display: block;
}

.legendDesc {
	font-size: 0.95em;
	float: left;
	display: block;
	padding: 7px 2px;
	padding-left: 5px;
}



/*.timeSlotCell .timeDesc {
	display: none;
	float: left;
}*/


.monthCalendarNav {
	width: 100%;
	height: 30px;
}

.weekCalendarNav {
	height: 30px;
	line-height: 30px;
	font-size: 1.2em;
	font-weight: bold;
}

	.weekCalendarNav #previousWeek, .weekCalendarNav #nextWeek {
		margin-top: 4px;
	}

	.weekCalendarNav #dateSelected {
		float: left;
		margin-right: 20px;
		font-weight: normal;
	}

#facilityDetails *,
#resourceDetails *,
#facilityList * {
	box-sizing: border-box;
}

#facilityDetails h2,
#facilityDetails body,
#facilityDetails .resources {
	margin-top: 15px;
}

#facilityDetails hr,
#resourceDetails hr {
	margin: 5px 0;
}

#facilityDetails p,
#resourceDetails p,
#facilityDetails .contactInfo {
	margin-top: 10px;
	margin-bottom: 10px;
}

#resourceDetails .legends {
	margin-top: 10px;
	margin-bottom: 10px;
}

/*Booking calendar CSS override*/
#resourceDetails .weekCalendarDisplay input#chosenDate {
	display: none;
}

#resourceDetails .weekCalendarDisplay #calendarRegion .cellHeader {
	color: #333333;
	background: none;
	filter: none;
	border: none;
	text-align: left;
}



#resourceDetails .weekCalendarDisplay #calendarRegion #tableHeader .timeSlotColumn {
	border: none;
}

#resourceDetails .weekCalendarDisplay .dateColumn {
	width: auto;
	border-bottom: 1px solid #C0C0C0;
}

#resourceDetails .weekCalendarDisplay .dateColumn {
}

#resourceDetails .weekCalendarDisplay .timeColumn {
	width: 45px;
}

#resourceDetails .weekCalendarDisplay #tableColumns .timeColumn {
	border-right: 1px solid #C0C0C0;
}

#resourceDetails .weekCalendarDisplay .timeSlotColumn:last-child,
#resourceDetails .weekCalendarDisplay .timeSlotColumn .selectorColumnHeader:last-child,
#resourceDetails .weekCalendarDisplay .timeSlotColumn:last-child {
	width: auto;
}

#resourceDetails .weekCalendarDisplay div.timeCell {
	border: none;
	padding: 0;
	padding-right: 5px;
	text-align: right;
}

	#resourceDetails .weekCalendarDisplay div.timeCell span.post {
		display: none;
	}

#resourceDetails #tableheadercontainer {
	float: left;
}

#resourceDetails .weekCalendarDisplay #calendarRegion:not(.month-view) div.timeSlotCell {
	border-right: 1px solid #C0C0C0;
}

#resourceDetails .weekCalendarDisplay #calendarRegion .timeSlotCellDay {
	text-align: left;
}

#resourceDetails .weekCalendarDisplay div.timeSlotCellAvailable {
	padding: 0;
	position: relative;
	overflow: visible;
	left: 0;
	top: 0;
	cursor: default;
}

#resourceDetails .weekCalendarDisplay .legendDesc {
	padding-right: 15px;
	padding-top: 0;
}

#resourceDetails .weekCalendarDisplay .legends {
	width: auto;
	margin: 0;
	border: none;
}

#resourceDetails .weekCalendarDisplay .legend {
	display: inline;
}

#resourceDetails .weekCalendarDisplay .legendColor {
	border-radius: 50%;
	border: 1px solid #C0C0C0;
}

	#resourceDetails .weekCalendarDisplay .legendColor.Free {
		background-color: #FFFFFF;
	}

	#resourceDetails .weekCalendarDisplay div.timeSlotCellBooked, #resourceDetails .weekCalendarDisplay .legendColor.Unavailable {
		background: #DDD;
	}

#resourceDetails .weekCalendarDisplay .timeSlotCell.hourMarker {
	border-bottom: 1px solid #C0C0C0 !important;
}

#facilityDetails dl {
	display: table-cell;
}

	#facilityDetails dl dd {
		font-weight: bold;
		display: inline;
	}

	#facilityDetails dl dt {
		float: left;
		width: 160px;
	}

#facilityContent {
	height: 100%;
	width: 100%;
	position: relative;
}

.facilityAttributes {
	margin: 20px 0;
}

	.facilityAttributes .attributeRow {
		display: block;
		float: left;
		width: 100%;
	}

		.facilityAttributes .attributeRow a.button {
			margin: 0 8px 8px 0;
			display: block;
			float: left;
		}

		.facilityAttributes .attributeRow .attribute {
			margin-bottom: 10px;
			float: left;
			width: 50%;
		}

			.facilityAttributes .attributeRow .attribute a.button {
				margin-right: 0;
			}

			.facilityAttributes .attributeRow .attribute .icon {
				float: left;
			}

				.facilityAttributes .attributeRow .attribute .icon img {
					width: 20px;
					margin-right: 10px;
				}

			.facilityAttributes .attributeRow .attribute .description.address {
				white-space: pre-wrap
			}

			.facilityAttributes .attributeRow .attribute .actions-right {
				float: right;
			}

.verticalAttributes .facilityAttributes .attributeRow .attribute {
	width: 100%;
}

#facilityContent .sliderContainer {
	margin-bottom: 20px;
	display: block;
	position: relative;
	background: #000;
}

	#facilityContent .sliderContainer .slide-main-image {
		width: auto;
		height: 450px;
		margin: 0 auto;
	}

	#facilityContent .sliderContainer.full-width img {
		width: 100%;
		float: left;
		height: auto;
	}

#facilityContent .panoContainer {
	margin-bottom: 20px;
	width: 100%;
	height: 717px;
}

#facilityContent .facilityPhotoLocation .resourceSliderContainer,
#facilityContent .facilityPhotoLocation iframe {
	height: auto;
	float: right;
	min-width: 300px;
	width: 33%;
	transition: 0.2s;
	margin-left: 20px;
	clear: both;
}

#facilityContent .facilityPhotoLocation img {
	width: 100%;
}

#facilityContent .facilityPhotoLocation iframe {
	margin-top: 3px;
}

#facilityDetails .containerPanel,
#resourceDetails .containerPanel {
	float: left;
	width: 100%;
}

#facilityDetails .leftPanel,
#resourceDetails .leftPanel {
	float: left;
	width: 70%;
}

#facilityDetails .rightPanel,
#resourceDetails .rightPanel {
	float: right;
	width: 30%;
	margin-left: 20px;
}

#facilityDetails,
#resourceDetails {
	margin-bottom: 15px;
}

	#facilityDetails .resources li {
		width: 100%;
		margin-bottom: 20px;
		background-color: #FFF;
		float: left;
		margin-right: 1.33%;
		transition: 0.2s;
	}

		#facilityDetails .resources li.resourceDetails {
			border-bottom: 1px solid #DDD;
			padding: 0 0 20px 0;
			margin: 0;
			margin-bottom: 15px;
		}

		#facilityDetails .resources li .resourceName {
			margin: 0 0 10px 0;
			position: relative;
		}

		#facilityDetails .resources li .photosContainer {
			padding: 10px;
		}

		#facilityDetails .resources li .photo {
			height: auto;
			float: left;
		}

	#facilityDetails .placeholder,
	#facilityList .placeholder {
		width: 100%;
		height: 100%;
		padding-bottom: 75%;
		background-image: url("/content/images/image-placeholder.png");
		background-size: 100%;
		background-repeat: no-repeat;
		position: relative;
		z-index: 1;
		background-position: center center;
	}

	#facilityDetails .slide-main .placeholder {
		padding-bottom: 0;
		background-size: auto 100%;
	}

	#facilityDetails .resources li.resourceDetails .resourceAttributes {
		overflow: hidden;
	}


	#facilityDetails .resources li:nth-child(4n) {
		margin-right: 0
	}

	#facilityDetails .photosContainer {
		width: 300px;
		height: 200px;
		float: left;
	}

	#facilityDetails .photo {
		width: 100%;
		height: 100%;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}

	#facilityDetails .resourceInfo {
		height: 100%;
		margin-bottom: 5px;
	}

	#facilityDetails .details {
		padding: 0 20px;
		height: 100%;
		position: relative;
	}

	#facilityDetails .resourceName {
		font-weight: bold;
		font-size: 1.2em;
		margin: 0 5px;
	}

	#facilityDetails .link {
		bottom: 15px;
		float: right;
	}


	#facilityDetails .mapWrapper {
		width: 100%;
	}

	#facilityDetails .map {
		border: 0;
		width: 100%;
		height: 500px;
		margin-bottom: 20px;
	}

	#facilityDetails .resourceDetails .amenity .amenity-heading {
		margin-bottom: 1em;
	}

#facilityContent .contentContainer {
	margin-bottom: 2em;
}

#facilityDetails .contentContainer.embeddedVideo,
#facilityDetails .contentContainer.streetView {
	background-color: #000000;
	height: 56.25vw;
	max-height: 646px;
	position: relative;
	width: 100%;
	min-height: 33vh;
}

	#facilityDetails .contentContainer.embeddedVideo iframe,
	#facilityDetails .contentContainer.streetView iframe {
		border: none;
		height: 100%;
		margin: 0 auto;
		position: relative;
		display: block;
		width: 100%;
		top: 50%;
		transform: translateY(-50%);
	}

/*end of Facility Details*/

/* Facility Search */
#facilitySearch #search, #advancedFacilitySearch #searchAdvanced, #mapSearch #searchForMap {
	width: 140px;
	margin: 0;
}

#facilitySearch .ui-datepicker-trigger {
	margin-left: 5px;
	position: absolute;
	margin-top: 7px;
}

#advancedFacilitySearch {
	position: fixed;
	right: 0;
	width: 520px;
	top: 0;
	height: 100%;
	border: none;
	border-radius: 0;
	z-index: 110;
	margin: 0;
	margin-bottom: 0;
	min-width: 190px;
	padding: 0;
	background: rgba(0,0,0,.9);
	color: white;
	display: none;
	overflow: hidden;
	-webkit-transform: translate3d(0,0,0);
}

#advancedFacilitySearchInner {
	overflow-y: auto;
	max-height: 100%;
	z-index: auto;
}

#advancedFacilitySearchOverlay {
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.2);
	top: 0;
	left: 0;
	z-index: 100;
	display: none;
}

#advancedFacilitySearch::-webkit-scrollbar {
	display: none;
}
/*Advance search sidebar scrollbar*/

#advancedFacilitySearchInner::-webkit-scrollbar-track {
	opacity: 0;
}

#advancedFacilitySearchInner::-webkit-scrollbar {
	opacity: 0;
	width: 10px;
}

#advancedFacilitySearchInner::-webkit-scrollbar-track:hover {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 10px;
	cursor: pointer;
	z-index: 1000;
}

#advancedFacilitySearchInner::-webkit-scrollbar-thumb {
}

	#advancedFacilitySearchInner::-webkit-scrollbar-thumb:hover {
		border: 2px solid #333;
		border-radius: 10px;
		background-color: rgba(130,130,130,0.8);
	}

#facilitySearch {
	background: rgba(0,0,0,.9);
	color: white;
	width: 500px;
	top: 25%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4px;
	padding: 10px;
	overflow: hidden;
	box-sizing: border-box;
}

#advancedFacilitySearch h2 {
	margin: 20px;
	margin-top: 40px;
	font-weight: normal;
	font-size: 24px;
}

#facilitySearch .showFilter,
#facilitySearch .facilityIndex,
#advancedFacilitySearch .hideFilter {
	float: right;
	margin: 12px;
}

#advancedFacilitySearch .hideFilter {
	margin-right: 20px;
	padding-right: 20px;
	background-image: url(../content/images/facility-arrow-left.png);
	background-position: right center;
	background-repeat: no-repeat;
}

#facilitySearch a,
#advancedFacilitySearch a {
	text-decoration: none;
	color: white;
	cursor: pointer;
}

#facilitySearch .body,
#advancedFacilitySearch .body {
	margin: 10px 20px 20px 20px;
	padding-bottom: 20px;
}

#facilitySearch .row,
#advancedFacilitySearch .row {
	padding-top: 20px;
	width: 100%
}

#facilitySearch .row {
	overflow: hidden;
}

#facilitySearch input, #advancedFacilitySearch input {
	height: 40px;
	border-radius: 2px;
}

	#facilitySearch input.fullwidth,
	#advancedFacilitySearch input.fullwidth {
		width: 100%;
		box-sizing: border-box;
	}

#facilitySearch .halfwidth,
#advancedFacilitySearch .halfwidth {
	width: 50%;
	float: left;
	padding-right: 20px;
	box-sizing: border-box;
}

#facilitySearch .quarterwidth,
#advancedFacilitySearch .quarterwidth {
	width: 25%;
	float: left;
}

#facilitySearch .halfwidth,
#facilitySearch .quarterwidth {
	margin-bottom: 10px;
}

#facilitySearch .when .answer .date {
	margin-right: 37px;
}

	#facilitySearch .when .answer .date .hasDatepicker {
		width: 100%;
	}


#facilitySearch .quarterwidth .answer {
	margin-right: 20px;
}


#facilitySearch .extras {
	width: 100%;
	border-collapse: collapse;
}

	#facilitySearch .extras .halfwidth,
	#facilitySearch .extras .quarterwidth {
		display: table-cell;
		vertical-align: bottom;
	}

	#facilitySearch .extras .question {
		display: block;
		display: -webkit-box;
		margin: 0 auto;
		height: 34px;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		-ms-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		text-overflow: ellipsis;
		font-size: 14px;
		position: relative;
	}

		#facilitySearch .extras .question span {
			vertical-align: bottom;
			display: table-cell;
		}


			#facilitySearch .extras .question span.bottom {
				vertical-align: bottom;
				display: table-cell;
				position: absolute;
				bottom: 0;
				max-height: 34px;
			}

	#facilitySearch .extras .time .question {
		position: relative;
		top: 14px;
	}

#facilitySearch .timeDisplay {
	position: relative;
	top: -22px;
}

#facilitySearch input {
	width: 100%;
	box-sizing: border-box;
}

#facilitySearch .question {
	margin: 5px 0;
	font-size: 20px;
}

#advancedFacilitySearch .question {
	margin: 5px 0;
	font-size: 16px;
}

#advancedFacilitySearch .answer {
	margin: 5px 0;
}

#advancedFacilitySearch .sliderMarker, #facilitySearch .sliderMarker, #mapSearch .sliderMarker {
	font-weight: normal;
	font-size: 1em;
	margin-bottom: 25px;
}

#advancedFacilitySearch .singleSlider .ui-widget-content, #facilitySearch .singleSlider .ui-widget-content, #mapSearch .ui-widget-content {
	background: #0C8FC8;
}

#advancedFacilitySearch .rangeSlider .ui-widget-header, #facilitySearch .rangeSlider .ui-widget-header {
	background: #0C8FC8;
}

#advancedFacilitySearch .ui-slider-horizontal, #facilitySearch .ui-slider-horizontal, #mapSearch .ui-slider-horizontal {
	height: .4em
}

#advancedFacilitySearch .ui-slider .ui-slider-handle, #facilitySearch .ui-slider .ui-slider-handle, #mapSearch .ui-slider .ui-slider-handle {
	border-radius: 100%;
	height: 50px;
	width: 50px;
	transition: none;
	box-sizing: border-box;
	top: -22px;
	padding: 16px;
	background-size: 10px 10px;
	background-repeat: no-repeat;
	background: none;
	border: none;
	background-color: #DDD;
	background-clip: content-box;
	margin-left: -25px;
}

	#advancedFacilitySearch .ui-slider .ui-slider-handle.no-padding, #facilitySearch .ui-slider .ui-slider-handle.no-padding, #mapSearch .ui-slider .ui-slider-handle.no-padding {
		height: 16px;
		width: 16px;
		margin-left: -.6em;
		background-clip: unset;
		padding: 0;
		top: 0;
	}

	#advancedFacilitySearch .ui-slider .ui-slider-handle, #facilitySearch .ui-slider .ui-slider-handle:focus {
		outline: none;
	}


#advancedFacilitySearch .slider, #facilitySearch .slider, #advancedFacilitySearch .singleSlider, #advancedFacilitySearch .sliderMarker, #mapSearch .sliderMarker {
	width: 100%;
	box-sizing: border-box;
	padding-left: 7px;
	padding-right: 7px;
}

#advancedFacilitySearch .timeDuration input {
	width: 30%;
}

#advancedFacilitySearch .filterLeftArrow {
	height: 9px;
	padding-left: 5px;
}

.map-search {
	height: 45px;
	margin-top: -12px;
}

	.map-search .map-search-location {
		float: left;
		vertical-align: middle;
		margin-left: 10px;
		width: 39%;
	}

	.map-search .map-search-distance {
		margin-left: 35px;
		float: left;
		width: 56%;
	}

	.map-search .map-search-location .label {
		float: left;
		width: auto;
		padding-top: 10px;
		width: auto;
	}

	.map-search .map-search-distance .label {
		float: left;
		width: auto;
		padding-top: 10px;
		width: auto;
		margin-right: 5px;
	}

.map-search-location .field {
	float: left;
	margin-left: 5px;
	width: 25%;
}

.map-search .map-search-submit {
	float: right;
}

.map-search-distance .slider {
	float: left;
	margin-left: 5px;
	margin-right: 10px;
	width: 35%;
}

.map-search .map-distance-from {
	width: 270px;
}

.searchResultBanner {
	width: 100%;
	margin: 20px auto 25px auto;
	padding: 0 10px 0 10px;
	height: 50px;
	color: white;
	box-sizing: border-box;
	background-color: rgba(0,0,0,.9);
	border-radius: 4px;
}

	.searchResultBanner a {
		text-decoration: none;
		color: white;
		cursor: pointer;
		display: inline-block;
		padding: 18px 18px 18px 0;
	}

	.searchResultBanner .changeView {
		float: left;
		height: 24px;
		width: 28px;
		cursor: pointer;
	}

	.searchResultBanner .searchResultIcon {
		display: block;
		float: left;
		padding: 18px 10px 8px 10px;
	}

		.searchResultBanner .searchResultIcon > span {
			display: block;
			float: left;
			color: #FFF;
			opacity: 0.7;
		}

	.searchResultBanner .changeView {
		background-position: center;
		opacity: 0.7;
	}

		.searchResultBanner .changeView.gallery {
			background: url("images/gallery-view-icon-selected.png") no-repeat scroll 0 0 transparent;
		}

		.searchResultBanner .changeView.list {
			background: url("images/list-view-icon-selected.png") no-repeat scroll 0 0 transparent;
		}

		.searchResultBanner .changeView.map {
			background: url("images/map-view-icon-selected.png") no-repeat scroll 0 0 transparent;
		}

		.searchResultBanner .changeView.availability {
			background: url("images/availability-view-icon-selected.png") no-repeat scroll 0 0 transparent;
			background-position: 0 -1px;
			background-size: 22px 20px;
			width: 23px;
		}

		.searchResultBanner .changeView.selected,
		.searchResultBanner .changeView.selected + span,
		.searchResultBanner .searchResultIcon:hover .changeView,
		.searchResultBanner .searchResultIcon:hover > span {
			opacity: 1.0;
			cursor: pointer;
		}

#facilityList {
	height: 100%;
	width: 100%;
	display: block;
	position: relative;
}

	#facilityList .resultsSortBy {
		float: right;
		margin-bottom: 5px;
	}

	#facilityList.list .facilityDetails {
		width: 100%;
		margin-bottom: 20px;
		background-color: whitesmoke;
		border-radius: 4px;
		float: left;
	}

	#facilityList.list .photosContainer {
		width: 420px;
		height: 275px;
		float: left;
	}

	#facilityList.list .photo {
		width: 100%;
		height: 100%;
	}

	#facilityList.list .info {
		width: 67%;
		float: left;
	}

	#facilityList.list .details {
		padding: 0 20px;
		position: relative;
	}

	#facilityList.list .resources .details {
		padding: 0;
	}

	#facilityList.list .facility-attributes .facility-attribute {
		width: 50%;
		padding-right: 15px;
		margin-bottom: 15px;
		height: 24px;
	}

	#facilityList.list .facility-attributes .attribute-data {
		min-height: 24px;
		color: #404040;
		font-size: 14px;
	}

	#facilityList.list .facility-attributes .attribute-icon {
		height: 24px;
		width: 24px;
		background-size: 20px;
		background-repeat: no-repeat;
		background-position: center, top;
		background-color: rgba(0,0,0,.9);
		float: left;
		margin-right: 5px;
	}

		#facilityList.list .facility-attributes .attribute-icon.address {
			background-image: url(images/facility-location-white.png);
		}

		#facilityList.list .facility-attributes .attribute-icon.phone {
			background-image: url(images/facility-contact-white.png);
		}

		#facilityList.list .facility-attributes .attribute-icon.email {
			background-image: url(images/facility-email-white.png);
		}

		#facilityList.list .facility-attributes .attribute-icon.fee {
			background-image: url(images/facility-dollar-white.png);
		}

		#facilityList.list .facility-attributes .attribute-icon.capacity {
			background-image: url(images/facility-capacity-white.png);
		}

	/*Multi line text overflow with ellipses. (height = font-size * line-height * lines-to-show) */
	#facilityList.list .details .desc p {
		display: block;
		display: -webkit-box;
		margin: 0 auto;
		line-height: 1.4;
		height: 98px;
		-webkit-line-clamp: 5;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 14px;
	}

	#facilityList.list .facilityName {
		font-weight: bold;
		font-size: 1.6em;
		margin: 20px 0;
	}

	#facilityList.list .link {
		bottom: 40px;
	}

	#facilityList.map .mapResults {
		max-width: 100%;
		min-width: 400px;
		height: 100%;
	}

	#facilityList.map .mapContainer {
		height: 600px;
	}

	#facilityList.map .mapData {
		display: none;
	}

	#facilityList.map .popupInfo {
		width: 250px;
		height: auto;
	}

		#facilityList.map .popupInfo .details {
			display: table;
		}

		#facilityList.map .popupInfo .image {
			width: 30%;
			height: auto;
			float: left;
			margin-right: 5px;
		}

		#facilityList.map .popupInfo img {
			width: 100%;
			height: 100%;
		}

	#facilityList.gallery .galleryResults {
		width: 100%;
	}

	#facilityList.gallery .facilityDetails {
		display: inline-table;
		float: left;
		width: 25%;
		transition: 0.2s;
		float: left;
		position: relative;
		width: 25%;
		padding-bottom: 22%;
	}

.photosContainer {
	padding: 5px;
	top: 10px;
	overflow: hidden;
}

#facilityList.noResults .noResultsContainer {
	margin: 0 10px 0 10px;
}

#facilityList.gallery .photo {
	width: 100%;
}

#facilityList.gallery .photosContainer {
	position: absolute;
	padding: 0 5px 5px 5px;
	top: 0;
	width: 100%;
}

#facilityList.list .photosContainer {
	max-width: 420px;
	max-height: 275px;
	height: 100%;
	width: 33%;
}

	#facilityList.list .photosContainer.vertical {
		height: 100%;
		width: 25%;
		padding: 0;
		padding-right: 10px;
	}

#facilityDetails h1,
#resourceDetails h1 {
	margin: 0.67em 0;
}

#facilityDetails .resources .slick-slider {
	margin-bottom: 0 !important;
}

#facilityDetails .resources .amenities li {
	transition: 0.2s;
	width: auto;
	margin-bottom: 0;
	background-color: inherit;
	border-radius: 0;
	float: none;
	margin-right: 0;
}

#facilityDetails .resources li .amenities-wrapper {
	display: table;
	table-layout: fixed;
	width: 75%;
}

#facilityDetails .resources li .amenity {
	overflow: hidden;
	padding: 0;
	display: table-cell;
	width: auto;
	border-right: 1px dashed #EEE;
	padding: 0 10px;
}

#facilityDetails .resources li .amenities-wrapper .amenity:first-child {
	padding-left: 0;
}

#facilityDetails .resources li .resourceAttributes > .resourceInfo .desc {
	margin-bottom: 1em;
}

#facilityDetails .resources li .amenity:first-child {
	border-top: 0;
}

#facilityDetails .resources li .resourceName,
#facilityDetails .resources li h3 {
	margin: 0;
}

#facilityDetails .resources li .amenity:last-child {
	border-right: 0;
}

#facilityDetails .resources li .amenity li {
	margin: 0;
	list-style-type: circle;
}


#facilityContent .amenities-wrapper {
	width: 100%;
	display: table;
	table-layout: fixed;
	margin-bottom: 20px;
}

	#facilityContent .amenities-wrapper .amenity {
		vertical-align: top;
		padding: 5px 10px 25px 10px;
		display: table-cell;
	}

		#facilityContent .amenities-wrapper .amenity:nth-child(odd) {
			vertical-align: top;
			background: #F9F9F9;
			border-left: 2px solid #EEE;
			border-right: 2px solid #EEE;
		}

		#facilityContent .amenities-wrapper .amenity:nth-child(even) {
			vertical-align: top;
			background: #FFF;
		}

		#facilityContent .amenities-wrapper .amenity:first-child {
			border-left: none;
		}

		#facilityContent .amenities-wrapper .amenity:last-child {
			border-right: none;
		}

#facilityList.availability {
	padding-bottom: 20px;
}

	#facilityList.availability div.cellHeader {
		text-align: center;
		font-weight: bold;
		height: 14px;
		font-family: 'Open Sans', Arial, sans-serif;
		overflow: hidden;
	}

		#facilityList.availability div.cellHeader.day {
			height: 28px;
		}

	#facilityList.availability div.bookableColumn > div {
		border-right: none !important;
		padding-left: 0;
		width: 100%;
		overflow: hidden;
	}

	#facilityList.availability div.timeSlotBodyContainer {
		padding: 10px 0 0 0;
		min-width: 765px;
	}

	#facilityList.availability div.fixedTimeSlot,  facilityList.availability div.timeSlot {
		border-left: 1px solid #C0C0C0;
	}

	#facilityList.availability div.bookableColumn {
		float: left;
		width: 100%;
	}

	#facilityList.availability div.timeSlotContainer {
		float: right;
		position: relative;
	}

	#facilityList.availability div.facilityContent { /* not needed, just for clarification */ /* the next props are meant to keep this block independent from the other floated one */ /* 20px added for center margin */
		margin-right: -540px;
		float: left;
		width: 100%;
	}

	#facilityList.availability div.bookable {
		padding-top: 0;
		padding-bottom: 0;
		height: 90px;
		overflow: hidden;
	}

		#facilityList.availability div.bookable.resource {
			padding-left: 0;
			height: 80px;
			background-color: #F4F4F7;
			padding: 10px 10px 10px 10px;
			solid #CCC;
			border-top: 1px solid #ddd;
			float: left;
			width: 100%;
			margin-right: -540px;
		}

			#facilityList.availability div.bookable.resource .details {
				padding: 2px 10px;
			}

			#facilityList.availability div.bookable.resource .photosContainer {
				width: 90px;
				height: 60px;
			}

	#facilityList.availability .facilityWrapper {
		margin-bottom: 10px;
	}

	#facilityList.availability .facilityWrapper {
		margin-bottom: 20px;
		border: 1px solid #CCC;
		margin-top: 6px;
	}

#facilityList div.resource {
	display: none;
}

#facilityList.availability .photosContainer {
	width: 135px;
	height: 90px;
	float: left;
	padding: 0;
}

#facilityList.availability .photo {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

#facilityList.availability .info {
	height: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}

#facilityList.availability .details {
	padding: 5px 20px;
	height: 100%;
	position: relative;
}

	#facilityList.availability .details .link .button {
		margin-top: 3px;
	}

#facilityList.availability .showResources {
	display: inline-block;
	width: 30px;
	height: 30px;
	vertical-align: middle;
}

#facilityList.availability .expand {
	background: url(images/expand.png) no-repeat center center;
}

#facilityList.availability .collapse {
	background: url(images/collapse.png) no-repeat center center;
}

#facilityList.availability .facilityName {
	color: #203D59;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 600;
	font-size: 1em;
	max-width: 260px;
	overflow: visible;
	text-overflow: ellipsis;
	word-wrap: break-word;
	overflow: hidden;
	max-height: 2.2em;
	line-height: 1.1em;
}

#facilityList.availability .header {
	padding: 20px;
}

#facilityList.availability .date-picker {
	padding-right: 10px;
}

#facilityList.availability .date {
	float: left;
	font-weight: 600;
	font-size: 1.5em;
}

#facilityList.availability .nav {
	float: right;
}

#facilityList.availability div.timeSlotRow {
	white-space: nowrap;
	font-size: 0;
	border-right: 1px solid #CCC;
}

#facilityList.availability .timeSlotContainer > div.timeSlotRow {
	/* margin-top: 20px; */
	border-right: 1px solid #CCC;
}

#facilityList.availability div.timeSlot,
#facilityList.availability div.daySlot {
	font-size: 10px;
	display: inline-block;
	padding-top: 5px;
	padding-bottom: 5px;
	height: 60px;
	padding-top: 0;
	padding-bottom: 0;
	min-height: 76px;
	border-left: 1px solid #C0C0C0;
	border-top: 1px solid #C0C0C0;
	text-align: center;
}

#facilityList.availability div.daySlot {
	min-height: 62px;
	font-family: 'Open Sans', Arial, sans-serif;
}

#facilityList.availability div.resource div.timeSlot,
#facilityList.availability div.resource div.daySlot {
	min-height: 60px;
	height: 80px;
}

#facilityList.availability div.fixedTimeSlot {
	width: 44px;
	font-size: 10px;
	display: inline-block;
	white-space: pre-wrap
}

	#facilityList.availability div.fixedTimeSlot.day,
	#facilityList.availability div.daySlot {
		width: 76px;
	}

#facilityList.availability .legends {
	width: 100%;
}


#facilityList .filterRightArrow {
	height: 17px;
	width: 11px;
}

#facilityList .filterArrowContainer {
	float: right;
	padding-top: 17px;
	padding-right: 15px;
}

.searchResultBanner #advancedSearch {
	background-image: url(../content/images/facility-arrow-right.png);
	background-position: right center;
	background-repeat: no-repeat;
}

#advancedFacilitySearch .hideFilter

.searchResultBanner a {
	font-size: 1.1em;
}

/* end of Facility Search */
#bookings-sidebar {
	top: 0;
	right: 0;
	width: 250px;
	height: 100%;
	color: #FFF;
	display: none;
	z-index: 1;
	position: fixed;
	padding: 7px 20px !important;
	padding-bottom: 0 !important;
	overflow-y: scroll;
	font-family: 'Open Sans', Arial, sans-serif;
	background: rgb(76, 76, 76);
	scrollbar-face-color: #888;
	scrollbar-track-color: #555;
	scrollbar-arrow-color: #999;
	scrollbar-shadow-color: #888;
}

	#bookings-sidebar a {
		color: #48DDFF
	}

	#bookings-sidebar h5 {
		font-size: 28px;
		font-weight: 300;
	}

	#bookings-sidebar .more-info > div {
		margin-bottom: 10px;
	}

	#bookings-sidebar .more-info a.close {
		display: inline;
		font-size: 26px;
		font-weight: 300;
		margin-top: -14px;
		margin-right: 0;
	}

	#bookings-sidebar .more-info-click-wrapper {
		margin-bottom: 50px;
		min-width: 260px;
	}

	#bookings-sidebar .bookings-sidebar-section {
		margin-bottom: 20px;
	}

	#bookings-sidebar #bookings-sidebar-list .booking-list-item,
	#bookings-sidebar #bookings-sidebar-unavailability-list .unavailability-list-item {
		margin-top: 8px;
		margin-bottom: 5px;
	}

		#bookings-sidebar #bookings-sidebar-unavailability-list .unavailability-list-item .icon.delete {
			background-image: url('/content/images/delete-icon.png');
			background-repeat: no-repeat;
			background-size: 16px 16px;
			background-position: 3px 3px;
			width: 22px;
			height: 22px;
			float: right;
		}

	#bookings-sidebar::-webkit-scrollbar-track {
		opacity: 0;
	}

	#bookings-sidebar::-webkit-scrollbar {
		width: 10px;
		opacity: 0;
	}

	#bookings-sidebar::-webkit-scrollbar-track:hover {
		z-index: 1000;
		cursor: pointer;
		border-radius: 10px;
		-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	}

	#bookings-sidebar::-webkit-scrollbar-thumb:hover {
		border-radius: 10px;
		border: 2px solid #333;
		background-color: rgba(130,130,130,0.8);
	}


	/*Bookings sidebar - unavailability*/
	#bookings-sidebar #body-container {
		width: 100%;
		min-width: 0;
		color: #FFF;
	}

		#bookings-sidebar #body-container * {
			-moz-box-sizing: border-box;
			box-sizing: border-box;
		}

		#bookings-sidebar #body-container h2 {
			color: #FFF;
			margin: 0;
		}

	#bookings-sidebar #unavailability-table {
		background: none;
		display: block;
		min-width: 0;
		color: #FFF;
		width: 100%;
	}

		#bookings-sidebar #unavailability-table tbody {
			width: 100%;
			min-width: 0;
			display: block;
		}

			#bookings-sidebar #unavailability-table tbody tr {
				width: 100%;
				min-width: 0;
				display: block;
				border-bottom: none;
			}

				#bookings-sidebar #unavailability-table tbody tr td {
					width: 100% !important;
					display: none;
					padding: 0;
					margin: 5px 0;
				}

					#bookings-sidebar #unavailability-table tbody tr td.simple {
						display: block;
					}

					#bookings-sidebar #unavailability-table tbody tr td input[type=text] {
						width: 100%;
					}

					#bookings-sidebar #unavailability-table tbody tr td input[type=number] {
						width: 20%;
					}

					#bookings-sidebar #unavailability-table tbody tr td input[type=text].datetime,
					#bookings-sidebar #unavailability-table tbody tr td input[type=text].timespan {
						width: 70px;
					}

#arrow {
	width: 10px;
	background: #FFFFFF;
	position: relative;
	top: -16px;
	left: 125px;
	transition: 1s;
}

	#arrow:after {
		content: '';
		display: block;
		width: 10px;
		height: 10px;
		background: #FFFFFF;
		border-right: 1px solid #C0C0C0;
		border-top: 1px solid #C0C0C0;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

/*Slick carousel plugin*/

.slick-prev, .slick-next {
	width: 42px !important;
	height: 42px !important;
}

.slick-next {
	right: 10px !important;
	z-index: 1;
}

.slick-prev {
	left: 10px !important;
	z-index: 1;
}

	.slick-prev:before, .slick-next:before {
		color: #FFF !important;
		font-size: 40px !important;
	}

.slick-dots {
	bottom: -20px !important;
}

.sliderContainer.full-width .slick-dots {
	bottom: -20px !important;
}

.sliderContainer .slick-dots {
	bottom: 54px !important;
}

.slick-dots li {
	background-color: transparent !important;
	width: 20px !important;
	float: none !important;
}

	.slick-dots li.slick-active button:before {
		font-size: 11px !important;
		color: #65BDEA !important;
		opacity: 1 !important;
	}

	.slick-dots li button::before {
		font-size: 11px !important;
		color: #CCC !important;
		opacity: 1 !important;
	}

.slide {
	position: relative;
}

.slide__caption {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
	color: #FFF;
	background: rgba(0,0,0,0.6);
	bottom: 0px;
	font-size: 16px;
	z-index: 8;
	padding: 15px 0;
}

.sliderContainer.full-width .slide__caption {
	padding: 15px;
}

	.sliderContainer.full-width .slide__caption .slide-caption-text {
		width: auto;
		padding: 0;
	}

.slide__caption .slide-caption-text {
	width: 600px;
	margin: 0 auto;
	padding: 0 15px;
}

.slide-background .slide-overlay {
	background: rgba(0,0,0,0.5);
	position: absolute;
	lefT: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.slide-background .slide-background-image {
	position: absolute;
	width: 100%;
	height: auto;
	top: 50%;
	z-index: -1;
	transform: translateY(-50%);
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

.slide-main-image {
	z-index: 8;
	position: relative;
}

.no-images .slide-background .slide-overlay {
	background: #ACACAC;
}

.no-images .slide__caption .slide-caption-text {
	margin: 0;
}

.scrolloff {
	pointer-events: none;
}

.carousel-hidden {
	position: absolute !important;
	top: -9999px !important;
	left: -9999px !important;
	height: 0 !important;
	opacity: 0 !important;
}

/*Responsive Bookings*/
@media all and (max-width: 1200px) {
	#tableColumns .timeCell .post,
	#tableColumns .timeSlotCell .post,
	.timeSlotCellDay .post {
		display: none;
	}

	#facilityList.availability .facilityName {
		max-width: 250px;
		font-size: 1em;
	}
}

@media all and (max-width: 1080px) {
	#facilityList.list .details .desc p {
		height: 79px;
		-webkit-line-clamp: 4;
	}

	#facilityList.gallery .facilityDetails {
		width: 33%;
		padding-bottom: 28%;
	}

	/*#facilityDetails .resources li
    {
        width: 32%;
        margin-right:2.0%
    }*/

	#facilityDetails .resources li:nth-child(4n) {
		margin-right: 2%;
	}

	#facilityDetails .resources li:nth-child(3n) {
		margin-right: 0;
	}

	#resourceDetails .weekCalendarDisplay .legend {
		float: none;
	}

	.legends {
		width: 100%;
		float: left;
	}

	.legend {
		float: left;
	}

	.monthSchedule {
		width: 100%;
	}

	.weekSchedule {
		clear: left;
		float: left;
		width: 100%;
	}
}

@media all and (max-width: 1023px) {
	#facilityList.availability div.facilityContent {
		margin-right: 0;
	}

	#facilityList.availability div.timeSlotContainer {
		float: none;
		width: 100%;
		overflow: hidden;
	}

	#facilityList.availability div.timeSlotBodyContainer {
		min-width: 0;
	}

	#facilityList.availability div.fixedTimeSlot,
	#facilityList.availability div.timeSlot,
	#facilityList.availability div.daySlot {
		border-top: 1px solid #C0C0C0;
	}

	#facilityList.availability .facility .details,
	#facilityList.availability .resource {
		border-right: 1px solid #C0C0C0;
	}

	#facilityList.availability div.timeSlot,
	#facilityList.availability div.daySlot {
		height: 42px;
		min-height: 42px;
	}

	#facilityList.availability div.fixedTimeSlot {
		width: 8.33%;
	}

		#facilityList.availability div.fixedTimeSlot.day,
		#facilityList.availability div.daySlot {
			width: 14.29%;
		}

			#facilityList.availability div.daySlot span.availabilityLong {
				display: none;
			}

			#facilityList.availability div.daySlot span.availabilityShort {
				display: inline;
			}

	#facilityList.availability div.bookable.resource {
		float: none;
		border-bottom: none;
		padding: 5px;
		height: 70px;
	}

	#facilityList.availability div.resource div.timeSlot,
	#facilityList.availability div.resource div.daySlot {
		height: 30px;
		min-height: 30px;
	}

	#facilityList.availability div.timeSlotContainer .tooltip-arrow {
		position: absolute;
		display: block;
		left: 50%;
		height: 10px;
		width: 10px;
		background: #F4F4F7;
		top: -5px;
		border: 1px solid #C0C0C0;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#calendarRegion .timeSlotCellTimeSpan .post {
		display: none;
	}
}

@media all and (max-width: 994px) {
	.map-search .map-search-location {
		margin-left: 0px;
		margin-bottom: 10px;
		width: 100%;
	}

	.map-search .map-search-distance {
		width: 100%;
		margin-left: 0px;
		margin-bottom: 10px;
	}

	.map-search .map-search-location .label {
		width: 25%;
	}

	.map-search .map-search-distance .label {
		width: 25%;
	}
}

@media all and (max-width: 940px) {
	#facilityList.list .details .desc p {
		height: 59px;
		-webkit-line-clamp: 3;
	}
}


@media all and (max-width: 800px) {
	#facilityList.list .facilityName {
		margin: 10px 0;
	}

	#facilityList.list .details .desc p {
		height: 40px;
		-webkit-line-clamp: 2;
	}

	#facilityList.gallery .facilityDetails {
		width: 50%;
		padding-bottom: 44%;
	}

		#facilityList.gallery .facilityDetails .photosContainer img {
			max-width: 320px;
			max-height: 240px;
		}

	#facilityDetails .resources li .photosContainer.vertical {
		width: 50%;
	}

	#facilityDetails .resources li .amenities-wrapper {
		width: 100%;
		display: block;
	}

	#facilityDetails .resources li .amenity {
		display: block;
		border-right: none;
		border-top: 1px dashed #DDD;
		padding: 0px 10px 10px 10px;
	}

	#facilityDetails .resources li .amenities-wrapper .amenity {
		padding-left: 0;
	}

	#facilityDetails .resources li:nth-child(2n - 1) {
		margin-right: 2%
	}


	#facilityDetails .resources li:nth-child(2n) {
		margin-right: 0;
	}

	div#facilitySearch .extras {
		display: block;
	}

		div#facilitySearch .extras .halfwidth,
		div#facilitySearch .extras .quarterwidth {
			display: block;
		}

	div#facilitySearch .halfwidth, #advancedFacilitySearch .halfwidth {
		width: 100%;
		padding-bottom: 10px;
		padding-right: 0;
	}

	div#facilitySearch .quarterwidth, #advancedFacilitySearch .quarterwidth {
		width: 50%;
		padding-bottom: 20px;
	}

		div#facilitySearch .quarterwidth .answer .date {
			margin-right: 17px;
		}

	#facilityDetails .resources li .amenity:first-child .amenity-heading {
		margin-top: 0;
	}

	#facilityDetails .resources li .amenity .amenity-heading {
		margin-top: 1em;
	}
}

@media all and (max-width: 680px) {

	#facilityContent .sliderContainer .slide-main-image {
		width: 100%;
		height: auto;
	}

	#facilityContent .contentContainer.embeddedVideo iframe,
	#facilityContent .contentContainer.streetView iframe {
		width: 100%;
	}

	#facilityContent .sliderContainer .slide-main-image .placeholder {
		padding-bottom: 75%;
	}

	#facilityContent .sliderContainer img.slide-background {
		display: none;
	}

	#facilityList.list .facility-attributes .facility-attribute {
		width: 100%;
		margin-bottom: 5px;
	}

	.weekCalendarDisplay .cellHeader .upper .short {
		display: inline;
	}

	.weekCalendarDisplay .cellHeader .upper .full {
		display: none;
	}
}

@media all and (max-width: 580px) {
	#facilityList.list .facilityName {
		margin: 6px 0;
	}

	#facilityList.list .details .link a.button {
		margin-top: 3px;
	}

	#advancedFacilitySearch {
		width: 100%;
	}


	#facilityContent .amenities-wrapper {
		width: 100%;
	}

		#facilityContent .amenities-wrapper .amenity {
			display: block;
			border: none !important;
			display: block;
			border-bottom: 1px dashed #CCC;
			padding: 5px 5px 10px 0;
		}

			#facilityContent .amenities-wrapper .amenity:nth-child(odd) {
				border-left: none;
				border-right: none;
			}

	#advancedFacilitySearch .answer.slider, #facilitySearch .answer.slider, #advancedFacilitySearch .singleSlider {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media all and (max-width: 540px) {
	#facilityList.list .facilityName {
		margin: 3px 0;
	}

	#facilityList.list .photosContainer {
		transition: 0.2s;
	}

	#facilityList.list .details .desc p {
		height: 20px;
		-webkit-line-clamp: 1;
	}

	#facilityContent .facilityPhotoLocation {
		width: 100%;
	}


		#facilityContent .facilityPhotoLocation img,
		#facilityContent .facilityPhotoLocation iframe {
			width: 100%;
			margin-bottom: 15px;
		}

		#facilityContent .facilityPhotoLocation .resourceSliderContainer {
			width: 100%;
			margin: 0;
			min-width: 0;
		}


		#facilityContent .facilityPhotoLocation.mapWrapper,
		#facilityContent .facilityPhotoLocation.mapWrapper {
			order: 2;
		}

	div#facilitySearch {
		width: 100%;
		padding: 0;
	}

		div#facilitySearch .quarterwidth, #advancedFacilitySearch .quarterwidth {
			width: 100%;
			padding-bottom: 20px;
		}

			div#facilitySearch .quarterwidth .answer, #advancedFacilitySearch .quarterwidth .answer {
				margin-right: 0;
			}

				div#facilitySearch .quarterwidth .answer .date {
					margin-right: 37px;
				}

	#facilityList.map {
		padding: 0;
		transition: 0.2s;
	}

		#facilityList.map .mapResults {
			height: 550px;
		}

	#tableColumns .timeColumn .timeCell {
		padding: 0;
	}

	.searchResultBanner .searchResultIcon {
		padding: 18px 3px 8px 3px
	}

		.searchResultBanner .searchResultIcon > span {
			display: none;
		}

		.searchResultBanner .searchResultIcon .changeView.selected + span {
			display: block;
		}
}



@media all and (max-width: 460px) {

	#facilityList.list .facilityName {
		margin: 12px 0;
	}

	#facilityList.list .photosContainer {
		width: 100%;
		float: initial;
	}

	#facilityList.list .info {
		width: 100%;
	}

	#facilityList.list .details .desc p {
		height: 40px;
		-webkit-line-clamp: 2;
	}

	#facilityList.list .details .link a.button {
		margin-bottom: 10px;
	}


	#facilityList.gallery .facilityDetails {
		width: 100%;
		padding-bottom: 83%;
	}

	#facilityDetails .resources li {
		width: 100%;
		margin-right: 0;
	}

		#facilityDetails .resources li .photosContainer.vertical {
			width: 100%;
			margin-bottom: 1em;
		}

	.dialogue-selection.bookings select {
		width: 250px;
	}
}


@-moz-keyframes bounceDown {
	0% {
		-moz-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-moz-transform: translateY(20px);
		transform: translateY(20px);
	}
}

@-webkit-keyframes bounceDown {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
}

@keyframes bounceDown {
	0% {
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-moz-transform: translateY(20px);
		-ms-transform: translateY(20px);
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
}

.bounceDown {
	-moz-animation: bounceDown 2s infinite;
	-webkit-animation: bounceDown 2s infinite;
	animation: bounceDown 2s infinite;
}


@-moz-keyframes bounceUp {
	0% {
		-moz-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-moz-transform: translateY(-20px);
		transform: translateY(-20px);
	}
}

@-webkit-keyframes bounceUp {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px);
	}
}

@keyframes bounceUp {
	0% {
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	40% {
		-moz-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		-webkit-transform: translateY(-20px);
		transform: translateY(-20px);
	}
}

.bounceUp {
	-moz-animation: bounceUp 2s infinite;
	-webkit-animation: bounceUp 2s infinite;
	animation: bounceUp 2s infinite;
}

#facilityList.list .file-tile.button {
	font-weight: 500;
	display: inline-block;
	position: relative;
	padding: 0.8em 3em;
	background: #FFF;
	font-size: 1em;
	color: #333;
	border: 1px solid #AAA;
	margin: 0 5px 5px 0;
}

	#facilityList.list .file-tile.button.pdf {
		color: firebrick;
		border-color: firebrick;
	}

	#facilityList.list .file-tile.button.xml {
		color: #1aae61;
		border-color: #1aae61;
	}

	#facilityList.list .file-tile.button.doc {
		color: #2196f3;
		border-color: #2196f3;
	}

	#facilityList.list .file-tile.button:hover {
		color: white;
		background: #bbb;
		border: 1px solid #AAA;
	}

	#facilityList.list .file-tile.button.pdf:hover {
		background: #b44a4a;
		border-color: firebrick;
	}

	#facilityList.list .file-tile.button.doc:hover {
		background: #2196f3;
		border-color: #2196f3;
	}

	#facilityList.list .file-tile.button.xml:hover {
		background: #44ad76;
		border-color: #1aae61;
	}

	#facilityList.list .file-tile.button .name {
		font-weight: 500;
		margin-left: 0;
		display: block;
		float: left;
		text-shadow: none;
	}

	#facilityList.list .file-tile.button:hover .name {
		color: white;
	}

	#facilityList.list .file-tile.button .icon {
		display: block;
		float: left;
		margin-right: 1em;
	}

		#facilityList.list .file-tile.button .icon img {
			width: 16px;
			display: block;
		}
