/*
Theme Name: Source of Banking Child Theme - TwentyTwentyOne
Theme URI: https://sourceofbanking.com/
Description: Child Theme of TwentyTwentyOne
Author: Corey Jones
Author URI:
Template: twentytwentyone
Version: 0.1
*/


                                                                        /*Wordpress*/
                                                                      
/* Menu + Sign */
.primary-navigation .primary-menu-container > ul > .menu-item > a + .sub-menu-toggle {
    display: none;
}
/* Menu ^ DropDown */
.primary-navigation .sub-menu:before,
.primary-navigation .sub-menu:after {
    display: none !important;
}

html body #masthead {
    padding-top: 25px !important; /* Adjusts the top padding */
    padding-bottom: 10px !important; /* Adjusts the bottom padding */
}

html body #masthead #site-title {
    padding-left: 0 !important; /* Removes the left padding */
    margin-left: 0 !important; /* Removes any left margin */
}

html body #masthead #site-navigation {
    padding-right: 0 !important; /* Removes the right padding */
    margin-right: 0 !important; /* Removes any right margin */
}

html body #masthead #site-title {
    border: none !important; /* Removes any border */
}

html body #masthead #site-navigation {
    border: none !important; /* Removes any border */
}

html body #content {
    padding-top: 65px !important; /* Adds padding to the top of the content area to push it down */
}

.page .entry-header {
    display: none;
}

.page .entry-content {
    margin-top: -45px;
}

body .logout-button-wrapper a {
    display: inline-block; /* Needed for width and padding to work */
    padding: 10px 20px; /* Button padding */
    background-color: #000000; /* Button color */
    color: #ffffff; /* Text color */
    text-decoration: none; /* Remove underline from link */
    font-size: 16px; /* Text size */
    border: 2px solid transparent; /* Transparent border */
    border-radius: 5px; /* Rounded corners */
    transition: border-color 0.3s, background-color 0.3s; /* Smooth transition for border and background */
}

body .logout-button-wrapper a:hover {
    background-color: #000000; /* Keep the same background color */
    border-color: #ffffff; /* Change border color to white */
}


/* Hide footer navigation on all pages except the home page */
body:not(.home) .footer-navigation {
    display: none;
}



                                                                        /*Gravity Forms*/

                                                                        
#gform_submit_button_3,
#gform_submit_button_16{
    display: inline-block !important; /* Needed for width and padding to work */
    padding: 10px 20px !important; /* Button padding */
    background-color: #000000 !important; /* Button color */
    color: #ffffff !important; /* Text color */
    text-decoration: none !important; /* Remove underline from link */
    font-size: 16px !important; /* Text size */
    border: 2px solid transparent !important; /* Transparent border */
    border-radius: 5px !important; /* Rounded corners */
    transition: border-color 0.3s, background-color 0.3s !important; /* Smooth transition for border and background */
}

#gform_submit_button_3,
#gform_submit_button_16:hover {
    background-color: #ffffff !important; /* Change background color on hover */
    color: #000000 !important; /* Change text color on hover */
    border-color: #000000 !important; /* Change border color on hover */
}

/* Gravity Forms Change Password Button */
#gform_submit_button_9 {
    display: inline-block; /* Needed for width and padding to work */
    padding: 10px 20px; /* Button padding */
    background-color: #000000; /* Button color */
    color: #ffffff; /* Text color */
    text-decoration: none; /* Remove underline from link */
    font-size: 16px; /* Text size */
    border-radius: 5px; /* Rounded corners */
    transition: background-color 0.3s; /* Smooth background color transition */
}

/*Gravity Forms Stripe Subscription Portal-----------------------------*/
[id^="gforms_subscription_link"] {
    display: inline-block; /* Needed for width and padding to work */
    padding: 10px 20px; /* Button padding */
    background-color: #000000; /* Button color */
    color: #ffffff; /* Text color */
    text-decoration: none; /* Remove underline from link */
    font-size: 16px; /* Text size */
    border-radius: 5px; /* Rounded corners */
    transition: background-color 0.3s; /* Smooth background color transition */
}

/* Align the contents of the Stripe portal block */
.gform_wrapper.gforms-stripe-self-serve {
    display: block; /* Use block display for default document flow */
}

