html {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none;
}

body {
    min-width: 320px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Helvetica","Arial",sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #9e9e9e;    
    background-color: #424242;
    -webkit-text-size-adjust: none;
}

.container {
    max-width: 900px;
    margin: 0 auto;
}

.container.fadeIn {
    animation: fadeIn 1.0s ease forwards;
}

@keyframes fadeIn{
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@keyframes fadeIn{
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}



/**
 * INPUT FIELDS
 */
textarea, input, select, button, input[type="submit"] {
    outline: none;      /* Prevent focused field glow/outline in Chrome and Safari */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);   /* Prevent tap highlight in mobile Safari */
}
 
input[type="checkbox"], input[type="radio"] {
    display: none;
}

input[type="checkbox"] + label:before, input[type="radio"] + label:before {
    font-family: "Material Icons";
    display: block;
    letter-spacing: 10px;  /* space between icon and label */
    font-size: 21px;
    position: relative;
    top: 23px;
    margin-left: -30px;
}

input[type="checkbox"] + label:before {
    content: "\e835";     /* unchecked icon */
}

input[type="checkbox"]:checked + label:before {
    content: "\e834";     /* checked icon */    
}

input[type="radio"] + label:before {
    content: "\e836";     /* unselected icon */
}

input[type="radio"]:checked + label:before {
    content: "\e837";     /* selected icon */    
}

input[type="checkbox"]:disabled + label:before, input[type="radio"]:disabled + label:before  {
    color: #CCCCCC;
}

input[type="checkbox"] + label, input[type="radio"] + label {
    font-size: 16px;
    line-height: 24px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;           /* currently not supported by any browser */
    margin-left: 30px;
    margin-top: -25px;
}

input[type="checkbox"]:disabled + label, input[type="radio"]:disabled + label {
    color: #CCCCCC;
}

input[type="radio"] + label .invalidCombination {
    color: #e57373;
}

label {
    display: block;
    font-size: 12px;
}

label.invalid, input[type="checkbox"] + label.invalid, input[type="radio"] + label.invalid {
    color: #e57373;
    font-weight: bold;
}

select {
    width: 100%;
    position: relative;  
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    text-indent: .01px;    
    font-size: 16px;
    padding: 4px calc(1.2em + 4px) 4px 0;
    border: 0;
    border-bottom: 1px solid rgba(0,0,0,.12);
    border-radius: 0;
    color: inherit;
    font-family: 'Roboto','Helvetica','Arial',sans-serif;    
    margin-bottom: 1px;
}

select::-ms-expand {
    display: none;
}

select option {
    color: rgba(0,0,0,.87);
    background-color: #FFFFFF;
}

select option:disabled {
    color: #AAAAAA;
}

.select-wrapper {
    position: relative;
    display: inline-block;
    margin-bottom: 19px;
    width: 100%;
    max-width: 300px;
}

.select-wrapper:after {
    position: absolute;
    right: .5em;
    top: 50%;
    transform: translateY(-50%);
    border-top: .5em solid inherit;
    border-top-width: .5em;
    border-top-style: solid;
    border-top-color: inherit;
    border-left: .35em solid transparent;
    border-right: .35em solid transparent;
    pointer-events: none;
    content: '';
    width: 0;
    height: 0;
    font-size: inherit;
    line-height: inherit;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="date"] {
    border: none;
    border-bottom: 1px solid rgba(0,0,0,.12);
    display: block;
    font-size: 16px;
    font-family: "Helvetica","Arial",sans-serif;
    margin: 0;
    padding: 4px 0;
    width: 100%;
    max-width: 300px;
    background: 0 0;
    text-align: left;
    color: inherit;
    margin-bottom: 20px;
}

select, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="date"] {
    -webkit-transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
    transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
}

select:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="date"]:focus {
    background-position: 0 0;
}

.ui-datatable select {
    width: auto;
}

.ui-inputfield, .ui-inputfield.ui-state-focus {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ui-calendar {
    display: block;
    max-width: 300px;
}

body .ui-inputfield.ui-state-focus {
    border: none;
    box-shadow: none;
}

body .ui-inputfield.ui-state-hover, body .ui-inputfield.ui-state-error {
    border-color: rgba(0,0,0,.12);
}

.ui-inputwrapper-filled {
    border: none;
}

.ui-calendar input {
    border-radius: 0;
}


/**
 * BUTTONS
 */
.buttonContainer {
    margin-bottom: 30px;
}

button, input[type="submit"], .button {
    -webkit-appearance: none;
    color: #000;
    background: 0 0;
    border: none;
    border-radius: 2px;
    position: relative;
    height: 36px;
    margin: 0;
    min-width: 64px;
    padding: 0 16px;
    display: inline-block;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    overflow: hidden;
    will-change: box-shadow;
    transition: box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);
    outline: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    line-height: 36px;
    vertical-align: middle;
}

