.itinerary-calendar-wrap {
	height: auto;
	border: none;
	padding: 10px 0;
	overflow: auto;
	position: relative;
	-webkit-user-select: none;
}
#itinerary-calendar {
	
 	min-height: 250px; 
	position: relative;
	height: auto;
	margin-right: 40px;
	left: 0px;
}
#itinerary-calendar.empty {
 	min-height: 75px; 
}
h4.empty-placeholder {
	text-align: center;
	font-size: 36px;
	color: #aaa;
	padding-bottom: 0;
	margin-bottom: 0;
	line-height: 100%;
}
#itinerary-calendar-header-col {
	width: 75px;
	left: 0;
	bottom: 0;
	top: 0;
	float: left;
}

#itinerary-calendar-header-col .itinerary-calendar-header-cell {
	float: none;	
	border-bottom: 1px solid #DDD;
	border-right: none;
	border-top: 1px solid transparent;
}

#itinerary-calendar-scroll {
	top: 0;
	right: 40px;
	bottom: 0;
	border: 1px solid #DDD;
	border-bottom: none;
	overflow-x: scroll;
}

#itinerary-calendar-body {
	border-right: 1px solid #DDD;
	padding-bottom: 3px;
}

a.add-itinerary-day {
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background: #333;
	overflow: hidden;
	color: #FFF;
	font-size: 20px;
	line-height: 30px;
	text-align: center;
	font-weight: bold;
	top: 15px;
	cursor: pointer;
}

a.add-itinerary-day.before {
	left: 30px;
}

a.add-itinerary-day.after {
	right: 0px;
}

.scroll.horz{
	overflow-x: scroll;
}

.itinerary-calendar-body-row.expanded {
	cursor: pointer;
}

#itinerary-calendar-content {
	
}

#itinerary-calendar-header {
	border-bottom: 1px solid #DDD;
	height: 100px;
}

.itinerary-calendar-header-cell {
	
	float: left;
	width: 200px;
	height: 100px;
	text-align: center;
	border-right: 1px solid #DDD;
	cursor: pointer;
	background-color: rgb(241,242,244);	
}

.itinerary-calendar-header-cell.no-select{
	background-color:transparent;
}
.itinerary-calendar-header-cell.level_one,
.itinerary-calendar-header-cell.level_two {
	width: 75px;
}

.itinerary-calendar-header-cell.selected {
	background: #dddddd;
}

.itinerary-calendar-header-cell h3 {
	color: #0D8ECA;
	margin: 0;
	padding: 10px 0;
	line-height: 100%;
	border-bottom: 1px solid #DDD;
	font-size: 18px;
	background-color: rgb(245,245,245);
}

p.itinerary-item-date {
	color: #AAA;
	margin: 0;
	padding: 10px 0;
	line-height: 100%;
	
}
p.itinerary-item-date:hover {
	color: #0D8ECA;
}

p.itinerary-item-location {
	color: #FFF;
	background: #666c78;
	margin: 0;
	padding: 4px 0;
	border-radius: 8px;
	line-height: 100%;
	font-size: 12px;
	cursor: pointer;
}

.selected p.itinerary-item-location {
	background: #0D8ECA;
}	
p.itinerary-item-location:hover {
	background: #0D8ECA;
	cursor: pointer;
}	

#itinerary-calendar-header-col {
background-color: rgb(241,242,244);
}

.itinerary-calendar-body-row {
	border-bottom: 1px solid #FFF;
	height: 50px;
	position: relative;
	background-color: rgb(241,242,244);
	background-size: contain;
	background-repeat:no-repeat;
	background-position: center;
}

#itinerary-calendar-header-col .itinerary-calendar-body-row {
	text-indent: -2000px;
	border-left: 1px solid #DDD;
	border-bottom-color: #FFF;
	overflow: hidden;
}

#itinerary-calendar-header-col .itinerary-calendar-body-row:last-child {
	border-bottom-color: #DDD;
}

