@import url('https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --primaryGreen: #216c53;
    --secondaryGreen: #368f4d;
    --primaryWhite: #f2f1f4;
    --secondarWhite: #e8e7ed;
    --primaryDark: #191919;
    --starColor: #FFD700;
}

body {
    font-family: "Lato", sans-serif;
    color: var(--primaryDark);
    background-color: var(--secondarWhite);
}

p {
    font-family: "Poppins", serif;
}


/* -- NAVBAR -- */
.logo {
    font-size: 19px;
    color: var(--primaryDark);
}

.logo2 {
    font-weight: 700;
    color: var(--primaryGreen);
}

.primary-green {
    color: var(--primaryGreen);
}

.transparent-nav {
    background-color: rgb(238, 239, 240, 50%) !important; /* Ensure transparency */
    backdrop-filter: blur(4px); /* Apply blur effect */
    -webkit-backdrop-filter: blur(4px); /* Add for Safari compatibility */
}

.nav-item {
    padding: 0 10px;
}

.nav-link {
    color: var(--primaryDark) !important;
    font-weight: bold;
    font-size: 16px;
}

.nav-link:hover {
    color: var(--primaryGreen) !important;
}

.navbar-toggler-icon {
    height: 15px;
    width: 16px;
    margin-bottom: 2px;
    margin-top: 2px;
}

.navbar-toggler {
    background-color: var(--primaryGreen);
}

.nav-item .active {
    color: var(--primaryGreen) !important;
}


/* -- HOMEPAGE -- */
.home-banner {
    background: url('../images/home-banner.png') no-repeat fixed top center;
    background-size: contain;
}

.home-banner-inner {
    text-align: right;
    padding-bottom: 11%;
    padding-top: 11%;
    padding-right: 10%;
}

.home-banner-inner h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.about-section {
    text-align: left;
}


/* -- HOMEPAGE ABOUT -- */
.about-section h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
    padding-left: 20%;
}

.about-section p {
    padding-left: 20%;
}

.home-category {
    background-color: var(--primaryWhite);
    padding: 1% 0;
}

.home-category h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.home-category .pagination {
    --bs-pagination-color: var(--primaryDark);
    --bs-pagination-focus-color: var(--primaryGreen);
    --bs-pagination-hover-color: none;
    --bs-pagination-active-bg: none;
    --bs-pagination-active-border-color: none;
    --bs-pagination-focus-box-shadow: none;
}

.home-category .page-link {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    color: var(--primaryDark);
    border: none;
    background-color: transparent;
}

.home-category .active > .page-link,
.page-link.active {
    font-weight: bold;
    color: var(--primaryGreen);
}

/* -- HOMEPAGE SEARCH -- */
.search-facilities {
    background: url('../images/search-background.png') no-repeat top center;
    background-size: cover;
    padding-top: 10% !important;
    padding-bottom: 10% !important;
}

.search-facilities h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.search-facilities .input-group .btn {
    font-size: 15px;
    border: 1px solid #ced4da;
    background-color: rgba(0, 128, 0, 0.66);
    color: white;
}

.search-facilities .input-group .btn:hover {
    background-color: var(--primaryGreen);
}

.search-facilities .dropdown-item {
    font-size: 14px;
}

input:focus {
    outline: none !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
}

.form-select:focus {
    outline: none !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
}

.input-group-text {
    background-color: var(--primaryGreen);
    border: 1px solid #216c53 !important;
}

.pagination {
    --bs-pagination-color: var(--primaryDark);
    --bs-pagination-focus-color: var(--primaryDark);
    --bs-pagination-hover-color: var(--primaryDark);
    --bs-pagination-active-bg: var(--secondaryGreen);
    --bs-pagination-active-border-color: var(--secondaryGreen);
    --bs-pagination-focus-box-shadow: none;
}

.page-link {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    color: var(--primaryDark);
}

/* -- HOMEPAGE END -- */

/* tighten up the spacing around the distance line */
p.distance {
    font-size: 11px;
    margin-top: -10px;
    margin-bottom: -10px;
}

/* remove green check on all valid form‑controls */
.form-control.is-valid,
.was-validated .form-control:valid {
    background-image: none !important;
    /* if you need to restore your original padding: */
    /* padding-right: 0.75rem; */
}

