html, body {
    background-color: #fff !important;
}

.modal-backdrop {
    background-color: rgba(0,0,0,0.8) !important;
}

:root {
    --mint: #16C994;
    --teal: #008392;
    --cherry-blossom-pink: #FFB6C1;
    --fluorescent-cyan: #54F2F2;
    --maize: #F4E04D;
    --hunyadi-yellow: #F6AE2D;
    --sunset-horizonal-bg: linear-gradient(to right, var(--cherry-blossom-pink), var(--hunyadi-yellow));
}

@media (max-width: 1199.98px) {
    .hide-on-small-screen {
        display: none;
    }
}

@media (min-width: 720px) {
    .hide-on-large-screen {
        display: none;
    }
}

@media (max-width: 719px) {
    .hide-on-xs-screen {
        display: none;
    }
}

/* Custom CSS to reduce text size */
body {
    font-size: 15px;
    /* Adjust the font size as needed */
}

.teal-gradient-bg {
    background: linear-gradient(to bottom, lightyellow, rgba(0, 131, 146, 0.2));
    /* background-color: rgba(0, 131, 146, 0.2); */
}

.teal-gradient-horizontal-bg {
    background: linear-gradient(to right, lightyellow, rgba(0, 131, 146, 0.2));
    /* background-color: rgba(0, 131, 146, 0.2); */
}

.sunset-bg {
    background: linear-gradient(to bottom, rgba(255, 255, 224, 0.95), #ffb6c1f2);
    /* background-color: lightyellow; */
}

.sunset-horizontal-bg {
    background: linear-gradient(to right, var(--cherry-blossom-pink), var(--hunyadi-yellow));
    /* background-color: lightyellow; */
}

.ai-horizontal-bg {
    background: linear-gradient(to right, var(--cherry-blossom-pink), var(--hunyadi-yellow), rgb(242, 169, 242), rgb(120, 209, 239));
    /* background-color: lightyellow; */
}

.white-bg {
    background-color: white;
}

.teal-bg {
    background-color: #00839233;
}

.teal-bg-solid {
    background-color: #008392;
}

.daily-dash-bg {
    background-color: rgba(255, 0, 0, 0.2);
}

.darken-bg {
    background-color: rgba(0, 0, 0, 0.1);
}

.lighten-bg {
    background-color: rgba(255, 255, 255, 0.7);
}

.white-bg {
    background-color: rgba(255, 255, 255, 0.9);
}

.pink-border {
    border: 2px solid var(--cherry-blossom-pink);
}

.teal-border {
    border: 2px solid var(--teal);
}

.ai-border {
    border: 3px solid rgb(242, 169, 242)
}

.profile-picture-container img {
    width: 120px;
    /* Adjust the size as needed */
    height: 120px;
    /* Maintain aspect ratio */
    object-fit: cover;
    /* Ensure the image covers the entire container */
    border-radius: 50%;
    /* Make the image circular */
}

#weather-spinner,
#destination-weather-icon,
#destination-weather-text {
    display: inline-block;
}

