/*------------------------------------*\
  #BASE STYLES
\*------------------------------------*/

body {
  font-family: 'Inter', sans-serif;
  background-color: #f8f9fa;
  color: #343a40;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  color: #343a40; /* Consistent heading color */
  font-weight: 700;
}

/* Added to ensure text-primary uses the brand color */
.text-primary {
  color: #860038 !important;
}

.display-4 {
  color: #860038; /* Specific color for main page headers */
  font-weight: 900 !important;
}

.lead {
  color: #555;
}

/*------------------------------------*\
  #HEADER SECTIONS
\*------------------------------------*/

/* Top Banner Section */
.top-banner {
  background-color: #860038 !important; /* Updated: Top banner background color */
  color: #fff; /* Assuming white text on the dark banner */
  text-align: center; /* Ensures content within is centered */
}

.top-banner .navbar-brand img.large-logo {
  max-height: 80px; /* Adjust as needed */
  width: auto;
}

.top-banner .btn-outline-primary {
  color: #fff;
  border-color: #fff;
}

.top-banner .btn-outline-primary:hover {
  background-color: #fff;
  color: #860038;
}

/* Navbar Customization */
.navbar-custom {
  background-color: #f8f9fa; /* Light background for the main nav */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-custom .navbar-brand {
  color: #860038; /* Allegany Insurance Group primary color */
  font-weight: bold;
}

.navbar-custom .nav-link {
  color: #333;
  font-weight: 500;
  padding-left: 1rem;
  padding-right: 1rem;
}

.navbar-custom .nav-link:hover,
.navbar-custom .nav-link.active {
  color: #860038;
}

/* Dropdown Centering */
.navbar-nav {
  width: 100%;
  justify-content: center; /* Centers the nav items horizontally */
}

.navbar-nav .nav-item.dropdown {
  display: flex; /* Use flexbox for dropdown items */
  justify-content: center; /* Center the dropdown toggle within its nav-item */
  width: auto; /* Allow items to take natural width */
  position: relative; /* Needed for absolute positioning of dropdown menu */
}

.navbar-nav .dropdown-menu {
  left: 50% !important; /* Move the dropdown to 50% from the left of its parent toggle */
  transform: translateX(-50%) !important; /* Shift it back by half its width to truly center */
  margin-top: 0.5rem; /* Space between toggle and menu */
  min-width: 12rem; /* Adjust minimum width as needed */
  text-align: center; /* Center text within dropdown items */
}

.navbar-nav .dropdown-item {
  color: #333;
  display: flex; /* Use flexbox for icon and text alignment */
  align-items: center; /* Vertically align icon and text */
  justify-content: center; /* Center content within dropdown item */
  padding: 0.5rem 1rem; /* Adjust padding as needed */
}

.navbar-nav .dropdown-item i {
  margin-right: 0.5rem; /* Space between icon and text */
}

.navbar-nav .dropdown-item:hover,
.navbar-nav .dropdown-item:active {
  background-color: #860038;
  color: #fff;
}

/* Thin line for date/time/weather */
#current-date-time-weather-thin-line {
  font-size: 0.85rem;
  background-color: #6c757d; /* Bootstrap secondary color */
  color: #fff;
}

/* Custom styles to maintain original design and enhance responsiveness */
.nav-item .nav-link {
  color: #343a40; /* Dark gray color for links */
  text-decoration: none; /* Remove underline */
  padding: 0.8rem 1.2rem; /* Increased padding to make nav links bigger */
  font-weight: 900; /* Made the nav links much bolder */
  font-size: 1.2rem; /* Made the nav links bigger */
}

/* Ensure hover color for general nav-links */
.nav-item:hover .nav-link {
  color: #860038 !important; /* Hover color for menu items */
}

/* Specific hover color for nav-links within the custom navbar */
.navbar-custom .nav-item:hover .nav-link {
  color: #860038 !important; /* Keep white on hover for navbar-custom links */
}

.dropdown-menu { /* Styling for the dropdown menu itself */
  min-width: max-content; /* Ensure dropdown width adapts to content, preventing reflow */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Subtle shadow */
  border-radius: 8px; /* Rounded corners */
  padding: 0.5rem 0; /* Vertical padding */
  z-index: 1050; /* Ensure it stays on top of other elements */
  font-family: 'Inter', sans-serif; /* Apply the same font to dropdowns */
}

.dropdown-menu .dropdown-item {
  color: #343a40; /* Dark gray color for dropdown items */
  text-decoration: none; /* Remove underline */
  font-weight: bold; /* Make dropdown items bold */
}

.dropdown-menu .dropdown-item:hover {
  background-color: #860038;
  color: #fff;
}

/* Custom button styling - brought from Contact Us Page style */
.btn-header-action {
  color: #fff !important; /* White text */
  background-color: #860038 !important; /* Dark red background */
  border: 2px solid #860038 !important; /* Dark red border - Made border bolder */
  padding: 8px 18px !important; /* Made buttons even smaller */
  border-radius: 5px; /* Rounded corners */
  font-size: 0.9rem !important; /* Adjust font size */
  font-weight: 600 !important; /* Made font bolder */
  transition: all 0.3s ease;
  white-space: nowrap; /* Prevent text wrapping */
  flex: 1 1 auto; /* Make buttons grow/shrink evenly */
  min-width: 120px; /* Ensure minimum width */
  max-width: 180px; /* Prevent excessive width */
  font-family: 'Inter', sans-serif; /* Apply the same font to buttons */
}

/* Container for all buttons - Flex management */
.all-buttons-container {
  display: flex;
  align-items: center;
  justify-content: center; /* Center buttons */
  flex-wrap: wrap; /* Allow wrapping */
  margin-top: 80px; /* Space above buttons */
  width: center;
}

.all-buttons-container .btn {
  margin: 5px; /* Space around buttons */
}

/* Logo specific styles */
.large-logo {
  max-width: 380px; /* Increased max-width to make it bigger */
  height: auto;
  margin-top: 0px; /* Adjusted from -10px to 0px to move it down more */
  margin-left: auto;
  margin-right: auto;
  display: block; /* Ensure centering */
}

/* Weather thin line styling */
.weather-thin-line {
  background-color: #860038;
  color: #fff;
  padding: 0;
  text-align: center;
  font-size: 0.9rem;
  font-weight: bold;
  margin-top: 2px;
  margin-bottom: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  font-family: 'Inter', sans-serif; /* Apply the same font to the weather line */
}

/* Credo Text Styling */
.credo-plain-text h4 {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;
  margin-bottom: 5px;
  text-align: center;
  font-family: 'Inter', sans-serif; /* Apply the same font to credo h4 */
}

.credo-plain-text p {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 5px;
  text-align: center;
  font-family: 'Inter', sans-serif; /* Apply the same font to credo p */
}

