body {
    background-color: #e5e6e7;
    font-family: "Public Sans", sans-serif;
}

h1.main-title {
    text-align: center;
    padding: 50px 0 0 0;
    font-weight: bold;
    font-family: "Public Sans", sans-serif;
    ;
    font-size: 42px;
}

.custom-radio {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    user-select: none;
}

.custom-radio.selected {
    background-color: #39589f;
    color: #fff;
    border-color: #39589f;
}

.custom-radio input[type="radio"] {
    display: none;
}

.btn.blue.fill-blue {
    background-color: #39589f;
    color: #fff;
    padding: 5px 30px;
}

.button-row .form-group {
    margin-bottom: 0;
}

header ul.menu {
    display: flex;
    list-style-type: none;
    margin: 0;
    align-items: center;
}

header ul.menu li a {
    color: #495057;
    display: block;
    padding: 20px 30px;
    text-decoration: none;
    border-top: solid 2px transparent;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

header ul.menu li a:hover {
    border-top: solid 2px #dc3545;
}

/* .carousel-item {
    height: 600px;
    background-size: cover;
    background-position: center center;
} */
/* .carousel-item {
    height: 400px;
    background-size: cover;
    background-position: center center;
    background: #16305b;
} */
.carousel-item {
    height: 400px;
    background-size: cover;
    background-position: center center;
    background: #dfe0e2;
    background-image: url(../images/h_bg.png);
    background-repeat: no-repeat;
    background-position: bottom;
}

.carousel-caption {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    z-index: 10;
}

.carousel-caption h1, .carousel-caption p {
    animation: fadeIn 1s ease-in-out;
    color: #313131;
}
.carousel-caption p{
   color: #585757
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header {
    background-color: #ffffff;
    padding: 0;
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
}

.top-header {
    background-color: #147e25;
}

.top-header a {
    color: #fff;
    padding: 0 20px;
}

.header>.container {
    display: flex;
    justify-content: space-between;
}

.header .h-right {
    gap: 10px;
    display: flex;
    align-items: center;
}
.header .h-right .toggle-button{
    display: none;
}

.search-field {
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    gap: 6px;
    max-height: 84px;
    display: flex;
    flex: 0 0 50em;
    padding: 0;
    position: relative;
    border-radius: 8px;
    margin: auto;
    position: absolute;
    /* top: 50%; */
    top: 42%;
    max-width: 820px;
    padding: 8px;
    background: #eee;
    box-shadow: 0 3px 11px 5px rgb(0 0 0 / 51%), 0 0 0 1px rgba(0, 0, 0, 0.08);
    transition: box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1);
    color: #f2f2f2;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: #16305b57;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.search-field button {
    max-width: 125px;
    padding: 16px 20px;
    position: absolute;
    right: 8px;
    top: 8px;
    background-color: #dc3545;
    border: solid 2px #dc3545;
    border-radius: 0 4px 4px 0;
}

.search-field .form-control {
    border-radius: 0 6px 6px 0;
    padding: 0.675rem 0.95rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 6;
    height: 60px;
    box-shadow: none;
    padding-right: 130px;
    border: none;
}

.search-field .form-select {
    max-width: 220px;
    padding: 10px 35px 10px 15px;
    height: 60px;
    border: none;
    border-radius: 6px 0 0 6px;
}

.search-field .form-select:focus,
.search-field .form-control:focus {
    border: none;
    box-shadow: none;
}

.search-field .form-select,
.search-field .form-control {
    border: none;
    box-shadow: none !important;
}

.item-box {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 20px;
    position: relative;
}

.item-box img {
    width: 100%;
    height: auto;
}

.item-box a {
    text-decoration: none;
    display: block;
}

.item-box h5 {
    color: #464646;
    font-family: "Public Sans", sans-serif;
    margin-top: 10px;
    font-size: 18px;
}
.no-results{
    background: #fff;
    padding: 30px;
}
/* .favorite-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    padding: 5px;
}

.favorite-icon:hover {
    background: rgba(255, 255, 255, 1);
}
.favourite svg {
    width: 24px;
    height: 24px;
    fill: #ccc;
    transition: fill 0.3s ease;
}

.favourite.active svg {
    fill: #ff4d4d;
}

.favourite:hover svg {
    fill: #ff4d4d;
} */

.card-favourites {
    position: relative;
  }
  
  .favourite {
    position: relative;
    display: inline-block;
  }
  
  .favourite svg {
    width: 24px;
    height: 24px;
    fill: #ccc;
    transition: fill 0.3s ease, transform 0.2s ease;
  }
  
  .favourite.active svg {
    fill: #ff4d4d;
    transform: scale(1.2);
  }
  
  .favourite:hover svg {
    fill: #ff4d4d;
  }
  
  /* Particles Container */
  .particles {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  
  /* Individual Particles */
  .particles span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    background: #ff4d4d;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
  }
  
  /* Particle Animation when favorite is active */
  .favourite.active .particles span {
    animation: particle-burst 0.6s ease-out forwards;
  }
  .favourite.active .particles span:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg); }
