@font-face {
    font-family: "DIN Pro";
    src: url(/fonts/DINNextLTPro-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DIN Pro";
    src: url(/fonts/DINNextLTPro-Bold.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Theme colors */
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-secondary-bg: #1C4C36;
    --bs-secondary-bg-rgb: 28, 76, 54;
    --bs-secondary-rgb: 28, 76, 54;
    --bs-tertiary-bg: #C14225;
    --bs-tertiary-bg-rgb: 193, 66, 37;

    --bs-body-color: #000;
    --bs-body-color-rgb: 0, 0, 0;
    --bs-secondary-color: #1C4C36;
    --bs-secondary-color-rgb: 28, 76, 54;
    --bs-tertiary-color: #C14225;
    --bs-tertiary-color-rgb: 193, 66, 37;

    --bs-border-radius: 2rem;

    /* Typography */
    --bs-body-font-size: 1.125rem; /* 18px (assuming 16px root) */
    --bs-body-font-family: "DIN Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

.btn {
    --bs-btn-padding-x: 1rem;
    --bs-btn-padding-y: 0.5rem;
    /* --bs-btn-font-family: ; */
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-radius: 35px;
    --bs-btn-box-shadow: none;
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: none;
}

.border-tertiary {
    border-color: var(--bs-tertiary-color) !important;
}

.btn.btn-primary {
    --bs-btn-color: var(--bs-body-bg);
    --bs-btn-bg: var(--bs-tertiary-color);
    --bs-btn-border-color: var(--bs-tertiary-color);
    --bs-btn-hover-color: var(--bs-tertiary-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: var(--bs-tertiary-color);
    --bs-btn-focus-shadow-rgb: none;
    --bs-btn-active-color: transparent;
    --bs-btn-active-bg: var(--bs-tertiary-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
}

.btn.btn-secondary {
    --bs-btn-color: var(--bs-body-bg);
    --bs-btn-bg: var(--bs-secondary-color);
    --bs-btn-border-color: var(--bs-secondary-color);
    --bs-btn-hover-color: var(--bs-secondary-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: var(--bs-secondary-color);
    --bs-btn-focus-shadow-rgb: none;
    --bs-btn-active-color: transparent;
    --bs-btn-active-bg: var(--bs-secondary-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
}

.accordion {
    --bs-accordion-active-bg: transparent;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-btn-padding-y: 0;
    --bs-accordion-btn-padding-x: 0;
    --bs-accordion-body-padding-y: 0;
    --bs-accordion-body-padding-x: 0;
    --bs-accordion-border-width: 0;
    --bs-accordion-active-color: var(--bs-body-color);
    --bs-accordion-bg: transparent;
    --bs-accordion-border-radius: 0;
}

.regulatoryInformationPanel {
    --bs-border-color: rgba(0, 0, 0, 0.4);
}

.bg-grey {
    background-color: #F1F3F6;
}

.bg-green {
    background-color: #1C4C36;
}

.bg-white {
    background-color: #FFFFFF;
}

.object-position-center { object-position: center; }

.text-white {
    color: #FFFFFF !important;
}

.text-secondary {
    color: var(--bs-secondary-color) !important;
}

.text-tertiary {
    color: var(--bs-tertiary-color) !important;
}

.text-yellow {
    color: #F3CD24 !important;
}

.marker-tertiary li::marker,
.autolus-richtext-block li::marker {
    color: var(--bs-tertiary-color);
}

body {
    overflow-x: hidden; 
}

sup {
    font-size: 0.5em;
    top: -.8em;
}

.btn-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    text-decoration: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.btn-arrow-white {
    background-color:#ffffff;
    color:var(--bs-tertiary-color);
}

.btn-arrow-orange {
    background-color:var(--bs-tertiary-color);
    color:#ffffff;
}

.btn-arrow-secondary {
    background-color:#ffffff;
    color:var(--bs-secondary-color);
}

.btn-arrow::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url("/images/arrow.svg");
    mask-image: url("/images/arrow.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.btn-arrow-prev::before {
    transform: rotate(180deg);
}

#picture-and-text-carousel .picture-text-carousel-controls .btn-arrow:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.logo-image {
    height: auto;
    max-height: 82px;
    width: auto;
    max-width: 100%;
}

.border-top-gradient {
    /* gradient from #F3CD24 to #AC8400 */
    border-top: 9px solid;
    border-image: linear-gradient(to right, #F3CD24, #AC8400) 1;
}

.legal-notices p {
    margin: 0;
}

.references-section p {
    margin: 0.5rem;
}

section a,
footer a {
    color: inherit;
}

#hero-banner {
    background-size: cover;
    background-position: center;
    padding: 4rem 1rem;
    line-height:150%;
}

#hero-banner.homepage-hero-banner {
    min-height:530px;
    margin-bottom:5rem;
}

#hero-banner h1 {
    font-size:2rem;
}

#hero-banner h1.small {
    font-size: 1.375rem;
}

#hero-banner .hero-text {
    font-size:2rem;
    line-height:1.2;
}

#hero-banner .additional-text {
    font-size:1.25rem;
}

#hero-banner .indication-text {
    transform: translateY(50%);
}

