/*
reset WebKit default styles
*/
* {
  -webkit-text-size-adjust: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/********************
Ad Units
********************/

.ad-unit { background: #333; border-bottom: 1px solid #666; border-top: 1px solid #666; }
.ad-unit img { display: block; margin: 0 auto; }

/********************
Base
********************/

html, body {
  background: #999;
  min-height: 460px;
  width: 100%;
  margin: 0; padding: 0;
  font: 14px/130% "Helvetica Neue",Helvetica,sans-serif;
  color: #222;
}

body.map .agency-header,
body.map .page-header,
body.map .page-footer {
  display: none;
}

h2 {
  font-size: 14px;
  padding: 0 16px;
}

a { color: #055A7E; }
a small { font-size: 11px; }
a img { border: none; }
a.delete { color: #cc0000; }

input, textarea, select, button { font: 14px/130% "Helvetica Neue",Helvetica,Arial,sans-serif; }

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number] {
  padding: 4px 8px;
  font-size: 18px;
  border: 1px solid #aaa;
  margin-bottom: 8px;
  width: 100%;
  -webkit-box-shadow: inset 0px 3px 3px #ccc;
  box-shadow: inset 0px 3px 3px #ccc;
  -webkit-border-radius: 9px;
  border-radius: 9px;
}

.radio-group > label:not([class]) {
  display: table;
  padding: 8px 0;
  text-transform: none;
  font-size: 14px;
  width: 100%;
}

.radio-group > label > * {
  display: table-cell;
}

.radio-group > label:active {
  -webkit-border-radius: 8px;
  border-radius: 8px;
  background: rgba(0,0,0,0.2);
}

.radio-group > label > span {
  width: 90%;
}

select {
  margin-bottom: 8px;
  width: 100%;
}

button, a.button {
  -webkit-appearance: none;
  text-decoration: none;
  display: block;
  text-align: center;
  width: 100%;
  border: 1px solid rgba(0,0,0,0.3);
  color: rgba(0,0,0,0.75);
  text-shadow: 0 1px 0 rgba(255,255,255,0.3);
  padding: 6px;
  background-color: #efefef;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.1)));
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

button {
  font-size: 18px;
}

button[type=submit],
.button.important,
.meter-value{
  background-color: #9BB4C7;
  color: #000;
}

button + button {
  margin-top: 10px;
}

button.active,
.button.active,
.meter-value,
.meter-wrap {
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0.4)), color-stop(0.1, rgba(0,0,0,0)), to(rgba(0,0,0,0.3)));
}

button:disabled,
.button:disabled {
  color: #aaa;
}

.alert {
  color: #ad1a12 !important;
}

p {
  padding: 16px;
  margin: 0;
}

p+p {
  padding-top: 0;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

/*
Dialog
*/

.dialog {
  line-height: 1.3;
  position: absolute;
  left: 10%; top: 20%;
  width: 80%;
  z-index: 2;
  padding: 12px;
  -webkit-box-shadow: 0 0 0 8px rgba(0,0,0,0.15);
  box-shadow: 0 0 0 8px rgba(0,0,0,0.15);
  -webkit-border-radius: 0.5em;
  border-radius: 0.5em;
  background: #fff;
  z-index: 9999;
  border: 1px solid #aaa;
}
.dialog .header {
  position: relative;
}
.dialog h3 {
  margin: 0 0 8px 0;
}
.dialog form {
  padding: 0;
}
.dialog .header .close {
 position:absolute;
 right:-8px;
 top:-15px;
 width:14px;
 height:14px; line-height:10px;
 text-align:center;
 text-indent:1px;
 font-size:14px;
 -webkit-border-radius:7px;
 background:#000;
 color:#fff;
 -webkit-box-shadow:0 1px 0 #fff;
 font-size:13px;
}
.dialog a {
  margin-top: 8px;
}

/********************************
Datepicker
********************************/

.datepicker {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  min-height: 100%;
  z-index: 100;
  padding: 0.5em;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.datepicker .inner {
  -webkit-box-shadow: 0 0 10px #000;
  background: #efefef;
  border-radius: 0.5em;
  padding: 0.5em;
  max-width: 308px;
  margin: 0 auto;
}

.datepicker header {
  width: 100%;
  display: -webkit-box;
  -webkit-box-align: center;
}

.datepicker footer {
  border-top: 1px solid #ccc;
}

.datepicker .close {
  display: block;
}

.datepicker .title {
  display: block;
  -webkit-box-flex: 1;
  text-align: center;
}

.datepicker a.prev,
.datepicker a.next,
.datepicker a.close {
  border-radius: 0.5em;
  background: #ddd;
  text-align: center;
  text-decoration: none;
  color: #009D9D;
  display: block;
  padding: 0.5em;
}

.datepicker table {
  border-collapse: collapse;
  text-align: center;
}

.datepicker th {
  font-size: 10px;
  padding: 0.5em 0;
}

.datepicker td {
  height: 32px;
  width: 44px;
  border: 1px solid #ddd;
}

.datepicker td:hover:not(.disabled):not(.sel) {
  cursor: pointer;
  background: #ffffcc;
}

.datepicker td:active:not(.disabled),
.datepicker td.sel {
  background: #fff;
  -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.3) inset;
}

.datepicker td.disabled {
  color: #aaa;
}

.datepicker td.curr {
  font-weight: bold;
}

/********************************
Forms
********************************/

.preamble {
  display: block;
  text-align: center;
  padding: 8px;
  margin-bottom: 8px;
  background: #ffffcc;

  -webkit-border-radius: 8px;
  border-radius: 8px;
}

form {
  padding: 16px;
}

fieldset {
  margin: 0;
  padding: 8px 0 2px;
  border: none;
}

fieldset:first-child legend {
  border-top: none;
}

fieldset legend {
  display: block;
  width: 100%;
  padding: 8px 0 0;
  font-size: 18px;
  font-weight: 300;
  border-top: 1px dotted #ccc;
  color: #333;
  text-shadow: 1px 1px 0 #ddd;
}

form label {
  color: #333;
  font-size: 10px;
}

form label.error {
  display: block;
  font-size: 10px;
  margin-top: -8px;
  color: red;
}

form input.error,
form select.error {
  border-color: red;
}

form.loading button {
  background: #ccc url(../img/loading.gif) no-repeat center center;
  color: inherit;
  text-shadow: inherit;
  text-indent: -9999em;

  -webkit-box-shadow: none;
  box-shadow: none;
}

fieldset.off > *,
fieldset.off > .fieldset.horizontal {
  display: none;
}

fieldset.off legend {
  display: block;
}

fieldset.togglable legend {
  line-height: 32px;
}

.toggle {
  float: right;
  display: block;
  width: 94px;
  height: 27px;
  background: url(../img/toggle.png) no-repeat bottom left;

  -webkit-appearance: none;
}
.toggle:checked { background-position: top left; }

fieldset .note {
  font-size: 11px;
  color: #444;
  padding: 0;
  margin-top: 0;
}

.field {
  position: relative;
}

.fieldset.left
{
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.fieldset.horizontal
{
  display: -webkit-box;
  -webkit-box-orient: horizontal;
}

.fieldset.horizontal .field {
  -webkit-box-flex: 1;
}

.fieldset.horizontal .field + .field {
  padding-left: 8px;
}

.fieldset.horizontal .field:first-child {
  padding-left: 0;
}

.fieldset.left .field {
  display: table-row;
}

.fieldset.left .field label {
  text-align: right;
  width: 40%;
  padding-right: 12px;
}

.fieldset.left .field label,
.fieldset.left .field input,
.fieldset.left .field select {
  display: table-cell;
}

.field .ctrl {
  position: absolute;
  bottom: 8px; right: 0;
  display: block;
  width: 32px; height: 33px;
  border: 1px solid rgba(0,0,0,0.3);
  color: rgba(0,0,0,0.75);
  text-shadow: 0 1px 0 rgba(255,255,255,0.3);
  padding: 6px;
  background-color: #efefef;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.1))), url(../img/icons@2x.png);
  -webkit-background-size: 100% 100%, 44px 1584px;
  background-size: 100% 100%, 44px 1584px;
  background-repeat: repeat, no-repeat;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}

  .ctrl.loc   { background-position: 0px 0, -6px -1500px }
  .ctrl.date  { background-position: 0 0, -6px -1456px }

/* Switch control */

.switch { display: -webkit-box; }
.switch > * {
  -webkit-box-flex: 1;
  display: block;
  min-width: 44px;
  text-align: center;
  padding: 6px;
  background: #e4e4e3;
  border: 1px solid #ccc;
  border-right: none;
  color: #333;
  text-shadow: 0 1px 0 #fff;
  background: -webkit-gradient(linear, 0% 100%, 0% 0%, from(#e4e4e3), to(#fcfcfb));
}
.switch *:first-child {
  -webkit-border-radius: 6px 0 0 6px;
  border-radius: 6px 0 0 6px;
}
.switch *:last-child {
  -webkit-border-radius: 0 6px 6px 0;
  border-radius: 0 6px 6px 0;
  border-right: 1px solid #ccc;
}
.switch *.checked {
  background: #bee1f0;
  border: 1px solid #666;
}
.switch input { display: none; }

/* Flip control */

.flip-set {
  display: table;
  width: 100%;
}
.flip-set label {
  color: #666;
  font-size: 11px;
}
.flip-set > div {
  display: table-cell;
  vertical-align: middle;
}
.flip-set > div:first-child {
  width: 60px;
}
.flip-set button {
  text-indent: -9999em;
  display: block;
  width: 44px;
  height: 44px;
  margin: 5px;
  background: #efefef url(../img/icons@2x.png) no-repeat 0px -1100px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

/********************
Agency Header
********************/

.agency-header {
  width: 100%;
  display: -webkit-box;
  display: box;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.3)));
  background-color: #ed2418;
  position: relative;
  z-index: 4;
}

.agency-header > * {
  display: -webkit-box;
  display: box;
  height: 44px;
  border-width: 0 3px 0 0;
  -webkit-border-image: url(../img/header-border.png) 33% 100% 66% 0 repeat;
  border-image: url(../img/header-border.png) 33% 100% 66% 0 repeat;
}
.agency-header > *:last-child { border-width: 0; }

.agency-header .branding,
.agency-header .branding:visited {

  -webkit-box-align: center;
  box-align: center;
  -webkit-box-flex: 1;
  box-flex: 1;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
  text-shadow: 0px -1px 2px rgba(0,0,0,0.51);
  font-weight: bold;
  padding: 0 10px;
}

.agency-header .btn {
  text-indent: -9999em;
  background: url(../img/icons@2x.png) no-repeat 0 0;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
  color: transparent;
  width: 44px;
}
.agency-header .phone { background-position: 0 -616px; }
.agency-header .email { background-position: 0 -660px; }
.agency-header .home  { background-position: 0 -572px; }
.agency-header .back  { background-position: 0 -528px; display: none; }
/*.agency-header .active { background-color: rgba(0,0,0,0.1); }*/

.agency-info {
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(#999), color-stop(0.1, #ccc), color-stop(0.95, #ccc), to(#999));
  border-bottom: 1px solid #999;
  height: 0;
  overflow: hidden;
}

/********************
Content
********************/

.page-content {
  background: #fff;
  min-height: 100px;
}

.page-content > h1 {
  padding: 16px;
  margin: 0;
  background: #fff;
  font-weight: normal;
  color: #000;
  font-size: 18px;
  border-bottom: 1px dotted #aaa;
  position: relative;
}

  body.security .page-content > h1,
  body.currency .page-content > h1,
  body.city-guide .page-content > h1,
  body.hotel .page-content > h1,
  body.flight-tracker .page-content > h1
    { padding-left: 48px; }

  body.security .page-content > h1:before,
  body.currency .page-content > h1:before,
  body.city-guide .page-content > h1:before,
  body.hotel .page-content > h1:before,
  body.flight-tracker .page-content > h1:before
    {
      content: '';
      display: block;
      width: 44px; height: 44px;
      position: absolute;
      top: 6px; left: 8px;
      background: url(../img/icons@2x.png) no-repeat 0 0;
      -webkit-background-size: 44px 1584px;
      background-size: 44px 1584px;
      -webkit-border-radius: 3px;
      border-radius: 3px;
    }

  body.security .page-content > h1:before { background-position: 0 -1056px; }
  body.city-guide .page-content > h1:before { background-position: 0 -836px; }
  body.flight-tracker .page-content > h1:before { background-position: 0 -880px; }
  body.currency .page-content > h1:before { background-position: 0 -968px; }

  body.hotel .page-content > h1:before {
      background-color: #000;
      top: 8px;
      -webkit-background-size: 33px 1161px;
      background-size: 33px 1161px;
      -webkit-border-radius: 3px;
      border-radius: 3px;
      width: 32px; height: 32px;
  }

/********************
Lists
********************/

.list-divider {
  margin: 0; padding: 6px 16px;
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  color: #fff;
  text-shadow: 0 -1px 0px #666;
  background: -webkit-gradient(linear, left top, left bottom, from(#777), color-stop(0.3, #999), to(#999));
}

/* accordions */

ul.accordion { list-style-type: none; margin: 0; padding: 0; }
ul.accordion > li { position: relative; }
ul.accordion .arrow {
  display: block;
  width: 30px; height: 36px;
  position: absolute;
  top: 0; left: 8px;
  background: url(../img/icons@2x.png) no-repeat -10px -1368px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}
ul.accordion .selected .arrow { background-position: -10px -1412px; }
ul.accordion > li > a {
  background: #fff;
  background: -webkit-gradient(linear, 0% 100%, 0% 0%, from(#e4e4e3), to(#fcfcfb));
  border-top: 1px solid #ccc;
  padding: 8px 8px 8px 44px;
  display: block;
  color: #333;
}
ul.accordion > li > a > h1,
ul.accordion > li > a > h2 {
  line-height: 1;
  padding: 0;
  font-size: 18px;
  font-weight: 400;
  margin: 0;
  min-height: 20px;
}
ul.accordion > li > a > h2 { font-size: 14px; }
ul.accordion > li.selected .content { display: block; border-top: 1px solid #dedede; }
ul.accordion > li .content { display: block; overflow: hidden; height: 0; }

/* regular lists */

ul.list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul.list li {
  position: relative;
}
ul.list > li > a, .hotelInfoSection a {
  border-top: 1px solid #ccc;
  display: block;
  text-decoration: none;
  color: #444;
  padding: 16px 32px 16px 16px;
}
ul.list.with-arrows li, .hotelInfoSection {
  position: relative;
  background: -webkit-gradient(linear, 0% 100%, 0% 70%, from(#eee), to(#fff));
}

ul.list.with-arrows li:after {
  content: '';
  display: block;
  width: 44px; height: 44px;
  background: red;
  position: absolute;
  top: 50%; right: 0;
  margin-top: -26px;
  background: url(../img/icons@2x.png) no-repeat 100% -1140px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

ul.list > li > a.active, .hotel-overview a.active {
  -webkit-box-shadow: inset 0 1px 2px #666;
  box-shadow: inset 0 1px 2px #666;
  background-color: rgba(50,50,50,0.1);
  color: #000;
}

ul.list.with-icons > li {
  text-indent: 35px;
}

ul.list .icon {
  position: absolute;
  top: 5px; left: 4px;
  display: block;
  width: 44px;
  height: 44px;
  background-repeat: no-repeat;
}

/* data sheet */

table .split, table .titleHeader {
  border-top: 1px solid #000 !important;
}

table .subheader {
  border-top: 1px solid #aaa !important;
}

table .split th,
table .split td {
  font-weight: bold !important;
}

table .subtotal td,
table .grandtotal td {
  border-top: 3px double #aaa;
  font-weight: bold;
}
table .subtotal td.nl,
table .grandtotal td.nl {
    border-top: none;
}
table .grandtotal {
  background: #ffffcc !important;
}

table .titleHeader th {
  font-size: 18px !important;
}

.break {
  word-break: break-all;
}

/* data grid */

.data-grid {
  text-align: left;
  border-collapse: collapse;
}

.data-grid td,
.data-grid th {
  vertical-align: top;
}

.data-grid td {
  padding: 0 16px 8px 0;
}

.data-grid th {
  color: #999;
  font-weight: normal;
  font-size: 11px;
  padding-bottom: 4px;
}

/********************
Footer
********************/

.page-footer {
  border-top: 1px solid #666;
  padding: 16px;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, from(#777), color-stop(0.015, #999), to(#999));
}

.page-footer form {
  padding: 0 0 8px 0;
}

.page-footer .group {
  margin-bottom: 1em;
}

.page-footer .group a {
  background: #666;
  color: #fff;
  padding: 0.5em 1em;
  display: block;
  border-bottom: 1px solid #999;
  text-transform: lowercase;
}

.page-footer .group a.active {
  background: #333;
}

.page-footer .group a:after {
  content: '\00BB';
  float: right;
}

.page-footer a:first-child {
  -webkit-border-radius: 0.75em 0.75em 0 0;
  border-radius: 0.75em 0.75em 0 0;
}

.page-footer a:last-child {
  -webkit-border-radius: 0.75em 0.75em 0 0;
  border-radius: 0 0 0.75em 0.75em;
  border-bottom: none;
}

.page-footer .powered-by {
  font-size: 1em;
  color: #fff;
  text-align: center;
  font-weight: bolder;
  display: block;
}

.page-footer .personal-data {
    font-size: 1em;
    color: #fff;
    text-align: center;
    display: block;
}

.page-footer .personal-data a:link, .page-footer .personal-data a:visited, .page-footer .personal-data a:active {
    text-decoration: none;
    color: #fff;
}

.page-footer .personal-data a:hover {
    text-decoration: underline;
    color: #fff;
}

/********************
Pagination
********************/

.pagination {
  display: -webkit-box;
  -webkit-box-orient: horizontal;
}

.pagination > * {
  display: block;
  -webkit-box-flex: 1;
  height: 44px;
  line-height: 44px;
  text-align: center;
}

.pagination .next,
.pagination .prev {
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#ddd));
  font-weight: bold;
}

/********************
Home Page
********************/

.home-actions li {
  position: relative;
}

.home-actions li:before {
  content: '';
  display: block;
  width: 44px; height: 44px;
  position: absolute;
  top: 4px; left: 0;
  background: url(../img/icons@2x.png) no-repeat 0 -792px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}
.home-actions .login:before { background-position: 0 -748px; }
.home-actions .city-and-airport-guide:before { background-position: 0 -836px; }
.home-actions .flight-tracker:before { background-position: 0 -880px; }
.home-actions .currency-converter:before { background-position: 0 -968px; }
.home-actions .security:before { background-position: 0 -1056px; }


#trip-actions {
  padding: 8px;
  display: table;
  width: 100%;
}

#trip-actions .button-cell { display: table-cell; padding-right: 8px; }
#trip-actions .button-cell:last-child { padding: 0; }
#trip-actions .button { display: block; text-align: center; text-indent: 0; }

/********************
Itinerary Page
********************/

#trip-overview {
  background: #ccc;
  padding-bottom: 16px;
}

#trip-overview .segment {
  margin: 16px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  border: none;
  border-bottom: 1px solid #999;
}


/*
Offline access
*/

#cache-status {
  background: #F0F0F0 url(../img/loading.gif) no-repeat 12px center;
  background-size: 14px 14px;
  -webkit-box-shadow: inset 0 0 12px rgba(0,0,0,0.3);
  box-shadow: inset 0 0 12px rgba(0,0,0,0.3);
  padding: 4px 12px 4px 32px;
  font-size: 11px;
}

#cache-status.complete {
  background: #F0F0F0 url(../img/icons@2x.png) no-repeat -1px -1549px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

#cache-status.offline {
  background: #FFFFCC url(../img/icons@2x.png) no-repeat -1px -1549px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

#cache-status .more-info {
  float: right;
}

/*
Notification settings
*/

#notification-settings {
  display: block;
  position: relative;
  color: #000;
  padding: 4px 108px 4px 32px;
  border-top: 1px solid #ccc;
  background: -webkit-gradient(linear, 0% 100%, 0% 0%, from(#eee), to(#fff));
}

#notification-settings:before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  display: block;
  width: 44px;
  height: 44px;
  background: url(../img/icons@2x.png) no-repeat 4px -1320px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

#notification-settings h2 {
  font-size: 12px;
  font-weight: normal;
  margin: 0;
}

#notification-settings .toggle,
#notification-settings .button {
  position: absolute;
  top: 6px; right: 6px;
}

#notification-settings .button {
  width: 100px;
  overflow: hidden;
}

/* Verified emails */

.verified-emails {
  list-style-type: none;
  margin: 0; padding: 0;
}
.verified-emails li {
  background: url(../img/icons@2x.png) no-repeat 0 -1274px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
  margin: 0; padding: 0.5em 0 0.5em 3em;
}
.verified-emails .unverified {
  background-position: 0 -1230px;
}
.verified-emails li + li {
  border-top: 1px dotted #ddd;
}
.verified-emails li .resend {
  padding-right: 0.5em;
  margin-right: 0.5em;
}
.verified-emails li .remove {
  color: #ff0000;
}

/* Trip Summary */

#trip-summary {
  border-collapse: collapse;
  text-align: left;
  margin: 16px;
}

#trip-summary td { padding-bottom: 8px; }
#trip-summary th { font-size: 11px; color: #666;  font-weight: normal; }
#trip-summary .destination {
  word-break: break-word;
}

#trip-summary .destination td {
  font-size: 24px;
  line-height: 120%;
}

#sncf-tickets {
    border-collapse: collapse;
    text-align: left;
    margin: 16px;
}

/* Itinerary segment styles */



/*Tabs */

.tabs {
  list-style-type: none;
  margin: 0; padding: 0;
  display: table;
  width: 100%;
  border-bottom: 3px solid #000;
}

.tabs > li {
  padding: 6px 0 0 6px;
  display: table-cell;
  vertical-align: middle;
}

.tabs > li:not(.ignore) a {
  background-color: #efefef;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.1)));
  border: 1px solid #ccc;
  display: block;
  height: 38px;
  font-size: 12px;
 /* line-height: 38px;*/
  text-align: center;
  -webkit-border-radius: 6px 6px 0 0;
  border-radius: 6px 6px 0 0;
}

.tabs > li.selected a {
  color: #fff;
  background: #000;
  /*font-weight: bold;*/
  border-color: #000;
}

/* Trip Menu */

#trip-menu {
  position: relative;
}

#trip-menu .button {
  width: 100%;
  font-size: 10px;
  text-align: right;
}

