@charset "UTF-8";

@font-face {
    font-family: "Quadrant Text";
    src: local("Quadrant Text Regular"), local("QuadrantText-Regular"), local("Quadrant Text");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Quadrant Text";
    src: local("Quadrant Text Semibold"), local("QuadrantText-Semibold");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Quadrant Text";
    src: local("Quadrant Text Bold"), local("QuadrantText-Bold");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Sitewide Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */



html {
    overflow-x: clip;
}

body{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
    font-size: var(--idsa-fs-4);
    font-family: var(--idsa-body-font);
    font-weight: 400;
    background-color: var(--idsa-white);
    margin: 0;
    overflow-x: clip;
}

body.nav-open{
    overflow: hidden;
}

@supports not (overflow-x: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

body *{
    scroll-margin-top: 85px;
}

main{
    background-color: var(--idsa-white);
    padding: 1px 0;
    margin-top: -1px;
}

hr{
    margin: 1.5rem 0;
    color: var(--border-regular);
    opacity: 1;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    font-style: italic;
    background-repeat: no-repeat;
    background-size: cover;
    shape-margin: 1rem;
}

.max-width{
    max-width: 1200px;
}

.mb-4-5{
    margin-bottom: 2rem !important;
}

.radius--md{border-radius: var(--idsa-radius-md);}
.radius--round{border-radius: var(--idsa-radius-round);}


/* Text Styles */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--idsa-header-font);
    font-weight: var(--idsa-fw-bold);
    font-optical-sizing: auto;
    color: var(--text-primary);
    line-height: var(--idsa-lh-header);
    text-wrap: pretty;
    margin-bottom: var(--idsa-padding-smedium);
}

h1 {font-size: var(--idsa-fs-h1-global);}
h2 {font-size: var(--idsa-fs-h2-global);}
h3 {font-size: var(--idsa-fs-h3-global);}
h4 {font-size: var(--idsa-fs-h4-global);}
h5 {font-size: var(--idsa-fs-h5-global);}
h6 {font-size: var(--idsa-fs-h6-global);}


h1.article {font-size: var(--idsa-h1-article-fs);}
h2.article {font-size: var(--idsa-h2-article-fs);}
h3.article {font-size: var(--idsa-h3-article-fs);}
h4.article {font-size: var(--idsa-h4-article-fs);}
h5.article {font-size: var(--idsa-h5-article-fs);}
h6.article {font-size: var(--idsa-h6-article-fs);}



h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
    color: var(--idsa-header-font);
    text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover{
    color: var(--text-primary-hover);
    text-decoration: none;
    transition: .2s ease-in-out;
}

p{
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
}

p.lead, span.lead{
    font-size: 1.25rem;
    line-height: 1.5;
    font-weight: var(--idsa-fw-bold);
}

p.md, span.md{
    font-size: var(--idsa-fs-4);
    line-height: 1.5;
    font-weight: 400;
}

p.sm, span.sm{
    font-size: var(--idsa-fs-3);
    line-height: 1.5;
    font-weight: 400;
}

p.xs, span.xs{
    font-size: var(--idsa-fs-2);
    line-height: 1.5;
    font-weight: 400;
}

p.xl, p.lg, p, p.sm, span.xl, span.lg, span, span.sm, li {
    line-height: var(--idsa-lh-body);
    font-weight: var(--idsa-fw-regular);
    margin-bottom: 0; 
}

p.xl {font-size: var(--idsa-fs-6);}
p.lg {font-size: var(--idsa-fs-5);}
p {font-size: var(--idsa-fs-4);}
p.sm {font-size: var(--idsa-fs-3);}

p.xl a, p.lg a, p a, p.sm a {
    text-decoration: none;
    color: var(--text-tertiary);
}

p.xl a:hover, p.lg a:hover, p a:hover, p.sm a:hover {
    text-decoration: underline;
    color: var(--text-primary-hover);
}

strong {
    font-weight: 800;
}

b{
   font-weight: 800; 
}

a{
    color: var(--text-secondary);
    text-decoration: underline;
    transition: .2s ease-in-out;
}

a:hover{
    color: var(--text-primary-hover);
    text-decoration: underline;
    transition: .2s ease-in-out;
}

.title--d3{
    font-family: var(--idsa-body-font);
    font-size: 4rem;
    font-weight: 300;
    line-height: .9;
}

.title--d5{
    font-family: var(--idsa-body-font);
    font-size: 3rem;
    font-weight: 300;
    line-height: .9;
}

.caption{
    font-size: 0.875rem;
    color: var(--idsa-gray-70);
}

.clr-secondary-clr{
    color: var(--idsa-secondary-clr) !important;
}

.clr-body-text{
    color: var(--idsa-body-text) !important;
}

/* all conexiant sites should be using this code. update that in umbrella.css when there is time. */
.full-width-ad {
    background-color: transparent;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-top: 0px solid transparent;
    border-bottom: 0px solid transparent;
}

.sidebar-container .sticky-top, .sidebar-column .sticky-top {
    z-index: 1;
    display: grid;
    grid-gap: 0;
    justify-content: center;
}

.sidebar-column--2-ads{
    display: grid;
    grid-template-row: 1fr 1fr;
    grid-column-gap: 1.5rem;
}

.sidebar-column--2-ads .sidebar-column__sticky-container{
    
}
/* all conexiant sites should be using this code. update that in umbrella.css when there is time. */


.sidebar-column .sticky-top {
    top: 101px;
}

.sticky-top {
    top: 101px;
}

@media (max-width: 1280px){
    .sticky-top, .sidebar-column .sticky-top {
        top: 126px;
    }
}

@media (max-width: 1100px){
    .grid-content-sidebar, .grid--content-sidebar {
        grid-row-gap: 0;
    }
}

@media (max-width: 576px) {
    .sticky-top, .sidebar-column .sticky-top {
        top: 101px;
    }
}














/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Component Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */

/* Accordion Styles : START */
.accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--idsa-gutter-sm);
    padding: var(--idsa-padding-sm) 0 0 0;
    background-color: var(--background-secondary);
}

.accordion-button {
    white-space: normal;
    line-height: 1.4;
    padding: var(--idsa-padding-sm) var(--idsa-padding-md);
    border: 1px solid var(--idsa-cool-grey-10);
}

.accordion-button:not(.collapsed) {
    color: var(--text-primary);
    background-color: var(--idsa-cool-grey-10);
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23173440'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:focus {
    z-index: 3;
    border-color: transparent;
    outline: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23687B83'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button.collapsed {
    border: 1px solid var(--idsa-cool-grey-10);
    border-radius: var(--idsa-radius-md);
}

.accordion-item .accordion-header .accordion-button,  .accordion-item .accordion-body p {
    font-size: var(--idsa-fs-4);
}

.accordion-item {
    border: border: 1px solid var(--idsa-cool-grey-10);
    /*border-radius: var(--idsa-radius-md);*/
    overflow: hidden;
}

/*.accordion-item:first-of-type {
    border-radius: var(--idsa-radius-md);
}*/

/*.accordion-item:last-of-type {
    border-radius: var(--idsa-radius-md);
}*/


.accordion-body {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-gutter-xs);

    background-color: var(--idsa-cool-grey-10);
    padding: 0 var(--idsa-padding-md) var(--idsa-padding-sm) var(--idsa-padding-md);
}

.accordion-body p:first-of-type {
    border-top: 1px solid rgba(23, 52, 64, 0.18);
    padding-top: var(--idsa-padding-sm);
}

.accordion-item:first-of-type .accordion-button.collapsed, .accordion-item:last-of-type .accordion-button.collapsed {
     border-radius: var(--idsa-radius-md);
}
/* Accordion Styles : END */






/* Icon Styles */

.fill{
    transition: .2s ease-in-out;
}

.fill:hover{
    transition: .2s ease-in-out;
}

.fill--clr-1{
    fill: var(--idsa-primary-clr);
}

.fill--clr-2{
    fill: transparent;
}

    



/* List Styles */

.list-item {
    border-bottom: 1px solid var(--idsa-primary-30);
    overflow: visible;
}

.list-item--no-border {
    border: none;
}



/* Button Styles */

[type="button"], [type="reset"], [type="submit"], button, a.btn, .btn {
    display: inline-flex;
    position: relative;
    overflow: hidden;
    overflow: clip;
    column-gap: var(--idsa-spacing-4);
    align-items: center;
    justify-content: center;
    padding: var(--idsa-padding-sm);
    min-width: 24px;
    min-height: 24px;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    line-height: var(--idsa-lh-dense);
    white-space: nowrap;
    text-decoration: none;
    color: var(--text-primary-contrastText);
    background: var(--btn-primary);
    border: 1px solid var(--btn-primary);
    border-radius: var(--idsa-radius-round);
    box-shadow: none;
    transition: var(--idsa-anim-normal);
    flex-shrink: 0;
}

a.btn:hover, .btn:hover{
    color: var(--text-primary-contrastText);
    background-color: var(--btn-primary-hover);
    border: 1px solid var(--btn-primary-hover);
    transition: .2s ease-in-out;
}

a.btn--lg, .btn--lg{
    font-size: 1.25rem;
    padding: .5rem 1rem;
    min-width: 48px;
    min-height: 48px;
}

.btn svg, .btn .icon {
    max-width: var(--idsa-spacing-6);
    max-height: var(--idsa-spacing-6);
}

/*
.btn--lg svg, .btn--lg .icon{
    max-width: 17px;
    max-height: 17px;
}
*/

a.btn--md, .btn--md{
    font-size: var(--idsa-fs-6);
    padding: var(--idsa-spacing-4) var(--idsa-spacing-4);
}

a.btn--sm, .btn--sm{
    font-size: var(--idsa-fs-3);
    padding: var(--idsa-padding-xs) var(--idsa-padding-xs);
}

.btn--sm svg, .btn--sm .icon{
    max-width: var(--idsa-spacing-5);
    max-height: var(--idsa-spacing-5);
}

.btn--sm:hover .icon{
    text-decoration: none;
}

/* Link Button -------------------- */
/* ------------------------------ */

a.btn--link, .btn--link {
    color: var(--idsa-white);
    background-color: transparent;
    border: 1px solid transparent;
}

a.btn--link:hover, .btn--link:hover {
    text-decoration: underline;
    color: var(--idsa-white);
    background-color: transparent;
    border: 1px solid transparent;
}

a.btn--link .fill--clr-1, .btn--link .fill--clr-1 {
    fill: var(--idt-primary-40);
}

a.btn--link:hover .fill--clr-1, .btn--link:hover .fill--clr-1 {
    fill: var(--idt-primary-clr);
}

/* CTA Button -------------------- */
/* ------------------------------ */

a.btn--cta, .btn--cta {
    color: var(--text-primary);
    background: var(--btn-cta);
    border: 1px solid var(--btn-cta);
    /* border-radius: var(--idsa-radius-sm); */
}

a.btn--cta:hover, .btn--cta:hover {
    color: var(--text-primary);
    background: var(--btn-cta-hover);
    border: 1px solid var(--btn-cta-hover);
}

a.btn--cta::after:hover, .btn--cta::after:hover, a.btn--cta::after:focus, .btn--cta::after:focus, a.btn--cta::after:active, .btn--cta::after:active {
    opacity: 0;
    transition: var(--idsa-anim-normal);
}

a.btn--cta:focus, .btn--cta:focus {
    color: var(--text-primary);
    background: var(--btn-cta-hover);
    border: 1px solid var(--btn-cta-hover);
    box-shadow: var(--idsa-shadow-xs);
}

a.btn.btn--cta:active, button.btn.btn--cta:active {
    color: var(--text-primary);
    background: var(--btn-cta-hover);
    border: 1px solid var(--btn-cta-hover);
    box-shadow: var(--idsa-shadow-xs);
}

/* Primary Reverse Button -------- */
/* ------------------------------ */

a.btn--primary .fill--clr-1, .btn--primary .fill--clr-1 {fill: var(--text-primary-contrastText);}

a.btn--primary:hover .fill--clr-1, .btn--primary:hover .fill--clr-1 {fill: var(--text-primary-contrastText);}
a.btn--primary:focus .fill--clr-1, .btn--primary:focus .fill--clr-1 {fill: var(--text-primary-contrastText);}
a.btn--primary:active .fill--clr-1, .btn--primary:active .fill--clr-1 {fill: var(--text-primary-contrastText);}


/* Primary Reverse Button -------- */
/* ------------------------------ */

a.btn--primary-rev, .btn--primary-rev {
    color: var(--btn-primary-rev-contrastText);
    background: var(--btn-primary-rev);
    border: 1px solid var(--btn-primary-rev);
}

a.btn--primary-rev:hover, .btn--primary-rev:hover {
    color: var(--btn-primary-rev-contrastText);
    background: var(--btn-primary-rev-hover);
    border: 1px solid var(--btn-primary-rev-hover);
}

a.btn--primary-rev:focus, .btn--primary-rev:focus {
    color: var(--btn-primary-rev-contrastText);
    background: var(--btn-primary-rev-active);
    border: 1px solid var(--btn-primary-rev-active);
    outline: 3px solid var(--border-focused);
    box-shadow: var(--idsa-shadow-xs);
}

a.btn.btn--primary-rev:active, button.btn.btn--primary-rev:active {
    color: var(--btn-primary-rev-contrastText);
    background: var(--btn-primary-rev-active);
    border: 1px solid var(--btn-primary-rev-active);
    box-shadow: var(--idsa-shadow-xs);
}

a.btn--primary-rev .fill--clr-1, .btn--primary-rev .fill--clr-1 {fill: var(--text-primary-contrastText);}
a.btn--primary-rev:hover .fill--clr-1, .btn--primary-rev:hover .fill--clr-1 {fill: var(--btn-primary-rev-contrastText);}


/* Primary Outlined Button ------- */
/* ------------------------------ */

a.btn--primary-outlined, .btn--primary-outlined{
    padding: var(--idsa-spacing-4) var(--idsa-spacing-8);
    color: var(--btn-primary-outlined-contrastText);
    background: var(--btn-primary-outlined);
    border: 1px solid var(--btn-primary-outlined-border);
    border-radius: var(--idsa-radius-round);
}

a.btn--primary-outlined:hover, .btn--primary-outlined:hover{
    color: var(--btn-primary-outlined-hover-contrastText);
    background: var(--btn-primary-outlined-hover);
    border: 1px solid var(--btn-primary-outlined-hover-border);
    box-shadow: none;
}

a.btn--primary-outlined:focus, .btn--primary-outlined:focus{
    color: var(--btn-primary-outlined-focused-contrastText);
    background: var(--btn-primary-outlined-focused);
    border: 1px solid var(--btn-primary-outlined-focused-border);
    box-shadow: none;
}

a.btn.btn--primary-outlined:active, button.btn.btn--primary-outlined:active{
    color: var(--btn-primary-outlined-active-contrastText);
    background: var(--btn-primary-outlined-active);
    border: 1px solid var(--btn-primary-outlined-active-border);
    box-shadow: none;
}

a.btn--primary-outlined:disabled, .btn--primary-outlined:disabled,
a.btn--primary-outlined.disabled, .btn--primary-outlined.disabled,
a.btn--primary-outlined[aria-disabled="true"], .btn--primary-outlined[aria-disabled="true"]{
    opacity: var(--btn-primary-outlined-disabled-opacity);
    pointer-events: none;
}

a.btn--primary-outlined .fill--clr-1, .btn--primary-outlined .fill--clr-1 {fill: var(--btn-primary-outlined-contrastText);}

a.btn--primary-outlined:hover .fill--clr-1, .btn--primary-outlined:hover .fill--clr-1 {fill: var(--btn-primary-outlined-hover-contrastText);}
a.btn--primary-outlined:focus .fill--clr-1, .btn--primary-outlined:focus .fill--clr-1 {fill: var(--btn-primary-outlined-focused-contrastText);}
a.btn--primary-outlined:active .fill--clr-1, .btn--primary-outlined:active .fill--clr-1 {fill: var(--btn-primary-outlined-active-contrastText);}


/* Primary Outlined Reversed Button ------- */
/* --------------------------------------- */

a.btn--primary-outlined-rev, .btn--primary-outlined-rev{
    color: var(--text-primary-contrastText);
    background: transparent;
    border: 1px solid var(--btn-primary-rev);
}

a.btn--primary-outlined-rev:hover, .btn--primary-outlined-rev:hover{
    color: var(--text-primary);
    background: var(--btn-primary-rev);
    border: 1px solid var(--btn-primary-rev);
}

a.btn--primary-outlined-rev:focus, .btn--primary-outlined-rev:focus{
    color: var(--text-primary);
    background: var(--btn-primary-rev);
    border: 1px solid var(--btn-primary-rev);
    outline: 3px solid var(--border-focused);
}

a.btn.btn--primary-outlined-rev:active, button.btn.btn--primary-outlined-rev:active{
    color: var(--text-primary);
    background: var(--btn-primary-rev);
    border: 1px solid var(--btn-primary-rev);
}

a.btn--primary-outlined-rev .fill--clr-1, .btn--primary-outlined-rev .fill--clr-1 {fill: var(--text-primary-contrastText);}
a.btn--primary-outlined-rev:hover .fill--clr-1, .btn--primary-outlined-rev:hover .fill--clr-1 {fill: var(--text-primary);}
a.btn--primary-outlined-rev:focus .fill--clr-1, .btn--primary-outlined-rev:focus .fill--clr-1 {fill: var(--text-primary);}
a.btn--primary-outlined-rev:active .fill--clr-1, .btn--primary-outlined-rev:active .fill--clr-1 {fill: var(--text-primary);}


/* Primary Text Button ----------- */
/* ------------------------------ */

a.btn--primary-text, .btn--primary-text{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--idsa-spacing-3);
    min-width: 1.5rem;
    min-height: 1.5rem;
    padding: var(--idsa-spacing-4) var(--idsa-spacing-5);
    color: var(--text-tertiary);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--idsa-radius-round);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-semibold);
    line-height: var(--idsa-lh-4);
    text-decoration: none;
}

a.btn--primary-text:hover, .btn--primary-text:hover,
a.btn--primary-text:focus-visible, .btn--primary-text:focus-visible,
a.btn--primary-text:active, .btn--primary-text:active,
.btn--primary-text.active, .btn--primary-text.btn-active,
.btn--primary-text[aria-current="page"], .btn--primary-text[aria-pressed="true"]{
    color: var(--text-primary-hover);
    background: transparent;
    border: 1px solid transparent;
    text-decoration: none;
}

a.btn--primary-text:focus-visible, .btn--primary-text:focus-visible{
    outline: 3px solid var(--border-focused);
    text-decoration: none;
    box-shadow: none;
}

a.btn--primary-text:disabled, .btn--primary-text:disabled,
a.btn--primary-text[aria-disabled="true"], .btn--primary-text[aria-disabled="true"]{
    color: var(--text-primary);
    opacity: 0.35;
    pointer-events: none;
}

a.btn--primary-text .fill--clr-1, .btn--primary-text .fill--clr-1 {fill: currentColor;}


/* Primary Outlined Text Button ------ */
/* ---------------------------------- */

a.btn--primary-text-outlined, .btn--primary-text-outlined{
    color: var(--text-secondary);
    background: transparent;
    border: 1px solid var(--idsa-warm-grey-20);
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
}

a.btn--primary-text-outlined:hover, .btn--primary-text-outlined:hover{
    color: var(--text-primary);
    background: transparent;
    border: 1px solid var(--idsa-warm-grey-20);
    text-decoration: underline;
}

a.btn--primary-text-outlined:focus, .btn--primary-text-outlined:focus{
    color: var(--text-primary);
    background: transparent;
    border: 1px solid transparent;
    outline: 3px solid var(--border-focused);
    text-decoration: underline;
}

a.btn.btn--primary-text-outlined:active, button.btn.btn--primary-text-outlined:active{
    color: var(--text-primary);
    background: transparent;
    border: 1px solid transparent;
    text-decoration: underline;
}

a.btn--primary-text .fill--clr-1, .btn--primary-text .fill--clr-1 {fill: var(--text-primary);}
a.btn--primary-text:hover .fill--clr-1, .btn--primary-text:hover .fill--clr-1 {fill: var(--text-primary);}


/* Secondary Button -------------- */
/* ------------------------------ */

a.btn--secondary, .btn--secondary {
    color: var(--text-primary);
    background: var(--btn-secondary);
    border: 1px solid var(--btn-secondary);
}

a.btn--secondary:hover, .btn--secondary:hover {
    color: var(--text-primary);
    background: var(--btn-secondary-hover);
    border: 1px solid var(--btn-secondary-hover);
}

a.btn--secondary:focus, .btn--secondary:focus {
    color: var(--text-secondary);
    background: var(--btn-secondary-hover);
    border: 1px solid var(--btn-secondary-hover);
    outline: 3px solid var(--border-focused);
    box-shadow: var(--idsa-shadow-xs);
}

a.btn.btn--secondary:active, button.btn.btn--secondary:active {
    color: var(--text-secondary);
    background: var(--btn-secondary-active);
    border: 1px solid var(--btn-secondary-active);
    box-shadow: var(--idsa-shadow-xs);
}

a.btn--secondary .fill--clr-1, .btn--secondary .fill--clr-1 {
    fill: var(--text-secondary);
}

a.btn--secondary:hover .fill--clr-1, .btn--secondary:hover .fill--clr-1 {
    fill: var(--text-secondary);
}


/* Secondary Outlined Button ----- */
/* ------------------------------ */

a.btn--secondary-outlined, .btn--secondary-outlined {
    color: var(--text-secondary);
    background: transparent;
    border: 1px solid var(--btn-secondary);
}

a.btn--secondary-outlined:hover, .btn--secondary-outlined:hover {
    color: var(--text-secondary);
    background: var(--btn-secondary-hover);
    border: 1px solid var(--btn-secondary-hover);
}

a.btn--secondary-outlined:focus, .btn--secondary-outlined:focus {
    color: var(--text-secondary);
    background: var(--btn-secondary-hover);
    border: 1px solid var(--btn-secondary-hover);
    outline: 3px solid var(--border-focused);
}

a.btn.btn--secondary-outlined:active, button.btn.btn--secondary-outlined:active {
    color: var(--text-secondary);
    background: var(--btn-secondary-active);
    border: 1px solid var(--btn-secondary-active);
}

a.btn--secondary-outlined .fill--clr-1, .btn--secondary-outlined .fill--clr-1 {fill: var(--text-secondary);}
a.btn--secondary-outlined:hover .fill--clr-1, .btn--secondary-outlined:hover .fill--clr-1 {fill: var(--text-secondary);}


/* Secondary Text Button --------- */
/* ------------------------------ */

a.btn--secondary-text, .btn--secondary-text {
    color: var(--text-secondary);
    background: transparent;
    border: 1px solid transparent;
    padding: inherit 0;
}

a.btn--secondary-text:hover, .btn--secondary-text:hover {
    color: var(--text-secondary-hover);
    background: transparent;
    border: 1px solid transparent;
}

a.btn--secondary-text:focus, .btn--secondary-text:focus {
    color: var(--text-secondary-hover);
    background: transparent;
    border: 1px solid transparent;
    outline: 3px solid var(--border-focused);
}

a.btn.btn--secondary-text:active, button.btn.btn--secondary-text:active {
    color: var(--text-secondary-active);
    background: var(--btn-secondary-active);
    border: 1px solid var(--btn-secondary-active);
}

a.btn--secondary-text .fill--clr-1, .btn--secondary-text .fill--clr-1 {fill: var(--text-secondary-contrastText);}
a.btn--secondary-text:hover .fill--clr-1, .btn--secondary-text:hover .fill--clr-1 {fill: var(--text-secondary-hover);} 

/* Text button variants remain unboxed in every interaction state. */
:is(a.btn--link, .btn--link,
    a.btn--primary-text, .btn--primary-text,
    a.btn--primary-text-outlined, .btn--primary-text-outlined,
    a.btn--secondary-text, .btn--secondary-text) {
    border-radius: 0;
}

:is(a.btn--link, .btn--link,
    a.btn--primary-text, .btn--primary-text,
    a.btn--primary-text-outlined, .btn--primary-text-outlined,
    a.btn--secondary-text, .btn--secondary-text):is(:focus, :focus-visible) {
    outline: 0;
    box-shadow: none;
}



/* Badge Styles ------------------ */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.badge-row{
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    width: 100%;
    padding-top: var(--idsa-padding-sm);
}

/* Default Badge ---------------- */
/* ------------------------------ */

a.badge, button.badge, .badge {
    display: inline-flex;
    column-gap: var(--idsa-spacing-2);
    align-items: center;
    justify-content: center;
    padding: var(--idsa-padding-xs)  var(--idsa-padding-smedium);
    width: fit-content;
    inline-size: fit-content;
    flex: 0 1 fit-content;
    min-width: min-content;
    max-width: 100%;
    min-height: 1.5rem;
    align-self: flex-start;
    box-sizing: border-box;
    color: var(--text-primary, #242A22);
    text-align: left;
    font-variant-numeric: lining-nums proportional-nums;
    font-family: var(--idsa-body-font, Inter);
    font-size: var(--idsa-fs-2);
    font-style: normal;
    font-weight: var(--idsa-fw-bold);
    line-height: normal;
    letter-spacing: 0.175rem;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
    hyphens: none;
    text-transform: uppercase;
    text-decoration: none;
    background-color: var(--badge-primary);
    border: 1px solid transparent;
    border-radius: var(--idsa-radius-round);
    overflow: hidden;
    transition: var(--idsa-anim-normal);
}

a.badge:hover, button.badge:hover, .badge:hover{
    color: var(--text-primary);
    background-color: var(--badge-primary-hover);
    border: 1px solid var(--badge-primary-hover);
    transition: var(--idsa-anim-normal);
    cursor: pointer;
}

a.badge:focus, .badge:focus{
    color: var(--text-primary);
    background-color: var(--badge-primary-hover);
    border: 1px solid var(--badge-primary-hover);
    outline: 3px solid var(--border-focused);
    transition: var(--idsa-anim-normal);
}

a.badge:active, .badge:active{
    color: var(--text-primary);
    background-color: var(--badge-primary-active);
    border: 1px solid var(--badge-primary-active);
    transition: var(--idsa-anim-normal);
}

.badge svg, .badge .icon{
    max-width: var(--idsa-spacing-5); max-height: var(--idsa-spacing-5);
}


/* CTA Badge ---------------- */
/* ------------------------------ */

a.badge--cta, .badge--cta {
    color: var(--text-primary);
    background-color: var(--badge-cta);
    border-color: transparent;
}

a.badge--cta:hover, .badge--cta:hover {
    color: var(--text-primary);
    background-color: var(--badge-cta-hover);
    border-color: transparent;
}

a.badge--cta:focus, .badge--cta:focus {
    color: var(--text-primary);
    background-color: var(--badge-cta);
    border-color: var(--text-tertiary);
    outline: 0;
}

a.badge--cta:active, .badge--cta:active {
    color: var(--text-primary);
    background-color: var(--badge-cta-active);
    border-color: transparent;
}

a.badge--cta:disabled, .badge--cta:disabled,
a.badge--cta[aria-disabled="true"], .badge--cta[aria-disabled="true"] {
    opacity: 0.45;
    pointer-events: none;
}


/* Primary Badge ----------------- */
/* ------------------------------ */

a.badge--primary, .badge--primary {
    color: var(--idsa-green-300);
    background-color: var(--badge-primary);
    border-color: transparent;
}

a.badge--primary:hover, .badge--primary:hover {
    color: var(--text-primary);
    background-color: var(--badge-primary-hover);
    border-color: transparent;
}

a.badge--primary:focus, .badge--primary:focus {
    color: var(--text-primary);
    background-color: var(--badge-primary);
    border-color: var(--idsa-green-200);
    outline: 0;
}

a.badge--primary:active, .badge--primary:active {
    color: var(--text-primary);
    background-color: var(--badge-primary-active);
    border-color: transparent;
}

a.badge--primary:disabled, .badge--primary:disabled,
a.badge--primary[aria-disabled="true"], .badge--primary[aria-disabled="true"] {
    opacity: 0.5;
    pointer-events: none;
}


/* No Outline Badges ------------- */
/* ------------------------------ */

a.badge--primary-no-outline, .badge--primary-no-outline {
    color: var(--badge-primary-no-outline-contrastText);
    background-color: var(--badge-primary-no-outline);
    border: 0;
}

a.badge--secondary-no-outline, .badge--secondary-no-outline {
    color: var(--badge-secondary-no-outline-contrastText);
    background-color: var(--badge-secondary-no-outline);
    border: 0;
}

a.badge--primary-no-outline:hover, .badge--primary-no-outline:hover,
a.badge--primary-no-outline:focus, .badge--primary-no-outline:focus,
a.badge--primary-no-outline:active, .badge--primary-no-outline:active {
    color: var(--badge-primary-no-outline-contrastText);
    background-color: var(--badge-primary-no-outline);
    border: 0;
    box-shadow: none;
}

a.badge--secondary-no-outline:hover, .badge--secondary-no-outline:hover,
a.badge--secondary-no-outline:focus, .badge--secondary-no-outline:focus,
a.badge--secondary-no-outline:active, .badge--secondary-no-outline:active {
    color: var(--badge-secondary-no-outline-contrastText);
    background-color: var(--badge-secondary-no-outline);
    border: 0;
    box-shadow: none;
}

/* No Outline Badges — Mobile ---- */
/* Keeps wrapped labels clear of the pill curve on small viewports.
   Wrapped labels are hugged to their longest line by scripts/idsa-badge-hug.js */
@media (max-width: 560px) {
    a.badge--primary-no-outline, .badge--primary-no-outline,
    a.badge--secondary-no-outline, .badge--secondary-no-outline {
        padding: var(--idsa-spacing-3) var(--idsa-spacing-7);
        line-height: var(--idsa-lh-normal);
    }
}


/* Primary Outlined Badge -------- */
/* ------------------------------ */

a.badge--primary-outlined, .badge--primary-outlined {
    color: var(--badge-primary-outlined);
    background-color: transparent;
    border: 1px solid var(--badge-primary-outlined);
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
}

a.badge--primary-outlined:hover, .badge--primary-outlined:hover {
    color: var(--badge-primary-outlined-hover);
    background-color: transparent;
    border: 1px solid var(--badge-primary-outlined-hover);
}

a.badge--primary-outlined:focus, .badge--primary-outlined:focus {
    color: var(--badge-primary-outlined-active);
    background-color: transparent;
    border: 1px solid var(--badge-primary-outlined-hover);
}

a.badge--primary-outlined:active, .badge--primary-outlined:active {
    color: var(--badge-primary-outlined-active);
    background-color: transparent;
    border: 1px solid var(--badge-primary-outlined-active);
}

/* Secondary Outlined Badge -------- */
/* ------------------------------ */

a.badge--secondary-outlined, .badge--secondary-outlined {
    color: var(--badge-secondary-outlined);
    font-weight: var(--idsa-fw-bold);
    background-color: transparent;
    border: 1px solid var(--badge-secondary-outlined);
}

a.badge--secondary-outlined:hover, .badge--secondary-outlined:hover {
    color: var(--badge-secondary-outlined-hover);
    background-color: transparent;
    border: 1px solid var(--badge-secondary-outlined-hover);
} 

a.badge--secondary-outlined:focus, .badge--secondary-outlined:focus {
    color: var(--badge-secondary-outlined-active);
    background-color: transparent;
    border: 1px solid var(--badge-secondary-outlined-active);
}

a.badge--secondary-outlined:active, .badge--secondary-outlined:active {
    color: var(--badge-secondary-outlined-active);
    background-color: transparent;
    border: 1px solid var(--badge-secondary-outlined-active);
}

/* Tertiary Outlined Badge -------- */
/* ------------------------------ */

a.badge--tertiary-outlined, .badge--tertiary-outlined {
    color: var(--badge-tertiary-outlined);
    background-color: transparent;
    border: 0;
}

a.badge--tertiary-outlined:hover, .badge--tertiary-outlined:hover {
    color: var(--badge-tertiary-outlined-hover);
    background-color: transparent;
    border: 0;
}

a.badge--tertiary-outlined:focus, .badge--tertiary-outlined:focus {
    color: var(--badge-tertiary-outlined-active);
    background-color: transparent;
    border: 0;
}

a.badge--tertiary-outlined:active, .badge--tertiary-outlined:active {
    color: var(--badge-tertiary-outlined-active);
    background-color: transparent;
    border: 0;
}


/* Badge Size Variants ----------- */
/* ------------------------------ */

a.badge--xs, .badge--xs{
    font-size: var(--idsa-fs-1)!important;
    padding: var(--idsa-spacing-3) var(--idsa-spacing-5);
    column-gap: var(--idsa-spacing-1);
}

a.badge--sm, .badge--sm{
    font-size: var(--idsa-fs-2);
    padding: var(--idsa-spacing-2) var(--idsa-spacing-5);
    column-gap: var(--idsa-spacing-2);
}

a.badge--md, .badge--md{
    font-size: var(--idsa-fs-3);
    padding: var(--idsa-spacing-2) var(--idsa-spacing-5);
    column-gap: var(--idsa-spacing-2);
}


/* Card Styles ------------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: var(--card-backgrounds-primary);
    padding: 0;
    bottom: 0;
    border-radius: var(--idsa-radius-md);
    border: 1px solid transparent;
    overflow: hidden; overflow: clip;
    transition: var(--idsa-anim-normal);
}

.card:hover {
    /*bottom: var(--idsa-spacing-2);*/
    bottom: 0;
    box-shadow: none;
    transition: var(--idsa-anim-normal); 
}

/* Eon's card block code : START */
.card__header {
    display: flex;
    gap: var(--idsa-spacing-2);
    padding: var(--idsa-padding-sm) var(--idsa-padding-xs);
    justify-content: flex-start;
    align-items: center;
    align-self: stretch;
}

.card__header.no-bg {
    gap: var(--idsa-spacing-2);
    padding: 0 0 var(--idsa-padding-lg) 0;
    background-color: transparent;
    border-radius: 0;
}

.card__header h4 {
    margin: 0;
    color: var(--idsa-green-500);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
}

.card__header h4 a {
    display: inline-flex;
    align-items: center;
    gap: var(--idsa-spacing-2);
    color: inherit;
}

/*.card__header h4 a:hover {
    color: var(--idsa-white);
}*/

.card__header h4 a .icon {
    width: 1rem;
    height: 1rem;
    transition: transform .25s ease;
}

.card__header h4 a:hover .icon {
    transform: translateX(4px);
}


.card__body {
    display: flex;
    flex-direction: column;
    padding: 0;
    /*gap: var(--idsa-gutter-xs);*/
    justify-content: center;
    align-items: flex-start;
    margin: var(--idsa-padding-xs) 0;
}

.card__footer {
    display: flex;
    padding: 0 var(--idsa-padding-smedium) 0 var(--idsa-padding-smedium);
    flex-direction: column;
    align-items: flex-end;
    gap: 0.625rem;
    align-self: stretch;
}

.card--promo-list .card__footer {
    padding: var(--idsa-padding-smedium) var(--idsa-padding-smedium) 0 var(--idsa-padding-smedium);
    border-top: 1px solid var(--border-regular);
}

.card--promo-list, .area-playlist {
    padding: var(--idsa-padding-static);
    gap: var(--idsa-gutter-sm);
    background-color: var(--idsa-bg-grey);
    border-radius: var(--idsa-radius-2xl);
}

.promo--list-item,
.playlist__list-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--idsa-spacing-2);
    padding: var(--idsa-padding-static) 0;
    background-color: transparent;
    border: 0;
    border-top: 1.5px solid var(--border-regular);
    border-radius: 0;
    transition: var(--idsa-anim-fast);
}