/* if you only want to target your captcha input */
#captcha-form.is-valid {
    background-image: none !important;
}


/* -- ADMIN DASHBOARD -- */
.dashboard-banner {
    background: url('../images/dashboard-banner.png') no-repeat fixed top center;
    background-size: contain;
}

.dashboard-banner-inner {
    padding-top: 10%;
    padding-bottom: 10%;
    padding-left: 30%;
    text-align: center;
}

.dashboard-banner-inner h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.dashboard-facilities-list {
    background-color: white;
    padding-top: 5% !important;
    padding-bottom: 5% !important;
}

.dashboard-facilities-list .custom-btn-1,
.dashboard-facilities-list .custom-btn-3,
.dashboard-facilities-list .custom-btn-4 {
    font-size: 12px;
    padding: 2px 20px 3px 20px;
}

.dashboard-facilities-list h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.dashboard-facilities-input {
    padding-left: 5%;
}

.dashboard-facilities-list .pagination {
    --bs-pagination-color: var(--primaryDark);
    --bs-pagination-focus-color: var(--primaryGreen);
    --bs-pagination-hover-color: none;
    --bs-pagination-active-bg: none;
    --bs-pagination-active-border-color: none;
    --bs-pagination-focus-box-shadow: none;
}

.dashboard-facilities-list .page-link {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    color: var(--primaryDark);
    border: none;
    background-color: transparent;
}

.dashboard-facilities-list .active > .page-link,
.page-link.active {
    font-weight: bold;
    color: var(--primaryGreen);
}

/* -- ADMIN DASHBOARD END -- */


/* -- FACILITIES INFO -- */

/* Container for responsive map */
.map-container {
    position: relative;
    width: 100%;
    height: 450px;
    overflow: hidden;
}

/* Style for iframe to take full width and height within its container */
.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* The iframe will take up 100% of the container height */
}

.fit-image {
    width: 100%; /* Make the image take full width of its container */
    height: 220px; /* Set a fixed height for the image */
    object-fit: cover;
    border-radius: 15px;
}

.facilities-info-main h1 {
    font-weight: 900;
    font-size: 56px;
    line-height: 1.2;
}

.facilities-info-status .title {
    font-family: "Lato", sans-serif;
    font-weight: bold;
    font-size: 20px;

}

.facilities-info-status .sub-title {
    font-family: "Lato", sans-serif;
    font-weight: normal;
    font-size: 12px;
}

.comment .comment-box {
    border-radius: 6px;
}

.status-comment {
    font-size: 14px;
}

.star-rating {
    font-size: 20px;
    color: var(--starColor);
}

.star-rating .star {
    color: gray;
    font-size: 25px;
    cursor: pointer;
    user-select: none;
}

.star-rating .star.filled {
    color: gold;
    border: 1px goldenrod;
}

.review-icon {
    font-size: 14px;
}

.review-icon img {
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

.delete-review {
    font-size: 12px;
}

.comment-date {
    font-size: 12px;
}

.form-control:focus {
    box-shadow: none;
    border-color: var(--primaryGreen);
}

/* -- FACILITIES INFO END -- */


/* -- ECO FACILITIES -- */
.display-facilities {
    background-color: white;
}

.display-facilities .card {
    border: none;
}

.display-facilities .card-title {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
}

.display-facilities .card-body {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    border: none;
}

.display-facilities .card-body a {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: var(--primaryDark);
    transition: color 0.3s ease;
}

.display-facilities .card-body a:hover {
    color: var(--primaryGreen);
}

.display-facilities .title {
    font-size: 22px;
    font-weight: bold;
    margin-top: -10px;
    margin-bottom: 0;
}

.display-facilities .sub-title {
    font-size: 11pt;
    font-weight: normal;
}

.sorting-wrapper {
    margin-top: -50px;
    border-top: none !important;
}

.display-facilities .dropdown-toggle {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--primaryDark);
    background: none;
    border: none;
}

.display-facilities .dropdown-toggle:hover {
    color: var(--primaryDark);
    background: none;
    border: none;
}

.display-facilities .btn-secondary {
    --bs-btn-active-color: var(--primaryDark);
    --bs-btn-hover-border-color: none;
    --bs-btn-active-bg: none;
}

