*,
:after,
:before {
  margin:0;
  padding:0;
  -webkit-box-sizing:border-box!important;
  -moz-box-sizing:border-box!important;
  -ms-box-sizing:border-box!important;
  box-sizing:border-box!important;
  unicode-range:U+26;
  unicode-range:U+0-7F;
  unicode-range:U+0025-00FF;
  unicode-range:U+4??;
  unicode-range:U+0025-00FF,U+4??
}
.clearfix:after {
  clear:both;
  content:".";
  display:block;
  height:0;
  line-height:0;
  visibility:hidden
}
:not(.material-symbols-outlined) {
  font-family:"Roboto",sans-serif;
}
a {
  text-decoration:none!important
}
li,
ul {
  list-style-type:none!important
}
body {
  position:relative;
  overflow-x:hidden;
  background-size:10em;
}
body {
  font-size:16px
}
@media(max-width:1060px) {
  body {
    font-size:14px
  }
}
@media(max-width:318px) {
  body {
    min-width:320px;
    overflow-x:scroll
  }
}
main {
  width:100%;
  position:relative;
  padding:0;
  margin:0;
  margin:0 auto;
  background-size:8em;
  text-align:left;
  background:var(--light-yellow);
  max-width:125em;
}
@media(max-width:750px) {
  main {
    width:100%
  }
}
section.center-content {
  text-align:center;
  width:100%;
  display:block;
  margin:0 auto;
  position:relative;
}
.center-content.with-graphic {
  padding:8em 2em;
  background-image:url("../images/lei-flowers.jpg");
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
@media(max-width:750px) {
  section.center-content {
    padding:0
  }
  .center-content.with-graphic {
    background-attachment:local
  }
}
.big-blue-button {
  display:inline-block;
  width:10em;
  padding:1.15em;
  position:relative;
  background-color:gold;
  transition:.3s;
  cursor:pointer;
  border-radius:.5em;
  overflow:hidden!important;
  border:0;
  font-size:1.25em;
  margin:0 auto;
}
.big-blue-button span,
.big-blue-button p {
  color:#333;
  transition:.3s;
  position:absolute;
  z-index:3;
  left:0;
  transform:translateY(-50%);
  width:100%;
  text-align:center;
  top:50%;
  text-transform:capitalize;
  font-weight:bold;
  font-size:1em;
}
.big-blue-button span.material-symbols-outlined {
  position:relative;
  display:inline-block;
  width:1em;
  font-size:1.25em;
  line-height:.15em;
  vertical-align:middle;
  font-weight:bold;
}
.big-blue-button:after {
  content:"";
  z-index:1;
  position:absolute;
  left:50%;
  top:0;
  display:block;
  transform:translateX(-50%);
  width:100%;
  height:100%;
  background-color:#FFA630;
  transition:.3s;
}
.big-blue-button:hover span,
.big-blue-button:hover p {
  color:#004E89;
}
.big-blue-button:hover:after {
  top:-100%
}
.phone-btn {
  transition:.3s;
  cursor:pointer;
  border:0;
  background:0 0;
  text-transform:capitalize;
  text-align:center;
  font-size:1.2em;
  line-height:.75em;
  color:#fff;
  display:inline-block;
  vertical-align:middle;
  position:relative;
  font-weight:bold;
}
@media(max-width:750px) {
  .big-blue-button {
    font-size:1.5em
  }
}
.phone-btn:before {
  content:" ";
  position:absolute;
  right:-1em;
  top:-.85em;
  width:.1em;
  height:3em
}
.phone-btn:hover {
  color:var(--pacific-cyan);
}
#phone-btn span.material-symbols-outlined {
  font-weight:700;
  display:inline-block;
  color:#333
}
.phone-btn.active {
  position:fixed;
  color:#fff;
  z-index:999;
  top:1em;
  right:1em
}
#phone-btn.phone-btn.active span.material-symbols-outlined {
  color:#fff
}
#phone-btn span.material-symbols-outlined {
  font-weight:700;
  font-size:1.5em;
  display:inline-block;
  color:#fff;
}
#phone-btn span.material-symbols-outlined.close {
  display:none
}
#phone-btn span.material-symbols-outlined {
  display:inline-block;
  vertical-align:middle
}
.phone-btn:after {
  content:"Call Now!";
  display:inline-block;
  text-align:center;
  margin:0 auto
}
.phone-btn.active:after {
  content:"close"
}
#phone-btn.active span.material-symbols-outlined.close {
  display:block
}
#phone-btn.active span.material-symbols-outlined {
  display:none
}
#phone-menu ul {
  padding:1em
}
#phone-menu ul li {
  list-style-type:none
}
#phone-menu ul li p {
  color:#fff;
  font-size:1.25em;
  text-transform:capitalize
}
a.phone {
  color:#fff;
  padding-top:.75em;
  display:inline-block;
  font-size:1.5em;
  font-weight:700
}
.menu-btn {
  position:absolute;
  right:0;
  top:-.25em;
  width:2.75em;
  height:2em;
  transition:.3s;
  cursor:pointer;
  z-index:997;
  background-color:transparent;
  border:0;
  font-size:1.2em;
  display:none
}
.menu-btn.active {
  position:fixed;
  top:1.5em;
  right:1.5em;
  z-index:999
}
.menu-btn hr {
  display:block;
  width:100%;
  height:0;
  transition:.3s;
  position:absolute;
  border:2px solid #fff;
}
.menu-btn.active hr {
  border:2px solid #fff;
  background-color:#fff
}
.menu-btn-hr-1 {
  top:0;
  left:50%;
  transform:translateX(-50%) rotate(0)
}
.menu-btn-hr-2 {
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)
}
.menu-btn-hr-3 {
  bottom:0;
  left:50%;
  transform:translateX(-50%) rotate(0)
}
.menu-btn.active .menu-btn-hr-1 {
  top:50%;
  transform:translate(-50%,-50%) rotate(-45deg)
}
.menu-btn.active .menu-btn-hr-2 {
  opacity:0
}
.menu-btn.active .menu-btn-hr-3 {
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg)
}
header#header {
  width:100%;
  margin:0 auto;
  background:url(../images/border.png), var(--pacific-cyan);
  padding:1em;
  min-height:8em;
  background-size:40em;
  background-position:center;
}
header#header #header-content {
  position:relative;
  vertical-align:middle;
  width:100%;
  text-align:right;
  margin:0 auto
}
menu#phone-menu {
  width:100%;
  position:fixed;
  left:0;
  top:0;
  height:20em;
  background-color:#333;
  overflow:hidden;
  text-align:center;
  z-index:998;
  transform:translateX(-100%);
  padding:4em;
  max-height:15em;
  transition:.3s
}
menu#phone-menu.active {
  transform:translateX(0)
}
#header-center img {
  height:5em
}
#logo {
  position:absolute;
  top:-1em;
  z-index:997;
  left:.5em;
}
#logo img {
  height:10em;
}
menu#main-nav {
  text-align:left;
  display:inline-block;
  vertical-align:middle;
  margin-left:2em
}
menu#main-nav ul#parent-list {
  width:100%;
  display:table
}
menu#main-nav li.parent-list-item {
  display:table-cell;
  padding:2.5em 1em
}
menu#main-nav a {
color:var(--emerald);
  text-transform:capitalize;
  font-size:1.12em;
  font-weight:bold;
  color: #fff;
}
menu#main-nav a:hover {
  color:gold
}
ul.child-list {
  position:absolute;
  display:none;
  width:100%;
  background:#333;
  right:0;
  max-width:50em;
  text-align:justify;
  top:6.24em;
  padding:1em;
  cursor:pointer
}
li.child-list-item {
  display:inline-block;
  margin:1em 1.5em
}
li.parent-list-item:hover>ul.child-list {
  display:block
}
@media(max-width:900px) {
  #logo {
    left:.5em
  }
  #logo img {
  }
}
#dd-list {
  display:none
}
#dd-list span.material-symbols-outlined.arrow-down {
  display:block;
  font-size:2.25em
}
#dd-list span.material-symbols-outlined.arrow-up {
  display:none;
  font-size:2.25em
}
#dd-list.active span.material-symbols-outlined.arrow-down {
  display:none
}
#dd-list.active span.material-symbols-outlined.arrow-up {
  display:block
}
ul#activity-list {
  display:none
}
ul#activity-list.active {
  display:block
}
@media(max-width:850px) {
  #dd-list {
    display:inline-block;
    vertical-align:middle;
    background:#fff;
    border:0;
    border-radius:50%;
    cursor:pointer;
    margin-left:1em
  }
  header#header {
    padding:2em 2em 4em 2em
  }
  .menu-btn {
    display:block;
    top:.75em
  }
  .phone-btn {
    right:3em;
    position:absolute;
    top:0;
    font-size:1.5em;
    padding:.5em;
    border-radius:2em
  }
  menu#main-nav {
    width:100%;
    position:fixed;
    right:0;
    top:0;
    height:100%;
    text-align:center;
    z-index:998;
    transform:translateX(100%);
    transition:.3s;
    transform-origin:right;
    padding:0;
    overflow-y:scroll;
    overflow-x:hidden
  }
  menu#main-nav.active {
    transform:translateX(0);
    padding:0;
    border-left:0;
    height:100vh;
    background:var(--pacific-cyan)
  }
  menu#main-nav ul#parent-list {
    padding:1em;
    display:block!important;
    padding:0
  }
  menu#main-nav li.parent-list-item {
    padding:1em;
    list-style-type:none;
    display:block;
    padding:1.5em 0
  }
  #main-nav ul li a {
    color:#fff;
    font-size:1.5em;
    text-transform:capitalize;
    line-height:2em;
    display:inline-block;
    vertical-align:middle
  }
  ul.child-list {
    display:block;
    position:relative;
    right:auto;
    top:auto;
    max-width:100%;
    width:100%;
    margin-top:1em;
    padding:1em 0
  }
  li.child-list-item {
    display:block;
    width:100%;
    text-align:center;
    margin:0 0;
    padding:1em 0
  }
}
@media(max-width:650px) {
  #logo {
    left:-1em;
    top:-.5em
  }
  #logo img {
    height:8em
  }
  menu#main-nav,
  menu#phone-menu {
    text-align:center
  }
}
@media(max-width:500px) {
  header#header {
    font-size:.9em
  }
}
@media(max-width:450px) {
  #header-center img {
    margin-top:.75em
  }
  header#header {
    font-size:.8em
  }
}
aside#aside-contact {
  padding:4em 1em;
  background-size:contain
}
aside#aside-contact p {
  max-width:25em;
  margin:0 auto;
  font-size:1.5em;
  line-height:1.5em;
  color:#fff
}
aside#aside-contact a {
  color:#fff;
}
aside#aside-contact h2 {
  font-size:2em;
  margin-bottom:.5em;
  color:#fff;
  text-align:center;
}
#why-book-with {
  width:100%;
  margin:0 auto;
  display:block;
  position:relative;
  padding-bottom:3em;
  background-size:100%;
  padding-bottom:2em;
  background-image:url("../images/tapasTransparent.png");
  background-color:var(--dark-purple);
  background-size:10em;
}
#why-book-with h2 {
  color:#fff;
  width:100%;
  text-align:center;
  padding:4em 0 2em 0;
  text-transform:capitalize;
  background-attachment:fixed;
  background-position:center;
  background-size:cover;
  text-shadow:0 0 1em #000;
  font-size:3.5em;
  background-color:var(--dark-purple);
  background-image:url("../images/hawaii-luaus-paina.jpg");
  border-bottom:.15em solid var(--light-yellow);
}
@media (max-width:750px) {
  #why-book-with {
    width:100%
  }
  #why-book-with h2 {
    font-size:2.5em;
    background-attachment:local
  }
}
#why-book-with h3 {
  text-transform:capitalize;
  font-size:2em;
  margin-bottom:2em;
  width:100%;
  text-align:center;
  color:#fff;
}
#why-book-with h3 br {
  display:none
}
#why-book-with ul {
  display:table;
  width:100%;
  margin:0 auto;
  max-width:60em;
}
#why-book-with ul li {
  display:table-cell;
  width:33.3%;
  text-align:center;
  vertical-align:middle;
  padding:1em
}
.booking-details {
  width:100%;
  border-radius:2em;
  position:relative;
  text-align:center;
  padding:2em 1em 1em 1em;
  background-size:55em;
  background-position:center;
  background-color:var(--light-yellow);
  box-shadow:0 .5em 1em rgba(0,0,0,.33);
}
.booking-details img {
  position:absolute;
  height:100%;
}
.booking-details p {
  color:#333;
  line-height:1.5em;
  font-size:1.25em
}
.booking-img-container {
  height:6em;
  width:6em;
  position:absolute;
  overflow:hidden;
  border-radius:50%;
  left:50%;
  transform:translateX(-50%);
  top:-4em;
  background:var(--pacific-cyan);
  border:.25em solid var(--light-yellow);
  box-shadow:0 .5em 1em rgba(0,0,0,.33);
}
.booking-img-container:after {
  content:"";
  position:relative
}
.booking-details h4 {
  text-align:center;
  font-size:1.33em;
  text-transform:capitalize;
  margin-bottom:1em;
  line-height:1em;
  margin-top:1em;
  font-weight:700;
  color:#333;
}
#book-with-cta {
  width:92%;
  display:block;
  max-width:11.35em;
  margin:0 auto;
  margin-top:0;
  padding:.5em;
  font-size:1.5em;
  border-radius:1em;
  margin-top:1em;
  text-transform:capitalize
}
@media(max-width:900px) {
  #why-book-with ul {
    display:block
  }
  #why-book-with ul li {
    display:block;
    width:100%;
    margin-top:2em
  }
  .booking-details {
    max-width:20em;
    margin:2em auto
  }
}
.footer {
  width:100%;
  padding:4em 0 2em 0;
  font-size:1em;
  text-align:center;
  background:var(--bubblegum-pink);
  background-size:10em;
  background-position:top;
}
#logo-footer img {
  width:18em;
}
#logo-footer b {
  font-size:2.25em;
  font-weight:lighter;
  line-height:1em;
  text-transform:capitalize
}
.social {
  width:100%;
  text-align:center;
  margin-bottom:3em;
  margin-top:2em
}
.social p {
  display:block;
  width:100%;
  text-align:center;
  font-size:2em;
  text-transform:capitalize;
  color:#fff;
  padding:.5em
}
.social ul {
  display:table;
  width:8em;
  margin:0 auto
}
.social ul li {
  display:table-cell;
  width:25%;
  padding:.25em
}
.social ul li a {
  width:100%;
  display:block;
  background-color:#fff;
  border-radius:2em;
  padding:.25em
}
.social ul li img {
  width:100%;
  display:block;
  opacity:.8
}
.footer-section {
  width:100%;
  padding:1em
}
.footer section ul {
  display:inline-block;
  vertical-align:top;
  width:50%;
  margin-left:-5px;
  text-align:center;
  padding:2em;
}
.footer section ul li {
  width:100%;
  list-style-type:none;
  line-height:2em
}
.footer section ul li b {
  font-size:1.3em;
  color:#fff;
  text-transform:capitalize
}
.footer section ul li a {
  display:inline-block;
  color:#fff!important;
  padding:.25em;
  text-transform:capitalize
}
@media(max-width:700px) {
  .footer section ul {
    padding:2em
  }
  .footer section ul li a {
    font-size:1.2em
  }
}
.product-full {
  width:95%;
  height:32em;
  overflow:hidden;
  position:relative;
  max-width:60em;
  margin:2em auto;
  border:.5em solid beige;
  box-shadow:0 .5em 1em #00000073
}
.product-full .img-container {
  width:100%;
  height:100%;
  position:relative!important;
  background:#000
}
.product-full .img-container img {
  position:absolute;
  right:0;
  top:50%;
  width:100%;
  transform:translateY(-50%);
  z-index:1
}
.product-full article {
  z-index:2;
  position:absolute;
  left:1em;
  top:50%;
  width:50%;
  transform:translateY(-50%);
  padding:2em;
  text-align:left;
  background:#000000a8
}
.product-full h2 {
  font-weight:700;
  font-size:2em;
  color:#fff
}
.product-full h3 {
  padding:0;
  color:#fff
}
.product-full p {
  font-weight:400;
  color:#fff;
  line-height:1.75em;
  margin:1em 0;
  text-shadow:0 0 1em #000;
  font-size:1.15em
}
.product-full ul {
  width:100%;
  display:table;
  text-align:right
}
.product-full ul li {
  width:100%;
  display:block
}
.product-full .after-price,
.product-full .before-price {
  color:#fff;
  display:block;
  line-height:1.25em
}
.product-full .before-price {
  font-size:1.5em;
  opacity:.75;
  text-decoration:line-through;
  opacity:.5
}
.product-full .after-price {
  font-size:1.5em;
  display:inline-block;
  vertical-align:bottom;
  font-weight:700;
  text-shadow:0 0 1em #000
}
.product-full .after-price::before {
  content:"from ";
  font-size:.6em;
  display:inline-block;
  vertical-align:baseline;
  text-transform:capitalize;
  margin-right:.5em
}
.learn-more {
  display:inline-block;
  background-color:skyblue;
  padding:.25em .5em;
  text-align:right;
  margin-top:.25em;
  border:none;
  font-size:1em;
  color:#000;
}
.learn-more span.material-symbols-outlined {
  font-size:2em;
  display:inline-block;
  vertical-align:middle;
  font-weight:700
}
@media(max-width:800px) {
  .product-full {
    height:auto;
    overflow:visible;
    max-width:35em
  }
  .product-full .img-container {
    height:20em;
    width:100%;
    display:block;
    overflow:hidden;
    position:relative
  }
  .product-full .img-container img {
    opacity:1
  }
  .product-full article {
    position:relative;
    height:auto;
    display:block;
    width:100%;
    transform:none;
    background-size:8em;
    background:#333;
    left:auto;
    top:auto;
    font-size:1.15em
  }
}
@media(max-width:750px) {
  .product-full p {
    text-shadow:none;
    font-size:1.15em
  }
  .product-full .after-price {
    text-shadow:none
  }
}
#product-entry {
  width:100%;
  margin:0 auto;
  background-size:10em
}
#activity-header {
  height: 18em;
  overflow: hidden;
  width: 100%;
  position: relative;
}
@media(max-width:700px) {
  #activity-header {
    height:15em
  }
}
@media(max-width:500px) {
  #activity-header {
    height:10em
  }
}
#book-now-alt {
  display:none;
}
#activity-header img {
  position:absolute;
  width:100%;
  left:50%;
  top:0;
  transform:translateX(-50%)
}

