/* Basic styles to make the text visible against any background */

/* Custom checkbox styling */
.form-check-input:checked {
  background-color: #1c9ebd;
  border-color: #1c9ebd;
}

.form-check-input:focus {
  border-color: #1c9ebd;
  box-shadow: 0 0 0 0.25rem rgba(28, 158, 189, 0.25);
}
.logo {
  color: white;
}

.logo img {
  width: 130px;
  height: auto;
}

@media (max-width: 768px) {
  .logo img {
    width: 96px;
  }
}

.page-link:hover {
  cursor: pointer;
  font-weight: 800;
}

.logosoon {
  width: 369px; /* Adjust as per your logo's size */
  height: 369px; /* Adjust as per your logo's size */
  background-size: cover;
  opacity: 1;
  z-index: 4;
}

/* OTRA Guide Logo settings */
.otra {
  font-weight: 800;
  font-size: 36px;
  margin: 0;
  margin-bottom: -10px; /* Adjust as needed */
  padding: 0;
  line-height: 1;
}

.bottom-text {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.guide,
.curacao {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.guide {
  font-weight: 700;
  font-size: 33.5px;
  line-height: 36px;
}

.city {
  font-size: 52px;
  line-height: 1;
}

/* Avatar Styles */
.avatar {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin-bottom: 20px;
}

.navbar-avatar {
  object-fit: cover;
  width: 32px;
  height: 32px;
  max-height: inherit !important;
  border-radius: 50%;
}

.rectangle-avatar {
  width: 128px;
  height: 72px;
  object-fit: cover;
  border-radius: 4px;
}

/* Card Styles */
.card {
  padding: 0;
  margin: 0;
  color: #000;
}

.card-body {
  margin: 0;
  padding: 0;
  padding-top: 0;
  padding-bottom: 0;
  color: #000;
}

.card-footer {
  margin-top: auto;
}

.card-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  color: #fff;
}

/* table styles */

.table-custom {
  --bs-table-color: #343a40; /* Dark gray text */
  --bs-table-bg: transparent; /* No specific background on the table itself, so the card background shows */
  --bs-table-border-color: #ced4da; /* gray-300 border color */
  --bs-table-striped-bg: #e9ecef; /* gray-200 for striping */
  --bs-table-striped-color: #343a40; /* Dark gray text on light gray background */
  --bs-table-active-bg: #dee2e6; /* gray-300 for active row */
  --bs-table-active-color: #343a40; /* Dark gray text on light gray background */
  --bs-table-hover-bg: #d6d8db; /* gray-400 for hover */
  --bs-table-hover-color: #343a40; /* Dark gray text on hover */
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

/* Custom header styling */
.table-custom thead th {
  background-color: var(--bs-primary); /* Primary background for header */
  color: #ffffff; /* White text for header */
  border-color: #ced4da; /* Keep border consistent with table */
}

/* Custom striping for the table */
.table-custom > tbody > tr:nth-of-type(odd) {
  background-color: #dee2e6; /* gray-300 (slightly darker) */
  color: #343a40; /* Dark gray text */
}

.table-custom > tbody > tr {
  vertical-align: middle;
}

.table-custom > tbody > tr:nth-of-type(even) {
  background-color: #ced4da; /* gray-200 (slightly darker) */
  color: #343a40; /* Dark gray text */
}

/* Border color for table cells */
.table-custom td, 
.table-custom th {
  border-color: #ced4da; /* gray-300 */
}



.event-link {
  text-decoration: none !important;
  color: inherit;
}

.event-link:hover {
  text-decoration: none !important;
}

.ticket-event-link:hover {
  color: #00a1c8;
}

.ticket-buy-button:hover {
  background-color: #025066;
}

.plan-trip-button:hover {
  background-color: #025066;
}

.events-calendar-link:hover {
  color: #00a1c8;
}

.curacao-info-link:hover {
  color: #00a1c8;
}

.fixed-width-image-col {
  width: 150px;
  max-width: 150px;
}

.event-column {
  min-width: 300px;
}

.lighter-gray {
  color: #8d8d8d; /* Adjust the HEX value as needed for your desired lighter gray */
}

/* Image Styles */
.image-container-detail {
  position: relative;
  border-radius: .5rem;
  overflow: hidden; 
}

.image-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 9 / 16 = 0.5625 */
  border-radius: .5rem;
}

.image-container:hover .card-img-top {
  transform: scale(1.1);
}

.card-img-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
  border-radius: .5rem;
}

.image {
    position: relative;
    overflow: hidden;
}

.image img {
    transition: opacity 0.3s ease-in-out;
    position: relative;
    z-index: 2;
}

.image canvas {
    z-index: 1;
}

.category-link {
  font-size: 0.9rem; /* Adjust the value to your preference */
}