input[type="submit"].action, .button.action {
    float: right;
    color: rgb(66,66,66);
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

button.back:hover, input[type="submit"].back:hover {
    background-color: rgba(158,158,158,.2);
}

button.next, input[type="submit"].next {
    background-color: rgba(158,158,158,.2);
}

button.back:active, button.next:active, input[type="submit"].back:active, input[type="submit"].next:active {
    background-color: rgba(158,158,158,.4);
}

button.back, input[type="submit"].back {
    float: left;
}

button.next, input[type="submit"].next {
    float: right;
}

button.next, input[type="submit"].next {
    background-color: rgba(158,158,158,.2);
}


/**
 * HEADER
 */
body > header {
    position: fixed;
    z-index: 100;
    width: 100%;
    min-width: 320px;
    height: 64px;
    padding: 0 40px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

body > header .logo {
    height: 46px;
    margin-top: 8px;
}

#hotelPhoneNumber {
    display: block;
    float: right;
    color: #FFFFFF;
    position: relative;
    right: 80px;
    top: 23px;
    font-size: 18px;
}

#hotelPhoneNumber .material-icons {
    display: none;
    position: relative;
    top: -10px;
    right: -50px;
}

#hotelPhoneNumber a {
    color: #FFFFFF;
    text-decoration: none;
    position: relative;
    margin-left: 20px;
}

#language {
    display: block;
    float: right;
    position: relative;
    right: 80px;
    top: 20px;
    margin-left: 20px;
}

#language select {
    background: none;
}

#user {
    float: right;
    position: relative;
    top: 14px;
    right: 85px;
}

#user i {
    position: relative;
    top: 6px;
}


/**
 * FOOTER
 */
body > footer {
    position: relative;
    top: 64px;
    padding: 32px 16px;
    font-family: "Helvetica","Arial",sans-serif;
    font-size: 14px;
    background-color: #424242;
    color: #9e9e9e;
}

body > footer a {
    text-decoration: none;
}

/**
 * RESERVATION SUMMARY
 */
#reservationSummary {
    position: relative;
    z-index: 90;
    top: 64px;
    padding: 16px 16px 3px 16px;
}

#stepsBar {
    position: -webkit-sticky;
    position: sticky;
    top: 64px;
    z-index: 90;
    margin: 0 -16px 30px -16px
}

#stepsBar .tabs {
    margin-top: 0;
}

#reservationSummary h1 {
    padding: 0;
    margin: 0;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: -.02em;
}

#reservationSummary h2 {
    padding: 0;
    margin: 0 0 10px 0;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
}

#reservationSummary .resDetails table th .material-icons {
    position: relative;
    float: left;
    top: -2px;
    left: -4px;
}

#reservationSummary .resDetails table th {
    padding-right: 20px;
    text-align: left;
    vertical-align: text-top;
    width: 150px;
    color: rgba(0,0,0,.87);
}

#reservationSummary .resDetails table td{
    text-align: left;
    vertical-align: text-top;
    color: #757575;
    font-weight: bold;
}

#reservationSummary .resDetails table a {
    text-decoration: none;
    color: #757575;
}

#reservationSummary .resDetails table a:hover {
    text-decoration: underline;
}

#reservationSummary .resDetails {
    float: left;
    width: 45%;
}

#reservationSummary .dates {
    width: 55%;
    float: right;
}

#reservationSummary  .calendar {
    position: relative;
    border-radius: 2px;
    /*width: 135px;*/
    height: 135px;
    text-align: center;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    float: right;
    margin-right: 10px;
    background-color: #FFFFFF;
}

#reservationSummary .calendar:first-of-type {
    margin-right: 0;
}

#reservationSummary .calendar h3 {
    font-size: 15px;
    font-weight: bold;
    line-height: 40px;
    text-transform: uppercase;
    margin: 0;
    padding: 0 15px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    color: #FFFFFF;
}

#reservationSummary .calendar h3 .material-icons {
    position: relative;
    top: 6px;
}

#reservationSummary .calendar .monthDayNumber {
    display: block;
    font-size: 24px;
    padding: 10px 0;
    text-align: center;
    text-transform: uppercase;
}

#reservationSummary .calendar .weekday {
    display: block;
    font-size: 18px;
    padding-bottom: 5px;
    text-align: center;
    text-transform: uppercase;
    color: #757575;
}

#reservationSummary .calendar .time {
    display: block;
    text-transform: none;
    font-size: 11px;
    padding: 5px 0 5px 0;
    text-align: center;
    color: rgba(0,0,0,.87);
}

#reservationSummary .calendar .nights{
    font-size: 48px;
    text-transform: uppercase;    
    position: absolute;
    left: 50%;
    top: 55%;
    transform: translateX(-50%);
}


/**
 * TABS
 */
.tabs {
    text-align: center;
    margin-top: 10px;
    position: relative;
    bottom: 1px;
}

.tabs .tab {
    display: inline-block;
    height: 48px;
    line-height: 48px;
    text-align: center;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    color: rgba(0,0,0,.54);
    white-space: nowrap;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;           /* currently not supported by any browser */
}

.tabs .tab.disabled {
    color: rgba(0,0,0,.20);
    cursor: not-allowed;
}

.tabs .tab.selected {
    color: rgba(0,0,0,.87);
}

