/*** calendarMonth ***/
.calendarMonth .calendarMonthHeader {
    color:#ffffff;
    background-color:#000000;
}
.calendarMonth .calendarNavigation {
    cursor:pointer;
}
.calendarMonth .monthLabel {
    height: 19px;
    font-weight: bold;
    text-align: center;
    font-size: 12px;
    padding-top: 3px;
}
.stayCalendar .calendarMonth .monthLabel {
    padding-top: 7px;
}

.stayCalendar .calendarMonth .previous {
    background: transparent url( /common/js/lib/starwood/calendar/assets/arrow_previous.png) no-repeat left;
    margin-left: 10px;
    margin-top: 12px;
    width: 8px;
    height: 13px;
}

.calendarMonth .previous {
    background: transparent url( /common/js/lib/starwood/calendar/assets/previous.gif ) no-repeat left;
    float: left;
    margin-left: 10px;
    margin-top: 5px;
    width: 5px;
    height: 10px;
}

.stayCalendar .calendarMonth .next {
    background: transparent url( /common/js/lib/starwood/calendar/assets/arrow_next.png) no-repeat left;
   	margin-right: 10px;
	margin-top: 12px;
	width: 8px;
	height: 13px;
}

.calendarMonth .next {
    background: transparent url( /common/js/lib/starwood/calendar/assets/next.gif ) no-repeat left;
    float: right;
    margin-right: 10px;
    margin-top: 5px;
    width: 5px;
    height: 10px;
}

.calendarMonth .dayLabelContainer .dayLabel{
	width: 28px;
}

.calendarMonth .dayLabelContainer .dayRow{
	width: 205px;
}

.lang_zh_TW .calendarMonth .day, .calendarMonth .dayLabel {
	width: 26px;
}

/*** calendarMonth days ***/
.stayCalendar .calendarMonth .day, .stayCalendar .calendarMonth .dayLabel {
    width: 38px;
    height: 26px;
    font-size: 16px;
}

.calendarMonth .day, .calendarMonth .dayLabel {
    text-align: center;
    width: 26px;
    height: 15px;
    padding: 3px 0 0 0;
    float: left;
    margin: 0 1px 1px 0;
    line-height: normal;
    font-size: 11px;
    position: relative;
}

.lang_zh_TW .calendarMonth .dayLabelContainer .dayLabel{
	font-size: 8px;
}

.calendarMonth .outOfMonth {
    cursor: default;
    text-decoration: line-through;
    visibility:hidden;
}



.calendarMonth .availableRangeStart,
.calendarMonth .availableRangeEnd{
    cursor: pointer;
}
.multiRateCalendar .instructions .rangeStartInstructions a,
.multiRateCalendar .instructions .rangeEndInstructions a{
    text-decoration:underline;
}

.calendarMonth .day{
    color:#bbb;
}

.calendarMonth .invalid {
    cursor: default;
    text-decoration: line-through;
}
.calendarMonth .availableRangeStart {
    color:#000000;
}

.calendarMonth .availableRangeEnd {
    color:#000000;
}

.availableRangeStartMessage, .availableRangeEndMessage {
    display: none;
    position: absolute;
    z-index: 1001;
    background-color: #ffffff;
    border: 1px solid #000000;
    white-space: nowrap;
    padding: 3px;
    min-width: 115px;
    width: auto;
}

.availableRangeStartMessage.show, .availableRangeEndMessage.show {
    display: block;
}

/***  ***/
.calendarContainer {
    font-family: Arial, sans-serif;
    text-align: left;
    font-size: 11px;
    background-color: #FFFFFF;
    color:#000000;
}

.lang_zh_TW .calendarContainer .calendarMonth {
    width: 210px;
    margin-right: 5px;
}

.calendarContainer.stayCalendar .calendarMonth {
    width: 304px;
    height:240px;
}

.calendarContainer .calendarMonth {
    float: left;
    width: 210px;    
    background-color: #FFFFFF;
    margin-right: 5px;
}

.calendarContainer .calendarMonthBody {
    padding:3px;    
}

.calendarContainer .lastMonth {
    margin-right: 0;
}

.calendarContainer .calendarHeader{
    background:none;
}

.calendarContainer .closeLink {
	padding-top: 2px;
	padding-right: 10px;
	text-align: right;
    float: right;
}
.calendarContainer .closeLink a {
    padding-right: 15px;
    background: transparent url( /common/js/lib/starwood/calendar/assets/close.gif ) no-repeat right;
}