/* Date info */

.date-info {
  position: absolute;
  left: .5rem;
  bottom: .5rem;
  background-color: #fff;
  z-index: 1;
  padding: .2rem .8rem;
  border-top-right-radius: .8rem;
  border-bottom-left-radius: .8rem;
  text-align: center;
  display: flex;
  align-items: center;
}

.date-info .date-part {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.date-info .day {
  font-size: 18px;
  margin-bottom: 3px;
  margin-top: 9px;
  font-weight: bold;
  line-height: .5; /* Adjust this value to control the gap between the day number and the month */
}

.date-info .month {
  font-weight: normal;
  margin-bottom: 5px;
  line-height: 1; /* Adjust this value to control the gap between the day number and the month */
}

.date-info .separator {
  margin: 0 5px;
  align-self: center;
}

/* Heart Icon */
.heart-icon-container {
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 8px;
  border-bottom-left-radius: .3rem;
  border-top-right-radius: .3rem;
  transition: background-color 225ms cubic-bezier(0, 0, 0.2, 1) 0ms;
}

.heart-icon-container:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

.heart-icon {
  font-size: 1.4rem;
  color: #fff;
  transition: transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms;
}

.heart-icon-container:hover .heart-icon {
  transform: scale(1.15);
}

.heart-icon-container .solid {
  color: #f00; /* Change this color to your desired "active" color */
}

.heart-icon-container .hollow {
  font-weight: normal;
}

/* .favorite-count {
  position: absolute;
  top: 100;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0.2em 0.4em;
  border-radius: 1em;
  color: #fff;
  z-index: 2;
  font-size: 0.8em;
} */

/* Badge */
.badge {
  top: 15px;
  right: 15px;
  font-size: 14px; /* adjust the font size as desired */
  font-weight: bold;
  z-index: 10;
  padding: 3px 6px; /* adjust the padding as desired */
  background-color: rgb(198, 185, 185); /* change the background color as desired */
  border-radius: 14px;
}

/* Form Row */
.form-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.form-row div {
  width: 45%;
}

.social-link {
  display: inline-block;
}

/* Shared styles between H5 and custom-h5 */
:is(.custom-h5, h5) {
  /* Add any other shared styles between H5 and custom-h5 here */
}

/* Specific styles for custom-h5 */
.custom-h5 {
  margin-top: 0.75rem; /* Adjust this value according to your preference */
  margin-bottom: 0.25rem; /* Adjust this value according to your preference */
}

#island-pass {
  margin-bottom: 5rem;
}

#count-stats {
  margin-top: 5rem;
}

.icon-container {
  display: flex;
  align-items: center;
}

.icon-container i {
  margin-right: 10px;
}

.text-xs-sm {
  font-size: 0.85rem; /* Adjust this value to your preference */
}

.custom-checkbox {
  border: 1px solid #333; /* Change the color to match your design */
  border-radius: 3px; /* Adjust the border radius if needed */
}

.card-image-hover {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
}

.card-image:hover .card-image-hover {
  opacity: 1;
}

/* breadcrumbs */

.breadcrumb-link {
  font-weight: bold;
}

/* dropdown menus */

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu a::after {
  transform: rotate(-90deg);
  position: absolute;
  right: 6px;
  top: .8em;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem;
}


/* chat */
.pg-chat-icon {
  font-size: 16px;  
}

.message-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
}

.bubble {
  position: relative;
  background: #f0f0f0;
  border-radius: .4em;
  padding: 10px;
  margin-bottom: 10px;
}

.bubble::after {
  content: '';
  position: absolute;
  display: none;
}

.bubble-system::after {
  left: 0;
  border: 10px solid transparent;
  border-right-color: #f0f0f0;
  top: 50%;
  transform: translateY(-50%);
}

.bubble-user::after {
  right: 0;
  border: 10px solid transparent;
  border-left-color: #f0f0f0;
  top: 50%;
  transform: translateY(-50%);
}

.chat-bot-icon {
  width: 50px;
  height: 50px;
  overflow: hidden;
}

.chat-bot-icon img {
  width: 100%;
  height: auto;
}

.pg-chat-message-user {
  flex-direction: row-reverse;
}

.pg-chat-message-user .message-avatar {
  margin-left: 10px;
}

.pg-chat-message-system .pg-chat-icon {
    align-self: start;
}

#message-list {
  max-width: 900px;
  margin: 0 auto;
}

.pg-message-contents {
  max-width: 82%;
}

.pg-chat-input-bar {
  width: 70%;  
  margin: auto; 
}

.pg-chat-input-bar .btn {
  line-height: inherit;
}

.pointer-anchor:hover {
  cursor: pointer;
}

[x-cloak] { display: none !important; }

/* compact gallery */