.gforms-stripe-self-serve-subscriptions-information-container {
    width: 100%; /* Ensure the container takes full width */
}

ul.gforms-stripe-self-subscriptions-list {
    padding: 0; /* Reset any padding that might be affecting the list */
    margin: 0; /* Ensure no default margin */
    width: 100%; /* Make sure the list takes up the full width */
}

.gforms-stripe-subscription {
    list-style-type: none; /* Remove bullet points from list items */
    margin: 0; /* Remove any default margin */
    text-align: left; /* Align text to the left within the subscription details */
}

.gforms-stripe-subscription-portal-link button {
    margin-top: 1.25rem; /* Keep the original top margin for the button */
}


                                                                        /*BHC & CERT Search Tables*/


/* BHC and CERT Search Form Styles */
#bhc-search-form,
#cert-search-form {
    display: flex; /* Display the form as a flex container */
    align-items: center; /* Vertically center items */
    gap: 10px; /* Space between the input and button */
    position: relative; /* Position relative to position suggestions list absolutely */
    width: 100%; /* Ensure the form takes the full width */
}

.bhc-search,
.cert-search,
.bhc-button,
.cert-button,
#table-select,
#value-scale,
#download-csv {
    height: 50px; /* Set a fixed height for both input and button */
    line-height: 1.5; /* Set line height for text alignment */
}

.bhc-button,
.cert-button,
#table-select,
#value-scale,
#download-csv {
    padding: 0 20px; /* Padding for buttons and select elements */
    background-color: #000000; /* Button and select background color */
    color: #ffffff; /* Text color */
    text-decoration: none; /* Remove underline from link */
    font-size: 16px; /* Text size */
    border: 2px solid transparent; /* Transparent border */
    border-radius: 5px; /* Rounded corners */
    cursor: pointer; /* Pointer cursor on hover */
    transition: background-color 0.3s, border-color 0.3s; /* Smooth transition for border and background */
    display: flex; /* Flex display for alignment */
    align-items: center; /* Vertically center text */
    justify-content: center; /* Horizontally center text */
    margin-right: 10px; /* Add some space between elements */
}

.bhc-button:hover,
.cert-button:hover,
#table-select:hover,
#value-scale:hover,
#download-csv:hover {
    background-color: #ffffff; /* Change background color on hover */
    color: #000000; /* Change text color on hover */
    border-color: #000000; /* Change border color on hover */
}

#table-select,
#value-scale {
    appearance: none; /* Remove default select styles */
    -webkit-appearance: none; /* Remove default select styles in WebKit browsers */
    -moz-appearance: none; /* Remove default select styles in Mozilla browsers */
}

#table-select::-ms-expand,
#value-scale::-ms-expand {
    display: none; /* Remove default dropdown arrow in IE */
}

#controls-container {
    display: flex; /* Use flexbox to align items side by side */
    align-items: center; /* Align items vertically */
    gap: 10px; /* Space between controls */
}

.bhc-search,
.cert-search {
    flex: 1; /* Allow input to take available space */
    padding: 0 20px !important; /* Adjust padding as needed */
    background-color: #ffffff; /* White background */
    border: 2px solid #000000; /* Black border */
    border-radius: 0 !important; /* Remove rounded corners */
    width: 100% !important; /* Force input to take full width */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

#suggestions-list,
#cert-suggestions-list {
    position: absolute; /* Position absolutely within the relative parent */
    top: 100%; /* Position below the input */
    left: 0;
    width: 100%; /* Match the width of the input */
    z-index: 9999; /* Ensure it appears above other elements */
    background: white; /* White background */
    border: 1px solid #ccc; /* Border */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

#search-results,
#cert-search-results {
    width: 100% !important; /* Adjust the width as needed, e.g., 100%, 80%, 500px, etc. */
    max-width: 1500px !important; /* Set a max-width if necessary */
    margin: 0 auto; /* Center align the container */
    padding: 20px;
    /*box-sizing: border-box; /* Include padding in the element's total width and height */
}

.financial-table {
    border-collapse: collapse;
    width: 100%;
}

.financial-table th,
.financial-table td {
    border: none; /* Get rid of the grid lines */
    padding: 8px;
    font-size: 12px; /* Make the font smaller */
    text-align: left;
    word-wrap: break-word; /* Ensure text wraps */
}