/* Navbar container styling */
.navbar-container {
  width: 95%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px; /* Space below weather */
  position: relative;
  z-index: 10;
}

/* Specific styling for the .nav element */
.nav {
  background-color: #f8f9fa;
  border-radius: 10px;
  box-shadow: 0 8px 12px #303236;
  padding: 0.8rem 1rem; /* Increased padding to make the navbar itself bigger */
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0;
}

.nav .nav-item {
  flex-basis: auto;
  margin: 0 5px;
}

.nav .nav-item .nav-link.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  padding-right: 0.75rem;
}

.nav .nav-item .nav-link i {
  margin-left: 5px;
}

/* Header styles (from Contact Us Page) */
.header {
  background-color: #860038; /* Updated banner color */
  color: white;
  padding-top: 4rem; /* py-16 */
  padding-bottom: 4rem; /* py-16 */
  padding-left: 1rem; /* px-4 */
  padding-right: 1rem; /* px-4 */
}

.header-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 2rem; /* gap-8 */
}

.header-text {
  text-align: center;
  margin-bottom: 2rem; /* mb-8 */
}

.header-text h1 {
  font-size: 3rem; /* text-5xl */
  line-height: 1.25; /* leading-tight */
  font-weight: 800; /* font-extrabold */
  margin-bottom: 1rem; /* mb-4 */
}

.header-text p {
  font-size: 1.25rem; /* text-xl */
  font-weight: 300; /* font-light */
  opacity: 0.9; /* opacity-90 */
}

.header-image-wrapper {
  display: flex;
  justify-content: center;
}

.header-image {
  max-width: 50%;
  height: auto;
  border-radius: 0.75rem; /* rounded-xl */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
}

/*------------------------------------*\
  #MAIN CONTENT SECTIONS
\*------------------------------------*/

/* Main Content Area */
.main-container {
  padding-top: 50px;
  padding-bottom: 50px;
}

.grey-box {
  background-color: #860038; /* White background for content boxes */
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* Softer shadow */
}

/* Ensure text in grey-box is white for contrast */
.grey-box h2, .grey-box p {
    color: #860038;
}

.section-content {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* Lists with Icons */
.list-unstyled li {
  padding-left: 0; /* Reset default padding */
}

.list-unstyled .fa {
  margin-right: 8px; /* Space between icon and text */
}

/* Specific Page Headers (tp-page-header) */
.tp-page-header {
  background-color: #860038; /* Consistent light background */
  padding-top: 60px;
  padding-bottom: 60px;
  border-bottom: 1px solid #e9ecef; /* Subtle bottom border */
  color: #fff; /* Ensure text in header is white */
}

.tp-page-header h1, .tp-page-header p {
    color: #860038; /* Ensure text in header is white */
}

.tp-page-header .header-pic img {
  max-width: 100%;
  height: auto;
  border-radius: 8px; /* Slightly rounded corners for images */
}

/* Agent Login Page Specifics */
.card {
  background-color: #ffffff;
  border: none;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); /* More pronounced shadow for cards */
  padding: 30px;
  text-align: center;
  margin-bottom: 30px;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
  /* Removed background-color and text color changes from general .card:hover */
}

/* Removed previous .card:hover text color rules */

.card .icon {
  font-size: 3.5rem;
  color: #860038;
  margin-bottom: 20px;
}

.card h2 {
  font-size: 1.75rem;
  color: #343a40;
  margin-bottom: 15px;
}

.card p {
  color: #6c757d;
  margin-bottom: 25px;
}

.submit-button {
  background-color: #860038;
  color: #fff;
  border: none;
  padding: 12px 25px;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.submit-button:hover {
  background-color: #6a002c;
  transform: translateY(-2px);
}

.submit-button .bi {
  margin-right: 8px;
}

/* Agent Resources Page Specifics (Sidebar Layout) */
.main-content-area {
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex; /* Added for centering content */
  min-height: 100vh; /* Added for centering content */
  align-items: center; /* Added for centering content */
  justify-content: center; /* Added for centering content */
}
.sidebar {
  padding: 20px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px; /* Space below sidebar on smaller screens */
}
.sidebar h2 {
  color: #860038;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 10px;
}
.sidebar .nav-link {
  color: #343a40;
  font-weight: 500;
  padding: 10px 15px;
  border-radius: 8px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  background-color: #860038;
  color: #fff;
}
.sidebar .nav-link.active {
  font-weight: 700;
}

.product-sections .section {
  padding: 40px; /* Increase padding for content sections */
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}
.product-sections .section.even {
  background-color: #ffffff;
}
.product-sections .section.odd {
  background-color: #ffffff; /* Changed to white */
}
.product-sections h4.icons {
  display: flex;
  align-items: center;
  color: #860038;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}
.product-sections h4.icons .logo {
  width: 40px;
  height: 40px;
  margin-right: 15px;
}

/* Claim FAQs Page Specifics */
.list-group-item-action:hover {
  background-color: #e9ecef; /* Light hover effect for list items */
}

/* Carousel Adjustments (Blank.php) */
.carousel-item img {
  width: 100%; /* Ensure images fill carousel width */
  height: auto;
}

/* Hero Section Styles (from index.php specific styles) */
.hero {
  background-color: #f8f9fa; /* Or a background image/video if you intend to use one */
  border-left: 6px solid #860038;
  padding: 20px;
  min-height: 15vh; /* Adjust as needed */
  display: flex; /* Use flexbox for alignment */
  flex-direction: column; /* Stack content and images vertically */
  align-items: center; /* Center horizontally */
  justify-content: center; /* Center vertically */
  text-align: center;
  animation: fadeIn 2s ease-in-out;
  position: relative; /* For potential background video/image */
  overflow: hidden; /* Ensure content stays within bounds */
}

.hero h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: #860038;
  font-weight: bold;
  margin-bottom: 10px;
}

.hero p {
  font-size: clamp(1.25rem, 3vw, 2rem);
  color: #860038;
}

.hero-content {
  z-index: 1; /* Ensure content is above any background media */
  padding: 20px;
  border-radius: 10px;
  width: 100%; /* Take full width for text */
}

.hero-images {
  display: flex; /* Use flexbox for images */
  justify-content: center; /* Center images horizontally */
  gap: 20px; /* Space between images */
  margin-top: 20px; /* Space above images */
  flex-wrap: wrap; /* Allow images to wrap on smaller screens */
  width: 100%;
}

.hero-images .header-pic {
  flex-basis: 45%; /* Adjust width for images, considering gap */
  max-width: 300px; /* Max width for each image */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.hero-images img {
  width: 100%;
  height: auto;
  border-radius: 8px; /* Slightly rounded corners for images */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Other Existing Styles */
.highlight {
  color: #860038;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

.swiper {
  width: 100%;
  max-width: 900px;
  margin: 30px auto;
}

.swiper-slide img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Main content styles (from Payment Page) */
.main-content {
  padding-top: 4rem; /* py-16 */
  padding-bottom: 4rem; /* py-16 */
  padding-left: 1rem; /* px-4 */
  padding-right: 1rem; /* px-4 */
  display: flex; /* Added for centering content */
  flex-direction: column; /* Added for centering content */
  justify-content: center; /* Added for centering content */
  height: 100%; /* Added for centering content */
}

.main-content-wrapper {
  display: flex;
  justify-content: center;
}

.content-area {
  width: 100%;
}

.payment-content-box {
  background-color: #62656a; /* Updated container background */
  color: white; /* White font for container */
  padding: 2rem; /* p-8 */
  border-radius: 1rem; /* rounded-2xl */
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); /* shadow-xl */
  border: 1px solid #7f8287; /* Slightly lighter border for contrast */
}

.payment-content-box h2 {
  font-size: 2.25rem; /* text-4xl */
  font-weight: 700; /* font-bold */
  color: white; /* Ensure white text */
  margin-bottom: 2.5rem; /* mb-10 */
  text-align: center;
}

/* Online Payment Section */
.online-payment-section {
  margin-bottom: 3rem; /* mb-12 */
  padding-bottom: 3rem; /* pb-12 */
  border-bottom: 1px solid #7f8287; /* Border for separation */
}

.online-payment-section h3 {
  font-size: 1.875rem; /* text-3xl */
  font-weight: 600; /* font-semibold */
  color: white; /* Ensure white text */
  margin-bottom: 1.5rem; /* mb-6 */
  text-align: center;
}

.online-payment-section p {
  font-size: 1.125rem; /* text-lg */
  color: #e0e0e0; /* Light gray for body text */
  margin-bottom: 2rem; /* mb-8 */
  text-align: center;
}

.payment-button-group {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 */
  gap: 2rem; /* gap-8 */
  justify-items: center;
}

.payment-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem; /* p-6 */
  background-color: white; /* Buttons remain white for contrast */
  border-radius: 0.75rem; /* rounded-xl */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
  transition: all 0.3s ease-in-out; /* transition-all duration-300 */
  text-decoration: none;
  color: #1a202c; /* Dark text for contrast */
  text-align: center;
  min-width: 200px; /* Minimum width for buttons */
}

.payment-button:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); /* hover:shadow-xl */
  transform: translateY(-0.25rem); /* hover:-translate-y-1 */
}