.promo--list-item:hover,
.promo--list-item:focus-within,
.playlist__list-item:hover,
.playlist__list-item:focus-within {
    background-color: transparent;
    border-top: 1.5px solid var(--idsa-green-500);
    box-shadow: none;
    transition: var(--idsa-anim-fast);
}

.promo--list-item:last-child,
.playlist__list-item:last-child {
    padding-bottom: 0;
}

.promo--list-item h5,
.playlist__list-item h5 {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1.4;
}

.promo--list-item h5 a,
.playlist__list-item h5 a {
    color: inherit;
    text-decoration: none;
}

.promo--list-item:hover h5 a,
.promo--list-item:focus-within h5 a,
.playlist__list-item:hover h5 a,
.playlist__list-item:focus-within h5 a {
    color: var(--text-secondary);
}

.promo--list-item > .badge:not(.badge--tertiary-outlined),
.playlist__list-item > .badge:not(.badge--tertiary-outlined) {
    margin-bottom: var(--idsa-spacing-2);
}

.promo--list-item .horz-list,
.playlist__list-item .horz-list {
    gap: var(--idsa-gutter-smedium);
    margin: 0;
    padding: 0;
}

.promo--list-item .horz-list__item p,
.playlist__list-item .horz-list__item p {
    margin: 0;
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
    text-transform: none;
}

/* Video thumbnail variant for items within .playlist__list. */
.playlist__list-item {
    display: grid;
    grid-template-columns: minmax(0, 7rem) minmax(0, 1fr);
    align-items: center;
    gap: var(--idsa-gutter-sm);
}

.playlist__list-item .playlist__thumbnail {
    position: relative;
    display: block;
    width: 100%;
    max-width: 7rem;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--idsa-radius-md);
}

.playlist__list-item .playlist__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.playlist__list-item .playlist__duration {
    position: absolute;
    right: var(--idsa-spacing-2);
    bottom: var(--idsa-spacing-2);
    padding: 0 var(--idsa-spacing-2);
    color: var(--text-tertiary);
    background-color: var(--idsa-white);
    border-radius: var(--idsa-radius-2xl);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
}

.playlist__list-item .playlist__content {
    min-width: 0;
}

.playlist__list-item .playlist__content h5 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Eon's card block code : END */



/* Card Size Variants ------------ */
/* ------------------------------ */

.card--xs {
    padding: var(--idsa-padding-xs);
}

.card--sm {
    padding: var(--idsa-padding-sm);
}

.card--lg {
    padding: var(--idsa-padding-lg);
}

.card--xl {
    padding: var(--idsa-padding-xl);
}

.card--p-none {
    padding: 0;
}

.card--stretched-link .stretched-link {
    position: absolute;
    z-index: 1;
    pointer-events: auto;
    top: 0; right: 0; bottom: 0; left: 0;
}

.stretched-link-safe {
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
}



/* Tabbed Header Styles */

.tab-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1rem;
}

.tab-header__title{
    font-weight: 600;
    color: white;
    background-color: var(--idsa-primary-clr);
    padding: 0.375rem 1rem .5rem 1rem;
    margin: 0;
}

.tab-header .tab-header__hr{
    width: 100%;
    height: 2px;
    margin: 0;
    border: 0px;
    background-color: var(--idsa-primary-clr);
    border-radius: 3rem;
    position: relative;
}

.tab-header--top .tab-header__title{
    order: 1;
    border-radius: .5rem .5rem 0 0;
}

.tab-header--top .tab-header__hr{
    order: 2;
    bottom: 1px;
}

.tab-header--bottom .tab-header__title{
    order: 2;
    border-radius:  0 0 .5rem .5rem;
}

.tab-header--bottom .tab-header__hr{
    top: 1px;
}

    



/* Breadcrumb Styles */

.breadcrumb__link {
    color: var(--text-tertiary);
    text-decoration: none;
    font-size: var(--idsa-fs-4);
}

.breadcrumb__link:hover {
    color: var(--text-primary);
    text-decoration: underline;
}

.breadcrumb__current {
    color: var(--text-primary);
    font-weight: var(--idsa-font-weight-semibold);
    text-decoration: none;
}

.breadcrumb__current:hover {
    color: var(--text-primary);
    text-decoration: none;
}

.breadcrumb__divider {
    color: var(--divider);
    font-size: var(--idsa-fs-4);
}

    



/* Video Container Styles */

.video-embed-container {
    box-shadow: none;
    background: var(--idsa-body-text);
    border-radius: .5rem;
    overflow: hidden;
}

    



/* News Alert Styles */

#newsAlertConfirm .modal-body button {
    padding: 0;
    min-width: 24px;
    min-height: 24px;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: 1px solid transparent;
    color: var(--idsa-primary-clr);
}

#newsAlertConfirm .modal-body .btn-close:hover {
    color: var(--idsa-secondary-clr);
}
    



/* Pagination Styles */

.pagination {
    padding: 0.125rem;
    border-radius: 0.25rem;
    border: 1.35px solid var(--border-regular);
    gap: var(--idsa-padding-xs);
}

.page-item{
    flex: 1 1 auto;
    text-align: center;
}

.page-link{
    padding: .5rem .5rem;
}

.page-item a.page-link {
    color: var(--text-secondary);
    text-decoration: none;
    background-color: var(--idsa-white);
    border-radius: 0.124rem;
    border: none;
    /*margin-left: calc(1px * -2);*/
    transition: all .15s ease-in-out;
}

.page-item:not(:first-child) .page-link {
    margin-left: calc(1px * -2);
}

.page-item a.page-link:hover {
    color: var(--text-primary-contrastText);
    background-color: var(--btn-primary-hover);
    border-color: var(--btn-primary-hover);
    text-decoration: none;
}

li.page-item.active a.page-link {
    color: var(--text-primary-contrastText);
    background-color: var(--btn-primary);
    border-color: var(--btn-primary);
    text-decoration: none;
}

.page-link:focus {
    box-shadow: none;
}

.page-item:first-child .page-link{
    border-left: 2px solid transparent;
}

.page-item:last-child .page-link{
    border-right: 2px solid transparent;
}

.pagination__dots{
    color: var(--opthalmology-body-text);
    text-decoration: none;
    background-color: white;
    border-top: 1.35px solid white;
    border-bottom: 1.35px solid white;
    border-right: 1.35px solid var(--bg-clr);
    border-left: 1.35px solid var(--bg-clr);
    margin-left: calc(var(--bs-border-width) * -2);
    transition: all .15s ease-in-out;
}

.page-item.active .page-link {
    cursor: default;
    pointer-events: none;
    z-index: 3;
    color: white;
    background-color: var(--opthalmology-primary-clr);
    border-color: var(--opthalmology-primary-clr);
}

.page-item.active .page-link:hover {
    background-color: var(--opthalmology-primary-clr);
    border-color: var(--opthalmology-primary-clr);
    text-decoration: none;
}

.page-item.disabled .page-link {
    color: var(--opthalmology-primary-20);
}

@media (max-width: 900px) {nav.max-width .pagination .page-item:nth-last-child(12){display: none;}}
@media (max-width: 850px) {nav.max-width .pagination .page-item:nth-last-child(11){display: none;}}
@media (max-width: 800px) {nav.max-width .pagination .page-item:nth-last-child(10){display: none;}}
@media (max-width: 750px) {nav.max-width .pagination .page-item:nth-last-child(9){display: none;}}
@media (max-width: 700px) {nav.max-width .pagination .page-item:nth-last-child(8){display: none;}}
@media (max-width: 650px) {nav.max-width .pagination .page-item:nth-last-child(7){display: none;}}
@media (max-width: 600px) {nav.max-width .pagination .page-item:nth-last-child(6){display: none;}}
@media (max-width: 550px) {nav.max-width .pagination .page-item:nth-last-child(5){display: none;}}



/* Base thumbnail */
.thumbnail {
    display: block;
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    border: 1px solid var(--idsa-secondary-grey-10);
    background: transparent;
    overflow: hidden;
    transition: var(--idsa-anim-fast);
}

.thumbnail img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition: .25s ease-in-out;
}





/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Layout Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */

.grid{display: grid;}

.grid--2col{grid-template-columns: repeat(2, 1fr) !important;}
.grid--4col{grid-template-columns: repeat(4, 1fr) !important;}
.grid--6col{grid-template-columns: repeat(6, 1fr) !important;}
.grid--9col{grid-template-columns: repeat(9, 1fr) !important;}
.grid--12col{grid-template-columns: repeat(12, 1fr) !important;}

.grid--2col_autofit{grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));gap: 0 1rem;}

.grid-span--1col{grid-column: span 1;}
.grid-span--2col{grid-column: span 2;}
.grid-span--3col{grid-column: span 3;}
.grid-span--4col{grid-column: span 4;}
.grid-span--5col{grid-column: span 5;}
.grid-span--6col{grid-column: span 6;}
.grid-span--7col{grid-column: span 7;}
.grid-span--8col{grid-column: span 8;}
.grid-span--9col{grid-column: span 9;}
.grid-span--10col{grid-column: span 10;}
.grid-span--11col{grid-column: span 11;}
.grid-span--12col{grid-column: span 12;}

.grid--12col__1-3{grid-column: 1/3;}
.grid--12col__1-4{grid-column: 1/4;}
.grid--12col__3-7{grid-column: 3/7;}
.grid--12col__4-7{grid-column: 4/7;}
.grid--12col__7-13{grid-column: 7/13;}

.gap-1 {gap: .25rem !important;}
.gap-2 {gap: .5rem !important;}
.gap-3 {gap: 1rem !important;}
.gap-4 {gap: 1.5rem !important;}
.gap-5 {gap: 2rem !important;}
.gap-6 {gap: 2.5rem !important;}
.gap-7 {gap: 3rem !important;}

.col-count-2{
    column-count: 2;
    column-gap: 1.5rem;
}

.col-count-3{
    column-count: 3;
    column-gap: 1.5rem;
}

.grid__content-col .grid{
    align-items: flex-start;
}

@media (max-width: 750px) { 
    .col-count-2{
        column-count: 1;
    }
}


/* Page Layout : START */
/* ------------------- */
.page-layout{
    display: grid;
}

.content-area, .content-area .position-sticky{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.content-area:has(.section-bg),
.full-width-ad {
    position: relative;
    display: grid;
    left: auto;
    right: auto;
    /* width: 100vw;
    max-width: 100vw; */
    min-width: 0;
    margin-inline: 0;
    justify-self: center;
    justify-items: center;
    box-sizing: border-box;
    /* padding: 
        var(--idsa-padding-lg) max(var(--idsa-padding-lg), env(safe-area-inset-left))
            var(--idsa-padding-lg); */
    /* width: calc((100vw - 100%) + 100%);
    padding: var(--idsa-padding-lg) calc((100vw - 100%) / 2);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1); */
}

.content-area:has(.section-bg) > * {
  width: min(100%, calc(1300px - .75rem - .75rem));
  margin-inline: auto;
  padding-block: var(--idsa-padding-lg);
}

img.section-bg, .section-bg {
    width: calc((100vw - 100%) + 100%);
    position: absolute;
    inset: 0 0 0 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;

    /* background-color: var(--idsa-bg-grey); */
}


.content-area .position-sticky{
    position: sticky;
    top: calc(var(--nav-height, 154px) + 1rem);
}




/* Layout Template for Home : START */
/* -------------------------------- */
.page-layout--home{
    grid-template-areas:
        "fw-ad-1"
        "hero"
        "topic-full"
        "topic-grid"
        "fw-ad-2";
    grid-template-columns: 1fr;
}

.area--hero {
    grid-area: hero;
    position: relative;
    display: block;
    margin-block: var(--idsa-padding-lg);
    margin-inline: auto;
}

.area--hero .hero__inner {
    display: grid;
    grid-template-areas:
        "hero-lead aside"
        "browse-specialty aside";
    grid-template-columns: minmax(0, 54.25rem) 18.75rem;
    grid-template-rows: max-content max-content;
    gap: 0 var(--idsa-spacing-10);
    align-items: flex-start;
    align-content: flex-start;
}

.area--hero .hero__lead-grid {
    grid-area: hero-lead;
    display: grid;
    grid-template-areas: "spotlights main";
    grid-template-columns: 17.5rem minmax(0, 1fr);
    gap: var(--idsa-spacing-10);
    align-items: flex-start;
    padding-bottom: var(--idsa-spacing-6);
}

/* Weekly News mixed video-card hero. */
.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed {
    display: grid;
    grid-template-areas:
        "landing-mixed-1 landing-mixed-1 landing-mixed-1 landing-mixed-2 landing-mixed-2 landing-mixed-2"
        "landing-mixed-3 landing-mixed-3 landing-mixed-4 landing-mixed-4 landing-mixed-5 landing-mixed-5";
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: var(--idsa-gutter-lg);
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card {
    width: 100%;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card__video-thumbnail {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: var(--idsa-padding-sm);
    overflow: hidden;
    border-radius: var(--idsa-radius-2xl);
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card__video-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card__video-thumbnail::after {
    content: attr(data-duration);
    position: absolute;
    right: var(--idsa-padding-sm);
    bottom: var(--idsa-padding-sm);
    display: inline-flex;
    min-height: 1.625rem;
    align-items: center;
    padding: var(--idsa-padding-xs);
    color: var(--idsa-green-200);
    background-color: var(--idsa-white);
    border-radius: var(--idsa-radius-2xl);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
    pointer-events: none;
}

.area--hero:has(.hero__lead-grid--mixed) .video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.5rem;
    height: 2.5rem;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.area--hero:has(.hero__lead-grid--mixed) .video-play-overlay svg {
    display: block;
    width: 100%;
    height: 100%;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card .card__body {
    gap: 0;
    padding: 0;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card h6 {
    margin-bottom: var(--idsa-padding-xs);
    padding: var(--idsa-padding-xs) 0;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card .horz-list {
    gap: var(--idsa-spacing-7);
    margin-bottom: 0;
    padding: var(--idsa-padding-xs) 0;
}

.area--hero:has(.hero__lead-grid--mixed) .specialty-card .horz-list__item p {
    font-size: var(--idsa-fs-2);
    line-height: 1.4;
}

.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(1) { grid-area: landing-mixed-1; }
.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(2) { grid-area: landing-mixed-2; }
.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(3) { grid-area: landing-mixed-3; }
.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(4) { grid-area: landing-mixed-4; }
.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(5) { grid-area: landing-mixed-5; }

.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed:not(:has(> .specialty-card:nth-child(5))) {
    grid-template-areas:
        "landing-mixed-1 landing-mixed-1 landing-mixed-1 landing-mixed-1 landing-mixed-1 landing-mixed-1"
        "landing-mixed-2 landing-mixed-2 landing-mixed-3 landing-mixed-3 landing-mixed-4 landing-mixed-4";
}

.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed:has(> .specialty-card:nth-child(3)):not(:has(> .specialty-card:nth-child(4))) {
    grid-template-areas: "landing-mixed-1 landing-mixed-1 landing-mixed-2 landing-mixed-2 landing-mixed-3 landing-mixed-3";
    grid-template-rows: auto;
}

.area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(n+4) {
    display: flex;
    flex-direction: column;
    row-gap: var(--idsa-gutter-smedium);
}

@media (max-width: 970px) {
    .area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed,
    .area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed:not(:has(> .specialty-card:nth-child(5))),
    .area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed:has(> .specialty-card:nth-child(3)):not(:has(> .specialty-card:nth-child(4))) {
        grid-template-areas: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .area--hero:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card {
        grid-area: auto;
    }
}

.area--aside {
    grid-area: aside;
    position: relative;
    display: grid;
    grid-template-areas:
        "aside__top"
        "aside__bottom";
    grid-template-rows: auto 1fr;
    grid-gap: var(--idsa-gutter-md);
    align-content: flex-start;
    z-index: 2;
}

.area--aside:has(> .area-playlist) {
    grid-template-areas:
        "aside__playlist"
        "aside__top"
        "aside__bottom";
    grid-template-rows: auto auto 1fr;
}

.area--aside > .area-playlist {
    grid-area: aside__playlist;
}

.aside-grouping--1, 
.aside-grouping--2, 
.aside-grouping--2 > .position-sticky{
    display: grid;
    grid-gap: var(--idsa-gutter-md) 0;
}

.aside-grouping--1{
    grid-area: aside__top;
    grid-template-areas:
        "promo-1"
        "ad-1"
        "promo-2";
    grid-template-rows: auto auto;
}

.aside-grouping--2{
    grid-area: aside__bottom;
    grid-template-areas: 
        "ad-2";
    grid-template-rows: auto auto;   
}

.aside-grouping--2 > .position-sticky{
    grid-template-areas:
        /*"promo-2"*/
        "ad-1"
        "ad-2";
    grid-template-rows: auto auto;
    align-content: flex-start;
    max-height: max-content;
}

.area--main{
    grid-area: main;
    height: 100%;
}

.area--spotlights-main{
    grid-area: spotlights-main;
    display: grid;
    grid-template-areas:
        "spotlights         main"
        "browse-specialty   browse-specialty";
    grid-template-columns: 15.625rem 1fr;
    grid-gap: var(--idsa-gutter-md);
}

.area--spotlights{grid-area: spotlights;}
.area--browse{grid-area: browse-specialty; margin-bottom: 1.5rem;}

.area--hero .area--aside {
    width: 18.75rem;
}

@media (min-width: 971px) {
    .area--hero .area--aside,
    .area--meeting-grid > .area--aside,
    .page-layout--home .listing .area--aside,
    .page-layout--listing .listing .area--aside {
        position: sticky;
        top: calc(var(--nav-height, 154px) + 1rem);
        align-self: start;
    }

    .area--hero .area--aside .position-sticky,
    .area--meeting-grid > .area--aside .position-sticky,
    .page-layout--home .listing .area--aside .position-sticky,
    .page-layout--listing .listing .area--aside .position-sticky {
        position: static;
        top: auto;
    }

    .area--hero:not(:has(.area--browse)) .hero__lead-grid {
        align-self: stretch;
    }

    .area--hero:not(:has(.area--browse)) .area--spotlights {
        align-self: stretch;
    }
}

.area--hero .aside-grouping--1{
    grid-template-areas:
        "ad-1"
        "promo-2"
        "promo-1";
    grid-gap: var(--idsa-spacing-10) 0;
}

.area--hero .area--browse{
    margin-top: -0.875rem;
    margin-bottom: 0;
    width: 100%;
}

.area--hero .area--spotlights{
    gap: 0;
}

.area--hero .card--story-main h3 a{
    color: var(--idsa-green-500);
    text-decoration: none;
}

.area--hero .card--story-main h3 a:hover{
    color: var(--idsa-green-200);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.area--hero .card.card--story-main.card--stretched-link:hover,
.area--hero .card.card--story-main.card--stretched-link:focus-within {
    background-color: transparent;
    box-shadow: none;
}

.area--hero .card.card--story-main.card--stretched-link:hover h3 a,
.area--hero .card.card--story-main.card--stretched-link:focus-within h3 a {
    color: var(--text-secondary);
    text-decoration: none;
}

.area--hero .horz-list{
    gap: var(--idsa-spacing-6);
}

.area--hero .horz-list__item p{
    margin: 0;
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
    text-transform: none;
}

.area--hero .card--story-main{
    width: 100%;
    min-height: auto;
    background: transparent;
    border: 0;
    border-radius: 0;
    position: sticky;
    top: calc(var(--nav-height, 154px) + 1rem);
}

.area--hero .card--story-main .thumbnail{
    width: 100%;
    overflow: hidden;
    border-radius: var(--idsa-radius-xl);
    border-width: 0;
}

.area--hero .card--story-main .thumbnail img {
    border-radius: inherit;
}

.area--hero .card--story-main .thumbnail,
.area--hero .card--story-main .thumbnail img{
    aspect-ratio: 584 / 400;
}

.area--hero .card--story-main .thumbnail img{
    -webkit-mask-image: none;
    mask-image: none;
}

.area--hero .card--story-main .badge-row{
    width: fit-content;
    max-width: calc(80% - 1rem);
    min-width: 0;
    flex-wrap: wrap;
    padding: var(--idsa-padding-sm) var(--idsa-padding-sm) var(--idsa-spacing-2) 0;
    gap: var(--idsa-gutter-sm);
    background-color: var(--background-primary);
    border-radius: 0 var(--idsa-radius-xl) 0 0;
    position: relative;
    z-index: 1;
}

.area--hero .card--story-main .badge-row::before,
.area--hero .card--story-main .badge-row::after {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    background-color: var(--background-primary);
    -webkit-mask: no-repeat center / 100% 100%;
    mask: no-repeat center / 100% 100%;
    pointer-events: none;
}

.area--hero .card--story-main .badge-row::before {
    top: -1rem;
    left: 0;
    -webkit-mask-image: url("/media/qpojriu1/story-main-badge-clip-tl.svg");
    mask-image: url("/media/qpojriu1/story-main-badge-clip-tl.svg");
}

.area--hero .card--story-main .badge-row::after {
    right: -1rem;
    top: 1.5rem;
    -webkit-mask-image: url("/media/pw4fcnry/story-main-badge-clip-br.svg");
    mask-image: url("/media/pw4fcnry/story-main-badge-clip-br.svg");
}

.area--hero .card--story-main .card__body{
    gap: var(--idsa-gutter-sm);
    margin: -2.5rem 0 0;
    padding: 0 0 var(--idsa-padding-sm);
    transform: none;
    position: relative;
    z-index: 3;
}

.area--hero .card--story-main h3{
    margin: 0;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-8);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.area--hero .card--story-main .card__body > p{
    margin: 0;
    color: #3A414A;
    font-size: var(--idsa-fs-4);
    line-height: 1.4;
}

.area--hero .area--aside,
.area--hero .area--aside .aside-content{
    gap: var(--idsa-spacing-10);
}

.area--hero .area--ad-1{
    min-height: 17.375rem;
    width: 100%;
}

.area--hero .banner-ad--300x250{
    width: 100%;
    padding: var(--idsa-spacing-4) 0;
    background: transparent;
}

.area--hero .banner-ad__text{
    color: var(--idsa-gray-700);
    /* font-size: var(--idsa-fs-1); */
    line-height: var(--idsa-lh-2);
    letter-spacing: 0;
}

.area--aside .card.card--promo-list .card__header{
    margin: 0;
    padding-top: 0;
    padding-bottom: var(--idsa-spacing-5)
}

.card--promo-list .lead,
.card--browse-by .lead{
    margin: 0;
    color: var(--idsa-green-500);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-6);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
}

.card--promo-list .card__body{
    gap: 0;
    margin: 0;
}

@media (max-width: 966px){
    .area--hero .card--story-main{
        min-height: auto;
    }

    .area--hero .card--story-main h3{
        font-size: var(--idsa-fs-8);
        line-height: var(--idsa-lh-9);
    }

}

@media (max-width: 970px) {
    .area--hero .card--story-main .card__body {
        margin-top: -2.5rem;
        padding: 0;
    }

    /* .area--hero .card--story-main .badge-row::after {
        top: 1.5rem;
    } */

}

@media (max-width: 634px){
    .area--hero .card--story-main .card__body{
        padding: 0;
    }

    .area--hero .area--browse{
        margin-top: 0;
    }

    .area--hero .card--story-main h3{
        font-size: var(--idsa-fs-7);
        line-height: var(--idsa-lh-8);
    }

}

@media (max-width: 768px) {
    .area--hero .card--story-main .card__body {
        margin-top: -44px;
    }
}
@media (max-width: 560px) {
    .area--hero .card--story-main .badge-row::after {
        top: 1.25rem;
    }
}

.area--quiz{grid-area: quiz;}
.area--quiz-container{grid-area: quiz-container; z-index: 2}

.area--topic-grid {
    grid-area: topic-grid;
    position: relative;
    display: grid;
    grid-template-areas:
        "topic-grid__list aside"
        "latest-list aside";
    grid-template-columns: minmax(0, 54.25rem) 18.75rem;
    justify-content: center;
    gap: var(--idsa-spacing-8);
    width: 100%;
    padding: 2.25rem 0 3rem;
}

.area--topic-grid__list {
    grid-area: topic-grid__list;
    min-width: 0;
}

.area--topic-full {
    grid-area: topic-full;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 2.25rem 0 3rem;
    background-color: var(--idsa-green-500);
}

.topic-full__special-section {
    width: 100%;
    display: grid;
}

.area--topic-full .topic-full__special-section {
    width: min(calc(100% - 2rem), 75rem);
    margin-inline: auto;
}

.special-section__inner {
    position: relative;
    z-index: 2;
}

.area--topic-full .special-section__inner {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-spacing-7);
}

.area--topic-full .card__header {
    margin-bottom: 0;
    padding: 2rem 0;
}

.special-section__inner-wrapper{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: var(--idsa-gutter-md);
    align-self: stretch;
}

.specialty-card {
    width: 100%;
    padding: var(--idsa-padding-lg) var(--idsa-padding-smedium);
    align-self: stretch;
}

.area--topic-full .special-section__inner-wrapper {
    gap: var(--idsa-spacing-7);
}

.area--topic-full .specialty-card {
    width: 100%;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.area--topic-full .specialty-card__video-thumbnail {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: .75rem;
    overflow: hidden;
    border-radius: 0;
}

.area--topic-full .specialty-card__video-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--idsa-radius-xl);
}

.area--topic-full .specialty-card__video-thumbnail::after {
    content: attr(data-duration);
    position: absolute;
    right: 1.25rem;
    bottom: .75rem;
    display: inline-flex;
    min-height: 1.625rem;
    align-items: center;
    padding: .375rem;
    color: var(--idsa-green-200);
    background-color: var(--idsa-white);
    border-radius: var(--idsa-radius-sm);
    font-size: .625rem;
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
    pointer-events: none;
}

.area--topic-full .video-play-overlay {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2.5rem;
    height: 2.5rem;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.area--topic-full .video-play-overlay svg {
    display: block;
    width: 100%;
    height: 100%;
}

.area--topic-full .specialty-card .card__body {
    gap: 0;
    padding: 0;
}

.area--topic-full .specialty-card h6 {
    margin-bottom: var(--idsa-padding-xs);
    padding: .375rem 0 .25rem;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.area--topic-full .specialty-card h6 a {
    color: var(--idsa-white);
}

.area--topic-full .specialty-card h6 a:hover {
    color: var(--idsa-white);
}

.area--topic-full .specialty-card .horz-list {
    gap: var(--idsa-spacing-7);
    margin-bottom: 0;
    padding: .25rem 0;
}

.area--topic-full .specialty-card .horz-list__item p {
    color: var(--idsa-white);
    font-size: var(--idsa-fs-2);
    line-height: 1.4;
}

.specialty-card h6, .specialty-card .horz-list {
    margin-bottom: var(--idsa-padding-xs);
}

.area--latest{grid-area: latest;}
.area--latest-list{grid-area: latest-list;}

.area--promo-1{grid-area: promo-1;}
.area--promo-2{grid-area: promo-2;}
.area--ad-1{grid-area: ad-1;}
.area--ad-2{grid-area: ad-2;}
.area--footer{grid-area: footer;}

.area--fwAd-1{grid-area: fw-ad-1;}
.area--fwAd-2{grid-area: fw-ad-2;}

.area--ad-1{position: relative;}

.area--ad-2{
    position: relative;
    /*min-height: 150vh;
    min-height: 150svh;*/
}

.page-layout--home .area--ad-2 {
    min-height: 0;
} 

.page-layout--home .card__header:not(.no-bg) {
    margin-bottom: var(--idsa-padding-md);
}

.page-layout--home .area--topic-full .card__header {
    margin-bottom: 0;
    padding: 2rem 0;
}

.page-layout--home .area--topic-full .card__header h4 {
    color: var(--idsa-white);
    margin-bottom: 0;
    font-family: var(--idsa-body-font);
    font-weight: var(--idsa-fw-bold);
    font-size: var(--idsa-fs-5);
}

.page-layout .area--topic-full .card__header h4 a {
    color: var(--idsa-white);
}

.page-layout--home .area--topic-full .card__header h4 a:hover {
    color: var(--idsa-white);
}

/* Hide the full-width topic module when the CMS renders it without any cards,
   so an empty green band never shows on the home page */
.page-layout--home .area--topic-full:not(:has(.specialty-card)) {
    display: none;
}

@media (max-width: 966px) {
    .page-layout--home {
        grid-template-areas:
            "fw-ad-1 fw-ad-1"
            "spotlights main"
            "spotlights promo-1"
            "spotlights ad-1"
            "spotlights promo-2"
            "browse-specialty browse-specialty"
            "topic-full topic-full"
            "topic-grid__list topic-grid__list"
            "ad-2 ad-2"
            "fw-ad-2 fw-ad-2";
        grid-template-columns: 12.5rem 1fr;
        grid-template-rows: repeat(13, auto);
        grid-gap: var(--idsa-gutter-md);
        /* padding: 0 var(--idsa-padding-md); */
    }

    .area--hero,
    .area--hero .hero__inner,
    .area--hero .hero__lead-grid,
    .area--quiz,
    .area--topic-grid,
    .area--aside,
    .aside-grouping--1, 
    .aside-grouping--2,
    .aside-grouping--2 > .position-sticky{
        display: contents;
    }
    
    .area--ad-1, .area--ad-2{
        min-height: auto;
        min-height: auto;
    }

    .area--main .card--story-main, .area--promo-1 .card--story-quote {
        margin: 0;
    }

    .special-section__inner-wrapper {
        flex-direction: column;
    }
}

@media (max-width: 634px) {
    .page-layout--home{
        grid-template-areas:
            "fw-ad-1"
            "main"
            "spotlights"
            "promo-1"
            "browse-specialty"
            "ad-1"
            "topic-full"
            "promo-2"
            "topic-grid__list"
            "ad-2"
            "latest-list"
            "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: repeat(11, auto);
        padding: 0;
    }

    .area--main .card--story-main, .area--promo-1 .card--story-quote {
        margin: 0;
    }
}
/* ------------------------------ */
/* Layout Template for Home : END */




/* Layout for Section Landing : START */
/* ---------------------------------- */
.page-layout--section-landing{
    grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "sl-hero"
        "topic-grid"
        "fw-ad-2";
    grid-template-columns: 1fr;
}

.area--sl-hero {
    grid-area: sl-hero;
    position: relative;
    display: grid;
    grid-template-areas:
        "page-header page-header page-header"
        "spotlights main aside";
    grid-template-columns: 15.625rem 1fr 18.75rem;
    grid-gap: var(--idsa-gutter-md);
    padding-bottom: 1.5rem;
}

.area--sl-hero .card--story-main, .area--sl-hero .card--story-quote {
    margin-top: 0;
}

.area--sl-hero .card--story-quote, .area--sl-hero .card--story-quote:after {
    background-color: var(--idsa-bg-grey);
}


@media (max-width: 966px) {
     .page-layout--section-landing {
        grid-template-areas:
            "fw-ad-1 fw-ad-1"
            "breadcrumb breadcrumb"
            "page-header page-header"
            "spotlights main"
            "spotlights promo-1"
            "spotlights ad-1"
            "topic-grid__list topic-grid__list"
            "promo-2 promo-2"
            "ad-2 ad-2"
            "fw-ad-2 fw-ad-2";
        grid-template-columns: 12.5rem 1fr;
        grid-template-rows: repeat(13, auto);
        grid-gap: var(--idsa-gutter-md);
        padding: 0 var(--idsa-padding-md);
    }

    .area--hero,
    .area--hero .hero__inner,
    .area--hero .hero__lead-grid,
    .area--sl-hero,
    .area--quiz,
    .area--page-header_header,
    .area--page-submenu,
    .area--latest,
    .aside-grouping--1, 
    .aside-grouping--2,
    .aside-grouping--2 > .position-sticky{
        display: contents;
    }
    
    .area--ad-1, .area--ad-2{
        min-height: auto;
        min-height: auto;
    }

    .area--main .card--story-main, .area--promo-1 .card--story-quote {
        margin: 0;
    }

}

@media (max-width: 634px) {
    .page-layout--section-landing{
        grid-template-areas:
            "fw-ad-1"
            "breadcrumb"
            "page-header"
            "main"
            "spotlights"
            "promo-1"
            "ad-1"
            "topic-grid__list"
            "promo-2"
            "ad-2"
            "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: repeat(11, auto);
        padding: 0 var(--idsa-padding-md);
    }

    .area--main .card--story-main, .area--promo-1 .card--story-quote {
        margin: 0;
    }
}
/* -------------------------------- */
/* Layout for Section Landing : END */




/* Listing Layout : START */
/* ---------------------- */
.page-layout--listing{
    grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "page-header"
        "hero"
        "listing"
        "fw-ad-2";
    grid-template-columns: 1fr;
}

/* Some listing templates insert a full-width topic module between the hero and
   the article list. Keep that as an optional slot in the shared layout rather
   than creating a second listing-layout modifier. */
.page-layout--listing:has(> .area--topic-full) {
    grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "page-header"
        "hero"
        "topic-full"
        "listing"
        "fw-ad-2";
}

.page-layout--listing .listing {
    grid-area: listing;
    position: relative;
    margin-block: var(--idsa-padding-lg);
    display: grid;
    grid-template-areas:
        "list-container aside";
    grid-template-columns: 1fr 18.875rem;
    grid-template-rows: auto 1fr;
    align-items: start;
    grid-gap: var(--idsa-gutter-md) var(--idsa-gutter-md);
    padding-bottom: var(--idsa-gutter-xl);
}

.page-layout--listing .article__list-container {
    grid-area: list-container;
    min-width: 0;
}

.area--listing .card--promo-list {
    margin-top: 0;
}

.page-layout--listing .area--hero .hero__inner {
    display: grid;
    grid-template-areas:
        "hero-lead aside";
}

@media (max-width: 970px) {
    .page-layout--listing .listing > .area--aside {
        justify-items: center;
    }

    .page-layout--listing .listing > .area--aside .banner-ad--300x250 {
        width: 18.75rem;
        max-width: 100%;
        margin-inline: auto;
    }

    .page-layout--listing:has(> .area--hero) {
        grid-template-areas:
        "fw-ad-1 fw-ad-1"
        "breadcrumb breadcrumb"
        "page-header page-header"
        "spotlights main"
        "spotlights ad-1"
        "spotlights promo-2"
        "browse-specialty browse-specialty"
        "list-container list-container"
        "ad-2 ad-2"
        "fw-ad-2 fw-ad-2";
        grid-template-columns: 12.5rem minmax(0, 1fr);
        grid-template-rows: repeat(10, auto);
        grid-gap: var(--idsa-gutter-md) var(--idsa-gutter-md);
    }

    .page-layout--listing:has(> .area--hero) > .area--hero,
    .page-layout--listing:has(> .area--hero) > .area--hero .hero__inner,
    .page-layout--listing:has(> .area--hero) > .area--hero .hero__lead-grid,
    .page-layout--listing:has(> .area--hero) > .area--hero .area--aside,
    .page-layout--listing:has(> .area--hero) > .area--hero .aside-grouping--1 {
        display: contents;
    }

    .page-layout--listing:has(> .area--hero) .listing,
    .page-layout--listing:has(> .area--hero) .listing .area--aside,
    .page-layout--listing:has(> .area--hero) .listing .aside-grouping--1 {
        display: contents;
    }

    /* Weekly News: the flattened hero cards participate in the listing grid. */
    .page-layout--listing:has(.hero__lead-grid--mixed) {
        grid-template-areas:
            "fw-ad-1 fw-ad-1"
            "breadcrumb breadcrumb"
            "page-header page-header"
            "landing-mixed-1 landing-mixed-2"
            "landing-mixed-3 landing-mixed-4"
            "landing-mixed-5 ."
            "ad-1 ad-1"
            "promo-2 promo-2"
            "list-container list-container"
            "ad-2 ad-2"
            "fw-ad-2 fw-ad-2";
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(11, auto);
    }

    .page-layout--listing:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(1) { grid-area: landing-mixed-1; }
    .page-layout--listing:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(2) { grid-area: landing-mixed-2; }
    .page-layout--listing:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(3) { grid-area: landing-mixed-3; }
    .page-layout--listing:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(4) { grid-area: landing-mixed-4; }
    .page-layout--listing:has(.hero__lead-grid--mixed) .hero__lead-grid--mixed > .specialty-card:nth-child(5) { grid-area: landing-mixed-5; }

    .page-layout--listing:not(:has(> .area--hero)) {
        grid-template-areas:
            "fw-ad-1"
            "breadcrumb"
            "page-header"
            "listing"
            "fw-ad-2";
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: repeat(5, auto);
    }

    .page-layout--listing:not(:has(> .area--hero)) .listing {
        grid-template-areas:
            "list-container"
            "aside";
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }

    .page-layout--listing:not(:has(> .area--hero)) .listing .area--aside,
    .page-layout--listing:not(:has(> .area--hero)) .listing .aside-grouping--1,
    .page-layout--listing:not(:has(> .area--hero)) .listing .aside-grouping--2,
    .page-layout--listing:not(:has(> .area--hero)) .listing .aside-grouping--2 > .position-sticky {
        display: grid;
    }
}

@media (max-width: 634px) {
    .page-layout--listing:has(> .area--hero) {
        grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "page-header"
        "main"
        "spotlights"
        "browse-specialty"
        "ad-1"
        "promo-2"
        "list-container"
        "ad-2"
        "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: repeat(11, auto);
        padding: 0 var(--idsa-padding-md);
    }

    .page-layout--listing:has(.hero__lead-grid--mixed) {
        grid-template-areas:
            "fw-ad-1 fw-ad-1"
            "breadcrumb breadcrumb"
            "page-header page-header"
            "landing-mixed-1 landing-mixed-2"
            "landing-mixed-3 landing-mixed-4"
            "landing-mixed-5 ."
            "ad-1 ad-1"
            "promo-2 promo-2"
            "list-container list-container"
            "ad-2 ad-2"
            "fw-ad-2 fw-ad-2";
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(11, auto);
    }
}

/* Listing asides are reserved for the sticky ad placement. Recommended
   content belongs with the hero aside, where it travels with the hero ad. */
/* .page-layout--listing .listing .area--promo-2,
.page-layout--listing .listing .aside-grouping--2 {
    display: none;
} */

/* ----------------------------------------- */
/* Listing Layout : END */



/* Layout for Subpages : START */
/* --------------------------- */
.page-layout--subpage {
    grid-template-areas: 
        "fw-ad-1"
        "breadcrumb"
        "page-header"
        "section-1"
        "section-2"
        "fw-ad-2";
    grid-template-columns: 1fr;
}

.area--section {
    grid-area: section-1;
    position: relative;
    display: grid;
    grid-template-areas:
        "container-1"
        "container-2";
    grid-gap: var(--idsa-gutter-md);
    height: 100%;
    grid-template-rows: auto auto auto 1fr;
}

.area--breadcrumb{
    grid-area: breadcrumb;
    margin-bottom: var(--idsa-padding-smedium);
}
.area--header {
    display: grid;
    grid-area: page-header;
    grid-template-areas:
        "page-header_header"
        "submenu";
    grid-gap: var(--idsa-gutter-md);
    height: 100%;
    grid-template-columns: 1fr;
}
.area--page-header_header{grid-area: page-header_header;}
.area--page-submenu{grid-area: submenu;}
.area--container-1{grid-area: container-1;}
.area--container-2{grid-area: container-2;}
.area--related-content{
    grid-area: related-content;
    justify-self: center;
    width: 100%;
    max-width: 75rem;
}

.related-content {
    display: grid;
    gap: var(--idsa-spacing-8);
    width: 100%;
    border-radius: var(--idsa-radius-2xl);
}

.related-content__header {
    display: flex;
    align-items: center;
    gap: var(--idsa-spacing-1);
    width: 100%;
    padding: var(--idsa-spacing-6) 0;
    overflow: hidden;
}

.related-content__title {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-7);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.2;
}

.related-content__articles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--idsa-spacing-9);
    width: 100%;
}

.related-content__story {
    position: relative;
    display: grid;
    align-content: start;
    width: 100%;
    min-width: 0;
    padding: var(--idsa-spacing-10) 0;
    border-top: 1px solid var(--idsa-gray-400);
    background: transparent;
}

.related-content__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem var(--idsa-spacing-5);
    margin: 0;
    padding: 0 0 var(--idsa-spacing-1);
}

.related-content__badge {
    display: inline-flex;
    min-height: 1.6875rem;
    align-items: center;
    justify-content: center;
    padding: .375rem .75rem;
    color: var(--text-primary);
    background-color: #DDF1DD;
    border: 0;
    border-radius: var(--idsa-radius-round);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-bold);
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: uppercase;
}

.related-content__story-title {
    margin: 0;
    padding: var(--idsa-spacing-4) 0 var(--idsa-spacing-3);
    color: var(--text-primary);
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-7);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.related-content__story-title a {
    color: inherit;
    text-decoration: none;
}

.related-content__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-spacing-7);
    margin: 0;
    padding: var(--idsa-spacing-1) 0;
    color: var(--text-tertiary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1.4;
    list-style: none;
    text-transform: uppercase;
}

.related-content__summary {
    margin: 0;
    padding-top: var(--idsa-spacing-4);
    color: var(--text-secondary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
}

@media (max-width: 767px) {
    .related-content__articles {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .related-content__story {
        padding: var(--idsa-spacing-8) 0;
    }
}

.area--container-1 .pagination {
    display: inline-flex !important;
    align-items: stretch;
    justify-content: flex-start;
    width: auto;
    max-width: 100%;
}

.area--container-1 .pagination .page-item {
    flex: 0 0 auto;
}

.area--container-1 .pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 3.25rem;
    min-height: 2.5rem;
    white-space: nowrap;
}
/* ------------------------- */
/* Layout for Subpages : END */



/* Information Page Styles : START */
/* ------------------------------- */
.page-layout--information {
    display: grid;
    grid-template-areas:
        "fw-ad-1         fw-ad-1"
        "breadcrumb      breadcrumb"
        "information     aside"
        "fw-ad-2         fw-ad-2";
    grid-template-columns: 1fr 18.875rem;
    grid-template-rows: auto 1fr;
    /* align-items: start; */
    grid-gap: var(--idsa-gutter-md) var(--idsa-gutter-md);
    padding-bottom: var(--idsa-gutter-xl);
}

.page-layout--information .information{
    grid-area: information;
    position: relative;
    display: grid;
    grid-template-areas:
        "info-header"
        "info-body-1"
        "info-body-2"
        "info-body-3";
    padding: 0;
    grid-auto-rows: max-content;
}

.page-layout--information .information > *{
    padding-left: 0;
    padding-right: 0;
}

.page-layout--information .info-body--1 p, .page-layout--information .info-body--2 p, .page-layout--information .info-body--3 p {
    margin-bottom: var(--idsa-padding-md);
}

.board-of-editors {
    margin-bottom: var(--idsa-padding-md);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gutter--smedium, 16px);
    align-self: stretch;
}

.board-of-editors .list-item {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--idsa-gutter-xs);
    border-bottom: 0px solid transparent;
}

.board-of-editors .list-item p:first-of-type {
    font-style: italic;
}

.board-of-editors .list-item p {
    margin: 0;
}

.info-header{
    grid-area: info-header;
    margin-bottom: var(--idsa-padding-lg);
}

.info-header h1{
    margin-bottom: 0;
}

.information h5{
    margin-top: var(--idsa-padding-xl);
}

.information h5:first-of-type{
    margin-top: 0;
}

.info-body--1{grid-area: info-body-1;}
.info-body--1 .list-card.thumb-first {
    margin-bottom: var(--idsa-padding-md);
    align-items: flex-start;
    gap: var(--idsa-padding-lg);
    border-radius: 0;
    border-bottom: 1px solid var(--border-regular);
}
.info-body--1 .list-card .thumbnail--article {
    max-width: 200px;
    height: 220px;
}
.info-body--1 .list-card .thumbnail--article img {
    height: 220px;
}
.info-body--1 .list-card .card__body p {
    overflow: visible;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: none;
}

.info-body--2{grid-area: info-body-2;}
.info-body--3{grid-area: info-body-3;}

@media (max-width: 970px) {
    .page-layout--information {
        grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "info-header"
        "info-body-1"
        "ad-1"
        "info-body-2"
        "ad-2"
        "info-body-3"
        "promo-1"
        "promo-2"
        "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: repeat(10, auto);
    }

    .page-layout--information .information,
    .page-layout--information .area--aside{
        display: contents;
    }

    .page-layout--information .area--ad-1 , .page-layout--information .area--ad-2 {
        margin-bottom: calc(-1 * var(--idsa-gutter-xl));
        padding: var(--idsa-padding-xl) var(--idsa-padding-article-body);
        padding-top: calc(var(--idsa-padding-xl) - .25rem);
        background-color: var(--background-primary);
    }

    .list-card .thumbnail--article {
        display: none;
    }
}

@media (max-width: 560px) {
    .page-layout--article .article .aga-tabs__panel{
        padding-left: var(--idsa-padding-article-body);
        padding-right: var(--idsa-padding-article-body);
    }
}


/* ------------------------------- */
/* Information Page Styles : END */


/* Article Page Styles : START */
/* --------------------------- */
.page-layout--article {
    display: grid;
    grid-template-areas:
        "fw-ad-1        fw-ad-1"
        "breadcrumb     breadcrumb"
        "article        aside"
        "list-container aside"
        "related-content related-content"
        "fw-ad-2        fw-ad-2";
    grid-template-columns: minmax(0, 1fr) 18.875rem;
    grid-template-rows: auto 1fr;
    grid-gap: var(--idsa-gutter-md) var(--idsa-gutter-md);
    padding-bottom: var(--idsa-gutter-xl);
}

.page-layout--article .article {
    grid-area: article;
    position: relative;
    display: grid;
    min-width: 0;
    /*grid-template-areas:
    "article-header"
    "article-body-1"
    "article-body-2"
    "article-body-3";*/
    grid-template-areas:
    "article-header"
    "article-body";
    padding: 0;
    margin-bottom: var(--idsa-padding-xl);
}

 .article.video-article{
    padding: 0;
 }

.page-layout--article .article > *{
    min-width: 0;
    padding-left: 0 0 var(--idsa-padding-lg) 0;
    padding-right: var(--idsa-padding-lg);
}

.page-layout--article .article > :first-child{
    padding: 0 0 var(--idsa-padding-md) 0;
    border-radius: var(--idsa-radius-md) var(--idsa-radius-md) 0 0; 
}

.page-layout--article .article .aga-tabs__panel, .page-layout--article .area--list-container .article__references, .page-layout--article .area--list-container .article__about-author {
    padding-left: var(--idsa-padding-lg);
    padding-right: var(--idsa-padding-lg);
}

.page-layout--article .article .panel-full-article--3, .panel-summary, .panel-takeaways, .panel-kol {
    padding-bottom: var(--idsa-padding-xl);
}

.page-layout--article .article .panel-full-article--3{
    border-radius:  0 0 var(--idsa-radius-md) var(--idsa-radius-md); 
}

.page-layout--article .aga-tabs__panel h2 {
    margin-top: 2.5rem;
}

.page-layout--article .aga-tabs__panel h3 {
    margin-top: 2rem;
}

.page-layout--article .aga-tabs__panel h4 {
    margin-top: 1.5rem;
}

.page-layout--article .aga-tabs__panel h5 {
    margin-top: 1rem;
}

.page-layout--article .aga-tabs__panel h6 {
    margin-top: .75rem;
}

.page-layout--article .aga-tabs__panel p {
    margin-bottom: 1rem;
}

.page-layout--article:first-child .aga-tabs__panel h2:first-child, .page-layout--article:first-child .aga-tabs__panel h3:first-child, .page-layout--article:first-child .aga-tabs__panel h4:first-child, .page-layout--article:first-child .aga-tabs__panel h5:first-child, .page-layout--article:first-child .aga-tabs__panel h6:first-child {
    margin-top: 0;
}

.panel-full-article--1, .panel-summary, .panel-takeaways, .panel-kol{
    padding-top: var(--idsa-padding-md);
}

.article .article__header{
    grid-area: article-header; 
    border: none;
    margin: 0;
}

.article-body-grid > *, .article__body-grid > *{
    padding-left: var(--idsa-padding-md);
}

.article__aside {
    padding: 0;
} 

.article__aside .sticky-top{
    display: inline-grid;
    gap: var(--idsa-spacing-6);
}

.panel-full-article--1{grid-area: article-body-1;}
.panel-full-article--2{grid-area: article-body-2;}
.panel-full-article--3{grid-area: article-body-3;}
.area--list-container {grid-area: list-container;}


.aga-tabs--article {
    margin: .5rem 0 0 0;
}

.aga-tabs--article .aga-tabs__list {
    padding: 0 0;
}

.panels--article-body {
    padding: 0 var(--idsa-padding-xxl);
}


.area--list-container{
    gap: var(--idsa-gutter-sm);
}

.area--list-container h2, .area--list-container h3, .area--list-container h4, .area--list-container h5{
    margin-top: var(--idsa-padding-lg);
    margin-bottom: var(--idsa-gutter-xs);
}

.area--list-container h2:first-of-type, .area--list-container h3:first-of-type, .area--list-container h4:first-of-type, .area--list-container h5:first-of-type{
    margin-top: 0;
}

.list-card {
    display: flex;
    flex-direction: row;
    min-height: 9.375rem;
    padding: 0;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--idsa-padding-lg);
    border-radius: 0 var(--idsa-radius-xl) 0 0;
    align-self: stretch;
}