.financial-table th {
    background-color: #f2f2f2;
    position: sticky; /* Make table head rows frozen */
    top: 0; /* Ensure it sticks to the top */
    z-index: 1; /* Ensure it stays above other rows */
}

.financial-table tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

.financial-table tbody tr:nth-child(even) {
    background-color: #ffffff;
}

/* Ensure the table size remains static */
.financial-table {
    table-layout: fixed;
    width: 100%;
}

.financial-table th,
.financial-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal; /* Ensure text wraps */
}

/* Bold the main rows */
.financial-table .main-row td {
    font-weight: bold;
}

/* Base styles for table rows within financial-table */
.financial-table tr {
    padding-left: 0;
}

.caret {
    display: inline-block;
    margin-right: 5px;
    transition: transform 0.3s ease;
}

.caret-down {
    transform: rotate(90deg);
}

.has-children {
    cursor: pointer;
}

.financial-table .label-cell {
    padding-left: 0;
}

.financial-table .level-1 .label-cell {
    padding-left: 5px;
}

.financial-table .level-2 .label-cell {
    padding-left: 10px;
}

.financial-table .level-3 .label-cell {
    padding-left: 15px;
}

.financial-table .level-4 .label-cell {
    padding-left: 20px;
}

.financial-table .level-5 .label-cell {
    padding-left: 25px;
}

.financial-table .level-6 .label-cell {
    padding-left: 30px;
}

.selected-item {
    display: flex;
    flex-direction: column;
    padding: 5px 10px;
    margin: 5px;
    background-color: #d3d3d3; /* Grey color */
    color: black;
    border-radius: 5px;
    width: 100%; /* Full width for filters */
    box-sizing: border-box; /* Ensure padding and border are included in width and height */
}
.selected-item-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}
.selected-item-header span:first-child {
    flex-grow: 1;
    text-align: center; /* Center the filter name */
}
.selected-item-header span:last-child {
    cursor: pointer; /* Change cursor to pointer on hover */
    margin-left: 10px; /* Add margin to the left */
}
.condition-container {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between; /* Add space between elements */
    gap: 5px; /* Space between elements */
    flex-wrap: nowrap; /* Prevent elements from wrapping */
}
.condition, .condition-year, .condition-value, .cagr-value {
    margin: 5px 0; /* Add margin for spacing */
    height: 60px; /* Adjust height */
    font-size: 1em; /* Smaller font size */
    align-items: center;
    display: flex;
    box-sizing: border-box; /* Include padding in width/height calculations */
    min-width: 100px; /* Minimum width to prevent shrinking */
}
.condition-value, .cagr-value {
    flex-grow: 1; /* Take up remaining space */
    max-width: calc(100% - 5px); /* Ensure it doesn't overflow */
    position: relative;
}
.condition-value::after, .cagr-value::after {
    content: attr(data-suffix);
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.suggestions {
    position: absolute;
    top: 100%; /* Ensure the dropdown appears below the input box */
    left: 0;
    background: white;
    border: 1px solid #ccc;
    display: none;
    width: 100%;
    z-index: 9999;
}
.suggestions div {
    padding: 5px;
    cursor: pointer;
}
.suggestions div:hover {
    background-color: #f0f0f0;
}

.cert-loading-spinner,
.bhc-loading-spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}



                                                                        /*BDM Screener*/

/* Center the bdm-screener-wrapper */
#bdm-screener-wrapper {
    margin: 0 auto;
    width: fit-content; /* Adjust width according to the content */
    max-width: 100%; /* Prevent it from exceeding the screen width */
    padding-left: 30px !important;
}

/* Center the screener-results-container within the wrapper and enable scrolling */
#screener-results-container {
    margin: 0 auto;
    width: 100%; /* Allow the container to take the full width */
    max-width: 100%; /* Prevent it from exceeding the screen width */
    overflow-x: auto; /* Enable horizontal scrolling if the table overflows */
    padding-left: 10px !important;
    padding-right: 15px !important;
}

/* The results container itself */
#screener-results {
    width: auto; /* Allow the content to determine the width */
    min-width: 100%; /* Ensure it expands with the table */
    white-space: nowrap; /* Prevent text wrapping */
}