.payment-button img {
  margin-bottom: 1rem; /* mb-4 */
  border-radius: 0.5rem; /* rounded-lg */
  max-width: 100px; /* Adjust image size */
  height: 60px;
  object-fit: contain; /* Ensure image fits without distortion */
}

.payment-button span {
  font-weight: 600; /* font-semibold */
  font-size: 1.125rem; /* text-lg */
}

.small-text {
  text-align: center;
  font-size: 0.875rem; /* text-sm */
  color: #e0e0e0; /* Light gray for small text */
  margin-top: 1.5rem; /* mt-6 */
}

/* Mail Payment Section */
.mail-payment-section h3 {
  font-size: 1.875rem; /* text-3xl */
  font-weight: 600; /* font-semibold */
  color: white; /* Ensure white text */
  margin-bottom: 1.5rem; /* mb-6 */
  text-align: center;
}

.address-cards-grid {
  display: grid;
  grid-template-columns: 1fr; /* grid-cols-1 for mobile */
  gap: 1.5rem; /* Reduced gap for compactness */
}

.mailing-address-card {
  background-color: #62656a; /* Updated container background */
  color: white; /* White font for container */
  padding: 1.5rem; /* Reduced padding for smaller cards */
  border-radius: 0.75rem; /* rounded-xl */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
  border: 1px solid #7f8287; /* Slightly lighter border for contrast */
  display: flex;
  flex-direction: column;
  height: 100%; /* h-full */
  box-sizing: border-box; /* Include padding in element's total width and height */
}

.mailing-address-card h5 {
  font-size: 1.125rem; /* Slightly smaller font for compactness */
  font-weight: 700; /* font-bold */
  color: white; /* Changed to white */
  margin-bottom: 0.5rem; /* mb-2 */
}

.mailing-address-card p.address-text-site-theme {
  color: #e0e0e0; /* Light gray for body text */
  margin-bottom: 0.75rem; /* mb-3, slightly reduced */
}

.mailing-address-card address {
  text-align: center;
  font-style: normal; /* not-italic */
  margin-bottom: 0.75rem; /* mb-3, slightly reduced */
}

.mailing-address-card address h4 {
  color: white; /* Ensure white text */
  font-family: 'Inter', sans-serif; /* Explicitly set font for consistency */
  font-size: 1rem; /* Slightly smaller font for compactness */
  font-weight: 500; /* font-medium */
  line-height: 1.2; /* Tighter line height for address lines */
  margin-top: 0; /* Ensures no top margin */
  margin-bottom: 0; /* Removed spacing between address lines */
}

.mailing-address-card address h4:last-child {
  margin-bottom: 0;
}

.copy-button {
  margin-top: auto; /* mt-auto */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem; /* px-4 py-2 */
  background-color: #860038; /* Use the banner color for copy buttons */
  color: white;
  border-radius: 0.5rem; /* rounded-lg */
  transition: background-color 0.2s ease-in-out; /* transition-colors duration-200 */
  font-size: 0.875rem; /* text-sm */
  border: none;
  cursor: pointer;
}

.copy-button:hover {
  background-color: #6b002c; /* Darker shade on hover */
}

/* Custom Modal for Messages */
#messageModal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(107, 114, 128, 0.5); /* bg-gray-600 bg-opacity-50 */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
}

#messageModal.hidden {
  display: none;
}

#messageModal > div {
  background-color: white;
  padding: 2rem; /* p-8 */
  border-radius: 0.5rem; /* rounded-lg */
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); /* shadow-xl */
  max-width: 24rem; /* max-w-sm */
  width: 100%;
  text-align: center;
}

#modalMessage {
  font-size: 1.125rem; /* text-lg */
  font-weight: 600; /* font-semibold */
  color: #343a40; /* text-gray-800 */
  margin-bottom: 1.5rem; /* mb-6 */
}

#messageModal button {
  padding: 0.5rem 1.5rem; /* px-6 py-2 */
  background-color: #860038; /* Use the banner color for modal button */
  color: white;
  border-radius: 0.5rem; /* rounded-lg */
  transition: background-color 0.2s ease-in-out; /* transition-colors duration-200 */
  border: none;
  cursor: pointer;
}

