.module-formulary-search {
    /* any general styling for the module */
    position: relative;
    display: flex;
    flex-wrap: wrap;
    background-color:var(--light-gray);
    background-image:var(--background-medium-tan-dots);
    background-position:bottom left;
    box-sizing:border-box;
    width:100%;
}

.module-formulary-search * {
    box-sizing:border-box!important;
}

.module-formulary-search.intro-wrapper {
    text-align: center;
    width:100%;
}

.module-formulary-search .intro-wrapper p:last-child {
    margin-bottom:0;
}

.module-formulary-search .intro-wrapper strong {
    color:var(--dark-orange);
}

.module-formulary-search .intro-wrapper .subhead {
    font-size:1.7rem;
    line-height: 2rem;
    text-transform: uppercase;
    color:var(--dark-gray);
    padding-bottom:2rem;
    font-weight: 700;
}

.module-formulary-search .intro-inner-wrapper .cta-wrapper {
    margin:2rem 0;
}

.module-formulary-search .intro-inner-wrapper .cta-wrapper a {
    text-transform: uppercase;
    font-size:1.6rem;
    font-weight:700;
    display: flex;
    text-decoration: none;
    align-items:center;
    justify-content: center;
}

.module-formulary-search .intro-inner-wrapper .cta-wrapper a:after {
    content: '\f061';
    color:#000;
    font: var(--fa-font-solid);
    background-color:var(--yellow);
    border-radius: 50%;
    padding:2px;
    width:2.5rem;
    height:2.5rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size:1.6rem;
    margin-left:8px;
    text-decoration: none;
}

.module-formulary-search .formulary-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap:2rem;
    width:100%;
}

.module-formulary-search .formulary-tools-wrapper {
    width:100%;
}

.module-formulary-search select#drugYear {
    border:0;
    background:transparent;
    color:var(--dark-orange);
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; 
}

.module-formulary-search select#drugYear:after {
    
}



.module-formulary-search select#drugYear:focus:after {
    content: "\f0d8"; /* Font Awesome up caret */
}

.module-formulary-search span.drug-year-wrapper {
    position: relative;
    display:inline-block;
    padding-right:2rem;
    margin-right:.5rem;
}

.module-formulary-search span.drug-year-wrapper.disabled-select select#drugYear {
    opacity: 1;
    pointer-events: none;
}

.module-formulary-search span.drug-year-wrapper:before {
    content:'';
    position: absolute;
    border-bottom:2px solid var(--dark-orange);
    left:0;
    width:calc(100% - 2rem);
    top:calc(100% - 5px);
}

.module-formulary-search span.drug-year-wrapper:after {
    content: "\f107"; /* Font Awesome down caret */
    font: var(--fa-font-regular);
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--dark-orange);
    font-size:1.4rem;
}

.module-formulary-search select#drugYear option {
    background-color:#fff;
    color:#000;
}

.module-formulary-search #formulary-search-wrapper {
    width:100%;
}

.module-formulary-search form#formulary-search-box {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px;
    border: 1px solid #E3E3E3; /* Updated border color */
    border-radius: 5px; /* Updated border radius */
    background-color: #fff; /* White background */
    /* Removed box-shadow */
}

/* Search Button (Styled as Icon) */
.module-formulary-search #formulary-search-box .search-button {
    background: none; /* Remove default background */
    border: none; /* Remove default border */
    padding: 0; /* Remove padding */
    margin-right: 10px; /* Space between button and input */
    font-size: 20px; /* Icon size */
    color: var(--dark-gray); /* Gray color */
    cursor: pointer; /* Pointer cursor */
}

.module-formulary-search #formulary-search-box .search-button:hover {
    color: #555; /* Darker gray on hover */
}

/* Input Field */
.module-formulary-search #formulary-search-box input[type="search"] {
    border: none; /* Remove border */
    outline: none; /* Remove focus outline */
    font-size: 16px;
    font-family: 'Arial', sans-serif;
    color: #333; /* Text color */
    width: 100%; /* Fill available space */
    background: none; /* Transparent background */
}

/* Placeholder Text */
.module-formulary-search #formulary-search-box input::placeholder {
    color: #aaa; /* Light gray placeholder */
    font-style: normal; /* Removed italics */
}

/* Focus styles for better accessibility */
.module-formulary-search #formulary-search-box input[type="search"]:focus {
    outline: none;
    border-bottom: 2px solid #007BFF; /* Highlight border when focused */
}