.tabs .tab.selected:after {
    content: '';
    display: block;
    height: 2px;
    width: 100%;
}

.tabs .tab.selectable {
    cursor: pointer;
}

.tabs .tab.selectable:hover:after {
    content: '';
    display: block;
    height: 2px;
    width: 100%;
}

.tabs .tab.selectable a {
    color: inherit;
    text-decoration: none;
    height: 48px;
    display: block;
}

.tabs .tab .full {
    display: inline;
    padding: 0 24px;
}

.tabs .tab .small {
    display: none;
    padding: 0 24px;
}


/**
 * CONTENT
 */
#content {
    position: relative;
    z-index: 90;
    top: 64px;
    padding: 0 16px 1px 16px;
    color: rgba(0,0,0,.87);
}

p {
    margin: 0 0 1em 0;
}

p.finePrint {
    font-size: 9px;
}

.panel .termsText {
    height: 150px;
    padding: 10px;
    overflow: auto;
    margin-bottom: 20px;
    background-color: #EEEEEE;
}

.panel #termsSigPadContainer {
    margin-top: 10px;
    margin-left: 30px;
}

#jsfSigDataLabel .errorIcon {
    display: none;
}

.panel table.summary {
    border-collapse: collapse;
    width: 100%;
}

.panel table.summary tr:nth-child(odd) {
    background-color: #EEEEEE;
}

.panel table.summary th {
    text-align: left;
    vertical-align: top;
    padding: 12px 18px;
    width: 175px;
}

.panel table.summary td {
    text-align: left;
    vertical-align: top;
    padding: 12px 18px;
}

.debugSelectionKey {
    display: none;
}

.receiptBannerAd {
    display: block;
    margin: 0 auto 30px auto;
}

.receiptBannerAdMobile {
    display: none;
    margin: 0 auto 30px auto;
}

#kiosk {
    padding: 0 0 10px 10px;
    width: 150px;
}

#parkingSpinner {
    display: none; 
    height: 32px; 
    margin: 10px auto 0 auto;
}

#etaSpinner, #etdSpinner {
    display: none;
    height: 32px;
    margin: 10px auto 0 auto;
}

/**
 * PANELS
 */
.panel {
    margin-bottom: 30px;
    padding: 16px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    border-radius: 2px;
    color: rgba(0,0,0,.54);
    background-color: #FFFFFF;
}

.panel h2 {
    margin: -16px -16px 16px -16px;
    padding: 16px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: #FFFFFF;
}

.panel h2 span {
    float: right;
    font-size: 12px;
}

.panel h2 .spinner {
    display: none;
    width: 24px;
    height: 24px;
    float: right; 
    margin-right: 4px; 
    background-color: #f1f1f1; 
    border-radius: 12px;
}

.required {
    float: none !important;
    color: #c00;
}

.fieldRow .field {
    float: left;
    width: 49%;
    box-sizing: border-box;
}

.fieldRow .field:first-of-type {
    padding-right: 20px;
}

.fieldRow input, .fieldRow input:after, .fieldRow .select-wrapper {
    max-width: 100%;
}

.fieldRow .field .select-wrapper {
    margin-bottom: 0;
}

#content .fieldRow select, .fieldRow input[type="text"], .fieldRow input[type="email"], .fieldRow input[type="tel"], .fieldRow input[type="password"], .fieldRow input[type="number"], .fieldRow input[type="date"] {
    background-position: -1000px 0;
    background-size: 100% 100%;
}

#content .fieldRow select:focus, .fieldRow input[type="text"]:focus, .fieldRow input[type="email"]:focus, .fieldRow input[type="tel"]:focus, .fieldRow input[type="password"]:focus, .fieldRow input[type="number"]:focus, .fieldRow input[type="date"]:focus {
    background-position: 0 0;
}

.eitherOr {
    padding: 20px 0 10px 0;
    margin-bottom: 0;
    font-weight: bold;
    text-transform: uppercase;
}


/**
 * CRUD TABLES
 */
table.crud {
    width: 100%;
    border-collapse: collapse;
}

/*table.crud tr {
    border-bottom: 1px dotted #CCCCCC;
}

table.crud tr:last-of-type {
    border-bottom: none;
}*/

table.crud  td:first-of-type .material-icons {
    height: 40px;
    width: 40px;
    box-sizing: border-box;
    border-radius: 50%;
    font-size: 27px;
    line-height: 40px;
    padding-left: 7px;
    position: relative;
    top: 27px;
    background-color: #757575;
    color: #FFFFFF;
}

table.crud td {
    font-size: 14px;
    vertical-align: text-top;
    color: rgba(0,0,0,.54);
    padding-bottom: 7px;
}

table.crud td:first-of-type:not(.selection) {
    min-width: 120px;
}

table.crud td.selection {
    width: 30px;
}

table.crud td.actions {
    text-align: right;
    width: 70px;
}

table.crud h3 {
    font-size: 16px;
    font-weight: normal;
    color: rgba(0,0,0,.87);
    margin: 0;
}