#product-content {
  text-align:center;
  width:100%
}
#player-wrapper {
  width:49%;
  text-align:center;
  padding:1em;
  display:inline-block;
  vertical-align:middle
}
#product-main {
  vertical-align:top;
  width:50%;
  padding-top:1em;
  text-align:center;
  display:inline-block;
  vertical-align:middle;
}
#player-wrapper iframe {
  width:95%;
  height:20em;
  max-width:30em
}
#product-heading {
  padding:1em;
  text-align:center;
  font-size:2em;
}
#product-header {
  text-transform:capitalize;
  margin-top:1em;
  color:#333;
  font-family:var(--cursive);
  font-weight:bold;
  font-size:1.25em;
}
#product-heading span {
  text-transform:capitalize;
  color:#333;
  font-size:.7em;
  margin-bottom:.75em;
  margin-top:.5em;
  margin-bottom:1em
}
img#img-alt {
  max-width:30em;
  width:100%
}
#product-features {
  display:none
}
div#ai-summary {
  width:49%;
  display:inline-block;
  max-width:35em;
  padding:2em;
  vertical-align:middle;
  position:relative
}
div#product-summary {
  display:inline-block;
  max-width:40em;
  width:50%;
  padding:2em 0;
  border-left:.15em solid #333;
  vertical-align:middle;
}
div#ai-summary-content {
  background:var(--light-yellow);
  padding:2em 2em;
  border-radius:1em;
  box-shadow:0 .5em 1em rgba(0,0,0,.3);
  line-height:1.5em;
  color:#333;
  border:#333;
  font-size:1.15em;
  min-height:10em;
}
#ai-summary img {
  position:absolute;
  right:.5em;
  top:.5em;
  width:5em
}
.product-duration {
  color:#333;
  margin:1em auto
}
p#price-attributes {
  max-width:25em;
  margin:0 auto
}
.product-duration span {
  display:inline-block;
  vertical-align:middle
}
#product-prices {
  display:inline-table;
  width:50%;
  margin-top:1em;
  vertical-align:middle
}
#product-prices li {
  display:table-cell;
  text-align:left;
  padding-right:1em;
  width:50%
}
#before-price {
  font-size:1.25em;
  text-transform:capitalize;
  color:#33333333;
}
#before-price span {
  font-size:1.5em;
  text-decoration:line-through;
  font-weight:700;
  display:block
}
#after-price {
  font-size:1.25em;
  text-transform:capitalize;
  color:var(--pacific-cyan);
}
#after-price span {
  font-size:1.5em;
  font-weight:700;
  display:block;
}
#product-buttons {
  display:inline-block;
  vertical-align:middle;
  margin-top:1em
}
#product-button {
}
#product-button p {
}
#product-button .material-symbols-outlined {
}
#seating {
  display:block;
  border-radius:5em;
  font-size:1.1em;
  text-align:center;
  padding:.5em 0;
  max-width:10em;
  margin:1em auto
}
.activity-details {
  margin:0 auto;
  display:block;
  font-size:1.2em;
  background-size:8em;
  padding:3em 0;
  background-color:var(--pacific-cyan);
  background:url("../images/circleWhite.png"),var(--pacific-cyan);
  background-size:16em;
  background-position:center;
}
div#activity-article {
  background:var(--light-yellow);
  padding:2em;
  border-radius:1em;
  max-width:60em;
  width:90%;
  margin:0 auto;
  box-shadow:0 .5em 1em rgba(0,0,0,.3)
}
.bulletpoint-row {
  column-count:2;
  padding:2em;
  column-fill:balance;
}
@media(max-width:800px) {
  .bulletpoint-row {
    column-count:1;
    text-align:center;
    list-style-position:inside
  }
}
.bulletpoint-header {
  margin:1em auto;
}
.bulletpointstyles li {
  line-height:2em
}
#activity-article p {
  margin-bottom:1em;
  line-height:1.5em;
  color:#333
}