.module-formulary-search #formulary-category-filter {
    width:100%;
    margin-top:2rem;
}

.module-formulary-search #formulary-category-filter #categories {
    display: none;
}

.module-formulary-search #formulary-category-filter select {
    appearance: none; /* Removes default styling */
    width: 100%;
    height: 40px; /* Make it look like a single-line dropdown */
    overflow: hidden;
    background: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
    cursor: pointer;
  }
  
  /* Optional: Hide scrollbar in some browsers */
  .module-formulary-search #formulary-category-filter select::-webkit-scrollbar {
    display: none;
  }

.module-formulary-search #formulary-category-filter label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
    text-transform: uppercase;
    font-size:1.9rem;
    line-height: 2.2rem;
}

.module-formulary-search #formulary-category-filter select#categories-mobile {
    font-size:1.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000000' d='M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    background-size: 15px;
    padding-right:50px; /* to make room for the background angle and pseudo line */
}

.module-formulary-search #formulary-category-filter select#categories-mobile option {
    max-width:calc(100% - 45px);
}

.module-formulary-search #formulary-category-filter #categories-mobile-wrapper {
    position: relative;
}

/* Pseudo-element for the black vertical line */
.module-formulary-search #formulary-category-filter #categories-mobile-wrapper::after {
    content: "";
    position: absolute;
    right: 45px; /* Position before the arrow */
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 100%;
    background-color: #ccc;
}

/* NEW STYLES FOR FORMULARY NAME FILTER */
.module-formulary-search #formulary-name-filter {
    width: 100%;
    margin-bottom: 2rem;
    text-align: left;
    margin-top:2rem;
    display:none;
}

.module-formulary-search #formulary-name-filter:not(.count-0):not(.count-1) {
    display:block;
}

.module-formulary-search #formulary-name-filter label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.9rem;
    line-height: 2.2rem;
}

.module-formulary-search #formulary-name-filter select {
    appearance: none;
    width: 100%;
    height: 40px;
    background: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 8px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23000000' d='M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) center;
    background-size: 15px;
    padding-right: 50px;
    font-size:1.2rem;
}

.module-formulary-search #formulary-name-filter label {
    display:flex;
    gap:1rem;
    align-items: center;
    justify-content: flex-start;
}

.module-formulary-search #formulary-name-filter .icon {
    background-color: var(--yellow);
    color: black;
    border-radius: 50%;
    font-size: 1.3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    position:relative;
    top:-4px;
}
/* END NEW STYLES */

.module-formulary-search #formulary-name-filter .formulary-name-wrapper {
    position:relative;
}

.module-formulary-search #formulary-name-filter .formulary-name-wrapper:after {
        content: "";
        position: absolute;
        right: 45px;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 100%;
        background-color: #ccc;
    }

.module-formulary-search .formulary-search-results-wrapper {
    background:#fff;
    border:1px solid #d9d9d9;
    border-radius: 14px;
    width:100%;
    position: relative;
    padding-bottom:2rem;
    padding:0px 2rem;
}

.module-formulary-search #rolodex {
    display: flex;
    flex-wrap: nowrap;
    gap:5px;
    justify-content: space-between;
    position: absolute;
    flex-wrap: wrap;
    top:2rem;
    left:calc(100% - 2rem);
    flex-direction: column;
    display: none;
}

.module-formulary-search #rolodex a {
    display: inline-block;
    color: var(--dark-purple);
    text-transform: uppercase;
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-weight: bold;
}

.module-formulary-search #formulary-search-results .dataTables_wrapper {
    overflow-x:auto;
}

.module-formulary-search #formulary-search-results table {
    width:100%;
    border-collapse: collapse;
    margin-bottom:2rem;
}

.module-formulary-search #formulary-search-results table th {
    vertical-align: middle;
    font-size:1.2rem;
    line-height: 2rem;
    text-transform: uppercase;
    text-align: left;
    padding:2rem;
    width:auto!important;
}

.module-formulary-search #formulary-search-results table th:first-child,
.module-formulary-search #formulary-search-results table td:first-child {
    padding-left:4rem;
}

.module-formulary-search #formulary-search-results table th:last-child,
.module-formulary-search #formulary-search-results table td:last-child {
    padding-right:0;
}

.module-formulary-search #formulary-search-results table th a {
    text-decoration: none;
    display:inline;
}

