/***************************************************************
 * File: style.css
 * Description: This CSS file contains the main styling for Meridian Bioscience Elementor Widgets.
 * Author: Cinnova Technologies
 ***************************************************************/


/***************************************************************
 * PAIRS TABLE CATEGORIES
 ***************************************************************/

.alphabet-filter {
    text-align: center;
    margin-bottom: 15px;
}

.alphabet-filter .filter-btn {
    background-color: #0073aa;
    color: white;
    padding: 8px 12px;
    margin: 3px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    border-radius: 5px;
    display: inline-block;
    transition: background 0.3s ease-in-out;
}

.alphabet-filter .filter-btn:hover {
    background-color: #005177;
}

.immuno-category-container {}

.category-letter {
    font-size: 22px;
    font-weight: bold;
    margin-top: 30px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 5px;
}

.category-columns {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.category-column {
    list-style-type: none;
    padding: 0;
    width: 48%;
}

.category-column li {
    margin-bottom: 5px;
}

.category-column a {
    display: block;
    background-color: #f4f4f4;
    color: #0073aa;
    padding: 6px 10px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.3s ease-in-out;
}

.category-column a:hover {
    background-color: #0073aa;
    color: white;
}

/***************************************************************
 * PAIRS TABLE
 ***************************************************************/

.pairs-table th {
    padding: 5px;
    background: #5c686d;
    color: #FFFFFF;
    font-family: "Pontiac", sans-serif;
    border: 1px solid #5c686d;
}

.pairs-table-cat {
    vertical-align: middle;
    text-align: center;
    font-family: "Pontiac", sans-serif;
    font-weight: 700;
    background: #FFFFFF;
    font-size: 1.125rem;
}


/***************************************************************
 * Molecular Reagents
 ***************************************************************/

.molecular-reagents-single-column h3 {
    background: #0A3254;
    font-size: 1.3rem;
    color: #FFFFFF;
    padding: 1.2rem;
    border-radius: 5px;
}

.molecular-reagents-single-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.molecular-reagents-single-column ul li {
    margin-bottom: 20px;
}

.molecular-reagents-single-column ul li:hover {}

.molecular-reagents-single-column ul li a {
    display: block;
    background: #FFFFFF;
    border-radius: 5px;
    padding: 0.8rem;
    font-size: 1rem;
    font-weight: bold;
    color: #55565a;
    transition: all 0.3s ease;
}

.molecular-reagents-single-column ul li a:hover {
    background: #0A3254;
    color: #FFF;
}

.molecular-reagents-single-column ul li a .icon {
    display: inline-block;
    vertical-align: middle;
}

.molecular-reagents-single-column ul li a .icon svg {
    width: 31px;
    height: 31px;
}

.molecular-reagents-single-column ul li a .icon img {
    width: 100%;
    max-width: 31px;
}

.molecular-reagents-single-column ul li a:hover * {
    fill: #FFFFFF;
}

/***************************************************************
 * Molecular Reagents Catalogs & Brochures - 4/2/1 Column(s)
 ***************************************************************/
.catalogs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.catalog-item {
    background: #ffffff;
    padding: 15px;
    text-align: center;
}

/* Tablet View */
@media (max-width: 767px) {
    .catalogs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile View */
@media (max-width: 479px) {
    .catalogs-grid {
        grid-template-columns: 1fr;
    }
}

/***************************************************************
 * Molecular Related Products - 2/1 Column(s)
 ***************************************************************/

.related-products-section {
    padding: 0;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 per row */
    gap: 35px;
}

.related-product-item {
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
}

.related-product-item a {
    color: #CEE8FF;
    font-size: 20px;
    font-weight: 600;
    transition: all 0.3s;
}

.related-product-item a:hover {
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
}

/* Mobile View: 1 per row */
@media (max-width: 479px) {
    .related-products-grid {
        grid-template-columns: 1fr;
        /* 1 column on mobile */
    }
}


/***************************************************************
 * Events and Tradeshow single post 
 ***************************************************************/


.keynote_speaker_links {
    padding: 0px;
    margin-bottom: 20px;
}

.keynote_speaker_links a {
    font-weight: bold;
    background: #0A3254;
    line-height: 1.5;
    color: white !important;
    padding: 12px 24px;
    border-radius: 3px;
    font-size: 16px;
}


.ls-keynote-speaker-info .elementor-row {
    display: flex;
    gap: 50px !important;

}

@media(max-width:768px) {
    .ls-keynote-speaker-info .elementor-row {

        flex-wrap: wrap;
    }
}

.speaker-img,
.speaker-bio {
    text-align: center;
}

.ls-event-related-content {

    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.75);
    border-radius: 3px;
    position: relative;
    height: 100%;
    padding-bottom: 35px;
}

.related-content .title a {
    font-family: "Pontiac", sans-serif;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    color: #0a3254;
    font-size: 18px;
    font-weight: bold;

}

.related-content .title {
    padding-bottom: 10px;
}

.ls-event-related-content-main {
    display: flex;
    gap: 30px;
}

.ls-event-related-content-main img {
    width: 100%;
}


@media(max-width:768px) {
    .ls-event-related-content-main {
        flex-wrap: wrap;
    }
}

.lifescience-event-main-links {
    display: flex;
    gap: 15px;
    /* space between buttons */
    flex-wrap: wrap;
    /* allow wrap on small screens */
}

.lifescience-event-main-links .elementor-widget-button {
    margin: 0;
    /* remove default spacing if any */
}

.ls-event-related-content .related-content {
    padding: 15px;
}

.related-tile-label {
    position: absolute;
    padding: 5px 15px;
    background: #0A3254;
    color: #FFF;
    font-size: 12px;
    top: 10px;
    line-height: 1.3;
}

.related-content-cta {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}

.related-content-cta a {
    display: block;
    background: #0a3254;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 15px;
    text-decoration: none;
    font-family: "Pontiac", sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}

.ls-event-related-content .elementor-column {
    display: unset;

}

.dropbtn {
    background-color: #0a3254;
    color: white;
    padding: 10px 15px;
    font-size: 16px;
    border: none;
    cursor: pointer;
    width: 100%;
}

.dropbtn:hover {
    background-color: #0a3254 !important;
    border: none !important;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #f1f1f1;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropbtn {
    background-color: #0a3254;
}

.elementor-button-link.elementor-button.elementor-size-md.event-link-button {
    color: #FFFFFF;
    font-family: "Pontiac", sans-serif;
    font-weight: 500;
    background: #0A3254;
}



/***************************************************************
 * Molecular Products Layout Widget CSS
 ***************************************************************/


.elementor-widget-molecular_products_layout .elementor-heading-title {
    margin-bottom: 10px;
    color: white;
    font-size: 28px;
}

.elementor-widget-molecular_products_layout .product_data_cont {
    font-size: 15px;
    color: white;
}

.elementor-widget-molecular_products_layout .product_data_row .product_data_cont::after {
    content: "|";
    padding: 0 5px;
}

.elementor-widget-molecular_products_layout .product_data_row .product_data_cont:last-child:after {
    content: "";
    padding: 0;
}

.elementor-widget-molecular_products_layout .product_description {
    margin-top: 10px;
    color: white;
}

.elementor-widget-molecular_products_layout .sizes_available {
    font-weight: bold;
}

.elementor-widget-molecular_products_layout .product_document h5 {
    color: white;
    font-size: 16px;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 10px;
}

.elementor-widget-molecular_products_layout .product_document ul li a {
    color: #cee8ff;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
}

.elementor-widget-molecular_products_layout .product_document ul {
    padding: 0;
    list-style: none;

}

.elementor-widget-molecular_products_layout .product_document ul li {
    color: white;

}

.elementor-widget-molecular_products_layout .product_document ul li a:hover {
    color: white;
}

.elementor-widget-molecular_products_layout .request_sample_container {
    margin-top: 30px;
}

.elementor-widget-molecular_products_layout .request_sample_container a {
    background: white;
    padding: 10px 14px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #0a3254;
    text-decoration: none;
}

.mol-product {
    padding: 25px 0px;
}

/***************************************************************
 * Events and Tradeshow Filter CSS
 ***************************************************************/

.ls-event-filters-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    /* Adjust spacing between fields */
    justify-content: space-between;
}