/* The table itself */
.screener-results {
    border-collapse: collapse;
    width: 100%; /* Ensure the table takes up the full width of the container */
    table-layout: fixed; /* Use fixed layout to control column widths */
    margin: 0 auto; /* Center the table */
    
    overflow-x: auto; /* Ensure the table can scroll horizontally */
}

/* Table headers and cells */
.screener-results th,
.screener-results td {
    border: none; /* Remove the grid lines */
    padding: 8px;
    font-size: 12px; /* Make the font smaller */
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis; /* Truncate overflowing text with an ellipsis */
    white-space: normal; /* Allow text to wrap inside the cells */
    word-wrap: break-word; /* Break long words to fit within the column */
}

/* Sticky header for the table */
.screener-results th {
    background-color: #f2f2f2;
    position: sticky; /* Make table head rows sticky */
    top: 0; /* Ensure the header stays at the top */
    z-index: 1; /* Ensure it stays above other rows */
}

/* Alternating row colors */
.screener-results tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

.screener-results tbody tr:nth-child(even) {
    background-color: #ffffff;
}

/* Bold the main rows */
.screener-results .main-row td {
    font-weight: bold;
}

/* Change cursor to pointer on hover over sortable headers */
.sortable {
    cursor: pointer;
}

/* Underline caret on hover over sortable headers */
.sortable:hover .sort-caret {
    text-decoration: underline;
}

/* Styling for the selected filters */
#selected-filters {
    display: flex;
    flex-direction: column; /* Stack the children vertically */
}

/* Hidden elements */
.hidden-screener {
    display: none !important;
}

/* Rows per page and pagination buttons */
#rows-per-page,
#prev-page,
#next-page {
    height: 50px; /* Set a fixed height for both input and button */
    line-height: 0.75; /* Set line height for text alignment */
    text-align: center; /* Center text horizontally */
    vertical-align: middle; /* Vertically center inline elements */
    box-sizing: border-box;
    margin: 25; /* Remove default margin */
    padding: 25; /* Remove default padding */
}

/* Loading spinner styles */
.screener-loading-spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}

/* Spinner animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Pagination controls container */
#pagination-controls {
    display: flex;
    justify-content: space-between !important; /* Aligns rows per page to the left and pagination to the right */
    margin-top: 10px; /* Adds some space above the pagination */
    
}


/* Style for the pagination controls */
#pagination-controls button {
    padding: 4px 8px;
    font-size: 12px;
    width: auto;
    height: auto;
    border: 1px solid #ccc;
    cursor: pointer;
    background-color: #000; /* Black background color for clickable buttons */
    color: #fff; /* White text color */
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#pagination-controls button:disabled {
    background-color: #e0e0e0; /* Lighter background for disabled buttons */
    color: #999; /* Gray text for disabled buttons */
    cursor: not-allowed;
}

#pagination-controls button:hover:not(:disabled) {
    background-color: #333; /* Darker black on hover */
}

#rows-pagnation-screener {
    display: flex;
    justify-content: space-between; /* Aligns rows per page to the left and pagination to the right */
    align-items: center; /* Vertically center the items */
    margin-top: 10px;
}



                                                                        /*BDM SOD Market Share*/

#fdic-sod-results{
    overflow:hidden;
    
}


/* Add a wrapper around the table to enable horizontal scrolling */
#fdic-sod-results {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    overflow-x: auto; /* Enable horizontal scrolling */
    overflow-y: auto; /* Enable vertical scrolling */
    max-height: 600px; /* Set the maximum height as needed */
}

/* Sticky header rows */
.sod-table thead th {
    position: sticky;
    top: 0;
    z-index: 10; /* Higher z-index to stay above other cells */
    background-color: #f2f2f2;
}

/* Second header row adjustments */
.sod-table thead tr:nth-child(2) th {
    top: 40px; /* Height of the first header row */
    z-index: 9; /* Slightly lower z-index */
}

/* FDIC SOD Table Styles */
.sod-table {
    border-collapse: collapse;
    width: max-content; /* Allow table to take the necessary width based on content */
    min-width: 100%; /* Ensure the table at least fills the width of the container */
    table-layout: fixed; /* Use fixed layout to control column widths */
}

/* General cell styles */
.sod-table th,
.sod-table td {
    border: none;
    padding: 8px;
    font-size: 12px;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word; /* Allow words to wrap */
    height: 40px; /* Set fixed height */
    box-sizing: border-box; /* Include padding and border in width and height calculations */
    height: 40px; /* Ensure consistent height */
}