#trip-menu.active { }
#trip-menu.active .button {
  position: relative;
  background: #fff;
  z-index: 3;
  border-bottom-color: #fff;
  -webkit-border-radius: 6px 6px 0 0;
  border-radius: 6px 6px 0 0;
}
#trip-menu .button:after {
  content: '';
  display: block;
  width: 32px; height: 32px;
  position: absolute;
  top: 0; left: 0;
  background: url(../img/icons@2x.png) no-repeat -4px -1370px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}
#trip-menu.active .button:after {
  background-position:  -4px -1414px;
}

#trip-menu .menu {
  display: none;
}

#trip-menu .menu a {
  display: block;
  padding: 12px;
  border-bottom: 1px solid #aaa;
}

#trip-menu.active .menu {
  display: block;
  background: #fff;
  width: 320px;
  list-style-type: none;
  margin: 0; padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.3);
  box-shadow: 0 3px 3px rgba(0,0,0,0.3);
  border: 1px solid #aaa;
}

/* Segment Nav */

#segment-nav {
  display: -webkit-box;
  font-size: 12px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#cacaca));
  height: 44px;
  border: 1px solid #bbb;
}

#segment-nav > * { height: 100%; padding: 6px; }

#segment-nav .date  {
  display: block;
  padding: 9px 0 0 36px;
  -webkit-box-flex: 1;
  box-flex: 1;
  background: url(../img/icons@2x.png) no-repeat -2px -1452px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
  line-height: 1;
}