.ls-event-filter {
    flex: 1 1 14%;
    /* Equal width basis with flexibility */
    min-width: 120px;
}

.ls-event-filter label {
    font-weight: 600;
    font-family: "Pontiac", sans-serif;
    font-size: 14px;
    padding-bottom: 10px;
    display: block;
}

.ls-event-filter.submit {
    flex: 0 0 auto;
    /* Equal width basis with flexibility */
    align-items: flex-end;
    display: flex;
}

.ls-event-filter .btn {
    background: #0a3254;
    padding: 5px 10px;
}

.ls-event-filter .btn {
    color: #FFFFFF;
}

.ls-event-filter select {
    padding: 0 15px;
    height: 30px !important;
    font-size: 16px !important;
    width: 100%;
    max-width: 100%;
    border: solid 1px #e0e0e0;
}

.ls-event-filter input[type="text"] {
    height: 30px !important;
    padding: 0 15px;
    font-size: 16px !important;
    width: 100%;
    max-width: 100%;
    border: solid 1px #e0e0e0;
}

.ls-event-filter.datepicker-container {
    position: relative;
}

.ls-event-filter.datepicker-container .datepicker {
    top: 100%;
    /* Push the datepicker below the input field */
    left: 0;
    margin-top: 0;
    /* Align datepicker with the bottom border of the input */
    z-index: 1000;
    /* Ensure it appears above other elements */
    background: #FEFEFE;
    position: absolute;
    border: 1px solid #e0e0e0;
}