.calendarContainer .resetLink {
    padding:2px 0 0 25px;
}

.calendarContainer .resetLink a,
    .calendarContainer .resetLink a:visited,
    .calendarContainer .resetLink a:hover,
    .calendarContainer .resetLink a:active,
    .calendarContainer .resetLink a:link{
    background-image:none;
}

.calendarContainer .instructions {
    padding:5px 5px 0;
    color:#000000;
    font-weight:bold;
}

.calendarContainer .instructions li {
    padding: 5px 0 5px 10px;
    list-style-position: inside;
    list-style-type: decimal;
    display: list-item;
    color:#000000;
    font-size:13px;
}
.stayCalendar .instructions li {
    font-weight: bold;
}

.stayCalendar .instructions li.active {
    font-size:24px;
}

.calendarContainer .instructions a{
    font-size:11px;
    margin-left:8px;
}

.calendarContainer .messageContainer .errorContainer{
    margin-left:25px;
    min-height:13px;
    visibility:hidden;
}

.calendarContainer .messageContainer .errorContainer.show{
    visibility:visible;
}

.calendarContainer .messageContainer .errorContainer li{
    color:#FF0000;
    font-size:11px;
    font-weight:bold;
    list-style: none;    
}

.calendarContainer.stayCalendar .submitInstructions .actionButton {
    *display: inline !important;
}

/*** StayCalender ***/
.calendarContainer.stayCalendar {
    z-index: 1000;
    margin: 1px 0 0 1px;
    position: fixed;
    width:689px;
	height:495px;
    border: 1px solid #000000;
    display: none;
    top:50%;
    left:50%;
    margin-left:-344.5px;
 	margin-top:-247.5px;
}

.stayCalendar.show {
    display:block;
}
.stayCalendar .calendarBody{
    margin:10px 20px 36px;
}
/*** AvailCalender ***/
.availabilityCalendar .calendarBody{
    margin:10px 20px 2px;
    width:398px;
    text-align: center;
}

.availabilityCalendar .resetLink {
    padding: 10px 0;
}

.availabilityCalendar .instructions li {
    padding: 3px 0;
}

.availabilityCalendar .legendContainer{
    margin:2px 20px;    
}

.availabilityCalendar .legendContainer .legendItem {
    float:left;    
}

.availabilityCalendar .rangeStartGraphic,
.availabilityCalendar .rangeEndGraphic{
    margin-right:3px;
    float:left;
    width:25px;
    height:18px;
    background-image: url(/preferredguest/images/calendar/spg_calendar_cells.gif);
    border:1px solid #FFFFFF;
}
.availabilityCalendar .legendContainer .rangeStartGraphic{
    background-position: 160px 0;
}

.availabilityCalendar .legendContainer .rangeEndGraphic{
    background-position: 106px 0;
}

/*** MultiRateCalendar ***/
.multiRateCalendar {
    display:none;
    overflow:hidden;
}

.multiRateCalendar .calendarBody{
    float: right;
    margin: 0;
}

.multiRateCalendar .calendarHeader {
    float:left;
    position:relative;
}

* html .multiRateCalendar .calendarBody {
    height: 194px;
}

.multiRateCalendar .resetLink {
    padding: 10px 0;
    text-align:center;
}

* html .multiRateCalendar .resetLink {
    padding: 5px 0;
    width: 150px;
    position: relative;
}

.multiRateCalendar ol.instructions li {
    display: none;
}

.multiRateCalendar .instructions li {
    padding: 3px 0;
    list-style: none;
}

.multiRateCalendar ol.instructions li.active {
    display: inline-block;
}

.multiRateCalendar .instructions .rangeEndInstructions,
.multiRateCalendar .instructions .rangeStartInstructions{
    padding-left: 30px;
    width:120px;
    float:left;
}

.multiRateCalendar .legendContainer .legendText {
    display: block;
    margin-left: 28px;
}

.multiRateCalendar .legendContainer .rangeEndLegend,
.multiRateCalendar .legendContainer li {
    margin-top:5px;
}

.multiRateCalendar .legendContainer{
    margin:0;
}

.multiRateCalendar .legendContainer .legendItem {
    float:left;
}