table.crud input[type="radio"] + label {
    display: inline-block;
    margin-top: 0;
}

table.crud input[type="radio"] + label:before {
    top: 4px;
}

table.crud td:nth-child(2) label {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    margin-top: 10px;
}

table.crud button, .panel h2 button {
    border-radius: 50%;
    font-size: 24px;
    height: 32px;
    margin-left: 0;
    margin-right: 0;
    min-width: 32px;
    width: 32px;
    padding: 0;
    overflow: hidden;
    line-height: normal;
    color: #FFFFFF;
    background: none;
    border: none;
    box-shadow: none;
}

table.crud button {
    color: rgba(0, 0, 0, 0.87);
    background: none;
    border: none;
}

table.crud button:disabled {
    color: rgba(0, 0, 0, 0.4);
}

.panel h2 button {
    float: right;
    top: -5px;
    color: #FFFFFF;
    margin-left: 15px;
}

table.crud button:hover, .panel h2 button:hover {
    background-color: rgba(158,158,158,.2);
    box-shadow: none;
}

table.crud button:active, .panel h2 button:active {
    background-color: rgba(158,158,158,.4);
}

table.crud button .material-icons, .panel h2 button .material-icons {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-12px,-12px);
    transform: translate(-12px,-12px);
    line-height: 24px;
    width: 24px;
}


/**
 * TILES
 */
.tile-row {
    margin-bottom: 30px;
}

.tile {
    float: left;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    border-radius: 2px;
    color: rgba(0,0,0,.54);
    background-color: #FFFFFF;
    height: 475px;
    position: relative;
}

.tile.readOnly, .tile-row > div.readOnly:nth-last-of-type(2) {
    height: 350px;
    float: left;
}

.tile.specialOffer {
    height: 388px;
}

.tile-row > div:first-of-type {
    margin-right: 18px;
}

.tile-row > div:nth-last-of-type(2) {
    float: right;
}

.tile header {
    height: 200px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    position: relative;
}

.tile header button {
    position: relative;
    top: 80px;
}
.tile header button:first-of-type {
    float: left;
    left: 10px;
}

.tile header button:last-of-type {
    float: right;
    right: 10px;
}

.tile header button {
    border-radius: 50%;
    font-size: 24px;
    height: 32px;
    margin-left: 0;
    margin-right: 0;
    min-width: 32px;
    width: 32px;
    padding: 0;
    overflow: hidden;
    line-height: normal;
    background-color: rgba(0,0,0,.60);
    color: #FFFFFF;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

.tile header button .material-icons, .tile header button .material-icons {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-12px,-12px);
    transform: translate(-12px,-12px);
    line-height: 24px;
    width: 24px;
}


.tile header h2 {
    color: #FFFFFF;
    background-color: rgba(0,0,0,.50);
    padding: 10px 16px;
    margin: 0;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-size: 24px;
    font-weight: 300;    
    display: block;
    box-sizing: border-box;
    width: 100%;
    position: absolute;
    bottom: 0;
    
}

.tile header h2 .invalidCombination {
    color: #e57373;
}

.tile header h2 img {
    float: right;
    width: 50px;
    height: 30px;
    margin: 5px;
    cursor: pointer;
}

.tile summary {
    display: block;
    padding: 16px;
    overflow: auto;
    max-height: 100px;
}

.tile summary p:last-of-type {
    margin-bottom: 0;
}

.tile footer {
    padding: 16px;
    border-top: 1px dotted #CCCCCC;
    position: absolute;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    background-color: inherit;
}

.tile footer .select-wrapper {
    margin-left: 27px;
    width: 85%;
}

.tile footer .select-wrapper:last-of-type {
    margin-bottom: 5px;
}


/**
 * ROOM TYPE SELECTION
 */
.roomType {
    position: relative;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    border-radius: 2px;
    margin-bottom: 30px;
}

.roomType .selectedImage {
    position: relative;
    border-top-left-radius: 2px;
    float: left;
    background-size: cover;
    background-position: center; 
    background-color: #F5F5F5;
    width: 250px;
    min-height: 165px;
    /*height: 200px;*/
    border-top-left-radius: 2px;
    margin-right: 10px;
}

.roomType .roomThumbnails img, #roomTypeDetailsImageSlider img, #RoomTypeComparePanel .jSlider img {
    width: 100%;
    height: 100%;
    display: block;
    min-height: 165px;
}

#RoomTypeComparePanel .jSlider img {
    max-height: 190px;
}

.roomType .summary {
    top: 0;
    display: block;
    padding: 10px 10px 3px 10px;
}

.roomType .summary p {
    margin-bottom: 0.3em;
}

.roomType .summaryMobile {
    clear: both;
    padding: 10px;
    display: none;
}

.roomType h2 {
    margin-top: 0;
    margin-bottom: 5px;
}

/*.roomType .summary p.truncated {
    display: block;
}

.roomType .summary p.full {
    display: none;
}*/


.roomType .summaryMobile p {
    display: none;
}

.roomType .summary .moreDetailsPopup {
    margin-bottom: 15px;
    margin-right: 20px;
    position: relative;
    z-index: 89;
}