#segment-nav .next,
#segment-nav .prev  {
  display: block;
  position: relative;
  width: 44px;
  text-indent: -9000px;
}
#segment-nav .next:after,
#segment-nav .prev:after {
  content: '';
  display: block;
  width: 44px; height: 42px;
  position: absolute;
  top: 0; left: 0;
  background: url(../img/icons@2x.png) no-repeat 0 -1146px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

#segment-nav .next:after {
  border-left: 1px solid #ccc;
}

#segment-nav .prev:after {
  border-right: 1px solid #ccc;
  background-position: 0 -1190px;
}

/* Segment */

.segment { padding: 16px; background: #fff; }
.segment + .segment { border-top: 1px solid #aaa; }

.segment h2 { padding-left: 0; padding-right: 0; }

.segment .conf {
  padding: 4px;
  margin: 8px 0px 8px 0px;
  font-size: 12px;
  color: #666;
  text-align: center;
  background: #eee;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  border: 1px solid #ccc;
}

.segment .ticket_number {
    padding: 4px;
    margin: 8px 0px 8px 0px;
    font-size: 12px;
    color: #666;
    text-align: left;
    background: #eee;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.segment .conf b { color: #000; }

/* Segment Header */

.segment .header {
  position: relative;
  display: -webkit-box;
  display: box;
}

.segment .header .icon {
  content: '';
  display: block;
  width: 44px; height: 44px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  background: red;
  position: relative;
  top: -4px;
  margin: 0 8px 0 0;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.3)));
  background-color: #ed2418;
}