.favourite.active .particles span:nth-child(2) { transform: translate(-50%, -50%) rotate(60deg); }
.favourite.active .particles span:nth-child(3) { transform: translate(-50%, -50%) rotate(120deg); }
.favourite.active .particles span:nth-child(4) { transform: translate(-50%, -50%) rotate(180deg); }
.favourite.active .particles span:nth-child(5) { transform: translate(-50%, -50%) rotate(240deg); }
.favourite.active .particles span:nth-child(6) { transform: translate(-50%, -50%) rotate(300deg); }

@keyframes particle-burst {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0) rotate(var(--rotation));
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2) rotate(var(--rotation));
  }
}

/* Add a bounce effect to the heart when activated */
.favourite.active svg {
  animation: heart-bounce 0.3s ease forwards;
}

@keyframes heart-bounce {
  0% { transform: scale(1); }
  50% { transform: scale(1.4); }
  100% { transform: scale(1.2); }
}

footer {
    background-color: rgb(0 0 0 / 8%);
    color: #f0f0f0;
    padding: 50px 0 20px;
    font-family: "Public Sans", sans-serif;
    background-image: url(../images/h_bg.png);
    background-repeat: repeat-x;
    background-position: bottom;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-section {
    flex: 1;
    min-width: 250px;
    margin-bottom: 30px;
}

.footer-section h3 {
    color: #2d2d2d;
    font-size: 1.2em;
    margin-bottom: 20px;
    position: relative;
}
.footer-section h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 35px;
    height: 2px;
    background-color: #dc3545;
}
.footer-section ul {
    list-style: none;
    padding: 0;
}

.footer-section ul li {
    margin-bottom: 10px;
}

.footer-section ul li a {
    color: #3e3d3d;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-section ul li a:hover {
    color: #dc3545;
}

.footer-section ul li a i {
    margin-right: 5px;
    color: #545454;
}

footer .social-links {
    margin-bottom: 30px;
}

footer .social-links a {
    display: inline-block;
    width: 35px;
    height: 35px;
    background-color: #333;
    color: #fff;
    text-align: center;
    line-height: 35px;
    border-radius: 50%;
    margin-right: 10px;
    transition: all 0.3s ease;
}

footer .social-links a:hover {
    background-color: #dc3545;
    transform: translateY(-3px);
}

footer .newsletter h4 {
    margin-bottom: 8px;
    color: #333333;
}

footer .newsletter form {
    display: flex;
    background: #8686863b;
    padding: 5px;
    border-radius: 6px;
}
footer .newsletter input {
    flex-grow: 1;
    padding: 10px;
    border: none;
    border-radius: 3px 0 0 3px;
    outline: none;
}