/* Handles semantic-cleaner code w/o duplicating/creating new list-card type */
.list-card.thumb-first {
    align-items: center;
    gap: var(--idsa-padding-sm);
    border-radius: 0;
}
.list-card.thumb-first .thumbnail--article { order: 1; width: 300px }
.list-card.thumb-first .card__body { order: 2; }
.list-card.thumb-first .time-stamp { order: 3; }

.list-card .time-stamp {
    order: 1;
}

.list-card .time-stamp .caption {
    margin: 0;
}

.list-card .card__body {
    margin: 2px 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    order: 2;
}

.list-card .thumbnail--article {
    aspect-ratio: 16/9;
    order: 3;
    width: 200px;
    height: auto;
    flex-shrink: 0;
}

.list-card .thumbnail--article img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 0;
    transition: .2s ease-in-out;
}

.list-card .card__body h4, .list-card .card__body h5, .list-card .card__body h6{
    margin-bottom: 0;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.list-card .card__body p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.list-card .horz-list__item p {
    font-size: var(--idsa-fs-2);
    color: var(--text-tertiary);
    text-transform: none;
}

.list-card .article__header-badges {
    display: flex;
    gap: var(--idsa-gutter-sm);
    padding: 0;
    flex-wrap: wrap;
}

@media (max-width: 970px) {
    .page-layout--article {
        grid-template-areas:
        "fw-ad-1"
        "breadcrumb"
        "article"
        "playlist"
        "ad-1"
        "promo-2"
        "ad-2"
        "list-container"
        "related-content"
        "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .page-layout--article .article{
        display: grid;
    }

    .page-layout--article .area--aside,
    .page-layout--article .aside-grouping--1,
    .page-layout--article .aside-grouping--2,
    .page-layout--article .aside-grouping--2 > .position-sticky {
        display: contents;
    }

    .page-layout--article .area-playlist {
        grid-area: playlist;
    }

    .page-layout--article .area--aside .position-sticky {
        position: static;
        top: auto;
    }   

    .page-layout--article .article {
        margin-bottom: 0;
    }

    .page-layout--article .article > * {
        padding-left: var(--idsa-padding-lg);
        padding-right: var(--idsa-padding-lg);
    }

    .page-layout--article .article > :first-child {
        /* padding-top: var(--idsa-padding-lg); */
        padding-bottom: var(--idsa-padding-md);
    }

    .page-layout--article .action-bar__panel,
    .page-layout--article .article .aga-tabs__panel,
    .page-layout--article .area--list-container .article__references,
    .page-layout--article .area--list-container .article__about-author {
        padding-left: var(--idsa-padding-lg);
        padding-right: var(--idsa-padding-lg);
    }

    .action-bar--article {
        --action-bar-inline-padding: var(--idsa-padding-lg);
    }

    .action-bar--article .action-bar__list {
        padding-left: calc(var(--action-bar-scroll-btn-size) + var(--idsa-spacing-4));
        padding-right: calc(var(--action-bar-scroll-btn-size) + var(--idsa-spacing-4));
        gap: var(--idsa-spacing-6);
    }

    .article__header-title {
        font-size: 2.125rem;
    }

    .article__teaser,
    .article__teaser p,
    .article__teaser ul,
    .article__teaser li {
        font-size: 1.0625rem;
    }

    .action-bar__footer-buttons {
        flex-wrap: wrap;
    }

    .action-bar__footer-buttons div:first-child {
        margin-right: 0;
        width: 100%;
    }

    .list-card .thumbnail--article {
        /*aspect-ratio: 16/9;
        order: 1;
        width: 115px;*/
        display: none;
    }

}

@media (min-width: 971px) {
    .cinema-mode .page-layout.page-layout--article:has(.article__video) {
        grid-template-areas:
            "fw-ad-1          fw-ad-1"
            "breadcrumb       breadcrumb"
            "article-header   article-header"
            "article-panels   aside"
            "list-container   aside"
            "related-content  related-content"
            "fw-ad-2          fw-ad-2";
        grid-template-columns: minmax(0, 1fr) 18.875rem;
    }

    .cinema-mode .page-layout.page-layout--article:has(.article__video) > .article {
        display: contents;
    }

    .cinema-mode .page-layout.page-layout--article:has(.article__video) .action-bar__panel {
        grid-area: article-panels;
        min-width: 0;
    }
}


@media (max-width: 560px) {
    .page-layout--article .article > *,
    .page-layout--article .article .action-bar__panel,
    .page-layout--article .article .aga-tabs__panel,
    .page-layout--article .area--list-container .article__references,
    .page-layout--article .area--list-container .article__about-author {
        padding-left: var(--idsa-padding-article-body);
        padding-right: var(--idsa-padding-article-body);
    }

    .page-layout--article .article > :first-child {
        padding-top: 0;
    }

    .action-bar--article {
        --action-bar-inline-padding: var(--idsa-padding-article-body);
    }

    .action-bar--article .action-bar__list {
        padding-left: calc(var(--action-bar-scroll-btn-size) + var(--idsa-spacing-3));
        padding-right: calc(var(--action-bar-scroll-btn-size) + var(--idsa-spacing-3));
        gap: var(--idsa-spacing-6);
    }

    .article__header-title {
        font-size: 1.75rem;
        line-height: 1.15;
    }

    .article__teaser,
    .article__teaser p,
    .article__teaser ul,
    .article__teaser li {
        font-size: 1rem;
    }
}

.card--browse-by {
    width: 100%;
    padding: 0;
    gap: var(--idsa-spacing-6);
    background: transparent;
    border: 0;
    border-radius: 0;
}

.card--browse-by .card__header {
    min-height: 3.75rem;
    padding: var(--idsa-spacing-6) 0;
    margin-bottom: 0;
    gap: var(--idsa-spacing-5);
    justify-content: flex-start;
    border-bottom: 1px solid var(--idsa-gray-400);
}

.browse-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--idsa-spacing-8);
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

.browse__list-item {
    min-height: 4rem;
    padding: 0;
    margin-bottom: 0;
    text-align: left;
    background: var(--idsa-gray-50);
    border: 1px solid var(--idsa-gray-50);
    border-radius: var(--idsa-radius-md);
    display: flex;
    align-items: stretch;
}

.browse__list-item:hover {
    background: var(--idsa-gray-100);
    border-color: var(--idsa-gray-100);
}

.browse__list-link {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    width: 100%;
    gap: var(--idsa-spacing-5);
    margin: 0;
    font-size: var(--idsa-fs-3);
    color: var(--idsa-green-500);
    font-weight: var(--idsa-fw-semibold);
    line-height: var(--idsa-lh-5);
    text-decoration: none;
    border: none;
    transition: all .15s ease-in-out;
    padding: var(--idsa-spacing-5) var(--idsa-spacing-6);
    border-radius: var(--idsa-radius-md);
}

.browse__list-icon,
.browse__list-link > img {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--idsa-green-500);
    font-size: 2rem;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 40;
    line-height: 2.5rem;
    text-align: center;
}

.browse__list-link > img {
    object-fit: contain;
}

.browse__list-icon--filled {
    font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 40;
}

@media (max-width: 966px){
    .browse-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .browse__list-icon,
    .browse__list-link > img {
        flex-basis: 1.75rem;
        width: 1.75rem;
        height: 1.75rem;
        font-size: 1.5rem;
        line-height: 1.75rem;
    }
}

@media (max-width: 634px){
    .browse-list {
        grid-template-columns: 1fr;
        gap: var(--idsa-spacing-5);
    }

    .browse-list.expandable-list__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 440px){
    .browse-list.expandable-list__items {
        grid-template-columns: 1fr;
    }
}

.article-content figure,
.article__figure{
    width: 100%;
    margin: 0 0 var(--idsa-spacing-6) 0;
}

.article-content figure.full-width,
.article-content figure.article__figure--full-width,
.article__figure.full-width,
.article__figure.article__figure--full-width{
    display: block;
    float: none;
    clear: both;
    max-width: 100%;
    margin-bottom: var(--idsa-spacing-8);
}

.article-content figure.float-left,
.article-content figure.article__figure--float-left,
.article__figure.float-left,
.article__figure.article__figure--float-left{
    display: inline-block;
    float: left;
    width: 100%;
    max-width: 350px;
    margin: 0 var(--idsa-padding-smedium) var(--idsa-padding-xs) 0;
}

.article-content figure.float-right,
.article-content figure.article__figure--float-right,
.article__figure.float-right,
.article__figure.article__figure--float-right{
    display: inline-block;
    float: right;
    width: 100%;
    max-width: 350px;
    margin: 0 0 var(--idsa-padding-xs) var(--idsa-padding-smedium);
}

.article-content figure > .fig-img-container,
.article__figure > .fig-img-container{
    display: grid;
    align-items: center;
    width: 100%;
}

.article-content figure .fig-img-container .fig-img,
.article__figure .fig-img-container .fig-img{
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    border-radius: var(--idsa-radius-2xl);
    overflow: hidden;
}

.article-content figure .fig-img-container .fig-img .expand-overlay,
.article__figure .fig-img-container .fig-img .expand-overlay{
    position: absolute;
    top: var(--idsa-padding-md);
    right: var(--idsa-padding-md);
    opacity: 0;
    display: flex;
    align-items: center;
    padding: var(--idsa-spacing-1);
    gap: var(--idsa-spacing-1);
    line-height: 1;
    border-radius: var(--idsa-radius-sm);
    background: color-mix(in srgb, var(--idsa-black) 78%, transparent);
    transition: opacity .2s ease-in-out;
    pointer-events: none;
}

.article-content figure .fig-img-container .fig-img:hover .expand-overlay,
.article-content figure .fig-img-container .fig-img:focus-visible .expand-overlay,
.article__figure .fig-img-container .fig-img:hover .expand-overlay,
.article__figure .fig-img-container .fig-img:focus-visible .expand-overlay{
    opacity: 1;
}

.article-content figure .fig-img-container .fig-img .expand-overlay svg,
.article__figure .fig-img-container .fig-img .expand-overlay svg{
    width: var(--idsa-spacing-5);
    height: var(--idsa-spacing-5);
    flex: 0 0 auto;
}

.article-content figure .fig-img-container .fig-img .expand-overlay svg path,
.article__figure .fig-img-container .fig-img .expand-overlay svg path{
    fill: var(--article-lightbox-text-color, var(--text-primary-contrastText));
}

.article-content figure .fig-img-container .fig-img .expand-overlay p,
.article__figure .fig-img-container .fig-img .expand-overlay p{
    margin: 0 0 0 var(--idsa-gutter-xxs);
    font-size: var(--idsa-fs-1);
    font-weight: var(--idsa-fw-medium);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--article-lightbox-text-color, var(--text-primary-contrastText));
}

.article-content figure .fig-img-container img,
.article__figure .fig-img-container img,
.article-content figure > img,
.article__figure > img{
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.article__callout.float-left{
    width: 100%;
    max-width: 403px;
    display: inline-block;
    margin: 0 var(--idsa-padding-smedium) var(--idsa-padding-xs) calc(var(--idsa-padding-smedium) * -2);;
    float: left;
}

.article__callout.float-right{
    width: 300px;
    display: inline-block;
    margin: 0 0 .25rem 1rem;
    float: right;
}

@media (max-width: 750px) {
    .article__callout.float-left, .article__callout.float-right, .article__figure.float-left, .article__figure.float-right, .article__figure.article__figure--float-left, .article__figure.article__figure--float-right{
        width: 100%;
        max-width: 100%;
        margin: 0 0 1rem 0;
    }
}

/* --------------------------- */
/* Article Page Styles : END */



/* Archive Page Styles : START */
/* --------------------------- */

.card--archive {
    max-width: 319px;
}

.cover-widget{
    display: grid;
    grid-template-rows: 1fr auto;
    position: relative;
    overflow: hidden;   
    /* height: 100%; */
    height: auto%;
    text-decoration: none;
}

.cover-widget:hover{
    text-decoration: none;
}

.cover-widget__top{
    display: flex;
    position: relative;
    padding: 0;
    width: 100%;
    height: 100%;
    min-height: 300px;
    overflow: hidden;
}

.cover-widget__top-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 1.5rem 2rem;
    margin: auto;
    position: relative;
/*    position: absolute;*/
    z-index: 2;
}

.cover-widget .card__header {
    padding: 0;
}

.cover-widget .card__header-title{
    color: white;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.85));
}

.cover-widget__cover-image{
    width: 100%;
    max-width: 300px;
    transition: .2s ease-in-out;
}

.cover-widget:hover .cover-widget__cover-image{
    transform: scale(1.02);
    transition: .2s ease-in-out;
}

.cover-widget__cover-bg{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;  
    height: 100%;
    z-index: 1;
    background-color: var(--idsa-bg-grey);
    overflow: hidden;
}

.cover-widget__cover-bg::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;  
    height: 100%;
    z-index: 2;
    background: linear-gradient(180deg, rgba(228, 231, 234, 0.00) 0%, rgba(228, 231, 234, 0.38) 30.05%, rgba(228, 231, 234, 0.50) 60.1%, var(--Utility-Grey-10, #E4E7EA) 100%);
}

.cover-widget__cover-bg-img{
    position: relative;
    z-index: 1;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;
    transform: scale(1.65);
    transition: .25s ease-in-out;
    border-radius: .5rem .5rem 0 0;
}

.cover-widget__info{
    display: flex;
    gap: .5rem 0;
    padding: 1rem;
    justify-content: center;
    align-items: center;
    background: var(--idsa-bg-grey);
}

.cover-widget__info span{
    font-size: .9rem;
}

.cover-widget__info span, .cover-widget__info-item{
    color: var(--text-primary);
    margin: 0 0 0 .5rem;
    padding: 0 0 0 .5rem;
    border-left: 1px solid white;
    line-height: 1;
    break-inside: avoid-column;
    text-align: center;
}

.cover-widget__info-item{
    font-size: .875rem;
}

.cover-widget__info span:first-child, .cover-widget__info p:first-child{
    margin: 0;
    padding: 0 ;
    border-left: 0px solid transparent;
}


.grid--covers.grid--12col{
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}

/* ------------------------- */
/* Archive Page Styles : END */




/* Meeting Page Styles : START */
/* --------------------------- */
.page-layout--meeting {
    gap: var(--idsa-gutter-lg);
    grid-template-areas:
        "fw-ad-1            fw-ad-1"
        "breadcrumb         breadcrumb"
        "page-header        page-header"
        "landing-feature    landing-feature"
        "landing-header     landing-header"
        "meeting-1          meeting-2"
        "meeting-3          meeting-4"
        "ad-1               ad-1"
        "meeting-5          meeting-6"
        "ad-2               ad-2"
        "promo-1            promo-1"
        "promo-2            promo-2"
        'topic-grid__list   topic-grid__list'
        "fw-ad-2            fw-ad-2";
    grid-template-columns: 1fr 1fr;
    padding-top: var(--idsa-padding-lg);
    padding-bottom: var(--idsa-padding-lg);
}

.page-layout--meeting.list-view {
    grid-template-areas:
        "fw-ad-1            fw-ad-1"
        "breadcrumb         breadcrumb"
        "page-header        page-header"
        "landing-feature    landing-feature"
        "landing-header     landing-header"
        "meeting-1          meeting-1"
        "meeting-2          meeting-2"
        "ad-1               ad-1"
        "meeting-3          meeting-3"
        "meeting-4          meeting-4"
        "meeting-5          meeting-5"
        "meeting-6          meeting-6"
        "ad-2               ad-2"
        "promo-1            promo-1"
        "promo-2            promo-2"
        'topic-grid__list   topic-grid__list'
        "fw-ad-2            fw-ad-2";
}

.landing__feature {grid-area: landing-feature;}

.meeting__grid {
    display: contents;
}

.landing__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    position: relative;

    border-radius: var(--idsa-radius-2xl) 0 0 0;
    background: var(--idsa-bg-grey);
}

.landing__image-container {
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
}

.landing__image--contain {
    object-fit: contain;
}

.landing__feature .landing__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--idsa-gutter-sm);
    align-self: stretch;
    order: 1;
}

.landing__content .landing__title {
    margin-bottom: 0;
}

.landing__content .article__header-badges {
    padding: var(--idsa-padding-xs) 0;
}

.landing__feature .landing__image-container {
    width: 100%;
    order: 2;
}

.landing__feature-horizontal .landing__image-container {
    aspect-ratio: 16 / 9;
}

.landing__header {
    grid-area: landing-header;
    align-items: center;
    display: flex;
    gap: var(--idsa-gutter-md);
}

.landing__header .landing__title {
    font-size: var(--idsa-fs-h4-global);
    margin: 0;
}

.area--meeting-grid .landing__header {
    gap: var(--idsa-gutter-sm);
}

.area--meeting-grid .meeting__calendar-link {
    min-height: 0;
    padding: 0;
}

.area--meeting-grid .meeting__view-toggle {
    gap: var(--idsa-gutter-md);
    padding: 0;
    background-color: transparent;
}

.area--meeting-grid .meeting__view-toggle .btn--icon-only {
    display: inline-flex;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    min-height: 1.5rem;
    align-items: center;
    justify-content: center;
}

.area--meeting-grid .meeting__view-toggle .btn-check:checked + .btn--icon-only {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    min-height: 3rem;
    background-color: var(--btn-primary);
    border-radius: var(--idsa-radius-round);
    color: var(--text-primary-contrastText);
    box-shadow: none;
}

/* Meeting landing module used within the shared listing template. */
.area--meeting-grid {
    grid-area: hero;
    display: grid;
    grid-template-areas:
        "landing-feature aside"
        "landing-header aside"
        "meeting-grid aside"
        "landing-header-2 aside"
        "meeting-grid-2 aside";
    grid-template-columns: minmax(0, 1fr) 18.75rem;
    gap: var(--idsa-gutter-lg);
    margin-block: var(--idsa-padding-lg);
    margin-inline: auto;
}

.area--meeting-grid .landing__feature {
    grid-area: landing-feature;
}

.area--meeting-grid .landing__header {
    grid-area: landing-header;
}

.area--meeting-grid .meeting__grid {
    display: grid;
    grid-area: meeting-grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--idsa-gutter-lg);
}

.area--meeting-grid .landing__header--upcoming {
    grid-area: landing-header-2;
}

.area--meeting-grid .meeting__grid--upcoming {
    grid-area: meeting-grid-2;
}

.area--meeting-grid .meeting__grid.is-list-view {
    grid-template-columns: minmax(0, 1fr);
}

/* The meeting grid reuses the standard secondary-story card. In list view,
   only the card placement changes: copy stays left and its thumbnail moves right. */
@media (min-width: 768px) {
    .area--meeting-grid .meeting__grid.is-list-view > .card--story-secondary {
        display: grid;
        grid-template-areas: "content thumbnail";
        grid-template-columns: minmax(0, 1fr) minmax(12.5rem, 18.75rem);
        column-gap: var(--idsa-gutter-lg);
        align-items: center;
    }

    .area--meeting-grid .meeting__grid.is-list-view > .card--story-secondary > .card__body {
        grid-area: content;
        order: unset;
    }

    .area--meeting-grid .meeting__grid.is-list-view > .card--story-secondary > .thumbnail--article {
        grid-area: thumbnail;
        order: unset;
        margin-bottom: 0;
    }
}

.area--meeting-grid > .area--aside {
    grid-area: aside;
    width: 18.75rem;
}

@media (max-width: 970px) {
    .page-layout--listing:has(> .area--meeting-grid) {
        grid-template-areas:
            "fw-ad-1"
            "breadcrumb"
            "page-header"
            "hero"
            "topic-full"
            "listing"
            "fw-ad-2";
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }

    .area--meeting-grid {
        grid-template-areas:
            "landing-feature"
            "landing-header"
            "meeting-grid"
            "landing-header-2"
            "meeting-grid-2"
            "ad-1"
            "promo-2";
        grid-template-columns: minmax(0, 1fr);
    }

    .area--meeting-grid .meeting__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .area--meeting-grid .landing__feature .landing__card {
        flex-direction: column;
        width: 100%;
        min-width: 0;
    }

    .area--meeting-grid .landing__feature .landing__image-container {
        display: block;
        width: 100%;
        max-width: none;
        aspect-ratio: 16 / 9;
    }

    .area--meeting-grid .landing__feature .landing__content {
        width: 100%;
        min-width: 0;
    }

    .area--meeting-grid > .area--aside {
        display: contents;
    }

    .area--meeting-grid > .area--aside .aside-grouping--1 {
        display: contents;
    }

    .area--meeting-grid > .area--aside .aside-grouping--2 {
        display: none;
    }

    .area--meeting-grid > .area--aside .area--ad-1 {
        grid-area: ad-1;
        width: min(100%, 18.75rem);
        justify-self: center;
    }

    .area--meeting-grid > .area--aside .area--promo-2 {
        grid-area: promo-2;
    }
}

.landing__body {
    align-items: flex-start;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--idsa-gutter-xs);
}

.landing__btn-group {
    align-items: center;
    background-color: var(--btn-secondary);
    border-radius: var(--idsa-radius-sm);
    display: flex;
    gap: var(--idsa-gutter-xs);
    justify-content: center;
    margin-left: auto;
    padding: var(--idsa-padding-xs);
}

.landing__btn-group .btn-check:checked + .btn {
    background-color: var(--btn-primary);
    color: var(--text-primary-contrastText);
    box-shadow: 0 0 0 .10rem rgba(13, 110, 253, .25);
}

.landing__btn-group .btn--icon-only {
    background-color: transparent;
    border: none;
    border-radius: 50%;
    color: var(--text-primary);
    line-height: 1;
    padding: 0;
}

.page-layout--meeting .meeting__grid .landing__card:nth-child(1) {    grid-area: meeting-1; }
.page-layout--meeting .meeting__grid .landing__card:nth-child(2) {    grid-area: meeting-2; }
.page-layout--meeting .meeting__grid .landing__card:nth-child(3) {    grid-area: meeting-3; }
.page-layout--meeting .meeting__grid .landing__card:nth-child(4) {    grid-area: meeting-4; }
.page-layout--meeting .meeting__grid .landing__card:nth-child(5) {    grid-area: meeting-5; }
.page-layout--meeting .meeting__grid .landing__card:nth-child(6) {    grid-area: meeting-6; }

