/* EXPAND/COLLAPSE STYLES
*******************************/

/* add this class to a wrapper element around expand/collapse content to prevent most cases of jitter when padding is needed */
.EXPCO-PADDING
{
    padding: 2%;
}

/* add this class to a wrapper element around expand/collapse content to prevent most cases of jitter when margin is needed */
.EXPCO-MARGIN
{
    margin: 2%;
}

.expco-trigger 
{
    background: none;
    border: none;
    padding: 0;
    text-align: left;
    font-size: inherit;
    font-weight: inherit;
}



/* HOTEL PROFILE MODAL
*******************************/

.hp-top-wrap 
{
    margin-bottom: 15px;
}

.hp-title-wrap 
{
    width: 75%;
    display: inline-block;
    line-height: 1.25;
}

.hotel-information-wrap 
{
    float: left;
    padding-bottom: 15px;
    width:58%;
}

.hp-hotel-rating-wrap
{
    padding-bottom: 10px;
}

.hp-hotel-address-wrap 
{
    margin-bottom: 15px;
}

.hp-top-wrap .PRICE-SELECT-WRAP 
{
    width: 40%;
}

.hp-top-wrap .PRICE-DIVIDE 
{
    display: none;
}

.hp-top-wrap .PRICE-INCLUSION-WRAP 
{
    margin-bottom: 5px;
}

.dmca-link 
{
    float: right;
}

.hotel-profile-wrap .expco-added-value .expco-trigger
{
    background: none;
    border: none;
    padding: 5px 0 0;
    font-weight: bold;
}

.hotel-profile-wrap .expco-added-value .expco-trigger span 
{
    color: #006bb7;
}

.current-promotions-wrap .expco-trigger-text span
{
    margin-left: 10px;
    font-size: 1.2rem;
}

.expco-included-value-content
{
    margin: 3px 0 15px 25px;
    font-size: 1.2rem;
}

.hotel-profile-tabs .ui-widget-header
{
    background: none !important;
    padding: 0;
    border-color: #dedede;
}

.hotel-profile-tabs.ui-tabs
{
    border: 0;
}

.hotel-profile-tabs .ui-tabs-nav
{
    border-width: 0 0 1px;
    min-width: 320px;
    padding: 25px 0 0 0;
}