footer .newsletter button {
    background-color: #dc3545;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 0 3px 3px 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

footer .newsletter button:hover {
    background-color: #2980b9;
}

.footer-bottom {
    text-align: center;
    margin-top: 10px;
    color: #222;
    padding-top: 30px;
    border-top: 1px solid #cfcfcf;
    position: relative;
}
.footer-bottom p{
    margin: 0;
}

footer .back-to-top {
    position: absolute;
    right: 20px;
    bottom: 20px;
    background-color: #dc3545;
    color: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

footer .back-to-top:hover {
    background-color: #2980b9;
}

.featured-category {
    background-size: cover;
    border-radius: 4px;
    background-position: center center;
    color: white;
    text-align: center;
    height: 350px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    margin-bottom: 50px;
}

.featured-category img {
    width: 100%;
}

.featured-category h3 {
    font-family: "Public Sans", sans-serif;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 35px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding-bottom: 30px;
}

.featured-category:hover h3 {
    transform: translateY(-5px);
    box-shadow: 0 10px 0 rgba(8, 128, 28, 0.7);
}

.card.card-info .card-header {
    color: #fff;
    background-color: rgb(29 54 111);
    font-size: 18px;
}

.product-box .card-img-top {
    height: 220px;
    background-size: cover;
    background-position: center;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.user-dashboard-wrapper {
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.user-dashboard-wrapper h1 {
    margin: 30px 10px 0 0;
    font-size: 2.25rem;
}

.user-dashboard-wrapper .form-group {
    margin-bottom: 1.5rem;
}

.user-dashboard-wrapper .thumbnail-container .btn {
    background: #dc3545;
    color: #fff;
    /* display: flex; */
    /* align-items: center; */
    font-size: 14px;
    padding: 0px 20px;
    width: 100px;
    border-radius: 0;
    margin-top: -4px;
    text-align: center;
    border-radius: 0 0 3px 3px;
}

.user-dashboard-wrapper .btn:hover {
    background-color: rgb(29 54 111);
}

.user-dashboard-wrapper .button-row {
    background: #eee;
    padding: 17px;
    display: flex;
    align-items: center;
    margin: 20px -17px -17px -17px;
    border: solid 1px #ccc;
    border-radius: 0 0 6px 6px;
}

.user-dashboard-wrapper .button-row .form-group {
    margin-bottom: 0;
}

.user-dropdown,
.user-menu {
    right: 0;
    cursor: pointer;
}

.user-menu {
    /* height: 40px; */
    border: solid 1px #c1c7d063;
    padding: 4px 13px 4px 4px;
    top: 0;
    z-index: 10;
    border-radius: 32px;
    position: relative;
    background: #dc3545;
}

.user-menu:hover {
    background-color: transparent;
    background-color: rgba(255, 255, 255, 0.1);
}

.user-menu-item {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.user-image-wrapper {
    height: 30px;
    background-color: transparent;
    z-index: 20;
}

.user-image {
    display: inline-block;
    margin-top: 0;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    overflow: hidden;
}

.user-name-wrapper {
    padding-left: 1rem;
}

.user-name-wrapper i {
    padding: 0 0.3rem;
}

.user-menu.show {
    background-color: transparent;
    background-color: #dc3545;
}

.user-menu.show .user-dropdown {
    box-shadow: -2px 4px 9px 5px #19181842;
    display: block;
}

.user-dropdown {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    position: absolute;
    top: 50px;
    display: none;
    right: 0;
    width: 220px;
    background-color: #fff;
    cursor: pointer;
}

.dropdown-item {
    color: #000;
    display: block;
    padding: 1rem;
    text-decoration: none;
}

.dropdown-item:active,
.dropdown-item:hover {
    background-color: #39589f29;
    color: #161616;
}

.dropdown-item span {
    color: #39589f;
    display: inline-block;
    width: 24px;
    text-align: center;
}

.user-profile {
    background: #eee;
    padding: 15px;
}

.user-profile img {
    border-radius: 6px;
}

.user-profile ul {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 15px 0;
    background: #ddd;
    padding: 20px;
    border-radius: 8px;
    border: solid 1px #ccc;
}

.user-profile ul li {
    padding: 10px 0;
    border-bottom: solid 1px #ccc;

    display: flex;
    align-items: center;
    gap: 10px;
}

.user-profile ul li:hover {
    color: #001770;
}

.user-profile ul a {
    color: rgb(76 80 86);
    text-decoration: none;
    display: block;
    width: 100%;
}

.highlight {
    border: 2px solid red;
    background-color: #fdd;
}

.error-message {
    color: red;
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

.btn-primary {
    background-color: #39589f;
    border: 2px solid #39589f;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
}

.btn-primary:hover {
    background-color: #16305b;
    /* Darker shade on hover */
    border-color: #0d2045;
    /* Darker border color on hover */
}

.btn-outline-primary {
    background-color: #b37f3a;
    border: 2px solid #e58d43;
    color: #fefeff;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.btn-outline-primary:hover {
    background-color: #f0f0f0;
    /* Light gray background on hover */
    border-color: #16305b;
    /* Slightly darker border color on hover */
    color: #16305b;
    /* Slightly darker text color on hover */
}

.btn-secondary {
    background-color: #188b4c;
    border: 2px solid #188b4c;
    color: white;
    /* Text color */
    padding: 10px 20px;
    /* Padding for the button */
    border-radius: 5px;
    /* Rounded corners */
    font-size: 16px;
    /* Font size */
    cursor: pointer;
    /* Pointer cursor on hover */
    transition: background-color 0.3s, border-color 0.3s;
    /* Smooth transition */
}

.btn-primary:hover {
    background-color: #16305b;
    /* Darker shade on hover */
    border-color: #0d2045;
    /* Darker border color on hover */
}

.light-wrapper {
    background-color: #fff;
}

.light-wrapper .container .row {
    align-items: center;flex-direction: row-reverse;
}

.light-wrapper .mobile-app {
    text-align: left;
}

.light-wrapper .slogan-wrapper {
    padding-left: 40px;
}

.light-wrapper .mobile-app img {
    max-width: 400px;
}

.mobile-apps {
    display: flex;
    gap: 15px;
    padding-top: 10px;
}

.signup .bg-holder {
    position: absolute;
    width: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.container.signup {
    max-width: 800px;
    background: #fff;
    padding: 40px;
    border-radius: 6px;
    border: solid 1px #7a8da240;
}

.container.signup #login-wrapper {
    align-items: center;
    display: flex;
}

.container.signup #login-wrapper .login-form {
    width: 375px;
}

.social-login {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.signup #register_wrapper {
    display: flex;
    align-items: center;
}

.signup #register-form {
    min-width: 360px;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #001770, #b400ff73);
}

.welcome-text h2 {
    font-size: 60px;
    text-transform: uppercase;
    font-weight: 700;
}

.welcome-text p {
    text-align: justify;
    padding: 25px;
    line-height: 30px;
}

.welcome-text-animation {
    background-image: linear-gradient(45deg,
            #231557 0%,
            #44107a 29%,
            #ff1361 67%,
            #fff800 100%);
    background-size: auto auto;
    background-clip: border-box;
    background-size: 200% auto;
    color: #fff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: textclip 8s linear infinite;
    display: inline-block;
}

.custom-caret {
    position: relative;
}

.custom-caret::after {
    content: "\f078";
    /* Unicode for Bootstrap caret */
    font-family: "FontAwesome";
    /* Assuming FontAwesome is included */
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
}

@keyframes textclip {
    to {
        background-position: 200% center;
    }
}

.right-side {
    background-color: rgb(255, 245, 240);
}

.logo img {
    width: 50%;
}

.divider-wrapper {
    height: 100%;
}

.divider {
    height: 100%;
    border-right: solid 1px #ccc;
    margin: 2rem;
    margin-top: 0;
}

.driver-content-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px 5px;
    background-color: #fff;
    font-size: 0.8rem;
    font-weight: 500;
    color: #001770;
}

.signup input.form-control {
    padding: 11px;
    border: none;
    border: 2px solid #405c7cb8;
    background-color: transparent;
    font-family: "Public Sans", sans-serif;
    ;
}

.signup input.form-control:focus {
    box-shadow: none !important;
    outline: 0px !important;
    background-color: transparent;
}

.signup input.form-check-input:checked {
    background-color: #1d366f;
    border: none;
    outline: none;
}

.form-check a {
    color: #000;
}

.signup button.login-btn {
    background: #1d366f;
    color: #fff;
    border: none;
    padding: 10px;
}

.signup button.login-btn:hover {
    background-color: #39c076;
}

.register-test a {
    color: #000;
}

.form-control,
.form-select {
    border: 2px solid #c8c8c8;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 9%);
}
.form-control:focus {

    border-color: #474747c9;
    outline: 0;
    box-shadow: none;
}
.error-panel {
    display: none;
    /* Initially hidden */
    padding: 10px;
    margin: 10px 0;
    border: 1px solid red;
    background-color: #fdd;
    color: red;
    border-radius: 5px;
}

.info-panel {
    padding: 10px;
    margin: 10px 0;
    border: 1px solid rgb(33, 135, 33);
    background-color: rgb(221, 255, 227);
    color: rgb(33, 135, 33);
    border-radius: 5px;
}

.thumbnail {
    width: 100px;
    height: 100px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid #ddd;
    margin-right: 10px;
    display: inline-block;
}

.thumbnail-container {
    margin-bottom: 10px;
    position: relative;
}

.thumbnail-container img {
    display: block;
}

.thumbnail-container .delete-icon {
    position: absolute;
    top: 26px;
    right: 37px;
    cursor: pointer;
    background: #222f3ee6;
    color: white;
    border-radius: 50%;
    padding: 0;
    font-size: 17px;
    width: 23px;
    display: none;
    text-align: center;
    /* display: flex; */
    height: 24px;
}

.delete-icon:hover {
    background: rgba(0, 0, 0, 0.7);
}

.ad-image {
    width: 200px;
    height: auto;
    object-fit: cover;
    /* border: solid 1px #ccc; */
    border-radius: 6px;
    max-height: 300px;
}

.ad-item {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
    position: relative;
    transition: opacity 0.5s ease-out;
}

.ad-item.unapproved {
    border: solid 1px #ff96a0;
    background: #dc35451f;
}

.ad-item.approved {
    border: solid 1px #aebeac;
    background: #4383641f;
}

.ad-item p {
    margin-bottom: 8px;
}

.ad-item.approved .ad-status {
    font-size: .75rem;
    color: #ffffff;
    background: #669366;
    padding: 3px 8px;
    border-radius: 21px;
    text-align: center;
}

.ad-item.unapproved .ad-status {
    font-size: .75rem;
    color: #f7aac1;
    background: rgb(128, 0, 28);
    padding: 3px 8px;
    border-radius: 21px;
    text-align: center;
}


.ad-item .ad-details h2 {
    word-break: break-all;
    font-size: 1.25rem;
    padding-right: 60px;
}

div.ad-item:hover {
    background: #9fb0b72b;
}

.ad-item.removing {
    opacity: 0;
}

.edit-button,
.delete-button {
    font-size: 1.2rem;
    text-decoration: none;
}

.edit-button {
    color: #007bff;
    /* Bootstrap primary color */
}

.delete-button {
    color: #dc3545;
    /* Bootstrap danger color */
    border: none;
    background: transparent;
}

.ad-content {
    display: flex;
    align-items: center;
}

.ad-details {
    margin-left: 15px;
}

.ad-actions {
    position: ABSOLUTE;
    top: 0;
    right: 10px;
}

.remove-favorite-button {
    color: #ff3200;
    background: #ff000063;
    font-size: 15px;
    padding: 5px 10px;
    border-radius: 6px;
    border: solid 1px #e63838;
    text-decoration: none;
}

.detail-section {
    background-color: #fff;
    padding: 0;
    margin-top: 100px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
    margin-bottom: 30px;
    border-radius: 4px;
}

.agent-info {
    margin-top: 100px;
    background: #fff;
    padding: 20px;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .1);

}

.agent-info img {
    max-width: 60px;
    border-radius: 50%;
}
.ads-details {
    padding: 20px;
    position: relative;
}
.ads-details .card-favourites{
    position: absolute;
    right: 20px;
    top: 55px;
 }
.ads-details h1 {
    font-size: 23px;
}
.ads-details h3 {
    font-size: 0.875REM;
    color: #6d6d6d;
    font-weight: 300;
    margin-bottom: 30px;
}
.ad-gallery {
    position: relative;
    width: 100%;
    height: auto;
    /* Adjust height as necessary */
}
.agent-info .agent-image {
    display: flex;
    align-items: center;
    gap: 10px;
    border: solid 1px #ccc;
    padding: 5px 10px;
    border-radius: 6px;
    justify-content: space-between;
    background: #f8f8f8;
}
.agent-info .agent-image .agent-details p {
    margin: 0;
    min-width: 240px;
    overflow: hidden;
    max-width: 254px;
}
.agent-info .agent-image .chevron{
    font-size: 2rem;
}
.agent-info  .phone-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    gap: 10px;
}
.agent-info  .phone-wrapper a {
    text-decoration: underline;
    color: #147e25;
    display: block;
    margin: 0;
    font-size: .825rem;
}
.agent-info  .phone-wrapper #phone{
    font-size: 18px;
    font-weight: 500;
    color: #39589f;
}
.slick-prev {
    left: 0 !important;
    z-index: 99;
}

.slick-next {
    right: 45px !important;
    z-index: 99;
}

.slick-prev:before,
.slick-next:before {
    font-size: 4rem !important;
}

.thumbnail-slider .slick-prev:before,
.thumbnail-slider .slick-next:before {
    font-size: 2rem !important;
}

.thumbnail-slider .slick-next {
    right: 15px !important;
}

.thumbnail-slider .slick-prev {
    left: 5px !important;
}

.slick-next:before,
.slick-prev:before {

    opacity: 1;
    color: #ffffff61;

}

.main-slider .slide {
    border-radius: 4px 4px 0 0;
}

.main-slider,
.thumbnail-slider {
    width: 100%;
    margin-top: 15px;
}

.main-slider .slide,
.thumbnail-slider .thumbnail {
    background-size: cover;
    background-position: center;
    height: 100%;
    opacity: 50%;
    /* Fill parent height */
}

.thumbnail {
    cursor: pointer;
    /* opacity: 0.6; */
    transition: opacity 0.3s;
    height: 80px;
    /* Thumbnail height */
}

.thumbnail.active {
    opacity: 1;
}

.slick-track {
    height: 450px;
}

.thumbnail-slider .slick-track {
    height: 100px;
}

.no-items-panel {
    margin-bottom: 0;
    border: solid 2px #e1e1e1;
    padding: 30px;
    text-align: center;
    font-size: 1.25rem;
    background: #f5f5f5;
    color: #797979;
}

#cropperDialogOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

/* Container for cropper dialog */
#cropperContainer {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    max-width: 85vw;
    max-height: 95vh;
    overflow: hidden;
    /* Prevent scroll bars */
    box-sizing: border-box;
}