#itinerary-calendar-header-col .itinerary-calendar-body-row.accommodation {
	background-image: url(/includes/images/accommodation.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.sightseeing {
	background-image: url(/includes/images/sightseeing.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.transfers,
#itinerary-calendar-header-col .itinerary-calendar-body-row.transport {
	background-image: url(/includes/images/transfers.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.rental-cars {
	background-image: url(/includes/images/rental-car.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.campervans {
	background-image: url(/includes/images/campervan.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.coach-transfers {
	background-image: url(/includes/images/seat-in-coach.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.train {
	background-image: url(/includes/images/train.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.guided-walks {
	background-image: url(/includes/images/guidedwalks.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.farm-stays {
	background-image: url(/includes/images/farmstay.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.guides {
	background-image: url(/includes/images/guide.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.fitpackages {
	background-image: url(/includes/images/fitpackage.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.interisland-ferry,
#itinerary-calendar-header-col .itinerary-calendar-body-row.cruises,
#itinerary-calendar-header-col .itinerary-calendar-body-row.extended-cruises {
	background-image: url(/includes/images/ferry.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.wedding {
	background-image: url(/includes/images/wedding.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.diving {
	background-image: url(/includes/images/diving.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.arrival-services {
	background-image: url(/includes/images/arrival.svg);
}
#itinerary-calendar-header-col .itinerary-calendar-body-row.blankservice {
	background-image: url(/includes/images/blank-service.svg);
}

#itinerary-calendar-header-col .itinerary-calendar-body-row.placeholder {
	background-image: none;
}

.itinerary-calendar-body-row-track {
	position: relative;
}

.itinerary-calendar-body-cell {
	float: left;
	width: 200px;
	height: 100%;
	text-align: center;
	border-right: 1px solid #eff0f2;
}
.itinerary-calendar-body-cell.selected,
.itinerary-calendar-body-cell.hover.selected {
	background: #C0C0C0;
}

.itinerary-calendar-body-cell.hover {
	background: #DDD;
}

.itinerary-calendar-activity-bar {
	border: 2px solid #0D8ECA;
	color: #0D8ECA;
	margin: 10px 0;
	background: #FFF;
	height: 30px;
	position: absolute;
}

.itinerary-calendar-activity-bar.Accommodation {
	padding-right: 35px;
}

.itinerary-calendar-activity-bar.open {
	height: auto;
	z-index: 10;
}	

.itinerary-calendar-activity-bar.deleting {
	opacity: 0.3;
}	

.itinerary-calendar-activity-bar label {
	color: #0D8ECA;
	font-weight: bold;
	line-height: 30px;
	height: 27px;
	padding: 0 5px;
	width: 27%;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	float: left;
	font-size: 11px;
}	

.level_two.itinerary-calendar-activity-bar label.supplier-name {
	width: 100%;
}
	
.level_three.itinerary-calendar-activity-bar label.supplier-name {
	line-height: 100%;
	display: block;
	width: 99%;
	height: 11px;
	margin: 2px 0;
}

.itinerary-calendar-activity-bar label.supplier-location {
	color: #AAA;
	text-align: center;
}
.level_three.itinerary-calendar-activity-bar label.supplier-location {
	text-align: left;
	width: 40%;
	line-height: 110%;
	height: 13px;
}

.itinerary-calendar-activity-bar label.supplier-price {
	float: right;
	text-align: right;
}
.level_three.itinerary-calendar-activity-bar label.supplier-price {
	width: 40%;
	line-height: 110%;
}


#itinerary-calendar-header-col label {
	cursor: pointer;
	color: #0D8ECA;
	font-weight: bold;
	line-height: 50px;
}


.itinerary-calendar-body-row {
/* 	cursor: pointer; */
}

.itinerary-calendar-body-row label {
	cursor: inherit;
}

.itinerary-calendar-activity-bar .booking-detail {
	display: none;
	margin: 5px;
	padding: 5px;
	border: 1px solid #0D8ECA;
	clear: both;
	position: relative;
}

.itinerary-calendar-activity-bar .booking-detail label {
	display: inline;
	font-weight: bold;
	width: auto;
	float: none;
}

.itinerary-calendar-activity-bar .booking-detail .config-item {
	font-size: 10px;
}

.itinerary-calendar-activity-bar .booking-detail .config-item .description {
	font-size: 11px;
	color: #000;
}

.itinerary-calendar-activity-bar.open .booking-detail {
	display: block;
}
.booking-detail-close {
	width: 10px;
	height: 10px;
	font-weight: bold;
	top: 3px;
	right: 3px;
	position: absolute;
	color: #AAA;
}

.toggleBtn {
	width: 60px;
	height: 30px;
	border-radius: 3px;
	border: 1px solid transparent;
}

.toggleBtn a.btn {
	display: block;
	width:30px;
	height: 30px;
	float: left;
	text-indent: 
	-2000px;
}
.toggleBtn a.btn.disabled {
	opacity: 0.5;
}
.toggleBtn .zoomIn {
	background: url(../images/267-zoomin.png) center center no-repeat;
}
.toggleBtn .zoomOut {
	background: url(../images/268-zoomout.png) center center no-repeat;
}



#create-new-booking {
	float: right;
}



/*
 * Booking Form
 *
 */
 
#book_tab aside.sidebar {
	width: 200px;
	padding-top: 40px;
}

#book_tab article {
	width: 673px;
	border-left: 1px solid #ccc;
	padding-left: 20px;
}

#service-booking h2,
#supplier-services h2 {
	margin-top: 0;
	line-height: 100%;
}

#edit-booking-options,
#cancel-booking-options {
	margin: 20px 0;
}

#book_tab .form-item label {
	width: 100%;
	float: none;
	font-weight: normal;
}
 
input[type="button"]:disabled,
input[type="submit"]:disabled {
	opacity: 0.3;
}

.form-item input.timepicker {
	width: 100px;	
}

.room-widget,
.trip-widget {

}

.room-item {
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #9d9d9d;
}

.room-item .title {
	padding: 5px 0 20px 0 ;
	border-bottom: 1px dotted #AAA;
}
.room-item .title span,
.room-item .title select {
	padding-right: 10px;
}




.room-item-max {
    color: #aaa;
    font-size: 0.8em;
    padding: 0 4px 0 4px;
}
.room-no {
    font-weight: bold;
    font-size: 1.2em;
}
.room-widget, .trip-widget {
  float:left;
  width: 900px;
 margin-top: -6px;
}
.room-widget .add, .trip-widget .add {
	clear:left;
}
.room-item-pax-list {
    padding-top: 20px;
 
}
.room_delete {
	float:right;
	font-weight: normal;
	font-size: 1.2em;
}

.pax-list-input,
.pax-list-select {
	margin-right: 10px;
}
.form-item input.pax-list-input {
	width: 100px;
}
.pax-item {
	padding: 5px 0;
}
.pax-item label {
	width: 50px;
}
#book_tab .form-item label.rooms-list,
.pax-item-label {
	font-weight: bold;
}
#book_tab .form-item label.rooms-list {
	font-size: 14px;
}
.room-item-pax .add {
	clear:left;
	font-size: 0.8em;
	padding: 10px 0;
}
.form-item.from, .form-item.nights {
	float:left;
	clear:none;
}
.form-item.nights {
	padding-left: 30px;
}
.required.error {
	border-color: red;
	color: red;
}
.extras-block {
	float:left;
	display:block;
	padding-bottom: 20px;
	width: 900px;
}
.extras-block .form-item {
	padding-top: 0; 
	padding-bottom: 10px;
}
.extras-block label { 
	width: 250px; 
	
}

#service-booking .controls {
	text-align: right;
}

table.rates-matrix td.action-col {
	padding: 5px;
	float:right;
}
table.rates-matrix tr:nth-child(2n+2) {
 /* background-color: #FAFAFA;*/
}
.supplier-listing.itinerary-search {
	position: relative;
}
.supplier-listing.itinerary-search.loading {
	
}
.supplier-listing.itinerary-search .loading-indicator {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.8) url(../images/ajax-loader.gif) center center no-repeat;
	text-align: center;
}
.supplier-listing.itinerary-search.loading .loading-indicator {
	display: block;
}
.supplier-listing.itinerary-search .loading-indicator h5 {
	font-weight: bold;
	color: #AAA;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	text-align: center;
}

table.bookings_search_results tr.quote td.qbcol {
  color: red;
}
table.bookings_search_results tr.booking td.qbcol {
  color: green;
}

.room-config {
	padding: 10px 0;
}

.status {
	clear: both;
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid transparent;
	border-radius: 4px;
}

.status.error {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
}

.booking-row {
	cursor: pointer;
}


@-webkit-keyframes flash {
    0% {
        background-color: #DDDDDD;
        opacity:1;
    }
    50% {
        background-color: #000;
    }
    100% {
        background-color: #DDDDDD;
    }
}
    
.flash{
  -webkit-animation-name: flash;
    -webkit-animation-duration: 200ms;
    -webkit-animation-iteration-count: 2;
    -webkit-animation-timing-function: linear;
  -moz-animation-name: flash;
    -moz-animation-duration: 200ms;
    -moz-animation-iteration-count: 2;
    -moz-animation-timing-function: linear;
}

.error {
	color: #FF0000;
	font-weight: bold;
	text-align: center;
	line-height: 200%;
}

.itinerary-modal {
	z-index: 99999999;
}
.itinerary-modal-inner {
	width: 250px;
	margin: 150px auto auto;
	padding: 20px;
	background: rgba(0, 0, 0, 0.8);
	border-radius: 10px;
	color: #FFF;
	overflow-y: hidden;
	opacity: 0;
	transition-property: all;
	transition-duration: .5s;
	transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
	-webkit-transition-property: all;
	-webkit-transition-duration: .5s;
	-webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}

.itinerary-modal-inner.open {
	opacity: 1;
}

h4.itinerary-modal-title {
	margin: 0 0 1em;
	text-align: center;
	font-size: 18px;
	font-weight: normal; 
}

button.itinerary-modal-button {
	border: 1px solid #FFF;
	background: none;
	color: #FFF;
	border-radius: 5px;
	padding: 10px 20px;
	display: inline-block;
}
button.itinerary-modal-button.confirm {
	background: #FFF;
	color: #000;
	float: right;
}

.ui-datepicker td.available .ui-state-default,
.ui-datepicker td.available .ui-state-hover {
	background: #00b72f;
	color: #FFF;

}
td.ui-datepicker-unselectable.ui-state-disabled.sold-out {
	opacity: 0.8;
}
td.ui-datepicker-unselectable.ui-state-disabled.sold-out .ui-state-default,
td.ui-datepicker-unselectable.ui-state-disabled.sold-out .ui-state-hover {
	background: red;
	color: #FFF;
}

#regulartourdate_display {
	float: left;
}

#regularTourDatePicker {
	min-height: 200px;
}
#regularTourDatePicker > .loading {
	width: 200px;
	height: 200px;
	float: left;
	margin-left: 100px;
}

/* Phase 3 */

.itinerary-calendar-body-row {
background-color: rgb(220,220,220);	
}
#itinerary-calendar-header-col .itinerary-calendar-body-row {
	background-color: rgb(241,242,244);
	cursor: pointer;
	background-size: 50%;
}
#itinerary-calendar-header-col .itinerary-calendar-body-row:hover {
	background-color: #6DaECA;
}
.itinerary-calendar-scroll {
background-color: rgb(220,220,220);	
border: 1px solid #999;
}

::-webkit-scrollbar {
   -webkit-appearance: none;
   background-color: rgba(150,150,150,.5);
   width: 7px;
}

::-webkit-scrollbar-thumb {
   border-radius: 4px;
   background-color: rgba(0,0,0,.5);
   -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
::-webkit-scrollbar-thumb:hover {
	background-color: #0D8ECA;
}

.add-itinerary-day:hover {
	cursor:pointer;
	background-color: #0D8ECA;
}

.supplier-name {
	float:left;
	overflow: hidden;
	text-overflow: ellipsis;
  	white-space: nowrap;	
	width:70%;
}
.level_three.itinerary-calendar-activity-bar label.supplier-name {
	width:70%;
}
.supplier-buttons {
	float:right;
	padding-right: 8px;
}
.supplier-buttons i, .booking-detail .fa{
	cursor:pointer;
}
.config-item .description {
	font-weight: bold;

#spinner {
	color: #2E2E2E;
}