@media (min-width: 960px) {
    .page-layout--meeting,
    .page-layout--meeting.list-view {
        gap: var(--idsa-gutter-lg);
        grid-template-areas:
            "fw-ad-1            fw-ad-1"
            "breadcrumb         breadcrumb"
            "page-header        page-header"
            "landing-feature    aside"
            "landing-header     aside"
            "meeting-grid       aside"
            "topic-grid         topic-grid"
            "topic-grid__list   ad-2"
            "fw-ad-2            fw-ad-2";
        grid-template-columns: 1fr 18.875rem;
    }

    .page-layout--meeting .meeting__grid {
        display: grid;
        gap: var(--idsa-gutter-lg);
        grid-area: meeting-grid;
        grid-template-areas:
            "meeting-1 meeting-2 meeting-3"
            "meeting-4 meeting-5 meeting-6";
        grid-template-columns: repeat(3, 1fr);
    }

    .page-layout--meeting.list-view .meeting__grid {
        grid-template-areas:
            "meeting-1"
            "meeting-2"
            "meeting-3"
            "meeting-4"
            "meeting-5"
            "meeting-6";
        grid-template-columns: 1fr;
    }

    .landing__card {
        display: flex;
        flex-direction: row;
    }

    .landing__feature .landing__image-container {
        display: flex;
        align-self: stretch;
        max-width: 470px;
    }

}


.meeting__cta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-xs);
    position: relative;
    z-index: 2;
    margin-top: var(--idsa-padding-xs);
}

.meeting__grid .meeting__cta .btn--sm {
    color: var(--text-primary);
    background: var(--btn-secondary);
    border: 1px solid var(--btn-secondary);
}

.meeting__grid .meeting__cta .btn--sm:hover,
.meeting__grid .meeting__cta .btn--sm:focus {
        color: var(--text-primary);
    background: var(--btn-secondary-hover);
    border: 1px solid var(--btn-secondary-hover);
}

.landing__feature .meeting__cta:not(:first-child) {
    margin-top: var(--idsa-padding-sm);
}

.landing__feature .meeting__cta:not(:last-child) {
    margin-bottom: var(--idsa-padding-sm);
}

.meeting__date {
    grid-area: date;
}

.meeting__details .meeting__date {
    display: contents;
    color: var(--text-secondary);
    font-size: var(--idsa-fs-3);
}

.landing__meta:not(.horz-list) .meeting__date,
.landing__meta:not(.horz-list) .meeting__location {
    display: contents;
    color: var(--text-secondary);
    font-size: var(--idsa-fs-3);
}

.meeting__details {
    display: grid;
    column-gap: var(--idsa-gutter-xs);
    grid-template-areas:
        "date       date"
        "location   location"
        "title title"
        "list list"
        "cta cta";
    grid-template-columns: auto 1fr;
    row-gap: var(--idsa-gutter-xs);
}

.meeting__item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.meeting__item:not(:last-child) {
    margin-bottom: var(--idsa-padding-sm);
}

.meeting__link {
    font-size: var(--idsa-fs-3);
    color: var(--text-secondary);
    position: relative;
    text-decoration: none;
    text-underline-offset: 0.125em;
    z-index: 1;
}

.meeting__link:hover,
.meeting__link:focus {
    color: inherit;
    text-decoration: underline;
}

.meeting__list {
    grid-area: list;
    list-style: none;
    margin-bottom: 0;
    min-width: 0;
    padding-left: 0;
}

/* Figma meeting-landing treatment. */
.area--meeting-grid .landing__feature .landing__card {
    align-items: stretch;
    gap: var(--idsa-gutter-xl);
    padding: var(--idsa-padding-lg);
    background-color: var(--idsa-green-500);
    border-radius: var(--idsa-radius-2xl);
}

.area--meeting-grid .landing__feature .landing__card .landing__title a,
.area--meeting-grid .landing__feature .landing__card .meeting__link,
.area--meeting-grid .landing__feature .landing__card .landing__title a:hover,
.area--meeting-grid .landing__feature .landing__card .landing__title a:focus,
.area--meeting-grid .landing__feature .landing__card .meeting__link:hover,
.area--meeting-grid .landing__feature .landing__card .meeting__link:focus {
    color: var(--idsa-white);
    text-decoration: none;
}

.area--meeting-grid .landing__feature .landing__card:hover .landing__title a,
.area--meeting-grid .landing__feature .landing__card:focus-within .landing__title a {
    text-decoration: underline;
    text-underline-offset: 0.125em;
}

.area--meeting-grid .landing__feature .landing__content {
    flex: 1 1 0;
    min-width: 0;
    order: 0;
}

.area--meeting-grid .landing__feature .landing__title,
.area--meeting-grid .landing__feature .meeting__subtitle,
.area--meeting-grid .landing__feature .meeting__link,
.area--meeting-grid .landing__feature .meeting__details,
.area--meeting-grid .landing__feature .meeting__details .meeting__date {
    color: var(--idsa-white);
}

.area--meeting-grid .landing__feature .landing__title {
    font-size: var(--idsa-fs-10);
}

.area--meeting-grid .landing__feature .landing__image-container {
    order: 1;
    flex: 0 0 17.5rem;
    min-width: 17.5rem;
    width: 17.5rem;
    min-height: 23.5rem;
    max-width: 17.5rem;
    border-radius: var(--idsa-radius-xl);
}

.area--meeting-grid .landing__feature .landing__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.area--meeting-grid .landing__feature .article__header-badges {
    padding: var(--idsa-spacing-2) 0;
}

.area--meeting-grid .landing__feature .meeting__subtitle {
    margin: var(--idsa-padding-sm) 0 0;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-6);
    font-weight: var(--idsa-fw-regular);
}

.area--meeting-grid .landing__feature .meeting__details {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-gutter-xs);
}

.area--meeting-grid .landing__feature .meeting__meta,
.area--meeting-grid .landing__feature .meeting__list {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--idsa-gutter-xs);
}

.area--meeting-grid .landing__feature .meeting__meta .horz-list__item,
.area--meeting-grid .landing__feature .meeting__list .horz-list__item {
    display: flex;
}

.area--meeting-grid .landing__feature .meeting__item {
    width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.area--meeting-grid .landing__feature .meeting__meta p {
    margin: 0;
    color: var(--idsa-white);
    font-size: var(--idsa-fs-3);
    text-transform: none;
}

.area--meeting-grid .landing__feature .meeting__meta .bi {
    margin-right: var(--idsa-spacing-2);
}

.area--meeting-grid .landing__feature .meeting__cta {
    margin-top: auto;
    padding-top: var(--idsa-padding-lg);
}

@media (max-width: 970px) {
    .area--meeting-grid .landing__feature .landing__card {
        padding: var(--idsa-padding-md);
    }

    .area--meeting-grid .landing__feature .landing__image-container {
        width: 100%;
        min-height: 15rem;
        flex-basis: auto;
        min-width: 0;
        max-width: none;
    }
}

.meeting__location {
    grid-area: location;
}

.meeting__details .meeting__location {
    display: contents;
    color: var(--text-secondary);
    font-size: var(--idsa-fs-3);
}

.meeting__subtitle {
    grid-area: title;
}

.meeting__subtitle:not(:first-child) {
    margin-top: var(--idsa-padding-xs);
}

.meeting__subtitle:not(:last-child) {
    margin-bottom: var(--idsa-padding-xs);
}

@media (min-width: 1280px) {
    .meeting__details {
        max-width: 100%;
    }
}

/* ------------------------- */
/* Meeting Page Styles : END */




/* Search Results Page Styles ---- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.page-layout--search{
    grid-template-areas:
        "fw-ad-1        fw-ad-1         fw-ad-1"
        "search-bar     search-bar      search-bar"
        "filters        results         aside"
        "fw-ad-2        fw-ad-2         fw-ad-2";

    grid-template-columns: 12.5rem 1fr 18.875rem;
    grid-template-rows: auto 1fr;
    grid-gap: var(--idsa-gutter-md);
    padding-bottom: 1.5rem;
}

.area--search-bar{grid-area: search-bar;}
.area--search-filters{
    grid-area: filters;
    gap: var(--idsa-gutter-sm);
}
.area--results-col{grid-area: results;}
.area--results-1{grid-area: results-1;}
.area--results-2{grid-area: results-2;}
.area--results-3{grid-area: results-3;}
.area--results-4{grid-area: results-4;}
.area--results-5{grid-area: results-5;}

.area--search-filters .position-sticky{
    height: 100%;
    max-height: 90svh;
    overflow-y: scroll;
}

.area--results-col .search-filters__toggle-btn, 
.area--search-filters .search-filters__toggle-btn-close{
    display: none;
}

.area--results-col-header{
    grid-area: results-header;
    display: flex;
    gap: var(--idsa-gutter-md);
    justify-content: space-between;
    align-items: flex-end;
}

@media (max-width: 966px) {
    .page-layout--search{
        grid-template-areas:
            "fw-ad-1        fw-ad-1"
            "search-bar     search-bar"
            "filters        results"
            "ad-1           ad-1"
            "ad-2           ad-2"
            "promo-2        promo-2"
            "ad-3           ad-3"
            "fw-ad-2        fw-ad-2";
        grid-template-columns: 12.5rem 1fr;
        grid-template-rows: repeat(11, auto);
    }

    /* .area--results-col {
        display: contents;
    } */
}

@media (max-width: 634px) {
    .page-layout--search{
        position: relative;
        grid-template-areas:
            "search-bar"
            "fw-ad-1"
            "results"
            "ad-1"
            "ad-2"
            "promo-2"
            "ad-3"
            "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: repeat(11, auto);
    }

    .area--results-col .search-filters__toggle-btn{
        display: inline-flex;
    }
    
    .area--search-filters .search-filters__toggle-btn-close{
        display: inline-flex;
        position: absolute;
        top: var(--idsa-padding-lg);
        right: var(--idsa-padding-lg);
    }
    
    .area--search-filters {
        position: fixed;
        inset: 0 auto 0 -100%;
        z-index: 1400;
        width: 100%;
        max-width: 60vw;
        transition: left .25s ease;
    }
    
    .area--search-filters .position-sticky{
        padding: var(--idsa-padding-lg);
        background-color: var(--background-secondary);
        box-shadow: var(--idsa-shadow-md);
        border-radius: 0;
        width: 100%;
        max-height: 100svh;
    }
    
    .area--search-filters.is-open {
        /* revealed: left = 0% */
        inset: 0 auto 0 0%;
        background-color: var(--idsa-white);
    }

    /* Backdrop created by JS */
    .search-filters__backdrop {
        position: fixed;
        inset: 0;
        z-index: 1399; /* just below the panel */
        background: rgba(0,0,0,.4);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }
    
    .search-filters__backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    /* Prevent background scroll when panel is open */
    body.filters-open {
        overflow: hidden;
    }
}

.search{
    display: flex;
    justify-content: center;
    padding: var(--idsa-padding-lg);
    background: var(--idsa-bg-grey);
}

.search__max-width-wrapper{
    display: grid;
    grid-gap: var(--idsa-gutter-sm);
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.area--search-filters .checkbox{
    border-bottom: 1px solid var(--divider);
}

.accordion.accordion--filters{
    gap: var(--idsa-gutter-sm);
}

.accordion--filters .accordion-item{
    background-color: transparent;
}

.accordion--filters .accordion-button{
    border-radius: var(--idsa-radius-sm) !important;
    box-shadow: var(--idsa-shadow-xs);
}

.accordion__filter-btn-list .btn{
    padding-left: 0;
    padding-right: 0;
}

.accordion--filters .accordion-body {
    background-color: transparent;
    margin: 0 var(--idsa-padding-xs) var(--idsa-padding-md) var(--idsa-padding-xs);
    padding: var(--idsa-padding-xs) 0 0 0;
}


.accordion__filter-btn-list {
    display: grid;
    grid-gap: var(--idsa-gutter-xs);
    list-style-type: none;
    border-top: solid 1px var(--idsa-cool-grey-20);
    padding: 0;
    padding-top: 6px;
    margin: 0;
}

.checkbox{
    position: relative;
    display: flex;
    padding-bottom: var(--idsa-padding-xs);
}

/* Hide the checkbox visually but keep it accessible */
.accordion--filters input[type="checkbox"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* invisible but clickable */
    margin: 0;
    cursor: pointer;
}

/* Style the label to look like regular clickable text */

.accordion--filters .checkbox label {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: var(--idsa-gutter-xs);
    font-size: var(--idsa-fs-3);
    width: 100%;
    cursor: pointer;
}

.accordion--filters .checkbox:hover label span {
    color: var(--text-primary-hover);
    transition: var(--idsa-anim-normal);
}

/* Optional: add a visual cue when checked */
.accordion--filters input[type="checkbox"]:checked + label span {
    font-weight: var(--idsa-fw-semibold);
    text-decoration: underline;
}

.results-number{
    color: var(--text-tertiary);
}

.area--search-filters .position-sticky p:first-child, .search__result-findings{
    color: var(--text-tertiary);
}

.search__result-findings-num, .search__result-findings-term{
    font-weight: var(--idsa-fw-semibold);
    color: var(--text-secondary);
}

#activeFilters .accordion-body{
    margin: 0 0 var(--idsa-padding-md) 0;
}

#activeFilters .accordion__filter-btn-list{
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-xs);
}

#activeFilters .checkbox {
    border-bottom: 1px solid var(--divider);
    font-size: var(--idsa-fs-3);
    padding: 0 var(--idsa-spacing-4);
    border: 1px solid var(--btn-secondary);
    min-width: 24px;
    min-height: 24px;
    border-radius: var(--idsa-radius-sm);
    line-height: var(--idsa-lh-dense);
}

#activeFilters .checkbox label{
    align-items: center;
}

#activeFilters .checkbox label svg, #activeFilters .checkbox label .icon{
    max-width: var(--idsa-spacing-4); max-height: var(--idsa-spacing-4);
}

.search-page {
    width: 100%;
    padding-top: 1.5rem;
}

.search-page__top-ad {
    padding-bottom: 1rem;
}

.search-page__container {
    width: min(calc(100% - 2rem), 75rem);
    max-width: 75rem;
    margin-inline: auto;
    padding-inline: 0;
}

.search-page__page-layout {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
}

.area--search-page {
    display: flex;
    width: 100%;
    clear: both;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0 3rem;
    gap: var(--idsa-spacing-9);
}

.search-page__search-shell,
.search-page__layout {
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

.search-page__search-shell {
    display: flex;
    justify-content: center;
    padding: 2rem 3rem;
    background-color: #F8F8F9;
    border-radius: var(--idsa-radius-md);
}

.search-page__form {
    display: grid;
    grid-template-columns: 0rem minmax(0, 1fr) 2.5rem;
    align-items: center;
    width: min(100%, 48rem);
    min-height: 2.625rem;
    background-color: var(--idsa-white);
    border: 1px solid #CED4DA;
    border-radius: var(--idsa-radius-round);
    overflow: hidden;
}

.search-page__form-icon {
    width: 1rem;
    height: 1rem;
    margin-left: 1rem;
    color: #212529;
    font-size: 1rem;
    line-height: 1;
}

.search-page__form .form-control {
    height: 2.5rem;
    min-height: 2.5rem;
    padding: .5rem 1rem .5rem 1rem;
    color: #212529;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    line-height: 1.5;
}

.search-page__form .form-control::placeholder {
    color: #212529;
    opacity: 1;
}

.search-page__form button {
    display: inline-flex;
    width: 2.5rem;
    height: 2.625rem;
    align-items: center;
    justify-content: center;
    color: var(--idsa-white);
    background-color: #33542B;
    border: 0;
    border-radius: 0;
}

.search-page__form button .material-symbols-outlined {
    font-size: .875rem;
    line-height: 1;
}

.search-page__layout {
    display: grid;
    grid-template-areas: "filters results aside";
    grid-template-columns: 15.625rem minmax(0, 37.5rem) 18.875rem;
    gap: 1.5rem;
    align-items: start;
    padding-top: 0;
}

.search-page__filters {
    display: flex;
    flex-direction: column;
    gap: .375rem;
}

.search-page__layout a.btn--primary-text, .search-page__layout .btn--primary-text {
    color: var(--text-tertiary);
    margin: 0 auto;
    display: block;
}

.search-page__active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 1rem .5rem;
}

.search-page__active-filters .badge {
    gap: .25rem;
}

.search-page__active-filters .material-symbols-outlined {
    font-size: .875rem;
    line-height: 1;
}

.search-page__filters .accordion.accordion--filters {
    gap: 6px;
    background: none;
}

.search-page__filters .accordion-item {
    border: 0;
    /* border-top: 1px solid var(--border-regular); */
    border-radius: 0;
    background: var(--background-secondary);
    border-radius: var(--idsa-radius-md);
}

.search-page__filters .accordion {
    padding: 0;
}

.search-page__filters .accordion-button {
    min-height: 2.875rem;
    padding: .75rem 1.5rem;
    color: var(--idsa-primary-blue);
    background-color: transparent;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
}

.search-page__filters .accordion-button:not(.collapsed) {
    color: var(--idsa-primary-blue);
    background-color: transparent;
    box-shadow: none;
}

.search-page__filters .accordion-body {
    margin: 0;
    padding: 0 1.5rem .75rem;
}

.search-page__filters .accordion__filter-btn-list {
    gap: .625rem;
}

.search-page__filters .checkbox {
    min-height: 1.5rem;
    padding-bottom: 0;
    border-bottom: 0;
}

.search-page__filters .accordion--filters input[type="checkbox"] {
    inset: 0;
    z-index: 1;
}

.search-page__filters .checkbox label {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--text-secondary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    line-height: 1.4;
}

.search-page__filters .checkbox label::before {
    content: "";
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    align-items: center;
    justify-content: center;
    background-color: var(--idsa-white);
    border: 1px solid #CED4DA;
    border-radius: .125rem;
    box-sizing: border-box;
}

.search-page__filters .accordion--filters input[type="checkbox"]:checked + label::before {
    background-color: #33542B;
    border-color: #33542B;
    box-shadow: inset 0 0 0 3px var(--idsa-white);
}

.search-page__results {
    min-width: 0;
}

.search-page .area--results-col-header {
    align-items: center;
    padding-bottom: 0;
}

.search__result-findings {
    margin: 0;
    color: #33542B;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-7);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.search-results__list {
    gap: var(--idsa-spacing-8);
    padding-top: var(--idsa-spacing-8);
}

.search-results__list .list-card {
    /* min-height: 18.875rem; */
    gap: var(--idsa-spacing-8);
    padding: var(--idsa-spacing-9) 0;
    background-color: transparent;
    border: 0;
    border-top: 1px solid var(--border-regular);
    border-radius: 0;
}

.search-results__list .time-stamp {
    flex: 0 0 5rem;
}

.search-results__list .card__body {
    max-width: 16rem;
    gap: 0;
}

.search-results__list .badge-row,
.right-rail__recommended .badge-row {
    gap: var(--idsa-spacing-5);
    padding-bottom: .25rem;
}

.search-results__list h5 {
    margin: 0;
    padding: .75rem 0 .5rem;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-7);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.search-results__list h5 a {
    color: var(--idsa-green-500);
    text-decoration: none;
}

.search-results__list .horz-list {
    gap: var(--idsa-spacing-6);
    margin-bottom: .5rem;
}

.search-results__list .horz-list__item p,
.right-rail__recommended .horz-list__item p {
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-2);
    line-height: 1.4;
}

.search-results__list .card__body > p {
    color: var(--text-secondary);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    line-height: 1.4;
}

.search-results__list .thumbnail {
    flex: 0 0 12.5rem;
    width: 12.5rem;
    aspect-ratio: 16 / 9;
    border-radius: var(--idsa-radius-xl);
    overflow: hidden;
}

.search-results__list .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.right-rail {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-spacing-8);
    min-width: 0;
}

.right-rail__recommended {
    padding: var(--idsa-spacing-8);
    background-color: #F8F8F9;
}

.right-rail__recommended h2 {
    margin: 0;
    padding-bottom: .75rem;
    color: var(--idsa-green-500);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-6);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.4;
    border-bottom: 1px solid var(--border-regular);
}

.right-rail__recommended-card {
    padding: var(--idsa-spacing-6) 0;
    border-bottom: 1px solid var(--border-regular);
}

.right-rail__recommended-card:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.right-rail__recommended h3 {
    margin: 0;
    padding: .5rem 0;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1.4;
}

.right-rail__recommended h3 a {
    color: var(--idsa-green-500);
    text-decoration: none;
}

.right-rail__recommended .horz-list {
    flex-wrap: wrap;
    gap: var(--idsa-spacing-5);
    margin-bottom: 0;
}

.search-page__bottom-ad {
    padding-bottom: 3rem;
}

@media (max-width: 1100px) {
    .search-page__layout {
        grid-template-areas: "filters results";
        grid-template-columns: 15.625rem minmax(0, 1fr);
    }

    .right-rail {
        display: none;
    }
}

@media (max-width: 768px) {
    .search-page__search-shell {
        padding: var(--idsa-spacing-6);
    }

    .search-page__layout {
        grid-template-areas:
            "results"
            "filters";
        grid-template-columns: 1fr;
    }

    .search-page__filters {
        order: 2;
    }

    .search-page__results {
        order: 1;
    }

    .search-results__list .list-card {
        display: grid;
        gap: var(--idsa-spacing-5);
    }

    .search-results__list .time-stamp,
    .search-results__list .thumbnail,
    .search-results__list .card__body {
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }

    .search-results__list .thumbnail {
        order: -1;
    }
}



/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Ad Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */

.ad-300x250-container {
    margin: 0px;
}

.ad_728x90_container, .ad_300x250_container{
    display: grid;
    margin: 0px auto;
    text-align: center;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    border-bottom: transparent;
    padding: 0;
}

.ad_728x90_container{
    grid-template-columns: auto auto;
}

.ad_728x90_container .banner-ad__text{
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin: 0px -0.5px 0px 0px;
    padding: .05rem .35rem;
}

.banner-ad__text{
    display: inline-block;
    font-size: 8px;
    line-height: 1.1;
    letter-spacing: .025rem;
    text-transform: uppercase;
    text-align: center;
    padding: .35rem .05rem;
    height: auto;
}

.ad_300x250_container, .ad-300x250-container {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    margin: 0 auto;
}

.mobileAd1-300x250-home {
    display: none;
}

@media (max-width: 1100px) {
    #mobileAd1-300x250.mobileAd1-300x250-home {
        display: block;
        grid-column: span 1;
        order: 2;
        margin: 0 auto .25rem auto;
    }
}


/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Marketo Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */

form.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
    padding: var(--idsa-spacing-4) var(--idsa-spacing-8);
    color: var(--idsa-green-500);
    background-color: #FEF151;
    border: 0;
    border-radius: var(--idsa-radius-round);
    background-image: none;
}

form.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover, 
form.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus, 
form.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
    padding: var(--idsa-spacing-4) var(--idsa-spacing-8);
    background-color: var(--idsa-yellow-300);
    box-shadow: none;
    border: 0;
}

form.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:disabled {
    opacity: var(--btn-primary-outlined-disabled-opacity);
    pointer-events: none;
}

/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Navigation Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */



/* All Pub Sites Structural Styles */




/* All Pub Sites Nav Styles */

nav {
  position: relative;
  top: auto;
  background: none;
}

.nav{
    display: flex;
    width: 100%;
}

.navbar{
    width: 100%;
    display: flex;
    flex-direction: column;
}

.navbar > .container-fluid {
    flex-wrap: nowrap;
    position: relative;
    padding: var(--idsa-padding-sm) var(--idsa-padding-sm);
}

.navbar__logo a{
    display: inline-block;
}

.navbar__logo-img{
    display: block;
    max-width: min-content;
}

.navbar__left{
    display: flex;
    align-items: center;
    column-gap: 1rem;
    height: 100%;
    width: 100%;
}

.navbar__left #search-desktop {
    border-radius: var(--idsa-radius-round);
}

.navbar__left #search-mobile {
    padding: var(--idsa-padding-smedium);
    border: 1px solid var(--idsa-warm-grey-20);
    border-radius: var(--idsa-radius-round);
    display: none;
}

.brand-nav .navbar__left #search-mobile:hover {
    border: 1px solid var(--btn-primary-hover);
    color: var(--btn-primary-hover);
}

.navbar__center {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.navbar__right{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: .5rem;
    width: 100%;
}

/*
.navbar__right .btn--link:first-child{
    border-right: solid 1px var(--pathologist-secondary-40);
    border-radius: 0;
    padding-right: 1rem;
}
*/

.navbar-toggler--hamburger{
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    z-index: 3;
    padding: var(--idsa-padding-md);
    border-radius: var(--idsa-radius-round);
}

.navbar-toggler--hamburger::before, .navbar-toggler--hamburger::after  {
    content: '';
    display: block;
    width: 16px;
    position: absolute;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
}

.navbar-toggler--hamburger::before {
    height: 2px;
    background: #BCBEC0;
}

.navbar-toggler--hamburger::after {
    border-top: 2px solid #BCBEC0;
    border-bottom: 2px solid #BCBEC0;
    height: 14px;
}

.navbar-toggler:focus{
    box-shadow: none;
}

.navbar-toggler--hamburger.menu-open::before, .navbar-toggler--hamburger.menu-open::after {
    width: 19px;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
}

.navbar-toggler--hamburger.menu-open::before {
    background: #3B3B3C;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.navbar-toggler--hamburger.menu-open::after {
    border: 0;
    height: 2px;
    border-top: 0px solid transparent;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navbar-toggler--hamburger::before:hover, .navbar-toggler--hamburger.menu-open::before {
    background: #3B3B3C;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
}

.navbar-toggler--hamburger::after:hover {
    border-top: 2px solid #3B3B3C;
    border-bottom: 2px solid #3B3B3C;
}

.navbar-collapse.show{
    display: flex;
}

.navbar-nav .dropdown-menu ul{
    list-style: none;
    padding-left: 0;
}

.navbar--megamenu{
    position: relative;
}

.navbar--megamenu > .container-fluid, .navbar--megamenu .navbar__left, .navbar--megamenu .navbar-collapse, .navbar--megamenu .navbar-nav, .navbar--megamenu .navbar-nav .nav-item{
    position: initial;
    height: 100%;

}


.navbar--megamenu .navbar-collapse {
    min-height: 48px;
    background-color: var(--idsa-green-500);
}

.white-bottom-overlay {
    margin: auto;
}

.navbar--megamenu .navbar-nav{
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: var(--idsa-spacing-8);
}

.navbar--megamenu .navbar-nav .nav-link{
    display: flex;
    align-items: center;
    height: 100%;
}

.navbar--megamenu .navbar-nav .dropdown-menu--megamenu{
    width: 100%;
    border-radius: 0;
    border: 0;
}

.dropdown-menu__megamenu-section{
    padding: 0px 4px 0px 4px;
}

/* Umbrella Nav Styles */

.umbrella-nav{
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    background: #EAEBEB;
    border-bottom: 1px solid #BCBEC0; 
    z-index: 1250;
    position: relative;
}

.umbrella-nav .navbar__logo-img{
    width: 100px;
}

.umbrella-nav .specialties-menu-toggle{
    align-items: center;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--secondary-gray-90);
    font-weight: 300; 
    margin: 0;
    gap: 0;
}

.umbrella-nav .specialties-menu-toggle:hover{
    color: var(--primary-clr-1);
}

.umbrella-nav .specialties-menu-toggle.dropdown-toggle::after {
    top: auto;
}

.umbrella-nav .btn__sign-in, .umbrella-nav .btn__sign-in a{
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--secondary-gray-90);
    font-weight: 300;
    text-decoration: none;
}

.umbrella-nav .btn__sign-in:hover, .umbrella-nav .btn__sign-in:hover a{
    color: var(--primary-clr-1);
    text-decoration: none;
}

.umbrella-nav .btn__sign-in path{
    transition: .2s ease-in-out;
}

.umbrella-nav .btn__sign-in:hover path{
    fill: var(--primary-clr-1);
    transition: .2s ease-in-out;
}

.umbrella-nav .btn__sign-in .dropdown-toggle::after{
    content: none;
}

.specialties-menu {
    font-family: "Poppins", sans-serif;
    z-index: 1240;
    padding: 4rem 2rem 4.5rem 2rem;
    border-top: 1px solid #BCBEC0;
    border-bottom: 1px solid #BCBEC0;
}

.specialties-menu.show {
    top: 100%;
}

.specialties-menu__list{
    column-count: 3;
    margin-bottom: 0;
}



/* Pub Nav Styles */

.brand-nav {
    display: flex;
    align-items: center;
    width: 100%;
    background: var(--idsa-white);
    position: sticky;
    top: 0;
    z-index: 1230;

    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav .navbar {
    min-height: 154px;
    transition: min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav .navbar > .container-fluid {
    min-height: 106px;
    padding: var(--idsa-spacing-6) 0;
    gap: var(--idsa-spacing-10);
}

.brand-nav .navbar > .container-fluid.max-width {
    max-width: 1200px;
}

.navbar__logo-img-desktop {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.35s ease;
    transform-origin: center center;
}

.brand-nav .container-fluid.max-width {
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav:not(.nav--scrolled) .navbar > .container-fluid.max-width {
    padding-top: var(--idsa-padding-sm);
    padding-bottom: var(--idsa-padding-sm);
}

.brand-nav.nav--scrolled .navbar > .container-fluid.max-width {
    min-height: 0;
    padding-top: var(--idsa-padding-xs);
    padding-bottom: var(--idsa-padding-xs);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav.nav--scrolled .navbar {
    min-height: 0;
}

.brand-nav .navbar__right .btn {
    min-height: 48px;
    padding: var(--idsa-spacing-6) var(--idsa-spacing-10);
    border-radius: var(--idsa-radius-round);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1;
    gap: var(--idsa-spacing-4);
}

.brand-nav #search-desktop {
    min-height: 48px;
    padding: var(--idsa-spacing-6) var(--idsa-spacing-10);
    border: 1px solid var(--idsa-green-500);
    border-radius: var(--idsa-radius-round);
    color: var(--text-tertiary);
    background: transparent;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1;
    gap: var(--idsa-spacing-4);
}

.brand-nav #search-desktop:hover,
.brand-nav #search-desktop:focus {
    color: var(--idsa-green-500);
    border-color: var(--idsa-green-200);
    background: var(--idsa-gray-50);
    box-shadow: none;
}

.brand-nav #subscribe-desktop {
    border-color: var(--idsa-yellow-100);
    background: var(--idsa-yellow-100);
    color: var(--idsa-green-500);
}

.brand-nav #subscribe-desktop:hover,
.brand-nav #subscribe-desktop:focus {
    border-color: var(--idsa-yellow-300);
    background: var(--idsa-yellow-300);
    color: var(--idsa-green-500);
    box-shadow: none;
}


.nav--scrolled .navbar__logo-img-desktop {
    transform: scale(0.8);
}

.nav--scrolled .navbar__center{
    width: 60%;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav .navbar__logo-img-desktop{
    width: 406px;
}

.brand-nav .navbar__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.brand-nav .navbar__logo svg {
    display: block;
    width: min(344px, 100%);
    height: auto;
}

.brand-nav .navbar__logo-img-mobile{
    width: 220px;
    display: none;
}

.brand-nav .navbar-toggler--hamburger::before {
    height: 1.5px;
    background: var(--text-primary);
}

.brand-nav .navbar-toggler--hamburger::after {
    border-top: 1.5px solid var(--text-primary);
    border-bottom: 1.5px solid var(--text-primary);
    height: 12px;
}

.brand-nav .navbar-toggler--hamburger:hover::before, .brand-nav .navbar-toggler--hamburger.menu-open::before {
    background: var(--text-primary);
}

.brand-nav .navbar-toggler--hamburger:hover::after {
    border-top: 2px solid var(--text-primary);
    border-bottom: 2px solid var(--text-primary);
}

.brand-nav .navbar-toggler--hamburger.menu-open::after{
    border-top: 0px solid transparent;
    border-bottom: 2px solid var(--text-primary);
    height: 2px;
}

.navbar-toggler__icon::after {
    background-color: var(--text-primary);
    border-radius: .5rem;
}

.brand-nav .navbar-toggler .fill--clr-1{
    fill: var(--pathologist-body-clr);
    transition: .2s ease-in-out;
}

.brand-nav .navbar-toggler:hover .fill--clr-1{
    fill: var(--pathologist-primary-clr);
    transition: .2s ease-in-out;
}

.brand-nav .navbar__right #subscribe-mobile {
    display: none;
}

/* This is overriding umbrella styles. Adjust umbrella html/css to have custom class for original styles so the following is  */
.navbar-toggler__icon-inner::before, .navbar-toggler__icon-inner::after {
    content: none;
}

.brand-nav .navbar-nav .nav-link{
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-semibold);
    line-height: var(--idsa-lh-4);
    padding: var(--idsa-spacing-5) 0;
    min-height: 40px;
    color: var(--idsa-white);
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
}

.brand-nav .navbar-nav .nav-link:hover, .brand-nav .navbar-nav .dropdown-toggle.show .dropdown-toggle-tp.show{
    color: var(--idsa-yellow-100);
    text-decoration: none;
}