.segment .header .icon:after {
  content: '';
  display: block;
  width: 44px; height: 44px;
  background: url(../img/icons@2x.png) no-repeat 0 0;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

  .hotel.segment .header .icon:after     { background-position: 0 0; }
  .air.segment .header .icon:after       { background-position: 0 -44px; }
  .car.segment .header .icon:after       { background-position: 0 -88px; }
  .rail.segment .header .icon:after      { background-position: 0 -132px; }
  .airtaxi.segment .header .icon:after   { background-position: 0 -176px; }
  .cruise.segment .header .icon:after    { background-position: 0 -220px; }
  .bus.segment .header .icon:after       { background-position: 0 -264px; }
  .limo.segment .header .icon:after      { background-position: 0 -308px; }
  .tour.segment .header .icon:after      { background-position: 0 -352px; }
  .insurance.segment .header .icon:after { background-position: 0 -396px; }
  .ground.segment .header .icon:after    { background-position: 0 -440px; }
  .other.segment .header .icon:after     { background-position: 0 -484px; }
  .careyLimo.segment .header .icon:after { background-position: 0 -88px; }

.segment .header .desc {
  margin: 0; padding: 0;
  font-size: 14px;
  font-weight: normal;
}

.segment .header .desc,
.segment .header .action {
  -webkit-box-flex: 1;
  box-flex: 1;
}

/* Segment Blocks */

.segment .block {
  display: block;
  position: relative;
  padding-bottom: 16px;
}

.block + .block {
  border-top: 1px dotted #aaa;
}

.segment .block h2 {
  font-size: 18px;
  font-weight: normal;
}

.segment .block .actions {
  margin-top: 8px;
  height: 32px;
}

.segment .block .actions a {
  font-size: 12px;
  padding-right: 8px;
}

.segment .block table { width: 100%; border-collapse: collapse; table-layout:fixed; }
.segment .block table tr { border-top: 1px solid #ddd; }
.segment .block table tr:nth-child(odd) { background: #eaeaea; }
.segment .block table tr.highlight { background: #ffffcc; font-weight: bold; border-top: 1px solid #999; }
.segment .block table th { width: 40%; text-align: left; padding: 8px; font-weight: normal; color: #333; font-size: 12px; vertical-align: top; }
.segment .block table td { padding: 8px; vertical-align: top; word-wrap: break-word; }

.segment.summary a {
  color: #000;
  text-decoration: none;
}

.segment.summary .header:after {
  content: '';
  display: block;
  position: absolute;
  top: 0; right: -12px;
  width: 36px; height: 36px;
  background: url(../img/icons@2x.png) no-repeat -4px -1150px;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

.segment.summary .block {
  padding: 8px 0;
}

.segment.summary .block:last-child {
  padding-bottom: 0;
}

.segment.summary .block h2 {
  margin: 0;
  font-size: 12px;
  font-weight: bold;
}

/* Offers */

.offer {
  position: relative;
  display: block;
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.3)));
  background-color: #055A7E;
  text-decoration: none;
  padding: 8px 8px 8px 58px;
  margin: 8px 16px;
  text-shadow: 0 -1px 0 rgba(0,0,0,0.3);
  color: #fff;
  border-bottom: 1px solid #000;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  min-height: 52px;
}

.offer:before {
  content: '';
  display: block;
  width: 44px; height: 44px;
  border-right: 1px solid rgba(255,255,255,0.3);
  position: absolute; top: 4px; left: 6px;
  background: url(../img/icons@2x.png) no-repeat 0 0 ;
  -webkit-background-size: 44px 1584px;
  background-size: 44px 1584px;
}

  .hotel.offer:before     { background-position: 0 0;  }
  .air.offer:before       { background-position: 0 -44px; }
  .car.offer:before       { background-position: 0 -88px; }
  .insurance.offer:before { background-position: 0 -396px; }

.offer.bare {
  padding-left: 8px;
  min-height: 0;
}

.offer.bare:before {
  display: none;
}

.segment .offer {
  margin: 8px 0;
}

/********************
Air Segment
********************/

#air-sections {
  margin-top: 8px;
}

#departure-countdown {
  display: block;
  background: #000;
  padding: 3px;
  font-family: monospace;
  text-align: center;
  color: #33cc66;
  width: 100px;
  font-weight: bold;
  position: absolute;
  top: -4px; right: 0;
  text-shadow: 0 0 20px #33cc66;
  -webkit-border-radius: 6px;
  border-radius: 6px;
}

/********************
Hotel Search
********************/

#edit-search > * {
  display: block;
  width: 100%;
  text-overflow:ellipsis;
  overflow:hidden;
  white-space:nowrap;
}