#messageModal button:hover {
  background-color: #6b002c; /* Darker shade on hover */
}

/* Submit Claim Section */
/* Ensure input and textarea elements behave consistently, adjusting focus ring to brand color */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
textarea,
select {
  width: 100%;
  padding: 0.75rem; /* p-3 */
  border: 1px solid #d1d5db; /* border-gray-300 */
  border-radius: 0.375rem; /* rounded-md */
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
  outline: none;
  transition: all 0.2s ease-in-out;
  color: #343a40; /* Dark gray for input text */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
textarea:focus,
select:focus {
  border-color: #860038; /* Focus ring color updated to brand color */
  box-shadow: 0 0 0 3px rgba(134, 0, 56, 0.25); /* Focus ring with brand color */
}

/* Specific styling for radio buttons to appear inline with their labels */
input[type="radio"] {
  width: auto;
  margin-right: 0.5rem; /* mr-2 */
  vertical-align: middle; /* Align with text */
}
label.radio-label {
  display: inline-block;
  margin-right: 1rem; /* mr-4 */
  color: #343a40; /* Ensure labels use the brand text color */
  font-weight: normal;
}

/* Style for required fields indicator - using brand color */
.required::after {
  content: " *";
  color: #ef4444; /* Retaining red for asterisk for visibility, as it's a critical indicator */
}

/* Adjust textarea resize handle */
textarea {
  resize: vertical;
}

/* Styling for the main submit button, mimicking .btn-header-action */
.btn-submit-claim {
  width: 100%;
  font-weight: bold;
  padding: 0.75rem 1rem; /* py-3 px-4 */
  border-radius: 0.5rem; /* rounded-lg */
  outline: none;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-md */
  color: #fff; /* White text for button */
  background-color: #860038; /* Brand background color */
  border: 2px solid #860038; /* Brand border color */
  font-size: 1.1rem; /* Slightly larger font for prominence */
  font-weight: 700; /* Bolder font */
}

.btn-submit-claim:hover {
  color: #fff; /* White text on hover */
  background-color: #860038; /* Blue background on hover (from provided CSS) */
  border-color: #860038; /* Blue border on hover */
}

/* Styling for headings and paragraphs within the form container */
.container h1 {
  color: #860038; /* Brand color for main heading */
}
.container h2, .container h3 {
  color: #343a40; /* Dark gray for subheadings */
}
.container p, .container label {
  color: #343a40; /* Dark gray for general text and labels */
}

/* Logo styling */
.allegany-logo {
  max-width: 250px; /* Adjust as needed, based on typical usage */
  height: auto;
  margin: 0 auto 20px auto; /* Center the logo and add margin below */
  display: block;
}

/* Main content container styling */
.main-content {
  background-color: #f7f7f7; /* Light background for the main content area */
  padding: 2rem 0; /* Add vertical padding */
  flex-grow: 1; /* Allows the content to grow and push footer down */
  display: flex;
  justify-content: center;
  align-items: flex-start; /* Align content to the top within the flex container */
}

/* Form container within main content */
.form-container {
  background-color: #ffffff; /* White background for the form itself */
  border-radius: 0.5rem; /* rounded-lg */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-xl */
  padding: 2rem; /* p-8 */
  max-width: 48rem; /* max-w-3xl, adjusted for potentially wider content */
  width: 100%;
  margin: 0 auto; /* Center the form container */
}

/* ZIP Code Search Section Styling */
.full-width-zip-wrapper {
  width: 100%;
  background-color: #6c757d; /* Match footer background */
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.zip-search-section h5 {
  color: #fff; /* White text for the heading */
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.zip-search-section .form-control {
  border-radius: 25px; /* Pill-shaped input */
  padding: 10px 20px;
  border: 1px solid #860038; /* Allegany primary color border */
  background-color: #f8f9fa; /* Light background for input */
  color: #343a40;
  width: 70%; /* Adjust width as needed */
  max-width: 300px;
}

.zip-search-section .form-control::placeholder {
  color: #6c757d;
}

.zip-search-section .form-control:focus {
  border-color: #6a002c;
  box-shadow: 0 0 0 0.25rem rgba(134, 0, 56, 0.25); /* Focus glow with primary color */
}

.zip-search-section .btn-primary {
  background-color: #860038;
  border-color: #860038;
  border-radius: 25px; /* Pill-shaped button */
  padding: 10px 25px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.zip-search-section .btn-primary:hover {
  color: #fff; /* White text on hover */
  background-color: #6a002c;
  border-color: #6a002c;
  transform: translateY(-2px);
}

#zipResult {
  color: #ccc; /* Light gray for result text */
  font-size: 1rem;
  min-height: 20px; /* Reserve space for message */
}

/* Thin gray line separator */
.footer-divider-line {
  height: 1px;
  background-color: #ccc; /* Light gray line */
  width: 100%;
  margin: 0;
}

/*------------------------------------*\
  #FOOTER STYLES
\*------------------------------------*/

#tp-footer {
  background-color: #303236;
  padding: 40px 0;
  font-family: 'Inter', sans-serif;
  color: white;
}

#tp-footer .ft-links-social h2 {
  font-size: 2.25rem;
  margin-bottom: 10px;
}

#tp-footer ul.list-inline {
  padding-left: 0;
  margin-bottom: 0;
}


#tp-footer ul.list-inline li {
  display: inline-block;
  margin-right: 10px;
}

#tp-footer ul.list-inline li a {
  color: #860038;
  font-size: 1.5rem;
  transition: color 0.3s ease;
}

#tp-footer ul.list-inline li a:hover {
  color: whitesmoke;
}

#tp-footer p {
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

/* Find an Agent Section Specific Styling */
#tp-footer .find-agent-section {
  background-color: #4a4d52; /* Slightly different background to make it pop */
  padding: 30px; /* Increased padding for a bigger look */
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
  /* Ensure content within is centered for smaller screens, and left-aligned for larger */
  text-align: center; /* Default to center */
}


.modal {
  /* Ensure modal is always on top */
  z-index: 1050 !important; /* Bootstrap modal-backdrop default is 1040, modal is 1050 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
  display: none; /* Hidden by default, Bootstrap JS handles display */
}

.modal-backdrop {
  /* Ensure backdrop is also on top, just below the modal */
  z-index: 1049 !important; /* Bootstrap modal-backdrop default is 1040 */
}


.modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* Specific hover effect for cards within the Find an Agent Modal */
.modal-content .card:hover {
  background-color: #860038;
}

.modal-content .card:hover .card-title,
.modal-content .card:hover h2,
.modal-content .card:hover p,
.modal-content .card:hover .icon {
  color: #fff !important;
}


.close {
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

@media print {
  body * {
    visibility: hidden;
  }
  #agentResults, #agentResults * {
    visibility: visible;
  }
  #agentResults {
    position: absolute;
    left: 0;
    top: 0;
  }
}