/* Image within cropper */
#image {
    max-width: 100%;
    max-height: 70vh;
    /* Ensure the image fits within the viewport */
    display: block;
    margin: 0 auto;
}

/* Crop button styles */
#cropButton,
#cancelButton {
    margin: 10px;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
}

/* Style for crop button */
#cropButton {
    background-color: #28a745;
}

/* Style for cancel button */
#cancelButton {
    background-color: #dc3545;
}

/* Cropped image preview */
#croppedImagePreview {
    max-width: 100%;
    margin-top: 10px;
    display: none;
}

.contact {
    padding: 30px;
    max-width: 1000px;
    margin: 100px auto 30px auto;
    background: #fff;
    border-radius: 6px;
}

.contact .heading h2 {
    font-size: 30px;
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.contact .heading h2 span {
    color: #ff9100;
}

.contact .heading p {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: #999999;
    margin: 20px 0 60px;
    padding: 0;
}

.contact .form-group {
    margin-bottom: 1rem;
}

.contact .title h3 {
    font-size: 18px;
    font-weight: 600;
}

.contact .title p {
    font-size: 14px;
    font-weight: 400;
    color: #999;
    line-height: 1.6;
    margin: 0 0 40px;
}

.contact .content .info {
    margin-top: 30px;
}

.contact .content .info i {
    font-size: 30px;
    padding: 0;
    margin: 0;
    color: #02434b;
    margin-right: 20px;
    text-align: center;
    width: 20px;
}

.contact .content .info h4 {
    font-size: 13px;
    line-height: 1.4;
}

.contact .content .info h4 span {
    font-size: 13px;
    font-weight: 300;
    color: #999999;
}

.container.search-results {
    background-color: transparent;
    margin-top: 60px;
    margin-bottom: 30px;
    padding: 20px;
    border-radius: 6px;
}

.container.search-results h1 {
    font-size: 26px;
}

.ctrl-attr {
    display: flex;
    justify-content: space-between;
}

.item {
    border: 0px solid #e3e3e3;
    padding: 15px;
    margin: 15px 0 15px 10px;
    display: flex;
    gap: 10px;
    background: #fdfdfd;
    border-radius: 0;
    transition: .3s ease-in-out;
    box-shadow: 0 0 1px rgba(0, 0, 0, .1);
}

.item:hover{
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, .2);
}

