@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: local("Oswald Regular"), local("Oswald-Regular"), url(Oswald-Regular.woff) format("woff"); }
html,
body {
  height: 100%; }

th, td {
  padding: 5px; }

img {
  max-width: 100%; }

.space-above {
  margin-top: 30px; }

.small-space-below {
  margin-bottom: 20px; }

.light-padding {
  padding: 10px; }

.fullwidth-center {
  width: 100%;
  text-align: center; }

select.form-control {
  max-width: 50%; }

select.form-control.full-width {
  max-width: 100%; }

.btn-primary {
  background-color: #4C96D7; }

header #top-area #logo {
  background: url("../images/logo.png") center left no-repeat;
  height: 140px; }
header #top-area .freecall-button {
  width: 230px;
  height: 40px;
  margin: 30px 0 10px;
  background: url("../images/freecall_btn_empty.png") center no-repeat;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding-right: 20px;
  padding-top: 2px;
  color: white;
  text-decoration: none;
  font-size: 1.6rem;
  text-shadow: 1px 1px 1px black; }
header #top-area .facebook-button {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-top: 74px;
  background: url("../images/facebook.png");
  background-size: cover; }
header #top-area .office-hours {
  padding: 3px; }
  header #top-area .office-hours .office-hours-label {
    color: #f38b41;
    font-size: 100%;
    font-weight: 900; }

.navbar {
  margin-bottom: 0;
  background-color: #4C96D7;
  border-radius: 0;
  font-family: Oswald, Helvetica, sans-serif; }
  .navbar a {
    color: white; }
  .navbar .navbar-collapse {
    padding: 0; }
  .navbar .navbar-toggle .icon-bar {
    background-color: white; }
  .navbar .nav > li > a:hover, .navbar .nav > li > a:focus {
    text-decoration: none;
    background-color: #E78200; }
  @media (min-width: 768px) {
    .navbar .dropdown:hover .dropdown-menu {
      display: block;
      margin-top: 0; }
    .navbar .dropdown-menu > li > a {
      color: #4C96D7; }
    .navbar .dropdown-menu > li > a:hover, .navbar .dropdown-menu > li > a:focus {
      background-color: #ffb658; } }

.footer {
  padding-top: 20px;
  border-top: 1px solid #ddd;
  background-color: #4C96D7;
  color: white;
  font-family: Oswald, Helvetica, sans-serif; }
  .footer h2 {
    font-size: 130%;
    margin-bottom: 6px; }
  .footer a {
    color: white; }
  .footer ul {
    padding: 0;
    list-style-position: inside;
    list-style-image: url("../images/footer_li_icon.png"); }
  .footer .lighter_text {
    color: #999; }

.carousel .carousel-control {
  top: 40%;
  font-size: 50px; }
.carousel .carousel-inner > .item > img {
  width: 100%; }
.carousel .carousel-caption {
  top: 20px;
  right: initial;
  left: initial;
  width: 100%;
  text-align: left; }
  .carousel .carousel-caption .caption-content {
    position: relative;
    background: rgba(192, 192, 192, 0.5);
    padding: 7px 25px;
    font-family: Oswald, Helvetica, sans-serif;
    font-size: 30px; }
.carousel .carousel-control.left, .carousel .carousel-control.right {
  background-image: none; }

.carousel-fade .carousel-inner .item {
  transition-property: opacity; }
.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  opacity: 0; }
.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1; }
.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  transform: translate3d(0, 0, 0); }
.carousel-fade .carousel-control {
  z-index: 2; }

.main-content {
  padding-bottom: 50px; }

.site-index .welcome_block {
  margin: 20px 0; }
@media (min-width: 768px) {
  .site-index .welcome_block {
    margin: 30px 0;
    padding-left: 200px;
    font-size: 120%; }
    .site-index .welcome_block h1 {
      font-size: 240%;
      font-style: italic; }
    .site-index .welcome_block p {
      margin-left: 40px; } }
.site-index .testimonial {
  display: flex;
  flex-direction: row; }
  .site-index .testimonial .testimonial-image-container {
    flex-basis: 200px;
    flex-grow: 0;
    flex-shrink: 0; }
  .site-index .testimonial .testimonial-text {
    margin-left: 10px; }

.tour-details {
  margin-top: 20px; }
  .tour-details .tour-contact-box .contact-us-box {
    width: 241px;
    margin-bottom: 4px;
    padding: 50px 5px 5px;
    background: #769cca url("../images/contact_us_box_header.png") no-repeat top center;
    color: white; }
  .tour-details .tour-contact-box .enquire-button {
    display: inline-block;
    width: 241px;
    height: 85px;
    background: url("../images/enquire_now_btn.png") no-repeat;
    background-size: cover; }
  .tour-details .tour-contact-box .book-now-button {
    display: inline-block;
    width: 241px;
    height: 85px;
    background: url("../images/book_now_btn.png") no-repeat;
    background-size: cover; }
  .tour-details .breadcrumb {
    margin: 15px 0 0;
    padding: 0;
    background-color: transparent;
    border-bottom: 1px solid lightgray; }
  .tour-details .tour-description {
    margin-bottom: 30px;
    text-align: justify; }
  .tour-details .nav-tabs > li > a {
    border: 1px solid #c9dff3;
    border-bottom-color: transparent; }
  .tour-details .tab-content {
    padding: 5px;
    border: 1px solid #ddd;
    border-top: none; }
  .tour-details .itinerary-image {
    margin: 0 auto 10px; }
  .tour-details .accordion-group {
    margin-bottom: 20px; }
  .tour-details #print-map {
    display: none; }
  .tour-details table.operator-room-details td {
    vertical-align: top; }
  .tour-details table.operator-room-details img {
    max-width: 350px; }
  .tour-details #tour-gallery {
    max-width: 640px; }
  .tour-details #slider-thumbs img {
    width: 110px;
    margin-bottom: 10px;
    cursor: pointer; }

