:root {
  --primary-color: #2e368f;
  --highlight-color: #fbc41e;
}

.txt-hl {
  color: var(--highlight-color);
}

.txt-color-primary {
  color: var(--primary-color);
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

* {
  -webkit-transition: 0.15s;
  transition: 0.15s;
}

.ui-dialog[aria-describedby=departure-location-dlg] {
  width: 960px !important;
  border: 0;
  border-radius: 8px !important;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-dialog-titlebar {
  border: 0;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background: var(--primary-color);
  font-size: 16px;
  color: white;
  z-index: 1;
  margin: 1px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-dialog-content {
  padding: 10px 15px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  font-size: 15px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-dialog-content h6.title {
  text-transform: uppercase;
  font-size: 15px;
  color: var(--primary-color);
  margin-bottom: 8px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city {
  padding: 0;
  width: initial;
  border: 0;
  float: none;
  display: flex;
  flex-wrap: wrap;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .title {
  padding: 0;
  font-size: 15px;
  color: var(--primary-color);
  margin-bottom: 10px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city ul {
  margin-bottom: 15px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city ul li {
  margin-bottom: 6px;
  padding: 0;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city ul li a {
  padding: 0;
  font-size: 15px;
  color: #000;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city ul li a:hover {
  color: var(--highlight-color);
  background: none;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city ul li:has(a[style="display: none;"]) {
  display: none;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .north-area {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .middle-area {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .middle-area ul {
  display: flex;
  flex-wrap: wrap;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .middle-area ul li {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .south-area {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .south-area ul {
  display: flex;
  flex-wrap: wrap;
}
.ui-dialog[aria-describedby=departure-location-dlg] .domestic-city .south-area ul li {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city {
  padding: 0;
  width: initial;
  border: 0;
  float: none;
  margin-bottom: 15px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city ul {
  float: none;
  display: flex;
  align-items: center;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city ul li {
  padding-left: 0;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city ul .suggest {
  margin-right: 12px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city .suggest {
  padding: 0;
  margin-bottom: 0;
  font-size: 15px;
  font-weight: bold;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city .suggest br {
  display: none;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city #inter-city-departure {
  border: 1px solid #ddd;
  padding: 0 10px;
  height: 36px;
  line-height: 36px;
  font-size: 15px;
  color: #000;
  box-shadow: none;
  width: 100%;
  border-radius: 8px 0 0 8px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city #btnChooseLocation {
  height: 36px;
  line-height: 36px;
  padding: 0 20px;
  background: var(--highlight-color);
  color: #fff;
  font-weight: bold;
  border: 0;
  border-radius: 0 8px 8px 0;
  cursor: pointer;
  margin: 0;
  text-transform: uppercase;
  font-size: 13px;
  width: 70px;
  padding-left: 0;
  padding-right: 0;
  font-family: "SF Pro Display";
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city #btnChooseLocation:hover {
  background: var(--highlight-color);
}
.ui-dialog[aria-describedby=departure-location-dlg] .international-city li:last-child {
  text-align: right;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-autocomplete {
  border: 1px solid #ddd;
  border-radius: 0 !important;
  box-shadow: none;
  max-height: 200px;
  overflow: auto;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-autocomplete li a {
  padding: 5px 10px;
  border-radius: 0;
  font-size: 15px;
  line-height: 20px;
  border: 0 !important;
  margin: 0;
}
.ui-dialog[aria-describedby=departure-location-dlg] .ui-autocomplete li a.ui-state-focus {
  background: var(--primary-color) !important;
  color: #fff;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic {
  display: flex;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .title {
  margin-bottom: 8px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic ul li {
  margin-bottom: 6px;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .list-location-northern, .ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .list-location-central {
  flex: 2;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .list-location-northern li, .ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .list-location-central li {
  width: 50%;
  float: left;
}
.ui-dialog[aria-describedby=departure-location-dlg] .list-location-domestic .list-location-south {
  flex: 1;
}

.ui-menu .ui-menu-item a.ui-state-focus, .ui-menu .ui-menu-item a.ui-state-active {
  margin: 0;
}

#ui-datepicker-div {
  padding: 4px;
  border-radius: 8px !important;
  border: 0;
  width: 22em;
}
#ui-datepicker-div .ui-datepicker-header {
  background: none;
  padding: 0;
  border: 0;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-year, #ui-datepicker-div .ui-datepicker-header .ui-datepicker-month {
  border: 0;
  padding: 5px;
  font-size: 15px;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next, #ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev {
  width: 29px;
  height: 29px;
  background: url(../images/ic/ic-previous.png) no-repeat center center;
  background-size: 8px;
  top: 0;
  left: 0;
  border: 1px solid transparent;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next span, #ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev span {
  display: none;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next:hover, #ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev:hover {
  border-color: var(--primary-color);
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next {
  background: url(../images/ic/ic-next.png) no-repeat center center;
  background-size: 8px;
  left: initial;
  right: 0px;
}
#ui-datepicker-div .ui-datepicker-header .ui-state-disabled:hover {
  border-color: transparent;
}
#ui-datepicker-div table.ui-datepicker-calendar {
  width: 100%;
  margin: 0;
}
#ui-datepicker-div table.ui-datepicker-calendar th {
  color: var(--primary-color);
  padding: 5px 0 3px 0;
  font-size: 13px;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-default, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-content .ui-state-default, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-header .ui-state-default {
  border: 0;
  border-radius: 3px;
  background: #e6f8ff;
  padding: 4px 6px;
  color: #000;
  text-align: center;
  font-weight: bold;
  font-size: 13px;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-default:hover, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover {
  border: 0;
  background: var(--primary-color);
  color: #fff;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-default:hover .ui-datepicker-lunar, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover .ui-datepicker-lunar, #ui-datepicker-div table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover .ui-datepicker-lunar {
  color: #fff;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled {
  opacity: 1;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a {
  background: #e8e8e8;
  cursor: default;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a:hover {
  background: #e8e8e8;
  color: #888;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a:hover .ui-datepicker-lunar, #ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a:hover .ui-datepicker-day {
  color: #888;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a .ui-datepicker-lunar, #ui-datepicker-div table.ui-datepicker-calendar .ui-state-disabled a .ui-datepicker-day {
  color: #888;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-highlight {
  background: #fcefa1;
}
#ui-datepicker-div table.ui-datepicker-calendar .ui-state-active {
  background: var(--primary-color);
  color: white;
}
#ui-datepicker-div table.ui-datepicker-calendar td {
  padding: 2px;
  line-height: 15px;
}
#ui-datepicker-div table.ui-datepicker-calendar td .ui-datepicker-lunar {
  font-size: 10px;
}

#ui-datepicker-div.ui-datepicker-multi {
  width: 45em !important;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group-first {
  padding-right: 7px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group-last {
  padding-left: 7px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-header {
  background: #eafae5;
  font-weight: bold;
  color: #000;
  border-radius: 3px;
  border: 0;
  padding: 5px 0;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-header .ui-datepicker-title {
  font-size: 15px;
  font-weight: normal;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-header .ui-datepicker-prev {
  top: 4px;
  left: 4px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-header .ui-datepicker-next {
  left: initial;
  right: 4px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-datepicker-day {
  font-size: 15px;
  font-weight: bold;
  color: #000;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-datepicker-lunar {
  color: #888;
  font-size: 11.5px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-datepicker-current-day a {
  background: #ffa800;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-state-default, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-content .ui-state-default, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-header .ui-state-default {
  padding: 5px 6px;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-state-default:hover, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover {
  border: 0;
  background: var(--primary-color);
  color: #fff;
}
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-state-default:hover .ui-datepicker-lunar, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-content .ui-state-default:hover .ui-datepicker-lunar, #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover .ui-datepicker-day,
#ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group table.ui-datepicker-calendar .ui-widget-header .ui-state-default:hover .ui-datepicker-lunar {
  color: #fff;
}

aside {
  float: left;
  width: 25%;
  padding-right: 7px;
  margin-bottom: 15px;
}
aside p:empty {
  display: none;
}
aside #sm-departure1,
aside #sm-return1,
aside #sm-departure2,
aside #sm-return2 {
  display: none;
}
aside .totalprice, aside .totalholder {
  padding: 0;
  background: none;
}
aside .subtitle {
  margin: 0 0 15px;
  padding: 0;
  background: none;
  line-height: inherit;
  color: #000;
  font-weight: 600;
}
aside #bookingSummary {
  margin-bottom: 15px;
  border: 1px solid #ddd;
  padding: 15px 15px 0;
  border-radius: 8px;
}
aside #bookingSummary br {
  display: none;
}
aside #bookingSummary .totalprice {
  color: #000;
  padding-bottom: 0px;
  margin-bottom: 10px;
  border-bottom: 0;
}
aside #bookingSummary .totalprice .totaltitle {
  color: var(--primary-color);
  background: none;
  font-size: 15px;
}
aside #bookingSummary .totalprice #returnFlightTitle {
  border-top: 1px solid #ddd;
  padding-top: 10px;
}
aside #bookingSummary .totalprice strong {
  font-size: 15px;
}
aside #bookingSummary .totaltitle,
aside #bookingSummary .value {
  color: #000;
}
aside #bookingSummary .holder {
  color: #888;
}
aside #bookingSummary .value {
  font-size: 11px;
}
aside #bookingSummary .value span {
  font-size: 15px;
}
aside #bookingSummary .booking-summary-voucher {
  margin-bottom: 15px;
}
aside #bookingSummary .subtotal {
  text-align: left;
  font-weight: bold;
  font-size: 15px;
}
aside #bookingSummary .subtotal strong {
  float: right;
  font-size: 11px;
  font-weight: normal;
  color: #000;
}
aside #bookingSummary .subtotal strong span {
  font-weight: bold;
  font-size: 15px;
}
aside #bookingSummary .total {
  font-size: 18px;
  line-height: 30px;
  text-align: left;
  background: var(--primary-color);
  padding: 5px 15px;
  color: #fff;
  margin-left: -16px;
  margin-right: -16px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
}
aside #bookingSummary .total strong {
  color: #fff;
  font-size: 18px;
  display: block;
  margin-left: 5px;
  float: right;
}
aside .ui-slider-horizontal {
  background: #ddd;
  height: 4px;
  border: 0;
  box-shadow: none;
  margin: 15px 0;
}
aside .ui-slider .ui-slider-range {
  background: #818181;
  border-radius: 0;
  box-shadow: none !important;
  font-size: 0px;
  padding: 0 !important;
  height: 4px;
}
aside .ui-slider .ui-slider-handle {
  border: 0;
  background: #818181;
  margin-left: 0;
  width: 6px;
  height: 16px;
  top: -6px;
  border-radius: 6px;
}
aside .ui-accordion-content[aria-labelledby=ui-accordion-accordion-header-0] label,
aside .ui-accordion-content[aria-labelledby=ui-accordion-accordion-header-1] label {
  margin-bottom: 15px;
  display: block;
  font-weight: normal;
}

.main {
  float: right;
  width: 75%;
  padding-left: 7px;
  margin-bottom: 24px;
}
.main #btnContinueCache, .main #btnContinue, .main #btn-to-return-flight {
  padding: 0;
  height: 44px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-size: 18px;
  margin-top: 0;
  background: var(--primary-color);
}
.main #btnContinueCache span, .main #btnContinue span, .main #btn-to-return-flight span {
  height: 44px;
  line-height: 44px;
  padding: 0 50px 0 20px;
  background: url(../images/ic/icon-send-mail.svg) no-repeat right 20px center;
}
.main #btnContinueCache:hover, .main #btnContinue:hover, .main #btn-to-return-flight:hover {
  background: var(--highlight-color);
  text-decoration: none;
}
.main #btn-to-return-flight span {
  background: none;
  padding-right: 20px;
}

.box-control-page {
  display: flex;
  align-items: center;
}
.box-control-page .btn-back-page {
  height: 44px;
  line-height: 44px;
  padding-left: 45px;
  position: relative;
  background: #fff;
  padding-right: 18px;
  border-radius: 8px;
  color: var(--primary-color);
  font-size: 18px;
  font-weight: bold;
  border: 1px solid var(--primary-color);
  margin-right: auto;
}
.box-control-page .btn-back-page:before {
  width: 20px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -9px;
  content: "";
  transform: rotate(180deg);
  background: url(../images/ic/icon-send-mail-color.svg) no-repeat left center;
}
.box-control-page .btn-back-page:hover {
  background: var(--primary-color);
  text-decoration: none;
  color: white;
}
.box-control-page .btn-back-page:hover:before {
  background: url(../images/ic/icon-send-mail.svg) no-repeat left center;
}

#search-waiting {
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px;
  text-align: center;
}
#search-waiting > br:nth-of-type(1) {
  display: none;
}
#search-waiting img {
  max-width: 80%;
}

#billInfo {
  border: 1px solid #ddd;
  border-top: 0;
  padding: 15px;
  background: #fafafa;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  margin-bottom: 20px;
}
#billInfo br,
#billInfo > #booking-agreement {
  display: none;
}
#billInfo fieldset {
  border: 0;
  padding: 0;
  margin: 15px 0 0;
}
#billInfo fieldset legend {
  display: block;
  width: 100%;
  color: var(--primary-color);
  font-size: 16px;
  margin: 10px 0;
  font-weight: bold;
}
#billInfo .bill-info .col {
  width: 50%;
  float: left;
  padding-right: 15px;
}
#billInfo .bill-info .col-right {
  padding-right: 0;
  padding-left: 15px;
}
#billInfo .bill-info input, #billInfo .bill-info select {
  display: block;
  margin-top: 3px;
  border: 1px solid #ddd;
  padding: 0px 10px;
  height: 36px;
  line-height: 36px;
  box-shadow: none;
  border-radius: 3px;
  width: 100% !important;
  font-weight: normal;
  text-indent: 0;
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: bold;
}
#billInfo .bill-info strong, #billInfo .bill-info b {
  font-weight: normal;
}
#billInfo .lbl-checkbox {
  font-size: 16px;
}