#hero-banner .indication-text > .container-lg {
    border-radius: 6px;
    padding: 1.5rem 5rem;
}

#stay-updated .image-and-text-block {
    border-radius: 1rem;
    border:solid 1px #FFFFFF;
}

#stay-updated .image-and-text-block img {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

#stay-updated h2 {
    font-size:3.75rem;
}

#stay-updated a.btn {
    color: #FFFFFF;
    border-color: #FFFFFF;
    /* border-radius: 6px; */
    --bs-btn-border-radius: 6px;
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: 1rem;
}

#stay-updated a.btn:hover {
    color: #1C4C36;
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    /* border-radius: 6px; */
    --bs-btn-border-radius: 6px;
    --bs-btn-padding-x: 2rem;
    --bs-btn-padding-y: 1rem;
}

#picture-and-text-carousel h2,
#picture-and-text-multiple h2 {
    color:var(--bs-tertiary-color);
}

#picture-and-text-carousel .image-and-text-block:last-child,
#picture-and-text-multiple .image-and-text-block:last-child {
    padding-right:0 !important;
}

#picture-and-text-multiple .image-and-text-block > div:first-child,
#picture-and-text-carousel .image-and-text-block > div:first-child {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

#picture-and-text-multiple .image-and-text-block > div:last-child,
#picture-and-text-carousel .image-and-text-block > div:last-child {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    border: solid 1px var(--bs-tertiary-color);
    border-top: none;
}

#picture-and-text-multiple .image-and-text-block h3,
#picture-and-text-carousel .image-and-text-block h3 {
    color: var(--bs-secondary-color);
    font-size:1.375rem;
}

#picture-and-text-carousel .picture-text-image {
    --bs-aspect-ratio: 62.63%;
    max-height: 233px;
}

/* Picture & text carousel: when >3 items, render as a horizontal scroll carousel with a "peek" */
#picture-and-text-carousel .picture-text-carousel-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    touch-action: pan-y;
    cursor: grab;
}

#picture-and-text-carousel .picture-text-carousel-viewport::-webkit-scrollbar {
    display: none;
}

#picture-and-text-carousel .picture-text-carousel-viewport.is-dragging {
    scroll-snap-type: none;
    cursor: grabbing;
}

#picture-and-text-carousel .picture-text-carousel-viewport.is-dragging * {
    user-select: none;
}

#picture-and-text-carousel .picture-text-carousel-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
}

#picture-and-text-carousel .picture-text-slide {
    /* 3 full cards + half of the next (3.5 total), accounting for 3 gaps in view */
    flex: 0 0 calc((100% - (3 * 1.5rem)) / 3.5);
    scroll-snap-align: start;
}

.emphasis-text-block {
    color: var(--bs-secondary-color);
    line-height: 1.2;
    font-size: 3.125rem;
    font-weight: 700;
}

.emphasis-text-block p:last-child {
    margin-bottom: 0;
}

.autolus-richtext-block p:last-of-type {
    margin-bottom: 0;
}

.pro-con-block {
    --procon-icon-size: 18px;
    --procon-icon-gap: 0.5rem;
    --procon-pro-icon: url("/images/pro-tick.svg");
    --procon-con-icon: url("/images/con-cross.svg");
}

.pro-con-block .pros {
    background-color:rgba(28, 76, 54, 0.1);
    border: solid 1px var(--bs-secondary-color);
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    --procon-icon: var(--procon-pro-icon);
    --procon-icon-color: var(--bs-success);
}

.pro-con-block .cons {
    background-color:rgba(193, 66, 37, 0.1);
    border: solid 1px var(--bs-tertiary-color);
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    --procon-icon: var(--procon-con-icon);
    --procon-icon-color: var(--bs-danger);
}

.pro-con-block .pros ul,
.pro-con-block .cons ul {
    list-style: none;
    padding-left: 0;
}

.pro-con-block .pros ul:last-child,
.pro-con-block .cons ul:last-child {
    margin-bottom: 0;
}

.pro-con-block .pros li,
.pro-con-block .cons li {
    position: relative;
    padding-left: calc(var(--procon-icon-size) + var(--procon-icon-gap));
}

.pro-con-block .pros li::before,
.pro-con-block .cons li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: var(--procon-icon-size);
    height: var(--procon-icon-size);
    background-color: var(--procon-icon-color);
    -webkit-mask-image: var(--procon-icon);
    mask-image: var(--procon-icon);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.hcp-video-text-block .video-title {
    font-size:2rem;
}

.hcp-video-text-block .video-title p:last-child {
    margin-bottom: 0;
}

.hcp-video-text-block .hr,
.hcp-support-stage-list .hr {
    background-color: var(--bs-tertiary-color);
    height: 2px;
    width:4.5rem;
}

.hcp-video-text-block .video-description {
    font-size:1.375rem;
}