input#event-month-year {
    vertical-align: baseline;
    line-height: 1.5;
    /* Ensure text inside is vertically aligned */
}

.ls-event-filter .btn {
    background: #0a3254;
    padding: 5px 10px;
    font-size: 14px !important;
    cursor: pointer;
    border: none;
    width: 100%;
}

.no-events {
    padding-top: 60px;
}

.show-filter,
.ls-event-filter-close {
    display: none;
}

.elementor-button.header-contact {
    background: #0A3254;
    color: #FFF !important;
}

.btn.btn-schedule-meeting {
    background: #0a3254;
    color: #FFF;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 3px;
}

.event_start_date {
    display: block;
    margin: 10px 0 10px;
    font-size: 1.25rem;
    color: #0a3254;
    font-weight: bold;
}

/* .event_start_time, .event_end_time {
	font-size: 1.25rem;
} */

.venue_info {
    font-size: 1.25rem;
    font-weight: 600;
}

a.btn.btn-white-outline {
    font-size: 1.1rem;
}

.btn-circle {
    background: #FFF;
    border-radius: 50%;
    padding: 15px 12px;
    vertical-align: middle;
    display: inline-block;
    line-height: 17px;
    margin-right: 10px;
}

.elementor-widget-theme-post-featured-image a img[src$=".svg"] {
    width: auto;
    max-width: 100%;
    height: auto;
    min-width: 200px;
}

.ls-event-related-content-block {
    margin-bottom: 30px;
}

/***************************************************************
 * Disease Areas Related Tests CSS
 ***************************************************************/

/* Section background */
#tests {
    background-color: #f1f6fb;
    /* light blue background */
    padding: 0 0 40px;
}

/* Title */
#tests h2 {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 30px;
    color: #002c4e;
    /* dark blue like screenshot */
}

/* Each column/card */
#tests .elementor-inner-column .elementor-widget-wrap {
    background: #fff;
    padding: 20px 25px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Category label (green, bold, top of card) */
#tests .cat-title {
    display: block;
    font-weight: 600;
    font-size: 1.05rem;
    margin-bottom: 15px;
    color: #31733c;
    /* green like screenshot */
}

/* Links inside each card */
#tests .related-test-links a {
    display: block;
    margin: 4px 0;
    color: #0060b6;
    /* blue links */
    font-weight: 500;
    text-decoration: none;
}

#tests .related-test-links a:hover {
    text-decoration: underline;
}

/* Make sure our inner-section behaves like a row of columns */
#tests .elementor-row {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    width: 100%;
}

#tests .elementor-inner-column {
    display: flex;
}

#tests .elementor-inner-column>.elementor-widget-wrap {
    width: 100%;
}