.hotel-overview {
    position: relative;
    display: table;
    width: 100%;
    height: 75px;
}

/*.hotel-overview a { padding: 12px 12px 7px !important; }*/

.hotel-overview img {
  float: left;
}

.hotel-overview .thumb {
  position: absolute;
  top: 16px; left: 16px;
  display: block;
  width: 50px; height: 50px;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: inset 0 0 3px #000;
  -webkit-background-size: cover;
  background-size: cover;
}

.hotel-overview .details {
  margin-left: 58px;
  position: relative;
  top: -5px;
}

.hotel-overview h2 { color: #000; margin: 0; padding: 0; font-size: 14px; font-weight: 400;}
.hotel-overview strong { color: #000; }
.hotel-overview h3 { margin: 0; font-size: 12px; font-weight: 400;}

.amenity {
  display: inline-block;
  float: left;
  width: 15px; height: 15px;
  margin: 2px 2px 0 0;
  background-image: url(../img/amenities.gif);
  background-repeat: no-repeat;
  background-position: 0 0;
}
  .amenity.gym { background-position: 0 0px; }
  .amenity.dining { background-position: 0 -15px; }
  .amenity.pool { background-position: 0 -30px; }
  .amenity.kids { background-position: 0 -45px; }
  .amenity.shuttle { background-position: 0 -60px; }
  .amenity.business { background-position: 0 -75px; }
  .amenity.meeting { background-position: 0 -90px; }
  .amenity.data { background-position: 0 -105px; }
  .amenity.golf { background-position: 0 -120px; }
  .amenity.tennis { background-position: 0 -135px; }
  .amenity.casino { background-position: 0 -150px; }
  .amenity.pet { background-position: 0 -165px; }
  .amenity.handicap { background-position: 0 -195px; }
  .amenity.nosmoke { background-position: 0 -210px; }
  .amenity.service { background-position: 0 -225px; }
  .amenity.jacuzzi { background-position: 0 -240px; }
  .amenity.laundry { background-position: 0 -255px; }
  .amenity.beachfront { background-position: 0 -270px; }
  .amenity.corridors { background-position: 0 -285px; }
  .amenity.kitchenette { background-position: 0 -300px; }
  .amenity.fire { background-position: 0 -315px; }
  .amenity.executive { background-position: 0 -330px; }
  .amenity.freelocalcalls { background-position: 0 -345px; }
  .amenity.freewifi { background-position: 0 -360px; }
  .amenity.smoke { background-position: 0 -375px; }
  .amenity.safe { background-position: 0 -390px; }
  .amenity.refrigerator { background-position: 0 -405px; }
  .amenity.transport { background-position: 0 -420px; }
  .amenity.ski { background-position: 0 -435px; }
  .amenity.coffee { background-position: 0 -450px; }
  .amenity.ada { background-position: 0 -465px; }
  .amenity.balcony { background-position: 0 -480px; }
  .amenity.adult { background-position: 0 -495px; }
  .amenity.restricted { background-position: 0 -510px; }
  .amenity.water { background-position: 0 -525px; }
  .amenity.hypoallergenic { background-position: 0 -540px; }
  .amenity.noadult { background-position: 0 -555px; }
  .amenity.nopets { background-position: 0 -570px; }

.city-guide figure {
  display: inline-block;
  margin: 0 16px;
  text-align: center;
  background: #ccc;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #666;
  overflow: hidden;
}

.city-guide figure img {
  vertical-align: bottom;
  max-width: 100%;
}

/********************
Ticket/Invoice
********************/

.receipt-list .date {
  width: 100px;
}

.receipt-overview {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
  background: #333;
  color: #fff;

  text-shadow: 0 0 5px #000;
}
.receipt-overview td { padding: 8px; }
.receipt-overview small { font-size: 11px; color: #aaa; font-weight: normal; }
.button.download-pdf { display: block; text-align: center; }


/********************
Hotel booking
********************/



/********************
Currency Converter
********************/

#currency-converter .result {
  display: block;
  color: #000;
  padding: 8px 0;
  text-indent: 8px;
  font-size: 18px;
  margin-bottom: 8px;
  background: #ffffcc;
  border-radius: 8px;
}

/********************
Weather
********************/

    /* Forecast */

   #forecast {
     -webkit-transition: height 0.25s cubic-bezier(0,0,0.25,1);
     -webkit-transform: translate3d(0,0,0);
     overflow: hidden;
   }

   #forecast .day {
     position: relative;
     border-top: 1px solid #ccc;
     padding: 8px;
   }

   #forecast label {
     text-transform: uppercase;
     position: absolute;
     top: 8px; right: 8px;
     font-size: 11px;
   }

   #forecast img {
     position: absolute;
     top: 8px; left: 8px;
   }

   #forecast .details {
     margin-left: 40px;
     font-size: 16px;
   }

   #forecast .high,
   #forecast .low {
     font-size: 13px;
   }

   /* Airports */

   #forecast .airport a {
     color: #003366;
   }