table.tour-prices-dates {
  width: 100%;
  table-layout: fixed;
  border: 1px solid lightgray;
  border-collapse: separate;
  border-spacing: 5px; }
  table.tour-prices-dates table {
    width: 100%;
    border: 1px solid lightgray; }
  table.tour-prices-dates th, table.tour-prices-dates td {
    text-align: center; }
  table.tour-prices-dates th.first-column {
    width: 300px; }
  table.tour-prices-dates td.item-names {
    padding: 0 5px; }
  table.tour-prices-dates .sold-out {
    background-color: #F37B0A; }
  table.tour-prices-dates .sale-price {
    background-color: #9DC823; }
  table.tour-prices-dates .normal-price {
    background-color: #0086C2; }
  table.tour-prices-dates .tour-action {
    display: block;
    max-width: 120px;
    margin: 0 auto;
    padding: 3px;
    font-weight: 600;
    text-align: center;
    color: #4C96D7;
    border: 1px solid #4C96D7; }
  table.tour-prices-dates.legend {
    border-spacing: 5px; }
  table.tour-prices-dates .legend-cell {
    width: 100%; }

table.tour-prices-dates.legend {
  width: inherit; }

.compare-tours table {
  width: 100%;
  margin-bottom: 30px; }
  .compare-tours table .header-row {
    background-color: #4C96D7;
    color: white; }
    .compare-tours table .header-row a {
      color: white; }
    .compare-tours table .header-row a.glyphicon {
      color: #E78200; }
  .compare-tours table tr {
    background-color: #f7f7f7; }
    .compare-tours table tr.alternate-row {
      background-color: #EEE; }
  .compare-tours table td.tour-name {
    width: 300px; }
  .compare-tours table td.tour-dates {
    width: 200px;
    padding-right: 20px; }
.compare-tours .sold-out {
  text-decoration: line-through;
  color: red; }
.compare-tours .map_popup {
  display: none;
  width: 500px;
  height: 400px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin: -200px 0 0 -250px;
  background-color: white;
  border: 1px solid black; }
  .compare-tours .map_popup #header {
    display: inline-block;
    text-align: right;
    padding: 5px; }
  .compare-tours .map_popup #caption {
    display: inline-block;
    box-sizing: border-box;
    width: 400px;
    font-weight: bold;
    padding: 5px;
    padding-left: 200px; }
  .compare-tours .map_popup #map {
    height: 340px;
    overflow: hidden;
    text-align: center; }
  .compare-tours .map_popup #map img {
    max-height: 100%; }

.searchresult_container {
  margin-bottom: 15px;
  padding-top: 15px;
  border-top: 1px dashed #4C96D7; }
  .searchresult_container h3 {
    margin-top: 10px; }
  .searchresult_container .disclaimer {
    display: none; }
  .searchresult_container .price {
    display: inline-block;
    margin: 5px 0;
    color: #D96600;
    font-size: 130%;
    font-weight: 500; }
  @media (min-width: 768px) {
    .searchresult_container {
      display: flex;
      margin-bottom: 11px;
      flex-direction: row;
      align-items: flex-start;
      border: 1px solid #eee;
      padding: 12px;
      color: #333; }
      .searchresult_container h3 {
        margin-top: 0; }
      .searchresult_container .img_container {
        width: 200px;
        height: 135px;
        flex-shrink: 0;
        overflow: hidden;
        vertical-align: top; }
        .searchresult_container .img_container img {
          max-width: 300px; }
      .searchresult_container .tour_info {
        display: flex;
        align-content: stretch;
        flex-grow: 1;
        margin-left: 8px; }
        .searchresult_container .tour_info .basic_info {
          flex-grow: 1;
          margin-right: 13px;
          margin-left: 5px; }
          .searchresult_container .tour_info .basic_info h3 {
            padding: 0px; }
        .searchresult_container .tour_info .right_col {
          vertical-align: top;
          margin-left: 20px; }
          .searchresult_container .tour_info .right_col .price_info {
            vertical-align: top;
            border: 1px dashed #777;
            padding: 10px;
            margin-bottom: 10px;
            width: 180px; }
            .searchresult_container .tour_info .right_col .price_info .price {
              margin: 0;
              font-size: 100%; }
            .searchresult_container .tour_info .right_col .price_info .disclaimer {
              display: inline;
              font-size: 65%;
              font-weight: 700; } }

.review {
  margin-bottom: 40px;
  border: solid 1px #87CEEB;
  border-radius: 4px;
  padding: 10px;
  background-color: #fafafa; }
  .review .review-img_container {
    display: inline-block;
    max-width: 220px;
    min-height: 200px;
    max-height: 200px;
    margin-right: 20px;
    overflow: hidden; }
    .review .review-img_container img {
      min-width: 200%;
      position: relative;
      left: -25%; }
  .review .review-text {
    display: inline-block;
    vertical-align: top;
    max-width: 620px; }