/* Freeze header rows when scrolling vertically */
.sod-table th {
    background-color: #f2f2f2;
}

/* Adjust top position for the second header row */
.sod-table thead tr:nth-child(2) th {
    top: 40px; /* Height of the first header row */
}

/* Freeze 'Bank Name' column when scrolling horizontally */
.sod-table th.bank-name,
.sod-table td.bank-name {
    position: sticky;
    left: 0;
    z-index: 3; /* Higher z-index to stay above other cells */
    background-color: #f2f2f2;
    white-space: normal; /* Allow text to wrap */
    overflow: hidden !important;
}

/* Adjust z-index for the intersection of sticky header and first column */
.sod-table thead tr:first-child th.bank-name {
    z-index: 14;
}

/* Freeze header rows when scrolling vertically */
.sod-table .header-row-1 th {
    position: sticky;
    top: 0;
    z-index: 2; /* Higher z-index for the top header row */
    background-color: #f2f2f2;
}

.sod-table .header-row-2 th {
    position: sticky;
    top: 40px; /* Adjust based on the height of the first header row */
    z-index: 2; /* Lower z-index than the first header row */
    background-color: #f2f2f2;
}


/* Adjust column widths */
.sod-table th,
.sod-table td {
    width: 100px; /* Default width for all columns */
    min-width: 100px;
    max-width: 100px;
}

.sod-table th.bank-name,
.sod-table td.bank-name {
    width: 200px; /* Width for 'Bank Name' column */
    min-width: 200px;
    max-width: 200px;
}

.sod-table th:nth-child(2),
.sod-table td:nth-child(2) {
    width: 150px; /* Width for 'Unique ID' column */
    min-width: 150px;
    max-width: 150px;
}

/* Alternating row colors for better readability */
.sod-table tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

.sod-table tbody tr:nth-child(even) {
    background-color: #ffffff;
}

/* Make the main rows bold */
.sod-table .main-row td {
    font-weight: bold;
}

/* Caret styles for expandable rows */
.caret_sod {
    display: inline-block;
    margin-right: 5px;
    transition: transform 0.3s ease;
}

.caret_sod-down {
    transform: rotate(90deg);
}

/* Additional styles for the filter form */
#fdic-sod-filter {
    display: flex;
    align-items: center;
    gap: 20px; /* Space between main form elements */
    flex-wrap: wrap; /* Allow wrapping if container is too small */
}

#fdic-sod-filter label {
    margin-right: 5px; /* Space between labels and their corresponding inputs */
    font-weight: bold; /* Make the labels bold */
}

.form-row {
    width: 80%;
    margin: 0 auto; /* Center the element horizontally */
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Align items to the start to keep button and spinner together */
    gap: 10px; /* Ensure there is a small gap between the button and spinner */
}

.year-range-container {
    display: flex;
    width: 80%;
    align-items: center;
    gap: 10px; /* Space between "From Year" and "To Year" */
    margin: 0 auto; /* Center the element horizontally */
}

#fdic-sod-filter select,
#fdic-sod-filter input[type="button"] {
    padding: 10px 15px; /* Add some padding inside the select and button */
    font-size: 16px; /* Increase font size for readability */
    border: 2px solid #000; /* Add a border to match the style */
    border-radius: 5px; /* Add rounded corners */
    background-color: #ffffff; /* Set background to white */
    color: #333; /* Set text color */
}

#fdic-sod-filter input[type="button"] {
    background-color: #000; /* Black background for the button */
    color: #fff; /* White text for the button */
    cursor: pointer; /* Change cursor to pointer on hover */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition on hover */
}

#fdic-sod-filter input[type="button"]:hover {
    background-color: #fff; /* White background on hover */
    color: #000; /* Black text on hover */
}

#state,
#year_start,
#year_end,
#submit-filter {
    height: 50px;
    line-height: 1.5;
}

#submit-filter {
    padding: 0 20px;
    background-color: #000000;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    border: 2px solid transparent;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

#submit-filter:hover {
    background-color: #ffffff;
    color: #000000;
    border-color: #000000;
}

#state,
#year_start,
#year_end {
    padding: 0 20px;
    background-color: #ffffff;
    border: 2px solid #000000;
    border-radius: 0;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
}