/********************
Flight Tracker
********************/

.flight-tracker .search-switch { padding: 10px 10px 0; }
.flight-tracker .search-switch label { width: 50%; }

.flight-tracker select[name=date] { max-width: 60px; }
.flight-tracker select[name=departureTime] { max-width: 160px; }

.flight-tracker .flight-search { display: none; }
.flight-tracker .flight-search.selected { display: block; }

.flight-tracker #flights {
  -webkit-transition:height 0.25s cubic-bezier(0,0,0.25,1);
  -webkit-transform: translate3d(0,0,0);
  overflow: hidden;
}

.flight-tracker #flights .flight {
  line-height: 1;
  text-indent: 0;
  display: table;
  width: 100%;
  border-bottom: 1px solid #E6E6E6;
}

.flight-tracker #flights .flight a {
  display: table-row;
  background-image: none;
}

.flight-tracker #flights .flight a > div {
  display: table-cell;
  vertical-align: middle;
  font-size: 11px;
  padding-top: 8px; padding-bottom: 8px;
}

.flight-tracker #flights .flight a > div:first-child {
  padding-left: 16px;
}

.flight-tracker #flights .flight a > div > strong {
  color: #003366;
  font-size: 13px;
}

.flight-tracker #flights .flight .status {
  background: url(../img/chevron@2x.png) no-repeat 100% 50%;
  -webkit-background-size: 23px 15px;
  background-size: 23px 15px;
}