#tp-footer .find-agent-section:hover {
  transform: translateY(-5px); /* Lift effect on hover */
}

#tp-footer .find-agent-section h5 {
  font-size: 1.8rem; /* Larger font for prominence */
  color: #f8f9fa; /* Lighter color for contrast */
  margin-bottom: 20px; /* Increased margin for spacing */
}

#tp-footer .find-agent-section .form-control {
  border-radius: 5px;
  border: 1px solid #6c757d;
  background-color: #303236;
  color: white;
}

#tp-footer .find-agent-section .form-control::placeholder {
  color: #ced4da;
}

#tp-footer .find-agent-section .btn-primary {
  background-color: #860038;
  border-color: #860038;
  border-radius: 5px;
  font-weight: bold;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

#tp-footer .find-agent-section .btn-primary:hover {
  background-color: #a00045;
  border-color: #a00045;
}

#tp-footer #zipResult {
  font-size: 1.1rem; /* Slightly larger font for results */
  margin-top: 20px; /* Increased margin for spacing */
  padding: 15px; /* Increased padding for results */
  border-radius: 5px;
  background-color: #ccc(255, 255, 255, 0.836);
}

#tp-footer #zipResult p {
  margin-bottom: 5px;
}

/* Tiny Footer Styling */
#tp-tiny-footer {
  background-color: #860038; /* Darker background for tiny footer */
  padding: 5px 0;
  font-size: 0.90rem;
}


#tp-tiny-footer .copyright-text p {
  color: #fcfafa !important;
}


#tp-tiny-footer .tiny-ft-links {
  text-align: left;
}

/* Ensure both logos in the footer are the same height and aligned */
.logo-container {
  display: flex;
  flex-direction: column;
  align-items: right;
  margin-right: 0;
  padding-left: 10px;
  max-width: 100%;
  box-sizing: border-box;
}
.footer-logo {
 max-height: 120px;
 width: auto;
 margin-bottom: 10px;
}

/*------------------------------------*\
  #RESPONSIVE ADJUSTMENTS
\*------------------------------------*/

/* General Responsive Adjustments */
@media (max-width: 991.98px) {
  .top-banner .d-flex.flex-column.flex-lg-row {
    align-items: center;
    text-align: center;
  }

  .top-banner .d-flex.flex-wrap.gap-2 {
    justify-content: center;
    width: 100%;
  }

  .navbar-custom .navbar-nav {
    flex-direction: column; /* Stack nav items vertically on small screens */
    align-items: center; /* Center items vertically */
  }

  .navbar-custom .nav-item.dropdown {
    width: 100%; /* Full width for dropdown items on small screens */
  }

  .navbar-custom .dropdown-menu {
    position: static !important; /* Dropdowns behave normally, not absolutely positioned */
    transform: none !important; /* Remove centering transform */
    width: 100%; /* Full width for dropdown menu on small screens */
    text-align: left; /* Align text to left in dropdown on small screens */
  }

  .navbar-custom .dropdown-item {
    justify-content: flex-start; /* Align dropdown items to the left */
    padding-left: calc(1rem + 1.5rem); /* Indent dropdown items */
  }

  .top-banner .row > div {
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
  }
  /* NewHeader*/
  .top-banner .row > div:last-child {
    margin-bottom: 0;
  }
  .all-buttons-container {
    justify-content: center;
    margin-top: 30px;
  }
  .btn-header-action {
    padding: 6px 12px !important;
    font-size: 0.8rem !important;
    min-width: unset;
    max-width: unset;
  }
  .large-logo {
    max-width: 320px; /* Slightly bigger on medium */
    margin-top: 5px; /* Adjusted to move down */
  }
  .weather-thin-line {
    margin-top: 5px;
  }
  .credo-plain-text h4 {
    font-size: 1.3rem;
    font-weight: 800;
  }
  .credo-plain-text p {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: -10px;
  }
  .navbar-container {
    margin-top: 15px;
    width: 100%;
    max-width: none;
  }
  .nav {
    justify-content: center;
    padding: 0.6rem 0.8rem; /* Adjusted padding for smaller screens */
  }
  .nav .nav-item .nav-link {
    padding: 0.6rem 1rem; /* Adjusted padding for smaller screens */
    font-size: 1rem; /* Adjust navbar font size for smaller screens */
  }

  .header-content {
    flex-direction: column;
  }

  .header-text {
    text-align: center;
    margin-bottom: 0; /* md:mb-0 */
  }

  .header-text h1 {
    font-size: 3.75rem; /* md:text-6xl */
  }

  .header-text p {
    font-size: 1.5rem; /* md:text-2xl */
  }

  .header-image-wrapper {
    justify-content: flex-end;
  }

  .content-area {
    width: 83.333333%; /* w-10/12 */
  }

  .payment-content-box {
    padding: 3rem; /* md:p-12 */
  }

  .payment-button-group {
    grid-template-columns: repeat(2, 1fr); /* md:grid-cols-2 */
  }

  .address-cards-grid {
    grid-template-columns: repeat(2, 1fr); /* md:grid-cols-2 */
  }

  .zip-search-section .form-control {
    width: 100%;
    max-width: none;
    margin-bottom: 15px; /* Space between input and button */
  }
  .zip-search-section .d-flex {
    flex-direction: column;
    align-items: center;
  }
  .zip-search-section .btn-primary {
    width: 100%;
    max-width: 200px;
  }

  #tp-footer .row > div {
    margin-bottom: 30px;
  }

  #tp-footer .text-md-start {
    text-align: center !important;
  }

  #tp-footer .align-items-md-start {
    align-items: center !important;
  }

  .hero-images {
    flex-direction: column; /* Stack images vertically on smaller screens */
    align-items: center; /* Center stacked images */
  }
  .hero-images .header-pic {
    flex-basis: 90%; /* Make images take more width on small screens */
  }
  .tp-page-header .header-pic {
    margin-top: 30px; /* Space between text and image on small screens */
    text-align: center;
  }

  /* Footer alignment fixes for medium screens */
  #tp-footer .row .col-md-2 { /* For logos */
    flex: 0 0 auto;
    width: 100%; /* Full width on medium screens */
  }
  #tp-footer .row .col-md-6 { /* For find agent */
    flex: 0 0 auto;
    width: 100%; /* Full width on medium screens */
  }
  #tp-footer .row .col-md-4 { /* For social and contact */
    flex: 0 0 auto;
    width: 100%; /* Full width on medium screens */
  }
.logo-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 0;
  padding-left: 10px;
  max-width: 100%;
  box-sizing: border-box;
}
}