/* Force 3-up on desktop, 2-up on tablet, 1-up on mobile */
@media (min-width: 1025px) {
    #tests .elementor-inner-column {
        flex: 0 0 33.333%;
        max-width: 33.333%;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    #tests .elementor-inner-column {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767px) {
    #tests .elementor-inner-column {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/***************************************************************
 * Meridian Docs Widget CSS
 ***************************************************************/
.meridian-docs {
    margin: 0 0 1.5rem;
}

.meridian-docs__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* ALWAYS 2 columns */
    gap: 1.25rem 3rem;
    /* row 20px, col 48px */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Links */
.meridian-docs__item a {
    text-decoration: none;
    font-weight: 600;
    color: #0a66c2;
    font-size: 1.3rem;
}

.meridian-docs__item a:hover {
    text-decoration: underline;
}

/* Mobile: stack to 1 column */
@media (max-width: 768px) {
    .meridian-docs__grid {
        grid-template-columns: 1fr;
    }
}

/* Bar container and bar animation */
.disease_area_popup .elementor-heading-title a {
    display: flex;
    align-items: center;
    /* Align bars and text vertically */
    gap: 10px;
    /* optional: adds spacing between bars and text */
    text-decoration: none;
    /* keeps default styling clean */
}

.bar-container {
    display: flex;
    width: 50px;
    height: 40px;
    margin-right: 10px;
    flex-shrink: 0;
}

.bar-container .bar {
    border-radius: 2px;
    width: 8px;
    margin: 0 2px;
    animation: 2s ease-in-out infinite animate-height;
}

/* Staggered animation delays for each bar */
.bar-container .bar:nth-child(1) {
    animation-delay: 0.2s;
}

.bar-container .bar:nth-child(2) {
    animation-delay: 0.4s;
}

.bar-container .bar:nth-child(3) {
    animation-delay: 0.6s;
}

.bar-container .bar:nth-child(4) {
    animation-delay: 0.8s;
}

.bar-container .bar:nth-child(5) {
    animation-delay: 1s;
}

.bar-container .bar:nth-child(6) {
    animation-delay: 1.2s;
}

.bar-container .bar:nth-child(7) {
    animation-delay: 1.4s;
}

.bar-container .bar:nth-child(8) {
    animation-delay: 1.6s;
}

.bar-container .bar:nth-child(9) {
    animation-delay: 1.8s;
}

.bar-container .bar:nth-child(10) {
    animation-delay: 2s;
}

.bar-container .bar:nth-child(11) {
    animation-delay: 2.2s;
}

.bar-container .bar:nth-child(12) {
    animation-delay: 2.4s;
}

/* Bar color classes */
.bg-green {
    background-color: #69be28;
}

.bg-blue {
    background-color: #0a3254;
}

.bg-red {
    background-color: #cf1f2f;
}

.bg-teal {
    background-color: #00a98e;
}

/* Keyframes for bar animation */
@keyframes animate-height {
    0% {
        transform: scaleY(0.5);
    }

    50% {
        transform: scaleY(1);
    }

    100% {
        transform: scaleY(0.5);
    }
}



/**
 * Support Documents Widget Styles
 * Save this file as: assets/css/support-documents.css
 */

.meridian-support-documents1 {
    width: 100%;

}

.support-documents-inner {
    max-width: 1300px;
    margin: 0 auto;
}

.support-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 10px 0;
    color: #1a3a52;
}

.support-subtitle {
 font-weight: 600;
    font-size: 18px;
    line-height: 1.5;
    margin: 0 0 30px 0;
    color: #999999;
}

.documents-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.document-item {
    display: block;
}

.document-link {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
    color: #4a90e2;
}

.document-link:hover {
    transform: translateX(5px);
    color: #357abd;
}

.document-placeholder {
    cursor: default;
}

.document-placeholder:hover {
    transform: none;
}

.doc-title {
    display: block;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.doc-subtitle {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: #666666;
    margin-top: 2px;
}

/* Tablet */
@media (max-width: 1024px) {
    .support-title {
        font-size: 28px;
    }
    
    .support-subtitle {
        font-size: 16px;
    }
    
    .documents-grid {
        gap: 15px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .documents-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .support-title {
        font-size: 24px;
    }
    
    .support-subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
    
    .doc-title {
        font-size: 15px;
    }
    
    .doc-subtitle {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .meridian-support-documents1 {
        padding: 30px 15px;
    }
    
    .support-title {
        font-size: 22px;
    }
}