.dropdown-toggle::after {
    display: inline-block;
    color: white;
    font-size: .75rem;
    margin-left: .15em;
    vertical-align: .255em;
    font-family: 'Material Icons';
    content: "\e5cf";
    border: none;
    line-height: 0;
    position: relative;
    /*top: auto;*/
    opacity: .5;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

.dropdown-toggle-tp::after {
    display: inline-block;
    color: var(--text-primary);
    font-size: .75rem;
    margin-left: .15em;
    vertical-align: .255em;
    font-family: 'Material Icons';
    content: "\e5cf";
    border: none;
    line-height: 0;
    position: relative;
    top: auto;
    opacity: .5;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

.dropdown-menu[data-bs-popper] {
    top: 99%;
    left: 0;
    margin-top: 0;
}

.dropdown-menu {
  /*max-height: 50vh;*/
  overflow-x: scroll;
  box-shadow: 0px 2px 8px rgba(0,0,0,0.125);
  overflow: hidden;
}

.dropdown-item{
    display: flex;
    align-items: center;
    column-gap: .5rem;
}

.brand-nav .dropdown-toggle::after {
    color: var(--text-primary);
    opacity: 1;
    top: 1px;
}

.brand-nav .dropdown-toggle-tp::after {
    color: var(--text-primary);
    opacity: 1;
    top: 1px;
}

.brand-nav .dropdown-toggle:hover::after, .dropdown-toggle.show::after {
    color: white;
    opacity: 1;
    transition: all 0.25s ease-in-out;
}

.brand-nav .dropdown-toggle-tp:hover::after, .dropdown-toggle-tp.show::after {
    color: var(--text-primary);
    opacity: 1;
    transition: all 0.25s ease-in-out;
}

.dropdown-toggle-tp.show::after{
    transition: all 0.25s ease-in-out;
    transform: rotate(180deg);
}

.brand-nav .navbar-nav .dropdown-menu {
    padding: 2.5rem 0;
    background-color: white;
    border-bottom: 1.5px solid var(--pathologist-primary-clr);
}

.brand-nav .dropdown-menu--megamenu > *{
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(242px, 1fr));
}

.dropdown-menu__megamenu-section ul {
    padding: .5rem 0;
}

.dropdown-menu__megamenu-section-header{
    display: flex;
    column-gap: .5rem;
    align-items: center;
    padding-bottom: .25rem;
    border-bottom: 2px solid var(--pathologist-primary-clr);
    text-decoration: none;
}

.dropdown-menu__megamenu-section-header:hover{
    color: inherit;
    text-decoration: none;
}

.dropdown-menu__megamenu-section-header--empty{
    border-bottom: 0px solid transparent;
}

.dropdown-menu__megamenu-title{
    font-size: 1.125rem;
    margin-bottom: 0.125rem;
}

.brand-nav .navbar-nav .dropdown-menu ul{

}

.brand-nav .dropdown-item {
    padding: .5rem 1.5rem;
    color: var(--pathologist-body-text);
}

.brand-nav .dropdown-item .fill--clr-1{
    fill: var(--pathologist-body-text);
}

.brand-nav .dropdown-item:hover .fill--clr-1{
    fill: var(--pathologist-primary-clr);
}

.brand-nav .dropdown-item:hover {
    color: var(--pathologist-primary-clr);
    background-color: transparent;
    text-decoration: none;
}

.brand-nav .dropdown-item svg {
  fill: var(--text-primary);
  transition: fill 0.3s ease-in-out;
}

.brand-nav .dropdown-item:hover svg {
  fill: var(--pathologist-primary-clr);
}

.brand-nav .dropdown-item:hover span {
    text-decoration: underline;
}

.dropdown-item--view-all::after {
    display: inline-block;
    color: var(--pathologist-primary-clr);
    font-size: .75rem;
    margin-left: .15em;
    vertical-align: .255em;
    font-family: 'Material Icons';
    content: "\e5cf";
    border: none;
    line-height: 0;
    position: relative;
    top: auto;
    opacity: .5;
    text-decoration: none;
    transform: rotate(-90deg);
    transition: all 0.25s ease-in-out;
}

.dropdown-item--view-all:hover::after {
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

.brand-nav .btn--search {
    text-decoration: none;
}

.brand-nav .btn--search:hover {
    color: var(--text-primary-hover);
    text-decoration: none;
}

 .mobile-search-cta{
    display: flex;
    justify-content: space-between;
    width: calc(100% - (var(--idsa-spacing-6) * 2));
    padding-bottom: var(--idsa-padding-sm);
    margin: 0 var(--idsa-spacing-6) var(--idsa-spacing-6) var(--idsa-spacing-6);
}

@media (min-width: 768px) {
    .navbar-expand-md .navbar-nav {
        position: inherit;
    }
}

@media (min-width: 576px){
    .mobile-search-cta{
        display: none;
    }
}

@media (max-width: 575px){
    .mobile-search-cta{
        width: 100%;
        margin: 0;
    }
}

@media (max-width: 1280px) { 
    .brand-nav .navbar__left{
        width: 100%;
        position: relative;
    }

    .brand-nav .navbar__center{
        width: 600px;
    }

    .brand-nav .navbar__right {
        width: 100%;
        position: relative;
        display: flex;
        justify-content: flex-end;

    }

    .brand-nav .navbar-nav .dropdown-menu--megamenu {
        width: calc(100% + 1.5rem);
        margin: 0 -.75rem;
    }

    .brand-nav .btn--search {
        color: white;
        text-decoration: none;
        background: transparent;
    }

    .brand-nav .btn--search:hover {
        color: var(--text-primary);
    }

    .brand-nav .navbar__right #subscribe-mobile, .mobile-search-cta .btn{
        min-height: 24px;
        padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
    }

    .brand-nav .navbar__right #subscribe-mobile .btn__span, .mobile-search-cta .btn__span{
        padding: .125rem .35rem;
        font-size: .85rem;
        border-radius: .35rem;
        transition: .2s ease-in-out;
    }

    .navbar__right .btn--light:hover {
        color: var(--pathologist-primary-clr);
    }

    .brand-nav .navbar__right .btn--light, .brand-nav .navbar__right .btn--primary{
        background-color: transparent;
        border: 0px solid transparent;
    }
    
    .brand-nav .navbar__right .btn--light .btn__span{
        background-color: var(--pathologist-light-clr);
        border: 1px solid var(--pathologist-light-clr);
    }

    .brand-nav .navbar__right .btn--primary .btn__span{
        background-color: var(--text-primary);
        border: 1px solid var(--text-primary);
    }

    .brand-nav .navbar__right .btn--light:hover .btn__span, .brand-nav .navbar__right .btn--primary:hover .btn__span{
        color: var(--pathologist-primary-clr);
        transition: .2s ease-in-out;
    }
}

@media (max-width: 992px) {
    .brand-nav {
        box-shadow: var(--idsa-shadow-sm);
    }

    .brand-nav  .grid-span--1col, .brand-nav .grid-span--2col, .brand-nav .grid-span--3col, .brand-nav .grid-span--4col, .brand-nav .grid-span--5col, .brand-nav .grid-span--6col, .brand-nav .grid-span--7col, .brand-nav .grid-span--8col, .brand-nav .grid-span--9col, .brand-nav .grid-span--10col, .brand-nav .grid-span--11col, .brand-nav .grid-span--12col{
        grid-column: span 12;
    }

    .brand-nav.nav--scrolled .container-fluid.max-width {
        padding-top: var(--idsa-padding-xs);
        padding-bottom: var(--idsa-padding-xs);
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .brand-nav .col-count-2, .brand-nav .col-count-3{
        column-count: 1;
    }

    .brand-nav .navbar-collapse {
        flex-direction: column;
        align-items: flex-start;
        width: calc(100% + 1.5rem);
        height: auto;
        margin: 0 -.75rem;
        padding: var(--idsa-padding-xs) var(--idsa-spacing-10);
        position: absolute;
        top: 100%;
        background: var(--dark);
        border: 1.5px solid var(--idsa-bg-grey) 0;
        transition: all .2s ease-in-out;
    }

    .brand-nav.nav--scrolled .navbar-collapse {
        top: 100% !important;
    }

    .navbar__left #search-desktop {
        display: none;
    }

    .navbar__left #search-mobile {
        display: block;
    }

    .brand-nav .navbar__logo-img-desktop{
        display: none;
    }

    .brand-nav .navbar__logo-img-mobile{
        display: block;
    }

    .white-bottom-overlay{
        width: 100%;
        position: relative;
        transition: all .2s ease-in-out;
        background-color: var(--idsa-bg-grey);
    }

    .brand-nav .navbar-nav{
        display: flex;
        align-items: flex-start;
        height: auto;
        max-height: calc(70vh - 55px);
        overflow-y: auto;
        padding: var(--idsa-spacing-4) 0 var(--idsa-spacing-8) 0;
        background: var(--dark);
    }

    .brand-nav .navbar-nav .nav-link{
        font-size: 1.125rem;
    }

    .brand-nav .navbar-nav .nav-item{
        width: 100%;
    }

    .brand-nav .navbar-nav .dropdown-menu {
        padding: 1rem 0;
        border-bottom: 1.5px solid transparent;
    }

    .brand-nav .navbar-nav .dropdown-menu--megamenu {
        width: 100%;
        margin: 0;
    }

    .brand-nav .dropdown-menu--megamenu > * {
        grid-template-columns: 1fr;
    }

    .dropdown-menu__megamenu-section-header--empty{
        display: none;
    }
}

@media (max-width: 576px){
    .brand-nav {
        box-shadow: var(--idsa-shadow-sm);
    }

    .navbar > .container-fluid {
        flex-wrap: nowrap;
        position: relative;
        padding: var(--idsa-padding-smedium) var(--idsa-padding-smedium);
    }

    .brand-nav .navbar-collapse {
        top: 100%;
        padding: var(--idsa-padding-xs) var(--idsa-spacing-6);
    }

    .brand-nav.nav--scrolled .navbar-collapse {
        top: 100% !important;
    }

    .brand-nav.nav--scrolled .container-fluid.max-width {
        padding-top: var(--idsa-padding-xs);
        padding-bottom: var(--idsa-padding-xs);
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .navbar__left #search-mobile {
        display: none;
    }

    .brand-nav .navbar__right #subscribe-desktop {
        display: none;
    }

    .brand-nav .navbar__right #subscribe-mobile {
        display: block;
    }
    
    .brand-nav .btn--search {
        color: var(--text-primary-contrastText);
        border-radius: var(--idsa-radius-round);
        padding: var(--idsa-padding-smedium);
        border: 1px solid var(--btn-primary-rev)
    }

    .brand-nav .btn--search:hover {
        color: var(--btn-cta);
        border: 1px solid var(--btn-cta);
        transition: var(--idsa-transition-fast);
    }
}

/* IDSA Reporter nav v3 variants */
.brand-nav .navbar{
    min-height: 154px;
    background: var(--idsa-white);
}

.brand-nav .navbar > .container-fluid.max-width{
    min-height: 106px;
    max-width: 1200px;
    padding: var(--idsa-spacing-6) var(--bs-gutter-x,.75rem);
    gap: var(--idsa-spacing-10);
}

.brand-nav .navbar__left,
.brand-nav .navbar__right{
    flex: 0 1 auto;
}

.brand-nav .navbar__center{
    flex: 0 1 640px;
}

.brand-nav .navbar__logo{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 488px;
    max-width: 100%;
    gap: 2px;
    color: var(--idsa-green-500);
    text-decoration: none;
}

.brand-nav .navbar__logo svg{
    width: 344px;
    max-width: 100%;
    transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav .navbar__tagline{
    display: block;
    width: 100%;
    color: var(--idsa-green-500);
    font-family: var(--idsa-body-font);
    font-size: 11px;
    font-weight: var(--idsa-fw-semibold);
    line-height: 1.1;
    letter-spacing: 0.015em;
    text-align: center;
    /* white-space: nowrap; */
    transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav.nav--scrolled .navbar__logo svg{
    width: 275px;
}

.brand-nav.nav--scrolled .navbar__tagline{
    transform: scale(0.8);
    transform-origin: center top;
}

.brand-nav #subscribe-desktop{
    min-width: 143px;
    min-height: 48px;
    padding: var(--idsa-spacing-6) var(--idsa-spacing-10);
}

.brand-nav #subscribe-desktop svg{
    display: none;
}

.brand-nav .navbar--megamenu .navbar-collapse{
    min-height: 48px;
}

.brand-nav .navbar--megamenu .navbar-nav{
    gap: var(--idsa-spacing-8);
}

.brand-nav .navbar-nav .nav-link{
    min-height: 40px;
    padding: var(--idsa-spacing-5) 0;
    font-size: var(--idsa-fs-3);
    line-height: var(--idsa-lh-4);
    transition: min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-nav.nav--scrolled .navbar-nav .nav-link {
    height: auto;
    min-height: 24px;
    padding-top: var(--idsa-spacing-4);
    padding-bottom: var(--idsa-spacing-4);
}

.brand-nav.nav--scrolled .navbar--megamenu .navbar-collapse,
.brand-nav.nav--scrolled .navbar--megamenu .navbar-nav,
.brand-nav.nav--scrolled .navbar--megamenu .navbar-nav .nav-item {
    height: auto;
    min-height: 0;
}

@media (max-width: 992px){

    .brand-nav .navbar--megamenu .navbar-nav{
        gap: 0;
    }    
    .brand-nav .navbar{
        min-height: 90px;
    }

    .brand-nav .navbar > .container-fluid.max-width{
        min-height: 90px;
        padding: var(--idsa-spacing-6) var(--idsa-spacing-10);
        gap: var(--idsa-spacing-10);
    }

    .brand-nav .navbar__left{
        flex-direction: row;
        gap: var(--idsa-spacing-4);
    }

    .brand-nav .navbar__logo{
        width: 200px;
        gap: 1px;
    }

    .brand-nav .navbar__logo svg{
        width: 256px;
    }

    .brand-nav .navbar__tagline{
        font-size: 8.25px;
        line-height: 1.05;
        letter-spacing: 0.01em;
        width: 225px;
    }

    .brand-nav.nav--scrolled .navbar__logo svg{
        width: 205px;
    }

    .brand-nav .navbar-toggler--hamburger,
    .brand-nav .navbar__left #search-mobile{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        padding: var(--idsa-spacing-4);
        color: var(--idsa-green-500);
        background: transparent;
        border: 1px solid var(--idsa-green-500);
        border-radius: var(--idsa-radius-round);
    }

    .brand-nav .navbar-toggler--hamburger::before{
        width: 12px;
        height: 1.5px;
    }

    .brand-nav .navbar-toggler--hamburger::after{
        width: 12px;
        height: 10px;
    }

    .brand-nav #subscribe-desktop{
        display: inline-flex;
        min-width: 117px;
        min-height: 40px;
        padding: var(--idsa-spacing-4) var(--idsa-spacing-8);
        font-size: var(--idsa-fs-3);
    }

    .brand-nav .navbar-collapse{
        top: 90px;
        width: 100%;
        margin: 0;
    }
}

@media (max-width: 576px){
    .brand-nav .navbar{
        min-height: 70px;
    }

    .brand-nav .navbar > .container-fluid.max-width{
        min-height: 70px;
        padding: var(--idsa-spacing-6);
        gap: var(--idsa-spacing-8);
    }

    .brand-nav .navbar__logo{
        /* width: 191px; */
        gap: 0;
    }

    .brand-nav .navbar__logo svg{
        width: 190px;
    }

    .brand-nav.nav--scrolled .navbar__logo svg{
        width: 152px;
    }

    .brand-nav .navbar__tagline,
    .brand-nav .navbar__left #search-mobile,
    .brand-nav #subscribe-desktop{
        display: none;
    }

    .brand-nav .navbar__right #subscribe-mobile{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        padding: var(--idsa-spacing-4);
        color: var(--idsa-green-500);
        background: var(--idsa-yellow-100);
        border: 0;
        border-radius: var(--idsa-radius-round);
    }

    .brand-nav .navbar__right #subscribe-mobile .btn__span{
        display: none;
    }

    .brand-nav .navbar-collapse{
        top: 70px;
    }
}






/* Pub Search Modal Styles */


.modal-backdrop {
    background: linear-gradient(180deg, rgba(2, 10, 16,.97) 10%, rgba(2, 10, 16,.6) 100%);
    z-index: 1290 !important;
}

#searchModal form, .search form{
    display: flex;
    align-items: stretch;
    border: 1px solid var(--border-regular);
    border-radius: var(--idsa-radius-md);
    overflow: hidden;
}

#searchModal .form-control, .search .form-control{
    padding: var(--idsa-padding-sm) var(--idsa-padding-smedium);
    color: var(--text-primary);
    background-color: var(--background-primary);
    border: 0px solid var(--border-regular);
    border-radius: 0;
    transition: .2s ease-in-out;
}

#searchModal .form-control::placeholder, .search {
    color: var(--text-primary-65pct);
}


#searchModal .form-control:focus, 
#searchModal .form-control:active, 
#searchModal .form-control:focus-within,
.search .form-control:focus,
.search .form-control:active,
.search .form-control:focus-within{
    background-color: var(--background-primary);
    color: var(--text-primary);
    border: 0px solid transparent;
    transition: .2s ease-in-out;
}

#searchModal form button, .search form button{
    position: relative;
    inset: auto;
    border: none;
    background: var(--btn-primary);
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
    border-radius: 0;
}

#searchModal form button:hover, .search form button:hover{
    background: var(--btn-primary-hover);
    transition: .2s ease-in-out;
}

#searchModal form button:hover path{
    fill: var(--text-primary-contrastText);
    transition: .2s ease-in-out;
}

#searchModal form button svg, .search form button svg{
    position: relative;
    right: auto;
    top: auto;
    height: 20px;
    overflow: visible;
}

#searchModal button path, .search button path{
    fill: var(--text-primary-contrastText);
    transition: .2s ease-in-out;
}

#searchModal button:hover path, 
.search button:hover path{
    fill: var(--text-primary);
    transition: .2s ease-in-out;
}

#searchModal form svg:hover path, 
.search form svg:hover path{
    fill: var(--text-primary-contrastText);
}

#searchModal .btn-close, .search .btn-close{
    border-radius: .35rem;
    min-width: 24px;
    min-height: 24px;
}

#searchModal .btn-close:hover, .search .btn-close:hover{
    background-color: var(--idsa-secondary-clr);
    transition: .2s ease-in-out;
}





/* Umbrella Nav Styles */

.umbrella-nav{
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    background: #EAEBEB;
    border-bottom: 1px solid #BCBEC0; 
    z-index: 1250;
    position: relative;
}

.umbrella-nav .navbar__logo{
    margin: auto;
}

.umbrella-nav .navbar__logo-img{
    width: 100px;
}

.umbrella-nav .specialties-menu-toggle{
    align-items: center;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--secondary-gray-90);
    font-weight: 300; 
    margin: auto;
    gap: 0;
    padding: .25rem .5rem;
    min-width: 31px;
    min-height: 31px;
}

.umbrella-nav .specialties-menu-toggle:hover, .umbrella-nav .specialties-menu-toggle.show{
    color: var(--primary-clr-1);
}

.umbrella-nav .specialties-menu-toggle.dropdown-toggle::after {
    top: auto;
}

.umbrella-nav .btn__sign-in, .umbrella-nav .btn__sign-in a{
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--secondary-gray-90);
    font-weight: 300;
    text-decoration: none;
}

.umbrella-nav .btn__sign-in:hover, .umbrella-nav .btn__sign-in:hover > a{
    color: var(--idsa-primary-clr);
    text-decoration: none;
}

.umbrella-nav .btn__sign-in path{
    transition: .2s ease-in-out;
}

.umbrella-nav .btn__sign-in:hover path{
    fill: var(--idsa-primary-clr);
    transition: .2s ease-in-out;
}

.umbrella-nav .btn__sign-in .dropdown-toggle::after{
    content: none;
}

.btn__sign-in.dropdown{
    color: var(--idsa-body-text);
}

.btn__sign-in.dropdown:hover .dropdown-toggle{
    color: var(--idsa-primary-clr);
}

.btn__sign-in.dropdown:hover .btn_sign-in-icon path{
    fill: var(--idsa-primary-clr);
}

.btn__sign-in.dropdown .dropdown-menu {
    padding: 0;
    top: 99%;
    right: 0;
    margin-top: 0;
    left: auto;
    min-width: 100%;
    border: 1px solid #BCBEC0;
    overflow: hidden;
}

.btn__sign-in.dropdown:hover .dropdown-menu {
    display: block;
}

.btn__sign-in.dropdown .dropdown-menu .dropdown-item{
    padding: .25rem .5rem;
    min-width: 31px;
    min-height: 31px;
}

.umbrella-nav .btn--advertise{
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: var(--secondary-gray-90);
    font-weight: 300;
    text-decoration: none;
    border-left: 1px solid var(--secondary-gray-40);
    border-radius: 0;
    padding: .85rem .5rem .85rem 1.5rem;
    height: 100%;
    gap: 0;
}

.umbrella-nav .btn--advertise:hover{
    border-left: 1px solid var(--secondary-gray-40);
    text-decoration: none;
}

@media (max-width: 576px) {
    .btn--advertise .mobile-hide{
        display: none;
    }
    .area--hero .card--story-main .card__body{
        margin-top: -36px;
        transform: none;
        -webkit-mask-image: initial;
        mask-image: initial;
    }
    .area--hero .card--story-main .thumbnail img {
        -webkit-mask-image: initial;
        mask-image: initial;
    }    
}

.specialties-menu {
    font-family: "Poppins", sans-serif;
    z-index: 1240;
    padding: 4rem 2rem 4.5rem 2rem;
    border-top: 1px solid #BCBEC0;
    border-bottom: 1px solid #BCBEC0;
}

.specialties-menu.show {
    top: 100%;
}

.specialties-menu__list{
    column-count: 3;
    margin-bottom: 0;
}




/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Homepage Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */

.page-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--idsa-gutter-sm);
    padding-top: var(--idsa-padding-smedium);
    background-color: var(--idsa-bg-grey);
    border-radius: var(--idsa-radius-round) 0 0 0;
}

/* Reusable landing-page headers */
.page-header--upper-level,
.page-header--topic-specific {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--idsa-gutter-md);
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.page-header--upper-level {
    grid-template-columns: minmax(0, 1fr) minmax(0, 31.4375rem);
}

.page-header--topic-specific {
    grid-template-columns: minmax(0, 1fr) minmax(0, 39rem);
}

.page-header__content {
    min-width: 0;
}

.page-header--upper-level h1,
.page-header--topic-specific h1 {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-15);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.page-header__media {
    display: flex;
    gap: var(--idsa-padding-md);
    align-items: center;
    width: 100%;
    min-width: 0;
}

.page-header--upper-level .page-header__media img {
    display: block;
    width: 100%;
    min-width: 0;
    aspect-ratio: 503 / 200;
    object-fit: cover;
    border-radius: var(--idsa-radius-xl);
}

/* Topic-specific header markup: a layered square media tile followed by a layered pill. */
.page-header__media-tile,
.page-header__media-pill {
    position: relative;
    flex: 0 0 auto;
    overflow: hidden;
}

.page-header__media-tile {
    width: calc((100% - var(--idsa-padding-md)) / 3);
    aspect-ratio: 1;
    border-radius: var(--idsa-radius-xl);
}

.page-header__media-pill {
    width: calc(((100% - var(--idsa-padding-md)) / 3) * 2);
    aspect-ratio: 2;
    border-radius: var(--idsa-radius-round);
}

.page-header__media-tile img,
.page-header__media-pill img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1130px) {
    .page-header--upper-level {
        grid-template-columns: minmax(0, 1fr) minmax(0, 42%);
    }

    .page-header--topic-specific {
        grid-template-columns: minmax(0, 1fr) minmax(0, 52%);
    }

    .page-header--upper-level h1,
    .page-header--topic-specific h1 {
        font-size: var(--idsa-fs-12);
    }
}

@media (max-width: 750px) {
    .page-header--upper-level,
    .page-header--topic-specific {
        grid-template-columns: 1fr;
        gap: var(--idsa-gutter-sm);
    }

    .page-header__media {
        gap: var(--idsa-padding-md);
    }

    .page-header--upper-level h1,
    .page-header--topic-specific h1 {
        font-size: var(--idsa-fs-10);
    }
}

.page-header.issue__listing {
    padding: var(--idsa-padding-md);
    justify-content: center;
    border-radius: var(--idsa-radius-xl) var(--idsa-radius-xl) 0 0;
    overflow: hidden;
}

.page-header.issue__listing .page-header__bg{
    opacity: 0.1;
}


.page-header .issue__title, .page-header .issue__subtitle {
    margin-bottom: 0;
}

.page-header h1 {
    position: relative;
}

.page-header__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: inset(0 0 0 0 round var(--idsa-radius-round) 0 0 0);
}

.page-header__thumbnail {
    width: 230px;
    position: absolute;
    right: 24px;
    bottom: -157.91px;
}

@media (max-width: 605px){
    .page-header__thumbnail {
        display: none;
    }
}


.page-submenu {
    overflow-y: scroll;
    margin-left: calc(-1 * var(--idsa-gutter-xs));
    margin-right: calc(-1 * var(--idsa-gutter-xs));
    padding-left: var(--idsa-gutter-xs);
    padding-right: var(--idsa-gutter-xs);
    width: calc(100% + (2 * var(--idsa-gutter-xs)));
    scroll-margin-top: var(--idsa-padding-xs);
    margin-bottom: var(--idsa-padding-sm);
    --fade-l: var(--idsa-gutter-xs, 6px);
    --fade-r: var(--idsa-gutter-xs, 6px);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mask-mode: match-source;
    border-bottom: 1px solid var(--border-regular);
}

.page-submenu__links {
    display: flex;
    padding: var(--idsa-padding-smedium) 0;
    justify-content: center;
    align-items: center;
    gap: var(--idsa-gutter-sm);
    align-self: stretch;
}

.page-submenu .btn--primary-text {
    font-family: var(--idsa-header-font);
}

/* Content header navigation */
.content__header-nav {
    position: relative;
    z-index: 3;
    display: grid;
    width: calc((100vw - 100%) + 100%);
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    background-color: var(--background-secondary);
    padding: 0 var(--idsa-spacing-3);
}

.content__header-nav .horizontal-scroll {
    scrollbar-width: none;
    overflow-x: scroll;
    box-sizing: border-box;
    width: 100%;
    max-width: 75rem;
    margin: 0;
    margin-inline: auto;
    padding: 0;
    --fade-l: 0;
    --fade-r: 0;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    mask-mode: match-source;
}

.content__header-nav .horizontal-scroll::-webkit-scrollbar {
    display: none;
}

.content__header-nav-list {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0 var(--idsa-spacing-2);
    list-style: none;
}

@media (max-width: 970px) {
    .content__header-nav-list {
        padding-inline: var(--idsa-padding-md);
    }
}

.content__header-nav-list > li {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.content__header-nav-list .btn {
    padding: var(--idsa-spacing-4) var(--idsa-spacing-5);
    white-space: nowrap;
}

.content__header-nav-list .btn-active {
    color: var(--idsa-primary-blue);
}

.content__header-nav-list .bi {
    margin-left: var(--idsa-spacing-2);
    font-size: 0.875em;
}

.content__header-nav-list .sub-nav-separator {
    align-self: stretch;
    width: 1px;
    min-height: 1.5rem;
    margin: 0 var(--idsa-spacing-2);
    background: var(--idsa-gray-200);
}

.content__header-nav--news .content__header-nav-list {
    gap: var(--idsa-gutter-lg);
}

.content__header-nav--news .content__header-nav-list .btn {
    min-width: 1.5rem;
    min-height: 1.5rem;
    gap: var(--idsa-spacing-4);
    padding: var(--idsa-padding-smedium) 0;
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1;
}

.content__header-nav--news .content__header-nav-list .sub-nav-separator {
    min-height: 100%;
    margin: 0;
}

.content__header-nav--news .content__header-nav-list .bi {
    margin-left: 0;
}

.content__header-nav--news {
    isolation: isolate;
}

.content__header-nav-scroll-prev,
.content__header-nav-scroll-next {
    position: absolute;
    top: 0;
    right: max(var(--idsa-spacing-3), calc((100% - 75rem) / 2));
    z-index: 4;
    display: flex;
    width: 8.25rem;
    height: 100%;
    align-items: center;
    justify-content: flex-end;
    background: linear-gradient(to right, transparent, var(--background-secondary));
}

.content__header-nav-scroll-prev {
    left: max(var(--idsa-spacing-3), calc((100% - 75rem) / 2));
    right: auto;
    justify-content: flex-start;
    background: linear-gradient(to left, transparent, var(--background-secondary));
}

.content__header-nav-scroll-prev[hidden],
.content__header-nav-scroll-next[hidden] {
    display: none;
}

.content__header-nav-scroll-prev .btn,
.content__header-nav-scroll-next .btn {
    width: 2.5rem;
    min-width: 1.5rem;
    height: 2.5rem;
    min-height: 1.5rem;
    padding: var(--idsa-spacing-4);
    border-radius: var(--idsa-radius-round);
}

.content__header-nav-scroll-prev .btn:focus-visible,
.content__header-nav-scroll-next .btn:focus-visible {
    outline: 3px solid var(--border-focused);
    outline-offset: 2px;
}

.content__header-nav-scroll-prev .btn .bi,
.content__header-nav-scroll-next .btn .bi {
    margin: 0;
    font-size: .75rem;
}

.card--story-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: visible;
    border-radius: var(--idsa-radius-xl) var(--idsa-radius-xl) 0 0;
    margin-top: 0;
}

.card--story-main .thumbnail, 
.card--story-main  .thumbnail img {
    aspect-ratio: 3 / 2;
}

.card--story-main p {
    color: var(--text-body-primary);
}

.card.card--story-secondary.card--stretched-link {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--idsa-padding-lg) 0;
    background-color: transparent;
    border: 0;
    border-top: 1.5px solid var(--border-regular);
    border-radius: 0;
    overflow: hidden;
    transition: var(--idsa-anim-fast);
}

.card.card--story-secondary.card--stretched-link:hover,
.card.card--story-secondary.card--stretched-link:focus-within {
    background-color: transparent;
    border-top: 1.5px solid var(--idsa-green-500);
    box-shadow: none;
    transition: var(--idsa-anim-fast);
}

.card.card--story-secondary.card--stretched-link .card__body {
    width: 100%;
    justify-content: flex-start;
    gap: 0;
    margin: 0;
}

.card.card--story-secondary.card--stretched-link .thumbnail--article {
    width: 100%;
    aspect-ratio: 276 / 135;
    margin-bottom: var(--idsa-spacing-5);
    overflow: hidden;
    border-radius: var(--idsa-radius-xl);
}

.card.card--story-secondary.card--stretched-link .thumbnail--article img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card.card--story-secondary.card--stretched-link .card__body > .badge {
    margin: var(--idsa-spacing-2) 0;
}

.card.card--story-secondary.card--stretched-link h6 {
    margin: 0;
    padding: var(--idsa-spacing-3) 0 var(--idsa-spacing-2);
    color: var(--text-primary);
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.card.card--story-secondary.card--stretched-link h6 a {
    color: inherit;
    text-decoration: none;
}

.card.card--story-secondary.card--stretched-link:hover h6 a,
.card.card--story-secondary.card--stretched-link:focus-within h6 a {
    color: var(--text-secondary);
}

.card.card--story-secondary.card--stretched-link .horz-list {
    gap: var(--idsa-spacing-8);
    margin: 0;
    padding: var(--idsa-spacing-2) 0;
}

.card.card--story-secondary.card--stretched-link .horz-list__item p {
    margin: 0;
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
    text-transform: none;
}

.card--expert-commentary {
    display: flex;
    padding: var(--idsa-padding-md);
    gap: var(--idsa-gutter-sm);
    flex-direction: row;
    align-items: flex-start;
    align-self: stretch;
    border-radius: var(--idsa-radius-xl);
    background: var(--idsa-bg-grey);
}

.card--expert-commentary .btn--sm{
    font-size: var(--idsa-fs-3);
    padding: var(--idsa-spacing-2) var(--idsa-spacing-2);
    background: var(--text-primary);
    border-color: var(--text-primary);
    border-radius: var(--idsa-radius-2xl);
    padding: var(--idsa-spacing-6) var(--idsa-spacing-10);    
}

@media (max-width: 768px){
    .page-submenu__links {
        display: flex;
        justify-content: flex-start;
    }
}

@media (max-width: 625px){
    .card--expert-commentary {
        border-radius: 56px 0 0 0;
    }
}


.position-sticky .card--story-secondary:first-of-type {
    /* border-radius: var(--idsa-radius-xl) 0 0 0; */
}

.card--story-main h3, .card--story-secondary h6, .card--expert-commentary h6 {
    margin-bottom: var(--idsa-padding-xs);
}


.card--story-quote {
    background: var(--idsa-primary-blue-20);
    border-radius: 0 var(--idsa-radius-xl) 0 0;
    border: 0px solid transparent;
    position: relative;
    padding: var(--idsa-padding-md) var(--idsa-padding-md) 0 var(--idsa-padding-md);
    overflow: visible;
    margin-top: 0;
    margin-bottom: var(--idsa-padding-md);
}

/* Card tail */
.card--story-quote::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: -1px;
    width: 30px;
    height: 20px;
    background: var(--idsa-primary-blue-20);
    clip-path: polygon(0 0, 100% 0, 0 100%);
}


/* OLD Article Page Styles */

.card--thumb-top{
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
}


.featured-articles{
    align-items: flex-start;
}

.featured-articles__secondary-wrapper{
    
}


.featured-articles__secondary{
    height: 100%;
}

.online-first .card__header{
    padding: 0 .5rem 1rem .5rem;
}

.online-first .card__body, .online-first .card__footer{
    padding: 0;
}

.online-first .list-item {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 1.5rem 0;
    padding: 0 0 1.5rem 0;
    align-items: flex-start;
    overflow: auto;
    gap: 1rem;
}

.online-first .list-item .list-thumb {
    margin: 0;
    order: 1;
    flex: 1 1 200px;
}

.online-first .list-item .card__copy {
    width: auto;
    order: 2;
    margin-bottom: 0;
    padding: 0 .5rem 0 .5rem;
    flex: 2 1 300px;
    overflow: auto;
}

@media (max-width: 880px) {
    .home-top-features .grid--9col {
        grid-template-columns: 1fr !important;
    }
    
    .online-first.grid-span--3col, .featured-articles.grid-span--6col{
        grid-column: span 1;
    }
    
    .online-first.sticky-top, .featured-articles.sticky-top{
        position: relative;
        top: 0px;
    }
    
    .featured-articles{
        order: 1;
    }
    
    .online-first{
        order: 3;
    }
    
    .featured-articles__primary.grid-span--6col{
        grid-column: span 6;
    }

    .featured-articles__secondary-wrapper.grid-span--6col{
        grid-column: span 6;
    }
    
    .featured-articles__secondary.grid-span--3col{
        grid-column: span 3;
    }
    
    .online-first .list-item {
        padding: 0 0.5rem 1.5rem 0.5rem;
    }
    
    .online-first .list-item .list-thumb {
        order: 2;
    }
    
    .online-first .list-item .card__copy {
        order: 1;
        padding: 0;
    }

}

@media (max-width: 730px) {
    .featured-articles__primary.grid-span--6col {
        position: relative;
        top: 0;
        grid-column: span 6;
    }
    
    .featured-articles__secondary-wrapper.grid-span--6col {
        position: relative;
        top: 0;
        grid-column: span 6;
    }
    
    .featured-articles__secondary.grid-span--3col {
        grid-column: span 6;
        gap: 1rem;
    }
    
    .featured-articles__secondary .thumb-image {
      order: 2;
    }

    .featured-articles__secondary .card__copy {
        flex: 1 1 300px;
        order: 1;
    }
}

@media (max-width: 587px) {
     .online-first .list-item .list-thumb {
        order: 1;
      }
    .online-first .list-item .card__copy {
        order: 2;
      }
}

@media (max-width: 571px) {
    .featured-articles__secondary .thumb-image {
      order: 1;
    }

    .featured-articles__secondary .card__copy {
        order: 2;
    }
}



@media (max-width: 1000px) {
    .section--submit-subscribe .grid-span--6col{
        grid-column: span 12;
    }

    .grid--list .grid-span--6col {
        grid-column: span 12;
    }
}



.section--featured-ed .card__body--2-col, .section--featured-events .card__body--2-col{
    grid-template-columns: 5fr 7fr;
}

@media (max-width: 900px) {
  .section--featured-ed .card__body--2-col, .section--featured-events .card__body--2-col{
        grid-template-columns: 1fr;
    }  
    
    .card__featured-li {
        padding-bottom: 1.5rem;
      border-bottom: 1px solid var(--idsa-primary-30);
    }
}













/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* Subpage Styles */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------ */



/* OLD Article Page Styles */

.article {
    background-color: var(--idsa-white);
    border: 0px solid transparent;
    padding: var(--idsa-padding-body);
    position: relative;
}

article p {
    color: var(--text-primary);
    font-size: var(--idsa-fs-4);
}

.article__header{
    padding-bottom: var(--idsa-padding-lg);
    border-bottom: 0;
}

.article.video-article .article__header{
    padding: 0;
}

.article__header .horz-list {
    margin: var(--idsa-padding-smedium) 0;
}

.horz-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-sm);
    align-items: center;
    justify-content: flex-start;
    list-style: none;
    padding: 0;
    margin: 0;
}

.horz-list__item {
    position: relative;
    left: var(--idsa-spacing-2);
    display: flex;
    /*padding-top: var(--idsa-padding-smedium);*/
    align-items: center;
    left: 0;
}

.horz-list__item p {
    font-size: var(--idsa-fs-2);
    color: var(--text-tertiary);
    font-weight: var(--idsa-fw-regular);
    text-transform: uppercase;
}

.article__header-socials {
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-sm);
    justify-content: flex-start;
    position: absolute;
    top: 6px;
    right: 0;
}

@media (max-width: 970px){
    .article__header-socials {
        top: var(--idsa-padding-sm);
        right: 0;
    }     
}