.roomType .summary .moreDetailsExpander {
    display: none;
}

.roomType .summary .compare {
    display: inline-block;
}

.roomType .summary .comparePopup {
    display: inline-block;
    float: none;
    height: auto;
    padding: 0;
    line-height: 10px;
    margin-top: -5px;
    margin-left: 15px;
}

.roomType .summary .comparePopup i {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.roomType .selections {
    position: relative;
}

.roomType .cost {
    float: right;
}

.roomType div.cost {
    background-image: url("resource?themeResource=images/ribbon.png");
    background-repeat: no-repeat;
    width: 200px;
    height: 70px;
    position: relative;
}

.roomType .selectedImage div.cost {
    display: none;
    right: -9px;
    top: 10px;
}

.roomType .summary .cost {
    right: -20px;
}

.roomType .cost label {
    text-transform: uppercase;
    font-size: 26px;
    text-align: right;
    font-weight: 400;
    color: #FFFFFF;
    line-height: 16px;
    padding-right: 30px;
    margin-top: 0;
}

.roomType.booked .cost label {
    /*color: #ff6c00;*/
    margin-top:23px;
    margin-right: 5px;
    padding-left: 18px;
    padding-right: 0;
    text-align: center;
}

.roomType.booked .cost input[type="radio"] + label::before,
.roomType.booked .cost input[type="radio"]:checked + label::before{
    content: '';
}

.roomType .cost span {
    display: block;
    font-size: 12px;
    text-align: right;
    font-weight: bold;
    padding-top: 5px;
    color: #000000;
}

.roomType .roomOptions .select-wrapper {
    margin-bottom: 0;
}

.roomType input[type="radio"] + label:before {
    content: "\e835";     /* unchecked icon - make it a checkbox instead of radio */
    color: #FFFFFF;
    font-size: 30px;
    text-align: left;
    margin-left: -2px;
    top: 23px;
}

.roomType input[type="radio"]:checked + label:before {
    content: "\e834";     /* checked icon - make it a checkbox instead of a radio */    
}

.roomType .button input[type="radio"] + label {
    text-align: left;
    margin-top: -17px;
}

#RoomTypeDetailPanel .images {
    float: left;
    width: 450px;
    margin-right: 15px;
    margin-top: 10px;
}

#RoomTypeDetailPanel .container {
    width: 850px; 
    max-height: 650px; 
    overflow: auto;
}

#RoomTypeDetailPanel .selectedImage {
    width: 450px;
    height: 266px;
    background-size: cover;
    background-position: center;
    position: relative;
}

#RoomTypeDetailPanel .details {
    margin-top: 10px;
    float: left;
    width: 300px;
}

#RoomTypeDetailPanel .details h2 {
    margin-top: 0;
}

#RoomTypeDetailPanel .panel h3 {
    text-transform: capitalize;
}

#RoomTypeComparePanel  .container {
    width: 850px; 
    max-height: 650px; 
    overflow: auto;
}

#RoomTypeComparePanel .selectedImage {
    width: 300px;
    height: 176px;
    background-size: cover;
    background-position: center;
    position: relative;
}

#RoomTypeComparePanel table {
    border-collapse: collapse;
}

#RoomTypeComparePanel table th {
    width: 150px;
}

#RoomTypeComparePanel table th, #RoomTypeComparePanel table td {
    text-align: left;
    vertical-align: text-top;
    padding: 5px;
}

#RoomTypeComparePanel table h2 {
    margin-bottom: 0;
}

#RoomTypeComparePanel table .cost {
    font-size: 20px;
}

#RoomTypeComparePanel table tbody tr:nth-child(odd) {
    background-color: #EEEEEE;
}

#RoomTypeComparePanel table tr.different td {
    font-weight: bold;
    font-style: italic;
}


/**
 * SPECIAL OFFERS
 */
.specialOffer {
    position: relative;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    border-radius: 2px;
    margin-bottom: 30px;
}

.specialOffer .selectedImage {
    position: relative;
    border-top-left-radius: 2px;
    float: left;
    background-size: cover;
    background-position: center; 
    width: 250px;
    height: 200px;
    border-top-left-radius: 2px;
}

.specialOffer .summary {
    float: left;
    width: 300px;
    margin-left: 10px;
}

.specialOffer .selections {
    width: 170px;
    float: right;
    position: relative;
    right: 20px;
    top: 20px;
}

.specialOffer .cost {
    text-transform: uppercase;
    font-size: 30px;
    text-align: right;
    font-weight: 400;
    margin-bottom: 0.5em;
}

.specialOffer .cost span {
    display: block;
    font-size: 12px;
    text-align: right;
    font-weight: bold;
}

.specialOffer .button input[type="checkbox"] + label {
    text-align: left;
    margin-top: -17px;
}

.specialOffer .disclaimer {
    clear: both;
    padding-top: 0.5em;
    font-size: 12px;
    text-align: right;
    font-weight: bold;
}


/**
 * ERROR/INFO MESSAGES
 */