.display-facilities .dropdown-item {
    font-size: 14px;
}
.info-text.container {
    padding-left:  48px;
    padding-right: 48px;
}

.facilities-pagination .page-item {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    color: var(--primaryDark);
    background: none !important;
    border: none !important;
}

.facilities-pagination .btn.active {
    background: none !important;
    color: var(--primaryGreen) !important;
    font-weight: bold;
    border: none !important;
}

hr {
    color: #868686;
}

/* -- ECO FACILITIES END -- */


/* -- CUSTOM BUTTON -- */
.custom-btn-1 {
    background-color: var(--secondaryGreen);
    font-size: 14px;
    color: var(--primaryWhite);
    border: none;
    border-radius: 14px;
    font-family: "Lato", sans-serif;
    padding: 2px 12px 2px 12px;
}

.custom-btn-2 {
    background-color: var(--secondaryGreen);
    font-size: 16px;
    color: var(--primaryWhite);
    border: none;
    border-radius: 15px;
    padding: 2px 20px 3px 20px;
}

.custom-btn-3 {
    background-color: #757575;
    font-size: 16px;
    color: var(--primaryWhite);
    border: none;
    border-radius: 15px;
    padding: 2px 20px 2px 20px;
}

.custom-btn-4 {
    background-color: #d30000;
    font-size: 16px;
    color: var(--primaryWhite);
    border: none;
    border-radius: 15px;
    padding: 2px 20px 2px 20px;
}

.custom-btn-1:hover,
.custom-btn-2:hover {
    background-color: var(--primaryGreen);
    color: var(--primaryWhite);
}

.custom-btn-3:hover {
    background-color: #a8a8a8;
    color: var(--primaryWhite);
}

.custom-btn-4:hover {
    background-color: #fd0000;
    color: var(--primaryWhite);
}

/* -- CUSTOM BUTTON END -- */


/* -- FOOTER -- */
footer {
    background-color: var(--primaryWhite) !important;
}

footer a {
    color: var(--primaryDark) !important;
    transition: color 0.3s ease;
}

footer a:hover {
    color: var(--primaryGreen) !important; /* Green color on hover */
    font-weight: bold;
}

footer .bi {
    color: var(--primaryDark);
    transition: color 0.3s;
}

footer .bi:hover {
    color: var(--primaryGreen);
}

/* -- FOOTER END -- */


/* -- CUSTOM TABLE -- */
table {
    font-family: "Poppins", sans-serif;
    color: var(--primaryDark) !important;
    font-size: 15px;
}

table.table-hover td {
    padding-top: 3%; /* Add space above the text */
    padding-bottom: 3%; /* Add space below the text */
}

.action-icon i {
    transition: transform 0.2s ease, color 0.2s ease;
}

/* Scale up the icon slightly and change color on hover */
.action-icon i:hover {
    transform: scale(1.2) !important; /* Makes the icon larger */
    color: var(--primaryGreen);
    cursor: pointer; /* Changes the cursor to pointer */
}

/* -- CUSTOM TABLE END-- */


/* -- EXECUTION MESSAGE -- */
.message {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
}

/* -- EXECUTION MESSAGE END -- */


/* -- CUSTOM LABEL -- */
.form-label,
.comment {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
}