/* .article__header-socials a.btn--secondary, .article__header-socials.btn--secondary  {
    padding: var(--idsa-padding-sm);
    border-radius: var(--idsa-radius-2xl);
} */

.article__header-socials .material-symbols-outlined {
    max-width: var(--idsa-spacing-5);
    max-height: var(--idsa-spacing-5);
    font-size: var(--idsa-spacing-5);
    line-height: 1;
}

.article__header-badges {
    display: flex;
    gap: var(--idsa-gutter-sm);
    padding: var(--idsa-padding-sm) 0;
    flex-wrap: wrap;
    max-width: 600px;
}

.authors-list {
    margin: 1.5rem 0;
    line-height: 31px;
    font-size: .65rem;
}

.article__header .author-name, .article__header a.author-name {
    color: var(--idsa-gray-70);
    font-weight: 400;
    font-size: 0.875rem;
    text-transform: initial;
}

.article__header a.author-name:hover {
    color: var(--idsa-primary-clr);
}


@media (max-width: 1141px){
    .article__header-badges {
        max-width: 430px;
    } 
}

@media (max-width: 970px){
    .article__header-badges {
        max-width: 580px;
    } 
}

@media (max-width: 800px){
    .article__header-badges {
        max-width: 410px;
    } 
}

@media (max-width: 650px){
    .article__header-badges {
        max-width: 100%;
    } 
}


/* Actions Bar (Tab) Styles : START */
/* -------------------------------- */

.aga-tabs {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

/* Wrap list + actions side-by-side */
.aga-tabs__header {
    position: relative;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background-color: var(--idsa-bg-grey);
    border-radius: var(--idsa-radius-round) 0 0 0;
}


/* Action buttons container */
.aga-tabs__actions {
    position: absolute;
    top: -2px;
    right: -7px;
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-sm);
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
}

.aga-tabs__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
    gap: var(--idsa-padding-sm);
    list-style: none;
}

.aga-tabs__item {
    margin: 0;
}

.aga-tabs--vertical {
    flex-direction: row;
}

.aga-tabs--vertical .aga-tabs__list {
    flex-direction: column;
}

.aga-tabs--vertical .aga-tabs__panels {
    flex: 1;
    padding: 1rem;
}

.aga-tabs__tab {
    appearance: none;
    border: 0;
    background: var(--btn-secondary);
    color: var(--text-secondary);
    padding: 0 var(--idsa-padding-xs);
    font: var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-bold);
    border-radius: var(--idsa-radius-sm);
    cursor: pointer;
    transition: background var(--idsa-anim-fast), color var(--idsa-anim-fast);
    width: 100%;
    text-align: left;

    display: inline-flex;
    align-items: center;
    gap: var(--idsa-gutter-xs);
}

.aga-tabs__icon {
    display: inline-flex;
    flex-shrink: 0;
    width: var(--idsa-padding-smedium);
    height: var(--idsa-padding-smedium);
    fill: currentColor;
}

.aga-tabs__label {
    flex: 1;
}

.aga-tabs__tab:hover {
    color: var(--text-primary-contrastText);
    background-color: var(--btn-primary);
}

.aga-tabs__tab:focus-visible {
    outline: none;
    box-shadow: var(--idsa-primary-blue-50);
}

.aga-tabs__tab[aria-selected="true"] {
    color: var(--text-primary-contrastText);
    background-color: var(--btn-primary);
}

.aga-tabs__tab[disabled],
.aga-tabs__tab[aria-disabled="true"] {
    color: var(--text-secondary);
    opacity: var(--btn-primary-disabled);
    cursor: not-allowed;
    pointer-events: none;
}

.aga-tabs__panels {
    position: relative;
    padding: 0 var(--idsa-padding-xl);
    padding-bottom: 0;
}

.aga-tabs__panel[hidden] {
    display: none;
}

.aga-fade {
    opacity: 0;
    transition: opacity var(--idsa-anim-fast);
}

.aga-fade.aga-show {
    opacity: 1;
}

/* ------------------------------ */
/* Actions Bar (Tab) Styles : END */


.article__header-title, .article__header .article__title {
    font-size: 2.75rem;
    font-family: var(--idsa-header-font);
    font-weight: var(--idsa-font-weight-medium);
    margin-top: .75rem;
    text-wrap: pretty;
}

.article__teaser, .article__teaser p, .article__teaser ul, .article__teaser li {
    font-size: 1rem;
    color: var(--idsa-gray-70);
    margin-bottom: 0;
}

.article-content {
    padding: 1.5rem 1.5rem 0 1.5rem;
    margin: 0 auto;
    width: 100%;
    max-width: 750px;
}

.article-content h2, .article-content h2.article__title, .bodytext.heading1, .bodytext.subhead1, .action-bar__panel h2 {
    font-size: 2rem;
    font-family: var(--idsa-header-font);
    font-weight: 700;
    margin-top: 2.5rem;
}

.article-content h3, .article-content h3.article__title, .action-bar__panel h3 {
    font-size: 1.5rem;
    font-family: var(--idsa-header-font);
    font-weight: 700;
    margin-top: 1.5rem;
}

.bodytext strong{
    margin-bottom: .5rem;
}

.article-content h4, .article-content h4.article__title, .action-bar__panel h4 {
    font-size: 1.125rem;
    font-family: var(--idsa-body-font);
    font-weight: 800;
    margin-top: 2rem;
}

.article h4{
    font-size: var(--idsa-fs-5);
}

.article-content h5, .article-content .article__title h5, .action-bar__panel h5{
    font-size: 1rem;
    font-family: var(--idsa-body-font);
    font-weight: 800;
    margin-top: 1.5rem;
}

.article-content p{
    font-size: 1rem;
    margin-bottom: 1rem;
}

.article-content hr{
    margin: 1rem 0;
}

.article-content a{
    overflow-wrap: break-word;
    word-break: break-all;
}

.article__callout {
    background-color: transparent;
    border: 1px solid transparent;
    padding: var(--idsa-padding-smedium) var(--idsa-padding-md);
    margin: 0;
    border-radius: var(--idsa-radius-md);
}

.article__callout h2:first-child, .article__callout h3:first-child, .article__callout h4:first-child, .article__callout h5:first-child, .article__callout p:first-child, .article__callout ul:first-child, .article__callout--transcript h2:first-child, .article__callout--transcript h3:first-child, .article__callout--transcript h4:first-child, .article__callout--transcript h5:first-child, .article__callout--transcript p:first-child, .article__callout--transcript ul:first-child {
  margin-top: 0;
}

.article__callout--transcript {
    height: 400px;
    overflow-y: scroll;
    background-color: var(--idsa-bg-grey);
}

.article-content figcaption, .figure__caption, .article__caption {
    font-size: .85rem;
    color: var(--text-tertiary);
    padding-top: .5rem;
    padding-bottom: var(--idsa-padding-lg);
    margin-bottom: 0;
}

.article__references .article__title {
    padding-top: 2rem;
    line-height: 1;
    margin-bottom: 1rem;
}

.article__reference-list {
    list-style: none;
    counter-reset: list-counter;
    padding: 0;
    margin: 0;
}

.article__reference-list li {
    counter-increment: list-counter;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    margin: 8px 0;
}

.article__reference-list li a{
    display: inline-block;
}

.article__reference-list li::before {
    content: counter(list-counter) "   |";
    display: inline-block;
    margin-right: var(--idsa-padding-smedium);
    white-space: pre;
    flex-shrink: 0;
}

@media (max-width: 650px) {
    .article__header-title, .article__header .article__title {
        font-size: 2.25rem;
    }

    .article__teaser, .article__teaser p, .article__teaser ul, .article__teaser li{
        font-size: 1.125rem;
    }
}


/* Article Lightbox Styles : START */
/* -------------------------------- */
/* ------------------------------- */
/* ------------------------ (°_°) */

.article-lightbox-open {
    /* overflow: hidden; */
}

.article-lightbox {
    --article-lightbox-padding-inline: var(--idsa-gutter-md);
    --article-lightbox-padding-block: var(--idsa-padding-xl);
    --article-lightbox-gap: var(--idsa-gutter-sm);
    --article-lightbox-text-color: var(--text-primary-contrastText);
    --article-lightbox-title-size: var(--idsa-fs-3);
    --article-lightbox-title-weight: var(--idsa-fw-bold);
    --article-lightbox-control-offset: var(--idsa-spacing-6);
    --article-lightbox-frame-bg: var(--idsa-black);
    --article-lightbox-frame-shadow: var(--idsa-shadow-lg);
    --article-lightbox-caption-font-size: var(--idsa-fs-4);
    --article-lightbox-focus-outline-color: var(--text-primary-contrastText);
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding: var(--article-lightbox-padding-block) var(--article-lightbox-padding-inline);
    height: 100vh;
    max-height: 100vh;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 220ms ease;
    box-sizing: border-box;
}

.article-lightbox.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 3000;
}

@supports (height: 100svh) {
    .article-lightbox {
        height: 100svh;
        max-height: 100svh;
    }
}

.article-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(36, 42, 34, 0.98) 0%, rgba(36, 42, 34, 0.88) 100%);
}

.article-lightbox__dialog {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    transform: translateY(18px) scale(0.985);
    opacity: 0;
    transition: transform 260ms ease, opacity 260ms ease;
    box-sizing: border-box;
}

.article-lightbox.is-active .article-lightbox__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.article-lightbox__topbar {
    display: block;
    margin-bottom: var(--article-lightbox-gap);
    color: var(--article-lightbox-text-color);
}

.article-lightbox__meta {
    display: block;
    min-width: 0;
}

.article-lightbox__label,
.article-lightbox__counter {
    font-size: var(--article-lightbox-title-size);
    letter-spacing: 0.04em;
}

.article-lightbox__label {
    font-weight: var(--article-lightbox-title-weight);
    display: block;
    min-width: 0;
    color: var(--article-lightbox-text-color);
    transition: opacity 220ms ease;
    margin-bottom: 0;
}

.article-lightbox__counter {
    color: color-mix(in srgb, var(--article-lightbox-text-color) 70%, transparent);
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: .5
}

.article-lightbox__controls {
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-sm);
    flex-wrap: nowrap;
    float: right;
    margin-left: var(--article-lightbox-control-offset);
    margin-bottom: var(--idsa-gutter-xs);
}

.article-lightbox__controls .article-lightbox__button:last-child {
    margin-left: auto;
}

.article-lightbox__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.article-lightbox__button .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--idsa-spacing-6);
    height: var(--idsa-spacing-6);
    line-height: 1;
}

.article-lightbox__button[disabled] {
    opacity: 0.35;
    cursor: default;
}

.article-lightbox__zoom-toggle[aria-pressed="true"] {
    color: var(--text-primary);
    background: var(--btn-primary-rev);
    border-color: var(--btn-primary-rev);
}

.article-lightbox__zoom-toggle[aria-pressed="true"] .fill--clr-1 {
    fill: var(--text-primary);
}

.article-lightbox__frame {
    --article-lightbox-frame-padding: var(--idsa-padding-sm);
    --article-lightbox-frame-padding-bottom: var(--article-lightbox-frame-padding);
    flex: 1 1 auto;
    position: relative;
    overflow: hidden;
    border-radius: var(--idsa-radius-md);
    background: var(--article-lightbox-frame-bg);
    box-shadow: var(--article-lightbox-frame-shadow);
    min-height: 0;
    height: auto;
    padding: var(--article-lightbox-frame-padding) var(--article-lightbox-frame-padding) var(--article-lightbox-frame-padding-bottom);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.article-lightbox__frame:has(.article-lightbox__viewport.has-caption) {
    --article-lightbox-frame-padding-bottom: 0px;
}

.article-lightbox__viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: pan-y;
    --article-lightbox-caption-line-height: 1.6;
    --article-lightbox-caption-collapsed-lines: 1;
    --article-lightbox-caption-preview-lines: 2;
    --article-lightbox-caption-transition: 240ms ease;
    --article-lightbox-caption-rest-height: calc((var(--article-lightbox-caption-font-size) * var(--article-lightbox-caption-line-height)) + (var(--idsa-padding-sm) * 2));
    --article-lightbox-caption-offset: 0px;
}

.article-lightbox__viewport.is-zoomed {
    cursor: grab;
    touch-action: none;
}

.article-lightbox__viewport.is-panning {
    cursor: grabbing;
}

.article-lightbox__panel {
    position: absolute;
    inset: 0 0 var(--article-lightbox-caption-offset) 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transform: translateX(0);
    transition: transform 280ms ease, opacity 280ms ease;
}

.article-lightbox__viewport.has-caption {
    --article-lightbox-caption-offset: var(--article-lightbox-caption-rest-height);
}

.article-lightbox__panel.is-entering-from-next,
.article-lightbox__panel.is-entering-from-prev,
.article-lightbox__panel.is-exiting-to-next,
.article-lightbox__panel.is-exiting-to-prev {
    will-change: transform, opacity;
}

.article-lightbox__panel.is-entering-from-next {
    opacity: 0;
    transform: translateX(8%);
}

.article-lightbox__panel.is-entering-from-prev {
    opacity: 0;
    transform: translateX(-8%);
}

.article-lightbox__panel.is-exiting-to-next {
    opacity: 0;
    transform: translateX(-8%);
}

.article-lightbox__panel.is-exiting-to-prev {
    opacity: 0;
    transform: translateX(8%);
}

.article-lightbox__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    transform: translate3d(0, 0, 0) scale(1);
    transform-origin: center center;
    transition: transform 180ms ease;
    will-change: transform;
}

.article-lightbox__viewport.is-panning .article-lightbox__image {
    transition: none;
}

.article-lightbox__zoom-ui {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3;
    width: min(18rem, calc(100% - (var(--idsa-padding-sm) * 2)));
    padding: var(--idsa-padding-sm);
    border: 1px solid color-mix(in srgb, var(--article-lightbox-text-color) 18%, transparent);
    border-top: none;
    border-right: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: var(--idsa-radius-md);
    background: color-mix(in srgb, var(--idsa-black) 82%, transparent);
    color: var(--article-lightbox-text-color);
    backdrop-filter: blur(12px);
    box-shadow: var(--idsa-shadow-lg);
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(calc(100% + var(--idsa-padding-xs)), 0, 0);
    transform-origin: top right;
    transition: opacity 220ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1), visibility 220ms ease;
}

.article-lightbox__zoom-ui.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

.article-lightbox__zoom-header,
.article-lightbox__zoom-footer {
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-xs);
}

.article-lightbox__zoom-header {
    margin-bottom: var(--idsa-padding-xs);
}

.article-lightbox__zoom-footer {
    margin-top: var(--idsa-padding-sm);
}

.article-lightbox__zoom-label,
.article-lightbox__zoom-value {
    font-size: var(--idsa-fs-5);
    margin: 0;
    white-space: nowrap;
}

.article-lightbox__zoom-value {
    min-width: 3.5em;
    text-align: left;
    color: color-mix(in srgb, var(--article-lightbox-text-color) 45%, transparent);
}

.article-lightbox__zoom-range {
    width: 100%;
    flex: 1 1 auto;
    accent-color: var(--article-lightbox-text-color);
}

.article-lightbox__zoom-close {
    margin-left: auto;
    color: var(--article-lightbox-text-color);
    min-height: 0;
    min-width: 0;
}

.article-lightbox__zoom-close:hover,
.article-lightbox__zoom-close:focus,
.article-lightbox__zoom-close:active {
    color: var(--article-lightbox-text-color);
}

.article-lightbox__minimap {
    --article-lightbox-minimap-aspect-ratio: 4 / 3;
    position: relative;
    width: 100%;
    aspect-ratio: var(--article-lightbox-minimap-aspect-ratio);
    margin: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--article-lightbox-text-color) 30%, transparent);
    border-radius: var(--idsa-radius-sm);
    background: color-mix(in srgb, var(--idsa-black) 80%, transparent);
}

.article-lightbox__minimap-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.78;
}

.article-lightbox__minimap-viewport {
    position: absolute;
    border: 2px solid var(--article-lightbox-text-color);
    background: color-mix(in srgb, var(--article-lightbox-text-color) 18%, transparent);
    box-shadow: 0 0 0 999px color-mix(in srgb, var(--idsa-black) 28%, transparent);
    cursor: grab;
    touch-action: none;
}

.article-lightbox__minimap.is-dragging .article-lightbox__minimap-viewport {
    cursor: grabbing;
}

.article-lightbox__label.is-transitioning-next,
.article-lightbox__label.is-transitioning-prev {
    opacity: 0;
}

.article-lightbox__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.article-lightbox__caption-wrap {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: var(--idsa-padding-sm);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.75) 100%);
    opacity: 0;
    transform: translateY(var(--idsa-spacing-6));
    transition: opacity var(--article-lightbox-caption-transition), transform var(--article-lightbox-caption-transition), background 180ms ease;
    box-sizing: border-box;
}

.article-lightbox__caption-wrap.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.article-lightbox__caption-wrap:focus-visible {
    outline: 2px solid var(--article-lightbox-focus-outline-color);
    outline-offset: -2px;
}

.article-lightbox__viewport.is-caption-expandable .article-lightbox__caption-wrap:not(.is-expanded) {
    cursor: pointer;
}

.article-lightbox__caption-wrap:hover,
.article-lightbox__caption-wrap:focus-within {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.88) 100%);
}

.article-lightbox__caption-copy {
    width: 100%;
    position: relative;
}

.article-lightbox__caption-text {
    margin: 0;
    color: color-mix(in srgb, var(--article-lightbox-text-color) 92%, transparent);
    font-size: var(--article-lightbox-caption-font-size);
    line-height: var(--article-lightbox-caption-line-height);
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    max-height: calc(var(--article-lightbox-caption-font-size) * var(--article-lightbox-caption-line-height) * var(--article-lightbox-caption-collapsed-lines));
    padding-right: calc(var(--idsa-spacing-23) + var(--idsa-gutter-xs));
    transition: max-height var(--article-lightbox-caption-transition), padding-right var(--article-lightbox-caption-transition);
}

.article-lightbox__caption-wrap:hover .article-lightbox__caption-text,
.article-lightbox__caption-wrap:focus-within .article-lightbox__caption-text {
    -webkit-line-clamp: 2;
    line-clamp: 2;
    max-height: calc(var(--article-lightbox-caption-font-size) * var(--article-lightbox-caption-line-height) * var(--article-lightbox-caption-preview-lines));
}

.article-lightbox__caption-wrap.is-expanded .article-lightbox__caption-text {
    display: block;
    max-height: min(45vh, 18rem);
    overflow: auto;
    padding-right: var(--idsa-padding-xs);
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

.article-lightbox__caption-wrap.is-expanded .article-lightbox__caption-copy {
    display: flex;
    flex-direction: column;
}

.article-lightbox__caption-toggle {
    position: absolute;
    right: 0;
    bottom: 0;
    padding-inline: 0;
    min-height: 0;
    color: var(--article-lightbox-text-color);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    background: transparent;
    border-color: transparent;
}

.article-lightbox__caption-toggle:hover,
.article-lightbox__caption-toggle:focus,
.article-lightbox__caption-toggle:active {
    color: var(--article-lightbox-text-color);
    background: transparent;
    border-color: transparent;
}

.article-lightbox__caption-wrap.is-expanded .article-lightbox__caption-toggle {
    position: static;
    display: inline-flex;
    margin-top: var(--idsa-spacing-3);
    align-self: flex-end;
}

.article-lightbox__caption-toggle[hidden],
.article-lightbox__caption-wrap[hidden] {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .article-lightbox,
    .article-lightbox__dialog,
    .article-lightbox__panel,
    .article-lightbox__label,
    .article-lightbox__caption-wrap,
    .article-lightbox__caption-text {
        transition: none !important;
    }

    .article-lightbox__image {
        transition: none !important;
    }
}

@media (max-width: 767px) {
    .article-lightbox {
        --article-lightbox-padding-inline: var(--idsa-gutter-xs);
        --article-lightbox-padding-block: var(--idsa-padding-md);
    }

    .article-lightbox__caption-wrap {
        padding: var(--idsa-padding-xs);
    }

    .article-lightbox__viewport {
        --article-lightbox-caption-rest-height: calc((var(--article-lightbox-caption-font-size) * var(--article-lightbox-caption-line-height)) + (var(--idsa-padding-xs) * 2));
    }

    .article-lightbox__frame {
        --article-lightbox-frame-padding: var(--idsa-padding-xs);
        border-radius: var(--idsa-radius-sm);
    }

    .article-lightbox__zoom-ui {
        right: var(--idsa-padding-xs);
        top: var(--idsa-padding-xs);
    }

    .article-lightbox__label {
        display: block;
    }
}

/* Article Lightbox Styles : END */

.article__reference-list li span {
    flex-grow: 1;
    white-space: normal;
}

.article__reference-list li span a{
    text-decoration: underline;
}

/* Not styled yet. Work on when there is extra time */
.article__reference-list--numbers li::before{
    list-style: none;
}
/* Not styled yet. Work on when there is extra time */

.page-layout--article .action-bar__panel .article__references {
    display: grid;
    gap: 1rem;
    width: 100%;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--idsa-gray-400);
}

.page-layout--article .action-bar__panel .article__references-header {
    display: flex;
    align-items: center;
    gap: var(--idsa-spacing-4);
    width: 100%;
}

.page-layout--article .action-bar__panel .article__references-title {
    flex: 1 1 auto;
    margin: 0;
    color: #33542b;
    font-family: "Domine", var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-bold);
    line-height: 1.2;
}

.article__references-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
}

.article__references-toggle .material-symbols-outlined {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.5rem;
    line-height: 1;
}

.page-layout--article .action-bar__panel .article__references .article__reference-list {
    display: grid;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: none;
}

.page-layout--article .action-bar__panel .article__references .article__reference-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
    margin: 0;
}

.page-layout--article .action-bar__panel .article__references .article__reference-list li::before {
    content: none;
}

.article__reference-item {
    display: grid;
}

.article__reference-number {
    color: var(--text-primary);
    font-family: "Lato", var(--idsa-body-font);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.5;
}

.page-layout--article .action-bar__panel .article__reference-copy {
    margin: 0;
    padding-bottom: var(--idsa-spacing-2);
    color: var(--text-primary);
    font-family: "Lato", var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
}

.article__reference-copy a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
    overflow-wrap: anywhere;
}

@media (max-width: 650px) {
    .page-layout--article .action-bar__panel .article__references {
        padding: var(--idsa-padding-md);
    }
}

.article__reference{
    position: relative;
    overflow: hidden;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--idsa-gray-30);
}

.article__reference:last-child{
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0px solid transparent;
}

.article__reference .article__reference-content{
    margin-bottom: 0;
}

.article__reference-buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 0 .25rem;
    margin: .75rem 0 0 0;
    position: relative;
    left: calc(-1rem - 1px);
    overflow: hidden;
}

.article__reference-button{
    margin: 0 0 0 .5rem;
    padding: 0 0 0 .5rem;
    border-left: 1px solid var(--idsa-gray-30);
    line-height: 1;
    break-inside: avoid-column;
    display: inline-flex;
    gap: .5rem;
    align-items: center;
}


.article__list-container {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-gutter-lg);
    z-index: 2;
}

.article__list-container .list-card {
    /* padding-bottom: var(--idsa-padding-xl); */
    border-bottom: 1px solid var(--border-regular);
}

.area--results-col.search-page__results .article__list-container .list-card {
    /* padding-bottom: var(--idsa-padding-xl); */
    border-bottom: 0;
}

.area--topic-grid__list .article__list-container {
    gap: 0;
    padding-bottom: var(--idsa-spacing-8);
}

.card.list-card.card--stretched-link {
    min-height: 17.0625rem;
    gap: var(--idsa-spacing-8);
    padding: 2rem 0;
    background-color: transparent;
    border: 0;
    border-top: 1.5px solid var(--border-regular);
    border-radius: 0;
    transition: var(--idsa-anim-normal);
}

.card.list-card.card--stretched-link:hover,
.card.list-card.card--stretched-link:focus-within {
    background-color: transparent;
    border-top: 1.5px solid var(--idsa-green-500);
    box-shadow: none;
    transition: var(--idsa-anim-normal);
}

.card.list-card.card--stretched-link .time-stamp {
    flex: 0 0 6rem;
    width: 6rem;
}

.card.list-card.card--stretched-link .card__body {
    flex: 1 1 auto;
    max-width: 32.75rem;
    margin: 0;
    gap: 0;
}

.card.list-card.card--stretched-link :is(.badge-row, .article__header-badges) {
    gap: var(--idsa-spacing-5);
    padding: 0 0 1rem;
}

.card.list-card.card--stretched-link .card__body :is(h4, h5) {
    margin-bottom: 0;
    padding: 0;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-7);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.card.list-card.card--stretched-link .card__body :is(h4, h5) a {
    color: var(--idsa-green-500);
}

.card.list-card.card--stretched-link:hover .card__body :is(h4, h5) a,
.card.list-card.card--stretched-link:focus-within .card__body :is(h4, h5) a {
    color: var(--text-secondary);
}

.card.list-card.card--stretched-link .horz-list {
    gap: var(--idsa-spacing-7);
    margin-bottom: 0;
    padding: .25rem 0;
}

.card.list-card.card--stretched-link .horz-list__item p {
    color: var(--text-tertiary);
    font-size: var(--idsa-fs-2);
    line-height: 1.4;
}

.card.list-card.card--stretched-link .card__body > p {
    margin: 0;
    padding-top: .75rem;
    color: var(--text-secondary);
    font-size: var(--idsa-fs-4);
    line-height: 1.4;
}

.card.list-card.card--stretched-link .thumbnail--article {
    width: 12.5rem;
    aspect-ratio: 16 / 9;
    border-radius: var(--idsa-radius-lg);
    overflow: hidden;
}

.card.list-card.card--stretched-link .thumbnail--article img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section__body-actions {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
}

.area--topic-grid__list .section__body-action .icon {
    width: 1rem;
    height: 1rem;
}

.page-layout--listing .section__body-actions {
    display: flex;
    justify-content: center;
}



.article__author-card {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 8.5rem;
    margin-bottom: var(--idsa-padding-lg);
    overflow: hidden;
    background: transparent;
    border: 0;
    padding: var(--idsa-spacing-8) 0 0 0;
}

.article__author-image {
    flex: 0 0 8.5rem;
    width: 8.5rem;
    height: 8.5rem;
    border-radius: var(--idsa-radius-round);
    object-fit: cover;
}

.article__author-content {
    display: grid;
    gap: var(--idsa-padding-sm);
    min-width: 12.5rem;
    padding: 0;
}

.article__author-header {
    display: grid;
    gap: 0.75rem;
}

.page-layout--article .action-bar__panel .article__author-title {
    margin: 0;
    color: var(--text-primary);
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-medium);
    line-height: 1.4;
}

.page-layout--article .action-bar__panel .article__author-role {
    margin: 0;
    color: var(--text-primary);
    font-family: "Lato", var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
}

.article__author-link {
    color: var(--text-primary);
    font-family: "Lato", var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-font-weight-semibold);
    line-height: normal;
    text-decoration: underline;
    text-underline-offset: 0.125rem;
}

.article__author-link:hover,
.article__author-link:focus {
    color: var(--text-primary-hover);
}

@media (max-width: 650px){
    .article__author-card {
        align-items: flex-start;
        min-height: 0;
    }

    .article__author-image {
        flex-basis: 5rem;
        width: 5rem;
        height: 5rem;
    }

    .article__author-content {
        padding: 0 0 0 var(--idsa-padding-sm);
    }

    .article__header-socials{
        position: relative;
        top: auto;
        right: auto;
        margin: var(--idsa-padding-md) 0;
    }

    .aga-tabs__header {
        flex-wrap: wrap;
        border-radius: var(--idsa-radius-2xl) 0 0 0;
    }

    .aga-tabs__actions {
        position: relative;
        top: auto;
        right: auto;
        display: flex;
        align-items: center;
        padding: var(--idsa-padding-md) var(--idsa-padding-sm);
    }
}

/* Takeaways Styles -------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */
.takeaways__header {
    font-size: var(--idsa-fs-h6-global);
    margin-bottom: var(--idsa-gutter-smedium);
}
.card--takeaway {
	align-items: flex-start;
	flex-direction: row;
	gap: var(--idsa-gutter-smedium);
	padding: var(--idsa-padding-smedium) var(--idsa-padding-md);
}

.takeaways__list {
    display: flex;
    flex-direction: column;
    gap: var(--idsa-gutter-smedium);
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

.card--takeaway .card-body {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--idsa-gutter-sm);
	padding: 0;
}

.card-surface--secondary {
    background-color: var(--card-backgrounds-secondary);
    border-color: var(--border-regular);
    box-shadow: none;
    padding: var(--idsa-padding-lg);
}

.card--takeaway .card-text:last-of-type {
	margin-bottom: 0;
}

.card--takeaway .display {
	color: var(--idsa-primary-blue-40);
	font-size: var(--idsa-fs-h1-display);
	line-height: 1;
	min-width: var(--idsa-fs-h4-display);
}

.card--takeaway .header {
	font-size: var(--idsa-fs-h5-global);
	font-weight: var(--idsa-fw-bold);
	margin-bottom: 0;
}

.number-of-takeaways{
    font-weight: var(--idsa-fw-bold);
}

.panel-takeaways ul {
    display: grid;
    grid-gap: var(--idsa-gutter-sm);
    padding: 0;
}

.panel-takeaways ul .card{
    display: grid;
    grid-template-columns: var(--idsa-fs-h4-display) 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    padding: var(--idsa-padding-lg);
    border-radius: var(--idsa-radius-2xl) 0 0 0;
    box-shadow: 0 0 0 transparent;
    background-color: var(--idsa-bg-grey);
}

.panel-takeaways ul .card .display{
    grid-row: 1/3;
    grid-column: 1/2;
    margin: 0;
    line-height: 0.65;
    font-size: var(--idsa-fs-h1-display);
    color: var(--text-primary);
}

.panel-takeaways ul .card h5.header{
    grid-row: 1/2;
    grid-column: 2/3;
    margin: 0;
}
.panel-takeaways ul .card p{
    grid-row: 1/3;
    grid-column: 2/3;
    margin-bottom: 0;
}

.panel-takeaways .btn {
    white-space: normal;
    text-align: left;
    text-wrap: pretty;
}

/* KOL Commentary Styles -------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.panel-commentary .card {
    box-shadow: 0 0 0 transparent;
}

.panel-commentary .card p {
    font-size: var(--idsa-fs-5);
}

.panel-commentary .card p strong {
    font-weight: var(--idsa-fw-semibold);
}





.additional-links{
    display: flex;
    align-items: center;
    gap: 1rem;
}




.card--more-from .list-thumb--md, .card--more-from .list-thumb.list-thumb--md {
    /* width: 450px; */
    max-width: 450px;
    width: 100%;
}



.list-item--podcast{
    gap: 1rem;
}

.list-item--podcast .card__copy{
    order: 2;
    overflow: auto;
}

.list-item--podcast .list-thumb {
    order: 1;
    margin: 0 0 1.5rem 0rem;
    transition: .2s ease-in-out;
}

.list-item--podcast .list-thumb {
    aspect-ratio: 1/1;
}

.list-item--podcast .list-thumb img, .list-item--podcast .thumb-image img {
    border-radius: 0.25rem;
    width: 100%;
    aspect-ratio: 1/1;
    transition: .2s ease-in-out;
}

/* Chat Container */

.chat__container {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    align-self: stretch;
    flex-direction: row;
}

.chat__container--body {
    display: flex;
    min-width: 10rem;
    max-width: 35rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
}

.chat--right {
    flex-direction: row-reverse;
}

.chat--right .chat__container--body {
    align-items: flex-end;
}

.chat__container--body .chat__container--body-name {
    margin: 0;
    color: var(--idsa-gray-60);

    font-family: var(--idsa-body-font);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.chat__bubble {
    max-width: 600px;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    line-height: 1.5;
}

.chat__bubble .chat__bubble--text {
    color: var(--idsa-body-text);
    font-size: var(--idsa-body-font);
    margin-bottom: 0;
}

.bubble--left {
    position: relative;
    background-color: var(--idsa-gray-10);
    color: var(--idsa-body-text);
    align-self: flex-start;
}

.bubble--right {
    position: relative;
    background-color: var(--idsa-gray-20);
    color: var(--idsa-body-text);
    align-self: flex-end;
}

.bubble--left::after {
    content: "";
    position: absolute;
    left: -5px;
    bottom: 9px;
    width: 16px;
    height: 16px;
    background-color: var(--idsa-gray-10);
    border-bottom-right-radius: 16px;
    transform: rotate(45deg);
}

.bubble--right::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: 9px;
    width: 16px;
    height: 16px;
    background-color: var(--idsa-gray-20);
    border-bottom-left-radius: 16px;
    transform: rotate(-45deg);
}

.peer-perspective {
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.peer-perspective__header {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: .5rem;
    align-items: center;
}

.peer-perspective__item-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.peer-perspective__item-container {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: .75rem;
    border-right: solid 1px #ccc;
    margin: 16px 0 16px 0;
    padding: 0 0 0 0;
    align-items: start;
    grid-auto-rows: minmax(min-content, max-content);
}

.peer-perspective__item-container:first-of-type {
    padding-right: 30px;
}

.peer-perspective__item-container:last-of-type {
    padding-left: 30px;
    border: none;
}

@media screen and (max-width: 600px) {
    .peer-perspective__item-wrapper {
        display: grid;
        grid-template-columns: 1fr;
    }

    .peer-perspective__item-container {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-gap: 15px;
        border-right: none;
        border-bottom: solid 1px #ccc;
        margin: 30px 0 0px 0;
        padding: 0 0 30px 0;
        align-items: start;
    }

    .peer-perspective__item-container:first-of-type {
        padding-right: 0px;
        border-right: none;
    }

    .peer-perspective__item-container:last-of-type {
        padding-left: 0px;
        border-bottom: none;
        border-right: none;
    }

}

.peer-perspective__item-text {
    padding: 0;
    margin: 0;
}

.peer-perspective__item-description {
    grid-column: 1 / -1;
    align-items: start;
}

.case-study__content-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    grid-column-gap: 30px;
}

.case-study__text-col {
    display: block;
    padding: 0;
    max-width: 100%;
}

.case-study__survey-col {
    display: inline-block;
    width: 100%;
    /* max-width: 600px; */
    min-width: 250px;
    background: white;
    padding: 0px;
    margin: 0px 0px 0px 0px;
    align-self: flex-start;
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
}