ul.messages {
    padding: 0;
    margin-top: 0;
    margin-bottom: 23px;
}

ul.messages li {
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}

li.error-message {
    color: #FFF;
    background: url("resource?themeResource=images/error.png") no-repeat scroll 7px 10px #e57373;
    margin: 0 0 7px 0;
    padding: 7px 7px 7px 28px;
    list-style-type: none;
}

li.info-message {
    color: #FFF;
    background: url("resource?themeResource=images/success.png") no-repeat scroll 7px 10px #81c784;
    margin: 0 0 7px 0;
    padding: 7px 7px 7px 28px;
    list-style-type: none;
}

li.warn-message {
    color: #FFF;
    background: url("resource?themeResource=images/warning.png") no-repeat scroll 7px 10px #FF8C00;
    margin: 0 0 7px 0;
    padding: 7px 7px 7px 28px;
    list-style-type: none;
}

input.validationError {
    background-color: #e57373;
}


/**
 * PROCESSING SCREENS
 */
html.processing, body.processing {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.processing form {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 100;
}

.processingAnimation {
    position: relative;
    width: 200px;
    height: 200px;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.trload-outer {
    position: absolute;
    width: 200px;
    height: 200px;
}

.tr-logo {
    text-align:center; 
    top:60px;
}

.tr-logo img {
    width: 115px;
}

.inner-rotate {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-radius: 50%;
    animation: cssload-rotate 3s linear infinite;
    border-bottom: 1px solid #999; 
}

@keyframes cssload-rotate{
  0{transform:rotateZ(0)}
  100%{transform:rotateZ(360deg)}
}

/*these turn the circle into rotated ovals*/
.squish-one {transition: 30s; transform: scaleX(1) scaleY(.7) scaleZ(1) rotateX(0deg) rotateY(0deg) rotateZ(120deg) skew(-7deg, -10deg);
} 
.squish-two {transform: scaleX(1) scaleY(0.7) scaleZ(1) rotateX(0deg) rotateY(0deg) rotateZ(-120deg) skew(7deg, 10deg);
} 
.squish-three {transform: scaleX(.70) scaleY(.9) scaleZ(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
} 



/**
 * FOLIOS
 */
table.folio {
    font-family: inherit;
    border-collapse: collapse;
}

table.folio th {
    text-align: left;
}

table.folio th, table.folio td {
    padding: 8px 10px !important;
    border: none !important;
    font-size: 12px;
}

table.folio tfoot td {
    font-weight: bold;
}

table.folio tr.ui-datatable-odd, table.folio tr.ui-expanded-row-content td .folioQuestion.ui-datatable-odd {
    background-color: #F0F0F0;
}

table.folio tr.ui-datatable-even, table.folio tr.ui-expanded-row-content td .folioQuestion.ui-datatable-even {
    background-color: #FFFFFF;
}

table.folio .ui-widget-content {
    color: inherit;
    border: none;
    background: inherit;
}

.ui-datatable .folio thead th, .ui-datatable .folio tbody td, .ui-datatable .folio tfoot td {
    overflow: auto;
    border-width: 0;
    border-style: none;
    vertical-align: middle;
}

table.folio th.folioLineItemQuestion {
    padding: 0 5px 0 10px;
    width: 25px;
}

table.folio tr.ui-expanded-row-content td {
    padding: 0;
}

table.folio tr.ui-expanded-row-content td .folioQuestion {
    padding: 10px 15px 10px 10px;
}

table.folio .ui-state-default {
    border: none;
    background: inherit;
    text-shadow: none;
    box-shadow: none;
    color: inherit;
}


/**
 * FreedomPay
 */
#freedomPayPanel iframe {
    margin-left: -10px;
}

#freedomPayPanel #cardholderNameWrapper {
    margin-bottom: 10px;
}

#freedomPayPanel #cardholderName {
    background: #ffffff;
    background-clip: padding-box;    
    border: 1px solid #ced4da;
    border-radius: .25rem;
    color: #495057;
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    padding: .375rem .75rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    width: 254px;
    margin-bottom: 0;
}

#freedomPayPanel #cardholderName.invalid {
    border-color: #dc3545;
}

#freedomPayPanel #cardholderName.valid {
    border-color: #28a745;
}

#freedomPayPanel #cardholderName::placeholder {
    color: #6c757d;
}

#freedomPayPanel #cardholderName.invalid::placeholder {
    color: #dc3545;
}

#freedomPayPanel #cardholderName:focus {
    border-color: #80bdff;
    box-shadow: 0 0 0 .2rem #007bff;
    box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25);
}

#freedomPayPanel #cardholderName.valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 .2rem #28a745;
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

#freedomPayPanel .inputWrapper label {
    font-size: 16px;
    font-family: Arial, sans-serif;
    margin-bottom: 0.5rem;
    color: #000000;
}

#freedomPayPanel .inputWrapper .errorMessage {
    color: #dc3545;
    font-family: Arial, sans-serif;
    font-size: 13px;
}


/**
 * ID VERIFICATION
 */