.flight-tracker #flights .departs { width:45px; }
.flight-tracker #flights .sep { width: 20px; text-align: center; }
.flight-tracker #flights .arrives { width:45px; }
.flight-tracker .status {
  width: 80px;
  padding-right:30px;
  text-align: right;
  color: #02720A;
  font-weight: bold;
}
.flight-tracker .status.delayed { color: #721412; }
.flight-tracker .block .status {
  float: right;
  padding: 0;
  width: auto;
  font-weight: normal;
  text-transform: none;
}
.flight-tracker .block.delayed .status { color: #721412; }

.flight-path {
  display: block;
  margin: 8px 0 0;
  text-align: center;
  background: #ccc;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #666;
  overflow: hidden;
}

.flight-path img {
  vertical-align: bottom;
  max-width: 100%;
}

/********************
Security Wait times
********************/

.security.tool input[name=airportCode] { width: 64px; }
.security.tool #wait-times .header .value { font-size: 18px; }

/********************
Car Rental
********************/

.car.rental .search-switch { padding: 0 10px 10px; }
.car.rental .search-switch label { width: 50%; }

/* messages */
.msg { padding: 16px; background: #ffffcc; }
.msg h3 { padding: 0; margin-top: 0; }
.success.msg {
  background: #B9E1B4;
  color: black;
  font-weight: normal;
  margin: 0px 0px;
  padding: 16px;
  margin-bottom: 10px;
}

.agency .info {
  display: block;
  padding: 8px 10px 4px;
  border-top: 1px solid #aaa;
}
.agency .info a {
  float: right;
  font-size: 11px;
  text-decoration: underline;
  color: #333;
}

.car.rental .rate-panel { display: none; }
.car.rental .rate-panel.selected { display: block; }

.car.rental fieldset.loyalty-info { display: none; padding: 0 10px 10px;}
.car.rental fieldset.loyalty-info.open { display: block; }

#loyalty-rates { padding: 0; }

#car-extras label {
  border-bottom: 1px dotted #ccc;
}

#car-extras label:last-child { border: none; }

ul.list > .rental-option a { display: -webkit-box; -webkit-box-orient: horizontal; -webkit-box-align: stretch; }
.rental-option a > * { -webkit-box-flex: 1; display: -webkit-box; -webkit-box-orient: vertical; }
.rental-option .rate { text-align: right; padding-right: 2em; }

#tripDetailsLink {
    text-decoration: none;
}

#tripDetailsTab {
    padding-right: 6px;
}