.survey-card {
    padding: 10px 15px;
    overflow-y: scroll;
    height:515px;
    border-radius: 0.5rem;
    border: 1px solid var(--Gray-200, #E9ECEF);
    background: var(--Gray-100, #F8F9FA);
}

@media screen and (max-width: 900px) {
    .case-study__content-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-row-gap: 30px;
    }
}

/* Footer Styles ----------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

footer {
    margin-top: auto;
    background: var(--idsa-green-500);
    padding: 0 2rem;
    color: #FFFFFF;
}

footer > .container-fluid.max-width {
    max-width: none;
    padding-inline: 0;
}

.footer__main,
.terms-copyright-grid {
    width: min(100%, 75rem);
    margin-inline: auto;
}

.footer__main {
    display: grid;
    grid-template-columns: 26.5rem 1fr;
    gap: var(--idsa-spacing-8);
    padding: 6.25rem 0 3rem;
}

.footer__logo {
    width: 26.5rem;
}

.footer__main .footer__logo .footer__logo-social-logo{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 20.75rem;
    max-width: 100%;
}

.footer__logo-social-logo > a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--idsa-white);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1.1;
    letter-spacing: 0.015em;
    text-align: center;
    text-decoration: none;
}

.footer__logo-social-logo .footer__tagline { 
    max-width: 300px;
}

.footer__logo-social-logo > a svg {
    display: block;
    width: 20.75rem;
    height: auto;
}

.footer__logo-social-logo .icon{
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
}

.footer__logo-social-logo .fill--clr-1 {
    fill: var(--idsa-white);
    transition: var(--idsa-anim-normal);
}

.footer__logo-social-logo .icon:hover .fill--clr-1 {
    fill: var(--idsa-yellow-100);
    transition: var(--idsa-anim-normal);
}

.footer__logo-social-logo .d-flex {
    gap: var(--idsa-spacing-6) !important;
    margin-top: 1rem !important;
}

.footer__logo-social-logo .btn--link {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
}

.footer__logo-social-logo .btn--link svg {
    display: block;
    width: 1.5rem;
    height: auto;
    max-height: 1.5rem;
    flex: 0 0 1.5rem;
}

.footer__logo-social-logo .btn--link svg path {
    fill: currentColor;
}

.footer__cta {
    display: flex;
    justify-content: center;
    width: 20.75rem;
    max-width: 100%;
    margin-top: 2.5rem;
}

footer a.btn.footer__subscribe,
footer a.btn--primary-outlined.footer__subscribe {
    box-sizing: border-box;
    display: inline-flex;
    width: 17.1875rem;
    min-width: 17.1875rem;
    height: 3rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 1rem 2rem;
    color: var(--idsa-green-500);
    background-color: #FEF151;
    border: 0;
    border-radius: var(--idsa-radius-round);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-4);
    font-weight: var(--idsa-fw-semibold);
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

footer a.btn.footer__subscribe svg,
footer a.btn--primary-outlined.footer__subscribe svg {
    width: 1rem;
    height: .875rem;
    flex: 0 0 1rem;
}

footer a.btn.footer__subscribe:hover,
footer a.btn.footer__subscribe:focus,
footer a.btn.footer__subscribe:active,
footer a.btn--primary-outlined.footer__subscribe:hover,
footer a.btn--primary-outlined.footer__subscribe:focus,
footer a.btn--primary-outlined.footer__subscribe:active {
    /* color: var(--text-secondary-contrastText); */
    background-color: var(--idsa-yellow-300);
;
    border: 0;
    box-shadow: none;
}

.footer__main .footer__lists {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 22.3125rem));
    gap: 1.875rem;
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    border-left: solid 1px var(--idsa-gray-40);
}

.footer__link-group {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.footer__title {
    margin: 0;
    color: #FFFFFF;
    font-family: var(--idsa-header-font);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.2;
}

.footer-nav-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-nav-list li {
    margin: 0;
}

.footer-nav-list li a {
    color: var(--text-secondary-contrastText);
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
    text-decoration: none;
}

.footer-nav-list li a:hover {
    color: var(--idsa-gray-40);
    text-decoration: underline;
}

.terms-copyright-grid {
    display: flex;
    justify-content: center;
    padding: 1rem 0 6.25rem;
    border-top: 1px solid rgba(242, 242, 242, 1);
}

.copyright-text p {
    max-width: 49.125rem;
    margin: 0;
    color: #FFFFFF;
    font-family: "Roboto Slab", serif;
    font-weight: var(--idsa-fw-regular);
    font-size: var(--idsa-fs-2);
    line-height: 1.2;
    text-align: center;
}

@media (max-width: 966px) {
    .footer__main {
        grid-template-columns: 1fr;
        gap: var(--idsa-spacing-12);
    }

    .footer__logo,
    .footer__main .footer__logo .footer__logo-social-logo,
    .footer__cta {
        width: 100%;
    }

    .footer__main .footer__lists {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    
    .footer__logo-social-logo .footer__tagline { 
        max-width: 100%;
    }
}

@media (max-width: 634px) {
    footer {
        padding: 0 var(--idsa-spacing-5);
    }

    .footer__main {
        padding: 4rem 0 2.5rem;
        gap: 0;
    }

    .footer__main .footer__lists {
        grid-template-columns: 1fr;
        gap: var(--idsa-spacing-10);
    }

    .footer-nav {
        border-left: none;
        margin-bottom: 0;
        gap: .25rem;
    }    

    .terms-copyright-grid {
        padding-bottom: 4rem;
    }
}

.section--full-width-ad{
    background-color: transparent;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-top: 0px solid transparent;
    border-bottom: 0px solid transparent;
}

.full-width-ad iframe,
.full-width-ad ins {
    max-width: 100%;
}

.banner-ad{
    display: grid;
    margin: 0px auto;
    text-align: center;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    border-bottom: transparent;
    padding: 0;
}

.banner-ad.banner-ad--728x90{
    grid-template-columns: auto auto;
}
    
.banner-ad__text{
    display: inline-block;
    font-size: 8px;
    line-height: 1.1;
    letter-spacing: .025rem;
    text-transform: uppercase;
    text-align: center;
    padding: .35rem .05rem;
    height: auto;
}

.banner-ad__image {
    width: 100%;
}

.banner-ad--728x90 .banner-ad__text{
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin: 0px -0.5px 0px 0px;
    padding: .05rem .35rem;
}

@media screen and (max-width: 560px) {
    .banner-ad.banner-ad--728x90{
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    .ad_728x90_container, .ad_300x250_container{
        display: block;
    }

    .ad_728x90_container .banner-ad__text,
    .banner-ad--728x90 .banner-ad__text{
        writing-mode: horizontal-tb;
        transform: rotate(0deg);
        margin: 0px 0px 0px 0px;
        padding: .35rem .05rem;
        display: block;
    }
}


/* AI DERIVATIVES : START */

/* AI Derivative - Takeaways Styles : START ------ */
/* ---------------------------------------------- */
/* --------------------------------------------- */
/* -------------------------------------- (°_°) */

.number-of-takeaways{
    font-weight: var(--idsa-fw-bold);
}

.panel-takeaways ul {
    display: grid;
    grid-gap: var(--idsa-gutter-sm);
}

.panel-takeaways ul .card{
    display: grid;
    grid-template-columns: var(--idsa-fs-h4-display) 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    padding: var(--idsa-padding-lg);
    box-shadow: 0 0 0 transparent;
    border: 1px solid var(--idsa-secondary-grey-10);
}

.panel-takeaways ul .card .display{
    grid-row: 1/3;
    grid-column: 1/2;
    margin: 0;
    line-height: 0.65;
    font-size: var(--idsa-fs-h1-display);
    font-family: var(--idsa-header-font);
    color: var(--text-primary);
}

.panel-takeaways ul .card h5.header{
    grid-row: 1/2;
    grid-column: 2/3;
    margin: 0;
}
.panel-takeaways ul .card p{
    grid-row: 1/3;
    grid-column: 2/3;
    margin-bottom: 0;
}

/* AI Derivative - Takeaways Styles : END ------ */



/* AI Derivative - Listen Tab Player Styles : START */
/* === Player Container === */
#listen .audio-player {
    width: 100%;
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-sm);
    padding: var(--idsa-padding-sm) var(--idsa-padding-md) var(--idsa-padding-sm) var(--idsa-padding-sm);
    background: var(--background-secondary);
    border: 1px solid var(--border-regular);
    border-radius: var(--idsa-radius-md);
}

#listen .audio-btns {
    display: flex;
    align-items: center;
    gap: var(--idsa-gutter-xs);
}

#listen .audio-btn {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    width: 2.5rem;           /* consistent clickable area */
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--idsa-anim-fast);
    line-height: 0;    
}

#listen .audio-btn svg {
    display: block;
    width: 1.375rem;
    height: 1.375rem;
    fill: var(--text-primary);
}

#listen .audio-btn:hover svg {
    fill: var(--text-primary-hover);
}

#listen .audio-btn:disabled {
    opacity: var(--disabled);
    cursor: not-allowed;
}

/* === Waveform === */
#listen .audio-wave {
    flex: 1 1 auto;
    min-width: 160px;
}

#listen #waveform {
    width: 100%;
    height: 44px;
}

/* === Time === */
#listen .audio-time {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: var(--idsa-fs-3);
    color: var(--text-tertiary);
    white-space: nowrap;
}

/* === Volume Popover === */
#listen .volume-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

#listen .volume-popover {
    position: absolute;
    top: calc(100% + var(--idsa-spacing-2));
    left: 50%;
    transform: translateX(-50%);
    padding: var(--idsa-padding-xs) var(--idsa-padding-sm);
    background: var(--background-primary);
    border: 1px solid var(--border-regular);
    border-radius: var(--idsa-radius-sm);
    box-shadow: var(--idsa-shadow-sm);
    z-index: 10;
}

#listen .volume-popover[hidden] {
    display: none;
}

#listen .volume__range {
    width: 110px;
    height: 6px;
    appearance: none;
    background: var(--border-regular);
    border-radius: var(--idsa-radius-round);
    outline: none;
}

#listen .volume__range:focus-visible {
    box-shadow: 0 0 0 2px var(--btn-focusedBorder);
}

#listen .volume__range::-webkit-slider-thumb {
    appearance: none;
    width: 14px;
    height: 14px;
    background: var(--idsa-primary-blue-60);
    border-radius: var(--idsa-radius-round);
    border: 2px solid var(--background-primary);
    cursor: pointer;
}

#listen .volume__range::-moz-range-thumb {
    width: 14px;
    height: 14px;
    background: var(--idsa-primary-blue-60);
    border-radius: var(--idsa-radius-round);
    border: 2px solid var(--background-primary);
    cursor: pointer;
}

/* === Screen-reader only === */
#listen .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}
/* AI Derivative - Listen Tab Player Styles : END */


/* AI Derivative - Author Profile Modal Styles : START ------ */
/* ---------------------------------------------- */
/* --------------------------------------------- */
/* -------------------------------------- (°_°) */
.author-profile-link {
    font-weight: 600;
}

.author-profile-modal .modal-dialog {
    max-width: 1080px;
}

.author-profile-modal .modal-content {
    padding: var(--idsa-padding-xl);
    border: 0;
    border-radius: var(--idsa-radius-lg);
    box-shadow: var(--idsa-shadow-lg);
}

.author-profile-modal .modal-body {
    position: relative;
    padding: 0;
}

.author-profile-modal__close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}

.author-profile-modal__layout {
    display: grid;
    gap: var(--idsa-gutter-lg);
}

.author-profile-modal__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--idsa-gutter-md);
    align-items: start;
}

.author-profile-modal__header:has(.author-profile-modal__avatar) {
    grid-template-columns: 160px minmax(0, 1fr);
}

.author-profile-modal__avatar {
    width: 160px;
    height: 160px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--border-regular);
}

.author-profile-modal__title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
    margin-bottom: var(--idsa-spacing-2);
}

.author-profile-modal__title-row h2,
.author-profile-modal__title-row p {
    margin: 0;
}

.author-profile-modal__role {
    margin-bottom: var(--idsa-spacing-5);
    color: var(--text-secondary);
}

.author-profile-modal__meta {
    display: grid;
    gap: var(--idsa-spacing-2);
    margin-bottom: var(--idsa-spacing-6);
}

.author-profile-modal__meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-spacing-2);
}

.author-profile-modal__meta-row strong {
    font-weight: 600;
}

.author-profile-modal__specialties {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--idsa-spacing-2);
}

.author-profile-modal__specialties span + span::before {
    content: "•";
    margin-right: var(--idsa-spacing-2);
    color: var(--text-tertiary);
}

.author-profile-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-sm);
}

.author-profile-modal__rule {
    margin: 0;
}

.author-profile-modal__section-head {
    margin-bottom: var(--idsa-spacing-5);
}

.author-profile-modal__list {
    display: grid;
    gap: var(--idsa-gutter-sm);
}

.author-profile-modal__item {
    display: flex;
    flex-direction: row;
    gap: var(--idsa-gutter-md);
    align-items: center;
    padding: var(--idsa-padding-smedium);
    background: var(--background-secondary);
    border-radius: var(--idsa-radius-md);
    box-shadow: 0 0 6px rgba(23, 52, 64, 0.13);
    text-decoration: none;
    color: inherit;
}

.author-profile-modal__item:hover {
    text-decoration: none;
}

.author-profile-modal__item:focus-visible {
    outline: 2px solid var(--btn-focusedBorder);
    outline-offset: 4px;
}

.author-profile-modal__item > div {
    flex: 1 1 auto;
    min-width: 0;
}

.author-profile-modal__item-label,
.author-profile-modal__item-meta {
    margin: 0;
}

.author-profile-modal__item-label {
    color: var(--text-tertiary);
}

.author-profile-modal__item-title {
    margin: 0.25rem 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: var(--idsa-anim-fast);
}

.author-profile-modal__item:hover .author-profile-modal__item-title,
.author-profile-modal__item:focus-visible .author-profile-modal__item-title {
    color: var(--text-primary-hover);
}

.author-profile-modal__item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--idsa-spacing-2);
    color: var(--text-tertiary);
}

.author-profile-modal__dot,
.author-profile-modal__item-dot {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.55;
}

.author-profile-modal__time {
    display: inline-flex;
    align-items: center;
    gap: var(--idsa-spacing-1);
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: var(--background-primary);
    border: 1px solid var(--border-regular);
    color: var(--text-secondary);
}

.author-profile-modal__thumb {
    flex: 0 0 114px;
    width: 116px;
    height: 64px;
    border-radius: var(--idsa-radius-sm);
    object-fit: cover;
}

.author-profile-modal__show-all {
    margin-top: var(--idsa-spacing-3);
}

@media (max-width: 767px) {
    .author-profile-modal .modal-content {
        padding: var(--idsa-padding-md);
    }

    .author-profile-modal__header {
        grid-template-columns: 1fr;
    }

    .author-profile-modal__avatar {
        width: 96px;
        height: 96px;
    }

    .author-profile-modal__item {
        flex-direction: column;
        align-items: flex-start;
    }

    .author-profile-modal__thumb {
        width: 100%;
        height: auto;
        aspect-ratio: 114 / 64;
    }
}

/* AI Derivative - Author Profile Modal Styles : END ------ */
/* ---------------------------------------------- */
/* --------------------------------------------- */
/* -------------------------------------- (°_°) */




/* AI Derivative - Author Profile Page Styles : START */

.page-layout--profile {
    display: grid;
    grid-template-areas: "profile aside";
    grid-template-columns: 1fr 18.875rem;
    align-items: start;
    gap: var(--idsa-gutter-xl) var(--idsa-gutter-md);
    padding-top: var(--idsa-padding-md);
    padding-bottom: var(--idsa-padding-xxl);
}

.profile-page {
    grid-area: profile;
    display: grid;
    gap: var(--idsa-gutter-lg);
}

.card.profile-page__hero,
.card.profile-page__panel {
    padding: var(--idsa-padding-lg);
}

.profile-page__hero-header {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: var(--idsa-gutter-md);
    align-items: start;
}

.profile-page__avatar {
    width: 160px;
    height: 160px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid var(--border-regular);
}

.profile-page__hero-copy {
    display: grid;
    gap: var(--idsa-spacing-4);
}

.profile-page__title-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-spacing-2);
    align-items: baseline;
}

/* .profile-page__title-row h1,
.profile-page__title-row p,
.profile-page__section h4,
.profile-page__section h6 {
    margin: 0;
} */

.profile-page__title-row p,
.profile-page__role,
.profile-page__item p,
.profile-page__inline-list {
    color: var(--text-secondary);
}

.profile-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-sm);
}

.profile-page__tabs {
    display: flex;
    align-items: center;
    gap: var(--idsa-padding-md);
    border-bottom: 1px solid var(--border-regular);
}

.profile-page__tab {
    display: inline-flex;
    align-items: center;
    padding: var(--idsa-padding-smedium) var(--idsa-spacing-2);
    border: 0px solid transparent;
    border-top: 1px solid transparent;
    border-bottom: 2px solid transparent;
    color: var(--text-secondary);
    font-size: var(--idsa-fs-5);
    font-weight: var(--idsa-fw-medium);
    text-decoration: none;
    transition: var(--idsa-anim-fast);
    border-style: inset;
}

.profile-page__tab:hover {
    color: var(--text-primary-hover);
    text-decoration: none;
    border-bottom: 2px solid var(--border-subtleBlue);
    transition: var(--idsa-anim-fast);
}

.profile-page__tab.is-active {
    border-bottom: 2px solid var(--border-emphasis);
    color: var(--text-primary-hover);
}

.profile-page__tab.is-active:hover {
    border-top: 0px solid transparent;
    border-bottom: 3px solid var(--border-emphasis);
    transition: var(--idsa-anim-fast);
}

.profile-page__hero .avatar,
.profile-page__item .avatar{
    width: 100%;
}

.page-layout--profile .area--aside{
    display: grid;
}

.profile-page__item {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--idsa-gutter-sm);
    align-items: start;
}

.profile-page__item:has(.avatar){
    grid-template-columns: 18px minmax(0, 1fr);
}

.profile-page__inline-list--bulleted {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    color: var(--text-secondary);
}

.profile-page__inline-list--bulleted li {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding-left: calc(1rem + 8px);
    left: calc(-1rem - 8px);
}

.profile-page__inline-list--bulleted li::before {
    content: "•";
    position: absolute;
    font-size: 1.5rem;
    top: 50%;
    aspect-ratio: 1 / 1;
    color: var(--idsa-secondary-grey-30);
    transform: translateY(-51%);
    left: 0;
}

@media (max-width: 767px) {
    .profile-page__hero .avatar--profile{
        width: 100px;
    }
}

.profile-page__panel hr {
    margin: var(--idsa-padding-lg) 0;
}

.profile-page__section {
    display: grid;
    gap: var(--idsa-spacing-4);
    border-bottom: 1px solid var(--divider);
    width: 100%;
    padding-bottom: var(--idsa-gutter-lg);
    margin-bottom: var(--idsa-gutter-lg);
}

.profile-page__stack {
    display: grid;
    gap: var(--idsa-padding-md);
}

.profile-page__stack--compact {
    gap: var(--idsa-padding-sm);
}

.profile-page__item {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: var(--idsa-gutter-sm);
    align-items: start;
}

.profile-page__item-icon {
    width: 18px;
    height: 18px;
    border-radius: var(--idsa-radius-xs);
    background: var(--border-regular);
    margin-top: 0.25rem;
}

.profile-page__item h6 + p {
    margin-top: 0.15rem;
}

.profile-page__inline-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--idsa-spacing-2);
    align-items: center;
}

.profile-page__bottom-ad {
    padding-bottom: var(--idsa-padding-xl);
}

@media (max-width: 970px) {
    .page-layout--profile {
        grid-template-areas:
            "profile"
            "aside";
        grid-template-columns: 1fr;
    }
}

@media (max-width: 966px) {
    .page-layout--profile .aside-grouping--1, .page-layout--profile .aside-grouping--2, .page-layout--profile .aside-grouping--2 > .position-sticky {
        display: grid;
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .profile-page__hero-header {
        grid-template-columns: 1fr;
    }

    .profile-page__avatar {
        width: 96px;
        height: 96px;
    }

    .profile-page__hero,
    .profile-page__panel {
        padding: var(--idsa-padding-md);
    }

    .profile-page__tabs {
        gap: var(--idsa-spacing-4);
        overflow-x: auto;
    }
}

/* AI Derivative - Author Profile Pages Styles : END */



/* AI Derivative - Thought Leaders : START */
.asco-tabs--article{
	margin: -8px calc(var(--idsa-gutter-lg) * -1);
	padding: 8px var(--idsa-gutter-lg);
	scroll-padding-inline: var(--idsa-gutter-lg);
	width: calc(100% + (2 * var(--idsa-gutter-lg)));
	--fade-l: var(--idsa-gutter-lg, 8px);
	--fade-r: var(--idsa-gutter-lg, 8px);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	mask-mode: match-source;
	overflow: scroll;
}

#top_thought_leaders .thought-leaders {
	display: grid;
	gap: var(--idsa-gutter-md);
}

#top_thought_leaders .thought-leaders__intro {
	max-width: 56ch;
}

#top_thought_leaders .thought-leaders__intro h6 {
	margin-bottom: var(--idsa-spacing-1);
}

#top_thought_leaders .thought-leaders__intro-copy {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--idsa-spacing-2);
	align-items: baseline;
}

#top_thought_leaders .thought-leaders__intro-copy p,
#top_thought_leaders .thought-leaders__intro-copy a {
	margin: 0;
	font-size: var(--idsa-fs-2);
	line-height: 1.4;
}

#top_thought_leaders .thought-leaders__intro-copy a {
	color: var(--idsa-primary-blue-60);
	text-decoration: underline;
}

#top_thought_leaders .thought-leaders__list {
	display: grid;
	gap: var(--idsa-gutter-md);
	padding-top: var(--idsa-padding-md);
	margin: 0;
	list-style: none;
	border-top: 1px solid var(--border-regular);
}

#top_thought_leaders .thought-leaders__item {
	list-style: none;
}

/* Frontend behavior note: hover/focus color and avatar motion are CSS-only; backend only needs to output the trigger markup and matching modal ids. */
#top_thought_leaders .thought-leaders__trigger {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	gap: var(--idsa-spacing-3);
	align-items: center;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

#top_thought_leaders .thought-leaders__trigger:has(.avatar){
	grid-template-columns: 2.25rem 40px minmax(0, 1fr);
}

#top_thought_leaders .thought-leaders__trigger:focus-visible {
	outline: 2px solid var(--btn-focusedBorder);
	outline-offset: 4px;
	border-radius: var(--idsa-radius-sm);
}

#top_thought_leaders .thought-leaders__rank {
	margin: 0;
	font-size: var(--idsa-fs-3);
	font-weight: var(--idsa-fw-bold);
	line-height: 1;
	justify-self: start;
}

#top_thought_leaders .avatar--thought-leaders {
	width: 40px;
	height: 40px;
	overflow: hidden;
	border: 1px solid var(--border-regular);
	border-radius: 50%;
	transition: var(--idsa-anim-fast);
}

#top_thought_leaders .thought-leaders__trigger:hover .avatar--thought-leaders,
#top_thought_leaders .thought-leaders__trigger:focus-visible .avatar--thought-leaders {
	transform: scale(1.05);
	transition: var(--idsa-anim-fast);
}

#top_thought_leaders .avatar--thought-leaders img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#top_thought_leaders .thought-leaders__content {
	min-width: 0;
}

#top_thought_leaders .thought-leaders__name {
	margin: 0 0 2px;
	font-size: var(--idsa-fs-2);
	line-height: 1.3;
	transition: var(--idsa-anim-fast);
}

#top_thought_leaders .thought-leaders__trigger:hover .thought-leaders__name,
#top_thought_leaders .thought-leaders__trigger:focus-visible .thought-leaders__name {
	color: var(--text-primary-hover);
	transition: var(--idsa-anim-fast);
}

#top_thought_leaders .thought-leaders__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 0.45rem;
	align-items: center;
}

#top_thought_leaders .thought-leaders__meta p,
#top_thought_leaders .thought-leaders__meta span {
	margin: 0;
	font-size: 11px;
	line-height: 1.35;
	color: var(--text-secondary);
}

#top_thought_leaders .thought-leaders__meta span {
	color: var(--text-tertiary);
}

.thought-leader-modal .modal-dialog {
	max-width: 1024px;
}

.thought-leader-modal .modal-content {
	border: 0;
	border-radius: var(--idsa-radius-md);
	box-shadow: 0 0 6px rgba(23, 52, 64, 0.13);
}

.thought-leader-modal .modal-body {
	position: relative;
	padding: var(--idsa-spacing-12);
}

.thought-leader-modal__close {
	position: absolute;
	top: var(--idsa-spacing-6);
	right: var(--idsa-spacing-6);
	z-index: 2;
}

.thought-leader-modal__profile {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: var(--idsa-spacing-6);
	padding-bottom: var(--idsa-spacing-8);
	margin-bottom: var(--idsa-spacing-8);
	border-bottom: 1px solid var(--border-regular);
}

.avatar--thought-leaders-modal {
	width: 160px;
	height: 160px;
	overflow: hidden;
	border: 1px solid var(--border-regular);
	border-radius: 50%;
}

.avatar--thought-leaders-modal img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.thought-leader-modal__title-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--idsa-spacing-2);
	align-items: baseline;
	margin-bottom: var(--idsa-spacing-1);
}

.thought-leader-modal__title-row h1,
.thought-leader-modal__title-row .xl,
.thought-leader-modal__role,
.thought-leader-modal__bio,
.thought-leader-modal__label-row p,
.thought-leader-modal__show-all {
	margin: 0;
}

.thought-leader-modal__role.xl {
	margin-bottom: var(--idsa-spacing-4);
}

.thought-leader-modal__details {
	display: grid;
	gap: var(--idsa-spacing-1);
	margin-bottom: var(--idsa-spacing-4);
}

.thought-leader-modal__label-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--idsa-spacing-2);
	align-items: baseline;
}

.thought-leader-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--idsa-spacing-4);
	margin-top: var(--idsa-spacing-5);
}

.thought-leader-modal__contributions {
	display: grid;
	gap: var(--idsa-gutter-smedium);
}

.thought-leader-modal__contributions h6 {
	margin-bottom: 0;
}

.thought-leader-modal__contribution {
	display: flex;
	gap: var(--idsa-gutter-md);
	align-items: center;
	padding: var(--idsa-padding-smedium);
	background: var(--background-secondary);
	border-radius: var(--idsa-radius-md);
	box-shadow: 0 0 6px rgba(23, 52, 64, 0.13);
	text-decoration: none;
	color: inherit;
}

.thought-leader-modal__contribution:hover {
	text-decoration: none;
}

.thought-leader-modal__contribution:focus-visible {
	outline: 2px solid var(--btn-focusedBorder);
	outline-offset: 4px;
}

.thought-leader-modal__contribution-copy {
	flex: 1 1 auto;
	min-width: 0;
}

.thought-leader-modal__contribution-copy label,
.thought-leader-modal__contribution-copy h5,
.thought-leader-modal__contribution-copy p,
.thought-leader-modal__contribution-meta {
	margin: 0;
}

.thought-leader-modal__contribution-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: var(--idsa-anim-fast);
}

.thought-leader-modal__contribution:hover .thought-leader-modal__contribution-title,
.thought-leader-modal__contribution:focus-visible .thought-leader-modal__contribution-title {
	color: var(--text-primary-hover);
	transition: var(--idsa-anim-fast);
}

.thought-leader-modal__contribution-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.75rem;
	margin-top: var(--idsa-spacing-1);
}

.thought-leader-modal__contribution-meta p {
	font-size: var(--idsa-fs-2);
	color: var(--text-secondary);
}

.thought-leader-modal__contribution-thumb {
	flex: 0 0 114px;
	width: 114px;
	height: 64px;
	border-radius: var(--idsa-radius-sm);
	overflow: hidden;
}

.thought-leader-modal__contribution-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.thought-leader-modal__show-all {
	display: inline-flex;
	align-items: center;
	gap: var(--idsa-spacing-2);
	color: var(--text-primary);
	text-decoration: none;
}

@media (max-width: 575px) {
	#top_thought_leaders .thought-leaders__trigger {
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: var(--idsa-spacing-2);
	}

	#top_thought_leaders .thought-leaders__trigger:has(.avatar){
		grid-template-columns: 2rem 40px minmax(0, 1fr);
	}

	#top_thought_leaders .thought-leaders__intro-copy {
		display: block;
	}

	.thought-leader-modal .modal-body {
		padding: var(--idsa-spacing-8);
	}

	.thought-leader-modal__profile {
		grid-template-columns: 1fr;
	}

	.avatar--thought-leaders-modal {
		width: 96px;
		height: 96px;
	}

	.thought-leader-modal__contribution {
		flex-direction: column;
		align-items: flex-start;
	}

	.thought-leader-modal__contribution-thumb {
		width: 100%;
		height: auto;
		aspect-ratio: 114 / 64;
	}
}
/* Thought Leaders Derivative : END */


/* Top Institutions Derivative : START */
.modal {
    z-index: 1300;
}

#top_institutions .top-institutions {
	display: grid;
	gap: var(--idsa-gutter-md);
}

#top_institutions .top-institutions__intro {
	max-width: 56ch;
}

#top_institutions .top-institutions__intro h6 {
	margin-bottom: var(--idsa-spacing-1);
}

#top_institutions .top-institutions__intro-copy p {
	margin: 0;
	font-size: var(--idsa-fs-2);
	line-height: 1.4;
}

#top_institutions .top-institutions__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--border-regular);
}

#top_institutions .top-institutions__item {
	list-style: none;
}

#top_institutions .top-institutions__entry {
	border-bottom: 1px solid var(--border-regular);
}

#top_institutions .top-institutions__entry[open] {
	padding-bottom: var(--idsa-padding-md);
}

#top_institutions .top-institutions__summary {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr) 1rem;
	gap: var(--idsa-spacing-3);
	align-items: center;
	padding: var(--idsa-padding-md) 0;
	cursor: pointer;
	list-style: none;
}

#top_institutions .top-institutions__summary:has(.avatar) {
	grid-template-columns: 2.25rem 32px minmax(0, 1fr) 1rem;
}

#top_institutions .top-institutions__summary::-webkit-details-marker {
	display: none;
}

#top_institutions .top-institutions__summary:focus-visible {
	outline: 2px solid var(--btn-focusedBorder);
	outline-offset: 4px;
	border-radius: var(--idsa-radius-sm);
}

#top_institutions .top-institutions__rank,
#top_institutions .top-institutions__heading h6,
#top_institutions .top-institutions__heading p,
#top_institutions .top-institutions__panel p,
#top_institutions .top-institutions__tags p,
#top_institutions .top-institutions__tags ul {
	margin: 0;
}

#top_institutions .top-institutions__rank {
	font-size: var(--idsa-fs-3);
	font-weight: var(--idsa-fw-bold);
	line-height: 1;
}

#top_institutions .avatar--top-institutions {
	width: 32px;
	height: 32px;
	overflow: hidden;
	border: 1px solid var(--border-regular);
	border-radius: var(--idsa-radius-round);
	transition: var(--idsa-anim-fast);
}

#top_institutions .avatar--top-institutions img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#top_institutions .top-institutions__heading {
	min-width: 0;
}

#top_institutions .top-institutions__heading h6 {
	font-size: var(--idsa-fs-2);
	line-height: 1.3;
}

#top_institutions .top-institutions__heading p {
	font-size: 11px;
	line-height: 1.35;
	color: var(--text-secondary);
}

#top_institutions .top-institutions__chevron {
	color: var(--text-secondary);
	transition: transform var(--idsa-anim-fast);
}

#top_institutions .top-institutions__entry[open] .top-institutions__chevron {
	transform: rotate(180deg);
}

#top_institutions .top-institutions__panel {
	padding-left: calc(2.25rem + 32px + var(--idsa-spacing-3));
	display: grid;
	gap: var(--idsa-spacing-3);
}

#top_institutions .top-institutions__panel > p {
	max-width: 64ch;
	font-size: var(--idsa-fs-2);
	line-height: 1.4;
	color: var(--text-secondary);
}

#top_institutions .top-institutions__tags {
	display: grid;
	gap: 0;
	padding-top: var(--idsa-spacing-3);
}

#top_institutions .top-institutions__tags p {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--text-primary);
}

#top_institutions .top-institutions__tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.625rem;
	padding: 0;
	list-style: none;
	font-size:12px;
}

#top_institutions .top-institutions__tags li {
	position: relative;
	padding-right: 0.75rem;
}

#top_institutions .top-institutions__tags li:not(:last-child)::after {
	content: "\2022";
	position: absolute;
	right: 0;
	top: 0;
	color: var(--text-tertiary);
}

#top_institutions .top-institutions__tags a {
	color: var(--idsa-primary-blue-60);
	text-decoration: underline;
}


@media (max-width: 575px) {
	#top_institutions .top-institutions__summary {
		grid-template-columns: 2rem minmax(0, 1fr) 1rem;
		gap: var(--idsa-spacing-2);
	}

	#top_institutions .top-institutions__summary:has(.avatar) {
		grid-template-columns: 2rem 32px minmax(0, 1fr) 1rem;
	}

	#top_institutions .top-institutions__panel {
		padding-left: 0;
	}
}
/* AI Derivative - Top Institutions : END */


/* AI DERIVATIVE : END */

/* Action Bar Styles ----------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.action-bar {
	grid-area: action-bar;
    display: grid;
    position: relative;
    top: auto;
    inset: auto;
    background: var(--background-primary);
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    float: none;
    --action-bar-inline-padding: 0px;
    --action-bar-scrollbar-size: 8px;
    --action-bar-scroll-btn-size: 1.25rem;
    --action-bar-scroll-btn-offset: max(var(--idsa-spacing-2), calc((var(--action-bar-inline-padding) - var(--action-bar-scroll-btn-size)) / 2));
    --action-bar-control-clearance: calc(var(--action-bar-scroll-btn-size) + var(--idsa-spacing-4));
    --action-bar-edge-fade-width: calc(var(--action-bar-inline-padding) + var(--idsa-spacing-4));
    --action-bar-scroll-top-allowance: var(--idsa-spacing-2);
}

.action-bar__list {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--idsa-spacing-8);
	padding: 0 var(--idsa-padding-xl);
	border-bottom: 1px solid var(--border-regular);
	border-top: 1px solid var(--border-regular);
	margin: 0;
	list-style: none;
    min-width: max-content
}

.action-bar__item {
	margin: 0;
	flex: 0 0 auto;
}

.action-bar__scroll-area {
	width: 100%;
	padding-bottom: 0;
}

.action-bar--article {
    --action-bar-inline-padding: var(--idsa-padding-lg);
    width: 100%;
    margin: .5rem 0 0;
    position: relative;
    z-index: 0;
    isolation: isolate;
    overflow: visible;
}

.action-bar--article .action-bar__scroll-area {
    position: relative;
    overflow: visible;
    padding-top: var(--action-bar-scroll-top-allowance);
    margin-top: calc(var(--action-bar-scroll-top-allowance) * -1);
}

.action-bar--article .action-bar__list {
	width: max-content;
	min-width: 100%;
    padding-left: var(--action-bar-control-clearance);
    padding-right: var(--action-bar-control-clearance);
}

.action-bar--article:not(.action-bar--scrollable) .action-bar__list {
    padding-left: var(--action-bar-inline-padding);
    padding-right: var(--action-bar-inline-padding);
}

.action-bar--article.action-bar--scrollable:not(.action-bar--has-prev) .action-bar__list {
    padding-left: var(--action-bar-inline-padding);
}

.action-bar--article.action-bar--scrollable:not(.action-bar--has-next) .action-bar__list {
    padding-right: var(--action-bar-inline-padding);
}

.action-bar--article:has(.action-bar__item:only-child) .action-bar__list,
.action-bar--article:has(.action-bar__scroll-btn--prev[hidden]):has(.action-bar__scroll-btn--next[hidden]) .action-bar__list {
    padding-left: 0;
    padding-right: 0;
}

.action-bar__scroll-area .os-scrollbar-horizontal {
	--os-size: var(--action-bar-scrollbar-size);
    height: var(--action-bar-scrollbar-size) !important;
    padding: var(--os-padding-perpendicular) var(--action-bar-inline-padding);
	bottom: 0;
    opacity: 0;
    pointer-events: none;
}

.action-bar__scroll-area:hover .os-scrollbar-horizontal,
.action-bar__scroll-area .os-scrollbar-horizontal:hover,
.action-bar__scroll-area .os-scrollbar-horizontal.os-scrollbar-interaction,
.action-bar__scroll-area .os-scrollbar-horizontal.os-scrollbar-visible {
    opacity: 0 !important;
    pointer-events: none;
}

.action-bar__scroll-area .os-scrollbar-track,
.action-bar__scroll-area .os-scrollbar-track:hover {
	background: var(--divider);
}

.action-bar__scroll-area .os-scrollbar-horizontal .os-scrollbar-handle {
	width: 3rem !important;
	max-width: 3rem !important;
	min-width: 1.75rem !important;
	border-radius: 3px;
}

.action-bar--vertical {
    flex-direction: row;
}

.action-bar--vertical .action-bar__list {
    flex-direction: column;
}

.action-bar--vertical .action-bar__panels {
    flex: 1;
    padding: 1rem;
}

.action-bar__tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--text-tertiary);
    padding: .75rem 0.125rem 0.75rem 0.125rem;
    font: 500 14px/1.2 'Inter', sans-serif;
    border-radius: 0;
    cursor: pointer;
    transition: background var(--idsa-anim-fast), color var(--idsa-anim-fast);
    width: 100%;
    text-align: left;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
	text-decoration:none;
}

.action-bar__icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.action-bar__label {
    flex: 1;
}

.action-bar__tab:hover {
    color: var(--text-primary-hover);
}

.action-bar__tab:focus-visible {
    outline: none;
    box-shadow: var(--idsa-primary-blue-50);
}

.action-bar__tab[aria-selected="true"] {
    color: var(--text-primary-hover);
    /* border-bottom: 2px solid var(--idsa-primary-blue-50); */
}