#useIdVerificationSpinner {
    display: none; 
    height: 32px; 
    margin: 10px auto 0 auto;
}

#faceMatchUseMobileMessage {
    margin-top: 30px;
    margin-bottom: 0;
}

#idVerifyContainer {
   padding: 15px;
   background-color: #F3F3F5;
   margin-top: 1.5em;
}

#idVerifyContainer .privacyPolicy {
    color: #AAAAAA; 
    font-size: small; 
    font-style: italic; 
    padding: 0; 
    margin: 0.5em 0 0 25px;
}

#idVerifyContainer .spinner {
    height: 32px; 
    cursor: wait; 
    display: none;
}

#idVerifyContainer.success {
    color: #14892b;
    background-color: #CBFFC1;
}

#idVerifyContainer.invalid {
    background-color: #ffe1e1;
}

#idVerifyContainer.invalid p {
    color: #FF0000;;
}

#idVerifyContainer table th {
    text-align: left;
    padding-right: 20px;
    vertical-align: text-top;
}

#idVerifyContainer table td:first-of-type {
    padding-right: 20px;
}

#idVerifyContainer table label {
    display: inline;
}

#idVerifyContainer .privacyPolicy {
    color: #AAAAAA; 
    font-size: small; 
    font-style: italic; 
    padding: 0; 
    margin: 0.5em 0 0 25px;
}

.acuantInitMessage {
    color: #AAAAAA; 
    padding-left: 5px;
}

#acuantCameraUI {
    display: none;
    position: fixed;
    z-index: 200;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: #FFFFFF;
    text-align: center;
}

#acuant-close-button {
    position: absolute;
    right: 0;
    top: 0;
    padding: 10px;
    font-size: 28px;
    font-weight: bold;
    color: #aaaaaa;
}


/**
 * WEATHER
 */
.accuWeatherLogo {
    margin-top: 5px;
    width: 106px;
    height: 20px;
    display: block;
    background: url('resource?themeResource=images/AccuWeather/accuweather-logo-colour.png') no-repeat;
}

.weather {
    margin-top: 10px;
    margin-bottom: 10px;
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    font-weight: 300;
    overflow: hidden;
}

#reservationSummary .weather .forecast h2, #reservationSummary .weather .forecast h3 {
    font-family: "Roboto","Helvetica","Arial",sans-serif;
    margin: 0;
    text-transform: uppercase;
    line-height: 1.0; 
}

#reservationSummary .weather .forecast h2 {
    font-size: 18px;
    font-weight: 500;
}

#reservationSummary .weather .forecast h3 {
    font-size: 10px;
    font-weight: 400;
}

.weather .details {
    float: right;
    position: absolute;
    top: 5px;
    right: 5px;
    text-decoration: none;
    display: block;
}

.weather table {
    border-collapse: collapse;
}

.weather table.mobile {
    display: none;
}

.weather table th {
    text-align: left;
    font-weight: 300;
    font-size: 12px;
    color: #000000;
    text-transform: uppercase;
}

.weather .forecast:first-of-type table td {
    text-align: center;
    font-weight: 300;
    font-size: 12px;
    color: #000000;
    text-transform: uppercase;
    min-width: 70px;
}

.weather table td.description {
    color: #AAAAAA;
    font-size: 12px;
    padding-bottom: 0.5em;
}

.weatherIcon {
    height: 30px;
}

.weather .forecast {
    position: relative;
    background-color: #f7f6f5;
    float: left;
    padding: 7px;
    border-right: 1px solid #c8c8c8;
}

.weather .forecast:first-of-type {
    background-color: #FFFFFF;
    border-left: 1px solid #c8c8c8;
}

.weather .forecast:nth-of-type(2) {
    box-shadow: inset 7px 0 9px -11px #000;
}

.weather .temperature {
    text-align: center;
    margin-top: 10px;
}

.weather .temperature .high {
    font-size: 18px;
    font-weight: 400;
}

.weather .temperature .low {
    font-size: 12px;
    color: #AAAAAA;
    position: relative;
    top: -4px;
}

.weather .moreLink {
    display: none;
    cursor: pointer;
    text-decoration: none;
}


/**
 * WALLET PASSES
 */
#downloadPassContainer {
    clear: both;
    margin-top: 2em;
    text-align: center;
}

.addToWalletButton {
    display: block;
    margin: 0 auto;
}


/**
 * SMALL SCREENS
 */
@media screen and (max-width: 930px) {
    body > header {
        padding: 0 16px;
    }
    
    #language {
        right: 40px;
    }
    
    #user {
        right: 30px;
    }
    
    #hotelPhoneNumber {
        right: 40px;
    }
    
    #RoomTypeDetailPanel .container {
        width: 720px; 
    }
    
    #RoomTypeDetailPanel .images {
        width: 384px;
    }
    
    #RoomTypeDetailPanel .selectedImage {
        width: 384px; 
        height: 225px;
    }
    
    .specialOffer .summary {
        width: 270px;
    }
}
 