.product-gallery {
  text-align: center;
}
.card-product {
  text-align: center;
  display: inline-block;
  vertical-align: top;
  width: 18em;
  margin-bottom: 0.5em;
}
.card-product img {
  width: 10em;
  margin: 0 auto;
}
#activity-aside {
  width:100%;
  position:relative;
  background-size:cover;
  background-position:bottom;
  overflow:hidden;
  padding:3em 0;
  background-color:var(--dark-purple);
  border-top:1em solid var(--light-yellow);
  background-image:url("../images/circleWhite.png");
  background-size:30em;
  background-color:var(--emerald);
}
#activity-aside article {
  margin:0 auto;
  width:90%;
  padding:2em;
  max-width:72em;
  background:var(--light-yellow);
  border-radius:1em;
  box-shadow:0 .5em 1em rgba(0,0,0,.3)
}
#activity-aside article h3 {
  width:100%;
  text-align:center;
  text-transform:capitalize;
  font-size:2em;
  color:#333;
}
#activity-aside article ul {
  margin-top:2em
}
#activity-aside article ul li {
  display:table;
  width:100%;
  margin-bottom:1em
}
#activity-aside article b {
  display:table-cell;
  width:20%;
  vertical-align:top
}
#activity-aside article p {
  display:table-cell;
  width:60%;
  line-height:1.5em;
  vertical-align:top;
  text-align:left
}
#activity-aside article p b {
  display:block;
  width:auto;
  color:#333
}
.ai-summary-box {
  background:#fff;
  padding:1.25em;
  margin:2em 0;
  width:100%;
  font-size:1em;
  color:#333;
  line-height:1.5em
}
@media(max-width:600px) {
  #activity-aside article b,
  #activity-aside article p,
  #activity-aside article ul li {
    display:block;
    width:100%;
    padding:.5em
  }
}
div#activity-gallery {
  width:100%;
  text-align:center;
  margin:1em auto;
  padding:.5em;
  background-size:8em;
  background:var(--flame);
  padding-top:2em;
  padding-bottom:2em;
  background-image:url("../images/tapasTransparent.png");
  background-size:10em;
}
#activity-gallery li {
  display:inline-block;
  margin:.5em;
  text-align:center;
  width:16em;
  background:#fff;
  padding:1em;
}
.gallery-image a {
  position:relative;
  width:100%;
  display:block;
  overflow:hidden;
  height:16em;
}
@media(max-width:750px) {
  #activity-gallery li {
    min-width:16em
  }
}
.gallery-image {
  display:block;
  height:16em;
  position:relative;
}
.gallery-image img {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  height:100%
}
div#activity-video {
  display:inline-block;
  width:40%;
  vertical-align:top;
  border:.5em solid #fff;
  background:#000;
  max-width:50em;
  border-radius:1em;
  overflow:hidden;
  box-shadow:0 .5em 1em rgba(0,0,0,.3);
  vertical-align:middle
}
ul#activity-gallery {
  width:100%;
  text-align:center;
}
#activity-video iframe {
  width:100%;
  min-height:24em;
  border:0
}
@media (max-width:850px) {
  #book-now-alt {
    left:0;
    bottom:0;
    width:100%
  }
  div#ai-summary,
  div#product-summary {
    width:100%;
    display:block;
    margin:0 auto;
    border:0;
    max-width:50em
  }
  #product-prices {
    display:table;
    width:100%;
    text-align:center
  }
  #product-prices li {
    text-align:center;
    padding:1em
  }
  #product-buttons {
    display:block;
    width:100%;
    text-align:center
  }
  div#activity-video {
    width:100%;
    max-width:32em
  }
  div#activity-video iframe {
    max-width:30em
  }
  #activity-gallery ul {
    width:100%
  }
}
#bread-crumbs {
  width:100%;
  text-align:center;
  background:var(--bistre);
  padding:.5em
}
#bread-crumbs li {
  display:inline-block;
  vertical-align:middle
}
#bread-crumbs a {
  display:inline-block;
  vertical-align:middle;
  font-size:1em;
  color:#fff;
  text-transform:capitalize
}
#bread-crumbs .material-symbols-outlined {
  display:inline-block;
  vertical-align:middle;
  font-weight:400;
  color:#fff;
}
@media (max-width:750px) {
  #bread-crumbs {
    text-align:center
  }
}
#gallery-modal {
  position:fixed;
  width:100%;
  height:100%;
  left:0;
  top:0;
  z-index:999;
  background:#000000a8;
}
#gallery-modal.modal-gallery-window {
  display:none
}
#gallery-modal.modal-gallery-window.active {
  display:block
}
.gallery-slide {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:90%;
  max-width:30em;
}
#gallery-button-next,
#gallery-button-prev {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:0 0;
  line-height:0;
  letter-spacing:0;
  word-spacing:0;
  border:0
}
#gallery-button-prev {
  left:0
}
#gallery-button-next {
  right:0
}
#gallery-button-next .material-symbols-outlined,
#gallery-button-prev .material-symbols-outlined {
  color:#333;
  font-size:5em
}
#gallery-button-prev .material-symbols-outlined {
  margin-left:-.2em
}
#gallery-button-next .material-symbols-outlined {
  margin-right:-.2em
}
.gallery-slide {
  display:none
}
.gallery-slide.active {
  display:block
}
#close-modal-gallery {
  position:absolute;
  right:1em;
  top:1em;
  font-size:1em;
  background:0 0;
  border:none
}
#close-modal-gallery .material-symbols-outlined {
  font-size:2.5em;
  color:#fff;
  border:2px solid;
  border-radius:50%
}
div#modal-gallery-nav {
  position:absolute;
  bottom:1em;
  width:100%;
  text-align:center
}
button.gallery-nav-btn {
  margin:.25em;
  height:1.5em;
  width:1.5em;
  border-radius:1em;
  border:0;
  opacity:.5
}
button.gallery-nav-btn.active {
  opacity:1
}
div#empty-cart {
  text-align:center;
  padding:10em 2em 10em 2em;
  margin:0 auto;
  margin-top:0;
  background-size:8em
}
div#empty-cart .material-symbols-outlined {
  font-size:4em
}
div#empty-cart h3 {
  text-transform:capitalize;
  font-size:2.5em;
}
div#empty-cart {
  text-align:center;
  padding:10em 2em 10em 2em;
  margin:0 auto;
  margin-top:0;
  background-size:8em
}
div#empty-cart .material-symbols-outlined {
  color:#333;
  font-size:4em
}
div#empty-cart h3 {
  color:333;
  text-transform:capitalize;
  font-size:2em
}
div#empty-cart p {
  color:#333;
  line-height:1.5em;
  max-width:25em;
  margin:0 auto;
  font-size:1.25em
}
div#empty-cart a {
  display:inline-block;
  border-radius:5em;
  text-align:right;
  margin-top:.5em;
  border:.15em solid;
  vertical-align:middle;
  text-transform:capitalize;
  font-size:1.25em;
  font-weight:700;
  padding:.5em;
  line-height:1em;
}
#contact-us p {
  line-height:2em;
  max-width:45em;
  margin:0 auto;
  width:95%
}
#contact-us h1.title {
  color:#333
}
div#contact-us {
  text-align:center
}
#contact-us {
  background-position:center;
  padding-bottom:2em
}
#contact-us h3.title {
  font-size:2em;
  text-transform:capitalize;
  padding:1.5em 0;
  margin:0 auto;
  display:block;
  text-align:center;
  color:#fff;
  font-weight:400;
  font-size:2em;
  font-weight:lighter;
  color:#333;
}
#contact-form {
  margin:1em auto;
  text-align:center;
  background-position:center;
  background:var(--light-yellow);
  max-width:60em;
  break-inside:avoid;
  padding:3em;
  border-radius:0;
  border-radius:1em;
  width:90%;
}
@media(max-width:900px) {
  #contact-form {
    column-count:0
  }
}
#contact-form .form-control {
  padding:1em;
  width:100%;
  max-width:25em;
  margin:1em auto;
  border-radius:.75em;
  text-transform:capitalize;
  transform:scaleY(-1);
  border:none;
  border:.2em solid var(--pacific-cyan);
}
#contact-form .row {
  break-inside:avoid
}
#contact-form .md-form label {
  display:block;
  color:#333;
  font-size:1.25em;
  font-weight:700;
  transform:scaleY(-1)
}
#contact-form .container {
  text-align:center;
  padding:2em 0
}
#contact-form .md-form.mb-0 {
  transform:scaleY(-1)
}
#contact-form .md-form {
  transform:scaleY(-1)
}
div#contact-us {
  text-align:center
}
div#contact-us {
  padding-top:12em;
  background-size:100%
}
div#contact-us iframe {
  margin:0 auto;
  display:block
}
.g-recaptcha {
  text-align:center;
  margin:0 auto;
  display:block
}
.g-recaptcha div {
  margin:0 auto
}
#contact-us h3.title {
  font-weight:400;
  color:var(--pacific-cyan);
  margin-top:3em;
  font-weight:700
}
div#contact-greeting {
  background:#fff;
  padding:4em;
  text-align:center
}
#contact-greeting span.material-symbols-outlined {
  font-size:3em
}
#contact-greeting p {
  font-size:2em;
  text-transform:capitalize;
  color:#333
}
#contact-form.visible,
#contact-greeting.visible {
  display:block
}
#contact-form.hidden,
#contact-greeting.hidden {
  display:none
}
div#about {
  background:var(--light-yellow);
}
#about-content {
  background-size:100%
}
@media(max-width:500px) {
  #about-content {
    background-size:15em,15em,auto
  }
}
#about #hero h1 {
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  font-size:3em;
  color:#fff;
  padding:2em 0 2em 0;
  text-transform:capitalize;
  text-shadow:0 0 1em #000;
}
div#about-content {
  padding:5em 0;
  text-align:center;
  border-top:.5em solid #fff;
  background-size:100%;
  background-position:top center;
  padding-bottom:5em;
}
#about-content article {
  display:block;
  margin:0 auto;
  max-width:60em;
  width:90%;
  border-radius:1em;
  position:relative;
  text-align:center;
  padding:3em;
  background-position:center;
  background:#fcfaf9
}
#about-content article p {
  line-height:2em;
  margin-bottom:1em;
  text-align:left
}
a.footer-logo.alt img {
  width:12em
}
h2.info {
  font-size:2em;
  text-align:center;
  color:#333;
  text-transform:capitalize;
  margin:1.5em auto 1em auto;
  line-height:1.2em;
  max-width:90%
}
h3.info {
  font-size:1.5em;
  text-align:left;
  color:var(--pacific-cyan);
  margin:1.5em 0 1em 0;
  text-transform:capitalize;
  line-height:1.3em
}
h4.info {
  font-size:1.25em;
  text-align:left;
  margin:1em 0 .75em 0;
  text-transform:capitalize;
  line-height:1.4em
}
.hero-alt {
  height:25em;
  border-top:6em solid var(--light-yellow);
  background-size:cover;
  background-position:center;
  position:relative
}
.hero-alt h1 {
  position:absolute;
  left:50%;
  top:50%;
  color:#fff;
  font-size:3em;
  transform:translate(-50%,-50%);
  text-shadow:0 0 1em #000;
  line-height:1em
}
@media(max-width:950px) {
  .hero-alt h1 {
    font-size:2em
  }
}
#activity-reading {
  width:100%;
  padding:2em;
  text-align:center;
  position:relative;
  margin:0 auto 3em auto;
  background:#ece4b7ff;
}
#activity-reading.hidden {
  height:18em;
  overflow:hidden;
}
#activity-reading.expand {
  height:auto
}
.activity-article {
  text-align:left;
  height:0;
  overflow:hidden;
  padding:0;
  display:inline-block;
  vertical-align:top;
  line-height:2em;
  max-width:60em;
}
.activity-article h2 {
  font-size:1.5em;
  text-transform:capitalize;
  margin-bottom:1em;
  text-align:center
}
.activity-article.active {
  height:auto;
  padding:1em
}
.activity-article p {
  line-height:1.75em;
  margin-bottom:1.5em
}
.activity-article a {
  font-size:1.15em;
  text-transform:capitalize;
  display:inline-block;
  vertical-align:middle;
  margin:0 auto;
  margin-bottom:1em;
  border-radius:1em;
  padding:.25em .5em
}
.article-buttons button {
  display:inline-block;
  border:0;
  border-radius:2em;
  padding:.25em 1em;
  font-size:1em
}
.article-buttons span {
  display:inline-block;
  vertical-align:middle
}
#expand {
  position:absolute;
  width:100%;
  bottom:0;
  left:0;
}
#expand-more {
  width:100%;
  background:#fff;
  background:#fff;
  background:linear-gradient(180deg,#ece4b730 0,#ece4b7b8 33%,#ece4b7 100%);
  border:0;
  cursor:pointer;
  padding:5em 0 2em 0;
}
#expand-less {
  width:100%;
  background:0 0;
  border:0;
  cursor:pointer;
  padding:1em;
}
#expand-less .material-symbols-outlined,
#expand-more .material-symbols-outlined {
  font-size:2em
}
#expand-less span,
#expand-more span {
  display:inline-block;
  vertical-align:middle;
  text-transform:capitalize;
  font-size:1.5em;
  font-weight:700;
}
.product-index-full {
  width:60em;
  position:relative;
  margin:2em auto;
  display:block;
  margin:1em auto;
  padding:3em 0 1.5em 0;
}
.product-index-full .img-container {
  width:50%;
  height:20em;
  position:relative!important;
  background:#000;
  overflow:hidden;
  display:inline-block;
  vertical-align:middle
}
.product-index-full .img-container img {
  position:absolute;
  right:0;
  top:50%;
  width:100%;
  transform:translateY(-50%);
  z-index:1
}
.product-index-full article {
  width:49%;
  margin:2em auto;
  text-align:left;
  padding:0 2em;
  display:inline-block;
  vertical-align:middle
}
@media(max-width:900px) {
  .product-index-full {
    width:100%;
    max-width:30em
  }
  .product-index-full .img-container,
  .product-index-full article {
    width:100%
  }
}
.product-index-full h2 {
  font-weight:700;
  font-size:1.75em;
  margin-bottom:1em
}
.product-index-full h3 {
  padding:0;
  color:#fff
}
.product-index-full p {
  font-weight:400;
  color:#333;
  line-height:1.75em;
  font-size:1em;
  margin-bottom:.5em
}
li.duration-li {
  text-align:left
}
.product-index-full ul {
  width:100%;
  display:table;
  text-align:right
}
.product-index-full ul li {
  width:49%;
  display:inline-block;
  vertical-align:middle
}
.product-index-full .after-price,
.product-index-full .before-price {
  color:#333;
  display:block;
  line-height:1.25em
}
.product-index-full .before-price {
  font-size:1.5em;
  opacity:.75;
  text-decoration:line-through;
  opacity:.5
}
.product-index-full .after-price {
  font-size:1.5em;
  display:inline-block;
  vertical-align:bottom;
  font-weight:700
}
.product-index-full .after-price::before {
  content:"from ";
  font-size:.6em;
  display:inline-block;
  vertical-align:baseline;
  text-transform:capitalize;
  margin-right:.5em
}
.product-full .learn-more {
  font-size:1.15em
}
.learn-more {
  display:inline-block;
  text-align:right;
  margin-top:.25em;
  border:none;
  text-transform:capitalize;
  font-size:1.5em;
  border-radius:3em;
  font-weight:700;
  background:gold;
}
.learn-more span:not(.material-symbols-outlined) {
  display:inline-block;
  vertical-align:middle;
  text-transform:capitalize;
  font-size:1em;
  font-weight:700;
  line-height:0;
  line-height:2em
}
.learn-more span.material-symbols-outlined {
  font-size:1.5em;
  display:inline-block;
  vertical-align:middle;
  font-weight:700
}
h1.info {
  font-size:2.75em;
  text-align:left;
  text-transform:capitalize;
  margin:.75em 0 .5em 0;
  line-height:1.2em
}
h2.info {
  font-size:2.25em;
  text-align:left;
  text-transform:capitalize;
  margin:.75em 0 .5em 0;
  line-height:1.3em
}
h3.info {
  font-size:1.75em;
  text-align:left;
  text-transform:capitalize;
  margin:.75em 0 .5em 0;
  line-height:1.3em
}
h4.info {
  font-size:1.33em;
  text-align:left;
  text-transform:capitalize;
  margin:.5em 0;
  line-height:1.4em
}
div#about {
  background-size:8em;
  text-align:left
}
#about-content {
  background-size:100%
}
@media(max-width:500px) {
  #about-content {
    background-size:15em,15em,auto
  }
}
#about div#hero {
  position:relative;
  text-align:center;
  height:auto;
  overflow:hidden;
  background:url("../images/flowers-plumeria.jpg");
  background-size:cover;
  background-position:center;
}
#about div#hero img {
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  z-index:1;
  transform:translateY(-50%);
}
#about #hero h1 {
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  font-size:3em;
  color:#fff;
  padding:2em 0 2em 0;
  text-transform:capitalize;
  text-shadow:0 0 1em #000;
  z-index:9
}
div#about-content {
  padding:5em 0;
  text-align:center;
  background-size:100%;
  background-position:top center;
  padding-bottom:5em;
  background-size:8em;
  text-align:center;
  background-image:url("../images/tapasTransparent.png");
  background-color:var(--pacific-cyan);
}
#about-content article {
  display:block;
  margin:0 auto;
  max-width:60em;
  width:90%;
  border-radius:1em;
  position:relative;
  text-align:center;
  padding:3em;
  background-position:center;
  background:var(--light-yellow);
}
#about-content article p {
  line-height:2em;
  margin-bottom:1em;
  text-align:left
}
.privacy-policy {
  text-align:left
}
.privacy-policy p {
  margin-bottom:20px
}
.privacy-policy h2 {
  margin:25px 0 15px
}
.privacy-policy ul {
  margin-bottom:20px;
  padding-left:20px
}
aside#Tour-help {
  padding:8em 1em;
  background:var(--flame);
  background-size:contain;
  border-bottom:1em solid var(--light-yellow);
  background-image:url(../images/tapasTransparent.png);
  background-size:10em;
  border-top:1em solid var(--light-yellow);
}
aside#Tour-help p {
  max-width:32em;
  margin:0 auto;
  font-size:1.5em;
  line-height:1.5em;