.action-bar__tab[aria-selected="true"] span {
    font-weight: var(--idsa-fw-semibold);
}

.action-bar__tab[disabled],
.action-bar__tab[aria-disabled="true"] {
    color: var(--text-secondary);
    opacity: var(--disabled);
    cursor: not-allowed;
    pointer-events: none;
}

.action-bar__panel {
	padding-top: var(--idsa-padding-sm);
    padding-bottom: var(--idsa-padding-xl);
    grid-area: article-body;
}

.action-bar__panel[hidden] {
    display: none;
	
}

.action-bar__panel--fade {
    opacity: 0;
    transition: opacity var(--idsa-anim-fast);
}

.action-bar__panel--fade.action-bar__panel--show {
    opacity: 1;
}

.action-bar--scrollable::before,
.action-bar--scrollable::after {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 1px;
    width: var(--action-bar-edge-fade-width);
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity var(--idsa-anim-fast);
}

.action-bar--scrollable::before {
    left: 0;
    background: linear-gradient(to right, var(--background-primary) 40%, transparent 100%);
}

.action-bar--scrollable::after {
    right: 0;
    background: linear-gradient(to left, var(--background-primary) 40%, transparent 100%);
}

.action-bar--scrollable.action-bar--has-prev::before {
    opacity: 1;
}

.action-bar--scrollable.action-bar--has-next::after {
    opacity: 1;
}

.action-bar__scroll-btn {
    position: absolute;
    top: calc(58% + (var(--action-bar-scroll-top-allowance) / 2) - (var(--action-bar-scrollbar-size) / 2));
    z-index: 3;
    width: var(--action-bar-scroll-btn-size);
    height: var(--action-bar-scroll-btn-size);
    justify-content: center;
    transform: translateY(-50%);
    background: var(--background-primary);
    border-radius: var(--idsa-radius-xl);
    box-shadow: 0 0 0 4px var(--background-primary);
}

.action-bar__scroll-btn--prev {
    left: var(--action-bar-scroll-btn-offset);
}

.action-bar__scroll-btn--next {
    right: var(--action-bar-scroll-btn-offset);
}

.action-bar__scroll-btn[disabled] {
    color: var(--text-tertiary);
    background: var(--btn-secondary);
    border-color: var(--btn-secondary);
    pointer-events: none;
    box-shadow: none;
}

.action-bar__scroll-btn .icon {
    width: 0.625rem;
    height: 0.625rem;
}


.page-layout--article .action-bar__panel h2 {
    margin-top: 2rem;
}

.page-layout--article .action-bar__panel h3 {
    margin-top: 1.5rem;
}

.page-layout--article .action-bar__panel h4 {
    margin-top: 1.125rem;
}

.page-layout--article .action-bar__panel h5 {
    margin-top: 1rem;
}

.page-layout--article .action-bar__panel h6 {
    margin-top: .75rem;
}

.page-layout--article .action-bar__panel p {
    margin-bottom: 1rem;
}

.page-layout--article:first-child .action-bar__panel h2:first-child, .page-layout--article:first-child .action-bar__panel h3:first-child, .page-layout--article:first-child .action-bar__panel h4:first-child, .page-layout--article:first-child .action-bar__panel h5:first-child, .page-layout--article:first-child .action-bar__panel h6:first-child {
    margin-top: 0;
}

.action-bar__panels #summary p,
.action-bar__panels #takeaways ul,
.action-bar__panels #takeaways ol {
  /* default fallback styles */
  position: relative;
  max-height: calc((var(--idsa-lh-body)) * 3);
  overflow: hidden;
}

#summary.action-bar__panel{
   display: inline;
   column-gap: var(--idsa-gutter-smedium);
}

.btn--audio-preview {
   flex: 1 0 auto;
   box-shadow: var(--idsa-shadow-sm) !important;
}

@supports (-webkit-line-clamp: 1) {
  .action-bar__panels #summary p,
  .action-bar__panels #takeaways ul,
  .action-bar__panels #takeaways ol {
    /* use the clamp approach in supporting browsers */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    /* optionally override or remove fade overlay */
  }
}

.action-bar__panels #takeaways ul,
.action-bar__panels #takeaways ol {
    margin-bottom: 0;
}

.action-bar__panels #takeaways ul li:nth-child(n+4),
.action-bar__panels #takeaways ol li:nth-child(n+4) {
    display: none;
}

.action-bar .btn.action-bar__read-more-btn,
.action-bar .btn.action-bar__read-more-btn:hover,
.action-bar .btn.action-bar__read-more-btn:active {
    background: linear-gradient(90deg, hsl(210 60 98 / .0) 0%, hsl(210 60 98 / 1) 35%);
    position: absolute;
    bottom: calc((var(--idsa-padding-smedium) - var(--idsa-spacing-4) - 2px) * -1);
    right: calc(var(--idsa-padding-smedium) - var(--idsa-spacing-4));
    padding: var(--idsa-spacing-4) var(--idsa-spacing-4) var(--idsa-spacing-4) var(--idsa-spacing-10);  
    color: var(--text-secondary);
    font-weight: var(--idsa-fw-semibold);
    border: 0px solid transparent;
}

.action-bar .btn.action-bar__read-more-btn:hover{
    color: var(--text-secondary-hover);
}

.action-bar__footer-buttons{
	display: flex;
	gap: var(--idsa-gutter-sm);
	margin-top: var(--idsa-gutter-md);
}

.action-bar__footer-buttons div:first-child{
	margin-right: auto;
}    
/* Action bar : END */


/* Poll : START */
/* ============================================================
   poll.css
   Styles for the Poll question component.
   ============================================================ */

/* ---- Google Fonts import ---- */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

/* ============================================================
   Design tokens
   ============================================================ */

.poll {
    --poll-font:             'Quadrant', sans-serif;
    --poll-text-primary:     var(--dark);
    --poll-text-secondary:   var(--dark-50);
    --poll-btn-bg:           var(--primary-clr-1);
    --poll-btn-bg-hover:     var(--secondary-clr-2);
    --poll-white:            #ffffff;
    --poll-border:           #e4e7ea;
    --poll-radius-sm:        var(--bs-border-radius);
    --poll-radius-md:        var(--bs-border-radius);
    --poll-focus-ring:       var(--idsa-primary-blue-60);
    --poll-purple-bar:       var(--idsa-primary-blue-60);
    --poll-purple-label:     var(--idsa-primary-blue-60);
}

/* ============================================================
   Card container
   ============================================================ */

.poll {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 24px;
    background-color: var(--poll-white);
    border: 1px solid var(--poll-border);
    border-radius: var(--poll-radius-md);
    font-family: var(--poll-font);
    color: var(--poll-text-primary);
    box-sizing: border-box;
    backdrop-filter: blur(8px);
    overflow: clip;
}

/* ============================================================
   Question
   ============================================================ */

.poll__question {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--poll-text-primary);
    margin: 0;
}

/* ============================================================
   Multi-choice inputs
   ============================================================ */

.poll__choices {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.poll__instruction {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-secondary);
    margin: 0;
}

.poll__options-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ---- Individual option ---- */

.poll__option {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-width: 200px;
    padding: 8px;
    background-color: var(--poll-white);
    border: 1px solid var(--poll-border);
    border-radius: var(--poll-radius-md);
    box-sizing: border-box;
    cursor: pointer;
    font-family: var(--poll-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-primary);
    text-align: left;
    transition: border-color 0.15s ease-in-out;
}

.poll__option:hover {
    border-color: #b8bfc4;
}

.poll__option:focus-visible {
    outline: 2px solid var(--poll-focus-ring);
    outline-offset: 2px;
}

/* Selected state */
.poll__option--selected {
    border-color: var(--poll-btn-bg);
}

/* ---- Radio indicator ---- */

.poll__radio {
    position: relative;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 100px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: var(--poll-white);
    box-sizing: border-box;
}

.poll__option--selected .poll__radio {
    background-color: var(--poll-btn-bg);
    border-color: var(--poll-btn-bg);
}

.poll__option--selected .poll__radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: var(--poll-white);
}

/* ---- Option label text ---- */

.poll__option-text {
    flex: 1;
}

/* ============================================================
   Footer row
   ============================================================ */

.poll__footer {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.poll__responses {
    flex: 1;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-secondary);
    margin: 0;
}

.poll__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

/* ---- Text button ("See Results") ---- */

.poll__btn-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 24px;
    min-width: 24px;
    padding: 6px;
    background: none;
    border: none;
    border-radius: var(--poll-radius-sm);
    font-family: var(--poll-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    color: var(--poll-text-primary);
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.15s ease-in-out;
}

.poll__btn-text:hover {
    color: var(--poll-text-secondary);
}

.poll__btn-text:focus-visible {
    outline: 2px solid var(--poll-focus-ring);
    outline-offset: 2px;
}

/* ---- Primary button ("Next") ---- */

.poll__btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 24px;
    min-width: 24px;
    padding: 6px 8px;
    background-color: var(--poll-btn-bg);
    color: var(--poll-white);
    border: none;
    border-radius: var(--poll-radius-sm);
    font-family: var(--poll-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.poll__btn-primary:hover {
    background-color: var(--poll-btn-bg-hover);
}

.poll__btn-primary:focus-visible {
    outline: 2px solid var(--poll-focus-ring);
    outline-offset: 2px;
}

/* ============================================================
   Results — horizontal bar chart
   ============================================================ */

/* ---- Results list (replaces options-list) ---- */

.poll__results-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ---- Individual result row ---- */

.poll__result {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

/* ---- Percentage ---- */

.poll__result-pct {
    flex-shrink: 0;
    width: 52px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-primary);
    margin: 0;
}

/* ---- Bar + labels column ---- */

.poll__result-data {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 2px;
    justify-content: center;
}

/* ---- Bar track ---- */

.poll__result-bar {
    width: 100%;
    border: 1px solid var(--poll-border);
    box-sizing: border-box;
}

/* ---- Bar fill ---- */

.poll__result-bar-fill {
    height: 28px;
    background-color: var(--poll-purple-bar);
}

/* ---- Labels row (option text + count) ---- */

.poll__result-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.poll__result-label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-primary);
    margin: 0;
    white-space: nowrap;
}

.poll__result-count {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--poll-text-primary);
    margin: 0;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ---- Winner modifier ---- */

.poll__result--winner .poll__result-label {
    font-weight: 700;
    color: var(--poll-purple-label);
}
/* Poll : END */

/* Survey : START */
/* ============================================================
   conexiant-survey.css
   Shared styles for the Test Your Knowledge quiz component
   and the Results page component.
   ============================================================ */

/* ---- Google Fonts import ---- */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;700&display=swap');

/* ============================================================
   Preview scaffold — remove when embedding in article template
   ============================================================ */



/* ============================================================
   Design tokens
   ============================================================ */

.post__copy.survey {
    --survey-font:              'Quadrant', sans-serif;
    --survey-text-primary:      var(--dark);
    --survey-text-secondary:    var(--dark);
    --survey-text-tertiary:     var(--dark);;
    --survey-red:               #e92e16;   /* wrong answer text + feedback */
    --survey-red-radio:         #dc3545;   /* wrong answer radio fill */
    --survey-green-label:       #008236;   /* correct answer text */
    --survey-green-radio:       #198754;   /* correct answer radio fill */
    --survey-purple-progress:   var(--idsa-primary-blue-60);   /* progress bar fill */
    --survey-grey-track:        #e4e7ea;   /* progress track + option borders + dividers */
    --survey-card-bg:           #f7fafd;   /* rationale card bg */
    --survey-btn-bg:            var(--primary-clr-1);   /* Continue button */
    --survey-white:             #ffffff;
    --survey-radius-sm:         var(--survey-radius-sm);
    --survey-radius-md:         var(--survey-radius-sm);
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 620px;
    font-family: var(--survey-font);
    color: var(--survey-text-primary);
    box-sizing: border-box;
    margin:auto;
}

/* ============================================================
   Test Your Knowledge — quiz component
   ============================================================ */

/* ---- Header row (title + progress bar) ---- */

.post__copy .survey__header {
    display: flex;
    align-items: flex-end;
    gap: 24px;
    width: 100%;
}

.post__copy .survey__title {
    flex: 1;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--survey-text-primary);
    margin: 0;
    padding-top: 16px;
}

.post__copy .survey__progress {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-shrink: 0;
    width: 133px;
}

.post__copy .survey__progress-label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    white-space: nowrap;
}

.post__copy .survey__progress-bar {
    position: relative;
    width: 100%;
    height: 16px;
}

.post__copy .survey__progress-track {
    position: absolute;
    top: 6px;
    left: 0;
    right: 0;
    height: 4px;
    background-color: var(--survey-grey-track);
    border-radius: 2px;
}

.post__copy .survey__progress-fill {
    position: absolute;
    top: 6px;
    left: 0;
    height: 4px;
    background-color: var(--survey-purple-progress);
    border-radius: 2px;
}

/* ---- Quiz body ---- */

.post__copy .survey__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

/* ---- Question text ---- */

.post__copy .survey__question {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    margin: 0;
}

/* ---- Continue button ---- */

.post__copy .survey__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    width: 100%;
}

.post__copy .survey__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: var(--survey-btn-bg);
    color: var(--survey-white);
    border: none;
    border-radius: 2.5rem;
    padding: 6px 8px;
    min-height: 24px;
    font-family: var(--survey-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.post__copy .survey__btn:hover {
    background-color: #0f3a4d;
}

.post__copy .survey__btn:focus-visible {
    outline: 2px solid var(--survey-purple-progress);
    outline-offset: 2px;
}

/* ============================================================
   Shared options — used by both quiz and results
   ============================================================ */

/* ---- Options section wrapper ---- */

.post__copy .survey__options-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-left: 28px;
    width: 100%;
    box-sizing: border-box;
}

/* ---- Feedback line ---- */

.post__copy .survey__feedback {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
}

.post__copy .survey__feedback--wrong {
    color: var(--survey-red);
}

.post__copy .survey__feedback--right {
    color: var(--survey-green-label);
}

/* ---- Options list ---- */

.post__copy .survey__options-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ---- Individual option ---- */

.post__copy .survey__option {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    background-color: var(--survey-white);
    border: 1px solid var(--survey-grey-track);
    border-radius: var(--survey-radius-md);
    padding: 8px;
    box-sizing: border-box;
    min-width: 200px;
    height: 36px;
}

/* ---- Radio button ---- */

.post__copy .survey__radio {
    position: relative;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 100px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: var(--survey-white);
    box-sizing: border-box;
}

/* Correct / valid selected state */
.post__copy .survey__option--correct .survey__radio {
    background-color: var(--survey-green-radio);
    border-color: var(--survey-green-radio);
}

.post__copy .survey__option--correct .survey__radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: var(--survey-white);
}

/* Invalid / wrong selected state */
.post__copy .survey__option--invalid .survey__radio {
    background-color: var(--survey-red-radio);
    border-color: var(--survey-red-radio);
}

.post__copy .survey__option--invalid .survey__radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: var(--survey-white);
}

/* ---- Option label text ---- */

.post__copy .survey__option-text {
    flex: 1;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
}

.post__copy .survey__option--correct .survey__option-text {
    color: var(--survey-green-label);
}

.post__copy .survey__option--invalid .survey__option-text {
    color: var(--survey-red);
}

/* ---- State icon (check or X circle) ---- */

.post__copy .survey__state-icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- Rationale card ---- */

.post__copy .survey__rationale-section {
    padding-left: 28px;
    width: 100%;
    box-sizing: border-box;
}

.post__copy .survey__rationale-card {
    background-color: var(--survey-card-bg);
    border-radius: var(--survey-radius-md);
    padding: 12px;
    width: 100%;
    box-sizing: border-box;
}

.post__copy .survey__rationale-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-secondary);
    margin: 0;
}

.post__copy .survey__rationale-text + .post__copy .survey__rationale-text {
    margin-top: 8px;
}

.post__copy .survey__rationale-text strong {
    font-weight: 700;
    color: var(--survey-text-secondary);
}

/* ============================================================
   Results page — summary overview
   ============================================================ */

.post__copy .survey__summary-overview {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    width: 100%;
}

.post__copy .survey__summary {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
    flex-shrink: 0;
}

/* ---- Grade heading ("Great job!") ---- */

.post__copy .survey__grade-heading {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--survey-text-primary);
    margin: 0;
}

/* ---- Score card + action links row ---- */

.post__copy .survey__score-links {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* Score card */

.post__copy .survey__score-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 120px;
    padding: 12px;
    border-radius: var(--idsa-radius-md);
    box-shadow: 0 0 6px 0 rgba(23, 52, 64, 0.04);
    box-sizing: border-box;
    overflow: hidden;
    /* Radial gradient: white top-left → light blue bottom */
    background: var(--idsa-primary-blue-20);
}

.post__copy .survey__score-label {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    margin: 0;
    text-align: center;
    width: 80px;
}

.post__copy .survey__score-value {
    font-size: 48px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--survey-text-primary);
    margin: 0;
    text-align: center;
    width: 96px;
}

/* Action links */

.post__copy .survey__action-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    justify-content: center;
    flex-shrink: 0;
}

.post__copy .survey__action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 2px;
    min-height: 24px;
    font-family: var(--idsa-body-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    color: var(--survey-text-tertiary);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    background: none;
    border: none;
}

.post__copy .survey__action-link:hover {
    color: var(--survey-text-primary);
}

.post__copy .survey__action-icon {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- Helpful row ---- */

.post__copy .survey__helpful {
    display: flex;
    gap: 16px;
    align-items: center;
}

.post__copy .survey__helpful-label {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    white-space: nowrap;
}

.post__copy .survey__helpful-btns {
    display: flex;
    gap: 6px;
    align-items: center;
}

.post__copy .survey__helpful-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 2px;
    min-height: 24px;
    font-family: var(--survey-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    color: var(--survey-text-tertiary);
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
}

.post__copy .survey__helpful-btn:hover {
    color: var(--survey-text-primary);
}

/* ============================================================
   Results page — divider
   ============================================================ */

.post__copy .survey__divider {
    width: 100%;
    border: none;
    border-top: 1px solid var(--survey-grey-track);
    margin: 8px 0;
}

.post__copy .survey__divider--thick {
    border-top-width: 3px;
}

/* ============================================================
   Results page — Your Results section
   ============================================================ */

.post__copy .survey__results {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
    background: var(--survey-white);
}

.post__copy .survey__results-heading {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--survey-text-primary);
    margin: 0;
}

/* Q&A list */

.post__copy .survey__qa-list {
    display: flex;
    flex-direction: column;
    gap: 64px;
    width: 100%;
}

/* Collapsed state: clip height + fade overlay */

.post__copy .survey__results-body {
    position: relative;
}

.post__copy .survey__results-body--collapsed {
    max-height: 323px;
    overflow: hidden;
}

.post__copy .survey__results-body--collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 101px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 50%);
    pointer-events: none;
}

/* Individual Q&A block */

.post__copy .survey__qa-block {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.post__copy .survey__qa-question {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    margin: 0;
}

/* ============================================================
   Results page — expand / collapse toggle
   ============================================================ */

.post__copy .survey__toggle-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 4px;
}

.post__copy .survey__toggle-row {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
}

.post__copy .survey__toggle-line {
    flex: 1;
    height: 1px;
    background-color: var(--survey-grey-track);
    min-width: 0;
}

.post__copy .survey__toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    padding: 6px;
    border: 1px solid #d0d4d7;
    border-radius: var(--survey-radius-sm);
    background: var(--survey-white);
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.15s;
}

.post__copy .survey__toggle-btn:hover {
    background-color: #f0f2f4;
}

.post__copy .survey__toggle-btn svg {
    transition: transform 0.2s ease;
}

.post__copy .survey__toggle-btn.is-expanded svg {
    transform: rotate(180deg);
}

.post__copy .survey__toggle-label {
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--survey-text-primary);
    text-align: center;
    white-space: nowrap;
}

/* Survey : END */



/* AI Derivative - Top Topic : START */
#topic .topic-commentaries__intro,
#top_commentaries .topic-commentaries__intro {
	max-width: 62ch;
	margin-bottom: var(--idsa-spacing-8);
}

#topic .topic-commentaries__list,
#top_commentaries .topic-commentaries__list {
	display: grid;
	gap: 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

#topic .topic-commentary,
#top_commentaries .topic-commentary {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.5rem;
	padding-top: 0;
	border-top: 0;
}

#topic .topic-commentary:first-child,
#top_commentaries .topic-commentary:first-child {
	padding-top: 1.5rem;
	border-top: 1px solid var(--border-regular);
}

#topic .topic-commentary__avatar,
#top_commentaries .topic-commentary__avatar {
	width: 40px;
	height: 40px;
	margin-top: var(--idsa-spacing-1);
	overflow: hidden;
	border-radius: 50%;
}

#topic .topic-commentary__body,
#top_commentaries .topic-commentary__body {
	min-width: 0;
}

#topic .topic-commentary__name,
#top_commentaries .topic-commentary__name {
	margin: 0 0 var(--idsa-spacing-1);
	font-weight: var(--idsa-font-weight-semibold);
}

#topic .topic-commentary__meta,
#top_commentaries .topic-commentary__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 0.5rem;
	color: var(--text-secondary);
}

#topic .topic-commentary__meta p,
#top_commentaries .topic-commentary__meta p {
	margin: 0;
}

#topic .topic-commentary__dot,
#top_commentaries .topic-commentary__dot {
	color: var(--text-tertiary);
}

#topic .topic-commentary__quote,
#top_commentaries .topic-commentary__quote {
	position: relative;
	margin: 0 0 var(--idsa-spacing-3);
	padding-left: var(--idsa-spacing-4);
	border-left: 0;
}

#topic .topic-commentary__quote::before,
#topic .topic-commentary__quote::after,
#top_commentaries .topic-commentary__quote::before,
#top_commentaries .topic-commentary__quote::after {
	position: absolute;
	color: var(--text-secondary);
	font-size: 1.25em;
	line-height: 1;
}

#topic .topic-commentary__quote::before,
#top_commentaries .topic-commentary__quote::before {
	content: "\201C";
	left: 0;
	top: 0.1em;
}

#topic .topic-commentary__quote::after,
#top_commentaries .topic-commentary__quote::after {
	content: "\201D";
	position: static;
	margin-left: 0.1em;
}

#topic .topic-commentary__quote p,
#top_commentaries .topic-commentary__quote p {
	margin: 0;
	display: inline;
}

#topic .topic-commentary__source,
#top_commentaries .topic-commentary__source {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.875rem;
	font-weight: var(--idsa-font-weight-medium);
	color: var(--idsa-secondary-grey-80);
	text-decoration: none;
}

#topic .topic-commentary__source svg,
#top_commentaries .topic-commentary__source svg {
	flex: 0 0 auto;
}

@media (max-width: 575px) {
	#topic .topic-commentary,
	#top_commentaries .topic-commentary {
		grid-template-columns: 1fr;
		gap: var(--idsa-spacing-3);
	}
}


/* Popover Styles ---------------- */
/* ------------------------------ */
/* ----------------------------- */
/* ---------------------- (°_°) */

.popover{
    /* display revert is for overriding BS */
    display: revert;
    margin: 0;
    max-width: max-content;
    position: absolute;
    inset: auto;
    border: 0;
    padding: var(--mds-spacing-3) 0;
    border-radius: var(--mds-radius-md);
    background: white;
    justify-items: flex-start;
    box-shadow: var(--mds-shadow-xs), var(--mds-shadow-sm);
    overflow: visible;
}

[popover]:-internal-popover-in-top-layer::backdrop {
    background-color: rgba(0,0,0,0.05);
}

.popover:popover-open{
    display: grid;
}

.popover .btn{
    padding: var(--mds-spacing-4) var(--mds-spacing-5);
    text-align: left;
}

/* === AI Footer Popovers === */


.popover--source,
.popover--attribution {
    padding: var(--mds-spacing-6);
    max-width: min(420px, 90vw);
    font-family: var(--mds-font);
    background: var(--background-primary);
    border: 1px solid var(--border-regular);
    box-shadow: var(--mds-shadow-sm);
    color: var(--text-secondary);
    overflow-wrap: break-word;
    word-break: break-word;
}

.popover--source p {
    margin-bottom: var(--mds-spacing-3);
    line-height: 1.45;
}

.popover--source *:last-child,
.popover--attribution *:last-child {
    margin-bottom: 0;
}

.popover--source, .popover--attribution {
    position: absolute;
    position-area: top span-right;
    position-try-fallbacks: bottom span-right, top span-left, bottom span-left;
    position-visibility: anchors-visible;
    inset: auto;
    margin-block-end: var(--idsa-spacing-2);
    padding: var(--idsa-spacing-6);
    max-width: min(420px, 90vw);
    font-family: var(--idsa-font);
    background: var(--background-primary);
    border: 1px solid var(--border-regular);
    box-shadow: var(--idsa-shadow-sm);
    color: var(--text-secondary);
    overflow-wrap: break-word;
    word-break: break-word;
}

.popover--attribution {
    position-area: top span-left;
    position-try-fallbacks: bottom span-left, top span-right, bottom span-right;
}
/* AI Derivative - Top Topic : END */

/* AI DERIVATIVES : END */

/* 07/2026 Hide/show : START */

.expandable-list {
    position: relative;
    width: 100%;
}

.expandable-list__items {
    overflow: hidden;
    transition: max-height 0.35s ease;
    will-change: max-height;
}

.expandable-list__footer {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    min-height: 3.5rem;
    margin-top: -3.5rem;
    pointer-events: none;
    transition: margin-top 0.35s ease;
}

.expandable-list.is-expanded .expandable-list__footer {
    margin-top: var(--idsa-gutter-smedium);
}

.expandable-list__toggle {
    position: relative;
    z-index: 2;
    pointer-events: auto;
}

.expandable-list__fade {
    position: absolute;
    inset: -2.25rem 0 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.65) 68%,
        rgba(255, 255, 255, 1) 100%
    );
    opacity: 1;
    transition: opacity 0.2s ease;
}

.expandable-list.is-expanded .expandable-list__fade {
    opacity: 0;
    visibility: hidden;
}

.expandable-list__button {
    display: inline-flex;
    align-items: center;
    gap: var(--idsa-padding-xs);
    min-height: 3rem;
    padding: var(--idsa-spacing-4) var(--idsa-spacing-6);
    color: #667A67;
    background: var(--idsa-white);
    border: 1px solid var(--idsa-gray-300);
    border-radius: var(--idsa-radius-round);
    box-shadow: 0 0.25rem 1rem rgba(13, 28, 39, 0.12);
    font-variant-numeric: lining-nums proportional-nums;
    font-size: var(--idsa-fs-3);
    font-weight: var(--idsa-fw-semibold);
    line-height: var(--idsa-lh-4);
    text-transform: none;
}

.expandable-list__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: transform 0.25s ease;
}

.expandable-list__button.is-expanded .expandable-list__button-icon {
    transform: translateY(-1px);
}

.card--browse-by a.btn {
    border-radius: var(--idsa-radius-round);
}

.card--browse-by a.active,
.card.card--browse-by.active a {
    background-color: var(--idsa-primary-blue-10);
}

.card--browse-by .card__header .btn {
    flex: 0 1 auto;
}

@media (max-width: 767px) {
    .card--browse-by .card__header {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
    }

    .card--browse-by .card__header .lead {
        flex: 0 0 100%;
        width: 100%;
        margin-bottom: 0.25rem;
        white-space: nowrap;
        text-align: left;
    }

    .card--browse-by .card__header .btn {
        flex: 1 1 0;
        min-width: 0;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .card--browse-by {
        padding: 0;
    }

    .card--browse-by .card__header {
        column-gap: 0.5rem;
    }

    .card--browse-by .card__header .btn {
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        font-size: var(--idsa-fs-3);
    }
}

@media (prefers-reduced-motion: reduce) {
    .expandable-list__items,
    .expandable-list__footer,
    .expandable-list__fade,
    .expandable-list__button-icon {
        transition: none;
    }
}

.expandable-list.is-expanded .expandable-list__items {
    padding-bottom: 0.125rem;
}

.expandable-list.is-expanded .expandable-list__footer {
    margin-top: 1rem;
}

.card--browse-by .btn--primary-text-outlined {
    transition: background-color .2s ease, color .2s ease;
}

.card--browse-by .btn--primary-text-outlined.active {
    background-color: var(--idsa-primary-blue-10);
}
/* 0726 Hide/show : END */

/* Browse by Topics tabs : START */
.card--browse-by .card__header {
    align-items: center;
}

.browse-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--idsa-gutter-sm);
}

.card--browse-by .browse-tabs .btn {
    border-radius: var(--idsa-radius-round);
}

.card--browse-by .browse-tabs .btn.active,
.card--browse-by .browse-tabs .btn[aria-selected="true"] {
    color: var(--text-primary);
    background-color: var(--idsa-primary-blue-10);
    border-color: var(--idsa-warm-grey-20);
    text-decoration: none;
}

.browse-tab-content,
.browse-tab-panel {
    width: 100%;
    padding-bottom: var(--idsa-padding-sm);
}

.browse-tab-panel[hidden] {
    display: none;
}

@media (max-width: 767px) {
    .card--browse-by .card__header {
        align-items: stretch;
    }

    .browse-tabs {
        width: 100%;
        flex-wrap: nowrap;
        gap: 0.75rem;
    }

    .card--browse-by .browse-tabs .btn {
        flex: 1 1 0;
        min-width: 0;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

@media (max-width: 420px) {
    .browse-tabs {
        gap: 0.5rem;
    }

    .card--browse-by .browse-tabs .btn {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
        font-size: var(--idsa-fs-3);
    }
}

/* Browse by Topics tabs : END */

/* Browse By Topics buttons only */
.card--browse-by .btn--primary-text-outlined:hover {
    text-decoration: none;
}

/* Browse by Topics header only */
.card--browse-by > .card__header {
    justify-content: flex-start;
    align-items: center;
    gap: var(--idsa-gutter-sm);
}

.card--browse-by > .card__header .lead {
    margin: 0;
    flex: 0 0 auto;
    white-space: nowrap;
}

/* ==========================================
   Browse by Topics updates
   ========================================== */

/* Hide Show All when JS determines it's unnecessary */
.expandable-list__footer.is-hidden {
    display: none;
}

/* Remove underline from topic cards */
.browse__list-link:hover,
.browse__list-link:focus {
    text-decoration: none;
}

/* Focus state */
.browse__list-link {
    border-radius: 16px;
    transition: box-shadow .2s ease;
}

.browse__list-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px var(--idsa-primary-blue);
}

/* Video page --------------------------------------------------------------- */
.page-layout--video {
    display: grid;
    grid-template-areas:
        "fw-ad-1          fw-ad-1"
        "breadcrumb       breadcrumb"
        "article          aside"
        "playlist         aside"
        "related-content  related-content"
        "fw-ad-2          fw-ad-2";
    grid-template-columns: minmax(0, 1fr) 18.875rem;
    grid-template-rows: auto 1fr;
    grid-gap: var(--idsa-gutter-md);
    padding-bottom: var(--idsa-gutter-xl);
}

.page-layout--video .article {
    grid-area: article;
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-areas:
        "article-header"
        "article-video"
        "article-share"
        "article-video-body";
    gap: var(--idsa-gutter-md);
    margin-bottom: 0;
}

.page-layout--video .article__header {
    grid-area: article-header;
    margin: 0;
    padding-bottom: 0;
}

.article__video {
    margin-bottom: var(--idsa-padding-md);
    aspect-ratio: 16 / 9;
    background-color: var(--idsa-black);
    grid-area: article-video;
    overflow: hidden;
}

.article__video > :is(iframe, video, .video-js) {
    width: 100%;
    height: 100%;
}

.article__video-nav {
    display: flex;
    align-items: center;
    grid-area: article-share;
}

.page-layout--video .article__header-socials {
    position: static;
    margin: 0;
}

.page-layout--video .aga-tabs {
    display: none;
}

.article__video-transcript {
    background-color: var(--idsa-bg-grey);
    border-radius: var(--idsa-radius-2xl);
    grid-area: article-video-body;
    max-height: 30rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: var(--idsa-padding-md);
}

.article__video-transcript:focus-visible {
    outline: 3px solid var(--border-focused);
    outline-offset: 2px;
}

.action-bar__panel.panel-transcript {
    min-width: 0;
    padding: var(--idsa-padding-sm) 0 var(--idsa-padding-xl);
}

.action-bar__panel.panel-transcript > .article__video-transcript {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.action-bar__panel.panel-transcript > .article__video-transcript > :last-child {
    margin-bottom: 0;
}

.page-layout--video .area--playlist {
    grid-area: playlist;
}

.area--playlist .playlist__area,
.area--playlist .playlist__list {
    display: grid;
    /* gap: var(--idsa-gutter-md); */
}

.area--playlist .playlist__header {
    margin: 0;
    font-size: var(--idsa-fs-h3-global);
}

.area--playlist .landing__card--horizontal-2 {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: var(--idsa-gutter-sm);
    align-items: center;
    position: relative;
    padding-block: var(--idsa-padding-smedium);
    background: transparent;
    border-top: 1px solid var(--border-regular);
    border-radius: 0;
}

.area--playlist .landing__card--horizontal-2 .landing__image-container {
    position: relative;
    height: 8.4375rem;
    overflow: hidden;
    border-radius: 0;
}

.area--playlist .landing__card--horizontal-2 .landing__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.area--playlist .landing__card--horizontal-2 .landing__image-overlay {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--idsa-white);
    background-color: color-mix(in srgb, var(--idsa-black) 30%, transparent);
    opacity: 1;
}

.area--playlist .landing__card--horizontal-2 .landing__image-icon {
    font-size: var(--idsa-fs-7);
}

.area--playlist .landing__card--horizontal-2 .landing__badges {
    display: none;
}

.area--playlist .landing__card--horizontal-2 .landing__title {
    margin: 0;
    font-family: var(--idsa-body-font);
    font-size: var(--idsa-fs-2);
    font-weight: var(--idsa-fw-regular);
    line-height: 1.4;
}

.area--playlist .landing__card--horizontal-2 .landing__link {
    color: var(--text-tertiary);
}

.area--playlist .badge--flat {
    background-color: var(--idsa-bg-grey);
    color: var(--text-secondary);
}

.page-layout--video .area--list-container {
    display: none;
}

.page-layout--video .area--aside {
    grid-area: aside;
    display: grid;
}

@media (max-width: 970px) {
    .page-layout--video {
        grid-template-areas:
            "fw-ad-1"
            "breadcrumb"
            "article"
            "playlist"
            "aside"
            "related-content"
            "fw-ad-2";
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .page-layout--video .area--aside {
        display: block;
    }
}