@media (max-width: 767.98px) {
  .btn-header-action {
    padding: 4px 10px !important;
    font-size: 0.7rem !important;
    margin: 2px;
  }
  .large-logo {
    max-width: 240px; /* Slightly bigger on small */
    margin-top: 10px; /* Adjusted to move down */
  }
  .weather-thin-line {
    margin-top: 1px;
  }
  .credo-plain-text h4 {
    font-size: 1.1rem;
    font-weight: 700;
  }
  .credo-plain-text p {
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: -5px;
  }
  .navbar-container {
    margin-top: 10px;
  }
  .nav {
    padding: 0.5rem 0.5rem; /* Adjusted padding for very small screens */
  }
  .nav .nav-item .nav-link {
    padding: 0.5rem 0.8rem; /* Adjusted padding for very small screens */
    font-size: 0.9rem; /* Adjust navbar font size for very small screens */
  }
}

/* Adjusted column widths for larger screens */
@media (min-width: 992px) {
  .top-banner .row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Allow items to wrap on smaller screens */
  #tp-footer .logo-container {
    align-items: flex-start;
    margin-right: 0;
  }
  }

  .logo-credo-buttons-container {
    display: flex;
    align-items: center;
    justify-content: center; /* Center items within this container */
    width: 100%; /* Take full width of its parent col */
  }

  .logo-credo-buttons-container > div {
    margin: 0 15px; /* Adjust spacing between logo, buttons, and credo */
  }

  .all-buttons-container {
    margin-top: 0; /* Reset margin as we are using flexbox on the parent */
  }

  .header-content {
    flex-direction: row;
  }

  .header-image-wrapper {
    justify-content: flex-end;
  }

  .content-area {
    width: 66.666667%; /* w-8/12 */
  }

  #tp-footer .row .col-md-2 { /* For logos */
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  #tp-footer .row .col-md-6 { /* For find agent */
    flex: 0 0 auto;
    width: 50%;
  }
  #tp-footer .row .col-md-4 { /* For social and contact */
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  #tp-footer .find-agent-section {
    text-align: left; /* Left-align for larger screens */
  }
.logo-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 0;
  padding-left: 10px;
  max-width: 100%;
  box-sizing: border-box;
}
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .top-banner .row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  .logo-credo-buttons-container {
    display: flex;
    flex-direction: column; /* Stack vertically on medium screens */
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .logo-credo-buttons-container > div {
    margin: 10px 0; /* Add vertical spacing for stacked items */
  }

  .all-buttons-container {
    margin-top: 0; /* Reset margin */
  }
}

/* Ensure logo and credo are vertically centered with buttons when in a row */
@media (min-width: 992px) {
  .credo-plain-text, .logo-wrapper {
    align-self: center; /* Vertically align these items with the buttons */
  #tp-footer .logo-container {
    align-items: flex-start;
    margin-right: 0;
  }
  }
}

/* Footer layout fix for larger screens */
@media (min-width: 992px) {
  #tp-footer .row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
  #tp-footer .logo-container {
    align-items: flex-start;
    margin-right: 0;
  }
  }

  #tp-footer .row > div {
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  #tp-footer .logo-container {
    align-items: flex-start;
  }

  #tp-footer .find-agent-section {
    text-align: left;
  }

  #tp-footer .text-md-start {
    text-align: left !important;
  }

  #tp-footer .align-items-md-start {
    align-items: flex-start !important;
  }
}

/* Ensure consistent logo sizing */
.footer-logo {
 max-height: 120px;
 width: auto;
 margin-bottom: 0px;
}

/* Add spacing between logos and the find-agent section */
#tp-footer .logo-container {
 display: flex;
 flex-direction: column;
 align-items: center;
 margin-right: 60px; /* Adjust as needed */
}

/* On larger screens, align logos to the top and add spacing */
@media (min-width: 992px) {
 #tp-footer .logo-container {
 align-items: flex-start;
 margin-right: 60px;
  #tp-footer .logo-container {
    align-items: flex-start;
    margin-right: 0;
  }
 }
}


/* Enhancements for better contrast in footer */
#tp-footer .find-agent-section input.form-control {
    color: #f8f9fa; /* Light text */
}

#tp-footer .find-agent-section input.form-control::placeholder {
    color: #dee2e6; /* Lighter placeholder */
}

#tp-footer .find-agent-section p,
#tp-footer .find-agent-section h5,
#tp-footer .text-center.text-md-start p,
#tp-footer .text-center.text-md-start h5 {
    color: #f8f9fa; /* Light text for better contrast */
}

/* Custom styles for contact.php */
.contact-info-section {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    margin-top: 20px; /* Space from header */
}

.phone-entry {
    display: flex;
    align-items: center; /* Vertically align icon, label, and value */
    margin-bottom: 15px; /* Space between entries */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.phone-entry:last-child {
    margin-bottom: 0;
}

.phone-label {
    font-weight: 600;
    color: #343a40;
    min-width: 150px; /* Ensure labels have consistent width */
    margin-right: 15px; /* Space between label and value */
    text-align: right; /* Align labels to the right */
}

.phone-value {
    color: #860038; /* Brand color for phone numbers */
    font-weight: 500;
    display: flex;
    align-items: center;
    flex-grow: 1; /* Allow value to take remaining space */
}

.phone-value i {
    margin-right: 8px; /* Space between icon and number */
    color: #860038; /* Ensure icon is also brand color */
}

/* Responsive adjustments for contact info */
@media (max-width: 767.98px) {
    .phone-entry {
        flex-direction: column; /* Stack label and value vertically */
        align-items: flex-start; /* Align stacked items to the left */
    }
    .phone-label {
        min-width: unset; /* Remove fixed width on small screens */
        text-align: left; /* Align label to left */
        margin-bottom: 5px; /* Space between label and value when stacked */
    }
    .phone-value {
        justify-content: flex-start; /* Align value to left */
    }
}

/* Custom styles for careers.php */
.job-opportunities-container {
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    padding: 20px;
}

.job-item {
    border-bottom: 1px solid #e0e0e0; /* Light gray border for separation */
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-radius: 8px; /* Rounded corners for each job item */
    overflow: hidden; /* Ensures rounded corners apply correctly */
}

.job-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.job-item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    cursor: pointer;
    font-weight: 600;
    color: #860038; /* Brand color for job titles */
    background-color: #f8f9fa; /* Light background for summary */
    border-radius: 8px; /* Rounded corners for summary */
    transition: background-color 0.3s ease;
}

.job-item summary:hover {
    background-color: #e9ecef; /* Lighter hover effect */
}

.job-item[open] summary {
    background-color: #860038; /* Brand color when open */
    color: #ffffff; /* White text when open */
    border-bottom-left-radius: 0; /* Remove bottom-left radius when open */
    border-bottom-right-radius: 0; /* Remove bottom-right radius when open */
}