.module-formulary-search #formulary-search-results table th .icon,
.module-formulary-search #formulary-search-results table td.child .icon {
    background-color: var(--yellow); /* Yellow circle */
    color: black;             /* Black question mark */
    border-radius: 50%;       /* Circle shape */
    font-size: 1.3rem;          /* Adjust the size of the icon */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width:2rem;
    height:2rem;
}

.module-formulary-search #formulary-search-results table td {
    padding:1rem 2rem;;
    font-size:1.4rem;
    line-height: 2rem;
    white-space: wrap;
    word-wrap: break-word;
    color:#000;
}

.module-formulary-search #formulary-search-results table td.drug-tier-number span {
    border:1px dotted var(--light-orange);
    border-radius: 50%;
    width:30px;
    height:30px;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
}

/* some styles for responsive datatables */
.module-formulary-search #formulary-search-results table td.child li {
    font-size:1.2rem;
    color:var(--dark-gray);
}

.module-formulary-search #formulary-search-results table.dataTable>tbody>tr.child ul.dtr-details>li {
    padding:0;
}

.module-formulary-search #formulary-search-results table.dataTable>tbody>tr.child span.dtr-title {
    text-transform: uppercase;
}

.module-formulary-search #formulary-search-results .dataTables_info {
    color:var(--dark-gray);
    font-size:1.4rem;
}

.module-formulary-search #formulary-search-results table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before, table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before {
    background-color:var(--dark-orange);
    margin-top:-10px;
    left:10px;
}

.module-formulary-search #formulary-search-results .total {
    margin-top:1rem;
    padding-top:1rem;
    border-top:1px solid #ccc;
    font-size:1.6rem;
    width:100%;
}

.formulary-glossary-fancybox.fancybox__container {
    width: 90% !important;
    height: 90% !important;
    max-width: 800px; /* Optional */
    max-height: 600px; /* Optional */
    margin:auto auto;
    overflow:hidden;
    pointer-events: auto; /* Ensure clicks are processed inside the modal */
}

.formulary-glossary-fancybox .fancybox__content {
    padding: 20px; /* Add some padding for content */
    overflow-y: auto; /* Enable vertical scrolling if content exceeds height */
    max-height: calc(100% - 40px); /* Prevent content from overflowing the modal */
    width:100%;
}

.formulary-glossary-fancybox .fancybox__content>.f-button.is-close-btn  {
    position: absolute;
    top: 15px; /* Adjust to position close button inside the container */
    right: 15px; /* Adjust as needed */
    border: none;
    z-index: 100; /* Ensure it stays above content */
    cursor: pointer;
    background: var(--yellow);
    border-radius: 50%;
    color:#000;
    opacity: 1;
}

.formulary-glossary-fancybox h2 {
    font-size:2.2rem;
    line-height: 2.8rem;
    padding-bottom:2rem;
}

.formulary-glossary-fancybox .faq {
    width:100%;
    display:flex;
    flex-wrap: wrap;
    gap:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--medium-gray);
    padding-top:1rem;
    padding-left:1rem;
    padding-right:1rem;
    position:relative;
}

.formulary-glossary-fancybox .faq .faq-question i {
    background-color: var(--medium-gray);
    color: black;
    border-radius: 50%;
    font-size: 1.3rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    position: absolute;
    left:-3rem;
}

.formulary-glossary-fancybox .faq .faq-question {
    font-size:1.9rem;
    line-height: 2.3rem;
    position: relative;
    width:100%;
    font-weight: bold;
    display: flex;
    gap:1rem;
    align-items:flex-end;
    align-items:center;
    padding-right:5rem;
}

.formulary-glossary-fancybox .faq .faq-question:hover {
    cursor:pointer;
}

.formulary-glossary-fancybox .faq .faq-answer {
    font-size:1.6rem;
    line-height: 2.7rem;
    margin-top:1rem;
    display: none;
    padding-right:5rem;
}

.formulary-glossary-fancybox .faq .faq-answer p {
    margin:0;
}

.formulary-glossary-fancybox .faq .faq-question:after {
    font: var(--fa-font-regular);
    content: '\2b';
    color:#000;
    font-size:1.4rem;
    width:30px;
    height: 30px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right:2rem;
    top:0;
}

.formulary-glossary-fancybox .faq.active .faq-question:after {
    content:'\2d';
}