@media screen and (max-width: 800px) {
    #reservationSummary .resDetails {
        float: none;
        width: 100%;
    }

    #reservationSummary .dates {
        float: none;
        width: 100%;
        margin-top: 10px;
    }
    
    #reservationSummary .dates .calendar {
        width: 32%;
    }
    
    #reservationSummary .dates .calendar:first-of-type {
        margin-right: 5px;
    }
    
    .tile-row .tile:first-of-type {
        margin-right: 14px;
    }
    
    .panel table.summary th {
        width: auto; 
        padding: 12px;
    }
    
    .panel table.summary td {
        padding: 12px; 
    }
    
    #RoomTypeComparePanel  .container {
        width: 700px !important; 
    }
    
    #RoomTypeComparePanel .selectedImage {
        width: 220px;
        height: 135px;
    }
}


@media screen and (max-width: 780px) {
    .specialOffer .summary {
        float: none;
        width: auto;
        margin-left: 0;
        padding: 0 10px 10px 10px;
    }
    
    .specialOffer .selections {
        float: none;
        right: auto;
        top: auto;
        width: auto;
        padding: 15px;
    }
    
    .specialOffer .cost, .specialOffer .cost span, .specialOffer .disclaimer {
        text-align: left;
    }
    
    .specialOffer .button {
        float: none;
    }
}


@media screen and (max-width: 715px) {
    body > header {
        height: 50px;
    }
    
    body > header .logo {
        height: 30px;
        margin-top: 10px;
    }
    
    #hotelPhoneNumber {
        right: 80px;
        top: 3px;
    }
    
    #hotelPhoneNumber .material-icons {
        display: block;
    }
    
    #hotelPhoneNumber span {
        display: none;
    }
    
    #language {
        top: 12px;
        right: 40px;
    }
    
    #user {
        top: 6px;
    }
    
    #content {
        top: 50px;
    }
    
    #reservationSummary {
        top: 50px;
    }
 
    #stepsBar {
        top: 50px;
    }
    
    #reservationSummary .dates .calendar {
        width: 48%;
    }
    
    #reservationSummary .dates .calendar.nights {
        display: none;
    }
    
    #reservationSummary .dates .calendar:first-of-type {
        margin-right: 0;
    }
    
    .tabs .tab .full {
        display: none;
    }

    .tabs .tab .small {
        display: inline;
    }
    
    .panel h2 span {
        display: none;
    }
    
    .tile {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 30px;
    }
    
    .fieldRow .field {
        float: none;
        width: 100%;
    }

    .fieldRow .field:first-of-type {
        padding-right: 0;
    }

    .fieldRow input, .fieldRow input:after, .fieldRow .select-wrapper {
        max-width: 300px;
    }
    
    .receiptBannerAd {
        display: none;
    }

    .receiptBannerAdMobile {
        display: block;
    }
    
    .panel table {
        
    }
    
    .weather {
        height: auto;
        margin-top: 15px;
    }
    
    .weather .details {
        top: auto;
        bottom: 10px;
    }
    
    .weather .forecast {
        float: none;
        border-bottom: 1px solid #c8c8c8;
        border-right: none;
    }
    
    .weather .forecast:first-of-type {
        border-top: 1px solid #c8c8c8;
        
    }
    
    .weather .forecast:nth-of-type(2) {
        box-shadow: inset 0 7px 9px -11px #000;
    }
 
    .weather .moreLink {
        display: block;
    }
    
    .weather .forecast:not(:first-of-type) {
        display: none;
    }
    
    .weather table.desktop {
        display: none;
    }
    
    .weather table.mobile {
        display: table;
    }
    
    .weather .temperature {
        position: absolute;
        top: -2px;
        right: 7px;
    }
    
    .panel #termsSigPadContainer {
        margin-left: 0;
    }
    
    .roomType .selectedImage {
        float: none;
        width: 100%;
        height: 150px;
        border-top-right-radius: 2px;
        overflow: hidden;
    }
    
    .roomType .selectedImage div.cost {
        display: block;
    }

    .roomType .summary .summaryDesktop {
        display: none;
    }
    
    .roomType .selectedImage i {
        top: 70%;
    }
    
    .roomType .roomOptions {
        padding: 10px;
    }
    
/*    .roomType.booked .cost {
        padding-left: 10px;
    }*/
    
    .roomType .summaryMobile {
        display: block;
    }
  
    .roomType .summary .moreDetailsPopup {
        display: none;
    }

    .roomType .summary .moreDetailsExpander {
        display: block;
    }
    
    .roomType .summary p.truncated {
        display: none;
    }
    
    .roomType .summary .compare {
        display: none;
    }

    .roomType .summary .comparePopup {
        display: none;
    }
    
    .roomType .selections {
        float: none;
        right: auto;
        top: auto;
        width: auto;
        padding: 15px;
    }
    
    .roomType .button {
        float: none;
    }
    
    #kiosk {
        display: none;
    }
}

@media screen and (max-width: 359px) {
    .tabs .tab .small {
        padding: 0 20px;
    }
    
/*    .panel table.summary th {
        width: 120px;
    }*/
    
    table.crud td:first-of-type {
        max-width: 180px;
    }
}