.job-item[open] summary .arrow-icon {
    color: #ffffff; /* White arrow when open */
}

.arrow-icon {
    transition: transform 0.3s ease;
    color: #6c757d; /* Default arrow color */
}

.arrow-icon.rotate-90 {
    transform: rotate(90deg);
}

.job-item-content {
    padding: 20px;
    background-color: #ffffff; /* White background for content */
    color: #343a40; /* Dark text for content */
    border-top: 1px solid #e0e0e0; /* Separator line */
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Custom button for LinkedIn */
.btn-custom-primary {
    background-color: #ffffff; /* Brand color */
    color: #0077b5;
    border: none;
    padding: 12px 25px;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-custom-primary:hover {
    background-color: #0077b5; /* Darker shade on hover */
    transform: translateY(-2px);
}

.btn-custom-primary span {
    margin-right: 8px; /* Space for icon if added later */
}

/* Centering for career opportunities and LinkedIn sections */
.container.py-5 {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.text-center.mb-4, .text-center.py-4 {
    width: 100%; /* Ensure these take full width to center content */
}

.d-flex.justify-content-center.mt-4 {
    width: 100%;
}

.col-md-6.p-3 {
    max-width: 500px; /* Limit width of LinkedIn card for better appearance */
}

/* Font increase for our-companies.php */
.font-increase {
    font-size: 1.1rem; /* Slightly larger base font size for readability */
    line-height: 1.8; /* Increased line height for better readability */
}
.font-increase h2 {
    font-size: 2rem; /* Larger headings */
    margin-bottom: 1rem;
}
.font-increase p {
    margin-bottom: 1.5rem;
}
        /* Custom styles for the document library */
        .search-bar {
            margin-bottom: 30px;
            text-align: center;
        }

        .search-bar input[type="text"] {
            width: 100%;
            max-width: 500px;
            padding: 12px 20px;
            border: 1px solid #ced4da;
            border-radius: 25px; /* Rounded search bar */
            font-size: 1rem;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            transition: all 0.3s ease;
        }

        .search-bar input[type="text"]:focus {
            border-color: #860038;
            box-shadow: 0 0 0 0.25rem rgba(134, 0, 56, 0.25);
            outline: none;
        }

        .category-title {
            color: #860038; /* Brand color for category titles */
            font-weight: 700;
            margin-top: 40px;
            margin-bottom: 25px;
            text-align: center;
            position: relative;
            padding-bottom: 10px;
        }

        .category-title::after {
            content: '';
            position: absolute;
            left: 50%;
            bottom: 0;
            transform: translateX(-50%);
            width: 80px;
            height: 3px;
            background-color: #860038; /* Underline for category titles */
            border-radius: 5px;
        }

        .document-item .card {
            border: none;
            border-radius: 15px;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
            background-color: #ffffff; /* White background for cards */
            height: 100%; /* Ensure cards in a row have equal height */
        }

        .document-item .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
        }

        .document-item .card-body {
            padding: 25px;
            display: flex;
            flex-direction: column;
            justify-content: space-between; /* Pushes button to the bottom */
        }

        .document-title {
            color: #343a40; /* Dark gray for document titles */
            font-size: 1.25rem; /* H5 size */
            font-weight: 600;
            margin-bottom: 15px;
            text-align: center;
            flex-grow: 1; /* Allows title to take up available space */
        }

        .document-item .btn-header-action {
            background-color: #860038 !important; /* Brand color */
            color: #fff !important; /* White text */
            border: none !important;
            padding: 10px 20px !important;
            border-radius: 8px !important;
            font-size: 0.95rem !important;
            font-weight: 600 !important;
            display: block; /* Make button full width of card body */
            width: fit-content; /* Adjust width to content */
            margin: 0 auto; /* Center the button */
            transition: background-color 0.3s ease, transform 0.2s ease;
        }

        .document-item .btn-header-action:hover {
            color: #fff; /* White text on hover */
            background-color: #6a002c !important; /* Darker shade on hover */
            transform: translateY(-2px);
        }

        /* Responsive adjustments */
        @media (max-width: 767.98px) {
            .search-bar input[type="text"] {
                padding: 10px 15px;
                font-size: 0.9rem;
            }

            .category-title {
                font-size: 1.8rem;
                margin-top: 30px;
                margin-bottom: 20px;
            }

            .document-title {
                font-size: 1.1rem;
            }

            .document-item .btn-header-action {
                padding: 8px 15px !important;
                font-size: 0.85rem !important;
            }
        }
        /* Custom styles for the cards and buttons */
        body {
            font-family: 'Inter', sans-serif;
            background-color: #f8f9fa;
        }
        .container {
            max-width: 1200px;
        }
        .card {
            border: none;
            border-radius: 15px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            padding: 30px;
            margin-bottom: 30px;
            text-align: center;
            transition: transform 0.3s ease-in-out;
            height: 100%; /* Ensure cards in a row have equal height */
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .card:hover {
            transform: translateY(-10px);
        }
        .card .icon {
            font-size: 3rem;
            color: #860038;
            margin-bottom: 20px;
        }
        .card h2 {
            color: #860038;
            font-weight: 700;
            margin-bottom: 15px;
        }
        .card p {
            color: #6c757d;
            font-size: 1rem;
            line-height: 1.6;
            flex-grow: 1; /* Allow paragraph to take available space */
        }
        .submit-button {
            background-color: #860038;
            color: #fff;
            border: none;
            border-radius: 8px;
            padding: 12px 25px;
            font-size: 1.1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.2s ease;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-top: 20px; /* Space above the button */
        }
        .submit-button:hover {
            background-color: #6a002c;
            transform: translateY(-2px);
        }
        .submit-button i {
            margin-right: 8px;
        }
        .text-center h1 {
            color: #860038;
        }
        .text-center p.lead {
            color: #860038;
        }
        .payment-info ul {
            list-style: none;
            padding-left: 0;
            text-align: left;
            color: #495057;
        }
        .payment-info ul li {
            margin-bottom: 10px;
            display: flex;
            align-items: flex-start;
        }
        .payment-info ul li::before {
            content: "\2022"; /* Bullet point */
            color: #860038;
            font-weight: bold;
            display: inline-block;
            width: 1em;
            margin-left: -1em;
            margin-right: 0.5em;
        }
        .payment-options img {
            max-height: 40px;
            margin: 5px;
        }
        .payment-options {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            margin-top: 15px;
        }


    body {
      font-family: Inter, sans-serif;
      margin: 0;
      padding: 0;
      background-color: #f9f9f9;
    }

    .mail-payment-section h1 {
      text-align: center;
      margin-bottom: 2rem;
    }

    .address-cards-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.5rem;
      max-width: 1200px;
      margin: 0 auto;
    }

    .col-span-1 {
      flex: 1 1 250px;
      max-width: 300px;
    }

    .mailing-address-card {
      background-color: #555;
      padding: 1rem;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .policyholder-note-site-theme {
      font-size: 0.9rem;
      font-weight: bold;
      color: #333;
    }

    .address-text-site-theme {
      font-size: 0.85rem;
      margin-bottom: 1rem;
      color: #555;
    }

    address h4 {
      margin: 0.25rem 0;
    }

    .copy-button {
      margin-top: 1rem;
      padding: 0.5rem 1rem;
      background-color: #860038;
      color: white;
      border: none;
      border-radius: 4px;
      cursor: pointer;
    }

    .copy-button:hover {
      background-color: #860038;
    }

    @media (max-width: 600px) {
      .col-span-1 {
        flex: 1 1 100%;
        max-width: 100%;
      }
    }

/*------------------------------------*\
  #VIDEO SECTION STYLES (MOVED FROM HTML)
\*------------------------------------*/
.video-section .card {
    border: none;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    transition: transform 0.3s ease-in-out;
}

.video-section .card:hover {
    transform: translateY(-5px);
}

.video-section .card-header {
    background-color: #860038 !important; /* Use brand primary color */
    color: #fff;
    font-weight: 700;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    padding: 1.5rem; /* Increased padding */
    font-size: 1.5rem; /* Larger font size */
}

.video-section .card-header h2 {
    color: #fff; /* Ensure heading text is white */
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center; /* Center the icon and text */
}

.video-section .card-header i {
    margin-right: 10px;
}

.video-section .card-body {
    padding: 2.5rem; /* Increased padding for content */
}

.video-section .card-body p {
    color: #343a40; /* Dark gray for body text */
    font-size: 1.1rem; /* Slightly larger text */
    line-height: 1.7;
    text-align: center;
    margin-bottom: 2rem;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Responsive grid */
    gap: 2rem; /* Increased gap between videos */
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.video-item {
    background-color: #f8f9fa; /* Light background for each video item */
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.video-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.video-placeholder {
    background-color: #e0e0e0; /* Placeholder background */
    height: 180px; /* Fixed height for video placeholder */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: #860038; /* Brand color for play icon */
    cursor: pointer;
    position: relative;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.video-placeholder::after {
    content: "\f144"; /* Font Awesome play-circle icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4rem; /* Larger play icon */
    color: rgba(134, 0, 56, 0.8); /* Slightly transparent brand color */
    transition: transform 0.3s ease, color 0.3s ease;
}

.video-item:hover .video-placeholder::after {
    transform: translate(-50%, -50%) scale(1.1);
    color: #860038;
}

.video-title {
    font-size: 1.25rem; /* Larger font for video titles */
    font-weight: 600;
    color: #343a40;
    padding: 1rem 1.5rem; /* Padding for title */
    text-align: center;
    margin-bottom: 0;
    flex-grow: 1; /* Allows title to take available space */
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-youtube {
    background-color: #ff0000 !important; /* YouTube red */
    border-color: #ff0000 !important;
    color: #fff !important;
    font-weight: 600;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-youtube:hover {
    background-color: #cc0000 !important;
    border-color: #cc0000 !important;
    transform: translateY(-2px);
}

.btn-youtube i {
    margin-right: 10px;
}

/* Modal specific styles */
.modal-header {
    background-color: #860038; /* Brand color for modal header */
    color: #fff;
    border-bottom: none;
    padding: 1.5rem;
}
.modal-header .btn-close {
    filter: invert(1); /* Make close button white */
}
.modal-title {
    color: #fff;
    font-weight: 700;
}
.modal-body {
    background-color: #f8f9fa; /* Light background for modal body */
}
.ratio-16x9 {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
}
.ratio-16x9 video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
    .video-section .card-header {
        font-size: 1.2rem;
        padding: 1rem;
    }
    .video-section .card-body {
        padding: 1.5rem;
    }
    .video-section .card-body p {
        font-size: 1rem;
    }
    .video-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .video-placeholder {
        height: 150px;
    }
    .video-placeholder::after {
        font-size: 3rem;
    }
    .video-title {
        font-size: 1.1rem;
        padding: 0.8rem 1rem;
    }
    .btn-youtube {
        padding: 10px 20px;
        font-size: 1rem;
    }
}


.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
}
.modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}
.close {
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}
@media print {
  body * {
    visibility: hidden;
  }
  #agentResults, #agentResults * {
    visibility: visible;
  }
  #agentResults {
    position: absolute;
    left: 0;
    top: 0;
  }
}


/* LinkedIn Footer Styling */
.linkedin-link {
    color: #0077b5 !important;
    text-decoration: none;
}

.linkedin-link:hover {
    text-decoration: underline;
}

.linkedin-icon {
    color: #0077b5 !important;
}
/* General body and font styles */
        body {
            font-family: 'Inter', sans-serif;
            background-color: #f3f4f6;
            margin: 0;
        }
/*------------------------------------*\
  #AIG ANNOUNCEMENTS STYLES
\*------------------------------------*/

/* Announcements section container */
.aig-announcements-section {
    padding: 3rem 0;
    background-color: #f9fafb;
}

.aig-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* The main banner title header */
.aig-section-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.aig-section-header h2 {
    font-size: 2.25rem;
    font-weight: 800;
    color: #860038;
    letter-spacing: -0.025em;
    margin-bottom: 0.75rem;
}

.aig-section-header p {
    font-size: 1.125rem;
    color: #6b7280;
}

/* Announcements container - uses flexbox for layout */
.aig-announcements-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 1.5rem;
    padding-bottom: 1.5rem;
}

/* Media queries for larger screens to show all cards */
@media (min-width: 1024px) {
    .aig-announcements-container {
        flex-wrap: wrap;
        overflow-x: visible;
        padding-bottom: 0;
        justify-content: center; /* Center the cards on larger screens */
    }
}

/* Custom scrollbar for horizontal scrolling on mobile */
.aig-announcements-container::-webkit-scrollbar {
    display: none;
}

.aig-announcements-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Individual announcement card styling */
.aig-announcement-card {
    flex: 0 0 auto;
    width: 90%;
    padding: 1.5rem;
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
    transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Media queries to adjust card width on different screens */
@media (min-width: 640px) {
    .aig-announcement-card {
        width: 20rem;
    }
}

@media (min-width: 1024px) {
    .aig-announcement-card {
        width: 24rem;
    }
}

/* Hover effect for the cards */
.aig-announcement-card:hover {
    transform: scale(1.05);
}

/* Title and content within the card */
.aig-announcement-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #860038;
    margin-bottom: 0.75rem;
}

.aig-announcement-card-content {
    color: #374151;
    line-height: 1.75rem;
}
