/* BUTTONS
************************************/

a.button
{
    display:inline-block;
    text-decoration:none;
    /*line-height value must match height set on .button:enabled*/
    line-height:30px;
}

a.button,
input.button,
.button:enabled
{
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    /*if button height is changed the line-hight in a.button needs to be updated to match */
    height: 30px;
    color: #fff;
    border: 1px solid #006bb7;
    background-color: #127cb7;
    border-radius: 3px;
    padding: 0 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="submit"].button,
input[type="button"].button,
input[type="button"].cart-remove-button,
input[type="submit"].cart-remove-button
{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.button:hover:enabled,
a.button:hover
{
    background-color: #106fa2;
}

.secondary-button:enabled,
a.secondary-button
{
    background-color: #fff;
    border: 1px solid #127cb7;
    color: #127cb7;
}

.secondary-button:hover:enabled,
a.secondary-button:hover
{
    color: #fff;
}

a.button-large
{
    /*line-height value must match height set on .button-large:enabled*/
    line-height:45px;
}

a.button-large,
.button-large:enabled,
.button-large:disabled
{
    padding: 0px 40px !important;
    /*if large button height is changed the line-hight in a.button-large needs to be updated to match */
    height: 45px !important;
    font-size: 20px;
}

/* don't combine "input:read-only" and "input:-moz-read-only" with other selectors */
input:read-only { background: #dddddd; cursor: default; border: 0; color: #333; border-radius: 3px; }
input:-moz-read-only { background: #dddddd; cursor: default; border: 0; color: #333; border-radius: 3px; }
input[type="button"]:disabled,
input[disabled=disabled][type=submit], 
select:disabled,
button:disabled,
input[type="button"]:disabled:hover
{
    background: #dddddd;
    cursor: default;
    border: 0;
    color: #333;
    border-radius: 3px;
    height: 30px;
}

button:disabled i
{
    color: #dddddd;
}

button.link
{
    background: none;
    border: none; 
    padding: 0;
    font: inherit;
    text-decoration: underline;
}

@media (max-width: 767px)
{
    .button-large:enabled,
    .button-large:disabled
    {
        width: 100%;
    }
}
     
   

/* BOOKING NAVIGATION
************************************/

.BOOKING-NAVIGATION li
{
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: inline-block;
    position: relative;
    border: 1px solid #ddd;
    border-bottom-color: #aaa;
    border-right-width: 0;
    text-align: center;
    font-size: 1.7rem;
    font-weight: bold;
    border-radius: 3px 3px 0 0;
    background-color: #fff;
    margin-bottom: -1px;
}

.BOOKING-NAVIGATION .checkout,
.BOOKING-NAVIGATION .Checkout
{
    border-right-width: 1px;
}

.BOOKING-NAVIGATION .current-booking-tab 
{
    border-color: #aaa;
    border-bottom: none;
    border-right: 1px solid #aaa !important;
    position: relative;
    z-index: 2;
}

.BOOKING-NAVIGATION .current-booking-tab:first-child
{
    margin-left: 0;
}

.BOOKING-NAVIGATION .current-booking-tab + li 
{
    margin-left: -1px;
    z-index: 2;
}

.BOOKING-NAVIGATION > .current-booking-tab > a
{
    color: #000;
}

.BOOKING-NAVIGATION li:only-child
{
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    width: 20%;
    border-right: 1px solid #ddd;
}

.BOOKING-NAVIGATION li a
{
    display: block;
    line-height: 2.75;
    text-decoration: none;
    white-space: nowrap;
}

.BOOKING-NAVIGATION .fa-check
{
    display: none;
    color: #44812d;
    position: absolute;
    right: 0;
    top: -12px;
    font-size: 2.4rem;
}

.BOOKING-NAVIGATION .selected-booking-tab .fa-check
{
    display: block;
}

.BOOKING-NAVIGATION .fa-caret-down 
{
    display: none;
}

.BOOKING-NAVIGATION .air .fa-caret-down 
{
    display: inline;
}

.multi-stop-nav .air .fa-caret-down,
.multi-stop-nav .hotel .fa-caret-down, 
.multi-stop-nav .vehicle .fa-caret-down, 
.multi-stop-nav .feature .fa-caret-down
{
    display: inline;
}


.BOOKING-NAVIGATION .sub-nav
{
    position: absolute;
    display: none;
    z-index: 99999;
}

.BOOKING-NAVIGATION .sub-nav.open
{
    display: block;
}

.flight-leg-drop-down 
{
    font-size: 1.4rem;
    background-color: #f2f2f2;
    border-radius: 0 0 3px 3px;
    min-width: 175px;
}

.flight-leg-drop-down dt
{
    padding: 5% 2%;
    background-color: #666;
    color: #fff;
}

.flight-leg-drop-down dd
{
    padding: 5%;
    border: solid #dedede;
    background-color: #f2f2f2;
    border-width: 1px 1px 0 1px;
}

.flight-leg-drop-down dd:last-child 
{
    border-bottom-width: 1px;
    border-radius: 0 0 3px 3px;
}

.BOOKING-NAVIGATION li .flight-leg-drop-down a 
{
    white-space: normal;
    line-height: normal; 
}


@media (max-width: 640px) 
{
    .BOOKING-NAVIGATION li a
    {
        font-size: 1.2rem;
    }
}

 /* Limited Hotel Avail
************************************/

.limited-hotel-wrap
{
    margin: 10px 0;
    background: #f2f2f2;
    border: solid 1px #dedede;
    border-radius: 3px;
    padding: 1%;
    display: flex;
    justify-content: space-between;
}

.limited-hotel-wrap button
{
    margin-left:10px;
}

@media (max-width:785px)
{
    .limited-hotel-wrap 
    {
        text-align:center;
        flex-direction: column;
    }
    .limited-hotel-wrap button
    {
        display: block;
        margin: 5px auto 0;
    }
      
}


 /* LEFT GUTTER (excludes filters)
************************************/

.CONTENT-GUTTER-WRAP > div,
.CONTENT-GUTTER-WRAP > fieldset
{
    margin-bottom: 35px;
}

.CONTENT-GUTTER-WRAP ul
{
    list-style: none;
}

.CONTENT-GUTTER-WRAP > div:last-of-type
{
    margin-bottom: 0;
}

.gutter-section-title
{
    width: 100%;
    font-weight: bold;
    font-size: 1.6rem;
    padding-bottom: 5px;
    margin-bottom: 15px;
    border-bottom: 1px solid #aaa;
}

/*** new search ***/

.new-search-wrap label
{
    width: 100%;
}

.new-search-wrap select,
.new-search-wrap input
{
    margin-bottom: 10px;
    width: 100%;
}
    
.new-search-wrap .secondary-button
{
    margin: 5px 0 0;
}


/*** customer care ***/

.customer-care p
{
    margin-bottom: 10px;
}

    
/*** recent searches ***/

.recent-searches ul dl
{
    margin-bottom: 15px;
}
    
.recent-searches li:last-child dl
{
    margin-bottom: 0;
}

.recent-searches dt 
{
    font-weight: bold;
}
    
.recent-searches .is-highlighted
{
    padding: 5px;
}

.itin-compare-checkbox-wrap label
{
    padding-left:2px;
}

.emailAddressField input, .email-itin-subject
{
    width: 60%;
}

.itin-compare-table 
{
    width: 100%;
    table-layout:fixed;
}

.compare-row-label 
{
   width:145px;
}

.itin-compare-table tr th,
.itin-compare-table tr td
{
    padding:7px;
}

.itin-compare-table li
{
    list-style:none;
}

.mobile-compare-row,
.placeholder-row
{
    display: none;
}
.itin-compare-table thead tr
{
    background-color:#fff;
}

.itin-compare-table tbody tr:not(.mobile-compare-row):nth-child(4n+2)
{
    background-color: #f2f2f2;
}

.itin-compare-table tr th, 
.itin-compare-table tr td 
{
    border: solid 1px #dedede;
}

.commission-label-wrap,
.comission-details-wrap
{
    clear: both;
    display: block;
    font-size: 11px;
}

@media (max-width: 480px) 
{
    .itin-compare-table
    {
        table-layout:auto;
    }
    
    .itin-compare-table tr {
        display: flex;
    }
    
    .itin-compare-table tr th, 
    .itin-compare-table tr td {
        width: 33%;
        flex: 1;
        display: inline-block;
    }
    
    .emailAddressField input, .email-itin-subject
    {
        width: 100%;
    }
    .mobile-compare-row 
    {
        display:table-row;
        background-color:#f2f2f2;
        width:100%;
    }
    
    .compare-row-label 
    {
        display:none !important;
    }
    .itin-compare-table tbody tr:not(.mobile-compare-row):nth-child(4n+2),
    .itin-compare-table thead tr
    {
        background-color:#fff;
    }
}


/* my saved vacations */

.my-saved-vacations dl
{
    margin-top: 10px;
}

@media (max-width:414px)
{
    .modalContainer .recent-searches 
    {
        margin-top: 20px;
    }
}


/* FILTERS
************************************/

.filters-wrap
{
    border-radius: 3px;
}

.filters-wrap li 
{
    list-style: none;
}

.filters-wrap input[type="checkbox"] 
{
    margin-right: 3px;
    vertical-align: middle;
}

.responsive-filters-wrap
{
    margin: 20px 0;
}

.filters-wrap > fieldset > div,
.filter-count-wrap,
.filters-heading
{
    padding: 10px 8px;
    margin-bottom: 0;
    border: solid #dedede;
    border-width: 0 1px 1px 1px;
}

.filter-count-wrap
{
    background-color: #666;
    text-align: center;
    border-color: #666;
}

.filters-heading
{
    font-size: 1.8rem;
    text-align: center;
    font-weight: bold;
    background-color: #f2f2f2;
    border-top-width: 1px;
    border-radius:3px 3px 0px 0px;
}

.filters-wrap > div:last-of-type
{
    margin-bottom: 0;
}

.filter-count,
.filter-count-label
{
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
}

.name-filter-wrap
{
    position: relative;
}

.name-filter-wrap input[type="text"] 
{
    width: 100%;
}

.name-filter-wrap .button 
{
    border-radius: 0 3px 3px 0;
    -webkit-appearance: none;
}

.name-filter-field
{
    width: 100%;
    padding-right: 50px
}

.name-filter-wrap .button
{
    position: absolute;
    right: 0;
    top: 0;
}

.filters-wrap .expco-trigger,
.name-filter-label,
.price-filter-label 
{
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
}

@media (max-width: 414px), (max-height: 414px)
{
    .filters-wrap > fieldset > div.price-filter-wrap 
    {
        padding-left: 23px;
        padding-right: 23px;
    }
    
    .filters-wrap > fieldset
    {
        margin-bottom: 90px; /* Space for sticky buttons */
    }
    
    .filters-heading 
    {
        background-color: #fff;
        border: none;
        text-align: left;
        padding-left: 0px;
    }

    .filter-count-wrap 
    {
        text-align: left;
        border: none !important;
    }
    
    .name-filter-label,
    .price-filter-wrap 
    {
        border-top-width: 1px !important;
    }

    .filter-count, 
    .filter-count-label 
    {
        font-size: 1.5rem;
    }
}

.filters-wrap li label 
{
    vertical-align: middle; 
}

.clear-filters-wrap
{
    background-color: #f2f2f2;
    border-radius: 0 0 3px 3px;
}
@media (max-width: 414px), (max-height: 414px)
{
    .clear-filters-wrap
    {
        position: fixed;
        bottom: 0px;
        -webkit-transform: translate3d(0,0,0); /* Fix iOS jumping */
        z-index: 100050;
        background-color: #fff;
        width: 100%;
        left: 0px;
    }   
    
   .clear-filters-wrap button 
   {
        width: 100%;
    }

    .clear-filters-wrap .clear-filters 
    {
        margin-top: 7px;
    }
}

.clear-filters
{
    width: 100%;
    height: 30px;
} 
@media (max-width: 414px), (max-height: 414px)
{
    .clear-filters
    {
        width: auto;
    }   
}

/*** price filter ***/

.ui-rangeSlider
{
    height: 20px;
    padding-top: 40px;
}

.ui-rangeSlider,
.ui-rangeSlider-container,
.ui-rangeSlider-arrow
{
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

.ui-rangeSlider-withArrows .ui-rangeSlider-container
{
    margin: 0 15px;
}

.ui-rangeSlider-withArrows .ui-rangeSlider-container,
.ui-rangeSlider-noArrow .ui-rangeSlider-container,
.ui-rangeSlider-arrow
{
  -webkit-box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.5);
     -moz-box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.5);
          box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.5);
}

.ui-rangeSlider-disabled.ui-rangeSlider-withArrows .ui-rangeSlider-container,
.ui-rangeSlider-disabled.ui-rangeSlider-noArrow .ui-rangeSlider-container,
.ui-rangeSlider-disabled .ui-rangeSlider-arrow
{
  -webkit-box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.3);
     -moz-box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.3);
          box-shadow: inset 0px 4px 6px -2px RGBA(0,0,0,0.3);
}

.ui-rangeSlider-noArrow .ui-rangeSlider-container
{
    -moz-border-radius: 4px;
    border-radius: 4px;
    border-left: solid 1px #515862;
    border-right: solid 1px #515862;
}

.ui-rangeSlider-disabled.ui-rangeSlider-noArrow .ui-rangeSlider-container
{
    border-color: #8490a3;
}

.ui-rangeSlider-container,
.ui-rangeSlider-arrow
{
 	height: 20px;
    border-top: solid 1px #232a32;
    border-bottom: solid 1px #6a7179;
}

.ui-rangeSlider-disabled .ui-rangeSlider-container,
.ui-rangeSlider-disabled .ui-rangeSlider-arrow
{
    border-top-color: #49576b;
    border-bottom-color: #9ca7b3;
}