.two-tab-layout.nav-tabs {
    --bs-nav-tabs-border-radius: 6px;
    --bs-nav-link-color: var(--bs-tertiary-color);
    border: none;
    display: flex;
    justify-content: center;
    gap: 1rem;
    color: var(--bs-secondary-color);
}

.two-tab-layout.nav-tabs .nav-link {
    border: solid 1px var(--bs-tertiary-color);
    border-radius: 6px;
    background-color: transparent;
    padding:0.75rem 4rem;
}

.two-tab-layout.nav-tabs .nav-link.active,
.two-tab-layout.nav-tabs .nav-link:hover {
    background-color: var(--bs-tertiary-color);
    color: #fff;
}

.technical-image-block .explanatory-text {
    font-size: 1.875rem;
}

.technical-image-block .subtitle {
    font-size: 1.375rem;
}

.chart-section {
    color: rgba(64,64,66,1);
}
.chart-section .chart-title {
    font-size:1.375rem;
}

.hcp-hotspot-modal .modal-dialog {
    max-width: 80vw;
    display:flex;
    align-items:center;
}

.hcp-hotspot-modal .modal-dialog .modal-content {
    height:fit-content
}

.hcp-hotspot-modal .modal-dialog .modal-content ul li {
    margin-bottom:1rem;
}

.hcp-support-stage-list .stage-list .stage-item .stage-title {
    font-size:1.375rem;
}

.hcp-support-team-details-block .team-member-name {
    font-size:1.375rem;
}

.hcp-support-team-details-block .autolus-richtext-block a {
    color: var(--bs-tertiary-color);
}

.inclusion-criteria {
    background-color:rgba(28, 76, 54, 0.2);
}

.exclusion-criteria {
    background-color:rgba(193, 66, 37, 0.2);
}

.inclusion-criteria ul,
.exclusion-criteria ul {
    list-style: none;
    padding-left: 0;
}

.inclusion-criteria li.criteria-item,
.exclusion-criteria li.criteria-item {
    --criteria-marker-size: 18px;
    --criteria-marker-gap: 0.5rem;
    position: relative;
    padding-left: calc(var(--criteria-marker-size) + var(--criteria-marker-gap));
}

.inclusion-criteria li.criteria-item::before,
.exclusion-criteria li.criteria-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: var(--criteria-marker-size);
    height: var(--criteria-marker-size);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.inclusion-criteria li.criteria-item::before {
    background-image: url("/images/inclusion-criteria-marker.svg");
}

.exclusion-criteria li.criteria-item::before {
    background-image: url("/images/exclusion-criteria-marker.svg");
}

.fs-0_5 {
    font-size: clamp(0.45rem, calc(0.4318rem + 0.0909vw), 0.5rem);
}

.fs-3_75 {
    font-size: clamp(3.375rem, calc(3.2386rem + 0.6818vw), 3.75rem);
}

.fs-3_125 {
    font-size: clamp(2.8125rem, calc(2.6989rem + 0.5682vw), 3.125rem);
}

.fs-1_875 {
    font-size: clamp(1.6875rem, calc(1.6193rem + 0.3409vw), 1.875rem);
}

.fs-1_375 {
  font-size: clamp(1.25rem, 1.15rem + 0.4vw, 1.375rem);
}

.multiple-chart-block .nav-tabs {
    --bs-nav-tabs-border-radius: 6px;
    --bs-nav-link-color: rgba(64, 64, 66, 1);
    border: none;
    display: flex;
    justify-content: center;
    gap: 1rem;
    color: var(--bs-secondary-color);
}

.multiple-chart-block .nav-tabs .nav-link {
    border: solid 1px rgba(64, 64, 66, 1);
    border-radius: 6px;
    background-color: transparent;
    padding:0.75rem 5rem;
}

.multiple-chart-block .nav-tabs .nav-link.active,
.multiple-chart-block .nav-tabs .nav-link:hover {
    background-color: rgba(64, 64, 66, 1);
    color: #fff;
}

.accordion-block .accordion-button::after {
    color: #fff;
    background-image: url("/images/accordion-up-arrow-icon.svg");
}

.accordion-block .accordion-button:not(.collapsed)::after {
    transform: none;
}

.accordion-block .accordion-button.collapsed::after {
    transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-block .accordion-body ul ul {
    list-style-type: disc;
}

@media (max-width: 991.98px) {
    #picture-and-text-carousel .picture-text-carousel-track {
        gap: 1.25rem;
    }

    #picture-and-text-carousel .picture-text-slide {
        /* 1 full card + half of the next (1.5 total), accounting for 1 gap in view */
        flex-basis: calc((100% - 1.25rem) / 1.5);
    }
}

@media (max-width: 575.98px) {
    #picture-and-text-carousel .picture-text-carousel-track {
        gap: 1rem;
    }

    #picture-and-text-carousel .picture-text-slide {
        /* slightly more than 1 card visible */
        flex-basis: 85%;
    }
}