.hotel-profile-tabs .ui-corner-all
{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.hotel-profile-tabs .ui-tabs-panel
{
    border: 1px solid #dedede;
    border-top: none;
}

.sub-tab-wrap
{
    border: 1px solid #dedede;
    border-top: none;
}

.sub-tab-wrap + .sub-tab-wrap .expco-trigger 
{
    border-top-width: 0;
}

.hotel-profile-wrap .expco-trigger
{
    padding: 1%;
    background: #f2f2f2;
    display: block;
    text-decoration: none;
    border-top: 1px solid #dedede;
    width:100%;
}

.hp-promotions-wrap 
{
    width: 95%;
}

.hotel-profile-tabs .ui-tabs-anchor 
{
    padding: 5px 8px !important;
}

.hotel-fees-disclaimer-wrap 
{
    margin-top: 15px;
    text-align: right;
    font-size: 1.2rem;
    font-style: italic;
}

.hotel-profile-tabs h2 
{
    font-size: 1.8rem;
    border-bottom: 1px dashed #dedede;
    padding: 0 0 5px;
    margin-bottom: 10px;
}

.hotel-profile-tabs h3 
{
    font-size: 1.4rem;
}

.hotel-profile-tabs li 
{
    margin-left: 18px;
    list-style: disc;
    border-color: #dedede !important;
}


/*** hotel details tab ***/

.hotel-description-wrap,
.hp-location-wrap
{
    margin-bottom: 15px;
}

.hp-location-wrap span 
{
    font-weight: bold;
}

.hotel-policies-wrap h2 
{
    padding-top: 20px;
}


/*** amenities tab ***/

.amenity-detail
{
    display: none; 
    width: 300px; 
    position: absolute; 
    overflow: visible;  
    font-size: 100%; 
    padding: 25px 10px 10px 10px; 
    z-index: 99;
    background: #fff;
    border-radius: 3px;
    border: 1px solid #dedede;
}

.amenities-detail-trigger .expco-trigger
{
    display: inline; 
    border: 0;
}


/*** Accommodations tab ***/

.hotel-room-type-wrap
{
    margin-bottom: 40px;
}

.room-type-wrap
{
    margin: 15px 30px;
}

.room-type-wrap h3
{
    border-top: 1px dashed #dedede;
    padding-top: 10px;
    margin-top: 15px;
}

.room-type-wrap h3:first-child 
{
    border-top: none;
    padding-top: 0 ;
}

.room-type-promos-wrap 
{
    float: left;
    font-size: 1.2rem;
    max-width: 450px;
}

.room-type-wrap h3 span 
{
    font-size: 1.2rem;
    font-weight: normal;
}

.price-per-wrap
{
    float: right;
    text-align: right;
}

.price-per-wrap div
{
    font-size: 1.2rem;
}


@media (max-width: 640px)
{
    .price-per-wrap,
    .room-type-promos-wrap
    {
        display: block;
        text-align: left;
        width: 100%;
    }
    
    .hotel-information-wrap
    {
        width:100%;
    } 
    
    .price-per-wrap 
    {
        margin-top: 10px;
    }
    
    .hp-top-wrap .PRICE-SELECT-WRAP 
    {
        width: 100%;
        clear: both;
        margin-top: 15px;
    }
    
    .ui-tabs .ui-tabs-nav li,
    .ui-tabs .ui-tabs-nav li a 
    {
        width: 100%;
    }   
}


/*** activities tab ***/

.hp-sub-accordian-title 
{
    display: inline;
}

.hp-sub-accordian-title .expco-trigger
{
    background: none;
}

.attraction-title span
{
    color: #006bb7;
}

.attraction-title .expco-trigger {
    padding: 0 0 10px 0;
}


/*** trip advisor tab ***/

.ta-vendor-message 
{
    margin-bottom: 15px;
}

.trip-advisor-review-wrap
{
    margin-bottom: 25px;
}

.trip-advisor-review-wrap h2
{
    font-size: 1.8rem;
    border-bottom: none;
    margin-bottom: 0;
}

.review-date-wrap 
{
    border-bottom: 1px dashed #dbdbdb;
    margin-bottom: 10px;
}

.review-date-wrap span 
{
    position: absolute;
    margin-top: 1px;
    margin-left: 10px;
    font-size: 1.2rem;
}

.trip-advisor-footer-wrap
{
    font-size: 1.2rem;
    font-style: italic;
}



/* FEATURE PROFILE MODAL
*******************************/

#feature-profile-wrap
{
    width: 96%; 
    margin: 2% auto;
}

.hotelImageEnlarged
{
    display: none;
}

#OverviewImageEnlargedClose
{
    display: none;
}

.feature-details-list
{
    border: solid 1px #dedede; 
    border-radius: 3px; 
    margin: 20px 0;
}

.feature-details-list li:last-child
{
    border-bottom: 0;
}

.featureDetailList
{
    padding: 2%;
}

.featureDetailList li
{
    margin-bottom: 10px;
}

.fp-accordian-title button
{
    padding: 1%; 
    background: #f2f2f2; 
    border-bottom: solid 1px #dedede;
    text-decoration: none;
    width:100%;
}

.fp-accordian-title button:hover
{
    background: #efefef; 
}

.print-feature-wrap
{
    width: 100px; 
    float: right; 
    text-align: right;
}

.feature-fees
{
    text-align: right;
}


@media (max-width: 360px) 
{
    .feature-summary-image-wrap img
    {
        width:96%; 
        margin:15px auto;
    }
}



/* MODAL STYLES
************************************/

.push-right 
{
    float: right;
}

.cancel-no 
{
    margin-left: 10px;
}

#modalParentDiv p
{
    margin-bottom: 15px;
}

#modalParentDiv.modal-wrap,
#modalParentDiv.modalPopup
{
    background: #fff; 
    border: solid 1px #dedede; 
    border-radius: 3px;
    padding: 30px 2%;
    position: relative;
}
    
.modal-title
{
    border-bottom: solid 5px #f2f2f2;
    display: block;
    width: 100%;
    padding-top:10px;
}

.modal-overlay
{
    background: rgba(242,242,242, 0.8); 
}
    
.modalBody
{
    background-color: #fff !important;
}

.modal-close
{
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1000;
    padding: 15px;
}

.modal-close a,
.modal-close button,
.close-text
{ 
    color: #d90707; 
    font-weight: bold; 
    text-transform: uppercase; 
    font-size: 12px; 
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
}

.modal-close i
{
    color: #d90707;
    font-size: 14px;
}

#modalContentDiv .modalContainer
{
    width: 860px;
}


@media (max-width: 414px) 
{
    .modal-close button
    {
        font-weight: bold;
        cursor: pointer;
        padding: 10px;
        display: block;
        text-align: center;
        color: #fff !important;
        border: 1px solid #006bb7;
        background-color: #127cb7;
        border-radius: 3px;
        margin: 0 auto;
        text-decoration: none;
        position: fixed;
        bottom: 10px;
        left: 3%;
        width: 94%; 
    }

    .modal-close button .close-text, 
    .modal-close button i 
    {
        color:#fff !important;
    }
    
    #modalParentDiv.modalPopup,
    #modalParentDiv.modal-wrap
    {
        padding-top: 10px; 
        padding-bottom: 60px;
        }
}

@media (min-width: 415px) 
{
   .closeWindowBtn 
   {
       display: none;
   } 
   
   .modal-close 
   {
       display: block;
   }
}


/*** sign in page ***/

.fb-button-signin 
{
    height: auto;
}


/*** progress indicator ***/

.select-progress-ind,
.smt-select-progress-ind
{
    width: 100%; 
    height: 100%; 
    background: rgba(255,255,255,0.6); 
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: 9999;
}


.select-progress-ind p,
.smt-select-progress-ind p
{
    position: absolute; 
    top: 45%; 
    left: 40%; 
    width: 20%; 
    background: #f2f2f2; 
    border: solid 1px #dedede; 
    border-radius: 3px; 
    padding: 20px; 
    text-align: center;
    font-weight: bold;
}

.modalBody .select-progress-ind p
{
    width: 26%;
    left: 37%;
    height: 100px;
}


@media (max-width: 580px) 
{
    .select-progress-ind p,
    .smt-select-progress-ind p
    {
        top: 45%; 
        left: 10%; 
        width: 80%; 
        height: 100px; 
    } 
}



/* CONTENT HOMEPAGE RESTOOL STYLES
************************************/

.adults-wrap,
.children-wrap
{
    float: left;
    width: 70px;
    min-width: 45px;
}

.multi-room[style="display: block;"],
.multi-room[style="display: block;"] + div,
.children-ages-label
{
    font-size: 1.2rem;
}

.multi-room label
{
    display: block;
    font-weight: bold;
    clear: left;
    padding: 15px 0 5px;
    margin-bottom: 5px;
    border-bottom: 1px dashed #aaa;
}

.children-ages-wrap
{
    clear: both;
    width: 200%;
}

.children-ages-wrap:after
{
    clear: both;
    display: table;
    content: "";
}

.children-ages-label
{
    font-weight: bold;
    margin-bottom: 5px;
    padding-top: 15px;
}

.child-age-wrap
{
    width: 16.8%;
    float: left;
    min-width: 45px;
}

.child-age-wrap:last-child
{
    margin-right: 0;
}

#homeRestool fieldset.resToolZone3 .child-age-wrap label 
{
    margin-top: 0;
}


@media (max-width: 319px) 
{
    .children-ages-wrap 
    {
        width: 100%;
    }
}



/* DESTINATIONS AND SPECIALS RESTOOL STYLES
************************************/

.restoolLeft .adults-wrap,
.restoolLeft .children-wrap,
.restoolLeft .child-age-wrap,
#destinationContent .adults-wrap,
#destinationContent .children-wrap,
#destinationContent .child-age-wrap,
#specialsPageBackground .adults-wrap,
#specialsPageBackground .children-wrap,
#specialsPageBackground .child-age-wrap,
#themesContent .adults-wrap,
#themesContent .children-wrap,
#themesContent .child-age-wrap,
#themesDetailContent .adults-wrap,
#themesDetailContent .children-wrap,
#themesDetailContent .child-age-wrap   
{
    width: 55px !important;
}

.restoolLeft .passengersInput select,
#destinationContent .passengersInput select,
#specialsPageBackground .passengersInput select,
#themesContent .passengersInput select,
#themesDetailContent .passengersInput select
{
    width: 50px !important;
    height: 33px !important;
}



/* CONTENT PROMOTIONS RESTOOL STYLES
************************************/

#promorestool fieldset fieldset 
{
    width: 46%;
}

#promorestool fieldset.resToolZone3 label.max-pax
{
    width: 170%;
}

#promorestool fieldset.resToolZone3 .child-age-wrap label
{
    margin-top: 5px;
}

#promorestool .number-of-pax-wrap select
{
    width: 50px;
    height: 33px;
}



/* CALENDAR STYLES
************************************/

.calendar-key-wrap
{
    margin: 5px 0 10px;
    text-align: center;
}

.calendar-key-wrap dt
{
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
    margin-top: 5px;
}


/* Base Loyalty STYLES
************************************/

.loyalty-modal-list
{
    margin:0 0 20px 20px;
}

.loyalty-points-wrap
{
   background-color:#f2f2f2;
   border:solid 1px #dedede;
   margin-top:20px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px ;
   border-radius: 5px;
   width:230px; 
   float:right;
   padding:10px;
}

.loyalty-logo-wrap
{
    width:40px;
    margin: 3px 10px 0 0;
    float:left;
}

.loyalty-logo-wrap img
{
    width:100%;
    height:auto;   
}

.loyalty-content-wrap
{
    float:left; 
    width:156px;
    margin-bottom:10px;
}

.points-redeem-logout
{       
    margin:20px 0 0;
    width:100%;
    text-align:right;
}

.points-login-wrap
{
    padding-bottom:10px;    
}

.logged-out-redeem-text
{  
    font-size:98%;
}

.points-balance
{
    font-weight:bold;
    font-size:2.2em;
    margin:10px 0;
}
   
   
@media (max-width: 480px) 
{
    .loyalty-points-wrap
    {
        width: 98%; 
        float:none;
        margin:20px auto;   
    }
    
    .loyalty-logo-wrap
    {
        width:25%;
        max-width:40px;
    }
    
    .loyalty-content-wrap
    {
        width:75%;    
    }
    
    .points-redeem-logout
    {
        margin-left: 50px;
        clear:both;
        text-align:left;
    }

} 


/* end loyalty points container homepage */


/* SSO (Single Sign On) Styles
***************************************/
.sso-link-account
{
   margin-bottom: 10px;
}

.sso-link-account label
{
    width: 100%;
    display: block;
}

.sso-link-account input[type="password"]
{
    margin-right: 10px;
    width:30%;
}

.sso-subscriptions-list
{
    list-style: none;   
    margin-bottom: 15px;
}

.sso-subscriptions-list label
{
    width: 100%;
    margin-bottom: 3px;
    display: block;
}


/*******************/

.ui-widget-shadow {
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2) !important;
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2) !important;
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2) !important;
}