.item h3 a {
    font-size: 17px;
    text-decoration: none;
    color: #39589f;
}

.item h3 a:hover {
    color: #dc3545;
}

.item p {
    font-size: .875rem;
    margin-bottom: 3px;
}

.item p.price {
    font-size: 16px;
    font-weight: bold;
    color: #198754;
}

.item p.additional-info {
    opacity: .7;
}

.item img {
    width: 120px;
    height: auto;
    border-radius: 0;
    margin: 0;
}

.pagination a.active {
    font-weight: bold;
    text-decoration: underline;
}

.filter-section {
    margin-bottom: 0px;
    border: solid 0px #ccc;
    padding: 20px;
    border-radius: 3px;
    background: #fdfdfd8a;
}

.filter-section .form-control,
.filter-section .form-select {
    border: 2px solid #b8b8b8;
    box-shadow: none;
    padding: .175rem 1rem .175rem .75rem;
    font-size: .875rem;
}

.filter-section .form-control {
    padding: .175rem .75rem;
}

.filter-section .btn.btn-primary, 
.filter-section .btn.btn-secondary {
    padding: 5px 20px;

}

.filter-group {
    border-top: solid 1px #ccc;
}

.filter-group-content {
    display: none;
    padding-bottom: 15px;
}
.filter-group-content .btn {
padding: 10px 20px;
height: 28px;
font-size: .875rem;
line-height: 2;
display: flex;
align-items: center;
justify-content: flex-end;
}