.add-flight-tab {
    height: 450px;
    overflow-y: auto;
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title-font,
.navbar-brand {
    /* font-family: 'Lilita One', sans-serif; */
    font-family: "Patua One", serif;
    font-weight: 400;
    font-style: normal;
}

.place-name,
.item-title-font {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-style: normal;
}

p,
a,
option,
select,
.form-control,
.site-font,
.form-label,
.btn {
    font-family: 'Gabarito', sans-serif;
    font-style: normal;
    font-weight: 400;
}

[id^="div_id_"] {
    /* Your CSS rules here */
    margin-bottom: 0% !important;
    font-family: 'Gabarito', sans-serif;
    font-style: normal;
    font-weight: 400;
}

.form-label {
    margin-bottom: 0%;
}

.custom-container-home {
    padding: 20px;
    border-radius: 10px;
    background-color: var(--teal)
}

.material-symbols-rounded {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 48;
    color: grey;
}

.btn-teal{
    background-color: var(--teal); /* Custom background color */
    color: white; /* Custom text color */
    transition: background-color 0.3s, border-color 0.3s; /* Smooth transition */
}

.btn-teal:hover {
    background-color: rgb(1, 97, 97); /* Custom hover background color */
}

.btn-dark-grey {
    border-color: #000000A6; /* Custom background color */
    border-width: 2px; /* Custom border width */
    color: #000000A6; /* Custom text color */
    transition: background-color 0.3s, border-color 0.3s, color 0.3s; /* Smooth transition */
}

.btn-dark-grey:hover {
    color: white; /* Custom text color */
    background-color:#1b1b1ba6; /* Custom hover background color */
}

.btn-outline-success .material-icons {
    color: var(--bs-success); /* Use the same color as the button text */
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.card {
    display: flex;
    /* height: 100%; */
}

.pac-container,
.airport-option {
    z-index: 100051 !important;
}

.itinerary-table th {
    background-color: rgba(0, 131, 146, 0.8);
    color: white;
    font-weight: bold;
}

.modal-body-scrollable {
    max-height: 400px;
    /* Adjust the height as needed */
    overflow-y: auto;
}

.scrollable-card {
    height: 300px;
    /* Set the fixed height for the card */
    overflow-y: auto;
    /* Enable vertical scrolling */
    overflow-x: hidden;
}

.item-tile,
.preview-tile {
    background-color: rgba(255, 255, 255, 0.9);
    position: relative;
    /* cursor: pointer; */
}

.preview-tile * {
    pointer-events: none;
}

.preview-tile-unscheduled {
    border: dashed 3px !important;
}

.item-tile-name {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8em;
}

.dash-sub-card {
    min-height: 180px;
}

a.button-link {
    text-decoration: none;
    font-weight: normal;
}

#clear-note,
#clear-link,
#clear-conf,

.force-pointer,
.list-option {
    cursor: pointer;
}

.options-list {
    background-color: white;
    z-index: 1000;
}

.no-pointer {
    cursor: default;
}

.circle-icon {
    width: 36px;
    /* Adjust the size of the circle */
    height: 36px;
    border-radius: 50%;
    /* Creates a circular shape */
}

.no-underline {
    text-decoration: none;
}

.transparent {
    opacity: 100;
}

.flight-border,
.flight-tile {
    border: 3px solid var(--mint);
}

.flight-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--mint);
}

.flight-card-header {
    background-color: var(--mint);
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.flight-card {
    border-color: var(--mint);
    --bs-border-width: 2px;
}

.hotel-border,
.hotel-tile {
    border: 3px solid var(--maize);
}

.hotel-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--maize);
}

.hotel-card-header {
    background-color: var(--maize);
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.hotel-card {
    border-color: var(--maize);
    --bs-border-width: 2px;
}

.trip-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 3px solid var(--teal);
}

.transfer-border,
.transfer-tile {
    border: 3px solid var(--teal);
}

.transfer-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--teal);
}

.transfer-card-header {
    background-color: var(--teal);
    color: white;
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.transfer-card {
    border-color: var(--teal);
    --bs-border-width: 2px;
}

.rentalcar-border,
.rentalcar-tile {
    border: 3px solid var(--fluorescent-cyan);
}

.note-card,
.list-card {
    border: 3px solid var(--cherry-blossom-pink);
}

.rentalcar-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--fluorescent-cyan);
}

.rentalcar-card-header {
    background-color: var(--fluorescent-cyan);
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.rentalcar-card {
    border-color: var(--fluorescent-cyan);
    --bs-border-width: 2px;
}

.activity-border,
.activity-tile {
    border: 3px solid var(--cherry-blossom-pink);
}
.activity-tile-dashed {
    border: 3px dashed var(--cherry-blossom-pink);
}

.activity-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--cherry-blossom-pink);
}