/* -- CAPTCHA -- */
.captcha-input {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.captcha .preview {
    font-family: "Gloria Hallelujah", cursive;
    font-size: 20px;
    user-select: none; /* Disable text selection */
    pointer-events: none; /* Disable interactions with the element */
    width: 100%;
    text-align: center;
    height: 60px;
    line-height: 40px;
    letter-spacing: 15px;
    margin-bottom: 15px;
}

/* -- CUSTOM MODAL -- */
.modal-content {
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding: 15px;
}

.modal-title {
    font-size: 25px !important;
    font-weight: 400 !important;
}

.modal-body .form-label {
    margin-bottom: 8px;
    display: inline-block;
}

.modal-body .form-control.custom-input {
    border-radius: 5px;
    padding: 10px 12px;
    font-size: 14px;
    color: #333;
}

.modal-body .form-group {
    margin-bottom: 16px;
}

.modal-header {
    border-bottom: none;
    padding: 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.modal-title {
    font-size: 20px;
    font-weight: bold;
}

.modal-header .btn-close {
    opacity: 0;
}

.input-group .show-password {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

/* -- CUSTOM MODAL END-- */

#home-category {
    scroll-margin-top: 100px;
}



/* -- RESPONSIVE -- */
@media (max-width: 896px) {

    .home-banner-inner h1,
    .dashboard-banner-inner h1 {
        font-size: 35px;
    }

    .about-section h1 {
        font-size: 50px;
        padding-left: 8%;
    }

    .about-section p {
        font-size: 14px;
        padding-left: 8%;
        padding-right: 4%;
    }

    .search-facilities h1,
    .home-category h1 {
        font-size: 50px;
    }

    .search-facilities p {
        font-size: 14px;
        padding-left: 10%;
        padding-right: 10%;
    }

    .dashboard-facilities-list h1 {
        font-size: 50px;
    }

    .display-facilities .card-title {
        font-size: 16px;
    }

    .display-facilities .card-body {
        font-size: 15px;
    }

    .display-facilities .title {
        font-size: 22px;
    }

    .display-facilities .sub-title {
        font-size: 11px;
    }

    .display-facilities .dropdown-toggle {
        font-size: 13px;
    }

    .display-facilities .dropdown-item {
        font-size: 13px;
    }

    .facilities-info-main h1 {
        font-size: 50px;
    }

    table th,
    table td {
        font-size: 14px;
    }

    .page-link {
        font-size: 14px;
    }

    .message {
        font-size: 14px;
    }

    .dashboard-facilities-list .custom-btn-1,
    .dashboard-facilities-list .custom-btn-3,
    .dashboard-facilities-list .custom-btn-4 {
        font-size: 11px;
        border-radius: 50px;
    }

    .search-facilities .input-group .btn {
        font-size: 15px;
    }

    .search-facilities .dropdown-item {
        font-size: 14px;
    }

}


@media (max-width: 768px) {

    .home-banner-inner h1,
    .dashboard-banner-inner h1 {
        font-size: 28px;
    }

    .home-banner-inner p,
    .dashboard-banner-inner p,
    .facilities-info-main p,
    .text-muted {
        font-size: 14px;
    }

    .home-category .card-title {
        font-size: 14px !important;
    }

    .custom-btn-1,
    .custom-btn-2,
    .custom-btn-3,
    .custom-btn-4 {
        font-size: 14px;
    }

    .about-section h1 {
        font-size: 40px;
        padding-left: 8%;
    }

    .about-section p {
        font-size: 14px;
        padding-left: 8%;
        padding-right: 4%;
    }

    .search-facilities h1,
    .home-category h1 {
        font-size: 40px;
    }

    .search-facilities p {
        font-size: 14px;
        padding-left: 10%;
        padding-right: 10%;
    }

    .dashboard-facilities-list h1 {
        font-size: 40px;
    }

    .display-facilities .card-title {
        font-size: 16px;
    }

    .display-facilities .card-body {
        font-size: 14px;
    }

    .display-facilities .title {
        font-size: 20px;
    }

    .display-facilities .sub-title {
        font-size: 10px;
    }

    .display-facilities .dropdown-toggle {
        font-size: 12px;
    }

    .display-facilities .dropdown-item {
        font-size: 12px;
    }

    .info-text.container {
        padding-left:  25px;
        padding-right: 25px;
    }

    .facilities-pagination .page-item {
        font-size: 14px;
    }

    .facilities-info-main h1 {
        font-size: 40px;
    }

    table th,
    table td {
        font-size: 14px;
    }

    .page-link {
        font-size: 14px;
    }

    .message {
        font-size: 14px;
    }

    .info-text{
        font-size: 14px;
    }

    .form-label,
    .comment,
    .form-select,
    .form-control {
        font-size: 14px !important;
    }

    .dashboard-facilities-list .custom-btn-1,
    .dashboard-facilities-list .custom-btn-3,
    .dashboard-facilities-list .custom-btn-4 {
        font-size: 10px;
        border-radius: 20px;
    }

    .search-facilities .input-group .btn {
        font-size: 14px;
    }

    .view-data.modal-body {
        font-size: 14px;
    }

    .view-data.modal-body ul li strong {
        font-size: 14px;
    }

    .view-data.modal-body ul li span {
        font-size: 14px;
    }

    .search-facilities .dropdown-item {
        font-size: 13px;
    }

    footer .fw-bold {
        font-size: 15px;
    }

    footer a {
        font-size: 14px;
    }

}

@media (max-width: 624px) {

    .home-banner-inner {
        padding: 11% 3%;
    }

    .dashboard-banner-inner {
        padding-top: 15%;
    }

    .home-banner-inner h1,
    .dashboard-banner-inner h1 {
        font-size: 22px;
    }

    .home-banner-inner p,
    .dashboard-banner-inner p {
        font-size: 11px;
    }

    .home-category .card-title {
        font-size: 13px !important;
    }

    .custom-btn-1,
    .custom-btn-2,
    .custom-btn-3,
    .custom-btn-4 {
        font-size: 12px;
    }

    .about-section h1 {
        font-size: 30px;
        padding-left: 5%;
    }

    .about-section p {
        font-size: 12px;
        padding-left: 5%;
        padding-right: 2%;
    }

    .about-section .img-fluid {
        height: 330px;
    }

    .search-facilities h1,
    .home-category h1 {
        font-size: 30px;
    }

    .search-facilities p {
        font-size: 12px;
        padding-left: 8%;
        padding-right: 8%;
    }

    .dashboard-facilities-list h1 {
        font-size: 30px;
    }

    .display-facilities .card-title {
        font-size: 14px !important;
    }

    .display-facilities .card-body {
        font-size: 12px;
    }

    .display-facilities .title {
        font-size: 18px;
    }

    .display-facilities .sub-title {
        font-size: 10px;
    }

    .display-facilities .dropdown-toggle {
        font-size: 11px;
    }

    .display-facilities .dropdown-item {
        font-size: 11px;
    }

    .facilities-info-main p,
    .text-muted {
        font-size: 12px;
    }

    .facilities-info-main h1 {
        font-size: 30px;
    }

    table th,
    table td {
        font-size: 12px;
    }

    .page-link {
        font-size: 12px;
    }

    .info-text{
        font-size: 12px;
    }

    .message {
        font-size: 12px;
    }

    .form-label,
    .comment,
    .form-select,
    .form-control {
        font-size: 12px !important;
    }

    .dashboard-facilities-list .custom-btn-1,
    .dashboard-facilities-list .custom-btn-3,
    .dashboard-facilities-list .custom-btn-4 {
        font-size: 9px;
        border-radius: 18px;
    }

    .dropdown-toggle {
        font-size: 10px;
    }

    .search-facilities .input-group .btn {
        font-size: 12px;
    }

    .search-facilities .dropdown-item {
        font-size: 11px;
    }

    .facilities-pagination .page-item {
        font-size: 12px;
    }

    footer .fw-bold {
        font-size: 14px;
    }

    footer a {
        font-size: 13px;
    }
}

/* -- RESPONSIVE MOBILE-- */
@media (max-width: 480px) {
    .home-banner {
        margin-top: 5%;
    }

    .home-banner-inner h1,
    .dashboard-banner-inner h1 {
        font-size: 18px;
    }

    .info-text.container {
        padding-left:  5px;
        padding-right: 5px;
    }

    footer {
        font-size: 14px;
    }

    h2 {
        font-size: 21px;
    }

    .view-data.modal-body {
        font-size: 12px;
    }

    .view-data.modal-body ul li strong {
        font-size: 12px;
    }

    .view-data.modal-body ul li span {
        font-size: 12px;
    }

    table {
        font-size: 12px;
    }

    .message {
        font-size: 12px;
    }

    .col-11{
        width:100%;
    }
    .home-form-select {
        margin-top: 10%;
    }
}

/* -- RESPONSIVE SPECIAL-- */
@media (min-width: 1200px) {
    .home-banner,
    .dashboard-banner {
        background-size: cover;
    }

}

/* -- RESPONSIVE SPECIAL-- */
@media (max-width: 430px) and (max-height: 932px) {
    .home-banner,
    .search-facilities {
        height: 250px;
    }

    .dashboard-banner {
        height: 220px;
    }

}

/* -- RESPONSIVE SPECIAL-- */
@media (max-width: 1024px) and (max-height: 1366px) {
    h1 {
        margin-top: 5%;
    }
}