.multiRateCalendar .legendContainer input{
    vertical-align:middle;    
}

.multiRateCalendar .legendContainer label{
    font-weight:bold;
    padding-left:3px;
}

.loadingBackground {
    display:none;
    height: 100%;
    left:0;
    position:absolute;
    top:0;
    width: 680px;
    z-index: 29;
    opacity:0.7;
    filter:alpha(opacity='70');
    background-color:#fff;
}
* html .loadingBackground {
    height: 387px;
    width: 508px;
}

.loadingIntermediate{
    display:none;
    position:absolute;
    left:0;
    top:0;
    height:100%;
    width:100%;
    z-index:30;
}

.loadingContainer {
    position: absolute;
    top: 100px;
    left:200px;
    display: none;
    z-index: 31;
    padding:30px;
}

.loading .loadingContainer, .loading .loadingBackground, .loading .loadingIntermediate{
    display:block;
}
.multiRateCalendar .instructions{
    font-weight:normal;
    display:inline-block;
}
.multiRateCalendar .instructions li.rangeStartInstructions span,
.multiRateCalendar .instructions li.rangeEndInstructions span{
    display:block;
    font-weight:bold;
}
.multiRateCalendar li.submitInstructions .currencyAmount{
    font-weight:bold;    
}
.multiRateCalendar ol.instructions a{
    margin-left:0;
}

.multiRateCalendar .calendarContainer .instructions li.submitInstructions{
    float:right;
}

.calendarContainer .calendarMonth .availableRangeStart.hover,
.calendarContainer .calendarMonth .availableRangeEnd.hover,
.calendarContainer .calendarMonth .rangeStart,
.calendarContainer .calendarMonth .rangeEnd {
    color:#FFFFFF;
    font-weight:bold;
}

.multiRateCalendar ol.instructions .dailyRate {
    width:190px;
    float:left;
}

.multiRateCalendar .submitInstructions .actionButton {
    float:right;
}
.multiRateCalendar .resetLink a {
    white-space:nowrap;
    display:inline;
}
.multiRateCalendar .calendarHeader .closeLink a {
    text-decoration:none;
}

.multiRateCalendar .calendarFooter {
    clear: both;
}

.multiRateCalendar .calendarContainerInner .optionalInstructions a.applyAllDates:hover{
    text-decoration:underline;
}
.calendarContainer.stayCalendar .calendarMonth{
	margin-left:8px;
}

.calendarContainer.stayCalendar .closeLink a , .calendarContainer.stayCalendar .resetLink a{
	font-size:14px;
}
.calendarContainer.stayCalendar .resetLink a{
	display:inline;
}
.stayCalendar .calendarMonth .monthLabel{
	height:31px;
    font-size: 18px;
}
 
.stayCalendar .instructions li{
	font-size:18px;
}
.stayCalendar .calendarBody {
	margin-bottom:10px;
}
.calendarContainer.stayCalendar .calendarMonth {
	height: 275px;
}
.calendarContainer.stayCalendar .messageContainer .errorContainer{
	margin-left:25px;
	margin-bottom:0px;
}
.calendarContainer.stayCalendar .calendarContainerInner {
    padding: 0;
}
.mask{
	z-index:1000;
}
.yui-panel-container{
	z-index:1001;
}

.calendarContainer.stayCalendar .calendarContainerInner .calendarFooter{
	border:none;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarFooter{
	margin:0;
	padding:0;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarFooter .optionalInstructions{
	padding-top:0;
}
.calendarContainer.stayCalendar .calendarFooter .messageContainer .instructions li{
	*overflow:visible !important;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarHeader {
    padding-top: 9px;
    padding-bottom:12px;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarBody .calendarMonth {
    margin-left: 10px;
    margin-right: 7px;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarFooter .messageContainer .instructions{
	margin-top:17px;
}
.calendarContainer.stayCalendar .calendarContainerInner .calendarFooter .messageContainer .instructions .submitInstructions .actionButton button{
	height:39px;
	width:174px;
	font-size:24px;
    background: url("/common/js/lib/starwood/calendar/assets/arrow_next.png") no-repeat scroll right center;
    background-position:139px;
}
.greyOutDiv {
    background-color: #CCCCCC;
    display: none;
    height: 100%;
    opacity: 0.50;
    filter: alpha(opacity=50);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}
.greyOutDiv.show {
    display:block;
}