.session-timeout {
  margin-bottom: 30px;
}
.session-timeout .title-timeout {
  background: #f2f2f2;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 30px 0;
  margin-bottom: 30px;
}
.session-timeout .title-timeout h1 {
  color: var(--primary-color);
  margin: 0;
}
.session-timeout h2 {
  margin: 30px 0 15px;
}
.session-timeout .search-again-history {
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #f2f2f2;
  padding: 20px 0;
  margin-bottom: 20px;
  font-size: 15px;
}
.session-timeout .search-again-history h4 {
  text-transform: uppercase;
  color: #666;
  margin: 0 0 10px;
  font-weight: normal;
}
.session-timeout .search-again-history .col-float-left {
  float: left;
  padding-right: 30px;
  min-width: 30%;
}
.session-timeout .search-again-history .col-float-left span {
  margin-right: 5px;
}
.session-timeout .search-again-history .col-float-left strong {
  margin-right: 5px;
}
.session-timeout .search-again-history .col-float-left .location {
  margin-bottom: 5px;
}
.session-timeout .search-again-history .col-float-left .date {
  padding-left: 26px;
  background: url(../images/ic/ic-calendar.png) no-repeat left center;
}
.session-timeout button {
  border: 0;
  padding: 15px 30px;
  border-radius: 3px;
  font-size: 18px;
  font-weight: bold;
}
.session-timeout button.float-left {
  padding-left: 60px;
  background: #ddd url(../images/ic/ic-back-home.png) no-repeat left 30px center;
}
.session-timeout button.float-right {
  background: var(--primary-color);
  color: #fff;
}

/**/
.dc_widget_modal .modal-header {
  background: var(--primary-color);
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
.dc_widget_modal .modal-body {
  padding: 0;
}

#wizard-process {
  display: none;
}