.filter-group h3 {
    cursor: pointer;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 15px 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
}

.filter-group h3.rotate i {
    transform: rotate(180deg);
    transition: .3s;
}

.glass {
    position: absolute;
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
    bottom: 0;
    left: 50%;
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: max-content;
    padding: 20px;
    color: #f2f2f2;
    border-radius: 8px 8px 0 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    z-index: 2;
}

/* For input fields */
input::placeholder {
    color: rgba(0, 0, 0, 0.4);
    /* Adjust the RGBA value to control opacity */
}

/* For textareas */
textarea::placeholder {
    color: rgba(0, 0, 0, 0.4);
    /* Adjust the RGBA value to control opacity */
}

header .btn-outline-primary {
    background-color: #dc3545;
    border: 2px solid #dc3545;
    color: #fefeff;
    padding: 5px 15px;
    border-radius: 32px;
}
header .btn-primary {
    border-radius: 32px;
    padding: 5px 15px;
}

header .btn-primary:hover {
    background-color: #f0f0f0;
    border-color: #16305b;
    color: #16305b;
}

.user-menu:hover {
    background-color: #1d366f;
    border-color: #16305b;
    color: #ffffff;
}

.product-box {
    margin-bottom: 20px;
    border-radius: 0;
    font: 13px/23px "Raleway", Arial, sans-serif;
    color: #303336;
    padding: 0;
    box-shadow: none;
    transition-duration: 0.3s;
    /* border: solid 1px #dcdcdc; */
}

.product-box a {
    color: #303336;
    text-decoration: none;
}

.product-box:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.product-box .container {
    margin: 0 auto;
    width: 100%;
    height: auto;
    background: white;
    border-radius: 6px;
    position: relative;
    padding: 0;
}

.product-box .container img {
    border-radius: 3px 3px 0 0;
    width: 100%;
}

.product-box .price {
    color: rgb(72, 72, 72);
    text-align: left;
    padding: 5px 0;
    font-size: 16px;
    border-radius: 2px;
    font-weight: bold;
    text-transform: capitalize;
}
.product-box .card-city-name{
    margin-bottom: 0;
}
.product-box .card-favourites{
   position: absolute;
   right: 10px;
   bottom: 55px;
}
.card-favourites svg{
    fill:#aaa;
    cursor: pointer;
     width: 24px;
      height: 24px;
       display: block;
 }
.card-favourites svg:hover, .card-favourites.active svg{
    fill: #e63838;
 }
 .product-box .footer {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    background: #ffffff;
    height: 46px;
    align-items: center;
    border-top: solid 1px #e6e6e6;
    margin: 0 10px;
}

.product-box .footer p {
    margin-bottom: 0;
    color: #77828b;
}

.product-box .price div {
    margin-top: 5px;
    font-weight: bold;
}

.product-box .information {
    text-align: left;
    margin-top: 15px;
    padding: 5px 15px;
}

