body {
    font-family: 'DM Sans', sans-serif !important;
    background-color: #F5F5F5;
}
.pr-warning {
    background-color: red;
}
.btn-bd-light {
    color: #6c757d;
    border-color: #dee2e6;
}
.btn-bd-light:hover{
  color: #7952b3;
    background-color: #fff;
    border-color: #7952b3;
}
  
.object-purple{
  background-color: #7749F8;
  color: #ffffff;
  font-weight: 500;
  /* font-size: 16px; */
}
.btn-view-all{
  background-color: #3a6df0;
  border: none;
    padding: 6px 20px;
    color: #fff;
    border-radius: 20px;
    cursor: pointer;
    transition: 0.3s;
    white-space: nowrap;
    font-size: 13px;
}
.btn.btn-rounded {
    border-radius: 30px;
    height: 30px;
    width: 30px;
}
.card-rating {
    background-color: #f0f0f0;
    /* padding-top: 5px; */
    /* padding-bottom: 5px; */
    border-radius: 5px;
    padding:10px;
    font-size: 0.9rem;
    display: inline-block;
}  
.swiper-container {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow: hidden; /* Prevent overflow */
}
.archive-swiper-container {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
}
  

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  width: 20%; /* Show 5 cards at a time, 100% / 5 = 20% */
}
.card-long {
background: #ffffff;
padding: 20px;
text-align: center;
border-radius: 8px;
/* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
box-shadow: 0 0px 0px 1px rgb(0 0 0 / 6%);
border: #DEE2E6;
}
.card-long-left {
background: #ffffff;
padding: 20px;
border-radius: 8px;
/* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
box-shadow: 0 0px 0px 1px rgb(0 0 0 / 6%);
border: #DEE2E6;
}
.card {
  background: #f8f8f8;
  padding: 20px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgb(0 0 0 / 5%);
  border: 1px solid #DEE2E6;
}

.card img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.card h3 {
  margin-top: 15px;
  font-size: 1.1em;
  font-weight:700;
  white-space: nowrap;         /* Prevents text from wrapping to the next line */
  overflow: hidden;            /* Hides the overflowed text */
  text-overflow: ellipsis;     /* Adds the ellipsis (...) at the end */
}

.card button {
  margin-top: 10px;
  /* padding: 10px 20px; */
  background-color: #007bff;
  color: #fff;
  border: none;
  /* border-radius: 4px; */
  cursor: pointer;
  padding: .25rem .5rem;
  font-size: .875rem;
  border-radius: .2rem;
}
/* Nav bar */
.nav-btn-group {
      display: flex;
      gap: 5px;
}
.title-col {
  display: flex;
  align-items: center;
  gap: 10px; /* space between the title and button */
  white-space: nowrap;
}
.input-group-custom {
      margin: 0px auto; /* 50px margin top and bottom, auto for horizontal centering */
      width: 70%;
      margin-bottom: 50px;;        /* Set the width of the input group to 70% */
}
.centered-image {
  text-align: center;  /* Center align the image */
  margin-bottom: 50px; /* Add some space between the image and the input field */
  margin-top: 70px;
}
.centered-image img {
  width: 120px;   /* Strict width of 300px */
  height: 120px;  /* Strict height of 300px */
  object-fit: cover; /* Ensures the image fills the 300x300 space, cropping if necessary */       /* Maintain image aspect ratio */
}
.badge-inline {
  display: inline-block; /* Prevents the badge from taking full width */
  width: auto; /* Ensure the width is auto */
  padding: 0.6em ; /* Adjust padding as needed */
  /* margin-bottom: 10px;  */
}
.card-custom{
  text-align: left;
  display: block;
  padding: 15px;
}    

/* Initially hide the banner */
.mobile-banner {
    display: none;
    background-color: #ffffff;
    color: #333;
    padding: 10px;
    margin-left: -1.5rem; /* Remove any default margin */
    margin-right: -1.5rem; /* Remove any default margin */
}