.gallery-block{
  padding: 0px;
}

.gallery-block .heading{
    margin-bottom: 0px;
    text-align: center;
}

.gallery-block .heading h2{
    font-weight: bold;
    font-size: 1.4rem;
    text-transform: uppercase;
}

.gallery-block.compact-gallery .item{
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0px;
  background: black;
  opacity: 1;
}

.gallery-block.compact-gallery .item .image{
  transition: 0.8s ease;
}

.gallery-block.compact-gallery .item .info{
  position: relative;
    display: inline-block;
}

.gallery-block.compact-gallery .item .description{
  position: absolute;
  display: grid;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 10px;
    font-size: 17px;
    line-height: 18px;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    opacity: 1;
    color: #fff;
    transition: 0.8s ease;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.39));
}

.gallery-block.compact-gallery .item .description .description-heading{
  font-size: 1em;
  font-weight: bold;
}

.gallery-block.compact-gallery .item .description .description-body{
  font-size: 0.8em;
  margin-top: 0px;
  font-weight: 300;
}

@media (min-width: 576px) {

  .gallery-block.compact-gallery .item .description {
    opacity: 0; 
  }

  .gallery-block.compact-gallery .item a:hover .description {
    opacity: 1; 
  } 

  .gallery-block .zoom-on-hover:hover .image {
    transform: scale(1.1);
    opacity: 0.65; 
  }
}

.gallery-img-fluid {
  max-width: 100%;
  height: auto;
}

/* gallery divider */

.divider {
  height: 20px;
  background-color: #000;
  margin: 0; 
}

/* carousel */

.carousel-card {
  position: absolute;
  top: 0;
  left: 50%;
  
  z-index: 1;
}

#carousel {
  position: relative;
  
  z-index: 0; 
}

/* full screen sections */
#content-wrapper {
  min-height: 100vh; /* will cover the whole viewport */
  display: flex;
  flex-direction: column; /* flex children will be in a column */
}

.full-screen-section {
  min-height: 100vh;
}

/* custom alert */

.custom-alert {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000; /* Higher than everything else on your page */
  width: auto;
  max-width: 80%; /* or any other maximum width you prefer */
}

.darker-background {
  background-color: #f2f2f2;
}

.reduce-height {
  height: 100px; /* Adjust the height as desired */
  resize: none;
}


/* translate function */
.spinner {
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* video container */
/* .video-container {
  padding-top: 56.25%;
} */

.responsive-video {
    width: 100%;
    height: 450px;
}

/* Media queries for different screen sizes */
@media (max-width: 1200px) {
    .responsive-video {
        height: 400px;
    }
}

@media (max-width: 992px) {
    .responsive-video {
        height: 350px;
    }
}

@media (max-width: 768px) {
    .responsive-video {
        height: 300px;
    }
}

@media (max-width: 576px) {
    .responsive-video {
        height: 250px;
    }
}

@media (max-width: 400px) {
    .responsive-video {
        height: 200px;
    }
}



.app-links a {
  margin: 0 10px;
}

.app-links img {
  width: 150px; /* Adjust the size as needed */
}

.truncate {
  white-space: nowrap;      /* Forces the text to stay on one line */
  overflow: hidden;         /* Ensures the overflowed text is hidden */
  text-overflow: ellipsis;  /* Adds an ellipsis at the point of truncation */
  max-width: 100%;          /* Set a max width for the element */
  display: inline-block;    /* Ensures the CSS works properly with block elements */
}

/* sentinel for pagination */
#sentinel {
  height: 1px;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
}

/* Reduce spacing around category navigation */
.container.pt-31.sm-pt-21 {
    padding-top: 15px !important;  /* Reduce from 31px */
}

.row.align-items-center {
    margin-bottom: 15px;  /* Adjust this value as needed */
}

.wrapper-filter > div {
    margin-bottom: 15px;  /* Adjust this value as needed */
}

.search-category-navigation {
    margin-top: 10px;  /* Adjust this value as needed */
}

.location-link-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px;
  border-radius: 8px;
  color: white;
  text-align: center;
}

/* Global override for all crispy form checkbox labels */
body label.form-check-label,
body .form-check label.form-check-label,
body input[type="checkbox"] + label,
body .checkbox label {
  color: #fff !important;
}

/* Increase the font size for form field titles and checkbox texts */
form label,
body label.form-check-label,
body .form-check label.form-check-label,
body input[type="checkbox"] + label,
body .checkbox label {
  font-size: 1.3rem !important;
}

/* Adjust body wrapper and reserve space for fixed footer */
#body_wrapper {
  flex: 1;
  padding-top: 100px;
  padding-bottom: 120px; /* Ensure content is not hidden by footer */
  width: 100%;
  position: relative;
  margin-bottom: 0;
}