#tripDetailsLink, #tripOverviewLink {
    text-decoration: none;
    display: table;
    width:100%
}

#tripDetailsLink p, #tripOverviewLink p {
    vertical-align: middle;
    text-align: center;
    padding: 0px;
    display: table-cell;
    width: 100%
}
.showAmenities  {
    display: table-cell;
    border-right: 1px solid #CCC;
    width:100%;
}
.showAmenities .arrowIcon {
    margin-right: 4px;
    display: inline-block;
    float: left;
    width: 22px;
    height: 22px;
    background: url(../img/icons@2x.png) no-repeat 100%;
    -webkit-background-size: 29px 1056px;
    background-size: 29px 1056px;
    background-position: 0px -769px
}
.hotelInfoSection a.link-to-description  {
    display:table-cell;
    padding: 0px;
    vertical-align: middle;
}

.link-to-description .arrowIcon {
    background: url(../img/icons@2x.png) no-repeat 100% -1140px;
    -webkit-background-size: 44px 1584px;
    background-size: 44px 1584px;
    width: 44px; height: 44px;
}

.hotelInfoSection {
    display:table-row
}

.amenitiesSection {
    border-top: 1px solid #CCC;
    display: none;
}

.hotelInfoSection a {
    padding-bottom: 0px;
    padding-right: 8px;
}

.hotelInfoSection div.hotelInfoDetails {
    display: table;
}

.hotelInfoSection div.preferredHotelIcon, .hotelInfoSection div.preferredHotelText, .amenitiesIconsListSection div.arrowIcon, .hotelInfoSection div.amenitiesIcons {
    display: table-cell;
    vertical-align: top;
}

.hotelInfoSection div.preferredHotelIcon {
    width: 25px;
}

.hotelInfoSection img.preferredHotelIcon {
    float: none;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
}

.hotelInfoSection div.preferredHotelText {
    font-weight: bold;
    font-size:12px
}

div.amenitiesIconWithDesc {
    display:table;
    font-size: 10px;
    float: left;
    width: 50%;
}

div.amenitiesIconWithDesc div {
    display: table-cell;
    vertical-align: top;
}
div.amenitiesIcon {
    width: 25px;
}

.trainConfirmationNumbers {
    padding-top: 0.83em;
}

.baggageAllowanceParsed h4 {
    padding-top: 4px;
    padding-bottom: 2px;
    margin: 0px;
}
.tkt-doc-reassociated { color: #ff0000; white-space: nowrap;}

#printItinerary {
    text-align: right;
    padding-top: 15px;
    padding-right: 15px;
}