/* Display the banner only on screens with max width of 768px (typical mobile breakpoint) */
@media (max-width: 768px) {
    .mobile-banner {
        display: flex;
        justify-content: center;
    }
}
.mobile-banner .custom-search-form {
    background-color: #f5f5f5;
    width: 300px;
    height: 44px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 15px;
}

.mobile-banner form > input[type="text"] {
    all: unset;
    font: 16px system-ui;
    height: 100%;
    width: 100%;
    padding: 6px 10px;
    background-color: transparent !important;
}

.mobile-banner form > input[type="text"]::placeholder {
    color: #000000;
    opacity: 1;
}

.mobile-banner .custom-search-input::placeholder {
    color: #000000;
    opacity: 1; 
}

.mobile-banner .custom-search-icon {
    color: #4654e1;
    fill: currentColor;
    width: 24px;
    height: 24px;
    padding: 10px;
}

.mobile-banner .custom-search-button {
    all: unset;
    cursor: pointer;
    width: 44px;
    height: 44px;
}
/* Desktop Search */
.desktop-search {
    display: none;
    background-color: #ffffff;
    color: #333;
    padding: 10px;
    width: 100%; /* Ensure it takes full width */
    margin: 0; /* Remove any default margin */
}

/* Display the banner only on screens wider than 768px (PC) */
@media (min-width: 769px) {
    .desktop-search {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

/* Hide the desktop search on screens with max width of 768px (tablets and mobiles) */
@media (max-width: 768px) {
    .desktop-search {
        display: none;
    }
}
.desktop-search .custom-search-form {
    background-color: #f5f5f5;
    width: 300px;
    height: 44px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.desktop-search form > input[type="text"] {
    all: unset;
    font: 16px system-ui;
    height: 100%;
    width: 100%;
    padding: 6px 10px;
    background-color: transparent !important;
}

.desktop-search form > input[type="text"]::placeholder {
    color: #000000;
    opacity: 1;
}

.desktop-search .custom-search-input::placeholder {
    color: #000000;
    opacity: 1; 
}

.desktop-search .custom-search-icon {
    color: #4654e1;
    fill: currentColor;
    width: 24px;
    height: 24px;
    padding: 10px;
}

.desktop-search .custom-search-button {
    all: unset;
    cursor: pointer;
    width: 44px;
    height: 44px;
}

/* Single Page Key Value CSS */
.key-value-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.key-value {
    font-weight: 500; /* Optional: make the key bold */
}

@media (min-width: 769px) {
    .container {
        --bs-gutter-x: 0rem;
    }
}
/* Custom class to set 20% width for large screens */
.w-lg-20 {
    width: 50%;
    padding-right: calc(var(--bs-gutter-x)* .1) !important;
    padding-left: calc(var(--bs-gutter-x)* .1) !important;
}

@media (min-width: 769px) {
    .w-lg-20 {
        width: 20%;
        padding-right: calc(var(--bs-gutter-x)* .3) !important;
        padding-left: calc(var(--bs-gutter-x)* .3) !important;
    }    
}

/* Custom class to set 20% width for large screens */
.w2-lg-20 {
    width: 100%;
    padding-right: calc(var(--bs-gutter-x)* .1) !important;
    padding-left: calc(var(--bs-gutter-x)* .1) !important;
}

@media (min-width: 769px) {
    .w2-lg-20 {
        width: 20%;
        padding-right: calc(var(--bs-gutter-x)* .3) !important;
        padding-left: calc(var(--bs-gutter-x)* .3) !important;
    }    
}

/* PR Reviews Styles */
.rating-count{
    font-size: 15px;
}
.rating-stars{
    color: #ffc107;
    font-size: 22px;
}

.rating-bg{
    background-color: #f0f0f0;
    border-radius: 5px;
    font-size: 0.9rem;
    display: inline-block;
}