.ui-rangeSlider-container,
.ui-rangeSlider-arrow,
.ui-rangeSlider-label
{
    background: #67707F;
    background: -moz-linear-gradient(top, #67707F 0%, #888DA0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#67707F), color-stop(100%,#888DA0));
}

.ui-rangeSlider-disabled .ui-rangeSlider-container,
.ui-rangeSlider-disabled .ui-rangeSlider-arrow,
.ui-rangeSlider-disabled .ui-rangeSlider-label
{
    background: #ddd;
}

.ui-rangeSlider-arrow
{
    width: 14px;
    cursor: pointer;
}

.ui-rangeSlider-leftArrow
{
    border-radius: 4px 0 0 4px;
    border-left: solid 1px #515862;
}

.ui-rangeSlider-disabled .ui-rangeSlider-leftArrow
{
    border-left-color: #8792a2; 
}

.ui-rangeSlider-rightArrow
{
    border-radius: 0 4px 4px 0;
    border-right: solid 1px #515862;
}

.ui-rangeSlider-disabled .ui-rangeSlider-rightArrow
{
    border-right-color: #8792a2; 
}

.ui-rangeSlider-arrow-inner
{
    position: absolute;
    top: 50%;
    border: 10px solid transparent;
    width: 0;
    height: 0;
    margin-top: -10px;
}

.ui-rangeSlider-leftArrow .ui-rangeSlider-arrow-inner
{
    border-right: 10px solid #a4a8b7;
    left: 0;
    margin-left: -8px;
}

.ui-rangeSlider-leftArrow:hover .ui-rangeSlider-arrow-inner
{
    border-right: 10px solid #b3b6c2;
}

.ui-rangeSlider-disabled .ui-rangeSlider-leftArrow .ui-rangeSlider-arrow-inner,
.ui-rangeSlider-disabled .ui-rangeSlider-leftArrow:hover .ui-rangeSlider-arrow-inner
{
    border-right-color: #bbc0cf;
}

.ui-rangeSlider-rightArrow .ui-rangeSlider-arrow-inner
{
      border-left: 10px solid #a4a8b7;
      right: 0;
      margin-right: -8px;
}

.ui-rangeSlider-rightArrow:hover .ui-rangeSlider-arrow-inner
{
    border-left: 10px solid #b3b6c2;
}

.ui-rangeSlider-disabled .ui-rangeSlider-rightArrow .ui-rangeSlider-arrow-inner,
.ui-rangeSlider-disabled .ui-rangeSlider-rightArrow:hover .ui-rangeSlider-arrow-inner
{
    border-left-color: #bbc0cf;
}

.ui-rangeSlider-innerBar
{
      width: 110%;
      height: 100%;
      left: -10px;
      overflow: hidden;
}

.ui-rangeSlider-bar
{
    background: #68a1d6;
    height: 19px;
    margin: 1px 0;
    -moz-border-radius: 4px;
    border-radius: 4px;
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    -webkit-box-shadow: inset 0 2px 6px RGBA(0,0,0,0.5);
    -moz-box-shadow: inset 0 2px 6px RGBA(0,0,0,0.5);
    box-shadow: inset 0 2px 6px RGBA(0,0,0,0.5);
}

.ui-rangeSlider-disabled .ui-rangeSlider-bar
{
    background: #93aeca;
    -webkit-box-shadow: inset 0 2px 6px RGBA(0,0,0,0.3);
    -moz-box-shadow: inset 0 2px 6px RGBA(0,0,0,0.3);
    box-shadow: inset 0 2px 6px RGBA(0,0,0,0.3);
}

.ui-rangeSlider-handle
{
	width: 10px;
	height: 30px;
	background: transparent;
	cursor: col-resize;
}

.ui-rangeSlider-label
{
    padding: 5px 10px;
    bottom: 30px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background: #666;
    cursor: col-resize;
}

.ui-rangeSlider-label-value 
{
    color: #fff;
}

.ui-rangeSlider-disabled .ui-rangeSlider-label-value 
{
    color: #333;
}

.ui-rangeSlider-label-inner
{
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    z-index: 99;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    margin-left: -10px;
    border-top: 10px solid #666;
}

.ui-rangeSlider-disabled .ui-rangeSlider-label-inner
{
    border-top-color: #ddd; 
}

.ui-editRangeSlider-inputValue
{
    width: 2em;
    text-align: center;
    font-size: 15px;
}

.ui-rangeSlider .ui-ruler-scale
{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.ui-rangeSlider .ui-ruler-tick
{ 
    float: left; 
}

.ui-rangeSlider .ui-ruler-scale0 .ui-ruler-tick-inner
{
    color: white;
    margin-top: 1px;
    border-left: 1px solid white;
    height: 19px;
    padding-left: 2px;
    position: relative;
}

.ui-rangeSlider .ui-ruler-scale0 .ui-ruler-tick-label
{
    position: absolute;
    bottom: 6px;
}

.ui-rangeSlider .ui-ruler-scale1 .ui-ruler-tick-inner
{
    border-left: 1px solid white;
    margin-top: 25px;
    height: 5px;
}

/* hide the left label */
.singleSlider .ui-rangeSlider-leftLabel
{
    visibility: hidden; /* Needs to be there for script */
}

/* remove left handle */
.singleSlider .ui-rangeSlider-leftHandle
{
    display: none;
}

/* hide right handle */
.singleSlider .ui-rangeSlider-rightHandle
{
    visibility: hidden; /* Needs to be there for script */
}

/* remove bar */
.singleSlider .ui-rangeSlider-bar
{
    display: none;
}

/* shorten container*/
.singleSlider .ui-rangeSlider-container
{
    height: 5px;
}


/*** flight filter ***/

.inbound-departure-wrap
{
    margin-top: 10px;
}

.departure-filter-label 
{
    font-weight: bold;
}


/*** hotel filter ***/

.hotels-map 
{
    color: #fff;
}

.hotels-map:hover 
{
    color: #fff;
    text-decoration: none;
}


/*** add-on filter ***/

#categoryOptionsArea li ul 
{
    font-size: 1.1rem;
    padding-left: 20px;
    margin-bottom: 5px;
}


/*** landmarks filter ***/

#landmarkFilterZone2 div 
{
    clear: both;
}

#landmarkOptionsArea div 
{
    font-size: 1.2rem;
    margin-left: 17px;
}

@media (max-width:414px)
{
    
}
 
 
/* MINICART V1
************************************/

.mc-v1-wrap
{
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #dedede;
    padding: 3% 4% 2% 4%;
    margin-bottom: -1px;
}

.mini-cart ul 
{
    list-style:none;
}
    
.v1-minicart,
.ro-minicart
{
    border-bottom: solid 10px #f2f2f2; 
    margin-bottom: 15px; 
    padding-bottom: 15px;
}

.v1-minicart-wrap,
.ro-minicart-wrap
{
    width: 68%; 
    float: left;
}
    
.v1-minicart-wrap .expo-trigger,
.ro-minicart-wrap .expco-trigger
{
    text-decoration: none;
}

.v1-minicart-title-wrap,
.ro-minicart-title-wrap
{
    margin-top: 5px;
}

.v1-minicart-sub-accordian-title .expco-trigger,
.ro-minicart-sub-accordian-title .expco-trigger
{
    display: inline-block;
    float: left;
    margin-right: 4px;
    text-decoration: none;
}
    
.v1-minicart-sub-accordian-title .expco-trigger-text,
.ro-minicart-sub-accordian-title .expco-trigger-text
{
    color: #006bb7;
}
    
.v1-minicart-sub-accordian-title.is-expanded .expco-trigger,    
.ro-minicart-sub-accordian-title.is-expanded .expco-trigger
{
    margin-right: 7px;
}
    
.v1-minicart-content-wrap,
.ro-minicart-content-wrap
{
    padding: 10px 0 2% 3%;
}
    
.v1-minicart-fight-details,
.ro-minicart-flight-details
{
    margin: 5px 0px;
}
        
.minicart-accordian-title
{
    font-weight: bold; 
    border-bottom: dashed 1px #aaa; 
    text-decoration: none; 
    margin-bottom: 15px;
}
    
.cart-rewards-wrap
{
    border-top: 1px solid #dedede;
}
    
.pnl-mc-mod 
{
    border-top: solid 3px #f2f2f2;
    margin-top: 10px;
    padding-top: 10px;
}

.v1-minicart-wrap-mod .expco-content-wrap
{
    width: 68%;
    float: left;
}

.mini-cart-original-price 
{
    width: 28%;
    float: right;
}


@media (max-width: 580px) 
{  
    .v1-minicart-wrap,
    .ro-minicart-wrap
    {
        width: 96%; 
        float: none;
        margin: 20px auto;
    }
}   



/* MINICART V2
************************************/

.mc-v2-wrap
{
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #dedede;
    padding: 3% 4% 2% 4%;
    margin-bottom: -1px;
}

.mc-v2-wrap ul 
{
    list-style: none;
}

.mc-v2-wrap li 
{
    margin-bottom: 20px;
}

.mc-v2-wrap h2
{
    border-style: dashed;
    border-color: #aaa
}

.mc-v2-wrap h3 
{
    font-size: 1.6rem;
}

.mc-modify-booked,
.mc-modify-v2-wrap h3
{
    padding-bottom: 10px; 
}

.mc-v2-wrap i
{
    float: left;
    font-size: 2.2rem;
    margin-right: 15px;
    margin-top: 1px;
    width: 20px;
    text-align: center;
}

.mc-component-summary-v2
{
    width: 73%;
    display: inline-block;
}

.mc-component-title-v2 
{
    display: inline-block;
    font-weight: bold;
    max-width: 300px;
}

.mc-component-label-v2
{
    position: absolute;
}

.mc-component-info-rt-v2
{
    float: right;
    width: 250px;
}

.mc-detail-v2
{
    padding-left: 75px;
}

.mc-component-action-v2
{
    float: right;
    text-align: right;
    width: 150px;
}

.mc-component-action-v2 a
{
    margin-bottom: 5px;
    display: inline-block;
}

.mc-component-action-v2 .secondary-button 
{
    width: 100%;
}

.mc-v2-wrap .earn-rewards-info
{
   text-align: right;
   font-weight: bold;
}

.mini-cart-v1-price-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* flight section */

.mc-flight-leg-v2-wrap .remove-button,
.mc-flight-notes-v2 
{
    margin-top: 5px;
}

.mc-hotel-v2-wrap .mc-component-title-v2 img 
{
    margin-left: 10px;
}

.hotel-rating-wrap.mini-cart-ratings
{
    width:auto;
}

.mc-hotel-v2-wrap .mini-cart-ratings img
{
    margin-left:0px;
}


/* car section*/

.mc-car-v2-wrap i
{
    font-size: 1.8rem;
}


/* addons section */

.mc-v2-wrap .mc-addon-v2-wrap 
{
    margin-bottom: 5px;
}

.mc-addon-v2-wrap .mc-component-title-v2 
{
    max-width: 400px;
}

.cancel-modify-wrap
{
    border: solid #aaa;
    border-width: 1px 1px 0 1px;
    background-color: #f2f2f2;
    padding: 5px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

@media (max-width: 979px) 
{
    .mc-component-title-rt-v2,
    .mc-component-info-rt-v2
    {
        float: none;
        text-align: left;
        width: 100%;
    }
}

@media (max-width: 767px) 
{
    .mc-v2-wrap 
    {
        position: relative;
        padding-bottom: 50px;
    }
    
    .mc-v2-wrap i 
    {
        display: none;
    }
    
    .mc-component-action-v2 {
        float: none;
        text-align: left;
        margin-top: 5px;
        margin-bottom: 30px;
    }
    
    .mc-component-action-v2 a
    {
        margin-bottom: 10px;
    }
    
    .mc-component-summary-v2
    {
        width: auto;
    }

    .mc-v2-wrap .mc-addon-v2-wrap
    {
        margin-bottom: 10px;
    }
    
    .mc-addon-v2-wrap .mc-component-action-v2
    {
        margin-bottom: 0;
        margin-left: 0;
        position: absolute;
        bottom: 25px;
    }
    
    .mc-addon-v2-wrap .mc-component-summary-v2 
    {
        width: auto;
    }
}



/* MINICART V3
************************************/


.mc-v3-summary
{
    border: 1px solid #aaa;
    border-width: 0 1px;
    padding: 10px;
}

.mc-v3-wrap
{
    display: flex;
    align-items: center;
    background-color: #f9f9f9;
    padding: 10px 0;
}

.mc-v3-wrap div:first-child
{
    margin-left: -10px;
}

.mc-v3-wrap div:last-child
{
    margin-right: -10px;
}

.mc-v3-wrap > div
{
    text-align: center;
    font-size: 1.2rem;
    flex: 1;
}

.mc-v3-total > div
{
    display: inline-block;
    vertical-align: middle;
}

.mc-v3-total > div + div
{
    margin-left: 20px;
}

.mc-v3-total strong
{
    font-size: 1.6rem;
    display: block;
}

#HideMiniCart
{
    margin-bottom: 10px;
}


@media (max-width: 1024px)
{
    .mc-v3-wrap div:last-child
    {
        margin-right: 0;
        margin-left: 0;
        display: block;
    }

    .mc-v3-wrap div:first-child
    {
        margin-left: 0;
    }
}


/* ADVANCED SEARCH
************************************/
.restool-wrap > fieldset,
.vacation-type-wrap {
    margin-bottom: 25px;
}

.restool-wrap legend .expco-trigger,
.restool-wrap legend a,
.restool-wrap legend button
{
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: inherit;
}

.restool-wrap fieldset .vacation-experience-wrap label
{
    margin: 0 10px 5px 0;
    width: 225px;
    display: inline-block;
}
    
.restool-wrap fieldset select,
.restool-wrap fieldset input[type="text"]
{
    width: 100%;
}

.restool-wrap > fieldset > div > div,
.package-type,
.dest-region-wrap,
.rooms-wrap,
.hotel-name-wrap,
.hotel-brand-wrap,
.going-to-wrap,
.car-pickup-time-wrap,
.car-dropoff-time-wrap 
{
    margin-bottom: 15px;
    vertical-align: top;
}

#flexLink 
{
    margin-bottom: 20px;
    margin-top: -15px;
}

.infant-question 
{
    margin-top: 10px;
}

.package-type legend
{
    margin-bottom: 5px;
}

.package-type-wrap,
.vacation-type-wrap
{
    position: relative;
}

.package-type-wrap input,
.vacation-type-wrap input
{
    margin-top: 3px;
    margin-right: 250px;
    cursor: pointer; 
}

.package-type-wrap label,
.vacation-type-wrap label
{
    position: relative;
    margin-left: -247px;
    margin-bottom: 8px;
    cursor: pointer;
    display: inline-block;
    width: 205px;
    margin-right: 15px;
    vertical-align: top;
}

.package-type-wrap br,
.vacation-type-wrap br
{
    display: none;
}

.departing-from-wrap,
.going-to-wrap,
.depart-date-wrap,
.return-date-wrap,
.rooms-wrap,
.dest-region-wrap
{
    width: 46.8%;
    min-width: 275px;
    display: inline-block;
}

.going-to-wrap:after {
    clear: right;
    content: "";
    display: table;
}

.departing-from-wrap,
.depart-date-wrap,
.rooms-wrap
{
    margin-right: 25px;
}

.number-of-rooms-wrap,
.adults-wrap,
.children-wrap
{
    float: left;
    margin-right: 6%;
    width: 29.3%;
}

.multi-room[style="display: block;"],
.multi-room[style="display: block;"] + div,
.children-ages-label
{
    font-size: 1.2rem;
}

.multi-room .room-number-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;
}

.children-ages-wrap:after
{
    clear: both;
    display: table;
    content: "";
}

.children-ages-label
{
    font-weight: bold;
    margin-bottom: 5px;
    padding-top: 15px;
}

.max-pax
{
    display: none;
}

.promo-code-wrap
{
    width: 46.8%;
    min-width: 275px;
}

.vacationDetails h3 span
{
    font-size: 12px; 
}

.airline-wrap,
.fare-preference-wrap,
.hotel-name-wrap,
.hotel-brand-wrap,
.checkin-date-wrap,
.checkout-date-wrap,
.car-company-wrap,
.pickup-date-wrap,
.dropoff-date-wrap,
.pickup-location-wrap,
.dropoff-location-wrap,
.car-pickup-time-wrap,
.car-dropoff-time-wrap
{
    width: 27%;
    margin-right: 6%;
    display: inline-block;
}

.airline-wrap
{
    display: block;
}

.cabin-preference-wrap input + label,
.number-of-stops-wrap input + label,
.depart-time-wrap input + label,
.return-time-wrap input + label
{
    margin: 10px 10px 0px 2px;
    flex-grow: 1 ;
    padding-top: 2px !important;
}

.cabin-preference-wrap,
.number-of-stops-wrap,
.depart-time-wrap,
.return-time-wrap
{
    width: 46.8%;
    margin-right: 15px;
    display: inline-block;
}

.car-company-wrap,
.fare-preference-wrap,
.multistop-restool-wrap .dest-region-wrap,
.multistop-restool-wrap .departing-from-wrap,
.rooms-wrap,
.multistop-restool-wrap .return-date-wrap
{
    display: block;
}

.displayNone.departing-from-wrap 
{
    display: none;
}

.number-of-stops-wrap,
.children-wrap
{
    margin-right: 0;
}

.hotel-read-only .hotel-rating-wrap 
{
    width: auto;
}

.hotel-read-only .hotel-rating-wrap .hotel-ratings-text
{
    float:left;
    margin-right: 5px;
    text-decoration: underline;
}

.dropoff-date-wrap,
.car-dropoff-time-wrap 
{
    margin-right: 10%;
}

.search-container
{
    text-align: right;
}

.multistop-destination-wrap,
.multistop-depart
{
    padding-bottom: 20px;
    border-bottom: solid 10px #f2f2f2;
    margin-bottom: 25px;
    position: relative;
}

.multistop-destination-wrap:last-of-type 
{
    margin-bottom: 0;
}

.ms-hotel-options-wrap legend,
.ms-flight-options-wrap legend
{
    margin-bottom: 5px;
}

.remove-dest-wrap 
{
    position: absolute;
    right: 0;
    top: 0;
    padding: 3px 10px;
    border: 1px solid #dedede;
    border-radius: 3px;
}

.remove-dest-wrap input 
{
    margin: 0 5px -3px 0;    
}

.ms-going-to-wrap
{
    min-width: 275px;
    width: 30.5%;
    display: inline-block;
    margin-right: 3%;
}

.num-nights-wrap
{
    display: inline-block;
    vertical-align: top;
    width: 13%;
    min-width: 120px;
}

.add-destination-wrap 
{
    margin-bottom: 30px;
    margin-top: -15px;
}

.multistop-restool-wrap .search-container
{
    margin-top: 25px;    
}

.ms-flight-options-wrap,
.multistop-restool-wrap .departing-from-wrap 
{
    margin-top: 15px;
}

.multistop-restool-wrap .airline-wrap
{
    margin-bottom: 15px;
}

.multistop-restool-wrap .cabin-preference-wrap
{
    padding-bottom: 15px;
}

@media (max-width: 960px) 
{
    .cabin-preference-wrap,
    .number-of-stops-wrap,
    .depart-time-wrap,
    .return-time-wrap
    {
        width: 100%;
    }
}


@media (max-width: 640px) 
{
    .restool-wrap > fieldset > div > div,
    .dest-region-wrap,
    .promo-code-wrap,
    .departing-from-wrap,
    .ms-going-to-wrap,
    .num-nights-wrap,
    .hotel-name-wrap,
    .hotel-brand-wrap,
    .checkin-date-wrap,
    .checkout-date-wrap,
    .going-to-wrap,
    .airline-wrap,
    .number-of-stops-wrap,
    .car-pickup-time-wrap,
    .car-dropoff-time-wrap {
        width: 100%;
        margin-right: 0;
    }
 
    .multistop-restool-wrap .checkin-date-wrap,
    .ms-going-to-wrap,
    .airline-wrap
    {
        margin-bottom: 15px
    }
       
    .vacation-type-wrap input,
    .package-type-wrap input
    {
        position: absolute;
        left: 0;
    }  
     
    .vacation-type-wrap label,
    .package-type-wrap label
    {
        margin-left: 18px; 
        margin-right: 0;
        display: block;
    }
        
    .restool-wrap .button-large
    {
        width: 100%;
        float: none;
    }
    
    .remove-dest-wrap 
    {
        width: auto !important;
    }
}



/* AVAILABILITY
************************************/

.COMPONENT-SUMMARY-WRAP
{
    width: 70%;
    float: left;
    margin: 0;
}

.COMPONENT-OPTIONS-LIST
{
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
}

.COMPONENT-OPTIONS-LIST > li
{
    list-style-type: none;
    border: solid 1px #dedede;
    border-radius: 3px;
    padding: 2%;
    clear: both;
    margin-bottom: 20px;
}

.COMPONENT-TITLE-WRAP
{
    padding-bottom: 10px;
    position: relative;
}

.badge-adjustment
{
   display: flex;
   align-items: flex-start;
}

.hotel-title 
{
    display: inline-block;
    margin-right: 10px;
}

.COMPONENT-DETAILS-WRAP 
{                  
    border: dashed 1px #aaa; 
    border-left: 0; 
    border-right: 0;
    border-bottom: 0;
    padding: 20px 0 10px; 
}

.COMPONENT-DETAILS 
{
    float: left;
    width: 72%;
}

.COMPONENT-IMAGE-WRAP
{
    float: left; 
    width: 26%; 
    margin-right: 2%;
}
    
.COMPONENT-IMAGE-WRAP img
{
    width: 100%; 
    height: auto;
    max-width: 185px;
}

.NO-MATCH-WRAP 
{
    text-align: center;
    padding: 30px 2%;
    border: solid #000;
    border-width: 2px 0;
    font-size: 2rem;
    margin: 40px auto;
}

.NO-MATCH-WRAP p 
{
    padding-bottom: 20px;
}

@media (max-width: 1230px)
{
    .component-title-inner button.link
    {
        text-align: left;
    }
}

@media (max-width: 580px)
{
    .component-title-inner
    {
        display: flex;
        flex-direction: column;
    }
}

/*** price stamp ***/

.taxes-and-fees
{    
    font-size: 1.1rem;
}
    
.taxes-and-fees a
{    
    white-space: nowrap;
}

.SELECTED-COMPONENT
{
    display: none;
}

.free-cancel-banner.SELECTED-COMPONENT,
.checkout-step2 .SELECTED-COMPONENT,
.checkout-step2 .SELECTED-COMPONENT
{
    display: block;
    width: 100%;
    padding: 10px;
    margin: 0px 0px 20px;
    text-transform:uppercase;
}

.mobile-only-banners .SELECTED-COMPONENT,
.mobile-only-banners .PROMO-APPLIED-WRAP
{
    display: none !important;
}

.airContainerSelected .SELECTED-COMPONENT,
.componentContainerSelected .SELECTED-COMPONENT     
{
    display: block;
}

.COMPONENT-PRICE
{                    
    font-size: 3rem;
    font-weight: bold;
}

.strikethru-price-wrap
{
    vertical-align: super;
    margin-right: 3px;
    font-size: 1.6rem;
}

.component-original-price
{
    text-decoration: line-through;
}

.original-price-desc-trigger .fa-question-circle-o
{
    cursor: pointer;
}

.original-price-desc-modal {
    min-width: 300px;
    max-width: 500px;
    margin-top:  25px;
}

.footnote {
    font-size: 1.3rem;
    font-style: italic;
    color: #666;
}

.SELECTED-COMPONENT,
.PRICE-SELECT-WRAP
{
    width: 28%;
    float: right; 
    margin: 0 0 0 2%;
    padding: 2%;
    text-align: center;
}

.PRICE-SELECT-WRAP
{
    border-radius: 3px;
    background: #f2f2f2;
    border: solid 1px #dedede;
    position: relative;
}

.PROMO-APPLIED-WRAP
{
    padding: 4%;
    background-color: #ebffe2;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    font-weight: bold;
}

.PROMO-APPLIED-WRAP + p,
.PROMO-APPLIED-WRAP + div 
{
    margin-top: 15%;
}

.SELECTED-COMPONENT
{
    margin-bottom: -5px;
    background-color: #44812d;
    color: #fff;
    font-weight: bold;
    z-index: 1;
    position: relative;
}

.PRICE-SELECT-WRAP .button
{
    width: 96%; 
    margin: 10px 0 0;
    text-transform: uppercase;
}

.PRICE-SELECT-WRAP .remove-button
{
    margin: 0 auto 10px;
    display: block;
    text-transform: uppercase; 
    text-decoration: none;
    padding: 5px 0;
    font-size: 1.2rem;
    background-color: #ddd;
    color: #333;
    border-color: #aaa;
}

.package-label
{
    clear: both;
    display: block;
    font-size: 1.5rem;
}


/* UpLift style overrides */

.up-pricing-wrap,
.up-ck-pricing-wrap {
    padding-bottom: 10px !important;
}

.up-pricing-wrap i.fa,
.up-pricing-wrap button.link,
.up-ck-pricing-wrap i.fa,
.up-ck-pricing-wrap button.link {
    color: #304cb2;
}

.up-pricing-wrap .up-orfrom {
    font-weight: normal;
}

.up-zerodown {
    font-weight:700;
    color:#333;
    padding-top:5px;
}

.up-ck-pricing-wrap button.link {
    font-weight: bold;
}

/***** sorting and pagination *****/

.results-controls-wrap 
{
    margin-bottom: 5px;
}

.sort-results-wrap
{
    float: right;
}

.pagination-wrap 
{
    float: left;
    margin-bottom: 5px;
}

.pagination-trigger 
{
    font-size: 2.3rem;
    vertical-align: middle;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    height: auto !important;
    padding: 0 !important;
}

.pagination-trigger:disabled
{
    background: none;   
}

.current-page-wrap 
{
    vertical-align: middle;
    clear: both;
    display: block;
    float: left;
    margin-top:2px;
    margin-right: 8px;
}

.pagination-dropdown
{
    float:left;
}

.PROMO-MESSAGE 
{
    text-align: center;
    padding: 20px;
    background-color: #ebffe2;
    border-radius: 3px;
    margin: 0 auto 20px;
    font-weight: bold;
}


@media (max-width: 580px) 
{
    .pagination-wrap
    {
        float: none;
    }
    
    .current-page-wrap
    {
        float:left;
    }
    
    .pagination-dropdown
    {
        float:right;
    }

    .sort-results-wrap
    {
        margin-bottom: 10px;
    }

    .COMPONENT-SUMMARY-WRAP,
    .COMPONENT-DETAILS-WRAP,
    .COMPONENT-IMAGE-WRAP,
    .COMPONENT-DETAILS,
    .PRICE-SELECT-WRAP,
    .SELECTED-COMPONENT 
    {
        width: 96%;
        float: none;
        margin: 0 auto;
    }
    
    .COMPONENT-TITLE-WRAP
    {
        text-align: center;
    }    
    
    .hotel-title
    {
        width: 100%;
    }
    
    .COMPONENT-DETAILS-WRAP
    {
        margin: 2%;
    }
  
    .COMPONENT-IMAGE-WRAP
    { 
        margin: 0 auto 10px; 
        text-align: center;
    }
        
    .COMPONENT-IMAGE-WRAP img
    {
        width: auto; 
        height: auto;
        margin: 0 auto;
    }
        
    .COMPONENT-DETAILS
    {
        margin: 0 auto;
        text-align: center;
    }
}

  
/* FLIGHT AVAILABILITY
************************************/

.PRICE-INCLUSION-WRAP,
.priceInfo2
{                
    font-size: 1.1rem;
    margin-top: 5px;
    margin-bottom: 5px;

}

.seats-left,
.preview-seats,
.rr-points
{
    font-size: 1.2rem;
}

.seats-left
{
    margin: 15px 0 0;
}

.rr-points
{
    margin: 10px 0;
}

.flight-wrap
{
    padding: 0 !important;
}

.flight-summary-wrap {
    padding: 12px 0 0 15px;
}

.flight-wrap .rr-points i 
{
    color: #276410;
}

.rr-points br
{
    display: none;
}

.seats-left
{
    color: #d90707;
}

.air-select-button
{
    width: 100%; 
    margin: 10px auto; 
    padding: 10px 0; 
    height: 40px;
}

.carrier-wrap a,
.carrier-wrap span
{
    vertical-align: top; 
    padding-top: 10px;
}

.flight-title
{
    margin-bottom: 10px;
}

.flight-carrier-details 
{
    text-align: center;
}

.flight-column-wrap 
{
    width: 100%;
    margin: 0 auto;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    padding: 0px 0 10px;
    display: flex;
    justify-content: space-around;
    position: relative;
    text-align: center;
    align-items: baseline;
}

.departure-column strong:first-child,
.arrival-column strong:first-child
{
    font-size: 2.5rem;
    display: block;
}

.flight-stop-column,
.flight-stops {
    text-align: center;
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
}

.market-name {
    width: 110px;
    display: block;
    font-size: 1.4rem !important;
}

.flight-stops
{
    position: relative;
}

.flight-stops::before,
.flight-stops::after
{
    content: "";
    width: 20px;
    border-bottom: #dedede 4px solid;
    display: inline-block;
    position: relative;
    bottom: 2px;
}

.arrow-head
{
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 9px solid #dedede;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-color: #fff;
    z-index: 2;
}

.checkout-step1 .arrow-head
{
    bottom: -3px;
}

.num-stops {
    vertical-align: middle;
    padding: 0 3px;
    display: inline-block;
    font-weight: bold;
}

.flight-wrap .PRICE-SELECT-WRAP
{
    border-radius: 0px;
    border-width: 0px 0px 1px 1px;
}

.fareTypeVisibility, 
.charter-operated,
.fare-preference
{
    position: absolute; 
    top: 0; 
    right: 0; 
    font-size: 1.1rem;
}
    
.charter-operated
{
    color: #d90707;
}

.operated-by-wrap
{
    margin: 2%;
}

.air-operated-by
{
    font-size: 1.2rem; 
    text-align: center;
    margin: 2% 0 0;
    display: block;
    width: 100%;
    clear: both;
}

.expanded-air-operated-by
{
    font-size: 1.2rem; 
}

.arrival-disclaimer-t,
.flight-options-list .arrival-disclaimer-t
{
    font-weight: bold; 
    color: #d90707; 
    position: absolute; 
    right: 0; 
    font-size: 1.3rem;
}
    
.arrival-disclaimer-t i,
.mc-arrival-warning-v2 i
{
    color: #d90707;
}

.arrival-disclaimer
{
    font-weight: normal; 
    color: #d90707; 
    font-size: 1.1rem;
}

.mc-arrival-warning-v2 
{
    font-weight: bold; 
    font-size: 1.3rem;
    color: #d90707;
}

.mc-arrival-warning-v2 i 
{
    font-size: 1.3rem;
    margin: 4px 0 0;
    width: auto;
}

.rewards-wrap
{
    border: solid 0px #dedede; 
    border-left: 0; 
    border-right: 0;
    margin-top:10px;
}

.rewards-hotel-wrap
{
    border-bottom: solid 0px #dedede; 
}

.rewards-hotel-wrap .reward-badge-wrap {
    margin-top: 5px;
}

.rewards-hotel-wrap + button.link {
    margin-top: 10px;
}
 
     
/*** expanded flight details */
  
.air-detail-expand,
.air-detail-collapse
{
    padding: 10px 0;
    border: solid 1px #f2f2f2;
    display: block;
    width: 100%;
    border-left: 0; border-right: 0;
    text-align: center;
    margin-top: 20px;
    text-decoration: none;
}

.air-detail-expand:hover,
.air-detail-collapse:hover
{
    background-color: #fcfcfc; 
    border-left: solid 1px #f2f2f2; 
    border-right: solid 1px #f2f2f2;
}

.air-detail-expand i, 
.air-detail-collapse i
{
    color: #2f99d4; 
    text-decoration: none;
}

.expanded-carrier-wrap
{
    width: 100%; 
    margin: 20px 0 0; 
    border-bottom: solid 1px #f2f2f2;
    list-style: none;
}
    
.expanded-carrier-detail
{
    width: 100%; 
    text-align: left; 
    margin: 0;
    border-bottom: solid 1px #f2f2f2;
    padding: 0.75% 0; 
    font-size: 1.1rem;
}

.expanded-carrier-wrap a,
.expanded-carrier-wrap span
{
    vertical-align: top; 
    padding-top: 10px;
}

.expanded-travel-time
{
    display: block; 
    margin-bottom: 2%;
}

.expanded-fair-type
{
    position: absolute; 
    top: 0;
    right: 2%; 
    margin-bottom: 2%;
    font-size: 1.1rem;
}

.air-expanded-column
{
    width: 100%;  
    margin: 2% 0;
    text-align: left;
}

.flight-leg-change-disclaimer
{
    width: 100%;
    margin: 2% 0; 
    text-align: center; 
    font-style: italic;
    color: #d90707;
}

.flight-leg-change-disclaimer strong
{
    color: #d90707;
}

.flight-leg-wrap
{
    width: 100%; 
    margin: 2% auto;
}

.flight-leg-arrival,
.flight-leg-depart
{
    width: 46%; 
    float: left;
}

.flight-leg-depart
{
    margin-right: 2%;
    padding-top:5px;
}
    
.flight-leg-arrival
{
    margin-left: 1%;
    padding-top: 5px;
}

.flight-leg-depart span, 
.flight-leg-arrival span 
{
    display: inline-block;
    width: 100%;
    padding-top:0;
}

.flight-leg-carrier
{
    width: 18%; 
    float: left; 
    margin-right: 1%;
}

.flight-leg-carrier img
{
    display: block;
    padding-bottom: 10px;
}

.flight-leg-info-wrap
{
    width: 80%; 
    float: left; 
    margin-left: 1%;
}

.flight-leg-info-wrap th,
.flight-leg-info-wrap caption
{
    text-align: left;
    font-weight:bold;
}

.flight-leg-layover
{
    display: block; 
    margin-bottom: 5px; 
    padding: 5px 0; 
    border: solid 1px #f2f2f2; 
    border-left: 0; 
    border-right: 0;
}

.hidden-stop 
{
    margin-top: 2%;
}

.expanded-detail-col-wrap
{
    margin: 2% 0;
}

.branded-air-table
{
    float: left;
    width: 100%;
    margin-top: 5px;
}

.component-option-collapse-wrap
{
    text-align: center;
}

.component-options-wrap .component-option-collapse-wrap button 
{
    margin-bottom: 10px;
}

.selectFlightHeader
{
    padding: 10px 0;
}

.fare-list-table .air-selected
{
    background-color: #F2F2F2;
    border-bottom: none;
}

.fare-list-table,
.fare-list-table thead,
.fare-list-table tbody,
.fare-list-table th,
.fare-list-table tr,
.fare-list-table td
{
    display: block; 
}

.fare-list-table tr
{
    display: -ms-flexbox;
    display: flex;
    height: 100%;
}

.fare-list-table th,
.fare-list-table td
{
    display: inline-block; 
    width: 30%; 
    min-height: 100%; 
    align-items: stretch; 
    align-content: stretch;
    padding: 10px;
    flex: 1;
    -ms-flex: 1;
}

.fare-list-table .flights-number-heading,
.fare-list-table .flights-number-item
{
    width: 20%;
}

.fare-list-table tr
{
    border-bottom: solid 1px #dedede;
}

.fare-list-table tr:last-child
{
    border-bottom: none;
}

.fare-list-table .airSelectBtn
{
    width: 130px;
    margin-top: 5px;
}

.fare-list-table th.price-per-stay-air-heading, 
.fare-list-table td.price-per-stay-air-item
{
    text-align: right;
}

.fare-list-table .air-select-button
{
    margin: 5px 0;
    width: 75%;
}

.fare-list-table .fare-cabin-item button.link,
.fare-list-table .fare-type-item button.link
{
    margin-left: -3px;
}
.test 
{
    word-wrap: none;
}

@media (max-width: 767px)
{
    .room-promo + .room-reward-points .no-logo-reward-badge-wrap {
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

@media (max-width: 600px) {
    .component-option-collapse-wrap
    {
        border-bottom: none;
    }
    
    .fare-list-table thead {
	    display: none;
    }
    
    .fare-list-table tr,
    .fare-list-table th,
    .fare-list-table td,
    .fare-list-table .airSelectBtn
    {
	    display: block;
    }
    
    .fare-list-table th, 
    .fare-list-table td
    {
        width: 100%;
        padding: 0px;
    }
    
    .fare-list-table tr
    {
        border-bottom: 0px;
    }
    
    .fare-list-table td {
	    border-top: none;
    }
    
    .fare-list-table .air-selected 
    {
        padding: 10px 0 10px 10px;
    }
    
    .fare-list-table .air-selected .fare-cabin-item
    {
        margin-top: 0px;
    }

    .fare-list-table th.price-per-stay-air-heading, 
    .fare-list-table td.price-per-stay-air-item
    {
        text-align: left;
    }
    
    .fare-list-table td.price-per-stay-air-item
    {
        padding-bottom: 20px;
    }
    
    .fare-list-table td.price-per-stay-air-item:last-child
    {
        padding-bottom: 0px;   
    }
    
    .price-per-stay-air-item .is-hidden
    {
        display: inline;
    }
    
    .fare-list-table .air-select-button
    {
        width: 130px;
        display: block;
        margin: 0;
    }
}    
    
.flight-title
{
    display:none;
}

@media (max-width:414px)
{
    
    /*New Mobile Flight Avail*/
    
    .flight-wrap .PROMO-APPLIED-WRAP,
    .flight-wrap .PRICE-INCLUSION-WRAP,
    .preview-seats,
    .avail-secondary-price
    {
        display:none;
    }
    
    .flight-summary-wrap .COMPONENT-TITLE-WRAP
    {
        padding-bottom:0px;
    }
    
    .mobile-only-banners .PROMO-APPLIED-WRAP
    {
        display: block !important;
        position: relative;
        padding: 5px;
        text-align: center;
    }
    
    .arrival-disclaimer-t 
    {
        text-align: center;
        margin-bottom: 10px;
    }
    
    .PROMO-APPLIED-WRAP + p, 
    .PROMO-APPLIED-WRAP + div
    {
        margin-top:0;
    }

    .flight-wrap .PRICE-SELECT-WRAP 
    {
        padding-top:0px;
        border-width: 0px;
        background-color: #fff;
        width: 100%;
        margin-bottom: 0px;
        position:relative;
    }

    .flight-summary-wrap
    {
        width:100%;
        padding: 12px 6px 0px;
    } 
    
    .flight-column-wrap
    {
        border-top:none;
        padding-bottom:0px;
    }
    
    .component-options-wrap .component-option-collapse-wrap button
    {
        margin-bottom:0px;
    }
    
    .fare-list-table .air-select-button 
    {
        width: 97%;
    }

    .price-difference
    {
        position: absolute;
        right: 12px;
        top: 10px;
        text-align: right;
        font-size: 1.5rem;
    }
   
    .fare-list-table tr 
    {
        position: relative;
    }
    
    .price-per-stay-air-item 
    {
        margin-top: 7px;
    }

    .price-difference p 
    {
        float: right;
    }

    .flights-advisory-item 
    {
        max-width: 75%;
    }
    
    .flight-wrap .rewards-wrap 
    {
        margin: 8px 0px 0px;
    }
    
    .flight-wrap .flights-rewards-item .rr-points 
    {
        margin: 0px 0px;
    }
    
    .up_from_price_pill 
    {
        display: block !important;
        margin-bottom:10px;
    }
    }
   

/*** air matrix table ***/

.clear-matrix-filter
{
    margin-bottom: 2%; 
    text-align: right;
}

.air-matrix-wrap
{
    margin-bottom: 2%;
    overflow: hidden;
    position: relative;
    width: auto;
}

.air-matrix-container
{
    width: auto;
    overflow: hidden;
}

.air-matrix-wrap caption
{
    text-align: left; 
    padding: 0;
    font-style: italic;
    font-size: 120%;
    font-weight: bold;
}

.air-matrix-table, 
.air-matrix-table th,
.air-matrix-table tr, 
.air-matrix-table td
{
    padding:5px; 
    border: solid 2px #fff;
    text-align:center;
    vertical-align:middle;
}

.air-matrix-table th
{
    min-width: 100px;
}

.air-matrix-table th a
{
    display: block;
}

.air-matrix-table
{
    text-align: center; 
    border-collapse: collapse; 
    background: #f9f9f9; 
    width: 100%;
    border-left: 0;
    border-right: 0;
}

.matrixHover 
{
    background-color: #EFEFEF !important;
}

table#airMatrixTable tr td.matrixSelected, 
table#airMatrixTable tr th.matrixSelected  
{
    background-color: #ddebef;   
}

.airMatrixColumnHeader 
{
    overflow: hidden;
    width: 110px;
}

.airMatrixFirstHeaderCell 
{
    overflow: hidden;
    width: 110px;
}

#clearMatrixFiltersBtnOn, 
#clearMatrixFiltersBtnOff 
{
    margin: 8px 0px 10px 15px;
    overflow: hidden;
    font-size: 110%;
    font-weight: bold;
}

#scrollAirMatrixRight,
#scrollAirMatrixLeft
{
    height: 100%; 
    min-height: 100%; 
    position: absolute; 
    top: 0; 
    bottom: 0;
    line-height: 166px;
    vertical-align: middle;
    text-decoration:none;
    margin:0;
    display:block;
    color: #fff !important;
    font-weight: bold;
    font-size: 120%;
    padding: 0px 5px;
    text-decoration:none !important;
    background: none;
    background-color: #127cb7;
    border: 1px solid #006bb7;
    border-radius: 3px;
}
    
#scrollAirMatrixRight
{
    right: 0; 
}

#scrollAirMatrixLeft
{
    left: 0; 
}

.flight-bias-message 
{
    margin: 1% 0;
}

/* Switch between checkbox filters and flight matrix */
@media (max-width: 414px), (max-height: 414px)
{
    .air-matrix-wrap, .clear-matrix-filter
    {
        display:none;
    }
    .stops-filter-wrap, .carrier-filter-wrap
    {
        display:block !important;
    }
    #clearGutterFiltersBtnZone 
    {
        display:none;
    }
    #clearAllFiltersBtnZone
    {
        display:block !important;
    }
}

/*** package overrides ***/

.pkg-expanded-detail-col-wrap
{
    border-bottom: solid 1px #dedede; 
    margin-bottom: 2%;
}

.pkg-expanded-detail-col-wrap:last-child
{
    border: 0;
}
    
.air-summary-wrap .pkg-air-detail:first-child
{
    padding-bottom: 2%;
    margin-bottom: 2%;
}

.pkg-expanded-fair-type
{
    position: absolute; 
    top: 2%;
    right: 2%; 
    margin-bottom: 2%;
    font-size: 1.1rem;
}

.pkg-flight-title-wrap
{
    position: relative; 
    padding-bottom: 8px;
}


@media (max-width: 1000px) 
{   
    .flight-leg-carrier img
    {
        width: 100%; 
        height: auto;
    }  
}

@media (max-width: 860px) 
{
    .fareTypeVisibility, 
    .charter-operated,
    .fare-preference,
    .arrival-disclaimer-t,
    .flight-options-list .arrival-disclaimer-t,
    .car-icons
    {
        position: static;
    }
    
    .flight-leg-arrival,
    .flight-leg-depart
    {
        width: 49%; 
        float: left;
    }

    .flight-leg-depart
    {
        margin-right: 1%;
    }
    
    .flight-leg-arrival
    {
        margin-left: 1%;
    }

    .flight-leg-carrier img
    {
        width: 100%; 
        height: auto;
    }
    
    .flight-leg-info-wrap
    {
        width: 80%; 
        float: left;
        margin-left: 1%;
    }
}

@media (max-width: 760px) 
{
    
    .flight-leg-arrival,
    .flight-leg-depart
    {
        width: 100%; 
        float: none;
    }

    .flight-leg-depart
    {
        margin-right: 0; 
        margin-top: 2%;
    }

    .flight-leg-arrival
    {
        margin-left: 0; 
        margin-top: 2%;
    }

    .flight-leg-carrier img
    {
        width: 100%; 
        height: auto;
        max-width: 100px;
    }

    .flight-leg-carrier
    {
        width: 25%; 
        float: left; 
        margin-right: 1%;
    }

    .flight-leg-info-wrap
    {
        width: 67%; 
        float: left; 
        margin-left: 1%;
    }
    
}

@media (max-width: 580px) 
{
        
    .air-detail-expand, 
    .air-detail-collapse
    {
        padding: 1.5%;
        border: solid 1px #dedede;
        border-radius: 3px;
        margin: 0 auto 4%;
    }
        
    .air-expanded-details
    {
        margin-bottom: 4%;
    }
    
    .fareTypeVisibility
    {
        display: block; 
        width: 100%; 
        text-align: center;
    }
}


/*** limited flights alert   */

.limited-flights-disclaimer
{
    text-align: center;
    padding: 0px 0px 20px 0px;
}

.limited-flights-disclaimer input
{
    margin-top: 10px;
}

/* HOTEL AVAILABILITY
************************************/

.destination-messaging-wrap
{
    background-color: #fcfcfc;
    border: 1px solid #f2f2f2;
    border-radius: 3px;
    text-align: center;
    padding: 10px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.4rem;
}

.select-hotel-wrap
{
    border-top: 0px solid #dedede;
}

.room-options-wrap
{
    float: left;
    width: 100%;
    margin-top: 10px;
}

.hotel-wrap .trip-advisor-wrap,
.see-all-promos-wrap
{
    padding-bottom: 10px;
}

.distance-from-list li 
{
    margin-left: 20px;
    list-style-type: disc;
    font-size: 1.2rem;
}

.hotel-sales-message span
{
    color: #d90707;
    font-weight: bold;
}

.hotel-wrap .added-values-list 
{
    padding-top: 10px;
    list-style:none;
}

.hotel-wrap .added-values-list li 
{
    padding-bottom: 5px;
}

.see-all-promos-wrap
{
    font-size: 1.2rem;
    font-weight: bold;
}

.hotel-detail-label 
{
    font-weight: bold;
}

.preferred-hotel, span.preferred-hotel
{
    background-color: #666;
    text-align: center;
    padding: 10px 5%;
    font-size: 1.3rem;
    display: block;
    color: white;
    text-decoration: none;
    margin-top: -7px;
    max-width: 185px;
    border-bottom: none;
}   

.preferred-hotel:hover, span.preferred-hotel
{
    color: #fff;
}

.room-option-collapse-wrap a,
.feature-option-collapse a
{
    background-color: #f2f2f2;
    padding: 9px;
    border: 1px solid #dedede;
    border-bottom: 0;
    border-radius: 3px 3px 0 0;
}

.upsell-room-type-table
{
    width:100%;
}

.room-type-table, 
.upsell-room-type-table
{
    text-align: left;
}

.room-type-table th, 
.upsell-room-type-table th 
{
    font-weight: bold; 
}

.room-type-table td, 
.upsell-room-type-table td
{
    padding-bottom: 10px;
}

.upsell-options-table .button

{
    width: 100%;
}

.room-type-table .button,
.upsell-room-type-table .button
{
    width: 150px;
}

.room-type-table tr:last-child td, 
.upsell-room-type-table tr:last-child td
{
    padding-bottom: 0;
}

.room-type-table th:first-child,
.room-type-table td:first-child, 
.upsell-room-type-table th:first-child, 
.upsell-room-type-table td:first-child

{
    padding-left: 0;
}

.room-type-heading,
.room-rewards-heading 
{
    width: 30%;
}

.room-reward-points
{
    padding-right: 10px;
}

.room-promo-heading, 
.room-promo
{
    padding-left: 30px;
    padding-right: 30px;
}

.room-promo ul 
{
    list-style: none;
}

.room-promo-heading 
{
    width: 55%;
}  

.room-price-heading,
.upsell-price-heading
{
    width: 10%;
    min-width: 120px;
}

.room-price-heading,
.price-per-stay
{
    text-align: right;
}

.show-all-rooms-button
{
    width:100%;
}

.show-all-rooms-button i 
{
    margin-right: 3px;
}

.room-price-cash {

}

.room-price-loyalty {

}

.feature-option-collapse,                 
.room-option-collapse-wrap
{  
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: solid 1px #dedede;
    font-size: 1.8rem;
    clear: both;
}

.umsg-a-wrap + .COMPONENT-DETAILS-WRAP {
    border: 0;
    padding-top: 0;
}

.umsg-a-wrap {
    border-top: dashed 1px #aaa;
    padding-top: 10px;
}

.umsg-a,
.umsg-b {
    display: block;
    width: 100%;
    margin: 10px auto;
    text-align: left;
    font-weight: bold;
    font-size: 16px;
    font-style: italic;
}

.umsg-a {
    background-color: #666;
    color: #fff;
    padding: 5px 10px;
}

.umsg-b {
    color: #d90707;
    margin: 15px auto 0;
    text-align: center;
}

@media (max-width: 767px)
{    
    .room-type-table th, 
    .upsell-room-type-table th
    {
        display: none;
    }
    
    .room-type-table td,
    .upsell-room-type-table td
    {
        display: block;
        padding-left: 0;
        padding-bottom: 0;
    }
    
    .upsell-room-type-table .room-promo
    {
        padding:0px;
    }
    
    .room-type-table td:last-child,
    .upsell-room-type-table td:last-child 
    {
        padding-bottom: 20px;
    }
    
    .upsell-room-type-table td
    {
        border-bottom: 0px !important; 
        width:100%;
    }
    
    .roomsList a
    {
        font-size: 1.6rem;
        margin-bottom: 3px;
        margin-top: 30px;
        padding-bottom: 0;
        display: block;
        font-weight: bold;
    }
    
    .hotel-rating 
    {
        display: block;
    }
    
    .roomsList #rtn0_0 a
    {
        margin-top: 10px;
    }
    
    .price-per-stay 
    {
        text-align: left;
    }
    
    .price-per-stay .is-hidden
    {
        display: inline;
    }
}

@media (max-width: 580px)
{
    .preferred-hotel,
    span.preferred-hotel {
        margin-left: auto;
        margin-right: auto;
    }
}


@media(max-width:414px), (max-height: 414px) and (max-width: 896px)
{
    /* New Mobile Hotel avail */
    .hotel-avail-heading h1 
    {
        float: left;
        max-width: 81%;
    }
    
    .hotel-avail-map-link-wrap 
    {
        margin: 3px 0px 0px;
        width: 17%;
        float: right;
        text-align: right;
    }
    
    .hotel-avail-map-link-wrap i
    {
        padding-right:3px;
    }   
    
    .room-type-table 
    {
        margin: 0 auto;
        width: 98%;
    }
    
    .room-type-table tr
    {
        position: relative;
        display: block;
        margin-bottom: 10px;
    }
    
    .price-difference .is-hidden
    {
        display:none;
    }
    
    .room-type-table .price-difference 
    {
        top: 0;
        right:0;
    }
    
    .room-type 
    {
        max-width: 80%;
    }
}


/* CAR AVAILABILITY
************************************/

.car-wrap
{
    padding:0px !important;
}

.car-summary-wrap 
{
    padding: 8px;
}

.car-rental-notice 
{
    padding: 15px;
    margin: 10px 0 25px;
    background-color: #fcfcfc;
    border: 1px solid #f2f2f2;
    border-radius: 3px;
}

.car-time-instructions 
{
    font-weight: bold;
    margin-bottom: 5px;
}

.car-pickup-wrap, 
.car-dropoff-wrap
{
    float: left;
}

.car-dropoff-label 
{
    margin-left: 15px;
}

.car-summary-wrap .car-title
{
    width: 85%;
}

.car-icons
{
    position: absolute; 
    top: 3px; 
    right: 0;
}

.pickup-dropoff-wrap
{
    margin: 2% auto;
}

.car-pickup strong, 
.car-dropoff strong
{
    text-transform: uppercase; 
}

.car-pickup,
.car-dropoff
{
    font-size: 1.3rem; 
    width: 49%; 
    float: left; 
}

.car-pickup
{
    margin-right: 2%;
}

.car-deposit
{
    font-size: 1.1rem; 
    color: #D90707;
}   
    
    
@media (max-width: 580px)
{       
    .pickup-dropoff-wrap 
    {
        margin: 4% auto;
    }
}
    
@media (max-width: 1100px)
{    
    .car-summary-wrap .car-title
    {
        width: 100%;
    }
    
    .car-icons
    {
        position: static;
    }
        
    .car-title-wrap strong,
    .feature-title-wrap strong
    {
        margin: 5px auto; 
        display: block;
    }
}

@media (max-width:414px)
{
    
    /*New Mobile Car Avail*/ 
    
    .car-time-select-wrap 
    {
        display: flex;
        justify-content: space-between;
    }

    .car-pickup-wrap select, 
    .car-dropoff-wrap select 
    {
        width: 100%;
    }

    .car-pickup-wrap, 
    .car-dropoff-wrap 
    {
        width: 48%;
    }   
    
    .car-pickup,
    .car-dropoff
    {
        width:100%;
    }
    
    .car-dropoff-label
    {
        margin-left:0px;
    }
    
    .car-wrap .PROMO-APPLIED-WRAP,
    .car-wrap .PRICE-INCLUSION-WRAP
    {
        display:none !important;
    }
    
    .car-summary-wrap .COMPONENT-TITLE-WRAP
    {
        padding-bottom:0px;
    }
    
    .car-wrap .PRICE-SELECT-WRAP 
    {
        padding-top:0px;
        border-width: 0px;
        background-color: #fff;
        width: 100%;
        margin-bottom: 0px;
        position:relative;
    }
    
    .car-wrap .COMPONENT-PRICE 
    {
        display: block;
        line-height: .8;
        margin-top: 15px;
    }
    
    .car-wrap .cha--reward-points-price .COMPONENT-PRICE 
    {
        display: inline;
    }

    .car-wrap .COMPONENT-DETAILS-WRAP 
    {
        margin: 0 auto;
        border: 0px;
        padding: 0px;
    }
    
    .car-wrap .rewards-wrap
    {
        border: 0px;
    }

    .car-summary-wrap
    {
        width:100%;
        padding: 12px 6px 0px;
    } 
   
}
/***** CAR MATRIX AVAILABILITY *****/  

.more-cars-wrap 
{
    margin-bottom: 10px;
    text-align: right;
}

.car-matrix-table
{
    border-collapse: separate;
    border-bottom: 1px solid #dedede;
    border-right: 1px solid #dedede;
}

.car-matrix-table td,
.car-matrix-table th 
{
    border-top: 1px solid #dedede;
    border-left: 1px solid #dedede;
    padding-bottom: 5px;
    font-size: 1.2rem;
}

.cm-component-wrap 
{
    padding: 5px 3px 0;
}

.car-matrix-table td.columnHover
{
	background: #fcfcfc;
}

.car-matrix-table tr.rowHover:hover
{
    background-color: #fcfcfc;
}

.car-matrix-table tbody tr td:hover
{
    background-color: #f2f2f2;
}

.car-matrix-table tbody tr td.carDescription:hover,
.car-matrix-table tr.rowHover:hover td.carDescription
{
    background-color: #fcfcfc;
}

.cm-details-wrap 
{
    position: relative;
}

.cm-details-wrap > div 
{
    position: absolute;
    right: 5px;
    margin-top: 4px;
    text-align: right;
}

.cm-rental-detail
{
    text-align: center;
    padding-top: 5px;
}

.car-price-cell 
{
    width: 19%;
    text-align: center;
}

.car-description-wrap 
{
    width: 24%;
    vertical-align: middle;
    padding: 5px;
}

.cm-price-per-day 
{
    font-size: 1.2rem;
}

.cm-total-price span 
{
    font-weight: bold;
    font-size: 2rem;
}

.cm-current-selection 
{
    display: none;
    background-color: #44812d;
    color: #fff;
    font-weight: bold;
    padding: 5px;
}

.componentContainerSelected .cm-current-selection 
{
    display: block;
}

.car-matrix-table .cm-details-modal 
{
    margin: 0 3px 4px 3px;
}

.car-indicator-wrap 
{
    margin: 10px 0 5px 0;
}



/* ADD-ON AVAILABILITY
************************************/

.featureSelectionZone .cart-remove-button 
{
    display: inline-block;
    text-decoration: none;
    text-transform: none;
    text-align: center;
    margin: 10px 0;
    color: #006bb7;
    position: inherit;
    padding: 0;
}

.featureSelectionZone .cart-remove-button:hover 
{
    cursor: pointer;
}

.feature-option-details li
{
    border: 0;
}

.feature-option-details select {
    width: 100%;
}

.feature-category {
    margin: 2% 0;
}

.feature-option-select {
    width: 100%;
}

.feature-show label,
.feature-date label {
    display: block; 
    width: 100%;
}

.featureSelectRepeater, 
.feature-rate-select {
    margin-top: 2%;
}

.feature-passenger-list {
    width: 49%;
    float: left;
    margin: 2% 1% 0 0;
    list-style:none; 
}

.feature-passenger-list li {
    padding-left: 0; 
    padding-top:  0;
    margin-top:  2%;
}

.feature-passenger-list li select {
    margin-right: 2%;
}

.feature-passenger-list select {
    width: 50%;
}

.featureSelectionZone .PRICE-SELECT-WRAP {
    width: 49%; 
    margin: 2% 0 0 1%;
}

/***** Add ons feature navigation component *****/   

.add-ons-destination-name
{
    float: left;
    width: 70%;
}
.traveler-details-wrap
{
    float: right;
    text-align: right;
    width:30%;
}

.feature-navigation-wrap
{ 
    clear: both;
    float: left;
    text-align: center;
    width: 100%;
}

.feature-navigation-arrows .current-featured-item
{
    font-size: 2rem;
    padding: 0px 5px;
}

.feature-navigation-arrows .pagination-trigger
{
    vertical-align: top;
    font-size: 3rem;
}

.feature-navigation-arrows i.fa.fa-arrow-circle-o-left.disabled.pagination-trigger,
.feature-navigation-arrows i.fa.fa-arrow-circle-o-right.disabled.pagination-trigger
{
    color: #dddddd;
    cursor: default;
}

.feature-navigation-arrows
{
    clear: both;
    text-align: center;
    margin: 30px 0px 0px 0px;
}

.feature-navigation-list
{
    background-image: linear-gradient( to right, #44812d, #44812d) ;
    background-repeat: no-repeat;
    background-size: 100% 3px;
    background-position-y: 15px;
    display:inline-flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 20px 0px;
    position: relative;
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 95%;
}

.feature-navigation-list strong
{
   padding: 0px 20px;
}

.feature-navigation-list a
{
    display: block;
}

.feature-navigation-list .current-feature-nav
{
    font-weight: bold;
}

.feature-navigation-list li:first-child
{
    background-image: linear-gradient( to right, #fff, #fff);
    background-repeat: no-repeat;
    background-position-y: 15px;
    background-size: 50%;
}

.feature-navigation-list li:last-child
{
    background-image: linear-gradient( to right, #fff, #fff);
    background-repeat: no-repeat;
    background-position-y: 15px;
    background-position-x: 100%;
    background-size: 50%;
}

.feature-nav-button-wrap
{
    margin: 20px 0;
}

.feature-nav-button-wrap a 
{
    padding: 5px !important;
    text-decoration: none;
}

@media (max-width: 979px) 
{
    
    .feature-navigation-wrap
    {
        float: none;
    }
    
    .feature-navigation-list
    {
        display: none;
    }
        
}

@media (max-width: 767px) 
{
    .traveler-details-wrap,
    .add-ons-destination-name
    {
        float: none;
        text-align: left;
        width: 100%;
    }
}

@media (max-width: 640px)
{

    .feature-navigation-arrows .pagination-trigger
    {
        vertical-align: middle;
    }
    
    .feature-navigation-arrows .current-featured-item
    {
        font-size: 1.5rem;
    }
}

@media (max-width: 580px) 
{
    
    .feature-passenger-list
    {                      
        width: 96%;
        float: none;
        margin: 2%;
    }
    
    .featureSelectionZone .PRICE-SELECT-WRAP
    {
        width: 96%; 
        float: none;
    }
}



/* REQUIRE DECISIONS
************************************/

.required-decisions-page .COMPONENT-WRAP:first-child 
{
    margin-top: 20px;
}

.required-decisions-page .COMPONENT-IMAGE-WRAP 
{
    width: auto;
}

.required-decisions-page .cart-item-repeater-header label
{
    display: block;
    margin-top: 10px;
}


@media (max-width: 580px) 
{
    .cart-item-repeater-header 
    {
        text-align: center;
    }
}



/* CART
************************************/

.CART-COMPONENT
{
    margin: 2% 0;
    padding: 0 0;
    position: relative;
}

.CART-COMPONENT-DETAILS-WRAP 
{
    border: dashed 1px #aaa; 
    border-left: 0; 
    border-right: 0;
    border-bottom: 0;
    padding: 15px 0 0; 
}
    
.CART-COMPONENT-DETAIL
{
    margin: 0 0 30px 0;
    display: block;
    clear: both;
    overflow: hidden;
}

.CART-COMPONENT-DETAIL h2 
{
    border-bottom: solid 3px #f2f2f2;
}

.CART-COMPONENT-DETAIL:last-child
{
    margin: 0 0 0 0;
}

.CART-COMPONENT-WRAP input[type=checkbox],
.CART-COMPONENT-WRAP input[type=radio]  
{
    margin-right: 4px;
}

.CART-COMPONENT-IMAGE-WRAP 
{
    float: left;
    margin-right: 2%;
}

.CART-COMPONENT-IMAGE-WRAP,
.CART-COMPONENT-IMAGE-WRAP  img
{
    max-width: 185px;
}

.cart-advisory
{
    padding: 3% 1% 1% 0;
    clear: both;
    color: #d90707;    
} 

.cart-advisory ol
{
    padding-left: 20px;
}

.cart-advisory ol li
{
    list-style-type: decimal;
    margin-bottom: 10px;
}

.cart-advisory *
{
    color: #d90707;    
} 
    
.cart-advisory-title
{   
    color: #d90707;    
    font-weight: bold;
    display: block;
    font-size: 1.5rem;  
    text-transform: uppercase;
}

.cartComponentContainer2, .review-hotel 
{
    padding-bottom: 15px;
}
    
.advisory-fa,
.message-title-text  
{    
	color: #d90707;
}

a.button:hover 
{
    color: #fff;
}

.title 
{
    font-size: 1.6rem;
}

.header
{
    margin-bottom: 15px;
}       
        
.review-trip-summary
{
    clear: both;
    display: block;
    overflow: hidden;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: solid 10px #f2f2f2;
}

.review-trip-summary .PRICE-SELECT-WRAP
{
    min-width: 210px;
    padding: 0 0 2% !important;
}
     
.no-wrap
{
    white-space: nowrap;
}

.checkout-step1 .PRICE-SELECT-WRAP .reward-badge-wrap {
    margin-top: 5px;
}

  
/* CHECKOUT STEP 1
************************************/

.summary-cart-title,
.checkout-summary-enhance {
    width: 68%;
    float: left;
}

.flight-cart-modify .expco-content-wrap 
{
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: solid 10px #f2f2f2;
}

.cabin-description 
{
    font-weight: normal;
    margin-left: 10px;
    font-size: 1.1rem;
}

.summary-reward-pts .reward-badge-wrap {
    margin-right: 0;
    margin-bottom: 10px;
}

.taxes-fees-detail {
    margin-bottom: 15px;
    float: left;
}

.taxes-fees-detail-right
{
    float: right;
    padding-right: 10px;
}

.cart-price-points {
    text-align: right;
    float: right;
    clear:right;
}

.hotel-cart-modify,
.summary-add-on-detail,
.summary-car-detail,
.summary-transfer-detail 
{
    border-bottom: solid 10px #f2f2f2;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.summary-transfer-detail .CART-COMPONENT-IMAGE-WRAP img 
{
    width: 100%;
    height: auto;
}

.add-on-component-header 
{
    position: relative;
}

.view-all-features-position,  
.hotel-softsell-cart-modify-button-wrap 
{
    position: absolute;
    top: 0;
    right: 0;
}

.view-all-features-position .button 
{
    text-transform: uppercase;
}

.vehicleTypeZone:last-child td 
{
    border-bottom: 0;
}

.vehicleTypeZone .upsell-name a
{
    vertical-align:top;
    margin:5px 0 0 10px;
    display:inline-block;
}

.cart-header
{
    display: block;
    width: 100%;
    overflow: hidden;
}

.cart-item-repeater
{
    padding: 8px 0px;
}

.cart-header h3 
{
    width: auto;
    float: left;
}

.cart-header .arrival-disclaimer-t
{
    margin-left: 15px;
}

.cart-modify-button-wrap,
.cart-remove-item-wrap
{
    float: right;
    width: auto;
    margin: 6px;
}

.cart-modify-button-header-wrap
{
    position: absolute;
    right: 0;
    top: 0;
    margin:0;
}

.cart-header .cart-modify-button-wrap
{
    margin: 0 0;
}

.cart-modify-button, 
.cart-remove-feature 
{
    float: right;
    display: block;
    margin-left: 15px;
    min-width: 130px;
    text-transform: uppercase;
}

.cart-remove-button,
input[type="button"].cart-remove-button,
input[type="submit"].cart-remove-button
{
    background: none;
    border: 0 none;
    font-weight: normal;
    color: #006bb7;
    cursor: pointer;    
    margin: 0 auto;
    text-decoration: underline;
    padding: 0;
}

.cart-remove-button:disabled 
{
    background: none !important;
}

.cart-remove-item
{
    display: block;
    clear: both;
}

.remove-feature-alert-message-wrap
{
    margin-top:10px;
}

.cart-remove-item i 
{
    color: #006bb7;
}

.sales-advisories-list
{
    clear: both;
    margin-left: 20px;
    padding-top: 5px;
}

.cart-accordian-title
{
    border-bottom: solid 3px #f2f2f2;
}

.cart-accordian-title a
{
    text-decoration: none;
}

.upsell-options-table
{
    width: 100%;
    margin-bottom: 15px;    
    padding-bottom: 10px;
}    

.upsell-options-table caption 
{
    font-weight: bold;
    text-align: left;
    font-size: 1.8rem;
    padding: 15px 0 10px;
}

.upsell-options-table-header 
{
    font-size: 1.5rem;
}    

.upsell-options-table td
{
    padding: 7px 0;
    border-bottom: 1px dashed #ddd;
    vertical-align: middle;
}

.upsell-room-type-table th.room-promo-heading 
{
    padding-left: 0;
}

.upsell-room-type-table td
{
    border-bottom: 1px dashed #ddd; 
    padding: 7px 0;   
}

.upsell-options-table-header td
{
    border-bottom: 0px;
    font-weight: bold;
    padding: 0 0;
}    

.upsell-name 
{
    width: 85%;
}

.upsell-name,
.view-all-hotel-options td
{
    border: 0px;
}

.upsell-price-text 
{
    display: block;
}

.upsell-price
{
    text-align: right;
}

.cart-summary-current-selected
{
    color: #44812d;
    font-weight: bold;
}

.cart-upsell-wrap
{
    overflow: hidden;    
}

.free-cancel-text
{
    margin-right: 10px;
    text-transform: uppercase;
    
}


/*** flight modify ***/

.arrival-disclaimer-t
{
    position: relative;
}

.flight-additional-info
{
    display: block;
    margin: 10px 0;
}

.flight-additional-info p 
{
    margin-bottom: 15px;
}

.cart-flight-stops::before
{ 
    content: "-";
}

.fare-rules-list {
    list-style-type: none;
    margin-top: 15px;
}

    .fare-rules-list li {
        margin-bottom: 10px;
    }

.fare-rules-content {
    width: 800px;
}

.fare-rules-list caption {
    font-size: 1.6rem;
    padding-bottom: 5px;
    text-align: left;
    border-bottom: solid 1px #f2f2f2;
    margin-bottom: 10px;
}

.fare-rules-info {
    font-weight: bold;
    padding-bottom: 10px;
    padding-left: 3px;
}

.fare-rules-title {
    background: #dddddd;
    border-radius: 3px;
    font-weight: bold;
    padding: 3px;
}

.fare-rules-text {
    padding: 6px 3px 6px 3px;
}

/*** Summary flight - mobile enhancement **/

.ck1-flight-leg-wrap
{
    margin:10px auto;    
}

.ck1-flight-layover-wrap 
{
     position: relative;
     z-index: 1;
}

.ck1-flight-layover-wrap:before
{    
    border-top: 2px solid #f2f2f2;
    content:"";
    margin: 0 auto; 
    position: absolute;
    top: 50%; 
    left: 0; 
    right: 0; 
    bottom: 0;
    width: 100%;
    z-index: -1;
}

.ck1-review-flights .flight-leg-layover
{
    display:inline;
    border:0;    
    background: #fff;
    padding:0 10px;
}

.flight-leg-info-wrap caption.ck1-summary-flight-caption,
.ck1-flight-layover-wrap
{
    text-align:center;    
}

.ck1-flight-summary-table
{
    margin-left:0;
}

.ck1-flight-summary-table tr
{
    display:flex;    
    width:100%;
}

.ck1-flight-summary-table td
{
    padding-top:10px;
    text-align:center;
    min-width:90px;  
    margin:0;
    display:inline-block;
    align-self: center;
}

.ck1-flight-summary-table td.ck1-desktop-carrier
{   
    width: 50%;
}

.ck1-flight-stops > div 
{
    max-width: 200px;
}

.ck1-flight-stops a
{
    font-weight:bold;   
    display: inline-block;
}

.ck1-flight-summary-table span.cabin-description
{
    margin-left:0;    
}

.ck1-flight-summary-table,
.ck1-flight-leg-wrap .flight-leg-info-wrap,
.ck1-flight-layover-wrap .flight-leg-info-wrap
{
    width:100%;
    float:none;
}

.ck1-flight-summary-table .flight-leg-depart > strong, 
.ck1-flight-summary-table .flight-leg-arrival > strong
{
    font-size:2.5rem;    
}

.ck1-flight-summary-table .market-name
{
    width: auto;
}

.ck1-flight-disclaimer {
    max-width: 300px;
    margin: 0 auto;
}


@media(max-width:767px)
{ 
    .flight-leg-info-wrap caption.ck1-summary-flight-caption
    {
        display:table-caption;    
    }
    
    .ck1-flight-summary-table td.ck1-desktop-carrier,
    .ck1-desktop-operated-by
    {
        display:none;    
    }
    
    .ck1-flight-summary-table tr.ck1-mobile-operated-by
    {
        display:flex;
    }
    
    .ck1-flight-summary-table tr.ck1-mobile-operated-by td
    {
        width:100%;   
    }
    
    .ck1-branded-fares-wrap-mobile
    {
        display:inline-block;        
    }
    
    .ck1-review-flights .travelTimeText,
    .ck1-review-flights .baggage-charges
    {
        text-align:center;    
    }
}

@media(min-width:767px)
{ 
    .flight-leg-info-wrap caption.ck1-summary-flight-caption,
    .ck1-flight-summary-table tr.ck1-mobile-operated-by,
    .ck1-branded-fares-wrap-mobile
    {
        display:none;    
    }
    
    .ck1-flight-summary-table td.ck1-desktop-carrier
    {
        display:inline-block;    
        text-align:left;
    }
    
    .ck1-desktop-operated-by
    {
        display:flex;    
    }
    
    .ck1-flight-layover-wrap .flight-leg-info-wrap
    {
        width: 75%;
        float:right;
        text-align:center;
    }
}

.ck1-branded-fares-wrap,
.ck1-branded-fares-wrap-mobile,
.ck1-airline-name,
.ck1-review-flights .baggage-charges
{
    display:none;    
}

/*** hotel modify ***/

.hotel-room-options-wrap
{
    display: block;
    clear: both;
}

tr[class^="RoomCategoryDivVisible"] .upsell-price
{
    color: #44812d;
    font-weight: bold;
}

.hotel-cart-modify .rr-points 
{
    float: right;
    margin: 0 0;
}

.cart-summary-hotel-checkin,
.cart-summary-hotel-checkout 
{
    font-size: 1.6rem;
}

.hotel-room-number 
{
    font-size: 1.6rem;
    display: block;
    clear: left;
    width: auto;
    font-weight: bold;
}

.trip-advisor-wrap
{
    margin: 5px 0 0 0;
}


/*** vehicle modify ***/

.vehicle-pickup,
.vehicle-dropoff
{
    float: left;
    margin: 12px;
}    


/*** transfer modify ***/

.select-psngrs legend
{
    font-weight: bold;
}

.select-psngrs .passenger_wrap
{
    float: left;
    display: block;
    white-space: nowrap;
    margin-right: 2%;
    margin-bottom: 1%;
}


/*** insuracy modify ***/

.insurance-upsell-text ul
{
    list-style-type: disc;
    margin: 0 0 15px 25px;
    padding: 0 0 0 20px;    
}

.insurance-cart-modify
{
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: solid 10px #f2f2f2;
}

.insurance-selection 
{
    margin-top: 15px;
}

.insurance-selection input 
{
    display: inline-block;
    float: left;
    min-width: 18px;
}

.insurance-selection input:focus 
{
    outline: 1px dotted #006bb7;
}

.insurance-selection label
{
    float: left;
    margin-left: 8px;
    clear: right !important;
    display: inline-block;
    width: 95%;
    margin-bottom: 10px;
}


@media (max-width: 979px)
{ 
    .summary-cart-title,
    .checkout-summary-enhance
    {
        width: 58%;
    }
}

@media (max-width: 924px)
{ 
    .insurance-selection label
    {
        width: 92%;
    }
}

@media (max-width: 799px)
{ 
    .summary-cart-title,
    .checkout-summary-enhance
    {
        width: 52%;
    }
}

@media (max-width: 580px)
{   
    .summary-cart-title,
    .checkout-summary-enhance
    {
        width: 100%;
        float: none;
    }
}

@media (max-width: 446px)
{ 
    .insurance-selection label
    {
        width: 90%;
    }
}

.insurance-cart-modify .cart-item-wrap .cart-modify-button
{
    display: none;
}

.insurance-selection ul 
{
    list-style: none;
}

.insurance-selection ul li
{
    margin: 4px 0px;
}

.insurance-selection ul li:after
{
   content: "";
   display: table;
   clear: both;
}


/*** feature upsell ***/

.feature-cart-image-wrap 
{
    width: 100px;
}

.feature-cart-image-wrap img 
{
    width: 100%;
    height: auto;
}

.feature-upsell-modal-description
{
    margin-bottom: 20px;
}

.feature-upsell-options
{
    border-top: solid 1px #dedede; 
    padding-top: 15px; 
    margin-top: 15px;
}

.feature-upsell-passenger-select 
{
    width: 100%; 
    margin-top: 15px;
}

.feature-upsell-passengers
{
    width: 48%; 
    float: left; 
    margin-right: 2%;
}

.feature-upsell-passengers select
{
    margin-right: 5px;
}

.feature-upsell-datelabel
{
    display: block; 
    width: 100%; 
    font-weight: bold;
}

.feature-upsell-date-select
{
    width: 100%;
}

#featureRateSelectionComponent
{
    margin-bottom: 15px;
}

#featureRateSelectionComponent .PRICE-SELECT-WRAP
{
    width: 49%; 
    float: right; 
    margin: 0;
}

#featureRateSelectionComponent:after{
   content: "";
   display: table;
   clear: both;
}

.feature-upsell-select-item .check-wrap 
{
    position: relative; 
}

.feature-upsell-select-item label input[type="checkbox"]
{
    position: absolute; 
    top: 5px; 
    left: 10px; 
    z-index: 999;
}

.feature-upsell-select-item label span
{
    font-weight: bold;
    padding: 5px 10px;
    text-align: center;
    color: #fff;
    border: 1px solid #006bb7;
    background-color: #127cb7;
    border-radius: 3px; 
    width: 100%;
    display: block;
    margin-top: 15px;
}    

.feature-upsell-select-item label span:hover
{
    background-color: #106fa2;
}

.feature-upsell-select-item input:checked + span 
{
    background-color: #44812d;
    border-color: #3b7128;
    color: #fff;
}

.feature-upsell-select-item input
{
    margin-top: 5px;    
}    

.view-all-features-wrap
{
    margin-bottom: 15px;
}  

.cart-item-wrap
{
    border-bottom: 1px dashed #ddd;
    padding-bottom: 8px;
    overflow: hidden;
}

.cart-item-repeater 
{
    width: 72%;
    float: left;
}

.cart-item-repeater-header
{
    width: auto;
}

.cart-item-repeater dd
{
    display: inline;
    margin-right: 15px;
}

.cart-item-applies-to {
    display: flex;
}

.cart-item-applies-to-names {
    margin-left: 10px;
}

    div[id^="cartFeatureHeader"] {
    padding: 0 0;
    position: relative;
}

.ck1-feature-wrap
{
    margin: 0 0 15px 0;
}

.cart-remove-button 
{
    height: 30px;
    padding: 0 10px;
}


@media (max-width: 370px)
{ 
    .feature-upsell-passengers
    {
        width: 100%; 
        float: none; 
        margin-bottom: 15px;
    }
    
    #featureRateSelectionComponent .PRICE-SELECT-WRAP
    {
        width: 100%; 
        float: none;
    }
}
   
   
/*** cart price ***/
 
    .loyalty-promo-code-wrapper {
        margin-bottom: 15px;
        padding: 0 15px;
        border: 2px solid #135582;
        background-color: #f2f2f2;
        border-radius: 4px;
        font-size: 2.2rem;
        font-weight: bold;      
        display: flex;
        align-items: center;
        clear: both;
    }

    .loyalty-promo-card-cc {
        margin: -20px 10px 0 0;
    }

.cart-price 
{ 
    width: 100%; 
    font-size: 1.6rem;
    margin: 0 0 10px 0;
}

.cart-price tr 
{
    border-bottom: 1px dashed #ddd;
}    

.cart-price td
{
    text-align: right;
    overflow: hidden;  
    padding: 4px 8px 4px 0;  
}

.cart-price td:first-child, 
.cart-price th
{ 
    width: auto; 
    overflow: hidden; 
    font-weight: normal;    
    padding: 4px 8px 4px 0;  
}

.cart-price tr.cart-highlight
{    
    border-top: solid 3px #f2f2f2;
}

.cart-price td h4 
{    
    margin-bottom: 0px;
}

.review-price-header 
{
    
    margin: 0 0 12px 0;
    clear:both;
}    

.review-price-header h3 
{
    text-align: left;
    text-transform: uppercase; 
}

.CART-COMPONENT .pay-at-property-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    position: relative;
}

.CART-COMPONENT .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.CART-COMPONENT .pay-at-property {
    padding: 2%;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 2rem;
}

.readonly-cart-price.pay-at-property {
    padding: 2%;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 2rem;
}

.readonly-cart-price.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.readonly-cart-price .pay-at-property-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    position: relative;
}

.summary-pay-property,
.summary-pay-property > div {
    display: flex;
    flex-direction: row nowrap;
    justify-content: space-between;
}

#payAtPropertyTooltipTrigger {
    margin: 0 0 0 3px;
}

    .promotion-code-wrap {
    width: 100%;
    text-align: right;
    float: right;
    padding: 0 0 15px 0;
 }
 
.promotion-code-wrap .expco-trigger-wrap
{
   margin-bottom:5px;
}
 
.cart-summary-apply-promo 
{
    float: right;
    display: block;
    padding:0 0 10px 0;
}

    .cart-summary-applied-promo {
    display: block;
    margin-bottom: .5em;
    font-size: 1.6rem;
    font-weight: bold;
}

    .booking-buttons-bar {
    overflow: hidden;
    margin-top: 15px;
}

.booking-options-buttons 
{
    float: left; 
    padding: 5px;
}    

.summary-warning-text 
{    
    font-size: 1.6rem;
	color: #d90707;
}

.review-flight
{
    border-bottom: solid 2px #f2f2f2; 
    margin-bottom: 15px; 
    padding-bottom: 15px;
    list-style: none;
}

.modify-item-row th 
{
    padding-left: 30px;
}


@media (max-width: 767px)
{    
    .CART-COMPONENT-DETAIL
    {
        margin: 0 0 30px 0;
    }
    
    .CART-COMPONENT-DETAIL
    {
        margin: 0 0 30px 0;
    }

    .summary-reward-pts .reward-badge-wrap {
        margin-right: auto;        
    }

    .taxes-fees-detail,
    .cart-price-points {
        float: none;
        text-align: center;
    }
 
}

@media (max-width: 767px)
{
  .promotion-code-wrap
   {
        text-align:center;
        float: none;
   }
    
   .cart-summary-apply-promo
   {
        float: none;
   }
}

@media (max-width: 640px)
{    
    .CART-COMPONENT-DETAIL h3, 
    .cart-item-repeater
    {
        text-align: center;
    }
    
}

@media (max-width: 580px)
{    
    .cart-modify-button-wrap,
    .cart-remove-item,
    .view-all-features-position
    {
        position: relative;
        clear: both;
        margin-bottom: 12px;
        width: 100%;
        margin: 6px 0;
        text-align: center;

    }

        .cart-remove-item {
            text-align:right;
            padding-right:8px;
        }


    
    .cart-modify-button-wrap .cart-modify-button,
    .view-all-features-position .cart-modify-button
    {
        display: block;
        float: none;
        margin: 0px auto;
        width: 96%;
    }
 
    .CART-COMPONENT-DETAIL h3
    {
        text-align: center;
    }

    .cart-header h3
    {
        float: none;
        text-align: center;
    }

    .cart-modify-button-wrap,
    .cart-header .cart-modify-button-wrap,
    .cart-remove-item-wrap
    {
        position: relative;
        clear: both;
        width: 100%;
        margin: 6px 0;
        text-align: center;
    }

    .cart-modify-button-wrap .cart-modify-button
    {
        display: block;
        float: none;
        margin: 0px auto;
        width: 96%;
    }
    
    .cart-remove-item
    {
        margin: 0px auto;
    }
    
    .cart-item-repeater
    {
        text-align: center;
        float: none;
        margin: 0 auto;
        width: 98%;
    }
}

@media (max-width: 425px)
{    
    .CART-COMPONENT-IMAGE-WRAP img,
    .hotel-ro-image-wrap img
    {
        width: 50%;
    }
    
    .CART-COMPONENT-IMAGE-WRAP, 
    .CART-COMPONENT-IMAGE-WRAP img 
    {
        width: auto;
    }
    
    .promotion-code-wrap label
    {
        display:block;
    }
}

@media (max-width:414px)
{
    /* hotel summary */
    
    .cart-summary-hotel-checkin, 
    .cart-summary-hotel-checkout
    {
        font-size:1.2rem;
    }
    
    .summary-hotel-detail .CART-COMPONENT-IMAGE-WRAP 
    {
        max-width: 175px;
    }

    .summary-hotel-detail .CART-COMPONENT-IMAGE-WRAP IMG 
    {
        max-width: 100%;
    }
    
    .summary-hotel-detail .trip-advisor-wrap 
    {
        margin-top: 5px !important;
    } 

    .room-type-table .button, 
    .upsell-room-type-table .button 
    {
        width: 100%;
    }

    .room-type-table td:last-child, 
    .upsell-room-type-table td:last-child 
    {
        padding: 0;
    }

    .upsell-room-type-table tbody tr 
    {
        position: relative;
        display: block;
    }

    .upsell-price-text 
    {
        position: absolute;
        right: 0;
        top: 7px;
    }
    
    .view-all-hotel-options 
    {
       padding-top:10px;
    }
    
    .cart-header
    {
        min-height:35px;
    }
    
    .cart-header h3 
    {
        float: left;
        text-align: left;
        max-width: 50%;
        display: inline-block;
    }

    .cart-header h3 button 
    {
        text-align: left;
    }

    .cart-header .cart-modify-button-wrap 
    {
        position: absolute;
        clear: none;
        width: auto;
        right: 0;
        margin:0;
    }
    
    .cart-header .arrival-disclaimer-t 
    {
        float: left;
        display: block;
        clear: left;
        margin-left: 0;
    }

        .cart-price td {
            min-width:100px;
        }
}


    
/* CHECKOUT STEP 2
************************************/

.checkout-step2  .PRICE-SELECT-WRAP
{
    padding: 0 0 2%;
}

.checkout-sign-in 
{
    padding: 2%; 
    background: #f2f2f2; 
    border-radius: 3px;
}
    
.checkout2-instruction
{
    margin: 15px auto;
}

.names-match-id 
{
    background-color: #f2f2f2;
    padding: 2%;
    width: 100%;
    display: block;
    margin-bottom: 10px;
    border-radius: 3px;
}

.names-match-id i
{
    margin-right:3px;
    font-size:1.5rem;
}

.traveler-info 
{
    border-bottom: 1px dashed #e2e2e2;
    clear: both;
    float: none;
    margin: 0 0 20px;
    overflow: hidden;
    padding: 0 0 10px;
    width: 100%;
}

.traveler-info fieldset 
{
    margin: 0 5% 15px 0;
    width: 27%;
    display: inline-block;
    min-width: 270px;
}

.traveler-info fieldset.traveler-name-title 
{
    display: inline-block;
    clear: both;
    min-width: 270px;
    float: none;
}

.traveler-info label 
{
    display: inline;
}

.traveler-info .subLabel 
{
    white-space: inherit;
}

.gender-dob 
{
    display: block;
    clear: both;
}

.traveler-info fieldset.date-of-birth  
{
    clear: right;
}
    
.traveler-info .frequent-flyer 
{
    clear: both;
    float: none;
    margin: 8px 0 15px 0;
}    

fieldset.frequent-flyer-number
{
    display: block;
}

fieldset.frequent-flyer-number input[type=text],
fieldset.frequent-flyer-number select
{
    width: 27%;
    float: left;
    margin: 0 15px 0 0;
}
    
input.account-password, 
.payment-info-details input[type="password"] 
{
    border: 1px solid #aaa;
    height: 30px;
    border-radius: 3px;
    min-width: 100%;
}  

.traveler-info input[type="text"],
.traveler-info input[type="email"],
.traveler-info input[type="tel"],
.traveler-info select,
.payment-info-details input[type="text"],
.payment-info-details select,
fieldset.frequent-flyer-number input[type="text"] 
{
    width: 100%;
}

.traveler-name-title-wrap
{
    width:100%;
    margin: 0 5% 15px 0;
}

.traveler-info fieldset.gender > label
{   
    display: block;
}

.traveler-info fieldset.gender span label
{
   margin: 5px 8% 0px 0px;
}

.gender-input ul
{
    width: 100%;
    border-radius: 3px;
    background-color: #f2f2f2;
    display:block;
}

.gender-input ul:after
{
   content: "";
   display: table;
   clear: both;
}

.gender-input ul li
{
    float: left;
    width: 50%;
    height: 30px;
    padding: 5px 0px 5px 10px; 
    list-style:none;
}

.subscription-selection fieldset 
{
    width: 100%;
}    

.subscription-selection label, 
.frequent-flyer label
{
    display: inline;
}    

.air-customer-contact
{
    margin: 20px 0;
}

.air-customer-contact-consent
{
    margin: 10px 0 20px 0;
}

.air-customer-contact-consent input,
.air-customer-contact-consent label
{
    margin: 5px 8% 5px 0px
}

.air-customer-contact-consent fieldset
{
    width: 100%;
}

.air-customer-contact-details fieldset {
    margin: 0 5% 5px 0;
}

.air-customer-contact-disclaimer p
{
    font-size: 1rem;
}

.booking-bar 
{
    float: right;
    text-align: right;
    width:100%;
}

.agency-terms-header-web {
    padding: 20px 0 0 0;
}

.agency-terms-header-web span.expco-trigger-text {
    font-size: 20px;
    font-weight: bold;
    color: #127cb7;
}

.agency-terms-header-pro span.expco-trigger-text {
    color: #0E589F;
    font-size: 20px;
    font-weight: bold;
}

.agency-terms-panel {
    border: 1px solid gray;
    padding: 15px;
}

    .accept-terms-button {
    margin: 0 auto;
    display: block;
}

.confidence-messages-wrap
{
    float: left;
    max-width: 65%;
    border: 1px solid #dedede;
    text-align: left;
    padding:10px;
}

.confidence-messages-wrap li
{
    list-style:none;
    margin-bottom:5px;
}

.confidence-messages-wrap li i,
.confidence-messages-wrap li img
{
    padding-right:3px;
}

.confidence-message-text
{
    display:inline;
}

.mini-cart-wrap .confidence-messages-wrap
{
    width: 28%;
    padding: 2%;
    margin-top: 10px;
    float:right;
    clear:right;
}

@media (max-width:580px)
{
    .mini-cart-wrap .confidence-messages-wrap {
        width:96%;
        float:none;
        margin: 0 auto;
    }   
}

.accept-terms-condition-checkout-text,
.accept-terms-condition-checkout-checkbox 
{
    display: inline-block;
    width: 60%;;
}

.accept-terms-condition-checkout-text
{
    font-weight: bold;
    font-size: initial;
}

.traveler-tsa-info
{
    clear: both;
    display: block;
    margin-bottom: 15px;
    width: inherit;
}

.traveler-tsa-info .sublabel
{
   padding: 0 0 10px 5px;
}

.traveler-tsa-info .expco-trigger-wrap 
{
   display: inline-block;
}

.booking-bar-privacy
{
    margin-top: 20px;
}

.security-cert-wrap
{
    margin-top: 15px;
}

.passenger-name-confirmation-wrap {
    margin: 25px 0;
}

.passenger-details {
    background-color: #f2f2f2;
    margin-bottom: 15px;
    padding: 10px;
    font-size: 1.6rem;
    display: flex;
    justify-content: space-between;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
}

.passenger-details-number {
    flex: 1;
    margin-right: 60px;
    font-weight: bold;
}

.passenger-details-name {
    flex: 2;
}

.passenger-details-birthdate {
    text-align: right;
    margin-left: auto;
    flex: 1;
}

.passenger-name-btn-wrap {
    display: flex;
    justify-content: flex-end;
    border-top: solid 3px #f2f2f2;
    padding-top: 25px;
}

    .passenger-name-btn-wrap .button {
        margin-left: 15px;
    }

@media (max-width: 500px) {

    .passenger-details {
        flex-direction: column;
    }

    .passenger-details-number {
        margin-right: 0;
    }

    .passenger-details-name {
        flex: 1;
    }

    .passenger-details-birthdate {
        text-align: left;
        margin-left: revert;
    }
}

.gender-dob-wrap,
.tsa-info-link
{
    display: none !important;
}

@media (max-width: 955px)
{
    .accept-terms-condition-checkout-text,
    .accept-terms-condition-checkout-checkbox 
    {
        width: 100%;
    }
    
    .booking-bar 
    {
        clear: both;
    }
}

@media (max-width:767px)
{   
    .confidence-messages-wrap
    {
        width:100%;
        float:none;
        max-width:unset;
    }
    
    .confidence-messages-wrap
    {
        margin-bottom:15px;
    }
}

@media (max-width: 432px) 
{
    .traveler-tsa-info
    {
        clear: both;
        display: block;
    }
    
    .traveler-tsa-info .sublabel 
    {
        padding-left: 0;
    }
    
    .expco-trigger-wrap 
    {
       display: block;
    }
}

@media (max-width: 432px), (max-height: 432px)
{
    .traveler-info .phone-no-ex
    {
        display:none;
    }   
}

@media(max-width:414px)
{
    /*Checkout Step 2*/
    .checkout2-instruction
    {
        display:none !important;
    }  
    
    .traveler-info fieldset 
    {
        width: 100%;
    }
    
    .security-cert-wrap
    {
        text-align:center;
    }
}


/* CHECKOUT STEP 3
************************************/

.checkout-step3 .PRICE-SELECT-WRAP
{
    padding: 0 0 2%;
}

.ro-package-name
{
    border-bottom:0 !important; 
    margin-bottom:0; 
    padding-bottom:0; 
    margin-top:5px;
}

.pkg-name
{
    display:block;
}

.CONTENT-MAST-WRAP .pkg-name
{
    font-size:16px; 
    font-weight:bold;
}

/*seat assignment table */

.seat-matrix-wrap,
.ssr-ro-detail,
.booking-wrap,
.early-bird-container,
.payment-info-container 
{
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: solid 10px #f2f2f2;
}

.number-of-payments-container {
    clear: both;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 1px #dedede;
}

.seat-matrix-table 
{
    border-radius: 3px;
    margin-bottom: 15px;
}

.seat-matrix-table tr,
.seat-matrix-table td 
{
    border: solid 1px #f2f2f2;
    padding: 4px;
}

.seat-matrix-table th 
{
    background: #f2f2f2;
    padding: 8px 4px;
}

.SSR-cart-modify div h2,
.SSR-cart-modify div h3 
{
    border: 0;
}

.flight-cart-points 
{
    margin-top: 0;
    float: right;
    list-style: none;
    clear: both;
}

.codeshare-footnote 
{
    float: left;
}

.hotel-read-only-details 
{
    display: block;
    overflow: hidden;
}    

.hotel-room-details 
{
    margin: 0 0 15px 0;
    width: 80%;
    float: right;
}

.hotel-ro-image-wrap 
{
    width: 18%;
    float: left;
    margin-right: 2%;
}

.hotel-ro-image-wrap img 
{
    width: 100%;
    height: auto;
}

.hotel-room-number-read-only 
{
    font-size: 1.6rem;
    display: block;
    clear: none;
    width: auto;
    float: none;
    font-weight: bold;
}    
 
.advisory-text, 
.advisory-fa  
{    
	color: #d90707;
}

.feature-read-only h2 #BtnAddFeature 
{
    float: right;
}

.feature-read-only .cart-item-repeater 
{
    width: 98%;
    float: none;
}

.early-bird-container 
{
    margin: 20px 0;
    padding: 20px 0;
}

.early-bird-container legend 
{
    margin-bottom: 10px;
}

.early-bird-intro 
{
    width: 100%;
}

.early-bird-logo 
{
    width: 18%;
    margin-right: 2%;
    max-width: 154px;
    height: auto;
    max-height: 60px;
    float: left;
    background: url("https://trisept.widen.net/content/jgssy6lc3c/png/TRI_IMG_WEBSITE_earlyBirdLogo.png") no-repeat;
    background-size: contain;
}

.early-bird-intro-text 
{
    float: left;
    width: 80%;
    padding-left: 10px;
}

.early-bird-container p,
#earlyBirdAList 
{
    margin-bottom: 10px;
}

.early-bird-container ul 
{
    list-style-type: disc;
    margin: 0 0 10px 20px;
    padding: 0 0 0 20px; 
}

.early-bird-container input 
{
    margin: 0 4px 0 0;
    position: relative;
    top: 6px;
}

.early-bird-cost-details 
{
    width: 100%;
    margin: 20px auto;
}

.early-bird-cost-details tr 
{
    border-bottom: solid 1px #f2f2f2;
}

.early-bird-cost-details th
{
    background: #f2f2f2;
    padding: 10px 4px;
}

.early-bird-total 
{
    border-top: solid 3px #f2f2f2;
}

.early-bird-cost-details .early-bird-total-cellhead
{
    text-align: right;
    background: none;
}

.early-bird-subtotal 
{
    text-align: right;
}
 
.early-bird-cost-details td
{ 
    padding: 10px 4px;
}
    
.earlyBirdCheckMark span:before
{
    content: "\2713\0020";
    font-size: 15px;
    font-weight: bold;
    color: #4caa51;
}

.payment-info-container h2 span
{
    font-size: 80%;
    font-weight: normal;
}

.numCreditCardLabel
{
    margin-right: 10px;   
}

.payment-info-details fieldset 
{
    margin: 0 5% 20px 0;
    width: 27%;
    display: block;
    float: left;
    min-width: 270px;
}

.payment-info-details .confirmationNumberInput,
.payment-info-details .confirmation-number-input,
.payment-info-details .paymentTypeInput,
.swav-passenger-name,
.swav-payment-info .swav-confirmation-number-text .confirmation-number-input
{
    width: 27%;
    min-width: 270px;
}

.swav-payment-info
{
    width: 100% !important;
}

.swav-Confirm-1,
.swav-Confirm-2
{
    width: 100%;
    clear: both;
    padding-top: 15px;
}

.swav-payment-info .swav-confirmation-number-text
{
    width: 100%;
    float: left;
}

.verify-funds-remove-button
{
    width: auto;
}

.swav-passanger-confirm swav-passanger-name-text:first-child
{
    margin-top: 20px;
}

.swav-confirmation-number-text-button
{
    clear: both;
    padding-top: 20px;
}

.swav-payment .payment-info
{
    margin: 20px 0;
}

.swav-payment-info
{
    margin-bottom: 10px!important;
}

.payment-info-details .payment-type-icons
{
    margin: 10px 0 15px;
}

.payment-info-details .payment-type-messaging
{
    margin-bottom: 15px;
}

.swav-passanger-name-text label:first-child
{
    margin-top: 15px;
}

.payment-info-details .site-vendor-info ul
{
    padding-left: 20px;
}

.payment-info-details .site-vendor-info p
{
    clear: both;
}

.paymentInfoSection .swav-payment
{
    margin-top: 10px;
}

.swav-confirmation-number-text .verify-funds-remove-button
{
    background: none;
    color: #006bb7;
    text-decoration: underline;
    cursor: pointer;
    padding-left: 10px;
}

.swav-passanger-name-text 
{
    margin-top: 10px;
}

.funds-cleared-successful-confirmation
{
    color: #d90707;
}

.payment-type-icons img,
.payment-info-section > div img {
    vertical-align: middle;
    max-height: 25px;
}

.payment-type-icons img[src*=".svg"],
.payment-info-section > div img[src*=".svg"] {
    height: 25px;
    padding: 2px;
    border: 1px solid #aaa;
}

    .cc-expiration-wrap legend {
    min-height: 22px;
}

.onpage-error-wrap
{
    position: relative;
    height: 0;
    width: 100%;
    clear: both;
}

.onpage-error-wrap span 
{
    position: absolute;
    top: 3px;
    left: 0;
    width: 270px;
    font-size: 1.2rem;
}

#expirationdate_1 span
{
    display: inline-block;
}

fieldset.cc-expiration-date 
{
    float: left;
    margin: 0 1% 0 0;
}

.cc-expiration-date.month 
{
    min-width: 130px;
    width: 55%;
}

.cc-expiration-date.year
{
    width: 30%;
    min-width: 115px;
}

fieldset.cc-expiration-date label 
{
    width: auto;
    margin-right: 5px;
}

fieldset.cc-expiration-date.year 
{
    float: right;
    text-align: right;
}
 
fieldset.cc-expiration-date label,
fieldset.cc-expiration-date select 
{
    display: inline-block;
}

fieldset.cc-expiration-date .expirationMonthInput 
{
    width: 65%;
}

fieldset.cc-expiration-date .expirationYearInput
{
    width: 51%;
}

.terms-conditions-checkout ul
{
    margin: 10px 0 10px 20px;
    list-style: disc;
}

.accept-terms-condition-checkout input[type="checkbox"]
{
    float: left;    
    margin-right: 10px;
}

.hazmat-message
{
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: solid 10px #f2f2f2;
}

.terms-conditions-checkout, 
.accept-terms-condition-checkout, 
.hazmat-message 
{
    margin: 0 0 15px 0;
}

.card-holder-info 
{
    clear: both;
    display: block;
}

.amount-due-warning 
{
    color: #d90707;
}

/* credit payment option message */
.credit-pay-msg-wrap {
    font-weight: bold;
    font-style: italic;
    margin-bottom: 20px;
    clear: both;
}


/* internal credit payment option */

.internal-credit-wrap {
    clear: both;
    width: 100%;
    margin-top: 10px;
}

.internal-credit-wrap > ul {
    margin-left: 30px;
    padding-bottom: 25px;
}

.payment-info-details fieldset.int-cred-confirm {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
}

.int-cred-confirm > div {
    width: 300px;
    margin-bottom: 15px;
}

.int-cred-confirm-num {
    width: 200px !important;
    margin-right: 10px;
}

.int-cred-confirm input.int-cred-clear {
    color: #006bb7;
    background: transparent;
    text-decoration: underline;
    cursor: pointer;
}

.int-cred-confirm input.int-cred-clear:hover {
    color: #666;
}

.int-cred-error {
    font-size: 1.6rem;
    color: #d90707;
    margin-bottom: 20px;
}

/* internal credit tables*/

.int-cred-head {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 20px 0 0 0;
}

.int-cred-res-grid,
.int-cred-grid {
    padding: 5px 6px 5px 10px;
    margin: 15px 0 20px;
    width: 50%;
    min-width: 350px;
}

.int-cred-res-grid th,
.int-cred-grid th {
    padding: 5px 6px 5px 10px;
    background-color: #f2f2f2;
    border: 1px solid #d3d3d3;
}

.int-cred-res-grid td,
.int-cred-grid td {
    padding: 7px 5px 5px 10px;
    border: 1px solid #d3d3d3;
}

.int-cred-res-grid tr :first-child:not(:only-child),
.int-cred-grid tr :first-child:not(:only-child),
.int-cred-res-grid th + th {
    background-color: transparent !important;
}

.int-cred-res-grid tr :first-child:not(:only-child),
.int-cred-grid tr :first-child:not(:only-child) {
    width: 75%;
}




.final-payment-wrap {
    border-bottom: 10px solid #f2f2f2;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.email-reminder-wrap > label 
{
    font-weight: bold;
}

.email-reminder-content
{
    margin-left: 18px;
    margin-top: 10px;
}

.email-reminder-date 
{
    margin-bottom: 10px;
}

.email-reminder-date .calendar-icon-wrap 
{
    display: inline-block;
}

.email-reminder-content label
{
    display: inline-block;
    min-width: 170px;
}

.scheduled-payment-terms-wrap, 
.num-payments-label
{
    padding: 0 0 20px 0;
}

.scheduled-payment-terms-wrap input
{
    float: left;
}

.scheduled-payment-terms-wrap label 
{
    display: inline;
}

.button-large:enabled.review-terms-button
{
    margin: 0 auto 20px auto;
    display: block;
}

@media (max-width: 480px) 
{
    .email-reminder-content .num-payments-label
    {
        min-width: 0;
    }
}

@media (max-width:414px)
{
    fieldset.payment-info.state-province-wrap 
    {
        width: 48%;
        min-width: auto;
        margin-right: 2%;
    }

    fieldset.payment-info.zip-code-wrap 
    {
        width: 48%;
        min-width: auto;
        float: right;
        margin-right: 0%;
    }
    
    .cc-expiration-wrap 
    {
        width: 55% !important;
        min-width: auto !important;
        margin-right: 0 !important;
    }

    .cc-expiration-date.year, 
    .cc-expiration-date.month, 
    .cc-security-code-wrap 
    {
        min-width: unset !important;
        float: left !important;
        margin: auto !important;
    }
    
    .cc-expiration-date.year, 
    .cc-expiration-date.month
    {
        width:45% !important;
    }
    
    .cc-expiration-date.month
    {
        margin-right: 10% !important;
    }
    
    .cc-security-code-wrap 
    {
        width:40% !important;
        margin-left:5% !important;
        margin-top:22px !important;
    }

    .cc-expiration-date label, 
    .cc-expiration-date select 
    {
        display: block;
    }
    
    .cc-expiration-date select
    {
        width: 100% !important;
    }

    .button-large:enabled.review-terms-button
    {
        height: auto !important;
        padding: 10px 5px !important;
    }
}

.PayerAuthenticationErrorMessage
{
	font-size: 13px;
	color:Red;
}

.checkout-step3 .reward-badge-wrap {
    margin-left: 0;
}


/* Payment Options Styling
************************************/
.payment-choice-container {
    display: flex;
    flex-flow: nowrap;
    align-items: stretch;
}

.payment-option-wrap input[type="radio"]:checked,
.payment-option-wrap input[type="radio"]:not(:checked) 
{
    opacity: 0;
    position: absolute;
}

.payment-option-wrap input[type="radio"]:checked + label,
.payment-option-wrap input[type="radio"]:not(:checked) + label 
{
    position: relative;
    padding: 10px 20px 10px 20px;
    display: inline-block;
}

.payment-option-wrap:focus-within input[type="radio"]:checked + label,
.payment-option-wrap:focus input[type="radio"]:checked + label
{
    outline: dotted 1px #fff;
    outline-offset: -3px;
}

.payment-option-wrap:focus-within input[type="radio"]:not(:checked) + label,
.payment-option-wrap:focus input[type="radio"]:not(:checked) + label {
    outline: dotted 1px #127cb7;
    outline-offset: -3px;
}

.payment-option-wrap input[type="radio"]:checked + label:hover,
.payment-option-wrap input[type="radio"]:not(:checked) + label:hover 
{
    cursor: pointer;
}

.payment-option-wrap input[type="radio"]:checked + label:before,
.payment-option-wrap input[type="radio"]:not(:checked) + label:before,
.payment-option-wrap input[type="radio"]:checked + label:after,
.payment-option-wrap input[type="radio"]:not(:checked) + label:after 
{
    opacity: 0;
    position: absolute;
}

.payment-option-wrap input + label 
{
    text-align: left;
    color: #333;
    border: 1px solid #127cb7;
    border-right: none;
    background-color: #fff;
    margin: 0px !important;
    flex-grow: 1;
    font-size: 16px;
    font-weight: bold;
    height: 100%;
}

.payment-option-wrap:first-child input[type="radio"]:checked + label,
.payment-option-wrap:first-child input[type="radio"]:not(:checked) + label 
{
    border-radius: 4px 0 0 4px;
}

.payment-option-wrap:only-child input[type="radio"]:checked + label,
.payment-option-wrap:only-child input[type="radio"]:not(:checked) + label 
{
    border-radius: 4px 4px 4px 4px;
}


.payment-option-wrap input[type="radio"]:checked + label 
{
    border: 1px solid #127cb7;
    background-color: #127cb7;
    color: #fff;
}

.payment-option-wrap:first-child input + label 
{
    border-radius: 4px 0 0 4px;
}

.payment-option-wrap:last-child input + label 
{
    border-right: 1px solid #006bb7;
    border-radius: 0 4px 4px 0;
}

    .payment-option-wrap input + label > span {
    display: block;
    font-size: 24px;
}

    .up-from {
        font-size: 12px !important;
        display: inline-block !important;
    }

    .payment-option-wrap input + label > span .up-zerodown {
        font-size:12px;
        padding-top:0;
    }

    #pay-monthly strong span {
        display: inline-block
    }


@media (max-width: 414px) {
    .payment-choice-container 
    {
        display: block;
    }

    .payment-option-wrap input[type="radio"]:checked + label,
    .payment-option-wrap input[type="radio"]:not(:checked) + label 
    {
        width: 100%;
        border-radius: 0px;
        border-bottom: 0;
        position: relative;
        padding: 10px 20px 10px 20px;
        border-right: 1px solid #127cb7;
    }

    .payment-option-wrap:first-child input[type="radio"]:checked + label,
    .payment-option-wrap:first-child input[type="radio"]:not(:checked) + label 
    {
        border-radius: 4px 4px 0 0px;
    }

    .payment-option-wrap:last-child input[type="radio"]:checked + label,
    .payment-option-wrap:last-child input[type="radio"]:not(:checked) + label 
    {
        border-radius: 0 0 4px 4px;
        border-bottom: solid 1px #127cb7;
    }

    .payment-option-wrap:only-child input[type="radio"]:checked + label,
        .payment-option-wrap:only-child input[type="radio"]:not(:checked) + label {
        border-radius: 4px 4px 4px 4px;
        border-bottom: solid 1px #127cb7;
    }

        .payment-option-wrap input + label > span {
        display: inline-block;
        float: right;
        text-align: right;
        vertical-align: top;
        margin-top: -7px;
    }
}

/*Payment Option Drip-Pricing*/
.clear .payment-options-drip-header {
    text-align: center;
    background-color: #f2f2f2;
}

.clear .price-component {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.clear .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.clear .pay-at-property {
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.clear .price-component .pay-at-property-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    position: relative;
}


.clear .tooltip {
    display: none;
    position: absolute;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 1rem;
    border-radius: 6px;
    z-index: 1000;
    width: 300px;
    top: calc(100% + 1rem);
    left: 50%;
    transform: translateX(-50%);
    text-align: left;
}



/* SPECIAL SERVICE REQUESTS
************************************/

.ssr-section select 
{
    padding: 1px 0 1px 3px;
    width: 98%;
}

.ssr-section label 
{
    margin: 5px 0 5px 0;
    padding: 0 0;
    display: block;
}

p.ssrPleaseNote 
{
    font-size: 115%;
    clear: both;
    margin: 6px 0;
}

.SSRpassengerContainer label span,
span.mandatorySSR 
{  
    color: #d90707;
    font-weight: bold;
    font-size: 120%;
}  

.ssrContainerHeader
{
	font-weight: bold;
	font-size: 130%;
	padding: 0 0;	
	margin: 0 0;
}

#hotelSSRcontainer,
#airSSRcontainer,
#vehicleSSRcontainer,
#featureSSRcontainer 
{
    border: 1px dashed #e2e2e2;
    padding: 8px;
    margin-bottom: 15px;
    color: #444;
}

#featureSSRcontainer 
{
    background: #fff;
    padding: 8px;
    color: #444;
}

.hotelSSR,
.flightSSR,
.vehicleSSR,
.featureSSR 
{
	background-color: #fff; 
	border: none;
	overflow: hidden;
	margin: 10px 0 0 0;	
}

.featureSSR 
{
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed #aaa;
}

.featureSSR:last-child 
{
    margin-bottom: 0px;
    border-bottom: 0px;
}

.flightSSR fieldset legend 
{
    margin: 0 0;
    padding: 0 0;
    font-size: 110%;
    color: #000;
}

.hotelSSR h5,
.flightSSR h5,
.vehicleSSR h5,
.featureSSR h5 
{
    color: #024b6c;
    font-weight: 500;
}    

.additionalComments 
{
    clear: both;
}

.SSRpassengerContainer .additionalComments 
{
    margin-bottom: 10px;
}

.additionalComments input 
{
    width: 100%;
    height: 25px;
    padding-left: 6px;    
}

.featureSSR .SSRpassengerContainer .additionalComments label 
{
    float: none;
    text-align: left;
}

.dropdownQuestion a:hover,
.additionalComments a:hover 
{
    color: #002e72; 
}

.SSRpassengerContainer
{
    margin: 10px 10px 5px 0px;   
}

.SSRpassengerContainer label,
.featureSSR .SSRpassengerContainer .dropdownQuestion label 
{
    float: left;
    margin: 2px 6px 10px 0;
    padding: 0 0;
}

.SSRpassengerContainer .dropdownQuestion label 
{
    width: 100%;
}

.featureSSR .SSRpassengerContainer 
{
    box-shadow: -0.3px -0.3px 8px #d3d3d3;
    margin: 5px 10px 18px 5px;
    padding: 10px 4px 4px 6px;
    width: 46.5%;
}

.featureSSR div.SSRpassengerContainer:nth-child(odd) 
{
    margin: 0 0 18px 5px;
}

.featureSSR .SSRpassengerContainer .dropdownQuestion 
{
    width: 100%;
    float: left;
    margin: 8px 0 0 0;
}

.SSRpassengerContainer select,
.featureSSR .SSRpassengerContainer .dropdownQuestion select 
{
    width: 48%;
    float: left;
    margin: 0 0 5px 0;
}

.SSRpassengerContainer .dropdownQuestion 
{
    clear: left;
    padding-top:5px;
}       

.vehicleSSRcontainer .SSRpassengerContainer .dropdownQuestion 
{
    width: 30%;
}

.vehicleSSR .SSRpassengerContainer 
{
    width: 98%;
}

.vehicleSSR .SSRpassengerContainer fieldset 
{
    width: 100%;
    float: left;
    margin-right: 25px;
}
.vehicleSSR .SSRpassengerContainer fieldset:last-child 
{
    margin-right: 0px;
}

.vehicleSSR .SSRpassengerContainer label,
.vehicleSSR .SSRpassengerContainer select 
{
    width: auto;
}
    
.hotelSSR .dropdownQuestion,
.flightSSR .dropdownQuestion,
.featureSSR .dropdownQuestion 
{
    min-width: 210px;
    width: 31%;
    margin: 0 2% 8px 0;
    float: left;   
}

.hotelSSR .dropdownQuestion select,
.featureSSR .dropdownQuestion select,
.featureSSR .dropdownQuestion label 
{
    width: 87%;
}

.flightSSR  .dropdownQuestion select 
{
    display: block;
}    

.sec-payment-logo-link
{    
    text-align: center;
    display: inline-block;
    margin: 10px 5px;
}

.sec-payment-logo-link img 
{
    display: block;
    width: 85px;
    height: auto;
    margin-bottom: 5px;
}


@media (max-width: 882px)
{ 
    .featureSSR .SSRpassengerContainer 
    {
        width: 95%;
        margin: 0 0 7px 5px;
        padding: 5px 0 5px 10px;
        box-shadow: 0px 0px 0px #fff;
        border-bottom: 1px solid #d1dee7;
        float: none;
    }
    
    .SSRpassengerContainer select,
    .featureSSR .SSRpassengerContainer .dropdownQuestion select 
    {
        width: 45%;
    }
    
    .featureSSR div.SSRpassengerContainer:nth-child(2n+1)
    {
        margin: 0 0 7px 5px;
    }
    
    .additionalComments 
    {
        margin-top: 6px;
    }
    
}

@media (max-width: 485px)
{
    .hotelSSR .dropdownQuestion,
    .flightSSR  .dropdownQuestion,
    .additionalComments input,
    .vehicleSSR .SSRpassengerContainer fieldset 
    {
        float: none;
    }
    
    .hotel-ro-image-wrap
    {
        float: none;
        clear: both;
        text-align: center;
        width: 100%;
    }
    
    .hotel-ro-image-wrap img
    {
        width: 50%;
        max-width: 185px;
    }
    
    .hotel-room-details
    {
        width: 100%; 
        float: none;
    }
    
    .flight-cart-points, .codeshare-footnote
    {
        float: none; 
        text-align: center; 
        margin: 10px 0;
    }
}    

@media (max-width: 410px)
{     
    .featureSSR .SSRpassengerContainer .dropdownQuestion label,
    .featureSSR .SSRpassengerContainer label 
    {
       float: none;
       clear: left; 
       text-align: left;
       width: 100%;
    }
    
    .featureSSR .dropdownQuestion select,
    .SSRpassengerContainer select,
    .featureSSR .SSRpassengerContainer .dropdownQuestion select 
    {
        width: 190px;
    }
    
    .hotelSSR .dropdownQuestion,
    .flightSSR .dropdownQuestion,
    .featureSSR .dropdownQuestion 
    {
        min-width: 220px;
    }
}

@media (max-width: 380px)
{     
    .SSRpassengerContainer label {
        text-align: left;
    }

    .hotelSSR .dropdownQuestion,
    .flightSSR  .dropdownQuestion,
    .additionalComments input,
    .vehicleSSR .SSRpassengerContainer fieldset 
    {
        width: 195px;
    }
    
    .featureSSR .SSRpassengerContainer .additionalComments input,
    .additionalComments input 
    {
        width: 190px;
    }
    
    .SSRpassengerContainer label 
    {
        width: 95%;
    }

    .vehicleSSR .SSRpassengerContainer label,
    .vehicleSSR .SSRpassengerContainer select 
    {
        float: none;
        width: 98%;
    }

    .hotelSSR h3,
    .flightSSR h3,
    .vehicleSSR h3,
    .featureSSR h3,
    .flightSSR fieldset legend,
    .hotelSSR p,
    .flightSSR p,
    .vehicleSSR p,
    .featureSSR p 
    {
        width: 75%;
    }   
}

@media (max-width: 360px)
{ 
    #ssrForm  
    {
	    padding: 0px;
	    float: none;
	    line-height: 15px;
        margin: 10px 0 0 0;
    }
    
    .smallExpColPanel input 
    {
        height: auto;
        padding: 0 0 0 0 !important;
        margin: 0 0 0 0 !important;
    }
    
    .featureSSR .SSRpassengerContainer 
    {
        padding-left: 0px;
    }
  
    table.ajax__validatorcallout {
        left: 20px !important;        
    }      

    td.ajax__validatorcallout_callout_cell 
    {
        display: none;
    }
}

@media (max-width: 320px)
{    
    .SSRpassengerContainer label 
    {
        margin: 2px 0px;
    }
    
    .featureSSR .SSRpassengerContainer .additionalComments input 
    {
        width: 185px;
    }
}



/* BOOKING CONFIRMATION
************************************/

.modify-addon-text
{
    margin: 0 0 20px;
    padding: 15px;
    border: solid 1px #dedede;
    border-radius: 3px;
}

.modify-addon-text button 
{
    float: none !important;
}

.modify-addon-text p 
{
    margin-bottom: 15px;
}

.confirm-summary-wrap,
.confirm-summary-wrap-b
{
    margin: 20px auto;
    border-bottom: solid 10px #f2f2f2;
    padding-bottom: 20px;
}

.confirm-summary-wrap-b
{
    border-top: solid 10px #f2f2f2;
    padding-top: 20px;
    border-bottom: 0;
    padding-bottom: 0;
}

.confirm-top-summary-wrap,
.confirm-bottom-summary-wrap
{ 
    margin-right: 2%; 
    width: 49%; 
    float: left; 
    border-radius: 3px;
    background: #f2f2f2;
    border: solid 1px #dedede;
    padding: 2%;
    text-align: center;
}

.confirm-top-summary-wrap .reward-badge-wrap {
    margin-left: auto;
    margin-right: auto !important;
}

.confirm-expect-wrap {
    width: 49%;
    float: left;
}

.confirm-expect-wrap dt 
{
    margin-bottom: 10px;
}

.confirm-expect-wrap dd 
{
    margin: 0 0 10px;
}
    
.confirm-number 
{
    font-size: 2.3em;
    display: block;
    width: 100%;
    font-weight: bold;
    color: #fff;
}

.confirm-number-highlight 
{
    text-align: center;
    background-color: #44812d;
    color: #fff;
    padding: 15px;
    display: block;
    width: 100%;
    border-radius: 3px;
    font-size: 1.8rem;
    margin: 0px auto 15px;
 }

.confirm-thanks 
{
    border-bottom: solid 1px #f2f2f2;
    padding-bottom: 5px;
    margin-bottom: 15px;
    display: block;
}

.confirm-bar 
{
    padding: 2%;
    background-color: #f2f2f2;
    border-color: #dedede;
    border-radius: 3px;
    text-align: right;
}

.confirm-bar input[type="button"]
{
    margin-left: 10px;
}

.confirm-bar .cartButton
{
    display: inline;
}

.confirm-traveler-wrap 
{
    border-top: solid 10px #f2f2f2;
    padding-top: 20px;
    margin-top: 20px;
}

.confirm-traveler
{
    margin-bottom: 20px;
    border-bottom: solid 2px #f2f2f2;
    padding-bottom: 20px;
}

.confirm-traveler:last-child
{
    border-bottom: 0;
}

.confirm-traveler dd 
{
    display: block;
    width: 100%;
}

.confirm-traveler dl dd
{
    display: inline;
    width: auto;
    clear: right;
}

.confirm-traveler dt
{
    display: inline;
    font-weight: bold;
    float: left;
    margin-right: 10px;
}

.confirm-traveler dt:after
{ 
    content: ": ";
}

.confirm-traveler dl dd dl:after
{
   content: "";
   display: table;
   clear: both;
}

.confirm-traveler-info 
{
    width: 49%;
    float: left;
    margin-right: 2%;
}

.confirm-traveler-title 
{
    margin-bottom: 15px;
    width: 100%;
    float: none;
    font-size: 1.6rem;
}

.traveler-tsa-wrap, .traveler-apis-wrap
{
    border: solid 1px #dedede; 
    border-radius: 3px;
    width: 49%;
    float: left;
    padding: 2%;
}

.traveler-tsa-wrap dl dd dl:after
{
   display: inline;
   clear: none;
}

.confirm-tsa dd
{
    float: left;
    margin-right: 15px;
}

.traveler-tsa-optional 
{
    width: 100%;
}

.confirmation-wrap h2,
.checkout-step1 h2,
.checkout-step2 h2,
.checkout-step3 h2
.checkout-step3 .h2
{
    border-bottom: solid 3px #f2f2f2;
}

.confirmation-wrap .payment-info-container
{
    margin: 20px auto;
    padding: 20px 0;
    border: solid 10px #f2f2f2;
    border-left: 0;
    border-right: 0;
}

.confirmation-wrap .payment-info-section
{
    border-bottom: solid 2px #f2f2f2;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.confirmation-wrap .payment-info-section:last-child 
{
    border: 0;
}

.confirmation-create-account 
{
    width: 100%;
    padding: 20px 3%;
    border-radius: 3px;
    width: 49%;
    float: left;
    border: 1px solid #dedede;
    margin-top: 10px;
}

.confirmation-create-btn-wrap {
    margin-top:15px;
}

.create-account-form fieldset
{
    margin: 15px 0px;
}

.create-account-form fieldset input 
{
    width: 100%;
}

.account-nav-links ul 
{
    list-style: none;
    justify-content: flex-start;
    display: flex;
    flex-wrap: wrap;
}

.account-nav-links ul li 
{
    padding: 0px 30px 5px 0px;
} 

.account-nav-links ul li:last-child
{
    padding: 0px 0px 5px 0px;
}

.partial-payment-wrap 
{
    margin: 20px auto;
}

.c-earlybird-wrap 
{
    margin:0 0 30px 0;
    padding-bottom: 30px;
    border-bottom: solid 10px #f2f2f2;
}

.c-earlybird-content 
{
    width: 100%;
}

.c-earlybird-price
{
    text-align: right;
    font-size: 1.6rem;
    padding-right: 8px;
}

.c-earlybird-content th,
.c-earlybird-content td
{
    padding: 8px 0px;
    font-weight: normal;
}

.c-earlybird-content caption
{
    text-align: left;
    border-bottom: solid 3px #f2f2f2;
    font-size: 2.2rem;
    font-weight: bold;
    padding-bottom: 5px;
}

.c-earlybird-disclaimer-wrap
{
    border-top: solid 1px #dedede;
    margin: 15px 0;
}


@media screen and (max-width: 640px) {
    .confirm-expect-wrap, .confirmation-create-account {
        width: 100%;
        float: none;
    }
    
    .confirm-traveler-info 
    {
        width: 100%;
        float: none;
        margin-right: 0;
    }
    
    .traveler-tsa-wrap, .traveler-apis-wrap
    {
        width: 100%;
        float: none;
    }
  
    .confirm-top-summary-wrap,
    .confirm-bottom-summary-wrap
    { 
        margin-right: 0; 
        width: 100%; 
        float: none; 
    }
}



/* REFUND REQUEST FORM
************************************/

.refund-request-form
{
    clear: both;
    overflow: hidden;
    width: 100%;
}

.refund-request-form fieldset
{
    float: left;
    display: block;
    width: 45%;
    white-space: nowrap;
    margin-right: 2%;
    margin-bottom: 1%;
}

.refund-request-form label,
.refund-request-form input,
.refund-request-form textarea 
{
    clear: both;
    display: block;
    width: 99%;
}

.refund-address-1, 
.refund-address-2,
.required-field
{
    margin-bottom: 15px;
}

.refund-address-1, 
.refund-address-2
{
    margin-top:15px;
}



/* RESERVATION RETRIEVAL
************************************/

.res-retrieval-wrap fieldset
{
    margin: 20px 0;    
}

.res-retrieval-wrap label
{
    display: block; 
    width: 100%;
}

.res-retrieval-wrap input[type="text"],
.res-retrieval-wrap input[type="password"]
{
    width: 100%;
}

.res-retrieval-btn
{
    margin-top: 20px;
}

.res-retrieval-num,
.res-retrieval-pass
{
    width: 49%; 
    float: left;
}

.res-retrieval-num
{
    margin-right: 1%;
}

.res-retrieval-pass
{
    margin-left: 1%;
}



/* CUSTOMER ACCOUNT
************************************/


/*account overview*/

.account-overview-list
{
    margin:20px 0;
    display:flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.account-overview-list dt,
.account-overview-list dd
{
    margin-bottom:5px;
}

.account-overview-list dt
{
    width:200px;
}

.account-overview-list dd
{
    flex:1;
    flex-basis:65%;
}

.account-overview-list a
{
    display:inline-block; 
    margin-right:10px;
}


/*create account form*/

.create-modal-list,
.account-overview-list
{
    list-style: none;
}

.account-contact-wrap p
{
    margin-bottom: 20px;
}

.create-sec-wrap 
{
    border: solid 2px #f2f2f2;
    border-left: 0;
    border-right: 0;
    margin: 20px 0;
    padding: 20px 0;
}

.subscriptionCheckBoxes input
{
    float: left;
    margin: 5px 5px 0 0;
    display: block;
}

.account-create-btn 
{
    margin: 20px 0;
}

.regis-content-contact label,
.regis-content-pref label 
{
    display: block;   
}
    
.regis-content-pref input 
{
    float: none;
}

.regis-content-pref fieldset 
{
	clear: both;
	margin: 0 10px 10px 0px;
}

.questionPosition label 
{
	display: inline;
}

.regis-content-contact label, 
.regis-content-pref label 
{
	font-weight: normal;
	margin-top: 7px;
}

.regis-content-contact fieldset 
{
	float: left;
	margin: 0px 20px 10px 0px;
}

#registration-tab-container .ui-tabs-nav 
{
    display: flex;
}

#registration-tab-container .ui-tabs-nav li
{
    margin-right: 0px; 
    white-space: normal; 
    display: inline-flex;
    justify-content: center;  
    align-items: center !important;
    flex: 1 1 0;
    position: relative;
	text-align: center;
	background: #fcfcfc; 
}

#registration-tab-container.ui-tabs
{
    border: 0;
}

#registration-tab-container .ui-tabs-nav
{
    margin: 0; 
    padding: 0;
}

#registration-tab-container .ui-widget-header
{
    background: none; 
    border-top: 0;
    border-left: 0; 
    border-right: 0; 
    border-radius: 0; 
    border-color: #dedede;
}

#registration-tab-container .ui-tabs-panel
{
    border: solid 1px #dedede; 
    border-top: 0;
}

#registration-tab-container .ui-state-default a.ui-tabs-anchor
{
    color: #006bb7; 
    width: 100%; 
    height: 100%;  
    letter-spacing: -0.5px; 
    line-height: 1.2; 
    padding: .75em .5em;
}

#registration-tab-container li.ui-state-active
{
    background: #fff;
}

#registration-tab-container .ui-state-active a.ui-tabs-anchor
{
    color: #333;
}

#registration-tab-container li.ui-state-active,
#registration-tab-container li.ui-state-hover
{
    border-color: #dedede;
}

#registration-tab-container li.ui-state-hover
{
    background: #f0f0f0;
}

#registration-tab-container li.ui-state-active.ui-state-hover
{
    background: #fff;
}


/*** reset password ***/

.redeem-password-wrap label
{
    display: block;
    font-weight: bold;
}

.redeem-password-wrap ul
{
    list-style-position: inside;
}

.redeem-section
{
    margin: 20px 0 0 0;
}

.redeem-section small
{
    font-style: italic;
}

.resetPasswordEmail 
{
    margin: 20px 0;
}

.request-thank-you-section h1
{
    padding-top: 20px;
}

#emailResetSuccessMessage,
.redeem-password-wrap {
    background-color: #fff;
    padding: 10px 25px;
}

/*** vacation preferences ***/

.vac-preference-wrap fieldset{margin:20px auto;}

.vac-preference-wrap h3,
.vac-preference-intro
{
    margin-bottom: 20px;
}

.vac-preference-wrap input[type="radio"],
.vac-preference-wrap input[type="checkbox"]
{
    margin-right: 5px;
}

.vac-preference-list
{
    list-style: none;
}

.vac-preference-list li
{
    float: left; 
    width: 32%;
    min-width: 125px;
    margin-right:1%;
    white-space: nowrap;
}

.vac-preference-list label,
.vac-preference-list input
{
    display: inline;
}

.vacpref-check-label
{
    width:100%;
    margin-bottom:5px;
}

@media (max-width:960px)
{
    .vac-preference-list li
    {
        margin-right: 0px;
        width: 50%;
    }
}

@media screen and (max-width: 640px)
{
    .vac-preference-list li
    {
        float: none; 
        display: block;
        margin-right: 0px;
        width: 100%;
    }
}


/*** booked vacations table ***/

.booked-vacations-wrap
{
    margin-top: 20px;
}

.booked-vacations-table, 
.saved-vacations-table
{
    width: 100%; 
    margin-bottom: 20px; 
    border-bottom: solid 5px #f2f2f2; 
    padding-bottom: 10px;
}

.booked-vacations-table caption,
.saved-vacations-table caption,
.cart-feature-upsell-table caption
{
    text-align: left; 
    font-weight: bold; 
    border-bottom: solid 5px #f2f2f2; 
    font-size: 1.8rem;
}

.booked-vacations-table tr,
.saved-vacations-table tr,
.cart-feature-upsell-table tr
{
    border-bottom: solid 1px #f2f2f2;
}

.booked-vacations-table tr:last-child,
.saved-vacations-table tr:last-child,
.cart-feature-upsell-table tr:last-child
{
    border-bottom: 0; 
    margin-bottom: 10px;
}

.booked-vacations-table th,
.saved-vacations-table th 
{
    border-bottom: solid 2px #f2f2f2;
}

.booked-vacations-table caption,
.cart-feature-upsell-table,
.saved-vacations-table caption,
.booked-vacations-table th,
.saved-vacations-table th, 
.cart-feature-upsell-table th,
.booked-vacations-table td,
.saved-vacations-table td,
.cart-feature-upsell-table td
{
    padding: 8px 5px;
}

.saved-vacations-button-wrap
{
    text-align: right;
}

.saved-vacations-button-wrap table {
    width: 60%;
    float: right;
}

.saved-vacations-button-wrap thead {
    height:0;
    margin:0;
    padding:0;
}

.saved-vacations-button-wrap table,
.saved-vacations-button-wrap th,
.saved-vacations-button-wrap tr,
.saved-vacations-button-wrap td {
    border: 0;
    padding: 0;
}

    .booked-mobile-header {
    display: none;
}

.saved-vacations-notice 
{
    font-weight: normal;
    font-style: italic;
    font-size: 1.6rem;
}

.booked-vacations-table .booked-vacation-upsell-wrap
{
    padding: 0;
}

.cart-feature-upsell-table 
{
    width: 100%;
}

.cart-feature-upsell-table caption
{
    text-align: left;
    padding-top: 0;
    padding-bottom: 0;
    border: 0;
}

.cart-feature-upsell-table thead th 
{
    font-weight: normal;
}

.cart-feature-upsell-table th, 
.cart-feature-upsell-table td
{
    width: 50%;
}

.cart-feature-upsell-table th
{
    vertical-align: middle;
    border: 0;
}

.cart-feature-upsell-table tbody td 
{
    text-align: right;
}

.booked-vacation-upsell-row
{
    border: 0;
}

.booked-upsell-feature-wrap
{
    padding: 2% 0;
    border-bottom: solid 5px #f2f2f2;
    margin: 0;
}

.confirmation-wrap .booked-upsell-feature-wrap
{
    margin-bottom: 20px;
    border-bottom: solid 10px #f2f2f2;
}

.booked-upsell-button
{
    display: inline-block;
    text-decoration: none;
    white-space: nowrap;
    width: 120px;
    padding: 4px;
}


@media (max-width:960px)
{
   .booked-vacations-table,
   .booked-vacations-table thead,
   .booked-vacations-table tbody,
   .booked-vacations-table th,
   .booked-vacations-table tr,
   .booked-vacations-table td 
   {
       display: block;
   }
   
   .booked-vacations-table  
   {
       content: "";
       display: table;
       clear: both;
    }
   
   .booked-vacations-table thead    
   {
        position: absolute;
        left: -10000px;
        top: auto;
        width: 1px;
        height: 1px;
        overflow: hidden;
   }
    
   .booked-vacations-table tbody
   {
        width: 100%;
   }
   
   .booked-vacations-table td
   {
       width: 100% !important;
   }
   
   .booked-mobile-header
   {
       display: inline-block; 
       margin-right: 3px;
   }
   
   .saved-vacations-button-wrap .button
   {
       margin-bottom: 5px;
   }
   
   .cart-feature-upsell-table caption,
   .cart-feature-upsell-table tbody td,
   .cart-feature-upsell-table tbody th
    {
        width: 100%; 
        text-align: center;
    }
}

@media screen and (max-width: 640px)
{
   #registration-tab-container .ui-tabs-nav a 
   {
        font-size: 1.2rem;
   }
   
   .cart-feature-upsell-table th, 
   .cart-feature-upsell-table td
   {
       width: 100%;
   }
}

@media (max-width: 460px)
{   
    #registration-tab-container .ui-tabs-nav,
    #registration-tab-container .ui-tabs-nav li
    {
        display: block;
        width: 100%;
    }
    
    #registration-tab-container .ui-tabs-nav li
    {
        border-width: 1px 1px 0px 1px;
        height: auto;
        border-radius: 0px;
    }
    
    .account-overview-list dt,
    .account-overview-list dd
    {
        width:100%; float:none;
    }
    
    .account-overview-list dd
    {
        margin-bottom:20px;
    }
}



/* MODALS
************************************/

.push-right 
{
    float: right;
}

.cancel-no 
{
    margin-left: 10px;
}

#modalParentDiv p
{
    margin-bottom: 15px;
}

#modalExtPostBackground
{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index:1049;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    position: fixed;
}

.modal-wrap,
.modalPopup,
.FareTypeModalPopup
{
    background: #fff; 
    border: solid 1px #dedede;
    border-radius: 3px;
    padding: 30px 2%;
    position: relative;
}

@media (max-width: 414px) 
{
  .modal-wrap,
  .modalPopup,
  .FareTypeModalPopup,
  .modalWaitScreenPopup
    {
        padding-left: 2%;
        padding-right: 2%;
        padding-top: 0px;
        padding-bottom: 0px;
    }  
}

@media (max-width: 414px) 
{
  .modalWaitScreenPopup
    {
        background: #fff; 
        border: solid 1px #dedede;
        border-radius: 3px;
        position: relative;
    }  
}
 
.modal-title
{
    border-bottom: solid 5px #f2f2f2;
    display: block;
    width: 100%;
    padding-top:10px;
}
.modal-overlay,
#modalExtPostBackground
{
    background: rgba(242,242,242, 0.8); 
}
    
.modalBody
{
    background: #fff !important;
}

/* Prevent iOS scrolling bug in iframe modals (https://stackoverflow.com/questions/34766636/ios-browser-iframe-jumps-to-top-when-changing-css-or-content-using-javascript) */
@media (max-width: 414px), (max-height: 414px)
{
    .modalHTML, .modalBody
    {
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (min-width: 415px) and (min-height: 415px) /* Non-phones */
{
    .modal-close
    {
        top: 0px;
        right: 0px;
        z-index: 1000;
        position: absolute;
        padding:  15px 15px; 
    }
}

.modal-close a,
.modal-close button,
.close-text
{ 
    color: #d90707; 
    font-weight: bold; 
    text-transform: uppercase; 
    font-size: 1.2rem; 
    text-decoration: none;
}

.modal-close i
{
    color: #d90707;
    font-size: 2.0rem;
}

#modalContentDiv .modalContainer,
#modalContentDiv .fareTypeContainer,
#modalContentDiv .cookie-policy-container
{
    width: 860px;
}

#modalContentDiv .cookie-policy-container h3
{
    margin: 30px 0 0 0;
}

#modalContentDiv .cookie-policy-container ul
{
    margin: 0 0 0 35px;
}

#modalContentDiv .cookie-policy-container ul li
{
    margin: 0 0 8px 0;
}

#modalContentDiv .cookie-policy-container input[type="checkbox"] 
{
    vertical-align: baseline;
    background-color: blue;
}

.remove-feature-buttons 
{
    text-align: right;
    margin: 20px 0 0;
    padding-top: 20px;
}

.remove-feature-buttons button
{
    float: left;
}


.modal-close button
{
    font-weight: bold;
    cursor: pointer;
    padding: 4px 7px 4px 7px;
    display:block;
    text-align: center;
    color: #fff !important;
    border: 1px solid #006bb7;
    background-color: #127cb7;
    border-radius: 3px;
    text-decoration: none;
    margin-left: auto;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 3px;
}

 button.alt-button {
    font-weight: bold;
    text-decoration: none;
}

.modal-close button .close-text, 
.modal-close button i 
{
    color: #fff !important;
}

@media (max-width: 414px), (max-height: 414px)
{
    .modal-wrap, 
    .fareTypeContainer ,
    .cookie-policy-container
    {
        padding-top: 10px; 
        padding-bottom: 60px;
    }
    
     .modal-close button
    {
        margin-top: 8px;
        margin-right: 3px;
    }
}

@media (min-width: 415px) 
{
   .closeWindowBtn
   {
       display: none;
   }
}

/* Prevents iOS scrolling body through modals */
.fullscreen-modal-open 
{
    position: fixed;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;   
}

/* Enable iframe scrolling and fix momentum scrolling on iOS */
#modalContentDiv, #modalIframeDiv
{
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 414px), (max-height: 414px)
{
    #modalContentDiv, #modalIframeDiv {
        overflow-y: scroll !important; /* Could do at all sizes for tablets, but then desktop shows scrollbar when not needed */
    }
}

/*** secure payment information modal ***/

.sec-payment-details 
{
    margin: 20px 0 10px;
}

.sec-payment-img 
{
    float: left;
    margin: 0 10px 10px 0;
}


/*** schedule change modal ***/

.schedule-change-wrap
{
    margin: 20px auto;
}

.schedule-change-btn-wrap
{
    margin-bottom: 20px;
}

.invalid-age-btn-wrap
{
    text-align: right; 
    clear: both; 
    margin: 20px 0 0;
}

.hotel-rating-list
{
    list-style: none;
    margin-top: 10px;
}

.hotel-rating-list li
{
    margin-bottom: 20px;
}


/*** 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-detail-list ul
{
    margin-left: 18px !important;
}

.feature-highlights 
{
    list-style: none;
    padding: 2%;
}

.feature-highlights ul
{
    margin-left: 18px;
}

.feature-details-list li:last-child
{
    border-bottom: 0;
}

.featureDetailList
{
    padding: 2%;
    list-style: none;
}

.featureDetailList ul
{
    padding: 0;
    list-style: none;
}

.featureDetailList li 
{
    margin-bottom: 10px;
}

.fp-accordian-title button
{
    padding: 1%; 
    background: #f2f2f2; 
    border-bottom: solid 1px #dedede;
    font-size: inherit;
    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: 800px) {
    .feature-summary-image-wrap img {
        max-width: 100%;
    }
}

@media (max-width: 360px) 
{
    .feature-summary-image-wrap img
    {
        width: 96%; 
        margin: 15px auto;
    }
}

   
/*** leg detail modal ***/
    
.flight-detail-list 
{
    padding: 0; 
    margin: 0 0 2% 0; 
    width: 100%;
}

.flight-detail-wrap 
{
    list-style: none; 
    padding: 1% 2%; 
    border-top: 0;
}

.flight-detail-list li:nth-child(even) 
{
    background: #f2f2f2; 
    border-radius: 3px;
}
    
.fdLeft 
{
    width: 28%;
    margin-right: 1%; 
    float: left; 
    margin-bottom: 5px; 
}
        
.fdRight 
{
    width: 70%; 
    margin-left: 1%; 
    float: left;
    margin-bottom: 5px; 
}
    
.feature-detail-summary-wrap span.feature-summary-image-wrap
{
    float: left; 
    margin: 0 20px 0 0;
}    

.air-modal .modal-title
{
    padding-bottom: 20px;
}

.air-modal h2
{
    border: 0; 
    margin-bottom: 0;
}

.air-modal h3
{
    font-style: italic; 
    border-bottom: 20px;
}

.air-modal .flight-leg-carrier
{
    width: 14%; 
    float: left; 
    margin-right: 1%;
}

.air-modal .flight-leg-carrier img
{
    max-width: 80px;
    display: block;
    clear: right;
}
    
.air-modal .flight-leg-info-wrap
{
    width: 84%; 
    float: left; 
    margin-left: 1%;
}


@media (max-width: 760px) 
{
    .air-modal .flight-leg-arrival,
    .air-modal .flight-leg-depart
    {
        width: 100%; 
        float: none;
    }

    .air-modal .flight-leg-depart
    {
        margin-right: 0; 
        margin-top: 2%;
    }

    .air-modal .flight-leg-arrival
    {
        margin-left: 0; 
        margin-top: 2%;
    }

    .air-modal .flight-leg-carrier img
    {
        width: 100%; 
        height: auto;
        max-width: 100px;
    }

    .air-modal .flight-leg-carrier
    {
        width: 25%; 
        float: left; 
        margin-right: 1%;
    }

    .air-modal .flight-leg-info-wrap
    {
        width: 67%; 
        float: left; 
        margin-left: 1%;
    }  
}

@media (max-width: 860px) 
{
    .fareTypeVisibility, 
    .charter-operated,
    .fare-preference,
    .arrival-disclaimer-t,
    .car-icons
    {
        position: static;
    }
    
    .flight-leg-arrival,
    .flight-leg-depart
    {
        width: 49%; 
        float: left;
    }

    .flight-leg-depart
    {
        margin-right: 1%;
    }
    
    .flight-leg-arrival
    {
        margin-left: 1%;
    }

    .flight-leg-carrier img
    {
        width: 100%; 
        height: auto;
    }
    
    .flight-leg-info-wrap
    {
        width: 80%; 
        float: left;
        margin-left: 1%;
    }
}


/*** economy fare modal ***/

.fare-grid
{
    border-collapse: unset;
}

.fare-grid,
.fare-grid thead,
.fare-grid tfoot,
.fare-grid tbody,
.fare-grid th,
.fare-grid td.fare-recommendation
{
    display: block;
}

.fare-grid tr,
.fare-grid td

{
    display: flex;
}

.fare-grid th,
.fare-grid td
{
    width: 50%; 
    border: solid #ddd;
    border-width: 0 2px;
    padding: 10px;
}

.fare-grid th,
td.fare-recommendation
{
    color: #fff;
    background: #333;
    border-color: #333;
    text-align: center;
}

.fare-grid td
{
    line-height: 1.4;
    vertical-align: top;
}

.fare-grid th:first-child,
.fare-grid td:first-child
{
    margin-right: 20px;
}

th.fare-title
{
    font-size: 1.6rem;
    padding: 10px 5px 0 5px;
}

td.fare-recommendation
{
    font-size: 1.2rem;
    padding: 0 5px 10px 5px;
}

.fare-icon
{
    padding: 0 5px 5px 5px;
}

.fare-grid .fa-check
{
    font-size: 2.4rem;
    color: #44812d;
}

.fare-grid .fa-times
{
    font-size: 3rem;
    color: #d90707;
}

.fare-grid td.fare-price-wrap,
.fare-grid td.fare-restrictions,
.fare-grid td.fare-select
{
    text-align: center;
    border-width: 0;
}

.fare-grid td.fare-restrictions
{
    width: 100%;
    font-size: 1.2rem;
    margin-right: 0;
    padding-bottom: 0;
    display: block;
}

.fare-grid td.fare-price-wrap
{
    border-top-width: 2px;
    display: block;
}

.fare-price
{
    display: block;
    font-weight: bold;
    font-size: 2.4rem;
}

.fare-price-per
{
    font-size: 1.2rem;
    vertical-align: top;
}

td.fare-select
{
    padding-top: 0;
}

.fare-select .button
{
    width: 100%;
    height: 100%;
    min-height: 30px;
}

.fare-perk-title
{
    font-weight: bold;
    font-size: 1.5rem;
}

.fare-perk-description
{
    display: block;
    font-size: 1.3rem;
}

.economy-fare-error 
{ 
    color: #d90707; 
    text-align: center; 
    border: 2px solid #d90707; 
    padding: 10px; 
    font-weight: bold; 
    margin-bottom: 15px 
} 

/* styles for fare grid when no upsell is present */
.fare-grid th:only-of-type,
.fare-grid td:only-of-type 
{
    width: 100% !important;
    margin-right: 0 !important;
}


@media (max-width: 414px)
{
    .fare-grid th:first-child,
    .fare-grid td:first-child
    {
        margin-right: 0;
    }

    .fare-grid td:first-child
    {
        border-right-width: 0;
    }

    .fare-grid td:last-child
    {
        border-left-width: 0;
    }

    .fare-inclusions td:first-child
    {
        width: 100%;
    }

    .fare-inclusions td:first-child .fare-perk
    {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding-left: 15px;
    }

    .fare-inclusions td:not(:first-child)
    {
        width: auto;
        margin-left: auto;
    }

    .fare-inclusions td:not(:first-child) .fare-perk
    {
        display: none;
    }

    .fare-includes-left,
    .fare-grid th:first-child,
    .fare-recommendation:first-child
    {
        text-align: left;
    }

    .fare-includes-right,
    .fare-grid th:last-child,
    .fare-recommendation:last-child
    {
        text-align: right;
    }

    /* styles for fare grid when no upsell is present */

    .fare-grid th:only-of-type,
    .fare-grid thead td:only-of-type
    {
        text-align: center;
    }

    .fare-grid td:only-of-type .fare-perk
    {
        text-align: left;
    }

    .fare-inclusions td:only-of-type
    {
        border-width: 0 1px;
    }

    .fare-inclusions .fare-perk-description
    {
        display: none !important; 
    } 
}


/*** email itin modal ***/
input.email-itin-subject {
    background: #dddddd;
    cursor: default;
    border: 0px;
    color: #333;
}      

.email-itin-from
{
    display: none;
}

.itin-modal-hide 
{
    display: none;
}

.itin-ar-wrap
{
    margin-bottom: 15px;
}

.itin-send-wrap
{
    margin-top: 10px;
    padding: 0 0 30px 3px;
}

.itin-modal-salutation
{
    width: 100%;
}
  
    
/*** seat map modal ***/

.seat-map-modal .closeWindowBtn {
display:none;
}

    .seat-map-modal .ui-tabs-anchor {
    font-size: 1.2rem;
}

.seat-map-modal .ui-widget-header,
.seat-map-modal #flightTabs
{
    background: none;
    border: 0;
    padding: 0;
}

.seat-map-instructions-wrap
{
    margin-bottom: 20px;
}

.plane-wrap
{
    width: 600px;
}

.plane-direction-wrap 
{
    margin-left: 27px;
    margin-bottom: 5px;
}

.seat-map-modal .ui-tabs-panel:after
{
    clear: both;
    display: table;
    content: "";
}

.seat-map-modal #flightTabs 
{
    padding-top: 20px;
}

.seat-map-modal .ui-tabs-panel
{
    border: 1px solid #aaa;
}

.seat-map-segment-heading 
{
    font-size: 1.6rem;
    border: 0;
    margin-bottom: 0;
}

.seat-map-grid td,
.seat-map-grid th
{
    padding: 2px;
}

.seat-map-grid td:focus 
{
    outline: 1px solid #006bb7;
}

.seat-map-grid th
{
    text-align: center;
}

.wing-row
{
    background-color: #c0c0c0;
}

.seat-map-legend,
.seat-map-key-guide
{
    float: right;
    width: 320px;
    margin-top: 57px;
    border: 1px solid #dedede;
    padding: 15px;
    margin-top: 15px;
}

.seat-map-key-guide dt 
{
    font-weight: bold;
}

.seat-map-legend .wing-row
{
    display: inline-block;
    width: 15px;
    height: 15px;
}

.exit-row
{
    background-color: #cc9900;  /* Overrides wing-row */
}

.seat-map-legend .exit-row
{
    display: inline-block;
    width: 15px;
    height: 15px;
}

.seat-map-grid td.available[aria-readonly="false"]
{
    cursor: pointer;
}

.seat-map-legend img,
.seat-map-legend span
{
    margin-right: 5px;
    margin-bottom: -2px;
}

.seat-image
{
    width: 15px;  /* Smoother rendering */
    height: 15px;
}

.selected-seat-num
{
    font-weight: bold;   
}

.seat-map-warning
{
    max-width: 500px;   
}

.seat-map-conditions 
{
    padding: 25px 0;
}

.seat-map-warning div 
{
    margin-bottom: 20px;
}


@media (max-width: 640px) 
{
    .seat-map-grid img
    {
        width: 17px;
        height: 17px;
    }
    
    .seat-map-legend,
    .seat-map-key-guide 
    {
        float: none;
        margin-top: 0;
        margin-bottom: 20px;
    }
    
    .seat-map-grid td,
    .seat-map-grid th
    {
        padding: 3px;
    }
    
    .plane-direction-wrap 
    {
        margin-left: 40px;
    }
    
    .plane-wrap,
    .seat-map-legend,
    .seat-map-key-guide
    {
        width: 100%;
    }
}

@media (max-width: 360px) 
{
    .seat-action 
    {
        margin-bottom: 30px;
    }
}


/*** taxes and fees modal ***/

.taxes-modal-content ul 
{
    margin-left: 20px;
}

.taxes-modal-list
{
    margin: 10px 0 20px; 
    list-style-type: disc; 
    padding-left: 20px;
}

.taxes-modal-sublist
{
    list-style-type: circle; 
    margin-left: 20px;
}
    
.taxesFeesList
{
    padding: 10px;
    width: 100%;
}
        
.taxesFeesList tr
{
    border-bottom: solid 1px #f2f2f2;
    padding: 1% 0;
}

.taxesFeesList td, 
.taxesFeesList th
{
    padding: 1% 0;
}
        
.listDescription
{
    padding: 10px;
}
       
.taxesFeesList .title
{
    width: 100%;
    margin: 10px 0;
    border-bottom: solid 5px #f2f2f2;
    text-align: left;
}

.taxesFeesList .floatRight
{
    display: block;
    width: 30%;
    float: left;
}

.taxesFeesList caption
{
    font-weight: bold; 
    font-size: 1.8rem;
}

.tax-fee-title,
.tax-fee-total
{
    border-radius: 3px;
    padding: 3px 10px;
    border-top: solid 5px #f2f2f2;
}

.tf-col-1 
{
    width: 50%;
}

.tf-col-2, 
.tf-col-3
{
    width: 20%;
}

.tf-col-4
{
    width: 8%;           
}

.taxes-modal-content 
{
    margin: 40px 0 20px;
}

.tf-cell-space
{
    display: none;
}

.tf-cell-space:first-child
{
    display: table-cell;
}

.tf-col-loyalty {
    text-align: right;
}

.tf-col-loyalty-wrap {
    display: flex;
    justify-content: flex-end;
}

.tf-col-loyalty-amt {
    display: flex;
    justify-content: flex-end;
}

.tf-col-loyalty-cash {
    min-width: 20%;
}

.tf-col-loyalty-plus-sign {
    display: inline-block;
    margin: 0 0 0 2rem;
}

.tf-col-centered {
    vertical-align: middle;
}

.points-earned-disclaimer {
    font-style: italic;
    font-size: 1.1rem;
}
/*** leg detail modal ***/
    
.flight-detail-list
{
    padding: 0;
    margin: 0 0 2% 0;
    width: 100%;
}
    
.flight-detail-wrap td, 
.flight-detail-wrap th
{
    padding: 1% 2%;
    border-top: 0;
}
    
.flight-detail-list tr:nth-child(even)
{
    background: #f2f2f2;
    border-radius: 3px;
}
    
.fdLeft
{
    width: 28%;
    margin-right: 1%;
    float: left;
    margin-bottom: 5px;
}
        
.fdRight
{
    width: 70%;
    margin-left: 1%;
    float: left;
    margin-bottom: 5px;
}


/*** privacy policy modal ***/

#PrivacyContentDescription p
{
    margin-bottom: 10px;
}

/*** custom event modal ***/

.custom-event-modal
{
padding:10px;
}

.custom-event-modal .custom-event-email-verbiage
{
    padding-top:10px;
}
.custom-event-modal label
{
    width:100%;
    display:block;
    padding-top:10px;
}

.custom-event-modal .error
{
    font-size: 13px;
	color:Red;
	display:block;	
}

/*** hotel profile modal ***/

    .hotel-profile-wrap {
        padding: 0 3px;
    }

    .hotel-profile-wrap .modal-title {
    display: flex;
    align-items: flex-start;
}

.hotel-profile-wrap .modal-title h2 
{
    border-bottom: none;
    margin-bottom: 0;
    display: inline;
    margin-right: 10px;
}

.hp-hotel-rating-wrap
{
    padding-bottom: 10px;
}

.hp-rating-wrap
{
    display: inline-block;
}

.hp-rating-wrap img[class^="rating_"] 
{
    vertical-align: inherit;
}

.hp-hotel-rating-wrap .hotel-rating-wrap
{
    width:auto;
}

button.cleaning-badge
{
    margin-left: auto;
    padding: 0 0 0 10px;
}

.modal-title button.cleaning-badge
{
    padding: 0 40px 0 10px;
}

button.cleaning-badge img
{
   width: 75px;
}

.hp-hotel-address-wrap 
{
    margin-bottom: 15px;
}

.hp-top-wrap 
{
    margin: 15px 0;
}

.hotel-information-wrap 
{
    float: left;
    padding-bottom: 15px;
    width: 58%;
}

.hp-top-wrap .PRICE-SELECT-WRAP 
{
    width: 40%;
}

.hp-top-wrap .PRICE-DIVIDE 
{
    display: none;
}

.hp-top-wrap .PRICE-INCLUSION-WRAP 
{
    margin-bottom: 5px;
}

    #priceSelectPosition {

}

    #priceSelectPosition #selectButton {

}

    .hotel-profile-price-cash {
    text-align: left;
    max-width: 40%;
}

    .hotel-profile-price-cash .cha--hotel-rewards {
    align-items: flex-start;
}
    .hotel-profile-price-loyalty {

}
    .dmca-link {
    float: right;
    margin: 4px 0;
}

.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;
}

.hp-marketing-info ul
{
    margin-bottom: 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;
    }

    .hotel-room-type-wrap .room-type-wrap {
        margin: 15px 0;
    }

    .room-type-wrap h3 {
    border-top: 1px dashed #dedede;
    padding-top: 10px;
    margin-top: 15px;
    font-size: 1.5rem;
}

.room-type-wrap h3:first-child 
{
    border-top: none;
    padding-top: 0 ;
}

    .room-type-promos-wrap {
    font-size: 1.2rem;
    max-width: 450px;
}

.room-type-wrap h3 span 
{
    font-size: 1.2rem;
    font-weight: normal;
}

.rooms-tab-heading span {
    font-size: 80%;
    font-weight: normal;
}

.price-per-wrap
{
    float: right;
    text-align: right;
}

.acc-price-per-wrap {
    display:flex;
    align-items:flex-end;
}

.acc-room-rewards-wrap > div {
    margin-bottom:2px;
    margin-right:20px;
}

.price-per-wrap > span {
    display: block;
    font-size: 1.2rem;
    margin-bottom: 3px;
}

.price-per-wrap > span strong
{
    font-weight:bold;
    font-size:1.8rem;
    display:block;
    margin-bottom:5px;
}

.price-per-wrap div
{
    font-size: 1.2rem;
}

#tabs-3 .avail-rooms-panel,
#tabs-3 .unavail-rooms-panel {
    border-bottom: 0;
}

.acc-room-type{
    border-bottom: solid 10px #f2f2f2;
    margin-bottom: 15px;
}

#tabs-3 .avail-rooms-panel .expco-trigger,
#tabs-3 .unavail-rooms-panel .expco-trigger {
    background: none;
    border-top: 0;
    border-bottom: 0;
    padding:0;
}

#tabs-3.ui-tabs-panel {
    padding-left: 0;
    padding-right: 0;
}

#tabs-3 > h2,
.room-category-wrap,
.room-type-inner-wrap,
.hotel-fees-disclaimer-wrap {
    padding: 0 20px 20px;
}

.room-category-wrap h2 {
    border-bottom: 0;
}

.room-category-wrap + .room-type-wrap .acc-room-type,
.unavail-rooms-panel .room-category-wrap + .unavail-rooms-panel .room-type-wrap {
border-bottom: 1px dashed rgb(222, 222, 222);
margin-bottom: 10px;
}

.room-category-wrap + .room-type-wrap .acc-room-type .room-type-inner-wrap {
    padding-bottom: 10px;
    padding-left: 35px;
    padding-right: 35px;
}

.room-category-wrap + .room-type-wrap .acc-room-type:last-child,
.unavail-rooms-panel .hotel-room-type-wrap .room-category-wrap:only-child {
    border-bottom: solid 10px #f2f2f2;
    margin-bottom: 15px;
    padding-bottom: 20px;
}

.room-category-wrap + .room-type-wrap .acc-room-type:only-child .room-type-inner-wrap {
    padding-left: 20px;
    padding-right: 20px;
}

.room-selected {
    border: solid 2px #aaa;
    padding: 20px;
}


@media (max-width: 640px) {
    .price-per-wrap, .room-type-promos-wrap,
    .acc-price-per-wrap
{
        display: block;
        text-align: center;
        width: 100%;
    }

    .acc-price-per-wrap .no-logo-reward-badge-wrap {
        margin: 10px auto 5px auto;
    }

    .hotel-information-wrap {
        width: 100%;
    } 
    
    .price-per-wrap 
    {
        margin-top: 10px;
    }
    
    .hp-top-wrap .PRICE-SELECT-WRAP 
    {
        width: 100%;
        clear: both;
        margin-top: 15px;
    }

    .hotel-room-type-wrap .room-type-wrap 
    {
       margin:15px;
    }

    #tabs-3 .room-type-inner-wrap {
        margin-bottom: 20px;
    }
}


/* 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;
}


/*** vehicle profile modal ***/

#vehicleProfileTabs 
{
    width: 100%; 
}

#policiesSubTabs 
{
    margin-top: 10px; 
}

#policiesSubTabs .expco-trigger
{
    padding: 1%;
    background: #f2f2f2;
    display: block;
    text-decoration: none;
    border-top: 1px solid #dedede;
    width: 100%;
}

#vehicleProfileTabs .ui-tabs-anchor 
{
    padding: 5px 8px;
}

#vehicleProfileTabs .ui-corner-all 
{
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; 
}

#vehicleProfileTabs .ui-tabs-nav
{
    border-width: 0 0 1px;
    min-width: 320px; 
    padding: 5px;
}

#vehicleProfileTabs.ui-tabs
{
    border: 0;
}

#VehicleDescriptionTab,
#PoliciesTab,
#RateDetailsTab,
#LocationsTab
{
    border: solid 1px #dedede; 
    border-top: 0;
}

#vehicleProfileTabs .ui-widget-header
{
    background: none !important; 
    padding: 0; 
    border-color: #dedede;
}

#vehicleProfileTabs .ui-widget-header .ui-state-active
{
    border-color: #dedede;
}

#policiesSubTabs
{
    border: solid 1px #dedede;
}

#policiesSubTabs .expco-content-wrap
{
    width: 96%;
    margin: 2%;
}

#policiesSubTabs .expco-trigger-text
{
    margin-left: 5px;
}

#policiesSubTabs .more-info-list
{
    list-style: none;
}

#vehicleProfileTabs h2
{
    border-color: #dedede;
    padding: 40px 0 0 0;
}

#vehicleProfileTabs h2 em
{
    font-size: 1.4rem; 
    font-weight: normal; 
    display: block;
}

.vp-image-container
{
    margin-right: 1%; 
    width: 28%; 
    float: left;
}

.vp-image-container img
{
    width: 100%; 
    max-width: 160px;
}

.vp-feature-container
{
    margin-left: 1%; 
    width: 70%; 
    float: left;
}

.vp-title-wrap
{
    position: relative;
}

.vp-logo-image
{
    position: absolute; 
    top: 0; 
    right: 0;
}

.rate-details-list td, 
.rate-details-list th
{
    padding: 1% 2%;
    border-top: 0;
}

th.rate-detail
{
    width: 70%; 
    text-align: left;
    padding-left: 10px;
    font-weight: normal;
}

td.rate-price
{
    width: 30%; 
    text-align: right;
    padding-right: 10px;
}

.rate-details-list
{
    width: 100%;
}

.rate-details-list tr.rate-row
{
    padding: 10px 0 !important;
}

.rate-details-list caption
{
    text-align: left;
    padding: 10px;
    border-bottom: solid 1px #f2f2f2;
    font-weight: bold;
}

ul.listVehicle li
{
    list-style: disc; 
    margin-left: 30px;
}

ul.listVehicle 
{
    margin-bottom: 30px;
}

ul.locations-list 
{
    list-style: none;
}

ul.locations-list li
{
    border-bottom: solid 1px #f2f2f2;
    margin-bottom: 20px;
}

ul.locations-list li:last-child
{
    border-bottom: 0;
}

.deposit-notes
{
    margin-top: 5px; 
    padding-top: 10px;
}

dl.rental-rules-list dd.rental-rule-note,
dl.deposits-list dd.deposit-note 
{
    margin-bottom: 10px;
    border-bottom: solid 1px #dedede;
    font-size: 1.4rem;
    padding-bottom: 10px;
    display: block;
    width: 100%;
    clear: both;
}

dl.rental-rules-list dd.rental-rule-status,
dl.rental-rules-list dt,
dl.deposits-list dd.rental-rule-status,
dl.deposits-list dt
{
    display: inline-block;
    float: left;
    text-align: left;
}

dl.rental-rules-list em,
dl.deposits-list em
{
    font-size: 1.4rem;
}

.rate-details-list tr:nth-child(even)
{
    background: #f2f2f2;
    border-radius: 3px;
}

.location-address
{
    width: 49%; 
    float: left; 
    margin-right: 1%;
}

.location-hours
{
    width: 49%; 
    float: right; 
    margin-left: 1%;
    margin-bottom: 15px;
}

.more-info-item
{
    margin-bottom: 15px;
}


@media (max-width: 500px)
{
    #vehicleProfileTabs .ui-state-default .ui-tabs-anchor
    {
        padding: 2px 4px;
    }
}

@media (max-width: 479px)
{
    #vehicleProfileTabs .ui-state-default .ui-tabs-anchor
    {
        font-size: 10px;
    }
}

@media (max-width: 580px) 
{
    .vp-image-container
    {
        width: 100%; 
        margin: 10px 0;
        float: none;
    }

    .vp-feature-container
    {
        margin: 10px 0; 
        width: 100%; 
        float: none;
    }
    
    .location-address,
    .location-hours
    {
        width: 100%; 
        float: none; 
        margin: 20px 0;
    }
}


/*** hotel maps modal ***/

.map-display-wrap
{
	height: 500px;
	width: 70%;
	position: relative;
	float: left;
	border: solid 1px #dedede;
	border-radius: 3px;
}

.mhotel-list-wrap,
.mhotel-detail-wrap
{
    float: left;
	overflow: auto; 
	width: 28%;
	height: 500px;
    background: #f2f2f2;
	padding: 2%;
	margin-right: 2%;
	border-radius: 3px;
	line-height: 18px;
}

.mapInfoBoxHotel
{
    padding: 10px;
    max-width: 270px;
}

.mhotel-detail-wrap div
{
    border-bottom: solid 3px #dedede;
    padding: 0 0 15px;
    margin-bottom: 10px !important;
}
 
#PropertyListVirtualEarth.mhotel-detail-wrap div img
{
    margin-bottom: 10px;
}

.mhotel-detail-wrap hr 
{
    display: none;
}

.mapInfoBoxHotel h3 
{
    text-align: left;
    line-height: 2;
 }

@media (max-width: 414px), (max-height: 414px)
{
    .mapInfoBoxHotel h3 
    {
        font-size: 1.2rem;
    }
    
    #map_infobox_content
    {
        min-width: auto !important;
        min-height: auto !important;
        max-width: 150px;
    }
}

.mapInfoBoxHotel ul
{
    margin: 0;
    padding: 0;
    text-align: left;
}

#mapDiv_infobox_content 
{
    border: solid 1px #dedede !important;
    border-radius: 3px !important;
}

#mapDiv_infobox_content a 
{
    font-size: 1.4rem !important;
    line-height: 2 !important;
}

#mapDiv_infobox_arrow 
{
    border-right-color: #dedede !important;
}

#mapDiv_infobox_closeBtn
{
    font-weight: bold;
    color: #d90707;
}

#PropertyListVirtualEarth img
{
	margin: 0 10px 10px 0;
	float: left;
}

#PropertyListVirtualEarth div
{
	margin: 2px 0px 2px 0px;
	line-height: 16px;	
	clear: both;
	overflow: hidden;
}

.VE_Pushpin_Popup_Body 
{
    text-align: left;
}


@media (max-width: 479px)
{
    .map-display-wrap
    {
	    height: 500px;
	    width: 100%;
	    float: none;
    }

    .mhotel-list-wrap,
    .mhotel-detail-wrap
    {
        float: none;
	    overflow: auto; 
	    width: 100%;
	    height: 160px;
    }
    
    .mhotel-list-wrap
    {
	    height: 300px;
	    margin-bottom: 20px;
    }
}
@media (max-width: 414px), (max-height: 414px)
{
    .map-display-wrap
    {
	    height: 100%;
	    width: 100%;
	    position: absolute;
    }
}


/*** save itin modal ***/

.save-itin-modal p
{
    margin-bottom: 20px;
}

.save-itin-modal .save-itin-buttons
{
    text-align: right;
    margin: 20px 0 0;
    padding-top: 20px;
}

.save-itin-modal .button
{
    display: inline;
}


/*** account/password modal ***/

.account-modal label
{
    width: 100%;
    display: block;
}

.account-modal input 
{
    margin-bottom: 20px;
    width: 100%;
}

.account-modal p 
{
    margin-bottom: 20px;
}

#PasswordReset input[type="text"]
{
    margin-bottom: 20px;
    width: 50%;
}

.password-results p 
{
    margin-bottom: 20px;
    clear: both;
}

.old-pass
{
    width: 49%;
    float: left;
    clear: right;
}

.new-pass 
{
    width: 49%;
    float: left;
    margin-right: 2%;
}

.confirm-new-pass
{
    width: 49%;
    float: left;
}

.change-password-wrap p 
{
    margin-bottom: 10px;
}

.change-password-input-wrap 
{
    margin: 20px 0;
}

.change-password-wrap label
{
    display: block;
}


/*** email itin modal ***/

    .email-itin-modal {
      padding: 0 3px;
    }

    .email-itin-modal label {
    display: block;
    clear: right;
}

.email-itin-modal input
{
    margin-bottom: 15px;
}

/*** login component modal ***/

#forgotPassword
{
	clear: both;
	padding-top: 10px;
}

#forgotPassword strong
{
	display: block;
}

#retrieveLoginPanel,
.login-wrap
{
    width: 100%;
}

/* used to specifically hack around the login button */
.btnSearchLt,
.btnSearchRt
{
	height: 36px;
    font-size: 140%;
    padding: 8px 0px 8px 0px;
    outline: none;
	border: 0px;
}

.create-zone-wrap 
{
    width: 49%;
    float: right;
    margin-left: 1%;
}

.create-zone
{
    background: #f2f2f2;
    border: solid 1px #dedede;
    border-radius: 3px;
    padding: 2%;
}

.create-zone-p
{
    margin: 15px 0;
}

.create-list
{
    margin-bottom: 15px;
    list-style: none;
}

.create-list li 
{
    margin-bottom: 5px;
}

.exclusiveMember
{
    font-size: medium;
    font-weight: bold;
    margin-left: 150px;
}

.sign-in-wrap 
{
    width: 49%;
    float: left;
    margin-right: 1%;
    position: relative;
}

.sign-in-wrap table 
{
    width: 100%;
}

.sign-in-wrap input[type="text"]
{
    margin-bottom: 15px;
}

.sign-in-wrap input[type="text"], 
.sign-in-wrap input[type="password"]
{
    width: 100%;
}

#signInZone fieldset
{
	clear: both;
}

#signInZone label 
{
    display: block;
    width: 100%;
}

#newAccountZone h4
{
	color: #006bb6;
}

#joinButtonPosition
{
	padding: 0px;
	margin: 10px 5px 15px;
}

#loginButtonPosition
{
	clear: both;
	padding: 10px 0;
	width: 100%;
}

.sign-in-remember
{
    margin: 15px 0 5px;
}

.sign-in-remember input 
{
    float: left;
}

#signInZone .sign-in-remember label
{
    float: right;
    margin: 0 0 0 0;
    width: 95%;
}

#fb-loader
{
    display: none;
    position: relative;      
    left: 0;
    height: 43px;    
    background: #ffffff url("https://trisept.widen.net/content/kobkvmf1dm/web/TRI_IMG_WEBSITE_ajax-loader.gif?animate=true") no-repeat 10px 10px;
    width: 113%;
}
.fb-button-signin
{
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 250px;
	height: 34px;
	background: url("https://trisept.widen.net/content/p6roeeu0cj/png/TRI_IMG_BTN_connect-facebook-button-2.png") no-repeat;
        text-indent: -9000px;
	display: block;
}
.fb-button-new
{
    display: none;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 250px;
	height: 34px;
	background: url("https://trisept.widen.net/content/p6roeeu0cj/png/TRI_IMG_BTN_connect-facebook-button-2.png") no-repeat;
}

.fb-log-placeholder-img
{
    width: 250px;
    height: 34px;
    padding: 0;
    margin: 0;
}


@media (max-width: 580px) 
{
    .create-zone-wrap
    {
        width: 100%;
        float: none;
        margin-left: 0;
    }

    .sign-in-wrap
    {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 20px;
        position: relative;
    }
}

@media (max-width:414px)
{
   #signInZone .sign-in-remember label 
   {
        float: none;
    } 
}


/*** in-path modal ***/

.in-path-modal-wrap .modal-close
{
    padding-right: 10px;
}

.in-path-main 
{
    margin-bottom: 20px;
    margin-top: 30px;
    text-align: center;
}

.in-path-content-3 
{
    font-weight: bold;
    font-size: 1.6rem;
}

.in-path-update-rooms 
{
    text-align: center;
}

.in-path-update-rooms .infant-question
{
    margin-top: 0;
    font-size: 1.2rem;
}

.in-path-update-pax select
{
    width: 100%;
}

.in-path-main span 
{
    display: block;
}

.in-path-update-pax 
{
    background: #f2f2f2;
    padding: 15px;
    margin: 10px 0;
}

.in-path-rooms-wrap
{
    margin-top: 20px;
}

.in-path-booking-children 
{
    font-weight: bold;
    margin-bottom: 5px;
}

.in-path-pax-num-wrap > div,
.in-path-child-age-wrap
{
    float: left;
    width: 50px;
    margin-right: 20px;
}

.in-path-submit-wrap
{
    text-align: right;
}


/*** modified trip modal ***/

.trip-modified-modal .button
{
    float: right;
}

/*** post booking modal ***/

.post-booking-modal {
    max-width: 500px;
    min-width: 300px;
}

.post-booking-actions {
    float: right;
    padding-top: 10px;
}


/* WAITSCREEN
************************************/
.waitscreen-modal-wrap,
.pl-waitscreen-modal-wrap,
.plwait-modal-wrap,
.in-path-modal-wrap {
    padding: 2%;
    background-color: #fff;
    min-width: 320px;
    max-width: 600px;
}
@media (min-width: 415px) 
{
    .waitscreen-modal-wrap,
    .pl-waitscreen-modal-wrap, 
    .plwait-modal-wrap,
    .in-path-modal-wrap
    {
        border: solid 1px #dedede;
        border-radius: 3px;
    }
}

@media (max-width: 414px) 
{
    #fakeModalParentDiv.ext-fake-modal
    {   
        position: fixed;
        z-index: 100001;
        left: 0px;
        top: 0px;
        height: 100vh;
        width: 100vw;
    }
}

@media (min-width: 415px) 
{
    #fakeModalParentDiv.ext-fake-modal
    {
        z-index:1050;
        position:relative;
        margin:0 auto;
        min-width: 320px;
        max-width: 600px;
    }
}
    
.waitscreen-ind
{
    text-align: center;
    margin: 10px auto;
}

.pl-waitscreen-modal-wrap .waitscreen-ind, 
.waitscreen-modal-wrap .waitscreen-ind 
{
    font-size: 2.8rem;
}

.promo-restool-warning {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(255,255,255,0.6);
    z-index: 8;
}

.promo-restool-warning p {
     position: absolute;
     top: 20%;
     left: 0;
     width: 100%;
     background: #ffffff;
     border: solid 4px #000000;
     border-radius: 15px;
     padding: 30px;
     text-align: center;
     font-weight: bold;
}

.select-progress-ind,
.smt-select-progress-ind,
.flx-select-progress-ind, 
.pay-progress-ind
{
    width: 100%; 
    height: 100%; 
    background: rgba(255,255,255,0.6); 
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: 105000;
}

.select-progress-ind p,
.smt-select-progress-ind p,
.flx-select-progress-ind p,
.pay-progress-ind p
{
    position: absolute; 
    top: 45%; 
    left: 40%; 
    width: 20%; 
    height: auto;
    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,
    .flx-select-progress-ind p,
    .pay-progress-ind p
    {
        top: 45%; 
        left: 10%; 
        width: 80%; 
        height: 100px; 
    }
}



/* PAGING/SORTING
************************************/

.sort-paging-wrap
{
    padding: 2% 0;
    border-top: solid 3px #dedede;
}

.proceed-btn-wrap
{
    margin: 0 0 20px 0;
    background: #f2f2f2;
    border: solid 1px #dedede;
    border-radius: 3px;
    padding: 2%;
    text-align: right;
    overflow: hidden;
}
    
.sorting-position
{
    float: left; 
    width: 49%;
}

.paging-position
{
    float: right;
    width: 49%;
    text-align: right;
}



/* VALIDATOR CALLOUT
************************************/

.ajax__validatorcallout div, .ajax__validatorcallout td
{
    border: solid 2px #aa0000;
    color: #aa0000;
    background-color: #ffcccc;
    vertical-align: top;
    text-align: center;
    font-weight: bold;
}

.ajax__validatorcallout_popup_table 
{
    border: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.insurance-selection .ajax__validatorcallout_popup_table
{
    top: auto !important;
    left: auto !important;
}

.insurance-selection .ajax__validatorcallout_callout_arrow_cell 
{
    display: none;
}

.ajax__validatorcallout_popup_table_row 
{
    vertical-align: top;
    height: 100%;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.ajax__validatorcallout_callout_cell 
{
    width: 20px;
    height: 100%;
    text-align: right;
    vertical-align: top;
    border: none !important;
    background-color: transparent !important;
    padding: 0;
    margin: 0;
}

.ajax__validatorcallout_callout_table
{
    height: 100%;
    border: none;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.ajax__validatorcallout_callout_table_row
{
    background-color: transparent;
    padding: 0;
    margin: 0;
}

.ajax__validatorcallout_callout_arrow_cell 
{
    padding: 8px 0 0 0;
    margin: 0;
    text-align: right;
    vertical-align: top;
    font-size: 1px;
    border: none !important;
    background-color: transparent !important;
}

.ajax__validatorcallout_callout_arrow_cell_reverse 
{
    padding: 8px 0 0 0;
    margin: 0;
    text-align: left;
    vertical-align: top;
    font-size: 1px;
    border: none !important;
    background-color: transparent !important;
}

.ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv
{
    font-size: 1px;
    position: relative;
    left: 2px;
    border-bottom: none !important;
    border-right: none !important;
    border-left: none !important;
    width: 15px;
    background-color: transparent !important;
    padding: 0;
    margin: 0;

}

.ajax__validatorcallout_callout_arrow_cell_reverse .ajax__validatorcallout_innerdiv_reverse
{
    font-size: 1px;
    position: relative;
    right: 1px;
    border-bottom: none !important;
    border-right: none !important;
    border-left: none !important;
    width: 15px;
    background-color: transparent !important;
    padding: 0;
    margin: 0;
}

.ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div
{
    height: 1px;
    overflow: hidden;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    padding: 0;
    margin: 0 0 0 auto;
}

.ajax__validatorcallout_callout_arrow_cell_reverse .ajax__validatorcallout_innerdiv_reverse div
{
    height: 1px;
    overflow: hidden;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    padding: 0;
    margin: auto 0 0 0;
}

.ajax__validatorcallout_error_message_cell
{
    font-size: 1.2rem;
    padding: 10px;
    border-right: none !important;
    border-left: none !important;
    width: 100%;
}

.ajax__validatorcallout_icon_cell
{
    width: 0;
    padding: 0;
    margin: 0;
    border-right: none !important;
}

.ajax__validatorcallout_icon_cell_reverse
{
    width: 20px;
    padding: 5px;
    margin: 0;
    border-left: none !important;
}

.ajax__validatorcallout_icon_cell img 
{
    display: none;
}
.ajax__validatorcallout_icon_cell_reverse img 
{
    display: none;
}

.ajax__validatorcallout_close_button_cell
{
    position: relative;
    vertical-align: top;
    padding: 0;
    margin: 0;
    text-align: right;
    border-left: none !important;
}

.ajax__validatorcallout_close_button_cell img 
{
    position: absolute;
    top: 2px;
    right: 2px;
}

.ajax__validatorcallout_close_button_cell_reverse
{
    vertical-align: top;
    padding: 0;
    margin: 0;
    text-align: right;
    border-right: none !important;
}

.ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv
{
    border: none !important;
    text-align: center;
    width: 10px;
    padding: 2px;
    cursor: pointer;
}

.ajax__validatorcallout_close_button_cell_reverse .ajax__validatorcallout_innerdiv_reverse
{
    border: none !important;
    text-align: center;
    width: 10px;
    padding: 2px;
    cursor: pointer;
}


@media (max-width: 767px) 
{
    .ajax__validatorcallout.ajax__validatorcallout_popup_table 
    {
        top: auto !important;
        left: auto !important;
    }

    .ajax__validatorcallout_callout_arrow_cell_reverse,
    .ajax__validatorcallout_callout_arrow_cell
    {
        display: none;
    }
}

@media (max-width: 767px) 
{
    .departing-from-wrap .ajax__validatorcallout.ajax__validatorcallout_popup_table, .going-to-wrap .ajax__validatorcallout.ajax__validatorcallout_popup_table 
    {
        position: static !important;  /* Don't cover combobox dropdown */
    }
}




/* DATEPICKER
************************************/

.ui-widget-shadow {
	-webkit-box-shadow: 0 0 0;
	box-shadow: 0 0 0;
}

.ui-datepicker-trigger
{
    cursor: pointer;
    border: 0 none;
    background: none;
    position: absolute;
    right: -6px;
    top: 5px; }
    
        .ui-datepicker-trigger img {
    background: url("https://trisept.widen.net/content/4oczebhiiq/png/TRI_ICON_CAL_calendar.png") no-repeat scroll left top;
    width: 23px;
    margin-top: -2px;
}

#highlightFieldNewSearch .ui-datepicker-trigger
{
    float: left;
}

/* Disabled cells still need a border for keyboard navigation */
td.ui-datepicker-days-cell-over span 
{
    border: 1px solid #999 !important;
}
    
.ui-datepicker-calendar .ui-state-active .ui-state-default
{
    background: #fff;
}

.ui-datepicker-calendar .ui-state-active .ui-state-active
{
    background: #ccc;
}

.ui-datepicker .ui-state-highlight
{
    border: 1px solid #d3d3d3;
    background: #e6e6e6 url("https://trisept.widen.net/content/odbrfdhv7r/png/TRI_IMG_BG_ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;
    font-weight: normal;
    color: #555555;
}

.ui-datepicker .ui-state-hover
{
    border: 1px solid #999999;
    background: #dadada url("https://trisept.widen.net/content/jbudr5bxrc/png/TRI_IMG_BG_ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;
    font-weight: normal;
    color: #212121;
}

.ui-datepicker *
{
    font-size: 18px !important; /* phone size */
}

@media (max-device-width: 414px) 
{
   .ui-datepicker *
    {
        font-size: 18px !important; /* Phones */
    } 
}

@media (min-device-width: 415px) 
{
  .ui-datepicker *
    {
        font-size: 11px !important;
    }  
}

@media (min-device-width: 415px) 
{
    .ui-datepicker
    {
        font-size: 13px; /* default is 1.1em in the jquery-ui.css. Setting this font-size edits the width of the calendar. All base sites are set to 13px to keep consistant width.  We are using ".ui-datepicker *" to set the actual font size. */
    }
}

@media (max-device-width: 414px) 
{
    #ui-datepicker-div 
    {
        width: 93%;    /* Large for phones */
        left: 3.3% !important; /* Align with screen, not input */
    }
}

.ui-datepicker td a
{
    text-align:center;
}

table.ui-datepicker-calendar {
    table-layout:fixed; /* Consistent day columns */
}

.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled .ui-state-default
{
    background: #ddd none repeat scroll 0 0;
    color: #333;
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default
{
    background: #fff none repeat scroll 0 0;
}

.ui-datepicker-calendar .ui-state-active .ui-state-active {
    background: #127cb7 none repeat scroll 0 0;
    color: #fff;
}

.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-content .ui-state-active,
.ui-datepicker .ui-widget-header .ui-state-active
{
    background: #fff none repeat scroll 0 0;
    border: 1px solid #127cb7;
}

.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;
}

.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;
}

/* SELECTIVIZE 
***************************************/


/*** 'item_nowrap' plugin CSS.  Restricts input to one line when closed, regardless of selection length. ***/

.plugin-item_nowrap.selectize-control.single .selectize-input
{
    height: 36px;
    white-space: nowrap;
    overflow: hidden;
}

.plugin-item_nowrap.selectize-control.single .selectize-input .item-wrap-outer 
{
    overflow: hidden;
    position: absolute;
    top: 8px;
    right: 28px;
    left: 3px;
}

.plugin-item_nowrap.selectize-control.single .selectize-input .item-wrap-outer .item-wrap-inner
{
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    text-overflow: ellipsis;
}


/*** Add customizations to base Selectize CSS here.  This will be loaded last. ***/

.selectize-input
{
    padding: 0 0 0 4px;
    height: 30px !important;
    box-shadow: none;
    border: 1px solid #aaa;
}

.plugin-item_nowrap.selectize-control.single .selectize-input .item-wrap-outer
{
    top: 6px;
}

.selectize-dropdown [data-selectable],
.selectize-dropdown .optgroup-header
{
    line-height: 18px !important;
}


/*** Hierarchical region display (OnSale) ***/

.selectize-dropdown .optgroup-header
{
    font-weight: bold;
}

.selectize-dropdown .lv0
{
    padding-left: 8px;
}

.selectize-dropdown .lv1
{
    padding-left: 16px;
}

.selectize-dropdown .lv2
{
    padding-left: 24px;
}

.selectize-dropdown .lv3
{
    padding-left: 32px;
}
.selectize-dropdown .lv4
{
    padding-left: 40px;
}

.selectize-dropdown .lv5
{
    padding-left: 48px;
}

.selectize-dropdown .lv6
{
    padding-left: 56px;
}

.selectize-dropdown .lv7
{
    padding-left: 64px;
}

.selectize-dropdown .lv8
{
    padding-left: 72px;
}

.selectize-dropdown .lv9
{
    padding-left: 80px;
}

.selectize-dropdown-content {
    
    -webkit-overflow-scrolling: touch; /* For momentum scrolling on iOS */
}

@media (max-device-width: 414px) 
{
    .selectize-dropdown
    {
        font-size: 18px !important; /* Bigger dropdown items on mobile */
    }
    .selectize-dropdown-content {
      max-height: inherit !important; /* Will be sized with script in this case */
      overflow-y: scroll !important; /* Needed for momentum scrolling on iOS. */
    }
}

.ui-autocomplete 
{
    z-index: 100002; /* So filter autocomplete shows in modal */
}

/* Gift Cards 
***************************************/

.gc-values-list
{
    list-style: none; 
    margin: 10px 0;
}

.gc-top-wrap,
.gc-personalize-wrap,
.gc-ship-wrap,
.gc-billing-wrap,
.gc-summary-wrap
{
    border: solid 10px #f2f2f2; 
    margin-bottom: 20px; 
    padding-bottom: 20px; 
    border-top: 0; 
    border-left: 0; 
    border-right: 0;
    width: 100%;
}

.gift-cards-wrap fieldset fieldset legend 
{
    font-weight: bold;
    font-size: 1.6rem;
}

.gc-personalize-wrap
{
    border-top: solid 10px #f2f2f2; 
    margin-top: 20px; 
    padding-top: 20px;
}

.gift-cards-wrap .gc-personalize-wrap .h2
{
    margin-bottom: 0;
}

.gc-personalize-descr
{
    margin-bottom: 20px;
}

.gc-personalize-to,
.gc-personalize-from
{
    width: 49%;
    float: left;
}

.gc-personalize-to
{
    margin-right: 2%;    
}

.gc-personalize-message
{
    margin-top: 20px;    
}

.gc-personalize-to input,
.gc-personalize-from input
{
    width: 100%;
}

.requiredField 
{
    margin-bottom: 20px;
}

.gift-cards-wrap label
{
    display: block;
}

.same-as-shipping-wrap 
{
    padding-bottom: 10px;
}

.same-as-shipping-wrap label
{
    display: inline;
}

.gc-shipping-method-wrap    
{
    border-bottom: solid 1px #f2f2f2;
    padding-bottom: 10px; 
    margin-bottom: 20px;
}

.gift-cards-wrap h2,
.gift-cards-wrap .h2
{
    margin: 0 0 20px 0;
    border-bottom: solid 3px #f2f2f2;
}

.gift-cards-wrap h3 
{
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.gc-credit-card-wrap
{
    width: 100%;
    border-bottom: solid 1px #f2f2f2;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.gift-cards-wrap .gc-credit-card-wrap fieldset legend 
{
    font-weight: normal;
}

.gc-payment-info-wrap .gc-field-wrap,
.gc-shipping-info-wrap .gc-field-wrap,
.gc-credit-card-wrap .gc-field-wrap,
.gc-general-wrap .gc-field-wrap
{
    margin: 0 5% 15px 0;
    width: 27%;
    display: inline-block;
    min-width: 270px;
    vertical-align: top;
}

.gc-credit-card-wrap .gc-card-type
{
    width: 100%;
}

.gc-payment-info-wrap .gc-field-wrap input,
.gc-shipping-info-wrap .gc-field-wrap input,
.gc-credit-card-wrap .gc-field-wrap input,
.gc-general-wrap .gc-field-wrap input,
.gc-payment-info-wrap .gc-field-wrap select,
.gc-shipping-info-wrap .gc-field-wrap select
{
    width: 100%;
}

.gift-cards-wrap textarea 
{
    width: 100%;
    height: 65px;
    padding: 5px;
    border-radius:3px;
    border: 1px solid #aaa;
}

.gift-cards-wrap .security-code-label
{
    display: inline-block;
}


/*** amount section ***/

.gc-amount-row
{
    margin-bottom: 10px; 
    max-width: 350px;   
}

.gc-amount-row legend
{
    border-bottom: 1px solid #f2f2f2;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px 0 5px;
}

.gc-amount,
.gc-quantity,
.gc-total 
{
    font-weight: bold;
    display: inline-block;
    margin-right: 50px;
}

.gc-quantity 
{
    margin-right: 0;
}

.gc-quantity select
{
    margin-right: 10px;
}

.gc-amount,
.gc-quantity 
{
    margin-bottom: 5px;
}

.gc-total 
{
    margin-right: 10px;
}

#subTotal,
.gc-total 
{
    font-size: 18px;
    font-weight: bold;
}

#AddCertificate 
{
    display: block;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #f2f2f2;
}


/*** shipping section ***/

    .gc-shipping-info-wrap {
    padding-top: 0;
}

.countryValue 
{
    padding-right: 5px;
}

#exmFalse input, #exmTrue input 
{
    position: absolute;
    margin-top: 2px;
}

#exmTrue label, #exmFalse label 
{
    margin: 0 0 0 20px;
    vertical-align: top;
    font-weight: normal;
}


/*** billing section ***/

.gc-card-month-wrap,
.gc-card-year-wrap 
{
    display: inline-block;
}

.gift-cards-wrap .gc-card-expiration legend 
{
    padding-bottom: 0;
    font-size: 1.4rem;
}

.gc-card-expiration label 
{
    display: inline-block;
}

.gc-credit-card-wrap .gc-field-wrap 
{
    min-width: 230px;
    width: 20%;
    margin-right: 4%;
}

.paymentTypeInput 
{
    width: 100%;
}


/*** summary section***/

.gc-summary-table
{
    width: 100%;
    margin-bottom: 20px;
    border-bottom: solid 3px #f2f2f2;
}

.gc-summary-table th,
.gc-summary-table td
{
    width: 50%;
    border-bottom: dashed 1px #dedede;
    padding: 8px 3px;
}

.gc-summary-table td
{
    text-align: right;
}

.gc-captcha 
{
    width: 100%;
    height: 345px;
}


/*** gift card confirmation page ***/

.gc-confirm h1
{
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.gc-confirm h2 
{
    font-size: 1.6rem;
    margin-bottom: 0;
    border-bottom: 0;
}

.recap
{
    padding: 0 0 20px 30px;
}


/********** CONTACT US PAGE **********/

/* CONTACT US PAGE 
***************************************/

.contact-content-wrap,
.contact-faq
{
    margin-bottom: 20px;
}

.contact-primary-wrap,
.contact-secondary-wrap
{
    width: 49%;
    float: left;
}

.contact-primary-wrap
{
    margin-right: 2%;
}

.contact-email-wrap
{
    margin-top: 20px;
}

.contact-email-wrap label
{
    display: block;
    width: 100%;
}
    
.contact-email-wrap input, 
.contact-email-wrap select,
.contact-email-wrap textarea
{
    margin-bottom: 10px;
    width: 100%;
}

.contact-email-wrap input.button
{
    width: 50%;
}


@media (max-width: 767px) 
{
    .contact-primary-wrap,
    .contact-secondary-wrap
    {
        width: 100%;
        float: none;
    }
    
    #sendBtnContainer
    {
        text-align: center;
    }
}



/* AGENT SEARCH 
***************************************/

.agent-search-wrap p 
{
    margin-bottom: 10px;
}
    
.agent-search-inputs
{
    margin: 20px 0;
}
    
.agent-search-inputs label
{
    display: block;
}

.agent-results-heading
{
    margin-bottom: 20px;
}

.agent-results-wrap
{
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}

.agent-results-list
{
    flex-direction: row;
    width: 31%;
    margin: 1% 1% 1% 0;
    border-bottom: solid 1px #dedede;
    padding-bottom: 20px;
}
    
.agent-results-list ul
{
    list-style: none;
}

a.agent-go-button
{
    display: block; 
    width: 30%; 
    padding-top: 3px; 
    margin-top: 10px;
}


@media (max-width: 767px) 
{
    .agent-results-list
    {
        flex-direction: row;
        padding: 10px;
    }
     
    a.agent-go-button
    {
        width: 50%; 
    }
}

@media (max-width: 480px) 
{
    .agent-results-list
    {
        flex-direction: row;
        width: 100%;
        margin: 1% 0;
        padding: 10px;
    }
}



/* Sweepstakes 
***************************************/

.sweeps-intro-copy
{
    margin:20px 0;
}

#sweeps-content
{
    width:100%;
}

.sweeps-intro-copy ul,
.sweeps-disclaimer ul,
.sweeps-disclaimer ol
{
    padding-left:15px;
}

.sweeps-disclaimer ul li,
.sweeps-disclaimer ol li
{
    margin:0 0 10px 0;
}

.sweeps-form-wrap
{
    margin:20px 0;
    width:100%;
}

.sweeps-form-wrap div{position:relative;}

.sweeps-required-text{margin-bottom:20px;}

.sweeps-form-wrap input,
.sweeps-form-wrap select
{
    margin-bottom:10px;
    width:25%;
    min-width:300px;
}

.sweeps-form-wrap input.button
{
    width:inherit;
    min-width:0;
}

.sweeps-form-wrap label
{
    display:block;
    width:25%; 
    min-width:300px;
}

.sweeps-form-rules, 
.sweeps-form-email
{
    margin:10px 0;
}

.sweeps-form-rules label,
.sweeps-form-rules input,
.sweeps-form-email label,
.sweeps-form-email input
{
    display:inline;
    margin:0 10px 0 0;
    width:inherit;
    min-width:0;
}

.sweeps-form-rules label,
.sweeps-form-email label
{
    margin:0 0 10px 0;
}

.sweeps-form-email table
{
    margin: 10px 0 0 0;
}

.sweeps-form-wrap #ctl01_ContentPlaceHolder_SpecialContainer_SpecialDetailComponent_ctl00_ctl00_regexEmailValidator,
.sweeps-form-wrap #ctl01_ContentPlaceHolder_SpecialContainer_SpecialDetailComponent_ctl00_ctl00_emailReqValidator
{
   display:none;
}

.sweep-banner-rotator img
{
    width: 100%;
	height: auto;
	margin: 2px 0 0 2px;
}

.sweeps-backup-banner img{
    width: 100%;
	height: auto;
}

/*accessible banner rotator styles*/

.visuallyhidden
{ /* hidden but visible to screen readers. "aria-only" preferred; "ariaHidden" for v2 legacy support where output from UI */
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.active .slide {
  display: block !important;
  visibility: hidden;
  transition: left .6s ease-out;
}

.active .isolated slide 
{
  display: block !important;
  visibility: hidden;
  transition: left .6s ease-out;
}

.active .slide.current {
  visibility: visible;
  left: 0;
}

.active .slide.next {
  left: 100%;
}

.active .slide.prev {
  left: -100%;
}

.active .slide.isolated {
  left: -100%;
}

.active .slide.next.in-transition,
.active .slide.prev.in-transition {
  visibility:visible;
}

.carousel, .slide 
{
    width:100%;
    padding:0;
    margin: 0;
    overflow: hidden;
  }
  .carousel {
    position: relative;
  }
  
  .carousel ul {
    margin:0;
  }
  .slide {
    /*position: absolute;*/
    height: 100%;
    background-size: cover;
    position: relative;
    margin-bottom:1em;
  } 
  .slide h4 {
    /*display:inline-block;
    float:right;
    font-size: 1.25em;
    margin:0;
    padding: .25em;
    text-align: right;
    background-color: rgba(255,255,255,.8);
    float:right;
    border-radius: 0 0 0 .5em;*/
  }
  .slide-image-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin:0;
    clear:both;
    padding: 0;
    background-color: rgba(255,255,255,.8);
  }
  
  
  /*hide base elements by default*/
  .slide h4,
  .slide-caption,
  .slidenav-number,
  .slideshow-title
  {
      display:none;
  }
  
  .slide a {
    display:block;
    text-align: right;
  }
  
  .slide img{
    width:100%;
    height:auto;
  }

.carousel.active {
  min-height: 210px;
  margin:15px auto;
  /* overflow:hidden; */
  position:relative;
}

.active .slide {
  border: none;
  display: none;
  position:absolute;
  top:0;
  left:0;
  z-index:200;
}

.slide.current {
  display:block;
  z-index: 500;
}

.btn-prev,
.btn-next {
  position:absolute;
  z-index: 700;
  top: 50%;
  margin-top: -2.5em;
  border:0;
  background: #fff;
  line-height: 1;
  padding:.5em;
  transition: padding .4s ease-out;
  color:#2953b7;
  cursor:pointer;
}

.btn-prev i,
.btn-next i {
    color:#304cb2; 
    font-weight:bold; 
    font-size:16px;
}

.btn-next:hover,
.btn-next:focus,
.btn-prev:hover,
.btn-prev:focus {
  padding-left: 1em;
  padding-right:1em;
}

.btn-prev {
  left:0;
}

.btn-next {
  right:0;
}

.carousel.with-slidenav {
  padding-bottom: 0;
  background-color: #fff;
}
.carousel.with-slidenav .slide {
  border-bottom: 0;
}

.slidenav {
  position: absolute;
  bottom:0;
  left: 0;
  text-align: left;
  z-index:900;
  background-color: rgba(255,255,255, 1);
}

.carousel ul.slidenav {
    padding:3px 5px 3px 0;
    }

.slidenav li {
  display:inline-block;
  margin: 0 .5em;
  vertical-align:middle;
}

.slidenav li:first-child {
  margin:0 20px 0 10px;
}

.slidenav-button {
  background-color: #5e7e95;
  height: 10px;
  width:10px;
  padding:0;
  border-radius: 5px;
  display:block;
  border:0;
}

.slidenav li:first-child button {
    background:none;
    padding:0;
    border:0;
    color:#5e7e95;
    cursor:pointer;
    line-height:1;
    font-size:16px;
    border-radius: 0px;
    }
    
.slidenav li:first-child button i{ color:#5e7e95;}

.slidenav-button.current {
  background-color: #304cb2;
  color: #333;
}

.slidenav-button:hover {
    cursor:pointer;
    }

.slidenav-button:hover,
.slidenav-button:focus {
  background-color: #333;
}

.slidenav-button.current:hover,
.slidenav-button.current:focus {
  background-color: #333;
}

.slidenav li:first-child button:hover i,
.slidenav li:first-child button:focus i{
    cursor:pointer;
    color:#333;
    }
    
    

 /* Base Loyalty STYLES
************************************/

/* Loyaly points  container homepage
***************************************/

.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;
    font-size:1.2rem;
}

.points-redeem-logout
{       
    margin:10px 0 0;
    font-size:1.1rem;
    width:100%;
    text-align:right;
}

.logged-out-redeem-text
{
    font-size:1.1rem;    
}

.points-balance
{
    font-weight:bold;
    font-size:2.4rem;
}
   
    .point-deduction-msg {
        clear: both;
        font-size: 1.6rem;
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: solid 1px #dedede;
}

    .point-deduction-msg i {
        color: #44812d;
}

    .point-deduction-label {
        font-size: 2.0rem;
}

    .point-deduction-label img {
        display: none;
}

    .apply-points-continue {
    background-color: #ddd;
    border-radius: 3px;
    color: #333;
    cursor: default;
    float: right;
    font-weight: bold;
    padding: 10px 20px;
}
   
@media (max-width: 480px) 
{
    .loyalty-points-wrap
    {
        width: 100%; 
        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 */



/* loyalty points styles checkout step1 */

.loyalty-sign-in-wrap {
    background-color: #135582;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.6rem;
    border-radius: 4px;
    margin-bottom: 20px;
}

.loyalty-sign-in-wrap p {
    font-size: 1.8rem;
    color: #fff; 
}

.loyalty-sign-in-wrap .bg-logo {
    background: url('https://trisept.widen.net/content/s4cdpuhflx/svg/AME_LOGO_MAINBRAND_ENGLISH_AIRMILES_PLANE_TOBERMORY_TEAL_RGB_E.svg') no-repeat;
    background-position: 0;
    display: inline-block;
    width: 50px;
    height: 40px;
    background-size: 40px;
    vertical-align: middle;
}

.loyalty-sign-in-wrap .secondary-button {
    padding-left: 25px;
    padding-right: 25px; 
}

.loyalty-apply-points-wrap {
    border: solid 1px #dedede;
    padding: 10px 20px;
    background-color: #f2f2f2;
    margin-bottom: 20px
}

.loyalty-auth-wrapper {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}

h2#loyaltyHeader {
     margin-bottom: 0;
 }

.loyalty-column-one, .loyalty-column-two, .loyalty-column-three {
    border: 1px solid #dedede;
    padding: 10px;
}

.loyalty-column-one{
    width: 55%;
}


/*generated with Input range slider CSS style generator (version 20211225)
https://toughengineer.github.io/demo/slider-styler*/
input[type=range].slider-thumb {
  height: 1em;
  -webkit-appearance: none;
}

/*progress support*/
input[type=range].slider-thumb.slider-progress {
  --range: calc(var(--max) - var(--min));
  --ratio: calc((var(--value) - var(--min)) / var(--range));
  --sx: calc(0.5 * 2em + var(--ratio) * (100% - 2em));
  width: 100%;
}

input[type=range].slider-thumb:focus {
  outline: none;
}

/*webkit*/
input[type=range].slider-thumb::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 2em;
  height: 2em;
  border-radius: 1em;
  background: #135582;
  border: none;
  box-shadow: 0 0 2px black;
  margin-top: calc(max((1em - 1px - 1px) * 0.5,0px) - 2em * 0.5);
}

input[type=range].slider-thumb::-webkit-slider-runnable-track {
  height: 1em;
  border: 1px solid #dedede;
  border-radius: 0.5em;
  background: #fff;
  box-shadow: none;
}

input[type=range].slider-thumb::-webkit-slider-thumb:hover {
  background: #00334d;
}

input[type=range].slider-thumb:hover::-webkit-slider-runnable-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb::-webkit-slider-thumb:active {
  background: #00334d;
}

input[type=range].slider-thumb:active::-webkit-slider-runnable-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb.slider-progress::-webkit-slider-runnable-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

input[type=range].slider-thumb.slider-progress:hover::-webkit-slider-runnable-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

input[type=range].slider-thumb.slider-progress:active::-webkit-slider-runnable-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

/*mozilla*/
input[type=range].slider-thumb::-moz-range-thumb {
  width: 2em;
  height: 2em;
  border-radius: 1em;
  background: #135582;
  border: none;
  box-shadow: 0 0 2px black;
}

input[type=range].slider-thumb::-moz-range-track {
  height: max(calc(1em - 1px - 1px),0px);
  border: 1px solid #dedede;
  border-radius: 0.5em;
  background: #fff;
  box-shadow: none;
}

input[type=range].slider-thumb::-moz-range-thumb:hover {
  background: #00334d;
}

input[type=range].slider-thumb:hover::-moz-range-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb::-moz-range-thumb:active {
  background: #00334d;
}

input[type=range].slider-thumb:active::-moz-range-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb.slider-progress::-moz-range-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

input[type=range].slider-thumb.slider-progress:hover::-moz-range-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

input[type=range].slider-thumb.slider-progress:active::-moz-range-track {
  background: linear-gradient(#0a6fb3,#0a6fb3) 0/var(--sx) 100% no-repeat, #fff;
}

/*ms*/
input[type=range].slider-thumb::-ms-fill-upper {
  background: transparent;
  border-color: transparent;
}

input[type=range].slider-thumb::-ms-fill-lower {
  background: transparent;
  border-color: transparent;
}

input[type=range].slider-thumb::-ms-thumb {
  width: 2em;
  height: 2em;
  border-radius: 1em;
  background: #135582;
  border: none;
  box-shadow: 0 0 2px black;
  margin-top: 0;
  box-sizing: border-box;
}

input[type=range].slider-thumb::-ms-track {
  height: 1em;
  border-radius: 0.5em;
  background: #fff;
  border: 1px solid #dedede;
  box-shadow: none;
  box-sizing: border-box;
}

input[type=range].slider-thumb::-ms-thumb:hover {
  background: #00334d;
}

input[type=range].slider-thumb:hover::-ms-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb::-ms-thumb:active {
  background: #00334d;
}

input[type=range].slider-thumb:active::-ms-track {
  background: #fff;
  border-color: #dedede;
}

input[type=range].slider-thumb.slider-progress::-ms-fill-lower {
  height: max(calc(1em - 1px - 1px),0px);
  border-radius: 0.5em 0 0 0.5em;
  margin: -1px 0 -1px -1px;
  background: #0a6fb3;
  border: 1px solid #dedede;
  border-right-width: 0;
}


.loyalty-sliderminmax {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin-top: -10px;
}

.loyalty-sliderminmax div {
    margin: 10px 0 0 0;
}

.loyalty-slider-title {
    font-size: 1.6rem;
    font-weight: bold;
}
.loyalty-slider-min {
    display: flex;
    flex-direction: column;
}

.loyalty-slider-max {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.loyalty-column-two, .loyalty-column-three {
    flex: 1;
    justify-content: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.loyalty-column-two{
    border-right: 0px solid;
    border-left: 0px solid;
    justify-content: flex-start;
}

.loyalty-miles-value {
    margin-top: 15px;
    padding: 10px;
    border: solid 1px #dedede;
    display: flex;
    text-align: center;
    position: relative;
    width: 70px;
}

@media screen and (max-width: 1024px){
    .loyalty-auth-wrapper {
        flex-direction: column;
    }
    .loyalty-column-one{
        width: auto;
    }
}

.loyalty-footnote {
    text-align: center;
    padding: 2px;
    font-size: .9rem;
}

.slidercontainer {
    width: 100%;
}

    .loyalty-title {
        font-weight: 700;
        padding-bottom: 5px;
}

.loyalty-apply-points-wrap .cart-remove-button{
    padding:0;
    background:none;
    border:0;
}

.loyalty-apply-points-wrap .cart-remove-button:hover{
    cursor:pointer;
    }

@media (max-width: 480px){

    .loyalty-apply-points-wrap {
        width:100%;
        margin-bottom:10px;
    }
}

    .loyalty-useslider-message {
        color: red;
        width: 100%;
        text-align: left;
        font-size: 1.4rem;
        font-weight: normal;
    }

/* end loyalty points checkout 1 */


 /* Promo Restool
************************************/

.promo-booking-nav{display:none;}
.promo-content-wrap{border-radius:3px;}

.promo-restool-wrap
{
    width:300px;  
    border:solid 1px #dedede;
    padding:20px;  
    }

.promo-details-wrap{width:68%; margin-left:2%;}



.promo-restool-wrap > div,
.promo-restool-wrap > fieldset
{
    margin-bottom: 35px;
}

.promo-restool-wrap ul
{
    list-style: none;
}

.promo-restool-wrap > div:last-of-type
{
    margin-bottom: 0;
}

/*** promo search ***/

.promo-restool label
{
    width: 100%;
}
.promo-restool-wrap fieldset .vacation-experience-wrap label
{
    margin: 0 10px 5px 0;
    width: 225px;
}

.promo-restool-wrap .departing-from-wrap,
.promo-restool-wrap .going-to-wrap,
.promo-restool-wrap .depart-date-wrap,
.promo-restool-wrap .return-date-wrap,
.promo-restool-wrap .rooms-wrap,
.promo-restool-wrap .dest-region-wrap,
.promo-restool-wrap .promo-code-wrap
{
    width: 100%;
    display: inline-block;
    min-width:200px;
}

.promo-restool-wrap .airline-wrap,
.promo-restool-wrap .cabin-preference-wrap,
.promo-restool-wrap .number-of-stops-wrap,
.promo-restool-wrap .depart-time-wrap,
.promo-restool-wrap .return-time-wrap,
.promo-restool-wrap .fare-preference-wrap,
.promo-restool-wrap .hotel-name-wrap,
.promo-restool-wrap .hotel-brand-wrap,
.promo-restool-wrap .checkin-date-wrap,
.promo-restool-wrap .checkout-date-wrap,
.promo-restool-wrap .car-company-wrap,
.promo-restool-wrap .pickup-date-wrap,
.promo-restool-wrap .dropoff-date-wrap,
.promo-restool-wrap .pickup-location-wrap,
.promo-restool-wrap .dropoff-location-wrap
{
    width: 47%;
    margin-right: 2%;
    display: inline-block;
}
    
.promo-restool-wrap fieldset select,
.promo-restool-wrap fieldset input[type="text"]
{
    width: 100%;
}

.promo-restool select,
.promo-restool input
{
    margin-bottom: 10px;
    width: 100%;
}
    
.new-search-wrap .secondary-button
{
    margin: 5px 0 0;
}

.promo-flex-calendar-wrap
{
    margin-top:25px;
}

.promo-hotel-details,
.promo-details-header
{
    margin-bottom:25px;
}

/* Event Request */

.event-request-form legend .expco-trigger,
.event-request-form legend a,
.event-request-form legend button
{
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: inherit;
}

    .event-request-section {
    margin-bottom: 15px;
}

.event-organizer > div,
.event-agency div,
.event-airline-contact div,
.event-association div,
.attendee-country-wrap {
    margin: 0 5% 15px 0;
    width: 28%;
    display: inline-block;
    min-width: 270px;
}

.attendeecountry select
{
    margin-bottom:5px;
}

.event-details-50,
.event-association div.event-details-50,
.event-organizer div.event-details-50
 {
    margin: 0 25px 15px 0;
    width: 46.8%;
    display: inline-block;
    min-width: 270px;
}

.event-details-full,
.event-terms div,
.event-agency div.event-details-full
{
    width:97%;
}

.event-terms
{
    border: solid 5px #dedede;
    border-left:0; 
    border-right:0; 
    padding:20px 0;
}

.event-terms iframe
{
    width:100%;
}

.event-agency-wrap
{
    margin-bottom:25px;
}

.event-request-wrap label
{
    width:100%;
    display:inline-block;    
}

.event-request-wrap  select,
.event-request-wrap  input[type="text"],
.event-request-wrap  textarea
{
    width: 100%;
}

.event-request-wrap input.event-phone-prefix
{
    width:15%; 
    margin-right:2%;
}

.event-request-wrap input.event-phone-input
{
    width:81.5%;
}

.event-question-check label
{
    width:auto;
}

.event-request-wrap .eventRadioBtns label {
    display: inline;
    margin-left: 5px;
}

.event-details-50.has-radiobtns {
    top: -20px;
    position: relative;
}

.event-details-50.has-radiobtns td {
    padding-top: 5px;
}

/* Standalone Hotel Profile - RES
***************************************/

.shp-restool-wrap {
    width:25%;
    float:left;
    margin-right:2%;
    max-width:100%;
    min-width:275px;
    }

.shp-restool-wrap input[type="text"]
{
    width:100%;
}

.shp-restool-wrap input[type="button"]
{
    width:inherit;
}
   
.shp-restool-wrap .shp-depart-wrap,
.shp-restool-wrap .shp-return-wrap,
.shp-restool-wrap .shp-origin-wrap,
.shp-restool-wrap .shp-destination-wrap,
.shp-restool-wrap .shp-promocode {
    width:100%;
    display:inline-block;
    margin-bottom:5px;
    }

.shp-restool-wrap .promo-code-wrap {
    min-width:200px;
}
      
.shp-restool-wrap .button {
  float:left;
  padding:0;
}

.shp-restool-wrap .rooms-wrap
{
    width:100%;
    min-width:0px;
    margin-bottom:5px;
    }
    
.shp-restool-header
{
    border-bottom: solid 5px #f2f2f2;
    display: block;
    width: 100%;
    padding-top:10px;
}

@media (max-width: 767px) 
{
    .shp-restool-wrap 
    {
        width:100%;
        float:none;
        margin-right:0;
    }
    
    .shp-restool-wrap input[type="button"]
    {
        width:100%;
    }
}

@media (min-width: 640px) and (max-width: 767px)
{

    .shp-restool-wrap .shp-depart-wrap,
    .shp-restool-wrap .shp-return-wrap,
    .shp-restool-wrap .shp-origin-wrap,
    .shp-restool-wrap .shp-destination-wrap,
    .shp-restool-wrap .shp-promocode
    {
        width: 48.5%;
        display: inline-block;
        float:left;
    }

    .shp-restool-wrap .shp-return-wrap,
    .shp-restool-wrap .shp-destination-wrap
    {
        clear: right;
        content: "";
        display: table;
    }

   .shp-restool-wrap .shp-depart-wrap,
   .shp-restool-wrap .shp-origin-wrap
    {
        margin-right: 2%;
    }
    
    .shp-restool-wrap .rooms-wrap
    {
        width:48.5%;
        min-width:0px;
    }
}

/* DOB Dropdown Styles
***************************************/

.childAge 
{
    width: 16.8%;
    float: left;
    margin-right: 4%;
    min-width: 45px;
    padding: 1% 0;
}

.childAge:last-child
{
    margin-right: 0;
}

.childDob 
{
    float: none;
    width: 100%;
    margin-right: 0;
    padding: 1% 0;
    clear: both;
}

.date-dropdown 
{
    position:relative;
    width:33% !important; 
    min-width:275px;
}
    
.date-dropdown select {
    width: 25% !important;
    margin: 0 10px 0 0;
}
    
.date-dropdown .ajax__validatorcallout_popup_table 
{
    left: 245px !important;
}

@media (max-width: 767px) 
{
    .date-dropdown .ajax__validatorcallout_popup_table  
    {
        top: auto !important;
        left: auto !important;
    }

    .date-dropdown .ajax__validatorcallout_callout_arrow_cell_reverse,
    .date-dropdown .ajax__validatorcallout_callout_arrow_cell
    {
        display: none;
    }
}

@media (max-width:414px)
{
    .date-dropdown 
    {
        width: 100% !important;
    }

    .date-of-birth 
    {
        margin: 0px 0px 15px 0px;
    }

    .date-dropdown select 
    {
        width: 31% !important;
        margin-right: 0;
    }
    
    .date-dropdown select:nth-last-child(2)
    {
        margin-right: 0;
        margin-left: 1%;
        float: right;
    }

    .date-dropdown select:nth-child(2)
    {
        margin-right: 2%;
    }
}



/*Flex Search/Value Flight Finder Page*/

.charter-dest-search-text
{
    font-size:2rem;   
    margin-top:20px;
}

.instructions-text
{
    padding-bottom:5px;    
}

.supplier-selection-wrap,
.package-selection-wrap,
.passengers-selection-wrap,
.length-stay-wrap,
.currency-selection-wrap,
.origin-selection-wrap,
.departure-month-selection-wrap
{
    width: 46.8%;
    min-width: 275px;
    margin-right: 25px;
    margin-bottom:10px;
}

.supplier-selection-wrap select,
.package-selection-wrap select,
.passengers-selection-wrap select,
.origin-selection-wrap select,
.departure-month-selection-wrap select,
.length-stay-wrap select,
.currency-selection-wrap select
{
    width: 100%;
}

.currency-selection-wrap
{
    display:none;
}

.upsell-tooltip-flight-finder
{
    display:none;   
}

.charter-restool input[type="text"],
.charter-restool select
{
    margin-bottom:10px;
}

.charter-cal-restool-wrap input[type="text"],
.charter-cal-restool-wrap select
{
    width:100%;
}

.charter-cal,
.charter-cal-restool-wrap
{
    margin:20px 0 40px;
}

.charter-cal,
.charter-cal table
{
    width:100%; 
    border-color:#d3d3d3; 
}

.charter-cal > tbody > tr > td
{
    height:100px;
    padding:5px;
}

.alt-cal-date-wrap table .calendarTitle tr td
{ 
    border: none;
    padding: 8px;
}

.calendarTitle > tbody > tr > td,
.charter-cal > tbody > tr:first-child td
{
    height:30px;
    padding:0px;
}

.calendarTitle td {
    background-color: #666666;
    padding: 4px 5px 4px 5px;
    font-size: 120%;
    font-weight: bold;
    color: #FFFFFF !important;
}

.calendarDayHeader {
    background-color: #f2f2f2;
    font-size: 110%;
    color: #000000;
    border: solid 1px #d3d3d3;
    padding: 2px 5px;
}

td.calendarDay {
    vertical-align: top;
    background-color: #ffffff;
    text-align: left;
    margin: 0;
}

td.calendarDay, 
td.calendarOtherMonthDay {
    border: solid 1px #d3d3d3;
}

.calDay, .calDayDisabled {
    height: auto !important;
    line-height: 2 !important;
    list-style: none;
    width: 100%;
    vertical-align: top;
    text-align: left;
    padding: 0 0 0 2px;
}

.calDay li {
    margin: 0;
    position: relative;
    float: left;
    width: auto;
    display: block;
    height: 100%;
}

ul.calDay li span {
    cursor: pointer;
    cursor: hand;
}

.calDayDisabled, 
.calendarOtherMonthDay {
    background-color: #f2f2f2;
    text-align: left;
}

.calDay li ul {
    display: none;
    position: absolute;
    top: 20px;
    left: 0px;
    z-index: 1;
    padding: 0px;
    margin: 0px;
    list-style: none;
    width: 40px;
}

.calDay li {
    margin: 0;
    position: relative;
    float: left;
    width: auto;
    display: block;
    height: 100%;
}

.calDay li ul li a {
    text-decoration: none;
    display: block;
    vertical-align: middle;
    padding: 3px;
    margin: 0;
    width: 70px;
    text-align: left;
    background-color: #666666;
    color: #ffffff;
    border: solid #fff;
    border-width: 0 1px 1px 1px;
}

.calDay li ul li a:first-child {
    border-top: 1px solid #fff;
}

.calDay li:hover ul, 
.calDay ul li:hover ul, 
.calDay ul ul li:hover ul {
    display: block;
}

.calDay li ul li a:hover {
    background-image: none;
    background-color: #3a3a3a;
    color: #FFFFFF;
    text-decoration: underline;
}

ul#legend li.soldOut, 
ul.calDay li span.soldOut {
    color: #C0C0C0;
    cursor: default;
}

.flexsearch-calendar-pagination-wrap
{
    margin-bottom: 10px;
    margin-top: 10px;
    clear: both;
    display: block;
    float: left;
    width: 100%;
}

.search-page-link
{
    display:block;
    width:100%;
    clear:both;
    text-align:right;
}
@media (max-width: 767px)
{
    .search-flight-finder-button-wrap
    {
        margin:10px 0px;
    }
}
.float-left
{
    float:left;
}

.float-right
{
    float:right;
}

/*** Groups Dashboard ***/

.group-payment-reservation
{
    padding: 10px;
    width: 100%;
}

.group-dashboard-container .title
{
    margin: 10px 0;
    border-bottom: solid 5px #f2f2f2;
    text-align: left;
}

.group-payment-reservation tr,
.group-totals-res tr
{
    border-bottom: solid 1px #f2f2f2;
    padding: 1% 0;
}

.group-payment-reservation th
{
    width: 10%;
    font-size:1.6rem
}


.group-payment-reservation td
{
    width: 10%;
}

.group-totals-res 
{
    margin-top:50px;
    padding: 10px;
    width: 50%;
}

.group-totals-res th
{
    width: 10%;
    font-size:1.6rem
}


.group-totals-res td
{
    width: 10%;
}

.group-dashboard-container p
{
    margin-top:30px;
}

.group-payment-reservation .group-payment-mobile-label,
.group-totals-res .group-totals-mobile-label
    {
        display: none;
    }

@media(max-width: 767px)
{
    .group-payment-reservation .group-payment-mobile-label,
    .group-totals-res .group-totals-mobile-label    
    {
        display: block;
    }

    .group-payment-reservation th,
    .group-totals-res th
    { 
        display: none;
    }

   .group-payment-reservation td,
   .group-totals-res td
     {
        display: inline-block;
        width: 50%;
        border: none;
        padding: 5px 3px 3px 3px;
        background: #fff;
        font-size: 1.3rem;
        float: left;
    }
    
    .group-payment-reservation tr,
    .group-totals-res tr
    {
        border-bottom: solid 3px #f2f2f2;
        padding: 1% 0;
    }
}
/*******************/

/* Currency Converter Styles
***************************************/
.mc-v2-currencymsg-wrap, mc-v4-currencymsg-wrap
{
    margin-bottom: 5px;
}

.mc-v2-currencymsg-wrap a.toolTip, .mc-v4-currencymsg-wrap a.toolTip
{
    border-bottom: 1px dotted;
    text-decoration:none;
}

.mc-v2-currencymsg-wrap a.toolTip:hover, .mc-v4-currencymsg-wrap a.toolTip:hover
{
    cursor: help;  
    color: #006bb7;
}

.mc-v2-currencymsg-wrap2
{
    text-align:center;
}
/*******************/

/* 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;
}



/* Google Ad Server
******************************/

.ad-server-wrap img 
{
    min-width:100%;
    max-width:100%;
}

.CONTENT-GUTTER-WRAP .ad-server-wrap,
.filters-wrap .ad-server-wrap
{
    text-align: center;
}

.CONTENT-GUTTER-WRAP .ad-server-wrap img,
.filters-wrap .ad-server-wrap img 
{
    min-width: unset;
}

/******** TRIP BOOKMARK PAGE ***********/

.trip-bookmark-wrap 
{
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 20px;
}

.trip-bookmark-main 
{
    float: left;
    width: 55%;
}

.trip-bookmark-hero 
{
    padding-bottom: 20px;
}

.trip-bookmark-hero img 
{
    max-width: 1228px;
    width: 100%;
    overflow: hidden;
}

.trip-bookmark-hero img[src=""] 
{
    display: none;
}

.trip-bookmark-wrap h2 
{
    border-bottom-width: 0;
}

.trip-bookmark-wrap ul
{
    list-style: none;
    line-height: 2;
}

.trip-bookmark-wrap p,
.trip-bookmark-wrap ul
{
    padding-bottom: 10px;
}

.trip-bookmark-disclaimer 
{
    font-style: italic;
    font-size: 1.2rem;
}

.trip-bookmark-wrap p.trip-bookmark-na 
{
    padding: 40px;
    margin: 0;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.trip-bookmark-restool 
{
    border-radius: 3px;
    padding: 20px;
    float: right;
    max-width: 350px;
    background: #f2f2f2
}

.trip-bookmark-restool input[type="text"]
{
    width: 100%;
}

.trip-bookmark-restool label
{
    display: block;
    font-weight: bold;
} 

.trip-bookmark-restool label,
.trip-bookmark-rooms,
.trip-bookmark-dest,
.trip-bookmark-vendor,
.trip-bookmark-depart,
.trip-bookmark-return,
.trip-bookmark-origin,
.trip-bookmark-child-age,
.trip-bookmark-book-by
{
    margin-top: 10px;
}

.trip-bookmark-restool .button-large 
{
    width: 100%;
}

.trip-bookmark-rooms-wrap 
{
    padding-bottom: 5px;
}

.trip-bookmark-rooms
{
    border-bottom: 1px dashed #aaa;
}

.trip-bookmark-num-adults,
.trip-bookmark-num-child
{
    display: inline-block;
    width: 100px;
}

.trip-bookmark-num-adults select,
.trip-bookmark-num-child select,
.trip-bookmark-room-num-wrap select
{
    width: 80px
}

.trip-bookmark-each-child
{
    display: inline-block;
    width: 57px;
}

.trip-bookmark-each-child select 
{
    width: 50px;
}

.trip-bookmark-num-adults label,
.trip-bookmark-num-child label 
{
    font-weight: normal;
}

.trip-bookmark-submit-wrap 
{
    padding-top: 20px;
}

.tripbookmark-error 
{
    border-radius: 3px;
    margin: 10px 0;
    padding: 2%;
    background-color: #fcfcfc;
    border: 1px solid #f2f2f2;
    color: #d90707;   
}

@media (max-width: 899px) 
{
    .trip-bookmark-restool,
    .trip-bookmark-main
    {
        float: none;
    }
    
    .trip-bookmark-main 
    {
        width: 100%
    }
}



/* Language Dropdown Toggle
*****************************/

.language-selector-wrap 
{
    display: inline;
    margin-bottom:15px;
}

.language-selector-wrap select
{
    font-size: 1.1rem;
    margin-right:10px;
}



/* Google Ad Server
******************************/

.ad-server-wrap
{
    margin-bottom:20px;    
}

.ad-server-wrap img 
{
    min-width:100%;
    max-width:100%;
}

.CONTENT-GUTTER-WRAP .ad-server-wrap,
.filters-wrap .ad-server-wrap
{
    text-align: center;
}

.CONTENT-GUTTER-WRAP .ad-server-wrap img,
.filters-wrap .ad-server-wrap img 
{
    min-width: unset;
}

.ad-server-wrap:empty
{
    display: none;
}


/* start of CookiePolicyComponent */

#cookie-policy
{
    width: 80%;
    margin: 40px auto;
    padding: 30px;
    border: 1px solid #ccc;
}

.cookie-policy-buttons
{
    text-align: center;
    margin: 20px 0 0 0;
}

.cookie-policy-buttons a
{
    margin: 0 10px;
}

.cookie-policy-buttons .secondary-button,
.cookie-policy-buttons .secondary-button:hover
{
    background-color: #fff;
    border: 1px solid #127cb7;
    color: #127cb7;
}

.cookie-small,
.cookie-medium
{
    display: none;
}

    #cookie-policy-2,
    #cookie-policy-2a {
    padding: 30px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}
    .modalPopup-cp2 {
        width: 600px;
        max-height: 400px;
        background-color: #fff;
        box-sizing: border-box;
        border: 1px solid #e4e4e4;
        padding: 0;
        overflow: hidden;
    }

    .cookie-policy-2-container,
    .cookie-policy-2a-container {
        background-color: #fff;
        display: flex;
        flex-direction: column;
    }

    .cookie-policy-2-title {
        box-sizing: border-box;
        width: 100%;
        box-shadow: 0 4px 4px 0 rgba(0,0,0,.24),0 0 4px 0 rgba(0,0,0,.12);
        display: flex;
    }

    .cookie-policy-2-title h2 {
        border-bottom: 0px solid;
        margin: 0;
        padding:15px;
    }

    .cookie-policy-2-content {
        overflow-y: scroll;
        height: 240px;
        padding: 0 20px;
    }

    .cookie-policy-2-content ul {
        margin: 0 0 10px 30px;
}

    .cookie-policy-2-option {
        padding: 15px 0;
        border-top: 1px solid #ccc;
        display: flex;
}

    .cookie-policy-2-option input {
        margin-right: 10px;
    }

    .cookie-policy-2-option button {
        margin-left: auto;
    }

    .option-first {
        border-bottom: 0px solid;
    }

    .cookie-policy-2-buttons {
        background-color: #fff;
        box-shadow: 0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);
        text-align: right;
        padding: 15px;
    }

    .cookie-policy-2-buttons a {
        margin: 0 10px;
    }

.cookie-back-button {
    cursor: pointer;
    background-color:#fff;
    margin-left: 15px;
    font-size: 20px;
    font-weight: bold;
    border: 0px solid;
}

.cookie-back-button::before {
     font-family: FontAwesome;
     font-size: 2.2rem;
}

.cookie-back-button::before {
        content: "\f104";
    }


/* MEDIA QUERIES
************************************/

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px)
{
    .cookie-desktop
    {
        display: none;
    }
    .cookie-medium
    {
        display: block;
    }
}

@media (max-width:767px)
{   
    .cookie-desktop,
    .cookie-medium
    {
        display: none;
    }
    .cookie-small
    {
        display: block;
    }  
}

    @media (max-width:602px) {
    .modalPopup-cp2 {
        width: 100%;
    }  
}

@media (min-width:581px) and (max-width:1199px) {
    .COMPONENT-OPTIONS-LIST .COMPONENT-SUMMARY-WRAP {
        width: 52%;
    }

    .COMPONENT-OPTIONS-LIST .SELECTED-COMPONENT,
    .COMPONENT-OPTIONS-LIST .PRICE-SELECT-WRAP {
        width: 46%;
    }
}

/* MOBILE STYLES
**********************************/


@media (max-width:600px)
{
    .fare-list-table tr 
    {
        padding: 10px 0 10px 10px;
    }
}

@media (max-width:580px)
{
    .flight-wrap .PRICE-SELECT-WRAP 
    {
        border-width: 1px 1px 1px 1px;
    }
}
    
    @media(max-width:767px), (max-height: 767px) and (max-width: 896px) {
    /*New Mobile Top of Avail*/
    
    .current-page-wrap 
    {
        float: none;
        margin-top: 0;
    }
    
    .sort-results-wrap 
    {
        float: right;
    }

    .sort-results-wrap label 
    {
        display: block;
        text-align: right;
    }
    
    .pagination-dropdown 
    {
        display: none;
    }

    .pagination-wrap 
    {
        float: left;
        margin-top: 24px;
        width:auto;
    }
}

@media(max-width:767px), (max-height: 414px)
{
    .phone-only.avail-buttons {
        display: flex !important;
        flex-flow: row nowrap;
        justify-content: space-evenly;
    }

    .phone-only.avail-buttons button {
        flex-grow: 1 !important;
        margin: 3px 3px 15px;
        width: 50% !important;
    }
}

@media(max-width:345px)
{
    .results-controls-wrap
    {
        position:relative
    }
    
    .pagination-wrap
    {
        position:absolute;
        margin-top:0;
    }
    
    .sort-results-wrap
    {
        width: 100%;
        margin-top: 5px;
    }
    
    .results-controls-wrap select
    {
        width:100%;
    }
}

/***** mobile radio and checkbox styles *****/

@media (max-width: 414px) 
{
    input[type="checkbox"]:not(:checked),
    input[type="checkbox"]:checked 
    {
        opacity: 0;
        position: absolute;
    }

    input[type="checkbox"]:not(:checked) + label,
    input[type="checkbox"]:checked + label,
    .custom-checkbox-wrap label 
    {
      position: relative;
      padding: 2px 5px 0px 25px;
    }

    input[type=checkbox] + label:before,
    .custom-checkbox-wrap label:before
    {
        content: "";
        display: block;
        position: absolute;
        width: 22px;
        height: 22px;
        top: 0;
        left: 0;
        border: 1px solid #ccc;
        border-radius: 3px;
        background: #fff; 
    }

    input[type="checkbox"]:not(:checked) + label:after, 
    input[type="checkbox"]:checked + label:after,
    .custom-checkbox-wrap label:after
    {
        font-family: FontAwesome;
        content: "\f00c";
        font-size: 14px;
        position: absolute;
        top: 1px;
        left: 4px;
        color: #fff;
    }
    
    input[type=checkbox]:checked + label:before 
    {
        background-color: #006bb7;
        border-color: #006bb7;
    }

    input[type="checkbox"]:not(:checked) + label:after 
   
    {
        opacity: 0;
        transform: scale(0);
        -webkit-transform: scale(0);
    }
    
    input[type="checkbox"]:checked + label:after 
   
    {
        opacity: 1;
        transform: scale(1);
        -webkit-transform: scale(1);
    }
    
    input[type="checkbox"]:disabled:not(:checked) + label:before,
    input[type="checkbox"]:disabled:checked + label:before 
    {
        border-color: #f2f2f2;
        background-color: #f2f2f2;
    }

    input[type="checkbox"]:disabled + label,
    input[type="checkbox"]:disabled:checked + label:after  
    {
        color: #CCC;
    }

    input[type="checkbox"]:checked:focus + label:before,
    input[type="checkbox"]:not(:checked):focus + label:before,
    input[type="radio"]:checked:focus + label:before,
    input[type="radio"]:not(:checked):focus + label:before  
    {
        border: 1px dotted #006bb7;
    }

    input[type="radio"]:checked,
    input[type="radio"]:not(:checked) 
    {
        opacity: 0;
        position: absolute;
    }
    
    input[type="radio"]:checked + label,
    input[type="radio"]:not(:checked) + label
    {
        position: relative;
        padding: 0px 0px 0px 25px;
        display: inline-block;
    }
    
    input[type="radio"]:checked + label:before,
    input[type="radio"]:not(:checked) + label:before 
    {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 22px;
        height: 22px;
        border: 1px solid #aaa;
        border-radius: 100%;
        background: #fff;
    }
    
    input[type="radio"]:checked + label:after,
    input[type="radio"]:not(:checked) + label:after 
    {
        content: '';
        width: 14px;
        height: 14px;
        background: #006bb7;
        position: absolute;
        top: 4px;
        left: 4px;
        border-radius: 100%;
    }
    
    input[type="radio"]:not(:checked) + label:after 
    {
        opacity: 0;
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    
    input[type="radio"]:checked + label:after 
    {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}  

/***** mobile booking nav *****/

@media (max-width: 414px)
{
    .BOOKING-NAVIGATION
    {
        position: relative;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }
  
    .BOOKING-NAVIGATION::before
    {
        content: "";
        position: absolute;
        background-color: #ddd;
        border-radius: 3px;
        height: 7px;
        top: 0;
        bottom: 0;
        width: 100%;
        margin: auto;
    }

    .BOOKING-NAVIGATION > li
    {
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin: 0 auto !important;
        background-color: transparent;
    }

    .BOOKING-NAVIGATION > li,
    .BOOKING-NAVIGATION li.current-booking-tab
    {
        border: none !important;
    }

    .BOOKING-NAVIGATION > li > a
    {
        border-radius: 50px;
        height: 45px;
        width: 45px;
        background-color: #fff;
        border: 1px solid #006bb7;
        color: #006bb7;
    }

    .BOOKING-NAVIGATION > li.current-booking-tab > a
    {
        background-color: #378201;
        color: #fff;
        border: 0 !important;
        width: 55px;
        height: 55px;
    }

    .BOOKING-NAVIGATION > li > a::before
    {
        font-family: FontAwesome;
        font-size: 2.2rem;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .BOOKING-NAVIGATION > li.search > a::before
    {
        content: "\f002";
    }

    .BOOKING-NAVIGATION > li.air > a::before
    {
        content: "\f072";    
    }

    .BOOKING-NAVIGATION > li.hotel > a::before
    {
        content: "\f0f7";
    }

    .BOOKING-NAVIGATION > li.vehicle > a::before
    {
        content: "\f1b9";
    }

    .BOOKING-NAVIGATION > li.feature > a::before
    {
        content: "\f145";
    }

    .BOOKING-NAVIGATION > li.checkout > a::before
    {
        content: "\f07a";
    }

    .BOOKING-NAVIGATION > li > a > span
    {
        visibility: hidden;
        height: 1px;
        width: 1px;
        position: absolute;
        left: -9999px
    }

    .BOOKING-NAVIGATION .fa-check
    {
        top: 0;
        right: -4px;
        font-size: 1.2rem;
        border-radius: 10px;
        padding: 2px;
        background-color: #378201;
        color: #fff;
    }

    .BOOKING-NAVIGATION .sub-nav {
        margin-left: -60px;
        margin-top: 5px;
    }

    /***** one item navigation *****/

    .BOOKING-NAVIGATION li:only-child
    {
        width: auto;
        margin: auto !important;
    }

    .BOOKING-NAVIGATION li:only-child::before
    {
        border: 0;
    }
}


/***** mobile advanced search *****/

@media (max-width: 414px) 
{
    .package-type-wrap span,
    .vacation-type-wrap span,
    .flight-options,
    .spoofed-btn-wrap span
    {
        display: flex;
        flex-flow: wrap; 
        align-items: stretch;
        -ms-display: flex;
        -ms-flex-flow: wrap; 
        -ms-align-items: stretch;
    }
    
    .package-type-wrap label,
    .vacation-type-wrap label
    {
        margin-left: 0px;
        flex-grow: 1;
        -ms-flex-grow: 1;
        width: initial;
        margin-right: 2.5%;
    }

    .depart-date-wrap,
    .return-date-wrap
    {
        width: 48.5% !important;
        display: inline-block;
        min-width: initial;
    }
    
    .main-package-options,
    .vacation-type-wrap
    { 
        margin: 10px 0px 0px 0px;
    }
    
    .depart-date-wrap
    {
         margin: 0px 1.5% 0px 0px !important;
    }
    
    .main-package-options legend i,
    .depart-date-wrap .subLabel,
    .return-date-wrap .subLabel
    {
        display: none !important;
    }

    .ms-hotel-options-wrap legend i
    {
        display: inline-block !important;
    }

    .cabin-preference-wrap input + label, 
    .number-of-stops-wrap input + label, 
    .depart-time-wrap input + label, 
    .return-time-wrap input + label
    {
        font-size: 1.2rem;
    } 
    
    .cabin-preference-wrap input + label,
    .number-of-stops-wrap input + label,
    .depart-time-wrap input + label,
    .return-time-wrap input + label
    {
        margin: 10px 5px 0px 2px;
        flex-grow: 1;
        padding-top: 2px !important;
    }
    
    /* Multistop */
    
    .multistop-restool-wrap .depart-date-wrap, 
    .multistop-restool-wrap .return-date-wrap,
    .multistop-restool-wrap .rooms-wrap
    {
        width: 100% !important;
    }
    
    .multistop-restool-wrap .component-needs-air,
    .multistop-restool-wrap .componentsNeedHotelTitle,
    .multistop-restool-wrap .componentsNeedsColumnR
    {
        margin: 10px 0px;
    }      
}  


/***** mobile filters *****/

@media (max-width: 414px) 
{
    .filter-categories
    {
        display: flex;
        flex-flow: wrap;
        align-items: stretch;
        -ms-display: flex;
        -ms-flex-flow: wrap;
        -ms-align-items: stretch;
    }
    
    .filter-categories li
    {
        margin: 5px 0px;
        flex-grow: 1;
        -ms-flex-grow: 1;
        min-width: 50%;
    }
    
    #amenityFilterZone2 li,
    #landmarkFilterZone2 li,
    .feature-filters li
    {
        min-width: 100%;
    }
    
    .filters-ratings-mobile [type="checkbox"]:not(:checked) + label
    {
        padding: 0px 5px 0px 25px;
    }
    
    #categoryOptionsArea li ul
    {
        padding: 0px;
    }
    
    .filter-categories li ul li input[type="checkbox"]:checked + label:after
    {
        left: 2px;
        top: 0px;
        font-size: 12px;
    }
     
    .filter-categories li ul li
    {
        margin: 5px;
    }
    
    .filter-categories li ul li input[type="checkbox"] +label:before
    {
        width: 17px;
        height: 17px;
    }
    
    .filter-categories li ul li input[type="checkbox"] +label
    {
    
      padding: 2px 5px 0px 22px;
    }
    
    .outbound-departure-wrap
    {
        margin-top: 10px;
    }
    
    .filters-count 
    {
        font-size: 1.1rem;
    } 
}
    

/***** mobile hotel avail *****/

@media (max-width: 414px)
{
    .hotel-themes-wrap,
    .trip-advisor-wrap p,
    .see-all-promos-wrap
    {
        display: none !important;
    }

    .hotel-wrap
    {
        padding: 0 !important;
    }

    .hotel-wrap .COMPONENT-IMAGE-WRAP img,
    .preferred-hotel,
    span.preferred-hotel
    {
        max-width: 175px;
    }

    .preferred-hotel,
    span.preferred-hotel
    {
        margin: -7px 0 0 0;
        padding: 5px 0 3px 0;
        font-size: 1.2rem;
        font-weight: bold;
    }

    .hotel-title
    {
        width: auto;
    }

    .hotel-title .link
    {
        text-align: left;
        display: inline;
    }

    .trip-advisor-wrap
    {
        display: inline-block;
        margin-top: 0;
        font-size: 1.1rem;
    }

    .trip-advisor-wrap img
    {
        width: 100px;
        margin-left: -2px;
        vertical-align: text-bottom;
    }

    .hotel-wrap .added-values-list li,
    .hotel-location-wrap
    {
        line-height: 1.6rem;
        font-size: 1.2rem;
    }

    .select-hotel-wrap
    {
        margin-top: 10px;
        border: 0;
    }

    .hotel-wrap .PRICE-SELECT-WRAP div p,
        .hotel-wrap .PRICE-SELECT-WRAP .package-label {
        display: block;
        font-size: 1.2rem;
    }

    .hotel-wrap .PRICE-SELECT-WRAP .package-label
    {
        font-weight: normal;
        margin-left: 3px;
    }

    .hotel-wrap .totalPriceText2
    {
        margin-bottom: 5px;
    }
}


/***** mobile flight avail *****/

@media (max-width:414px)
{
    .preview-seats
    {
        display: none;
    }

    .flight-summary-wrap .COMPONENT-TITLE-WRAP 
    {
        padding-bottom: 0px;
    }

    .flight-wrap .PRICE-SELECT-WRAP 
    {
        position: relative;
        border-width: 0px 0 0 0;
        margin-top: 10px;
    }

    .flight-summary-wrap
    {
        width: 100%;
        padding: 15px 5px 0px;
    }

    .flight-column-wrap
    {
        border-top: none;
        padding-bottom: 0px;
    }

    .component-options-wrap .component-option-collapse-wrap button
    {
        margin-bottom: 0px;
    }

    .fare-list-table .air-select-button
    {
        width: 97%;
    }

    .price-difference
    {
        position: absolute;
        right: 12px;
        top: 10px;
        text-align: right;
        font-size: 1.5rem;
    }

    .fare-list-table tr
    {
        position: relative;
        display: block;
    }

    .price-per-stay-air-item
    {
        margin-top: 7px;
    }

    .price-difference p
    {
        float: right;
    }

    .flights-advisory-item
    {
        max-width: 75%;
    }

    .flight-wrap .rewards-wrap
    {
        margin: 8px 0px 0px;
        border: 0;
    }

    .flight-wrap .flights-rewards-item .rr-points
    {
        margin: 0px 0px;
    }
}


/***** mobile shared elements *****/

@media (max-width: 414px)
{
    .CONTENT-WRAP
    {
        border: none;
        padding: 0;
    }
    
     .CONTENT-MAST-WRAP
    {
        margin: 20px 0px 0px 0px;
    }

    .BASE-NAV
    {
        background-color: #fff;
    }

        .COMPONENT-SUMMARY-WRAP {
        padding: 10px 5px 5px 5px;
    }

    .COMPONENT-IMAGE-WRAP,
    .COMPONENT-DETAILS-WRAP,
    .COMPONENT-SUMMARY-WRAP,
    .PRICE-SELECT-WRAP
    {
        width: 100%;
    }

    .PROMO-APPLIED-WRAP + p,
    .PROMO-APPLIED-WRAP + div
    {
        margin-top: 0;
    }

    .desktop-selected-component,
    .desktop-promo-component
    {
        display: none !important;
    }

    li[class*="ContainerSelected"] .mobile-only-banners .SELECTED-COMPONENT
    {
        display: block !important;
        padding: 10px;
        width: 100%;
    }

    .PRICE-SELECT-WRAP 
    {
        padding: 5px;
        border: none;
        background-color: transparent;
        border-radius: 0;
    }

    .PRICE-SELECT-WRAP .button
    {
        margin: 0;
        width: 100%;
        text-transform: capitalize;
    }

    .rewards-hotel-wrap + button.button  {
        margin-top: 10px;    
    }
    
    /* Marks needed to add readonly attributes to some inputs so they opened correctly on mobile keyboards, this reverts them to look active again */
    input:read-only,
    input, select
    {
      border: 1px solid #aaa;
      background: #fff;
    }

    .COMPONENT-TITLE-WRAP,
    .COMPONENT-DETAILS-WRAP
    {
        margin: 0;
    }

    .COMPONENT-DETAILS-WRAP
    {
        padding: 0;
        border: 0;
        display: flex;
    }

    .COMPONENT-DETAILS,
    .COMPONENT-TITLE-WRAP
    {
        text-align: left;
    }

    .COMPONENT-OPTIONS-LIST > li
    {
        border-color: #aaa;
    }
    
    .COMPONENT-IMAGE-WRAP
    {
        text-align: left;
        width: auto;
        margin-right: 10px;
    }
   
}

/***** mobile checkout step 3 *****/

@media (max-width: 414px) 
{
    .payment-info-details fieldset,
    .payment-info-details .confirmationNumberInput, 
    .payment-info-details .confirmation-number-input, 
    .payment-info-details .paymentTypeInput, 
    .swav-passenger-name, 
    .swav-payment-info .swav-confirmation-number-text .confirmation-number-input,
    .hotelSSR .dropdownQuestion, 
    .flightSSR .dropdownQuestion, 
    .additionalComments input, 
    .vehicleSSR .SSRpassengerContainer fieldset,
    .hotelSSR .dropdownQuestion select, 
    .featureSSR .dropdownQuestion select, 
    .featureSSR .dropdownQuestion label,
    .SSRpassengerContainer select,
    .hotelSSR .dropdownQuestion, 
    .flightSSR .dropdownQuestion, 
    .featureSSR .dropdownQuestion,
    .flight-leg-info-wrap
    {
        width: 100%;
    }
    
    .checkout-step3 .CART-COMPONENT-DETAIL
    {
        margin: 0px;
    }
    
    fieldset.cc-expiration-date.year
    {
        text-align: left;
        float: left;
    }
    
    .numCreditCardLabel + select
    {
        margin-bottom: 10px;
    }
    
    p.ssrPleaseNote 
    {
        font-size: 100%;
        clear: both;
        margin: 10px 0;
    }
    
    .payment-info-container h2 span
    {
        font-size: 1.1rem;
        display: block;
        margin-bottom: 0px;
    }
    
    .checkout-step3 .cart-price
    {
        font-size: 1.4rem;
    }
    
    .checkout-step3 .checkout-instructions,
    span.mandatorySSR,
    span.mandatorySSR + strong,
    .card-instructions
    { 
        display: none;
    }
    
    .checkout-step3 .cart-header h3,
    .checkout-step3 .hotel-read-only h3,
    .checkout-step3 .vehicle-read-only h3,
    .feature-read-only .cart-item-repeater h3
    {
        text-align: left;
    }

        .clear .payment-options-drip-header,
        .clear .price-component {
            width: auto !important;
        }
        .clear .payment-choice-container{
            display: block;
        }

        .flight-leg-arrival, .flight-leg-depart {
            width: 47%;
        }
    
    .hotel-ro-image-wrap img
    {
        width: initial;
        margin-top: 5px;
    }
    
    .feature-read-only div img
    {
        float: left;
    }
    
    .feature-read-only .cart-item-repeater
    {
        text-align: left;
        float: left;
    }
    
    .email-reminder-content
    {
        margin: 0px;
    }
    
    .email-reminder-content .calendar-icon-wrap,
    .email-reminder-content input
    {
        width: 100%;
    }
    
    .checkout-step1
    {
        margin-top: 10px;
    }
    
 }


/***** mobile mini cart *****/
 
@media (max-width: 414px) 
{
    .checkout-step3 .ro-minicart,
    .mc-v2-wrap,
    .mc-v3-summary
    {
        display: none;
    }
    
     .ro-minicart-wrap
    {
        margin: 10px auto;
    }
    
    .mc-v2-wrap,
    .mc-v1-wrap
    {
        border-width: 0 0 1px 0;
        margin-top: 20px;
        padding: 0;
    }
    
    .cancel-modify-wrap
    {
        border: none;
    }
}


/***** mobile waitscreen *****/
 
@media (max-width: 414px) 
{
     .waitscreen-modal-wrap
     {
        position: absolute;
        top: 50%;
        text-align: center;
        width: 100%;
        left: 0px;
        transform: translateY(-50%);
     }
     
     #modalParentDiv p
     {
         font-size: 1.5rem;
         margin: 2%;
     }
     
     .pl-waitscreen-modal-wrap .waitscreen-ind, 
     .waitscreen-modal-wrap .waitscreen-ind
     {
        font-size: 5rem;
        margin: 15% auto;
     }  
}



/***** mobile feature and transfer summary *****/
 
    @media (max-width: 659px) {
        .ck1-feature-wrap {
            display: flex;
            flex-wrap: wrap;
    }
    
    div[id^="cartFeaturePanel"] .ck1-feature-component:last-child dl,
    .CART-COMPONENT-DETAIL.ck1-feature-component
    {
        margin-bottom:10px;    
    }
    
    .ck1-feature-wrap > dl, 
    .ck1-feature-wrap > div
    {
        flex:1;    
    }
    
    .ck1-feature-wrap > dl
    {
        flex-grow:3;     
        text-align:left;
    }
    
    .ck1-feature-wrap dt h3,
    .ck1-feature-wrap dd
    {
        text-align:left;  
        padding-left:10px;  
    }
    
    .ck1-feature-wrap dd
    {
        display:inline-block;    
    }
    
    .ck1-feature-wrap .feature-cart-image-wrap
    {
        display:none;
    }
}



/***** mobile feature avail *****/
 
@media (max-width: 414px) 
{
    .featureComponentContainer2 .COMPONENT-DETAILS
    {
        font-size: 1.2rem;
    }

    #featureRateSelectionComponent .PRICE-SELECT-WRAP
    {
        width: 100%;
    }

    .feature-wrap
    {
        padding: 0 !important;
    }
}

@media (max-width:414px)/* car summary/upsell */
     {
     .upsell-options-table tr 
     {
        position: relative;
        display: grid;
        width: 100%;
    }

    .upsell-options-table td 
    {
        border-bottom: 0px;
    }

    .vehicleTypeZone .upsell-name a 
    {
        margin-left: 0;
    }

    .upsell-options-table-header 
    {
        display: none;
    }   
    
    .upsell-name 
    {
        padding-right: 10px;
    }
    
    .upsell-name img
    {
        display:none;
    }
    
    .car-summary-info 
    {
        list-style: none;
    }

    .vehicle-cart-modify .no-wrap 
    {
        white-space: normal;
    }
    
    /***** checkout1 travel protection *****/

     .insurance-upsell-btn-wrap,
     .insurance-upsell-btn-wrap a
     {
         width: 100%;
     }
 
     .insurance-upsell-text
     {
         margin-top: 5px;
     }
 
     .insurance-selection label
     {
         margin-left: 0px;
     }

    /***** checkout1 showcase features *****/

    .feature-cart-modify-upsell .cart-modify-button
    {
        width: 100%;
    }

    .feature-cart-modify-upsell .cart-modify-button + p
    {
        padding: 5px 0px 10px 0px;
        clear: both;
    }

    .feature-cart-modify-upsell .COMPONENT-IMAGE-WRAP img
    {
        width: auto;
        height: auto;
        max-width: 185px;
    }

    .checkout-step1 * h3
    {
        text-align: left;
    }
    
    .cart-price
    {
        font-size: 1.4rem;
    }
}
    
/* ADA Accessibility Statements
************************************/

.ada-statement-wrap p,
.ada-statement-wrap ul
    {
    margin-bottom:15px;
    }

.ada-statement-wrap ul
{
    padding-left:15px;    
}
    
/***/

/* Temp spot for mini cart styles
************************************/


.mc-v4-wrap
{  
    position: relative;
    padding: 25px 0 20px 0;
    font-size: .9em;
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #dedede;
    margin-bottom: -1px;
}

.mini-cart-details
{
    position:relative;
    border-top: 1px solid #aaa;
    margin-top: 20px;
}

.mini-cart-details:after, 
.mini-cart-details:before 
{
    bottom: 100%;
	left: 97.5%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
    z-index: 100;
}

.mini-cart-details:after
{
    border-color: rgba(136, 183, 213, 0);
	border-bottom-color: #fff;
	border-width: 14px;
	margin-left: -34px;
}

.mini-cart-details:before
{
    border-color: rgba(194, 225, 245, 0);
	border-bottom-color: #aaa;
	border-width: 16px;
	margin-left: -36px;
}

.mc-v4-wrap .mini-cart-header
{
    padding: 0 2% 10px;
}

.mc-v4-wrap h2, .mc-v4-wrap h3
{
    display: inline;
    border: none;
}

.mc-v4-wrap h2
{
   font-size: 2.4rem;
   line-height: 3.0rem;
}

.mc-v4-wrap h3
{
    font-size: 1.8rem;
}

.mc-v4-wrap h3.mc-v4-modify
{
    font-size: 2.4rem;
    margin: 5px 0 0 0;
    display: block;
}

.mc-addon-v4-wrap h4
{
    margin-bottom: 0;
}

.mc-addon-v4-wrap h4:not(:first-of-type)
{
    margin-top: 5px;
}

.mc-v4-wrap i
{
    float: none;
    font-size: 2.2rem;
    margin-right: 15px;
    margin-top: 1px;
    width: 20px;
    text-align: center; 
}

.mc-v4-wrap h4,
.mc-v4-wrap .mini-cart-time-table caption
{
    font-weight: bold;
}

.mc-v4-wrap .mc-addon-v4-wrap h4 {
    font-size: 1.4rem;
}

.mc-v4-wrap .secondary-button {
    line-height: inherit;
    height: auto;
    font-size: inherit;
}

/* cart modification styles */
li.new-selection-v4-wrap {
    flex: 0 0 100% !important;
    margin-top: 10px;
}

li.new-selection-v4-wrap ul
{
    margin-top: 5px;
    list-style: none;
}


/* table styles */

.mc-v4-wrap .mini-cart-time-table
{
    width: 100%; 
}

.mc-v4-wrap .mini-cart-time-table caption
{
    text-align: left;
}

.mc-v4-wrap .mini-cart-time-table th
{
    width: 100px;
    font-weight: normal;
}


/* button styles */

.mc-v4-wrap .mini-cart-component-wrap a.secondary-button, 
.mc-v4-wrap .mini-cart-component-wrap button.secondary-button
{
    margin-left: 10px;
}

/*cart components*/

.mc-v4-wrap .mini-cart-component-wrap
{
    display: inline-flex;
    width: calc(100% - 260px);
    flex-wrap: wrap;
    list-style: none;
}

        .mc-v4-wrap .mini-cart-component-wrap > li {
    flex: 0 0 46%;
    padding: 10px 2%;
    min-width: 0;
    text-overflow: ellipsis;
}

.mc-v4-wrap .mini-cart-component-wrap > li.mc-hotel-v4-wrap 
{
    white-space: inherit;
}

.mc-v4-wrap .mini-cart-component-wrap .mini-cart-component-header .mini-cart-component-header-title
{
    display: inline-block;
}

.mc-v4-wrap .mini-cart-flight-leg-wrap
{
    margin-bottom: 10px;
}

/*right rail price component*/

.mc-v4-wrap .mini-cart-price-wrap
{
    display: inline-flex;
    flex-direction: column;
    width: 255px;
    padding: 0 20px;
    border-left: 1px solid #ddd;
    text-align: center;
}

.mc-v4-wrap .mini-cart-price-wrap > span {
    display: block;
}

.mc-v4-wrap .mini-cart-price-wrap .mini-cart-price-title {
    font-size: 1.8rem;
    font-weight: bold;
}

.mc-v4-wrap .pay-at-property-container i {
    font-size: 14px;
}

.mc-v4-wrap .mini-cart-price-wrap .mini-cart-price-per {
    font-size: 2.4rem;
    color: #44812D;
}

.mc-v4-wrap .mini-cart-price-wrap .mini-cart-price-total {
    font-size: 3.0rem;
    color: #44812D;
    font-weight: bold;
}

/* Mini Cart button */

.mini-cart-checkout-button {
    margin-top: 20px;
}

.mc-v4-wrap span.mini-cart-icon-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.mc-v4-wrap span.mini-cart-icon-wrap .fa {
    margin-right: 5px;
    margin-top: 0;
}

.mc-v4-wrap span.mini-cart-icon-wrap span:last-child {
    margin-top: 3px;
    font-size: 2.6rem;
}

/*New price component*/

.mc-v4-wrap .price-component {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mc-v4-wrap .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mc-v4-wrap .pay-now {
    font-weight: 700;
}

.mc-v4-wrap .pay-at-property {
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.mc-v4-wrap .price-divider {
    border: none;
    border-top: 1px solid #ccc;
    margin: 0;
}

.mc-v4-wrap .pay-at-property-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;
    position: relative;
}

.mini-cart-price-wrap .pay-at-property-container .tooltip {
    display: none;
    position: absolute;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 1rem;
    border-radius: 6px;
    z-index: 1000;
    width: 300px;
    top: calc(100% + 1rem);
    left: 50%;
    transform: translateX(-50%);
    text-align: left;
}

.mini-cart-price-wrap .pay-at-property-container .info-question-icon:hover + .tooltip {
    display: block;
}

.mini-cart-price-wrap .price-info-container 
{
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
}

.mini-cart-price-wrap .pay-at-property-container .info-question-icon:focus + .tooltip {
    display: block;
}
.mc-v4-wrap .mini-cart-price-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.mc-v4-wrap .per-feature-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.mc-v4-wrap .per-feature-container .per-feature-element {
    font-weight: 700;
}

.mini-cart-toggle .mini-cart-price-wrap .mini-cart-price-container {
    display: flex;
    gap: 0.5rem;
    width: 100%;
    align-items: flex-start;
}

.mini-cart-price-wrap .per-feature-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.mini-cart-price-wrap .per-feature-element {
    font-weight: 700;
}

/*End new price component*/
.mc-v4-wrap .mini-cart-price-loyalty-wrap {
}

.mc--reward-points-wrapper {

}

.mc--reward-cash-wrapper {

}

.mini-cart-price-loyalty-wrapper {
    font-size: 1.6rem;
    font-weight: bold;
    align-self: center;
}

#reviewPriceStamp .COMPONENT-PRICE {
    font-size: 2.6rem;
}

.mc-v2-currency-price {

}

.mc-v2-currency-price span {

}

.mini-cart-loyalty-msg {
    width: calc(100% - 260px);
    padding: 0 1.5%;
    min-width: 0;
    font-weight: bold;
}

    @media (max-width: 979px) {
        .mc-v4-wrap .mini-cart-component-wrap {
        width: 100%;
        }

            .mc-v4-wrap .mini-cart-price-wrap {
            width: 100%;
            padding-top: 20px;
            border-left: none;
            border-top: 1px solid #ddd;
        }

            .mc-v4-wrap .mini-cart-component-wrap > li {
            flex: 0 0 50%;
        }

        .mini-cart-details:after, 
            .mini-cart-details:before {
            left: 97%;
        }

        .mini-cart-loyalty-msg {
          width: 100%;
          padding: 10px 20px 0 20px;
        }

        .mini-cart-price-wrap .pay-at-property-container .tooltip {
            left: 120%;
        }
}

    @media (max-width: 799px) {
        .mc-v4-wrap .mini-cart-flight-leg-wrap a.button {
            margin-left: 0;
        }

            .mc-v4-wrap i {
            display: inline;
        }

        .mini-cart-details:after, 
            .mini-cart-details:before {
            left: 96%;
        }

            .mc-v4-wrap .mini-cart-header {
            padding: 0 20px;
        }

        .mc-v4-wrap .mini-cart-component-wrap > li {
            padding: 10px 20px;
            text-overflow: ellipsis;
        }

        .mini-cart-price-wrap .pay-at-property-container .tooltip {
            left: 120%;
        }
}

    @media (max-width: 580px) {
        .mc-v4-wrap {
            display: block;
            margin-top: 0;
            border-width: 1px;
        }
        
        .mc-v4-wrap .mini-cart-component-wrap {
            flex-direction: column;
        }
        
        .mc-v4-wrap .mini-cart-component-wrap .mini-cart-component-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .mini-cart-price-wrap .pay-at-property-container .tooltip {
            left: 120%;
        }
}


/* Temporarily placing all new progress bar styles below  */

nav.booking-navigation-wrap
{
    display: flex;
    margin-bottom: 10px;
}

.booking-progress-navigation 
{
    display: flex;
    /*flex-basis: auto;*/
}

.booking-progress-navigation li 
{
    display: flex;
    flex: auto;
    justify-content: space-around;
    align-items: center;
    border: none;
    text-align: left;
}

.booking-progress-navigation li:after 
{
    font-family: FontAwesome;
    content: "\f105";
    color: #dedede;
    font-size: 50px;
    font-weight: 200;
}

.booking-progress-navigation li.checkout
{
    margin-right: 20px;
}

.booking-progress-navigation li.checkout:after
{
    content: " ";
}

.booking-progress-navigation .sub-nav
{
    display: none;
}


.booking-progress-navigation li a 
{
    white-space: normal;
    line-height: .9em;
    margin: 0 15px;
    text-decoration: none;
}

.booking-progress-navigation li a > span 
{
    display: flex;
    align-items: center;
    color: #333;
    font-size: 1.2rem;
    font-weight: normal;
    text-decoration: none;
}

.booking-progress-navigation li a span.booking-navigation-summary 
{
    max-width: 200px;
    min-width: 50px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
}

.booking-progress-navigation li a span .fa 
{
    font-size: 2.0rem;
    margin-right: 10px;
    color: #006bb7;
}

.booking-progress-navigation .current-booking-tab
{
    border-right: none!important;
}

.booking-progress-navigation .current-booking-tab a span
{
    font-weight: bold;
}

.booking-progress-navigation .current-booking-tab a span .fa
{
    padding: 10px;
    border-radius: 50%;
    background-color: green;
    color: #fff;
}

.booking-progress-navigation .current-booking-tab a span .fa.fa-plane
{
    padding: 15px 17px 15px 17px;
}


.booking-progress-navigation li .flight-code-wrap 
{
    display: flex;
    flex-direction: column;
    white-space:nowrap;
}

.booking-progress-navigation li.feature .booking-navigation-summary
{
    white-space: nowrap;
}

    nav .mini-cart-toggle {
    display: flex !important;
    margin-left: auto;
    align-items: center;
    color: #333;
    font-size: 1.2rem;
    line-height: 1.4em;
    font-weight: normal;
    text-decoration: none;
    text-align: right;
    white-space: nowrap;
}

.mini-cart-toggle:hover {
    text-decoration: none;
}


/*Mini cart toggle*/

nav .mini-cart-toggle .mini-cart-price-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

    nav .mini-cart-toggle .mini-cart-price-wrap strong {
    font-size: 16px
}


nav .mini-cart-toggle > .fa 
{
    margin-left: 10px;
    font-size: 30px;
    color: #006bb7;
}

nav .mini-cart-toggle .mini-cart-price {
    align-self: center;
    display: block;
    font-size: 1.7rem;
    font-weight: bold;
}

@media (max-width: 967px) 
{
    .booking-progress-navigation li a span .fa
    {
        margin: 0 5px;
    }

        .booking-progress-navigation li a span.booking-navigation-summary {
        position:absolute;
        top:auto;
        left:-10000px;
        height:1px;
        width:1px;
        overflow:hidden;
    }

        .booking-progress-navigation li .flight-code-wrap {
        position:absolute;
        top:auto;
        left:-10000px;
        height:1px;
        width:1px;
        overflow:hidden;
    }
}

@media (max-width:768px)
{
    .booking-progress-navigation li a
    {
        margin: 0 4px;
    }
} 

@media (max-width:580px) 
{
    .BOOKING-NAVIGATION
    {
        width: auto;
    }
    .booking-progress-navigation li a span .fa
    {
        font-size: 1.8rem;
    }

    .booking-progress-navigation > li > a
    {
        border: none;
        width: auto;
        height: auto;
        margin: 0;
    }

    .BOOKING-NAVIGATION::before
    {
        content: none;
    }

    .booking-progress-navigation > li > a:before
    {
        content: ''!important;

    }

    .booking-progress-navigation li:after
    {
        font-size: 25px;
    }

    .booking-progress-navigation > li > a > span
    {
        visibility:initial;
        height:auto;
        width: auto;
        position: relative;
        left: auto;
    }

    .booking-progress-navigation > li.current-booking-tab > a
    {
        background-color: #fff;
        width: auto;
        height: auto;
        border-radius:unset;
    }

    nav .mini-cart-toggle > .fa
    {
        border-left: 5px;
    }

}

@media (max-width:465px) {
    nav .mini-cart-toggle {
        margin-left: 0.5rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .mini-cart-price-wrap .per-feature-container {
        flex-direction: row;
        line-height: 1.2em;
        gap: 0.5rem;
    }

    .mini-cart-price-container .mini-cart-price-loyalty-wrapper {
        margin-top: 3px;
        margin-bottom: -3px;
    }

    .mini-cart-toggle .mini-cart-price-wrap .mini-cart-price-container {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .mini-cart-toggle .mini-cart-price-wrap div {
        display: flex;
        flex-wrap: wrap;
    }
}


/*Enhance Loyalty Points Display */

.reward-badge-wrap,
.no-logo-reward-badge-wrap {
    background-color: #e7e7eb;
    border-radius: 3px;
    border: 1px solid #aaa;
    padding: 5px;
    height: 35px;
}

.reward-badge-wrap {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    width: 190px;
}

.no-logo-reward-badge-wrap {
    width: 110px;
}

.reward-badge-pts {
    line-height: 1.2rem;
    color: #111b40;
    text-align: left;
}

.reward-badge-logo {
    margin-right: 10px;
}

.reward-badge-img {
    background: url("https://trisept.widen.net/content/qrr5aoiazb/png/WNT_LOGO_ANCILLARY_rewards-logo.png") no-repeat top left;
    background-size: contain;
    width: 70px;
}

.reward-pts-earned {
    font-size: 1.1rem;
    vertical-align: top;
}

.reward-pts-per {
    display: block;
    font-size: 1rem;
}


/*clickable hotel avail card
****************************************/
.cha--hotel-list > li {
    list-style: none;
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 20px;
    margin-bottom: 20px;
}


.cha--selected-hotel-wrap {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 1.6rem;
    font-style: italic;
    font-weight: bold;
    text-transform: uppercase;
    color: #44812d;
    position: relative;
    z-index: 1;
    background-color: transparent;
    text-align: center;
    width: 100%;
}

        .cha--selected-hotel-wrap:before {
            border-top: 1px solid #bdc0c3;
            content: "";
            margin: 0 auto;
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            z-index: -1;
        }

        .cha--selected-hotel-wrap p {
            background: #fff;
            padding: 0 15px;
            display: inline-block
        }

.cha--featured-hotel-wrap {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 1.6rem;
    font-style: italic;
    font-weight: bold;
    text-transform: uppercase;
    color: #44812d;
    position: relative;
    z-index: 1;
    background-color: transparent;
    text-align: center;
    width: 100%;
}

        .cha--featured-hotel-wrap:before {
            border-top: 1px solid #bdc0c3;
            content: "";
            margin: 0 auto;
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            z-index: -1;
        }

        .cha--featured-hotel-wrap p {
            background: #fff;
            padding: 0 15px;
            display: inline-block
        }

.cha--hotel-info {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 100%;
    color: #595959;
    font-size: 1.2rem;
}

        .cha--col-1 {-webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2;}
        .cha--col-2 {-webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1;}
        .cha--col-3 {-webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 3; -webkit-order: 3; order: 3;}

        .cha--col-1,
        .cha--col-2,
        .cha--col-3 {
            flex-basis: 0;
        }

        .cha--hotel-title,
        .cha--hotel-location,
        .cha--hotel-perks,
        .cha--promo-label,
        .cha--hotel-price > strong,
        .cha--strong,
        .cha--discounts-applied {
            color: #191919;
        }

        .cha--col-1 {
            display: -webkit-box;
            display: -moz-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            flex-direction: column;
            margin: 0 10px 0 20px;
            min-height: 260px;
            flex-grow: 5;
        }

                .cha--hotel-title {
                    display: -webkit-box;
                    -webkit-line-clamp: 3;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    width: 100%;
                    line-height: 1.4;
                    font-size: 2rem;
                }
                
                .cha--hotel-title {-webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1;}
                .cha--hotel-rating {-webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 3; -webkit-order: 3; order: 3;}
                .cha--trip-advisor {-webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 4; -webkit-order: 4; order: 4;}
                .cha--flex-break {-webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; -ms-flex-order: 5; -webkit-order: 5; order: 5;}
                .cha--rating-trip-wrap {-webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2;}

                .cha--hotel-location-wrap,
                .cha--hotel-promo-wrap,
                .cha--flex-break {
                    margin-top: 10px;
                    line-height: 1.4;
                }

                .cha--hotel-perks-wrap {
                    margin-top: 15px;
                    line-height: 1.4;
                }

                .cha--hotel-rating {
                    margin-top: 5px;
                    margin-right: 10px;
                }

                .cha--hotel-location,
                .cha--hotel-perks,
                .cha--promo-label,
                .cha--discounts-applied {
                    font-weight: bold;
                    display: block;
                }

                .cha--hotel-location-wrap:only-child {
                    width: 100%;
                }

                .cha--distance-from-list li {
                    margin-left: 12px;
                    list-style: disc;
                }

                .cha--trip-advisor {
                    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
                    margin-top: auto;
                }

                        .cha--trip-advisor > span {
                            white-space: nowrap;
                            align-self: center;
                        }
                                .cha--trip-advisor > span:first-child {
                                    height: 20px;
                                }

                                .cha--trip-advisor > span > img {
                                    margin-left: -8px;
                                    max-width: 120px;
                                }

               .cha--rating-trip-wrap {
                    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; margin-top: 5px;
                }


        .cha--col-2 {
            position: relative;
            flex-grow: 6;
        }

                .cha--col-2:after {
                    content: '';
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    background: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.7) 20%, rgba(255, 255, 255, 0) 100%);
                    background: -moz-linear-gradient(0, rgba(0, 0, 0, 0.7) 20%, rgba(255, 255, 255, 0) 100%);
                    background: -webkit-linear-gradient(0, rgba(0, 0, 0, 0.7) 20%, rgba(255, 255, 255, 0) 100%);
                    background: linear-gradient(0, rgba(0, 0, 0, 0.7) 20%, rgba(255, 255, 255, 0) 100%);
                    right: 0;
                    height: 75px
                }

                .cha--col-2 > img {
                    object-fit: cover;
                    height: 100%;
                    width: 100%;
                    min-height: 75px;
                    max-height: 260px;
                    display: block;
                }

                .urgent-msg-a {
                    color: #fff;
                    font-weight: bold;
                    font-size: 1.4rem;
                    padding: 5px 10px;
                    position: absolute;
                    top: 0;
                    left: 0;
                    background-color: #44812d;
                }

                .cha--col-2 .cleaning-badge {
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    padding-left: 5px;
                    z-index: 1;
                }

        .cha--col-3 {
            text-align: right;
            width: 210px; min-width: 210px; max-width: 210px; /*ie fix*/
            margin-left: auto;
            padding-left: 20px;
            display: -webkit-box;
            display: -moz-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            flex-grow: 3;
            flex-direction: column;
        }

                .cha--added-value {-webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 4; -webkit-order: 4; order: 4;}
                .cha--hotel-sales-msg {-webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; -ms-flex-order: 5; -webkit-order: 5; order: 5;}
                .urgent-msg-b {-webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; -ms-flex-order: 6; -webkit-order: 6; order: 6;}
                .cha--reward-points-wrap {-webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2;}
                .cha--hotel-price-wrap {-webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1;}
                .cha--discounts-applied-wrap {-webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 3; -webkit-order: 3; order: 3;}

                .cha--discounts-applied,
                .cha--added-value,
                .cha--hotel-sales-msg,
                .cha--discounts {
                    margin-top: 0;
                    line-height: 1.2;
                }  

                .cha--reward-points-wrap {
                    margin-top: 10px;
                }

                .cha--reward-points-header {
                    color: #135582;
                    font-size: 1.8rem;
                    font-weight: bold;
                    text-align: left;
                }
                
                .cha--reward-points-price {
                    text-align: right;
                }

                .componentPriceHotel_LP {
                    font-size: 1.8rem;
                    font-weight: bold;
                }

                .cha--reward-perperson {
                    margin: 0;
                    padding: 0;
                }

                .hp--reward-perperson {
                    font-size: 1.2rem;
                    font-weight: normal;
                    display: block;
                }

                .hp-uplift {

                }

                .cha--reward-taxes {
                    font-size: 1rem;
                    line-height: 1.2rem;
                    margin-top: 10px;
                    padding: 0;
                }

                .cha--reward-taxes + p {
                    margin-top: 0;
                }

                .cha--reward-points-separator {
                    margin: 10px 0; 
                }

                .cha--reward-points-separator p {
	                display: flex;
	                width: 100%;
	                justify-content: center;
	                align-items: center;
                    font-size: 1.6rem;
                    font-style: italic;
	                text-align: center;
                }
                /*add and adjust the lines*/
                .cha--reward-points-separator p:before,
                .cha--reward-points-separator p:after {
	                content: '';
	                border-top: 1px solid #000;
	                margin: 5px 10px 0 0;
	                flex: 1 0 10px;
                }
                /*add spacing between heading and lines*/
                .cha--reward-points-separator p:after {
	                margin: 5px 0 0 10px;
                }

                .cha--reward-points-separator-vertical-wrapper {
                    margin: 0 10px; 
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                }

                .cha--reward-points-separator-vertical-wrapper p {
                    font-size: 1.6rem;
                    font-style: italic;
	                text-align: center;
                }

                .cha--reward-points-separator-vertical {
                    width: 1px;
                   height: 100%;
                    background-color: black;
                }

                .earned-points {
                    background-color: #f1e400;
                    border-radius: 12px;
                    margin-top: 10px;
                    padding: 3px 10px;
                }

                .earned-points-summary {
                    background-color: #f1e400;
                    border-radius: 12px;
                    width: max-content;
                    padding: 3px 10px;
                }

                .earned-points-summary {
                    background-color: #f1e400;
                    border-radius: 12px;
                    width: max-content;
                    padding: 3px 10px;
                }

                .cha--summary-rewards {
                    display: flex;
                    flex-direction: column;
                    align-items: flex-end;
                }

                .cha--hotel-rewards {
                    display: flex;
                    flex-direction: column;
                    align-items: flex-end;
                }

                .cha--discounts-applied-wrap {
                    margin-top: 15px;
                }

                .cha--added-value,
                .cha--hotel-sales-msg {
                    color: #595959;
                }

                .cha--added-value + .cha--hotel-sales-msg {
                    margin-top: 0;
                }                  

                .cha--package-label button.link {
                    text-decoration: none;
                }

                .cha--hotel-price > strong,
                .cha--strong {
                    font-size: 3.2rem;
                    display: block;
                    line-height: 1;
                    font-weight: bold;
                }
                       
                .cha--currency-symbol {
                    font-size: 1.8rem;
                    vertical-align: super;
                }

                .cha--orig-price-wrap {
                    line-height: 1;
                    margin: 2px 0 2px 0;
                }

                        .cha--orig-price-wrap s {
                            text-decoration: none;
                            position: relative;
                            font-weight: bold;
                            font-size: 1.6rem;
                            color: #595959;
                        }

                        .cha--orig-price-wrap s:before {
                            top: 42%;
                            background: #000; 
                            opacity:.4;
                            content: '';
                            width: 100%;
                            position: absolute;
                            height: 2px;
                            left: -1px;
                            white-space: nowrap;
                            display: block;
                        }

                .urgent-msg-b {
                    color: #44812d;
                    font-size: 1.6rem;
                    font-style: italic;
                    margin-top: auto;
                    line-height: 1.6;
                    width: 100%;
                    max-width: 200px;
                    padding-top: 20px;
                }

                /*prevents flash on page load*/
                .cha--package-label * {
                     border: 0 !important; 
                }

.cha--col-3 .up-pricing-wrap[style*="block;"],
.cha--col-3 .up-ck-pricing-wrap[style*="block;"] {
    display: inline-block !important;
    padding: 0 !important;
}


/*caution when altering styles below. they control the
ability to click the entire hotel card to select it.*/

.clickable-hotel-wrap {
    position: relative;
}

.clickable-featured-wrap {
    position: relative;
}

.clickable-hotel-main-link {
    text-decoration: none;
    color: inherit;
}

.clickable-hotel-main-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.cha--hotel-title button.link
{
    text-align: left;
}

.clickable-hotel-wrap:hover,
.clickable-hotel-wrap:focus,
.clickable-featured-wrap:hover,
.clickable-featured-wrap:focus {
    border: 1px solid #006bb7;
    -webkit-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
}

.clickable-hotel-wrap:focus-within {
    border: 1px solid #006bb7;
}

.clickable-hotel-wrap.componentContainerSelected {
    border: 2px solid #44812d;
}

.clickable-featured-wrap.componentContainerFeatured {
    border: 2px solid #44812d;
}

.clickable-hotel-wrap:focus-within a:focus {
    text-decoration: none;
}

.clickable-hotel-main-link:focus,
.clickable-hotel-main-link:hover {
    text-decoration: underline;
    color: inherit;
}

.clickable-card-link {
    position: relative;
    z-index: 2;
}

/********** end caution **********/

@media (min-width: 900px) and (max-width: 1200px) 
{ 
    .cha--rating-trip-wrap {
        flex-direction: column;
    }

    .cha--hotel-rating {
    margin-bottom: 7px; 
    }
}

@media (max-width:899px)
{
    .cha--hotel-list > li {
        padding: 15px 15px 20px 15px;
    }

    .cha--hotel-info,
    .cha--col-1,
    .cha--col-2,
    .cha--col-3 {
        flex-basis: 100%;
        flex-wrap: wrap;
    }

    .cha--col-1 {
        flex-direction: row;
        min-height: 0;
        margin: 20px 0 0 0;
    }
            
            .cha--trip-advisor {-webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 3; -webkit-order: 3; order: 3;}
            .cha--flex-break {-webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 4; -webkit-order: 4; order: 4;}

            .cha--flex-break,
            .cha--rating-trip-wrap {
                display: -webkit-box;
                display: -moz-box;
                display: -ms-flexbox;
                display: -webkit-flex;
                display: flex;
                width: 100%;
            }

            .cha--hotel-location-wrap {
                padding-right: 40px;
            }

            .cha--hotel-rating,
            .cha--trip-advisor {
                min-width: 50%;
            }

            .cha--hotel-location-wrap,
            .cha--hotel-promo-wrap,
            .cha--hotel-perks-wrap {
                width: 50%;
            }

            .cha--hotel-rating {
                margin-right: 0;
            }

    .cha--col-3 {
        min-height: 0;
        width: 100%; min-width: 0; max-width: 100%; /*ie fix*/
        text-align: left;
        padding-left: 0;
        margin-left: 0;
    }

            .cha--added-value {-webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1;}
            .cha--hotel-sales-msg {-webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2;}
            .urgent-msg-b {-webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; -ms-flex-order: 6; -webkit-order: 6; order: 6;}
            .cha--reward-points-wrap {-webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; -ms-flex-order: 4; -webkit-order: 4; order: 4;}
            .cha--hotel-price-wrap {-webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; -ms-flex-order: 3; -webkit-order: 3; order: 3;}
            .cha--discounts-applied-wrap {-webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; -ms-flex-order: 5; -webkit-order: 5; order: 5;}

            .cha--hotel-price-wrap,
            .urgent-msg-b,
            .cha--reward-points-wrap,
            .cha--discounts-applied-wrap {
                text-align: center;
            }

            .cha--reward-points-wrap {
                align-self: center;
            }

            .cha--hotel-price-wrap {
                padding-top: 20px;
            }

            .cha--trip-advisor,
            .cha--hotel-rating {
                margin-top: 10px;
                line-height: 1;
            }

            .urgent-msg-b {
                margin: auto;
            }
}

@media (max-width: 500px)
{ 
    .cha--trip-advisor { 
        flex-direction: column; 
        flex-wrap: wrap; 
    } 
 
    .cha--trip-advisor > span { 
        align-self: flex-start; 
        line-height: 1.2; 
    } 
}

/********** END clickable hotel avail card *********/

    /*clickable air avail card
****************************************/

    /*caution when altering styles below. they control the
ability to click the entire air card to select it.*/

.clickable-air-wrap {
    position: relative;
}

.caa--air-title .non-phone-only,
.caa--air-title .phone-only {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:2;
}

.clickable-air-main-link {
    text-decoration: none;
    color: inherit;
}

.clickable-air-main-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.caa--air-title button.link {
    text-align: left;
}

.clickable-air-wrap:hover,
.clickable-air-wrap:focus {
    border: 1px solid #006bb7;
    -webkit-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
}

.clickable-air-wrap:focus-within {
    border: 1px solid #006bb7;
}

.clickable-air-wrap.componentContainerSelected {
    border: 2px solid #44812d;
}

.clickable-air-wrap:focus-within a:focus {
    text-decoration: none;
}

.clickable-air-main-link:focus,
.clickable-air-main-link:hover {
    text-decoration: underline;
    color: inherit;
}

/* Secondary clicable area to go within another clicable area */
.secondary-clickable-air-wrap {
    position: relative;
    z-index: 3;
}

.secondary-clickable-air-main-link {
    text-decoration: none;
    color: inherit;
}

.secondary-clickable-air-main-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.secondary-clickable-air-wrap:hover,
.secondary-clickable-air-wrap:focus {
    border: 1px solid #006bb7;
    -webkit-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
}

.secondary-clickable-air-wrap:focus-within {
    border: 1px solid #006bb7;
}

.secondary-clickable-air-wrap.componentContainerSelected {
    border: 2px solid #44812d;
}

.secondary-clickable-air-wrap:focus-within a:focus {
    text-decoration: none;
}

.secondary-clickable-air-main-link:focus,
.secondary-clickable-air-main-link:hover {
    text-decoration: underline;
    color: inherit;
}

/* Secondary clicable area to go within another clicable area */
.secondary-clickable-air-wrap {
    position: relative;
}

.secondary-clickable-air-main-link {
    text-decoration: none;
    color: inherit;
}

.secondary-clickable-air-main-link::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.secondary-clickable-air-wrap:hover,
.secondary-clickable-air-wrap:focus {
    border: 1px solid #006bb7;
    -webkit-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
}

.secondary-clickable-air-wrap:focus-within {
    border: 1px solid #006bb7;
}

.secondary-clickable-air-wrap.componentContainerSelected {
    border: 2px solid #44812d;
}

.secondary-clickable-air-wrap:focus-within a:focus {
    text-decoration: none;
}

.secondary-clickable-air-main-link:focus,
.secondary-clickable-air-main-link:hover {
    text-decoration: underline;
    color: inherit;
}

.secondary-clickable-card-link {
    position: relative;
    z-index: 3;
}

/********** end caution **********/
/****************************************
END clickable air avail card /*

/*Travel credit self-service
****************************************/
.tc-retrieval-wrap {
    margin: 0 auto;
    padding: 0;
}

.tc-retrieval-intro {
    margin-bottom: 20px;
}

.tc-retrieval {
    width: 60%;
    margin: 0;
    padding: 0;
}

#TravelCreditSearchFields {
    width: 60%;
    margin: 0 0 40px 0;
    padding: 20px;
    background-color: #f2f2f2;
}

#TravelCreditSearchFields span {
   display: block;
}

#TravelCreditSearchFields span input {
   width: 100%;
   margin-bottom: 20px;
}

.tc-retrieval-btn-wrap {
   margin-top: 30px;
    text-align: center;
}

.tc-retrieval-results-wrapper {
    width: 60%;
    margin: 20px 0 0 0;
    padding: 20px;
    background-color: #f2f2f2;
}

.tc-retrieval-results {
    padding: 0 0 10px 0;
    border-bottom: 2px solid #666;
}

.tc-retrieval-passenger {
    padding: 20px 0;
    border-bottom: 1px solid #666;
}

.tc-retrieval-name {
    font-weight: bold;
    font-size: 1.2em;
    float: left;
}

.tc-retrieval-credits {
    font-weight: bold;
    font-size: 1.2em;
    float: right;
}

.tc-retrieval-details {
    clear: both;
    display: block;
}

.tc-retrieval-new-search {
    width: 60%;
    margin: 0;
    padding: 20px 0;
    background-color: #f2f2f2;
    text-align: center;
}

.tc-retrieval-faq {
    width: 60%;
    margin: 30px 0 0 0;
    padding: 0;
}

.tc-retrieval-faq .credit-faq {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #aaa;
}

.tc-retrieval-faq .credit-faq .fa {
    color: #006bb7;
}

.tc-retrieval-faq .credit-faq .expco-trigger-text {
    font-weight: bold;
    color: #006bb7;
}

.tc-retrieval-faq .credit-faq .tc-expco-faq-content {
    margin: 3px 0 0 13px;
}

.tc-retrieval-more {
    margin: 30px 0;
}

@media (max-width:899px) {
    .tc-retrieval-intro
     {
        width: 90%;
        margin: 0 auto 20px auto;
    }

    .tc-retrieval,
    .tc-retrieval-results-wrapper,
    .tc-retrieval-new-search,
    .tc-retrieval-faq,
    #TravelCreditSearchFields
     {
        width: 90%;
        margin: 0 auto;
    }

    .tc-retrieval-faq {
        margin: 30px auto;
    }
}

@media (max-width:400px) {
    #TravelCreditSearchFields .captcha img
     {
        max-width: 100%;
    }
}
/****************************************
END Travel credit self-service /*

/*###### AIR21 ######*/

/*Shared Hotel Card Styles*/

.clickable-air-wrap:hover,
.clickable-air-wrap:focus {
    border: 1px solid #006bb7;
    -webkit-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    -moz-box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
    box-shadow: 0px 4px 8px 0px rgb(0 0 0 / 30%);
}

.clickable-air-wrap:focus-within {
    border: 1px solid #006bb7;
}

.clickable-air-wrap.airContainerSelected {
    border: 2px solid #44812d;
}

.air21 .SELECTED-COMPONENT {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 1.6rem;
    font-style: italic;
    font-weight: bold;
    text-transform: uppercase;
    color: #44812d;
    position: relative;
    z-index: 1;
    background-color: transparent;
    text-align: center;
    width: 100%;
}

    .air21 .SELECTED-COMPONENT:before { 
    border-top: 1px solid #bdc0c3;
    content: "";
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}

    .air21 .SELECTED-COMPONENT p {
        background: #fff;
        padding: 0 15px;
        display: inline-block;
    }

    .air21-price {
    padding-top: 20px;
    text-align: center;
    }

    .air21-price > strong {
        font-size: 3.2rem;
        display: block;
        line-height: 1;
        font-weight: bold;
    }

    .air21-loyalty-pricing {

    }

/*End Shared Card Styles*/

/*Shared air21 detail rules*/

.air21 .flight-carrier-details {
    text-align: center;
    width:100%;
    max-width: 120px;
    margin: 0 auto;
}


.air21-desktop {
    display:none;
}

.air21-mobile {
    display:block;
}

.air21-segment-head,
.air21-segment-row,
.air21-segment-layover,
.air21-select,
.air21-modal-heading > div,
.air21-fare-heading-wrap,
.air21-flight-column-wrap {
    display:flex;
}

.air21-fare-heading-wrap,
.air21-segment-head,
.air21-segment-layover {
    justify-content:space-between;
}

.air21-layover, 
.air21-layover-long,
.air21-duration,
.air21-date,
.air21-select-pkg
{
    color: rgba(0, 0, 0, 0.65);
}

.air21-market-code span,
.air21-city,
.air21-layover,
.air21-layover-long,
.air21-duration,
.air21-select-pkg,
.air21-toggle-wrap button,
.air21-operated-by-wrap,
.air21-discounts-applied-wrap,
.air21-rewards-per-text {
    font-size:1.2rem;
}

.air21-rewards-per-text {
    line-height:1.2rem;
}

.air21-rewards-section {

}

.air21-rewards-section .cha--hotel-rewards {
    align-items: flex-start;
}
.air21-rewards-cash-section {

}

/*END shared font/color rules*/

/*layovers/alerts*/

.air21-alert-ind-wrap {
    height:0;
    position:relative;
    z-index:0;
}

.air21-layover-long,
.air21-alert-ind,
.air21-date-overnight {
    color:#e50000;
}

.air21-alert-ind{
    position:absolute;
    top:-5px;
    right:-5px;
    font-size:10px;
}

.air21-alert {
    background-color:#e50000;
    color:#fff;
    padding:1px 5px;
    font-style:normal;
    display:inline-block;
    font-size:10px;
}

.air21-alert-layover {}

.air21-alert-overnight {
    margin:10px auto;
}

.air21-alert-ind {}

.air21-toggle-wrap {
    margin: 0 0 20px 0;
    padding: 0;
    position: relative;
    z-index: 1;
    background-color: transparent;
    width: 100%;
}

.air21-toggle-wrap:before { 
    border-top: 1px solid rgba(0, 0, 0, 0.3);
    content: "";
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}

.air21-toggle-wrap button {
    background: #f2f2f2;
    padding: 0 10px 0 0;
    font-weight:bold;
    display: inline-block;
}

/*air21 flight details*/

/*air21 details modal*/



.air21-detail-modal{
    width:100%;
    min-height:100vh;
    background: #f2f2f2;
    padding:20px 20px 0px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
}

.air21-modal-content {
    flex:1 100%;
    padding-bottom:60px;
}

.air21-modal-heading {
    width:100%;
    margin-bottom:5px;
}
    .air21-modal-carrier {
    width:100%;
    max-width:100px;
    }

    .air21-modal-carrier img {
        max-width:100px;
    }

    .air21-modal-heading > div {
        padding-bottom:10px;
        margin-bottom:10px;
        border-bottom:1px solid rgba(0, 0, 0, 0.3);
    }

    .air21-modal-heading button {
        width:50px;
        text-align:left;
        flex:none;
    }

    .air21-modal-heading h1 {
        text-align:center;
        padding:0;
        color: rgba(36, 45, 55, 0.65);
        font-size:20px;
        margin-bottom:0;
        width:100%;
        display:inline-block;
    }

    .air21-modal-heading h1 span {
        display:block;
        width: calc(100% - 50px);
        text-align:center;
        padding:0;
    }

    .air21-modal-subhead {
        align-items:center;
    }

    .air21-modal-subhead-content p span {
        margin:0 5px;
        display:inline-block;
    }

    .air21-modal-subhead-content p span:before,
    .air21-modal-subhead-content p span:after {
      content: "\2022";
    }

    .air21-modal-subhead-content p span:before {
        padding-right:5px;
    }

    .air21-modal-subhead-content p span:after {
        padding-left:5px;
    }


    .air21-modal-carrier {
        margin-right:10px;
    }

    .air21-code-pair {
        font-size:2rem;
        font-weight:bold;
    }

.air21-detail-segments,
.air21-fare {
    background:#fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius:4px;
    padding:10px;
    margin:20px auto;
}

.air21-segment-head {
    margin:10px 0;
    display:flex;
    align-items:center;
}

    .air21-segment-head > div {
     width:50%;
    }

    .air21-segment-head > div img {
        max-width:80px;
        margin:0 10px 0 0;
        vertical-align: middle;
    }
    .air21-segment-head > div p {
        display:inline-block;
        line-height: 1.5;
        vertical-align: middle;
        padding-top:2px;
    }

.air21-segment-head:nth-of-type(1),
.air21-detail-modal .air21-fare:nth-of-type(1){
    margin-top:0;
} 

.air21-carrier {}
.air21-equipment {text-align:right;}

.air21-segment-row {
    margin:10px 0;
}

.air21-segment-row > div {
    width:33%;
    min-width:90px;
}

.air21-segment-col1 {
    text-align:left;
}

.air21-segment-row > div.air21-segment-col2 {
    text-align:center;
    flex-grow:2;
    max-width:100%;
}


.air21-operated-by-wrap
{
    margin: 20px auto;
    text-align:center;
}


.air21-duration,
.air21-stops-wrap {
    margin: 3px 0;
    padding: 0;
    position: relative;
    z-index: 1;
    background-color: transparent;
    text-align: center;
    width: 100%;
    font-size:1.2rem;
}

    .air21-duration:before,
    .air21-stops-wrap:before { 
    border-top: 2px solid rgba(0, 0, 0, 0.15);
    content: "";
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}

.air21-duration p,
.air21-stops-wrap strong {
    background: #fff;
    padding: 0 3px;
    display: inline-block;
}

    .air21-stops-wrap > p {
        display:inline-block;
    }

.air21-stop-divider {
    padding:0 3px;
    display:inline-block;
}

.air21-segment-col3 {
    text-align:right;
}

.air21-segment-layover {
    width:100%;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-left:0;
    border-right:0;
    padding:8px 0;
}

.air21-market-code {
    font-size:1.6rem;
    font-weight:bold;
}

.air21-date,
.air21-date-overnight {
    font-size:1rem;
}

/*** main avail ***/

.air21-fare {
    margin:10px 0;
}

.air21-flight-column-wrap > div {
    text-align:center;
}

.air21-leg-duration-wrap {
    text-align:center;
}

.air21-stops-wrap {
    width:90%;
    margin:8px auto 3px;
}

.air21 .arrival-column {
}

.air21 .departure-column strong:first-child,
.air21 .arrival-column > strong:first-of-type
{
    font-size: 2.5rem;
    display: block;
}

.air21-stops-col {
    flex-grow:2;
}

.air21-fare-legend{
    flex-basis:100%;
    font-size:2rem;
    font-weight:bold;
    border:0;
    margin:20px 0 10px;
}

.air21-fare-pricewrap {
    white-space:nowrap;
}

.air21-fare-price,
.air21-fare-heading{
    font-size:1.6rem;
    font-weight:bold;
    color: rgba(0, 0, 0, 0.9);
}

.air21-fare-heading-wrap {
align-items:baseline;
}

/* sets links/buttons inside fare type as clickable */
.air21-fare a,
.air21-fare button {
    position:relative;
    z-index:3;
}

.air21-fare-panel .preview-seats {
    display: inline-block;
}

.air21-fare-heading-wrap input[type="radio"] {
    vertical-align:baseline;
    margin-right:5px;
}

.air21-fare-pricewrap button {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 3px 0px 3px 5px;
}

.air21-fare-disclaimer,
.air21-fare-disclaimer font,
.air21-fare-disclaimer font b {
    color: rgba(0, 0, 0, 0.65);
    font-size:1.2rem;
    font-weight:normal;
}
.air21-fare-panel {
    border-top: solid 1px rgba(0, 0, 0, 0.15);
    margin:10px 0;
    padding-top:10px;
}

.air21-fare-rewards .reward-badge-pts {
    padding-left:25px;    
}

.air21-select-wrap {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    width:100%;
    padding:20px 10px;
    min-height:80px;
}

.air21-select {

}

.air21-select-loyalty + .air21-rewards-section {

}

.air21-detail-modal .air21-select-wrap {
    position:sticky;
    position:-webkit-sticky;
    bottom:60px;
    left:0;
    right:0;    
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
    background:#fff;
    z-index:999;
    border-radius: 4px;
    border:0;
}

.air21-select-pkg{
    min-height:20px;
    display:block;
    width:100%;
}

.air21-select-price {
    width:100%;
    font-size:1.6rem;
    flex:2;
    min-width:150px;
}

.air21-select-price span {
    font-weight:normal;
}

.button-large.air21-select-btn {
    width:auto;
    padding:0 4% !important;
    margin-top:-20px;
    height:40px;
}

.air21-rewards-cash-section + .button-large.air21-select-btn {
    margin:20px 0 0 auto;
}

.air21-rewards-section + .button-large.air21-select-btn {
    margin:20px 0 0 auto;
}

.air21-discounts-applied-wrap {
    text-align:center;
    margin: 10px auto;
}

/***** jace flight card stuff *****/

.caa--air-title {
    height: 0; /* closes gap at top of filght card */
    clear: both; /* prevents displays issues for 'selected' flight */
}

.air21-price .up-pricing-wrap[style*="block;"],
.cha--col-3 .up-ck-pricing-wrap[style*="block;"] {
    display: inline-block !important;
    padding: 0 !important;
}

.caa--package-label * {
    border: 0 !important;
}

.caa--hotel-price > strong {
    font-size: 3.2rem;
    display: block;
    line-height: 1;
    font-weight: bold;
}

.air21-price {
    padding-top: 0;
    font-size: 1.2rem;
} 

@media (min-width: 1158px)
{
    .air21-desktop-flex .reward-badge-wrap {
        margin-right: 0;
    }

    .air21-desktop-flex .rewards-wrap {
        margin-top: 0;
    }

    .air21-price-wrap .rr-points {
        margin-bottom: 0;
    }
}

/* end jace flight card stuff */
@media (max-width: 799px) {
    .air21-rewards-cash-section + .button-large.air21-select-btn {
      margin: 20px 0 0 0;
    }

    .cha--reward-points-separator-vertical {
        display: none;
    }

    .cha--reward-points-separator-vertical-wrapper p {
	    display: flex;
	    width: 100%;
	    justify-content: center;
	    align-items: center;
        font-size: 1.6rem;
        font-style: italic;
	    text-align: center;
    }
    .cha--reward-points-separator-vertical-wrapper p:before,
    .cha--reward-points-separator-vertical-wrapper p:after {
	    content: '';
	    border-top: 1px solid #000;
	    margin: 5px 0 0 0;
	    flex: 1 0 10px;
    }

    /*add spacing between heading and lines*/
    .cha--reward-points-separator-vertical-wrapper p:after {
	    margin: 5px 0 0 0;
    }
}

@media (max-width: 375px) {

    .air21-detail-modal {
        padding-left:10px;
        padding-right:10px;
    }

    .air21-segment-row > div {
        min-width: unset;
    }

    .button-large.air21-select-btn {
        margin-top:0;
    }

    .air21-select {
        align-items:flex-start;
    }
}

@media (min-width: 435px) {
    .air21-segment-row > div.air21-segment-col2 {
        width: 100%;
    }

    .air21-fare-rewards .reward-badge-pts {
        padding-left:22px;    
    }

    .air21-select-wrap {
        padding:20px 20px;
    } 
}

@media (min-width: 1158px) {

    .air21 .flight-carrier-details {
    text-align: left;
    max-width: 120px;
    margin: 0;
    }

    .air21-discounts-applied-wrap {
        border-top: solid 1px rgba(17, 27, 64, 0.15);
        padding-top: 10px;
        margin-bottom:0;
    }

    .air21-discounts-applied {
        margin-right:10px;
    }

    .air21-discounts {
        display:inline-block;
    }

    .air21-alert-ind {
        right:-8px !important;
    }

    .air21 .departure-column strong:first-child,
    .air21 .arrival-column strong:first-of-type,
    .air21-desktop-stops-wrap > div > strong,
    .air21-desktop-stops-col .travel-time {
        font-size:2rem;
    }

    .air21 .departure-column .market-code,
    .air21 .arrival-column .market-code,
    .air21 .stops-name .market-code,
    .air21-desktop-stops-wrap p,
    .air21-desktop-stops-wrap p > strong {
        font-size: 1.6rem;
    }

    .air21-desktop.air21-date,
    .air21-desktop.air21-date-overnight {
        font-size:1rem;
        font-weight:normal;
    }

    .air21-desktop-stops-wrap p{
        margin-top:5px;
    }

    .air21-desktop-stops-wrap p > strong {
        font-weight:normal;
    }

    .air21-desktop-flex{
        justify-content:space-between;
    }

    .air21-desktop-flex,
    .air21-desktop-detail-wrap,
    .air21-desktop-stops-col.air21-desktop {
        display: flex;
    }

    .air21-desktop-detail-wrap{
        justify-content: space-between;
        align-items: flex-start;
    }

    .air21-stops-col {
        flex-grow:1;
    }

    .air21-price-wrap {
        min-width:210px;
        max-width:210px;
    }

    .air21-flight-column-wrap {
        width:80%;
    }

    .air21-desktop-stops-col {
        margin:0 0 0 30px;
    }

    .air21-stops-wrap {
        margin:15px auto 3px;
    }

    .air21-desktop-stops-col > div:first-of-type {
        margin:0 20px 0 0;
    }

    .air21-desktop-flex .air21-price {
        text-align:right;
    }

    .air21-selection-zone {
        width:100%;
    }

    .air21-desktop-detail-wrap {
        width: 80%;
    }

    .air21-desktop-stops-col > div {
        min-width:100px;
    }

    .air21-desktop-detail-wrap > div.air21-operated-by-wrap,
    .air21-discounts-applied-wrap {
        width:100%;
        text-align:left;
    }

    .air21-desktop-detail-wrap{
        flex-flow: row wrap;
    }

    .air21-operated-by-wrap {
        width:75%;
        margin:5px 0 0;
    }

    .air21-operated-by-wrap.air21-desktop > p {
        display:inline-block;
    }

     .air21-operated-by-wrap.air21-desktop > p:before {
        content:"|";
        margin:0 7px 0 5px;
    }

    .air21-operated-by-wrap.air21-desktop > p:first-of-type:before {
        content:"";
        margin:0;
    }

    .air21-desktop {
        display:inline-block;
    }

    .air21-mobile,
    .air21-stops-wrap > p {
        display:none;
    }

    .air21-fare-wrap {
        display:flex;
        align-items:stretch;
        margin-bottom:30px;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    }

    .air21-fare {
        width:32%;
        margin-right:2%;
    }

    .air21-fare:last-of-type {
        margin-right:0;
    }

    .air21-layover-long,
    .air21-layover {
    margin-left: 50%;
    transform: translateX(-50%);
    }

}


/*Loyalty promo modal*/

.loyalty-promo-code-offer {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
}

.loyalty-promo-code-offer::after {
		  content: "";
		  clear: both;
		  display: table;
}

.loyalty-promo-code-offer:last-child {
    border-bottom: 0px solid #ccc;
}
	
.loyalty-promo-code-offer-card {
	float: left;
	margin: 0 10px 10px 0;
	width: 80px;
}

.promo-code-btn {
    float: right;
}

/* LEAVE AT END OF FILE
airline logo overrides for svgs */
    .air-matrix-table img[src*=".svg"],
    .flight-carrier-details img[src*=".svg"],
    .air21-modal-carrier img[src*=".svg"],
    .ck1-desktop-carrier img[src*=".svg"],
    .flight-leg-carrier img[src*=".svg"],
    .ck1-summary-flight-caption img[src*=".svg"] {
        width: 100%;
        max-width: 100px;
    }
/* LEAVE AT END OF FILE */