@media (min-width:1200px) {
    .module-formulary-search .formulary-wrapper {
        display: grid;
        grid-template-columns: 1fr 3fr;
        gap:2rem;
        margin-top:3rem;
    }

    .module-formulary-search .intro-inner-wrapper {
        display:grid;
        grid-template-columns: 1fr 1fr;
        gap:2rem;
        align-items:flex-end;
        text-align: left;
    }
    
    .module-formulary-search .intro-inner-wrapper .intro-right {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 1rem;
    }

    .module-formulary-search .intro-inner-wrapper .cta-wrapper {
        margin:0 0 0 auto;
    }

    .formulary-glossary-fancybox h2 {
        font-size:2.6rem;
        line-height: 3.3rem;
    }
    
    .formulary-glossary-fancybox .faq {
        padding-left:3rem;
        padding-right:3rem;
    }

    .module-formulary-search span.drug-year-wrapper:after {
        font-size:2rem;
        right:0;
    }

    .module-formulary-search .formulary-search-results-wrapper {
        padding:3rem 5rem;
    }

    .module-formulary-search #formulary-search-results {
        margin-top:4rem;
    }

    .module-formulary-search #rolodex {
        display: flex;
        flex-wrap: nowrap;
        position: relative;
        top:unset;
        left:unset; 
        flex-direction: row;
        width:100%;
    }

    .module-formulary-search #formulary-category-filter #categories {
        display: block;
    }

    .module-formulary-search #formulary-category-filter #categories-mobile-wrapper {
        display: none;
    }

    .module-formulary-search #formulary-category-filter select {
        width: 100%; /* Full width */
        height: 400px; /* Adjustable height for scrolling */
        font-family: 'Arial', sans-serif; /* Modern font */
        font-size: 16px;
        border: 1px solid #ddd; /* Light border for a clean look */
        border-radius: 10px; /* Rounded corners */
        background-color: #fff; /* White background */
        padding: 10px; /* Inner padding */
        overflow-y: auto; /* Enable vertical scrolling */
        outline: none; /* Remove focus outline */
        appearance: none; /* Remove native dropdown arrow */
    }
    
    /* Scrollbar Styling */
    .module-formulary-search #formulary-category-filter select::-webkit-scrollbar {
        width: 20px; /* Scrollbar width */
    }
    
    .module-formulary-search #formulary-category-filter select::-webkit-scrollbar-track {
        background: #f5f5f5; /* Track background */
        border-radius: 10px;
    }
    
    .module-formulary-search #formulary-category-filter select::-webkit-scrollbar-thumb {
        background: #ccc; /* Thumb color */
        border-radius: 10px; /* Rounded thumb */
    }
    
    .module-formulary-search #formulary-category-filter select::-webkit-scrollbar-thumb:hover {
        background: #aaa; /* Thumb color on hover */
    }
    
    /* Optgroup Styling */
    .module-formulary-search #formulary-category-filter select optgroup {
        font-weight: bold; /* Bold text for categories */
        color: #333; /* Dark gray text */
        padding: 5px 0; /* Vertical spacing */
    }
    
    /* Option Styling */
    .module-formulary-search #formulary-category-filter select option {
        color: #555; /* Medium gray for subcategories */
        padding: 5px 10px; /* Inner padding for better readability */
        background-color: #fff; /* Ensure white background */
        font-size:1.5rem;
        white-space: pre-wrap; /* Allows text to wrap */
        word-wrap: break-word; /* Ensures long words wrap */
        overflow-wrap: break-word;
    }
    
    /* Option Hover Styling */
    .module-formulary-search #formulary-category-filter select option:hover {
        background-color: #f0f0f0; /* Light gray hover effect */
        cursor: pointer; /* Pointer cursor on hover */
    }

    .module-formulary-search #formulary-search-results table td,
    .module-formulary-search #formulary-search-results table th {
        font-size:1.6rem;
    }

    /* some styles for responsive datatables */
    .module-formulary-search #formulary-search-results table td.child li {
        font-size:1.5rem;
    }
    
    .module-formulary-search #formulary-name-filter {
        margin-bottom: 0;
        max-width:250px;
        margin-left:auto;
        margin-top:0;
    }

    .module-formulary-search #formulary-name-filter select {
        font-size:1.5rem;
        background-color:transparent;
    }

    .module-formulary-search #formulary-name-filter label {
        justify-content: flex-end;
        font-size:1.6rem;
    }
}