/* ------------------------------------------------------------ *\
	Variables
\* ------------------------------------------------------------ */
/* 1200px */
/* 1024px */
/* 768px */
/* 769px */
/* 425px  */
/* 320px  */
/* 640px */
/* ------------------------------------------------------------ *\
	Mixins
\* ------------------------------------------------------------ */
/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */
@font-face {
  font-family: 'Ubuntu';
  font-weight: 500;
  font-style: normal; }

/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */
body {
  font-size: 17px;
  line-height: 22px;
  color: #333;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 300;
  background-color: #00346D; }

h1 {
  font-size: 36px;
  font-family: 'Ubuntu', sans-serif;
  line-height: 44px;
  font-weight: 500;
  letter-spacing: 4px;
  color: #003A5D;
  text-align: center;
  margin-bottom: 30px; }

h2 {
  font-size: 25px;
  font-family: 'Ubuntu', sans-serif;
  font-weight: bold;
  letter-spacing: 2px;
  color: #003A5D;
  font-style: italic;
}

h3, .h3 {
  font-size: 22px;
  font-family: 'Ubuntu', sans-serif;
  line-height: 33px;
  font-weight: 500;
  letter-spacing: 2px;
  color: #003A5D;
}

h4, .h4 {
  font-size: 20px;
  font-family: 'Ubuntu', sans-serif;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 2px;
  color: #003A5D; }

h5 {
  font-size: 20px;
  font-family: 'Ubuntu', sans-serif;
  line-height: 24px;
  letter-spacing: 1px; }

h6 {
  font-size: 17px;
  font-family: 'Ubuntu', sans-serif;
  line-height: 22px;
  font-weight: 500; }

p {
  font-size: 17px;
  line-height: 22px;
  margin-bottom: 20px;
  font-weight: 300; }

a {
  color: #fff;
  text-decoration: none; }

a:hover {
  text-decoration: none;
  color: #fff; }

dl, ol, ul {
  padding: 0;
  list-style-position: inside;
  margin-bottom: 1rem; }

li {
  margin-bottom: 20px; }

.conciergeinformation ul {
  margin-bottom: 18px;
  margin-left: 30px;
}
.conciergeinformation li {
  list-style: disc;
  margin-bottom: 0px;
}

dl dt {
  font-weight: 500;
  margin-bottom: 0; }

label {
  font-weight: 300;
  color: #333;
  font-size: 17px; }

strong {
  font-weight: 500; }

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  border-color: #746661;
  font-family: 'Ubuntu', sans-serif;
  color: #fff;
  font-weight: 300; }

select {
  background: url(/css/images/selectbg.png) no-repeat right 0.5rem center; }

.button {
  background: #ad2933;
  color: #fff;
  font-size: 17px;
  padding: 11px 25px;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400; }
  .button-outline {
    background: transparent;
    border: 1px solid #fff;
    font-size: 18px;
    padding: 12px 18px;
    color: #fff; }
  .button-outline-white {
    background: transparent;
    border: 1px solid #fff;
    font-size: 18px;
    padding: 12px 18px;
    color: #fff; }
  .button.success {
    color: #1a4465; }

@media screen and (max-width: 63.99em) {
  h1 {
    font-size: 30px;
    line-height: 36px; }
  h2 {
    font-size: 26px; } }

.toupper {
  text-transform: uppercase; }

.row-fullwidth {
  max-width: 100%; }

.td-u {
  text-decoration: underline; }

.reg {
  font-weight: 400; }

/* ------------------------------------------------------------ *\
	Icons
\* ------------------------------------------------------------ */
.ico-phone-circle {
  background: url(./images/icon-phone-mobile.svg) no-repeat 0 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  font-size: 0;
  vertical-align: middle; }

.ico-profile {
  background: url(./images/icon-profile.svg) no-repeat 0 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  font-size: 0;
  vertical-align: middle; }

.ico-search-circle {
  background: url(./images/icon-search-mobile.svg) no-repeat 0 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: middle; }

.ico-cross {
  background: url(./images/icon-cross.svg) no-repeat 0 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: middle; }

.ico-passenger {
  background: url(./images/icon-passenger.svg) no-repeat 0 0;
  display: inline-block;
  width: 17px;
  height: 21px;
  font-size: 0;
  vertical-align: middle; }

.ico-pdf {
  background: url(./images/icon-pdf.svg) no-repeat 0 0;
  display: inline-block;
  width: 30px;
  height: 36px;
  font-size: 0;
  vertical-align: middle; }

.ico-minus {
  background: url(./images/icon-minus.svg) no-repeat 0 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: middle; }

.ico-plus {
  background: url(./images/icon-plus.svg) no-repeat 0 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 0;
  vertical-align: middle; }

.ico-email-red {
  background-image: url(./images/icon-email-red.svg);
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0; }

@media screen and (max-width: 991px) {
  .w-lg-d-50 {
    width: 50%; } }

.fs-18 {
  font-size: 18px; }

.pl-100 {
  padding-left: 100px; }

.pr-100 {
  padding-right: 100px; }

.field-mg-13 .custom-field-container {
  margin-top: 13px; }

.spaced-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }

input.placeholder-paleblue:-ms-input-placeholder {
  color: #4d6e89 !important; }

input.placeholder-paleblue::placeholder {
  color: #4d6e89 !important; }

/*, &:-ms-input-placeholder, &::-ms-input-placeholder*/
input.placeholder-rsblue:-ms-input-placeholder {
  color: #a19379 !important; }
input.placeholder-rsblue::placeholder {
  color: #a19379 !important; }

input.placeholder-rsblue::-ms-input-placeholder {
  color: #a19379 !important; }

body .custom-field-container input.placeholder-rsblue:-ms-input-placeholder {
  color: #a19379 !important; }

body .custom-field-container input.placeholder-rsblue::placeholder {
  color: #a19379 !important; }

body .custom-field-container input.placeholder-rsblue::-ms-input-placeholder {
  color: #a19379 !important; }

body .custom-field-container input.placeholder-paleblue:-ms-input-placeholder {
  color: #4d6e89 !important; }

body .custom-field-container input.placeholder-paleblue::placeholder {
  color: #4d6e89 !important; }

body .custom-field-container input.placeholder-paleblue::-ms-input-placeholder {
  color: #a19379 !important; }

@media screen and (max-width: 991px) {
  .d-none-lg-d {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .d-none-md-d {
    /* display: none !important; */ } }

@media screen and (max-width: 575px) {
  .d-none-sm-d {
    display: none !important; } }

/* ------------------------------------------------------------ *\
	accordion
\* ------------------------------------------------------------ */
.accordion-custom .pane-body {
  display: none;
  margin: 20px 0; }

.accordion-custom .pane-title {
  cursor: pointer;
  border-radius: 30px 0 0 30px;
  padding: 10px 20px 10px 55px;
  font-weight: 400;
  margin-left: -10px;
  position: relative;
  /* icon */ }
  .accordion-custom .pane-title:hover {
    background: #4d6e89; }
  .accordion-custom .pane-title:before {
    content: "";
    background: url(./images/icon-plus.svg) no-repeat 0 0;
    display: inline-block;
    width: 30px;
    height: 30px;
    font-size: 0;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translate(0, -50%); }

.accordion-custom .pane-active .pane-body {
  display: block; }

.accordion-custom .pane-active .pane-title {
  background: #4d6e89;
  /* icon */ }
  .accordion-custom .pane-active .pane-title:before {
    content: "";
    background: url(./images/icon-minus.svg) no-repeat 0 0;
    display: inline-block;
    width: 30px;
    height: 30px;
    font-size: 0;
    vertical-align: middle; }

@media screen and (min-width: 768px) {
  .accordion-custom .pane-body {
    display: none;
    margin: 20px 0 20px 45px; } }

/* ------------------------------------------------------------ *\
	btn
\* ------------------------------------------------------------ */
.btn {
  border-radius: 5px;
  background: #5454dc;
  border-color: #5454dc;
  font-weight: 400;
  font-size: 17px;
  /* there is a weird :after thing that causes a flicker on hover */ }
  .btn:after {
    display: none; }

.btn-red, .btn-red:hover {
  background: #5454dc;
  color: white; }

.btn-white {
  color: #ffffff;
  background: #5454DC; }

.btn-white:hover {
  color: #f5f5f5;
  background: #c10000; }

.btn-bluefade, .btn-bluefade:hover {
  background: #4d6e89;
  color: #a19379; }

/* ------------------------------------------------------------ *\
	expando list
\* ------------------------------------------------------------ */
.expando-list .expando-item {
  min-height: 45px;
  margin-top: 15px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  gap: 10px; }
  .expando-list .expando-item .item-content {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex: 1;
        flex: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 20px; }
    .expando-list .expando-item .item-content > * {
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex: 1;
          flex: 1; }
  .expando-list .expando-item a {
    width: 30px;
    text-align: right; }

.expando-item .item-content span {
  padding: 0 13px; }

.summary-detail {
  background: #eaeafc;
  color: #000054;
}

.summary-detail-lower {
  background: #000054;
  color: #ffffff;
}

/* ------------------------------------------------------------ *\
	footer
\* ------------------------------------------------------------ */
.footer {
  padding: 31px 0 31px;
  background: #5454dc;
  font-size: 17px;
  line-height: 21px;
  display: none;
  font-weight: 300; }
  .footer p {
    color: #fff;
    line-height: 21px; }
  .footer .footer-inner {
    border-top: 1px solid #fff;
    padding-top: 4px;
    /* align with logo */ }
  .footer .copyright {
    margin: 0;
    text-align: center;
    font-size: 11px;
    margin-top: 35px; }
  @media screen and (max-width: 48em) {
    .footer {
      padding: 31px 0 124px; } }

/* ------------------------------------------------------------ *\
	form elements
\* ------------------------------------------------------------ */
input.custom-element {
  padding: 0px;
  min-height: initial;
  border-radius: 0; }

.custom-field-container {
  position: relative;
  /* needed for date icon */ }
  .custom-field-container label {
    margin-bottom: 8px; }
  .custom-field-container input[type="text"] {
    background: #eaeafc;
    border-color: #333;
    border-radius: 0;
    color: #000054; }
    .custom-field-container input[type="text"]:-ms-input-placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #111111 !important;
      opacity: 1;
      /* Firefox */ }
    .custom-field-container input[type="text"]::placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #111111 !important;
      opacity: 1;
      /* Firefox */ }
    .custom-field-container input[type="text"]:-ms-input-placeholder {
      /* Internet Explorer 10-11 */
      color: #111111 !important; }
    .custom-field-container input[type="text"]::-ms-input-placeholder {
      /* Microsoft Edge */
      color: #111111 !important; }
    .custom-field-container input[type="text"]:focus {
      box-shadow: none; }
  .custom-field-container p {
    margin: 18px 0; }
  @media screen and (min-width: 768px) {
    .custom-field-container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .custom-field-container label {
        width: 175px;
        margin-bottom: 0; }
      .custom-field-container p {
        margin: 10px 0; }
      .custom-field-container label + * {
        width: 290px; }
      .custom-field-container.extend label + * {
        width: auto; } }
  .custom-field-container.textarea:after {
    content: "";
    background: url(./images/icon-textexpand.svg);
    position: absolute;
    bottom: 1px;
    right: 1px;
    height: 20px;
    width: 20px;
    pointer-events: none; }
  .custom-field-container textarea {
    width: 100%;
    font-size: 14px;
    padding: 5px 15px;
    background: #ececfc;
    border-color: #fff;
    color: #fff; }
    .custom-field-container textarea:-ms-input-placeholder {
      padding: 0;
      color: #fff; }
    .custom-field-container textarea::placeholder {
      padding: 0;
      color: #fff; }
    .custom-field-container textarea:-ms-input-placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #fff !important;
      opacity: 1;
      /* Firefox */
      padding: 0; }
    .custom-field-container textarea::placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: #fff !important;
      opacity: 1;
      /* Firefox */
      padding: 0; }
    .custom-field-container textarea:-ms-input-placeholder {
      /* Internet Explorer 10-11 */
      color: #fff !important;
      padding: 0; }
    .custom-field-container textarea::-ms-input-placeholder {
      /* Microsoft Edge */
      color: #fff !important;
      padding: 0; }

.custom-check {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  gap: 1em;
  -ms-flex-pack: start;
      justify-content: start;
  -ms-flex-align: center;
      align-items: center; }
  .custom-check input[type="checkbox"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    /* Not removed via appearance */
    margin: 0;
    font: inherit;
    width: 1.15em;
    height: 1.15em;
    display: -ms-grid;
    display: grid;
    place-content: center; }
    .custom-check input[type="checkbox"], .custom-check input[type="checkbox"]:focus {
      border: 1px solid #fff; }
  .custom-check input[type="checkbox"]::before {
    content: "";
    width: 1em;
    height: 1em;
    -webkit-clip-path: polygon(14% 58%, 30% 72%, 84% 21%, 86% 24%, 30% 79%, 12% 61%);
            clip-path: polygon(14% 58%, 30% 72%, 84% 21%, 86% 24%, 30% 79%, 12% 61%);
    transform: scale(0);
    transform-origin: bottom left;
    /* 
	  Windows High Contrast Mode 
	  background-color: CanvasText;
	  */
    background-color: white; }
  .custom-check input[type="checkbox"]:checked::before {
    transform: scale(1); }

body .ui-datepicker {
  z-index: 1051 !important; }

.hasDatepicker + img {
  display: inline-block;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 15px;
  bottom: 10px; }

.placeholder-rsblue .custom-field-container input:-ms-input-placeholder, .placeholder-rsblue .custom-field-container textarea:-ms-input-placeholder {
  color: #a19379 !important; }

.placeholder-rsblue .custom-field-container input::placeholder, .placeholder-rsblue .custom-field-container textarea::placeholder {
  color: #a19379 !important; }

.placeholder-rsblue .custom-field-container input::-ms-input-placeholder, .placeholder-rsblue .custom-field-container textarea::-ms-input-placeholder {
  color: #a19379 !important; }

/* ------------------------------------------------------------ *\
	header
\* ------------------------------------------------------------ */
.header {
  text-align: right;
  padding: 10px 0 0;
  z-index: 10;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  overflow: hidden;
  width: 100%;
  z-index: 400;
  background: white;
  overflow: visible;
  border-top: 6px solid white;
  border-bottom: 7px solid #000054;
}
  .header + * {
    margin-top: 0px; }
  .header .col-12 {
    position: static; }
  .header-inner {
    padding-bottom: 10px; }
  .header-links-mobile {
    display: none; }
  .header-links {
    padding: 0 0 5px; }
  .header-links ul {
    margin: 0; }
  .header-links li {
    display: inline-block;
    font-weight: 300;
    margin-left: 12px; }
  .header-links li .ico {
    margin: 1px 3px 0 0;
    vertical-align: top; }
  .header a {
    color: white; }
    .header a:hover {
      text-decoration: none;
      color: #ae065d; }
  .header.navbar-fixed .header-dropdown {
    margin-top: 0; }
  .header-v2 .submenu-subitems {
    padding-top: 0; }
  .header-v2 .submenu-items {
    padding-top: 0; }
  .header .show-on-scroll {
    display: none; }
  .header a:hover .ico-phone-circle {
    background: url(./images/icon-phone-mobile-red.svg); }
  .header a:hover .ico-profile {
    background: url(./images/icon-profile-red.svg); }
  .header .ss-wrap {
    vertical-align: top; }
  .header.navbar-fixed {
    padding-bottom: 10px; }
    .header.navbar-fixed .hide-on-scroll {
      display: none; }
    .header.navbar-fixed .show-on-scroll {
      display: inline-block; }
    .header.navbar-fixed .header-inner {
      padding: 0; }
      .header.navbar-fixed .header-inner .logo-container {
        margin-top: 0; display: none;}
    .header.navbar-fixed .col-12 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    .header.navbar-fixed .header-links-mobile {
      display: none;
      margin-top: 4px;
      /* bring approx inline with other items */ }
      .header.navbar-fixed .header-links-mobile > ul {
        margin-left: 0; }
      .header.navbar-fixed .header-links-mobile li {
        display: inline-block;
        padding-left: 10px; }
      .header.navbar-fixed .header-links-mobile > ul > li:first-child {
        padding-left: 0; }
      .header.navbar-fixed .header-links-mobile .ico {
        height: 30px;
        width: 30px; }
    .header.navbar-fixed .header-links {
      float: right;
      /*
			.ico {
				width: 30px;
				height: 30px;
			}
			*/ }
      .header.navbar-fixed .header-links li {
        margin-left: 5px; }
    .header.navbar-fixed .nav.nav-primary {
      float: left; }
      .header.navbar-fixed .nav.nav-primary > ul > li {
        padding-top: 8px;
        /* bring the nav inline with the logo */ }
    .header.navbar-fixed ul {
      margin-bottom: 0; }
  @media screen and (max-width: 1200px) {
    .header {
      text-align: left; }
      .header.navbar-fixed {
        padding-bottom: 7px;
        /* this is caused by the margin below the ul for mobile header links */ }
      .header-links-mobile .ico {
        height: 30px;
        width: 30px; }
      .header-inner {
        padding-bottom: 0; }
      .header-dropdown {
        display: none; }
      .header-links {
        display: none; }
      .header .nav-toggle.hide-for-large {
        display: block !important; }
      .header .header-links-mobile {
        display: inline-block;
        text-align: right;
        float: right; }
        .header .header-links-mobile > ul > li {
          display: inline-block;
          padding-left: 10px; }
          .header .header-links-mobile > ul > li:first-child {
            padding-left: 0; }
      .header .col-12, .header.navbar-fixed .col-12 {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr 1fr;
            grid-template-columns: 1fr 1fr 1fr;
        -ms-flex-align: center;
            align-items: center; } }
  @media screen and (max-width: 63.99em) {
    .header {
      padding: 13px 0; }
      .header-links {
        display: none; }
      .header-links-mobile {
        display: inline-block;
        text-align: right; }
      .header-links-mobile ul {
        list-style: none outside none;
        margin: 0; } }
  @media screen and (max-width: 768px) {
    .header .col-12, .header.navbar-fixed .col-12 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media screen and (max-width: 26.5625em) {
    .header .col-12, .header.navbar-fixed .col-12 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .header .header-links-mobile li {
      padding-left: 5px; } }

.header.header-simple .logo-container {
  margin-top: 0; }

.header.header-simple .header-links {
  padding: 0; }

@media screen and (min-width: 1200px) {
  .header.header-simple .header-links-mobile {
    display: none; }
  .header.header-simple .col-12 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: 15px 0; } }

.header.header-simple.navbar-fixed .header-links li {
  margin-left: 12px; }

/* ------------------------------------------------------------ *\
	logo
\* ------------------------------------------------------------ */
.logo-container {
  float: left;
  margin-top: 18px; }
  @media screen and (max-width: 75em) {
    .logo-container {
      margin-top: 0; } }
  @media screen and (max-width: 48em) {
    .logo-container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; } }

.logo a {
  display: block;
  height: 100%;
  width: 100%; }

@media screen and (max-width: 75em) {
  .logo {
    max-width: calc(100vw - 250px);
    /*height: 0;
		padding-top: 10%;*/
    width: 300px; } }

@media screen and (max-width: 26.5625em) {
  .logo {
    max-width: calc(100vw - 190px); } }

/* ------------------------------------------------------------ *\
	nav
\* ------------------------------------------------------------ */
nav {
  display: initial; }
  nav li {
    margin-bottom: 0; }

.nav {
  /* this brings the nav items inline with the logo - there's some random line height stuff on the li's / a */ }
  .nav-primary {
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .nav ul {
    list-style: none outside none;
    margin: 0;
    display: inline-block; }
  .nav li {
    display: inline-block;
    text-transform: uppercase;
    margin-left: 20px; }
  .nav-primary > ul > li:nth-child(1) {
    margin-left: 0; }
  .nav li a {
    font-weight: normal;
    color: #00346D; }
  .nav li a active {
    font-weight: normal;
    color: #00346D; }
  .nav li:first-child {
    color: #ae065d; }
  .nav .current a {
    color: #ad2933; }
  .nav-primary li {
    padding-top: 15px; }
  .nav-primary li .ico {
    vertical-align: top;
    margin-top: 5px; }
  .nav-primary ul ul {
    display: none; }
  .nav-primary li.active a {
    color: #ae065d; }
  .nav-secondary {
    font-size: 15px; }
  @media screen and (max-width: 1200px) {
    .nav li {
      margin-left: 10px;
      font-size: 16px; }
    .nav-secondary li {
      margin: 0 10px 0 0; }
    .nav-toggle {
      display: inline-block;
      width: 26px;
      height: 21px;
      position: relative;
      float: left;
      margin: 5px 0 0; }
    .nav-toggle span {
      position: absolute;
      left: 0;
      top: 0;
      background: #b4343b;
      height: 1px;
      transform-origin: 0 0;
      width: 26px;
      transition: width 0.2s, transform 0.2s; }
    .nav-toggle span:nth-child(2) {
      top: 10px; }
    .nav-toggle span:nth-child(3) {
      top: 20px; }
    .nav-primary {
      position: absolute;
      left: 0;
      top: 100%;
      border-top: 1px solid #746661;
      background: #fff;
      font-size: 20px;
      padding: 0;
      display: none; }
    .nav-primary ul {
      padding: 20px 45px 0 15px;
      background: #00476b;
      color: #fff; }
    .nav-primary li {
      display: block;
      margin-left: 0;
      margin-bottom: 24px;
      padding: 0 0 2px;
      position: relative;
      text-transform: initial; }
    .nav-primary a {
      font-size: 20px;
      display: block;
      color: #fff; }
    .nav-primary ul ul {
      display: table;
      background: #f1efef;
      width: 100%; }
    .nav-primary ul ul a {
      font-size: 18px; }
    .nav-primary ul ul ul {
      display: table;
      width: 100%; }
    .nav-primary ul ul ul a {
      padding-left: 60px; }
    .nav-primary ul ul li {
      width: 33%;
      float: left;
      padding-left: 1em;
      text-indent: -1em; }
    .nav-primary .has-children {
      width: 100%;
      float: none;
      padding-left: 0;
      text-indent: 0; }
    .nav-primary ul ul:before {
      position: absolute;
      top: 15px;
      left: 20px;
      width: 13px;
      height: 1px;
      background: #fff;
      content: ''; }
    .nav-primary ul ul:after {
      position: absolute;
      top: 9px;
      left: 26px;
      width: 1px;
      height: 13px;
      background: #fff;
      content: ''; }
    .nav-primary li li {
      display: none;
      text-transform: none;
      padding-bottom: 4px; }
    .nav-primary .expanded-mobile > ul > li {
      display: block; }
    .nav-primary .expanded-mobile > ul:after {
      display: none; }
    .nav-primary .expanded-mobile > ul {
      padding: 14px 0 10px; }
    .nav-mobile-visible {
      display: block;
      max-height: calc(100vh - 62px);
      overflow-x: scroll;
      background: transparent;
    }
    .nav-mobile-visible li a {
      color: #ffffff;
    }
    .nav-toggle.expanded span:nth-child(1) {
      transform: rotate(38deg);
      width: 32px; }
    .nav-toggle.expanded span:nth-child(3) {
      transform: rotate(-38deg);
      width: 32px; }
    .nav-toggle.expanded span:nth-child(2) {
      display: none; } }
  @media screen and (max-width: 768px) {
    .nav-primary ul ul li {
      width: 100%;
      float: none; } }

li.child-navigation ul {
  display: none;
  width: 100%;
  background: #a19379;
  z-index: 11; }

li.child-navigation {
  position: relative;
  min-width: 160px;
  text-align: center;
  padding: 5px 0;
  margin: 0 1px;
  border: 1px solid transparent; }

li.child-navigation:hover {
  border: 1px solid #a19379; }

li.child-navigation:hover ul {
  margin-left: 0;
  display: block;
  top: 37px;
  position: absolute;
  width: 100%;
  min-width: 160px;
  left: -1px;
  border-bottom: 1px solid #a19379;
  list-style: none; }

li.child-navigation li {
  width: 100%;
  text-align: left;
  padding: 10px 0 10px 10px;
  border-top: 1px #fff solid;
  margin-left: 0;
  border-left: 1px solid #a19379;
  border-right: 1px solid #a19379; }

li.child-navigation li:first-child {
  border-top: 0; }

li.child-navigation li a {
  color: #fff;
  display: inline-block;
  width: 100%; }

li.child-navigation li:hover {
  background-color: #fff; }

li.child-navigation li:hover a {
  color: #a19379; }

.navbar-fixed li.child-navigation {
  min-width: auto;
  border: 0; }
  .navbar-fixed li.child-navigation:hover {
    border: 0; }
  .navbar-fixed li.child-navigation li:first-child {
    border-top: 1px solid #a19379; }

.navbar-fixed li.child-navigation:hover ul {
  right: -60px;
  /* inline with the edge of screen */
  left: auto; }

@media screen and (max-width: 1200px) {
  li.child-navigation {
    min-width: auto;
    border: 0; }
    li.child-navigation:hover {
      border: 0; }
    li.child-navigation li:first-child {
      border-top: 1px solid #a19379; }
  li.child-navigation:hover ul {
    right: -60px;
    /* inline with the edge of screen */
    left: auto; } }

/* ------------------------------------------------------------ *\
	product-listing
\* ------------------------------------------------------------ */
.product-listing h2 {
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0; }

.product-listing img {
  border-radius: 7px; }

.product-listing .product-item {
  margin-top: 36px; }
  .product-listing .product-item.has-actions figcaption {
    border-radius: 0;
    padding-bottom:80px;
  }

.product-listing .package-img {
  background: #a19379;
  position: relative; }
  .product-listing .package-img .packages-btn {
    position: absolute;
    width: 100%;
    bottom: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    /* vertical centre */
    -ms-flex-pack: center;
        justify-content: center;
    /* horizontal centre */ }
    .product-listing .package-img .packages-btn span {
      background: rgba(0, 30, 57, 0.73);
      padding: 11px 14px;
      font-size: 20px; }

.product-listing figcaption {
  background: #6a654b;
  padding: 10px 5px;
  margin: 0 7px;
  border-radius: 0 0 7px 7px;
  text-align: center; }
  .product-listing figcaption p:last-child {
    margin-bottom: 10px; }

.product-listing .product_title {
  font-size: 22px;
  line-height: 29px; }

.product-listing .listing_info {
  margin: 36px 0;
  text-align: center; }

.product-listing .product_actions {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  background: #ae065d;
  border-radius: 7px; }
  .product-listing .product_actions p {
    margin-bottom: 0;
    line-height: 21px;
    margin: 8px 0 10px; }

.product-listing .action_title {
  font-weight: 400; }

.packages-btn {
  position: relative;
  top:  263px;
  left: 37%;
}

@media screen and (min-width: 768px) {
  .packages-btn {
    position: initial;
    top:  0px;
    left: 0px;
  }
  .product-listing .inner-listing + .inner-listing {
    margin-top: 60px; }
  .product-listing .product-item {
    position: relative; }
  .product-listing .packages-details p {
    display: -ms-flexbox;
    display: flex;
    margin-right: 130px; }
  .product-listing .package-img {
    float: left;
    width: 22%;
    position: initial; }
    .product-listing .package-img .packages-btn {
      position: initial; }
      .product-listing .package-img .packages-btn span {
        display: none; }
  .product-listing figure {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .product-listing figcaption {
    text-align: left;
    border-radius: 7px;
    margin-left: 20px;
    width: 100%;
    padding: 22px 0px 12px 0px !important
  }
  .product-listing .detail-title {
    display: inline-block;
    margin-left: 20px;
    min-width: 182px;
    font-weight: 400;
    font-size: 18px; }
  .product-listing .btn-top {
    position: absolute;
    right: 22px;
    min-width: 80px;
    top: 55px; }
  .product-listing .btn-bottom {
    position: absolute;
    bottom: 55px;
    min-width: 80px;
    right: 22px; }
  .product-listing .product_actions {
    background: transparent;
    position: absolute;
    right: 22px;
    bottom: 40px; }
    .product-listing .product_actions .action_title {
      margin-right: 33px; } }

@media screen and (min-width: 992px) {
  .product-listing .packages-details p {
    display: -ms-flexbox;
    display: flex;
    margin-right: 130px; }
  .product-listing figcaption {
    border-radius: 0px 7px 7px 0;
    margin: 0; } }

/* ------------------------------------------------------------ *\
	summary box
\* ------------------------------------------------------------ */
.summary-box a {
  font-size: 25px;
  width: 100%;
  padding: 20px 0; }

.summary-box .summary-detail {
  background: #eaeafc;
  color: #000054;
  border-radius: 7px 7px 0 0;
  padding: 17px 14px 2px; }
  .summary-box .summary-detail h1 {
    padding-bottom: 10px;
    margin: 0 10px 20px;
    border-bottom: 1px solid #fff; }
  .summary-box .summary-detail p {
    text-align: right; }
  .summary-box .summary-detail p.price:not(span) {
    font-size: 17px; }
  .summary-box .summary-detail span {
    float: left;
    font-weight: bold; }
  .summary-box .summary-detail hr {
    margin: 0 35%;
    margin-bottom: 20px;
    margin-top: 20px;}
  .summary-box .summary-detail small {
    display: block;
    text-align: center;
    margin: 0 0 57px; }
    .summary-box .summary-detail small a {
      font-size: 100%;
      font-weight: 300;
      text-decoration: underline; }

.summary-box .summary-detail-lower {
  background: #000054;
  color: #eaeafc;
  border-radius: 7px 7px 7px 7px;
  padding: 17px 14px 2px; }
.summary-box .summary-detail-lower h1 {
  padding-bottom: 10px;
  margin: 0 10px 20px;
  border-bottom: 1px solid #fff; }
.summary-box .summary-detail-lower p {
  text-align: right; }
.summary-box .summary-detail-lower p.price:not(span) {
  font-size: 17px; }
.summary-box .summary-detail-lower span {
  float: left;
  font-weight: bold; }
.summary-box .summary-detail-lower hr {
  margin: 0 35%;
  margin-bottom: 20px;
  margin-top: 20px;}
.summary-box .summary-detail-lower small {
  display: block;
  text-align: center;
  margin: 0 0 57px; }
.summary-box .summary-detail-lower small a {
  font-size: 100%;
  font-weight: 300;
  text-decoration: underline;
}

/* ------------------------------------------------------------ *\
	table
\* ------------------------------------------------------------ */
.table-custom {
  width: 100%;
  text-align: center;
  font-size: 17px; }
  .table-custom td {
    padding: 10px 5px; }
    .table-custom td.pl-20 {
      padding-left: 20px; }
  .table-custom thead td {
    font-size: 18px; }
  .table-custom td:first-child {
    text-align: left; }
  .table-custom tr.reg td {
    font-weight: 400;
    background: #000054;
  }

.table-blue tr {
  border-bottom: 1px solid #fff;
  background: #eaeafc;
}

.table-blue .row-light {
  background: #00476b;
  color: #ffffff;
}

/* ------------------------------------------------------------ *\
	nav tabs
\* ------------------------------------------------------------ */
.rs-nav-tabs {
  border: 0;
  display: -ms-flexbox;
  display: flex;
  gap: 1px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0px;
}
  .rs-nav-tabs .nav-item {
    -ms-flex-positive: 1;
        flex-grow: 1;
    padding: 0; }
    .rs-nav-tabs .nav-item a {
      background: #5454DC;
      border-radius: 7px 7px 0 0;
      color: #fff; }
      .rs-nav-tabs .nav-item a.active {
        background: #000054;
        border-width: 1px 1px 0 1px; }

/* ------------------------------------------------------------ *\
	view booking page styles
\* ------------------------------------------------------------ */
.bigsmall-timer {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  text-align: center; }
  .bigsmall-timer span {
    font-size: 38px;
    line-height: 40px;
    padding: 0 2px; }
  .bigsmall-timer small {
    font-size: 11px;
    font-weight: 300; }
  .bigsmall-timer div {
    display: -ms-grid;
    display: grid; }

.bookingdetailspage .bigsmall-timer {
  -ms-flex-line-pack: start;
      align-content: flex-start;
  /* stop the timer from keeping the height of the title */ }

.bookingdetailspage .summary-detail {
  border-radius: 7px; }

.bookingdetailspage .spaced-title {
  -ms-flex-flow: column;
      flex-flow: column; }

.bookingdetailspage h1 {
  margin-bottom: 10px; }

.bookingdetailspage .bigsmall-timer {
  margin-bottom: 20px; }

@media screen and (min-width: 768px) {
  .bookingdetailspage h1 {
    margin-bottom: 30px; }
  .bookingdetailspage .bigsmall-timer {
    margin-bottom: 0; }
  .bookingdetailspage .spaced-title {
    -ms-flex-flow: row;
        flex-flow: row; } }

.bookingdetailspage .depositdate-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.bookingdetailspage .col-12 .summary-box {
  margin-top: 30px;
  border-radius: 7px 7px 7px 7px;
}

@media screen and (min-width: 992px) {
  .bookingdetailspage .col-12 .summary-box {
    margin-top: 0; } }

@media screen and (max-width: 575px) {
  .bookingdetailspage .depositdate-row {
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 15px; } }

#fin table {
  word-break: break-word; }

#pax .passenger-contact .btn {
  margin: 0 auto;
  font-size: 20px; }

#travelapp ol {
  margin-left: 60px; }
  #travelapp ol li {
    margin-bottom: 6px; }

#docs .documentlist a {
  -ms-flex-positive: 1;
      flex-grow: 1; }

#docs .documentlist .doc-title {
  -ms-flex-positive: 1;
      flex-grow: 1;
  margin-left: 16px;
  text-decoration: underline; }

#villa .map-container {
  height: 334px; }

.documentlist {
  border-top: 1px solid #333; }

.document-item {
  border-bottom: 1px solid #fff;
  background: #eaeafc;
  margin-bottom: 0; }

.document-item a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 16px 10px; }

/* ------------------------------------------------------------ *\
	booking details
\* ------------------------------------------------------------ */
.bookingdetails #summary p {
  font-weight: 400; }

.bookingdetails .passenger-contact {
  margin-top: 50px; }
  .bookingdetails .passenger-contact .custom-field-container {
    margin-top: 13px; }

.bookingdetails #fin table thead td {
  font-size: 17px; }

.bookingdetails #fin table .pl {
  padding-left: 7px; }

@media screen and (min-width: 768px) {
  .bookingdetails #fin table td:last-child {
    padding-right: 62px; } }

.bookingdetails .spaced-title {
  -ms-flex-flow: column;
      flex-flow: column; }

@media screen and (min-width: 768px) {
  .bookingdetails .spaced-title {
    -ms-flex-flow: row;
        flex-flow: row; } }

.personal-details-table .custom-field-container {
  margin-top: 40px; }

.personal-details-table .btn {
  width: 100%; }

/* ------------------------------------------------------------ *\
	booking confirmation
\* ------------------------------------------------------------ */
.booking-confirmation .summary-detail {
  border-radius: 7px 7px 7px 7px;
  padding: 28px 14px 18px; }

.booking-confirmation .booking-confirmation-agreement span {
  font-weight: 400; }

.booking-confirmation .booking-confirmation-agreement a {
  text-decoration: underline; }

.progress-buttons .btn {
  width: 100%; }

.progress-steps {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .progress-steps .step {
    height: 3px;
    margin-left: 8px;
    position: relative;
    /* make the first circle larger since there's no underlying circle */
    /* first step is always in progress */ }
    .progress-steps .step:not(:last-child) {
      background: #fff;
      display: block; }
    .progress-steps .step:first-child:before {
      width: 10px;
      height: 10px;
      margin-top: -4px;
      left: -9px; }
    .progress-steps .step:before {
      content: " ";
      width: 10px;
      height: 10px;
      border-radius: 10px;
      background: #fff;
      display: block;
      margin-top: -4px;
      left: -9px;
      position: absolute;
      z-index: 3; }
    .progress-steps .step:first-child:before {
      border: 1px solid #ae065d; }
    .progress-steps .step.complete {
      /* make the left circle red */
      /* give the right step a red border */ }
      .progress-steps .step.complete:before {
        background: #ae065d; }
      .progress-steps .step.complete:not(:last-child) {
        /* make the bar red */
        background: #ae065d; }
      .progress-steps .step.complete + .step:before {
        border: 1px solid #ae065d; }

.progress-section .step-text {
  margin-top: 20px; }

.progress-steps.steps-4 .step:not(:last-child) {
  width: 33%; }

/* ------------------------------------------------------------ *\
	booking passengers
\* ------------------------------------------------------------ */
.booking-passenger-list .ico {
  margin: 0 20px 2px 20px; }

.booking-passenger-list tr {
  border-radius: 7px;
  border-bottom: 0; }

.booking-passenger-list td:not(.spacer) {
  background: #000054;
  color: #ffffff;
}

.booking-passenger-list .spacer {
  height: 20px; }

.booking-passenger-list td:first-child {
  border-radius: 7px 0 0 7px; }

.booking-passenger-list td:last-child {
  width: 90px;
  border-radius: 0 7px 7px 0; }

.booking-passenger-list tr a {
  padding: 7px 14px;
  font-size: 17px; }

@media screen and (max-width: 575px) {
  .booking-passenger-list td:nth-child(2) {
    display: none; } }

#passenger-details h4 {
  margin-bottom: 0; }

#passenger-details .modal-content {
  border: 4px solid #ffffff;
  redius: 5px;
  background: #f6f6f6;
  /* try to be the preferred size, but centre to the larger container and don't go larger than it */
  width: 670px;
  max-width: 100%;
  margin: 0 auto; }
  #passenger-details .modal-content .row > * {
    padding-right: 6px;
    padding-left: 6px; }

#passenger-details .custom-field-container {
  margin-top: 13px; }

@media screen and (min-width: 768px) {
  #passenger-details .modal-dialog {
    max-width: calc(90vw); } }

#passenger-details a {
  width: 100%; }

.passenger-contact {
  margin-top: 50px; }
  .passenger-contact .custom-field-container input:-ms-input-placeholder {
    color: #4d6e89 !important; }
  .passenger-contact .custom-field-container input::placeholder {
    color: #4d6e89 !important; }
  .passenger-contact .custom-field-container input::-ms-input-placeholder {
    color: #a19379 !important; }

/* ------------------------------------------------------------ *\
	general page styles
\* ------------------------------------------------------------ */
.row {
  margin-left: 0;
  margin-right: 0; }
  .row .row {
    margin-left: -15px;
    margin-right: -15px; }

@media screen and (min-width: 768px) {
  .row {
    margin-left: -15px;
    margin-right: -15px;
  }
}

@media print, screen and (min-width: 992px) {
  .hide-for-large {
    display: none !important; } }

/* ------------------------------------------------------------ *\
	booking confirmation
\* ------------------------------------------------------------ */
.modal button.close-modal {
  position: absolute;
  right: 12px;
  top: 12px;
  color: #fff;
  background: url(./images/icon-cross.svg) no-repeat 0 0;
  display: inline-block;
  width: 21px;
  height: 21px;
  font-size: 0;
  vertical-align: middle;
  padding: 0;
  z-index: 2; }

.location-modal h2 {
  font-size: 34px;
  margin-bottom: 0; }

.location-modal .modal-content {
  border: 4px solid #4d6e89;
  background: #ffffff;
  /* try to be the preferred size, but centre to the larger container and don't go larger than it */
  width: 1200px;
  max-width: 100%;
  margin: 0 auto; }
  .location-modal .modal-content .row > * {
    padding-right: 6px;
    padding-left: 6px; }

@media screen and (min-width: 768px) {
  .location-modal .modal-dialog {
    max-width: calc(90vw); } }

.modal .custom-field-container.textarea:after {
  background-color: #4d6e89; }

/* ------------------------------------------------------------ *\
	booking payment
\* ------------------------------------------------------------ */
.booking-payment h1 {
  text-align: left;
  font-size: 33px; }

.booking-payment .summary-detail {
  border-radius: 7px 7px 7px 7px;
  padding: 28px 14px 18px; }

.booking-payment .payment-footer {
  margin-top: 25px;
  margin-left: 5px; }

.payment-details-block {
  margin: 90px auto 0;
  background: #4d6e89;
  padding: 31px 33px;
  width: 666px;
  max-width: 100%;
  border: 3px solid #ae065d; }
  @media screen and (max-width: 767px) {
    .payment-details-block div {
      margin-top: 40px; } }

/* ------------------------------------------------------------ *\
	quote page
\* ------------------------------------------------------------ */
.tour-detail .summary-detail span {
  font-weight: bold; }

.tour-detail .accordion-custom .pane-title span:nth-child(n + 3) {
  font-weight: 300; }

.tour-detail .accordion-custom .pane-title span:nth-child(3) {
  display: none; }

@media screen and (min-width: 576px) {
  .tour-detail .accordion-custom .pane-title span:nth-child(1) {
    width: 100px;
    display: inline-block; }
  .tour-detail .accordion-custom .pane-title span:nth-child(2) {
    width: 200px;
    display: inline-block; } }

@media screen and (min-width: 768px) {
  .tour-detail .accordion-custom .pane-title span:nth-child(3) {
    display: inline-block; } }

.tour-detail .overnight {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .tour-detail .overnight p {
    font-weight: 400; }
  .tour-detail .overnight ul {
    margin-left: 20px; }
  .tour-detail .overnight a {
    text-decoration: underline; }

.tour-detail .timeline {
  margin-top: 30px; }

.tour-detail .timeline-images {
  margin-top: 30px;
  margin-left: -15px;
  margin-right: -15px; }

.tour-detail .map-container {
  height: 435px; }

.tour-detail .tour-notes {
  margin-top: 40px; }
  .tour-detail .tour-notes .title {
    text-decoration: underline;
    font-size: 18px; }

.tour-detail .tour-costs td:nth-child(5), .tour-detail .tour-additions td:nth-child(5) {
  width: 81px; }

.tour-detail .tour-costs a.btn, .tour-detail .tour-additions a.btn {
  padding: 5px;
  font-size: 17px; }

.tour-detail .tour-costs h2, .tour-detail .tour-additions h2 {
  text-align: center; }

@media screen and (max-width: 991px) {
  .tour-detail .summary-box {
    margin-top: 30px; } }

@media screen and (max-width: 767px) {
  .tour-detail .col-lg-8 {
    padding-left: 0;
    padding-right: 0; }
  .tour-detail .tour-costs td, .tour-detail .tour-additions td {
    display: inline-block;
    width: auto; }
  .tour-detail .tour-costs td:nth-child(1), .tour-detail .tour-additions td:nth-child(1) {
    width: 100%;
    text-align: center; }
  .tour-detail .tour-costs td:nth-child(n + 2), .tour-detail .tour-additions td:nth-child(n + 2) {
    width: 50%; }
  .tour-detail .tour-costs tr:last-child td:nth-child(2), .tour-detail .tour-additions tr:last-child td:nth-child(2) {
    display: inline-block; }
  .tour-detail .tour-costs a.btn, .tour-detail .tour-additions a.btn {
    padding: 10px 15px; } }

@media screen and (min-width: 768px) {
  .tour-detail .map-container {
    height: 334px; }
  .tour-detail .timeline-images {
    margin-left: 0;
    margin-right: 0; } }

/* ------------------------------------------------------------ *\
	view personal details
\* ------------------------------------------------------------ */
.membership-list {
  margin-top: 110px; }
  @media screen and (max-width: 767px) {
    .membership-list .expando-item .item-content {
      -ms-flex-flow: column;
          flex-flow: column;
      gap: 10px; }
      .membership-list .expando-item .item-content .custom-field-container {
        width: 100%; }
    .membership-list .expando-item {
      -ms-flex-align: end;
          align-items: flex-end; }
      .membership-list .expando-item a {
        margin-bottom: 5px; }
    .membership-list .expando-existing span:nth-child(2) {
      font-style: italic; }
      .membership-list .expando-existing span:nth-child(2):before {
        content: "-";
        margin-right: 2px; } }

.rs-temp, .rs-temp .ion-page {
  overflow: auto; }
