/* public/css/style.css */

/* General Body Styles */
/* html, body {
    height: 100%;
    margin: 0;
} */

body {
    display: flex;
    flex-direction: column; /* Stack children vertically */
    font-family: 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background: linear-gradient(to left, #cbd8d7, #e9fffe);
}

/* Main Content */
main.container {
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    padding-left: 0px;
    padding-right: 0px;
    /* margin-top: 5rem;
    margin-bottom: 5rem; */
    flex: 1; /* Allow main to grow and fill the space */
}

/* For adjusting the margins for top and bottom only */
main {
    margin-top: 3rem;
    margin-bottom: 3rem;
    margin-right: 1rem;
    margin-left: 1rem;
}

.responsive_header_links {
    /* background: linear-gradient(to right, #4682b4, #008080, #38c5b7); */
    background: #008080 !important;
}

/* Header Section */
header {
    background: #008080 !important;
    /* background: linear-gradient(to right, #4682b4, #008080, #38c5b7); */
    padding: 1rem 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
}

header .mar_con {
    margin-right: 1rem;
    margin-left: 1rem;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Header Links */
header nav a {
    color: #fff;
    text-decoration: none;
    margin: 0 10px;
    font-size: 20px;
}

header nav a:hover {
    text-decoration: none;
}

/* Dropdown Styles */
header .dropdown-menu {
    background-color: #f8f9fa;
    border: 1px solid #ddd;
}

.dropdown-menu.show {
    inset: 9px 0px auto auto !important;
}

header .dropdown-item {
    margin: 0;
    font-size: large;
    color: #212529;
    text-decoration: none;
}

header .dropdown-item:hover {
    background-color: #e9ecef;
    color: #424649;
}

/* Icons */
.material-icons {
    font-size: 24px;
    vertical-align: middle;
}

/* Tooltip Styles */
.tooltip-inner {
    background-color: #000;
    color: #fff;
}

/* Icons */
.material-icons {
    font-size: 24px; /* Icon size */
    vertical-align: middle;
}



/* Service Boxes */
.service-box {
    border: 1px solid #4682b4;
    color: #FFF;
    border-radius: 8px;
    background: linear-gradient(to left, #008787, #005757);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Shadow for boxes */
    padding: 60px 10px 20px 10px;
    transition: box-shadow 0.3s ease;
    margin-bottom: 20px;
    text-align: center; /* Center align text and content */
    height: 400px; /* Fixed height for consistency */
    display: flex;
    flex-direction: column;
}

h2.text-center.mb-4 {
    font-weight: 600;
}

.service-box:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Enhanced shadow on hover */
}

.service-box .service-icon {
    font-size: 50px; /* Adjust icon size */
}

.service-box h5 {
    margin-top: 10px; /* Space between icon and title */
    margin-bottom: 15px; /* Space between title and content */
    font-weight: 600;
}

/* Button group with two buttons side by side and the third below */
.service-box .btn-group {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* Allow buttons to wrap if they exceed the row width */
    gap: 10px; /* Space between buttons */
    margin-bottom: 10px;
}

.service-box .btn-custom {
    background: linear-gradient(to right, #4682b4, #008080, #38c5b7);
    color: #fff; /* Text color for buttons */
    font-size: 0.9rem;
    text-decoration: none;
    border: 1px solid; /* Remove border */
    border-radius: 2px; /* Rounded corners */
    border-top-right-radius: 2px !important;
    border-bottom-right-radius: 2px !important;
    border-top-left-radius: 2px !important;
    border-bottom-left-radius: 2px !important;
    padding: 9px 5px; /* Padding inside buttons */
    flex: 0 0 45%; /* Buttons will take up 45% of the container, allowing two side by side */
    transition: background-color 0.3s ease; /* Smooth background color transition */
    text-align: center;
}

.service-box .btn-custom:hover {
    background: linear-gradient(to right, #38c5b7, #008080, #4682b4);
    color: #000; /* Darker shade on hover */
}

.service-box .staff-login:hover {
    text-decoration: underline;
}

/* Specific color styles for different services */

/* Property Tax */
.hospital-icon {
    color: #fff; /* Icon color */
}

/* Complain */
.complain-icon {
    color: #fff; /* Icon color */
}



/* hospital dashboard */
.form-card {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 15px;
    margin: 10px;
    width: 207px;
    text-align: center;
    transition: transform 0.2s;
    display: flex;
    flex-direction: column;
    /* justify-content: space-between; */
    align-items: center;
}

.form-card:hover {
    /* transform: scale(1.05); */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.list-group-item.active {
    background: linear-gradient(to right, #4682b4, #008080, #38c5b7);
    color: white;
}



/* Footer Section */
footer {
    background: #008080 !important;
    /* background: linear-gradient(to right, #4682b4, #008080, #38c5b7); */
    color: #fff;
    padding: 2rem 0;
    width: 100%;
    text-align: center;
    font-size: 14px;
}

footer .mar_con {
    margin-right: 1rem;
    margin-left: 1rem;
}

footer a {
    color: #fff;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

footer .list-unstyled {
    padding-left: 0;
    list-style: none;
}

footer .list-unstyled li {
    margin-bottom: 5px;
}

footer hr {
    border-color: rgba(255, 255, 255, 0.2);
}


/* Sidebar (if used) */
aside {
    background-color: #f8f9fa;
    padding: 15px;
    border: 1px solid #ddd;
}

aside ul {
    padding-left: 0;
}

aside li {
    margin-bottom: 15px;
}

/* Utility Classes */
.mt-3 {
    margin-top: 1rem;
}



/* Citizen Login Page */
.card-header {
    font-size: 1.5rem;
    font-weight: 600;
}

.card {
    border-radius: 10px;
}

.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
}

.btn-primary:hover {
    background-color: #0056b3;
    border-color: #004085;
}

.btn-outline-primary {
    border-color: #007bff;
    color: #007bff;
}

.btn-outline-primary:hover {
    background-color: #007bff;
    color: #fff;
}



/* Style for Complaints */
.form-group {
    margin-bottom: 1.5rem;
}

.form-group select {
    /* Positioning and appearance */
    appearance: none;  /* Remove default arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 30px; /* Make space for the arrow */
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDExIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEgMWw0LjUgNEw5IDEiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px 7px;
}

/* For consistency across browsers */
.form-group select:focus {
    outline: none;
    border-color: #007bff; /* Optional: Add focus color */
}


.mandatory-note {
    color: red;
}

.form-control.custom-select {
    border-radius: .25rem;
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
    height: auto;
}

.form-control.custom-select option {
    padding: 10px;
}

.form-group.captcha-wrapper {
    display: flex;
    align-items: center;
}

.captcha-label {
    display: flex;
    align-items: center;
    font-size: 1rem;
}

.captcha-input {
    width: 100px;
    margin-left: 10px;
    text-align: center;
}

.form-control-file { 
    /* Styles for attachment input */
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    display: block;
    width: 100%;
}

.is-invalid {
    border: 1px solid red; /* Red border for invalid fields */
    outline: none; /* Remove default focus outline */
}

/* Show feedback when input is invalid */
.is-invalid ~ .invalid-feedback {
    display: block;
}



/* style for Pension Scheme */
/* .form-section {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.form-section h5 {
    margin-bottom: 15px;
    font-weight: bold;
} */


/* style for side bar in hospital dashboard */
/* Sidebar container */
.col-md-3.sidebar_site {
  background-color: #f8f9fa;          /* subtle off‑white */
  border-right: none;                 /* remove harsh line */
  box-shadow: 2px 0 5px rgba(0,0,0,0.05);
  padding: 0px;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow-y: auto;
  border: 1px solid rgba(0, 0, 0, 0.175);
  /* border: 1px solid #008080; */
  border-radius: 10px;
}

/* Base list‑group items */
.list-group-item {
  background-color: transparent;
  border: none;
  padding: 0;
  /* margin-bottom: 0.25rem; */
  transition: background 0.2s, padding-left 0.2s;
}

/* Link inside items */
.list-group-item a {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  color: #495057;
  text-decoration: none;
  /* border-radius: 0.375rem; */
}

/* Icon slot (optionally add icons via <i> or svg) */
.list-group-item a i {
  margin-right: 0.75rem;
  font-size: 1.1rem;
  width: 1.3rem;
  text-align: center;
}

/* Hover & focus states */
.list-group-item a:hover,
.list-group-item a:focus {
  background-color: #e2f1f0;
  color: #008080;
  font-weight: 500;
  padding-left: 1.25rem;
}

/* Active parent item */
.list-group-item.active > a {
  background-color: #008080;
  color: #fff;
  font-weight: 500;
  box-shadow: inset 3px 0 0 #006666;
}

/* Submenu container */
.donation-form-submenu {
  margin-top: 0.25rem;
  margin-left: 1.5rem;
  border-left: 2px solid #dee2e6;
  /* padding-left: 0.5rem; */
}

/* Submenu links */
.donation-form-submenu .list-group-item a {
  padding: 0.5rem 1rem;
  color: #6c757d;
  font-size: 0.95rem;
  /* border-radius: 0.25rem; */
}

/* Submenu hover/active */
.donation-form-submenu .list-group-item a:hover {
  background-color: #e9ecef;
  color: #008080;
}
.donation-form-submenu .list-group-item .active {
  /* background-color: transparent; */
  background-color: #008080;
  color: #fff;
  font-weight: 500;
}

/* Toggle icon */
.dropdown-icon {
  margin-left: auto;
  transition: transform 0.3s ease;
}
.rotate-icon {
  transform: rotate(-180deg);
}

/* Logout button as a separate CTA */
#logoutForm button {
  width: 100%;
  /* margin-top: 1rem; */
  /* background-color: #dc3545; */
  color: #000;
  border: none;
  /* border-radius: 0.375rem; */
  padding: 0.75rem;
  font-weight: 500;
  transition: background-color 0.2s;
}
#logoutForm button:hover {
  color: #008080;
  background-color: #e2f1f0;
}

/* Scrollbar styling (WebKit) */
.col-md-3.sidebar_site::-webkit-scrollbar {
  width: 6px;
}
.col-md-3.sidebar_site::-webkit-scrollbar-track {
  background: transparent;
}
.col-md-3.sidebar_site::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}

.error {
    color: red;
}
/* style end for side bar in hospital dashboard */



/*** Hospital login and registration page ***/
.card-header.text-center.text-white {
    background: #008080 !important;
    /* background: linear-gradient(to right, #4682b4, #008080, #38c5b7); */
}

/* .form-card {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    } */

/* .hospital-btn {
    margin-top: auto; 
    display: block;
    width: 100%;
    text-align: center;
} */

.hospital-btn {
    background: white;
    color: #008080;
    border: 1px solid;
    /* padding: 10px; */
    /* text-transform: uppercase; */
    border-radius: 5px;
    transition: background-color 0.3s;
}

.hospital-btn:hover {
    background: #008080;
    border: 1px solid;
    /* text-decoration: underline; */
    /* font-weight: 600; */
    color: #ffffff;
}

.hospital-dash-btn {
    background: white;
    color: #008080;
    border: 1px solid;
    padding: 10px;
    /* text-transform: uppercase; */
    border-radius: 5px;
    transition: background-color 0.3s;
}

.hospital-dash-btn:hover {
    background: white;
    text-decoration: underline;
    font-weight: 600;
    color: #008080;
}

.hospital-edit-btn {
    background: linear-gradient(to right, #4682b4, #008080, #38c5b7);
    color: #000;
    border: 1px solid;
}

.hospital-edit-btn:hover {
    background: linear-gradient(to right, #38c5b7, #008080, #4682b4);
    color: #fff;
}

.btn-outline-dark:hover {
    background: linear-gradient(to right, #38c5b7, #008080, #4682b4);
    color: #fff;
   
}


/*** style for dashboard ***/
.card-header {
    background: #008080 !important;
    /* background: linear-gradient(to right, #38c5b7, #008080, #4682b4); */
}


/*** Style for form 12 File upload ***/
.file-item {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    margin-bottom: 5px;
}

.remove-icon {
    font-weight: bold;
    font-size: 18px; /* Adjust size as needed */
    margin-left: 20px; /* Space between file name and icon */
}


.page-item.active .page-link {
        background-color: #4CA1AF !important;
        border-color: #4CA1AF !important;
    }
/* Remove spinner arrows for all number inputs in Chrome, Safari, and Edge */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove spinner arrows for all number inputs in Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}


/*** Stle for Radio button click ***/
.form-check-input:checked {
    background-color: #008080;
    border-color: #008080;
    /* box-shadow: 0 0 0 4px rgba(0, 128, 128, 0.3); */
}

.form-check-input:focus {
    border: var(--bs-border-width) solid #008080;
    box-shadow: 0 0 0 4px rgba(0, 128, 128, 0.3);
}

.form-group select:focus {
    border: var(--bs-border-width) solid #008080;
    box-shadow: 0 0 0 4px rgba(0, 128, 128, 0.3);
    outline: none;
}

.form-control:focus {
    border: var(--bs-border-width) solid #008080;
    /* outline: 3px solid #008080; */
    outline: none;
    /* box-shadow: none; */
    box-shadow: 0 0 0 4px rgba(0, 128, 128, 0.3);
}


/*** Icon Styles ***/
.icon-center {
    align-content: center;
    text-align: center;
}

.icon-hota {
    color: #008080;
    /* background: linear-gradient(to right, #2C3E50, #4CA1AF); */
    border: none;
    transition: background 0.3s ease;
}
.icon-hota:hover {
    color: #005757;
    /* background: linear-gradient(to right, #4CA1AF, #2C3E50); */
}



/*** Style for the notification icon in the header ***/
span.label.label-danger {
    background: #ff5252;
    border-radius: 5px;
    padding: 0px 4px;
}
span.badge {
    border-radius: 100px;
    right: 15px;
    position: absolute;
    top: 3px;
    padding: 4px;
}
span.badge {
    display: inline-block !important;
}
span.badge:after,
span.badge:before {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-shadow: inset 0 0 20px 5px rgba(255, 255, 255, 0.4);
    box-shadow: inset 0 0 20px 5px rgba(255, 255, 255, 0.4);
}
span.badge:before {
    animation: not-blink 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
}
span.badge:after {
    animation: not-blink 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation-delay: 1.15s;
}
@keyframes not-blink {
    0%, 100% {
      transform: scale(1);
      opacity: 1;
      /* you could also animate box‑shadow here if you like */
    }
    50% {
      transform: scale(3.5);
      opacity: 0;
    }
}
.bg-c-red {
    background: #ff5252;
}
h6.notification-user {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 2px;
}
p.notification-msg {
    font-size: 13px;
    line-height: 11px;
    color: #455a64;
    margin-bottom: -3px;
}
span.notification-time {
    font-size: 11px;
    color: #919aa3;
}
/* label.dropdown-item.d-flex.justify-content-between:hover,
a.dropdown-item:hover {
    background-color: #28434C;
    text-decoration: none;
    color: #fff;
} */
/* .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #28434C;
} */
/*** Style ended for the notification icon in the header ***/


header .dropdown-menu.fixed_drop_down.show {
    max-height: 256px;
    overflow: auto;
}