#state::-ms-expand,
#year_start::-ms-expand,
#year_end::-ms-expand {
    display: none;
}

/* Spinner styles */
.spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

                                                                        /*BDM Failures*/
                                                                        
/* Ensure the form takes the full width */
#fdic-failures-form {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 30px !important;
}

/* Ensure full width for the table container and add left padding */
#bank-failures-table-container {
    width: 100vw !important;
    max-width: none !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    height: 500px;
    margin: 0 !important;
    padding: 0 !important;
}

/* Table styles */
.bank-failures-table {
    border-collapse: collapse;
    width: 100%; /* Ensure table takes full width */
    table-layout: fixed; /* Fixed column widths */
    margin-left: 0;
}

/* Set fixed width for table headers and cells */
.bank-failures-table th,
.bank-failures-table td {
    border: none;
    padding: 8px;
    font-size: 12px;
    text-align: left;
    width: 140px; /* Example fixed width for each column */
    overflow: hidden;
    text-overflow: ellipsis; /* Truncate overflow text */
    white-space: nowrap; /* Prevent text wrapping */
}

/* Increase the width of the first column and make it sticky */
.bank-failures-table th:nth-child(1),
.bank-failures-table td:nth-child(1) {
    width: 250px; /* Increased width for the first column */
    position: sticky; /* Make the first column sticky */
    left: 0; /* Stick the first column to the left */
    background-color: #f2f2f2; /* Ensure background matches the header */
    white-space: nowrap; /* Prevent text from wrapping */
    overflow: hidden; /* Hide overflow content */
    text-overflow: ellipsis; /* Truncate overflow text with ellipsis */
}

/* Ensure the first column header has a higher z-index */
.bank-failures-table th:nth-child(1) {
    z-index: 5; /* Higher z-index for the first column header */
}

/* Ensure the first column's data cells are above other columns but below the header */
.bank-failures-table td:nth-child(1) {
    z-index: 3; /* Lower z-index for the first column data cells */
}

/* Sticky headers */
.bank-failures-table th {
    background-color: #f2f2f2;
    position: sticky;
    top: 0;
    z-index: 4;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
}

/* Row background color alternation */
.bank-failures-table tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

.bank-failures-table tbody tr:nth-child(even) {
    background-color: #ffffff;
}

/* Make main rows bold */
.bank-failures-table .main-row td {
    font-weight: bold;
}

/* Base styles for all table rows */
.bank-failures-table tr {
    padding-left: 0;
}

/* Style for the pagination controls container */
#pagination-controls-bank-failures button {
    padding: 4px 8px;
    font-size: 12px;
    width: auto;
    height: auto;
    border: 1px solid #ccc;
    cursor: pointer;
}

#pagination-controls-bank-failures button:disabled {
    background-color: #e0e0e0;
    cursor: not-allowed;
}

#pagination-controls-bank-failures button:hover:not(:disabled) {
    background-color: #d0d0d0;
}

/* Caret styles for expandable rows */
.caret_bank_failures {
    display: inline-block;
    margin-right: 5px;
    transition: transform 0.3s ease;
}

/* Dropdown styles */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropbtn {
    background-color: #f9f9f9;
    color: black;
    padding: 8px;
    font-size: 14px;
    border: 1px solid #ccc;
    cursor: pointer;
}

#download-csv-failures.bhc-button {
    background-color: #f9f9f9;
    color: black;
    padding: 8px;
    font-size: 14px;
    border: 1px solid #ccc;
    cursor: pointer;
    width: 200px;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: white;
    min-width: 250px;
    border: 1px solid #ccc;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    padding: 10px;
    max-height: 300px;
    overflow-y: auto;
}

.dropdown-content label {
    display: block;
    margin: 5px 0;
}

.dropdown-content label input {
    margin-right: 10px;
}

#state-filter-container {
    margin-left: 0;
}

/* Summary table styles */
#fdic-failures-summary-table {
    margin-bottom: 20px;
}

.bank-failures-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
}

.bank-failures-summary-table th,
.bank-failures-summary-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
    height: 40px;
    vertical-align: middle;
    overflow: hidden;
}

.bank-failures-summary-table th {
    background-color: #f9f9f9;
    white-space: nowrap;
    font-size: 12px;
}