color:var(--emerald);
  text-align:center;
  background:var(--light-yellow);
  padding:2em;
  box-shadow:0 .5em 1em rgba(0,0,0,.3);
  border-radius:1em;
}
aside#Tour-help a {
  color:var(--pacific-cyan);
}
aside#Tour-help h2 {
  font-size:2em;
  color:var(--dark-purple);
  text-align:center;
  background:var(--light-yellow);
  max-width:24em;
  margin:0 auto;
  padding:1em;
  border-radius:1em;
  box-shadow:0 .5em 1em rgba(0,0,0,.3);
  margin-bottom:.5em;
}
#faq {
  width:100%;
  text-align:center;
}
#faq .accordion {
  width:95%;
  padding:0;
  margin:0 auto;
  border:.15em solid #333;
  max-width:60em;
}
#faq .accordion .tab {
  width:100%;
  background:#fff;
  list-style-type:none
}
p.tab-icon {
  position:absolute;
  right:.5em;
  top:.75em;
  font-size:1.5em
}
#faq .accordion li.tab .close-icon {
  display:none
}
#faq .accordion li.tab .open-icon {
  display:block;
  color:#333;
}
#faq .accordion li.tab.active .close-icon {
  display:block
}
#faq .accordion li.tab.active .open-icon {
  display:none
}
#faq .accordion .tab .tab-header {
  padding:1em;
  text-align:center;
  text-transform:capitalize;
  font-weight:100;
  border-bottom:2px solid #333;
  color:#333;
  cursor:pointer;
  transition:.3s;
  font-size:1.25em;
  font-weight:bold;
  background:#333;
  font-family:"Roboto","Montserrat",sans-serif;
  position:relative
}
#faq .accordion .tab.active .tab-header {
  color:#333;
  background:var(--light-yellow);
}
#faq .accordion .tab .content {
  width:100%;
  text-align:center;
  transform-origin:top
}
#faq .accordion .tab .content p {
  font-size:1.2em;
  font-weight:300;
  line-height:2em;
  max-width:40em;
  margin:0 auto;
  width:90%
}
#faq .accordion .tab .content {
  display:none
}
@keyframes fadeIn {
  0% {
    transform:scaleY(0)
  }
  100% {
    transform:scaleY(1)
  }
}
@keyframes fadeIn {
  0% {
    transform:scaleY(0)
  }
  100% {
    transform:scaleY(1)
  }
}
#faq .accordion .tab.active .content {
  display:block;
  height:auto;
  animation:fadeIn .3s ease-out;
}
#hero {
  position: relative;
}
#hero section {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  background:rgba(0,0,0,.26);
  width:100%;
  text-align:center;
  padding:10em 0;
}
#hero img {
  height:100;
  width:1680px;
  margin:0 auto;
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
#hero h1 {
  text-transform:capitalize;
  font-size:4em;
}
#hero .span-2 {
  color:#fff;
  font-size:2em;
  text-transform:capitalize;
  text-shadow:0 0 1em black;
}
.activity {
  display:block;
  width:100%;
  padding:2em;
  margin-bottom:1em;
  max-width:60em;
  overflow:auto;
  margin:1em auto 2em auto;
  position:relative;
  background:var(--light-yellow);
  border-radius:1em;
  box-shadow:0 .5em 1em rgba(0,0,0,.3);
}
.activity-description,
.activity-title {
  text-align:left;
  width:50%;
  padding-left:1em;
  position:relative;
  float:right
}
.activity-title .title {
  text-transform:capitalize;
  color:#333;
  font-weight:400;
  line-height:1em;
  margin-top:0;
  text-align:left;
  font-weight:bold;
  font-size:1.75em;
  margin-bottom:.5em;
}
.title a {
  color:var(--pacific-cyan);
}
.sub-title {
  text-transform:capitalize;
  line-height:2em;
  color:#333;
  font-size:.9em;
  display:block;
}
.duration {
  white-space:normal;
  display:block;
  margin-top:.5em;
  padding-right:.5em
}
.duration b,
.duration span {
  color:var(--pacific-cyan);
  display:inline-block;
  vertical-align:bottom;
  white-space:normal;
  word-wrap:normal;
  font-size:1.15em;
}
.activity-image {
  width:50%;
  overflow:hidden;
  position:relative;
  height:25.5em;
  max-width:25.5em;
  float:left;
  border-radius:.5em;
}
.activity-image img {
  position:absolute;
  left:50%;
  top:50%;
  height:100%;
  transform:translate(-50%,-50%)
}
.activity-description {
  padding-top:1em
}
.activity-description p {
  line-height:1.75em;
  font-size:1em;
}
.activity-footer {
  display:table;
  margin-top:1em;
  width:100%;
  padding-top:1em
}
.activity-left {
  text-align:left
}
.activity-right {
  text-align:right
}
.activity-footer li {
  display:table-cell;
  vertical-align:middle;
  font-size:1.1em
}
.activity-anchor {
  background:#ffc700;
  display:inline-block;
  border-radius:2em;
  padding:.5em .5em .5em 1em;
  text-align:center;
  border:.2em solid var(--bistre);
}
.activity-anchor p {
  text-transform:capitalize;
  font-weight:700;
  color:var(--emerald);
  display:inline-block;
  vertical-align:middle
}
.list-price,
.sale-price {
  font-weight:700
}
.list-price span {
  text-decoration:line-through;
}
p.list-price {
  opacity:.5;
  font-size:1.4em;
}
p.sale-price {
  color:#333;
  font-size:1.5em;
}
.list-price::before {
  content:"Was ";
  font-size:.75em
}
.sale-price::before {
  content:"From ";
  font-size:.75em
}
.list-price.strike {
  opacity:.5
}
.list-price.strike:after {
  content:"";
  position:absolute;
  left:0;
  top:1.65em;
  width:70%;
  border-top:2px solid;
  text-decoration:line-through;
  left:50%;
  transform:translateX(-50%)
}
.island-category p.sale-price,
.island-category p.list-price {
  align-self:center;
  display:inline-block;
  padding:1em;
}
@media(max-width:650px) {
  .island-category p.sale-price,
  .island-category p.list-price {
    font-size:1.75em!important;
    padding:.5em 0
  }
}
.GreenLrg {
  font-size:1.2em
}
@media (max-width:900px) {
  .activity-description,
  .activity-title {
    width:45%
  }
}
@media (max-width:750px) {
  .activity {
    max-width:40em;
    margin:1em auto
  }
  .activity-description,
  .activity-footer,
  .activity-image,
  .activity-title {
    float:none;
    width:100%;
    max-width:100%
  }
  .activity-description {
    font-size:1.1em
  }
  .ribbon {
    position:absolute;
    left:2.5em;
    top:18em;
    width:8em;
    border-radius:50%;
    transform:rotate(0);
    border-bottom:.25em solid #74004f
  }
  .ribbon-content p {
    padding:1.33em 0;
    line-height:1em
  }
  .activity-image {
    margin-top:1em;
    margin-bottom:1em
  }
  .activity-image img {
    height:auto;
    width:100%
  }
  .sub-title {
    padding-bottom:.5em
  }
  .list-price,
  .sale-price {
    font-size:1.5em
  }
}
.footer-end {
  background:#333;
  color:#fff;
  padding:1em;
}