.product-box .name {
    color: #4c4c4c;
    font-family: "Nunito", sans-serif;
    font-size: 18px;
    margin-bottom: 10px;
    height: 46px;
    justify-content: left;
    text-align: left;
    opacity: 1;
    font-weight: 700;
}

.product-box .store {
    font-size: 14px;
    color: #888888;
    margin-bottom: 12px;
    height: 46px;
    /* display: flex; */
    /* align-items: center; */
}

.product-box .button {
    text-decoration: none;
    background: #49B956;
    color: white;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 54px;
    border-radius: 5px;
}

.product-box .button:hover {
    background: #60CF6F;
}

section.contact-page-sec {
    background-color: #eee;
    padding: 60px 0;
    min-height: 100vh;
}

.contact-info {
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
}

.contact-info-icon {
    margin-bottom: 15px;
}

.contact-info-item {
    background: #ffffff;
    padding: 30px 0px;
    border: solid 2px #e2e5e6;
    border-radius: 6px;
    transition-duration: 0.3s;
    /* box-shadow: -2px 2px 10px 0px rgb(68 68 68 / 20%); */
}

.contact-info-item:hover {
    border: solid 2px #e2e5e6;
    box-shadow: -2px 2px 10px 0px rgb(68 68 68 / 20%);
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
}

.contact-page-sec .contact-page-form h2 {
    color: #071c34;
    text-transform: capitalize;
    font-size: 22px;
    font-weight: 700;
}

.contact-page-form .col-md-6.col-sm-6.col-xs-12 {
    padding-left: 0;
}

.contact-page-form.contact-form input {
    margin-bottom: 5px;
}

.contact-page-form.contact-form textarea {
    height: 110px;
}

.contact-page-form.contact-form input[type="submit"] {
    background: #071c34;
    width: 150px;
    border-color: #071c34;
}

.contact-info-icon i {
    font-size: 48px;
    color: #dc3545eb;
}
.contact-info-text p {
    margin-bottom: 0px;
}

.contact-info-text h2 {
    font-family: "Nunito", sans-serif;
    color: #474646;
    font-size: 22px;
    text-transform: capitalize;
    font-weight: 600;
    margin-bottom: 10px;
}

.contact-info-text span {
    color: #98a8ae;
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    width: 100%;
}

.contact-page-form input {
    background: #f9f9f9 none repeat scroll 0 0;
    border: 1px solid #f9f9f9;
    margin-bottom: 20px;
    padding: 12px 16px;
    width: 100%;
    border-radius: 4px;
}

.contact-page-form .message-input {
    display: inline-block;
    width: 100%;
    padding-left: 0;
}

.search-field .bi-search:before {
    font-weight: bold !important;
}

.search-field form {
    display: flex;
    width: 100%;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    /* Compensate for excess margin on outer gallery flex items */
    margin: -1rem -1rem;
}

.gallery-item {
    /* Minimum width of 24rem and grow to fit available space */
    flex: 1 0 24rem;
    /* Margin value should be half of grid-gap value as margins on flex items don't collapse */
    margin: 1rem;
    /* box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4); */
    overflow: hidden;
}

.gallery-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 400ms ease-out;
}

.gallery-image:hover {
    transform: scale(1.15);
}

.mt-80 {
    margin-top: 80px;
}

.mt-120 {
    margin-top: 120px;
}

@supports (display: grid) {
    .gallery {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
        grid-gap: 2rem;
    }

    .gallery,
    .gallery-item {
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;

    }

    .gallery-item h4 {
        position: absolute;
        color: #fff;
        text-shadow: 2px 2px 8px #000000;
        z-index: 9;

    }
}


[id='toggle-heart'] {
    position: absolute;
    left: -100vw;
}

[id='toggle-heart']:checked+label {
    color: #e2264d;
    filter: none;
    will-change: font-size;
    -webkit-animation: heart 1s cubic-bezier(0.17, 0.89, 0.32, 1.49);
    animation: heart 1s cubic-bezier(0.17, 0.89, 0.32, 1.49);
}