.activity-card-header {
    background-color: var(--cherry-blossom-pink);
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.activity-card {
    border-color: var(--cherry-blossom-pink);
    --bs-border-width: 2px;
}

.restaurant-border,
.restaurant-tile {
    border: 3px solid var(--hunyadi-yellow);
}
.restaurant-tile-dashed {
    border: 3px dashed var(--hunyadi-yellow);
}

.restaurant-parent-tile {
    background: rgba(255, 255, 255, 0.5);
    border: 2px solid var(--hunyadi-yellow);
}

.restaurant-pill {
    color: black;
    background-color: var(--hunyadi-yellow);
}

.restaurant-pill .active {
    color: var(--hunyadi-yellow);
    background-color: black;
}

.restaurant-card-header {
    background-color: var(--hunyadi-yellow);
    font-size: 0.8em;
    font-family: 'Poppins', sans-serif;
}

.restaurant-card {
    border-color: var(--hunyadi-yellow);
    --bs-border-width: 2px;
}

/* Custom styles for Bootstrap pills */
/* Set the active link background color for nav-pills */
.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    --custom-nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
    background-color: var(--cherry-blossom-pink);
}

.placeholder-block {
    background: linear-gradient(90deg, #ddd, #eee, #ddd);
    border-radius: 3px;
    flex: 1;
    height: 1em;
    position: relative;
    overflow: hidden;
    margin-top: 0.7em;
    opacity: 0.5;
  }
  
  .placeholder-block::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, rgba(68, 68, 68, 0) 0%, rgba(155, 155, 155, 0.6) 50%, rgba(68, 68, 68, 0) 100%);
    animation: shimmer 1.5s infinite linear;
  }

  @keyframes shimmer {
    0% {
      transform: translateX(-100%);
    }
    100% {
      transform: translateX(100%);
    }
  }

#shared-users-container {
    height: 80px;
    /* Set your desired fixed height */
    overflow-y: scroll;
    /* Enable vertical scrolling */
}

.responsive-modal-body {
    max-height: 80vh;
    overflow-y: auto;
}
  

.gradient-text {
    background: linear-gradient(to right, #fd98a7, var(--hunyadi-yellow));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* Safari */
    background-clip: text;
    color: transparent;
}

.carousel-container {
    width: 100%;
}

.carousel-item .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 224, 0.2), #ffb6c1a5);
}

/* Apply width: 105% to all browsers except Firefox */
.carousel-img-frame {
    width: 105%;
    object-fit: cover;
    object-position: center;
}

/* Override width in Firefox */
@-moz-document url-prefix() {
    .carousel-img-frame {
        width: auto; /* Remove the width property or set to auto */
        aspect-ratio: 3 / 1; /* Use aspect-ratio instead */
    }
}


@media (max-width: 1024px) and (orientation: portrait) {
    .carousel-img-frame {
        width: auto;
        /* Adjust width for portrait mode */
        height: 400px;
        /* Set height to 100% */
    }
}

.text-shadow {
    text-shadow: 2px 2px 25px #222;
    /* -webkit-text-stroke: 1px #333;  */
}

.color-mint {
    color: var(--mint);
}

body #toast-container > div { opacity: 1; }

/* Change the font for placeholder text */
input::placeholder, textarea::placeholder {
    font-size: 0.8rem; /* Adjust the font size as needed */
    color: lightgrey; /* Adjust the color as needed */
    font-style: small;
}

.btn-xsm {
    padding: 0.25rem 0.5rem; /* Adjust padding as needed */
    font-size: 0.75rem;      /* Adjust font size as needed */
    line-height: 1;        /* Adjust line height as needed */
}

.enlarge-on-hover-lg,
.enlarge-on-hover {
    transition: transform 0.5s ease;
}

.enlarge-on-hover:hover {
    transform: scale(1.05);
}

.enlarge-on-hover-lg:hover {
    transform: scale(1.1);
}

.custom-accordion-header {
    background: var(--sunset-horizonal-bg); /* Optional: Change the background color */
    border: none; /* Optional: Remove border */
}

/* Hide small screen ad by default */
.ad-small {
    display: none;
}

/* Show large screen ad by default */
.ad-large {
    display: block;
}

/* Media query for small screens */
@media (max-width: 767px) {
    /* Show small screen ad */
    .ad-small {
        display: block;
    }
    /* Hide large screen ad */
    .ad-large {
        display: none;
    }
}

.fade-in {
  opacity: 0;
  transition: opacity 1s;
}
.fade-in.visible {
  opacity: 1;
}