[id='toggle-heart']:checked+label:before,
[id='toggle-heart']:checked+label:after {
    -webkit-animation: inherit;
    animation: inherit;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

[id='toggle-heart']:checked+label:before {
    will-change: transform, border-width, border-color;
    -webkit-animation-name: bubble;
    animation-name: bubble;
}

[id='toggle-heart']:checked+label:after {
    will-change: opacity, box-shadow;
    -webkit-animation-name: sparkles;
    animation-name: sparkles;
}

[id='toggle-heart']:focus+label {
    text-shadow: 0 0 3px white, 0 1px 1px white, 0 -1px 1px white, 1px 0 1px white, -1px 0 1px white;
}

[for='toggle-heart'] {
    align-self: center;
    position: relative;
    color: #888;
    font-size: 2em;
    filter: grayscale(1);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    position: absolute;
    z-index: 999;
    right: 10px;
    bottom: 10px;

}

[for='toggle-heart']:before,
[for='toggle-heart']:after {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    content: '';
}

[for='toggle-heart']:before {
    box-sizing: border-box;
    margin: -2.25rem;
    border: solid 2.25rem #e2264d;
    width: 4.5rem;
    height: 4.5rem;
    transform: scale(0);
}

[for='toggle-heart']:after {
    margin: -0.1875rem;
    width: 0.375rem;
    height: 0.375rem;
    box-shadow: 0.32476rem -3rem 0 -0.1875rem #ff8080, -0.32476rem -2.625rem 0 -0.1875rem #ffed80, 2.54798rem -1.61656rem 0 -0.1875rem #ffed80, 1.84982rem -1.89057rem 0 -0.1875rem #a4ff80, 2.85252rem 0.98418rem 0 -0.1875rem #a4ff80, 2.63145rem 0.2675rem 0 -0.1875rem #80ffc8, 1.00905rem 2.84381rem 0 -0.1875rem #80ffc8, 1.43154rem 2.22414rem 0 -0.1875rem #80c8ff, -1.59425rem 2.562rem 0 -0.1875rem #80c8ff, -0.84635rem 2.50595rem 0 -0.1875rem #a480ff, -2.99705rem 0.35095rem 0 -0.1875rem #a480ff, -2.48692rem 0.90073rem 0 -0.1875rem #ff80ed, -2.14301rem -2.12438rem 0 -0.1875rem #ff80ed, -2.25479rem -1.38275rem 0 -0.1875rem #ff8080;
}

@-webkit-keyframes heart {

    0%,
    17.5% {
        font-size: 0;
    }
}

@keyframes heart {

    0%,
    17.5% {
        font-size: 0;
    }
}

@-webkit-keyframes bubble {
    15% {
        transform: scale(1);
        border-color: #cc8ef5;
        border-width: 2.25rem;
    }

    30%,
    100% {
        transform: scale(1);
        border-color: #cc8ef5;
        border-width: 0;
    }
}

@keyframes bubble {
    15% {
        transform: scale(1);
        border-color: #cc8ef5;
        border-width: 2.25rem;
    }

    30%,
    100% {
        transform: scale(1);
        border-color: #cc8ef5;
        border-width: 0;
    }
}

@-webkit-keyframes sparkles {

    0%,
    20% {
        opacity: 0;
    }

    25% {
        opacity: 1;
        box-shadow: 0.32476rem -2.4375rem 0 0rem #ff8080, -0.32476rem -2.0625rem 0 0rem #ffed80, 2.1082rem -1.26585rem 0 0rem #ffed80, 1.41004rem -1.53985rem 0 0rem #a4ff80, 2.30412rem 0.85901rem 0 0rem #a4ff80, 2.08305rem 0.14233rem 0 0rem #80ffc8, 0.76499rem 2.33702rem 0 0rem #80ffc8, 1.18748rem 1.71734rem 0 0rem #80c8ff, -1.35019rem 2.0552rem 0 0rem #80c8ff, -0.60229rem 1.99916rem 0 0rem #a480ff, -2.44865rem 0.22578rem 0 0rem #a480ff, -1.93852rem 0.77557rem 0 0rem #ff80ed, -1.70323rem -1.77366rem 0 0rem #ff80ed, -1.81501rem -1.03204rem 0 0rem #ff8080;
    }
}

@keyframes sparkles {

    0%,
    20% {
        opacity: 0;
    }

    25% {
        opacity: 1;
        box-shadow: 0.32476rem -2.4375rem 0 0rem #ff8080, -0.32476rem -2.0625rem 0 0rem #ffed80, 2.1082rem -1.26585rem 0 0rem #ffed80, 1.41004rem -1.53985rem 0 0rem #a4ff80, 2.30412rem 0.85901rem 0 0rem #a4ff80, 2.08305rem 0.14233rem 0 0rem #80ffc8, 0.76499rem 2.33702rem 0 0rem #80ffc8, 1.18748rem 1.71734rem 0 0rem #80c8ff, -1.35019rem 2.0552rem 0 0rem #80c8ff, -0.60229rem 1.99916rem 0 0rem #a480ff, -2.44865rem 0.22578rem 0 0rem #a480ff, -1.93852rem 0.77557rem 0 0rem #ff80ed, -1.70323rem -1.77366rem 0 0rem #ff80ed, -1.81501rem -1.03204rem 0 0rem #ff8080;
    }
}

.spinner-outer {
    width: 65px;
    height: 65px;
    border: 6px solid;
    border-color: #dc3545 transparent #dc3545 transparent;
    border-radius: 50%;
    position: absolute;
    animation: clockwise 1.5s linear infinite;
}

.spinner-inner {
    width: 30px;
    height: 30px;
    border: 6px solid;
    border-color: transparent #39589f transparent #39589f;
    border-radius: 50%;
    position: absolute;
    animation: counterClockwise 1.5s linear infinite;
    margin-top: 17px;
    margin-left: 17px;
}

@keyframes clockwise {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes counterClockwise {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(-360deg);
    }
}