.program-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(400px, 0.85fr);
    gap: 3rem;
    width: min(100% - 2rem, 1200px);
    margin-inline: auto;
    align-items: start;
}

.program-intro-content,
.program-intro-form {
    min-width: 0;
}

.program-intro-content h1,
.program-intro-copy > :first-child {
    margin-top: 0;
}

.program-intro-copy > :last-child {
    margin-bottom: 0;
}

.program-intro-form .web-form-wrapper-program-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}


/* ==================================================
   QUICK LINKS / ICONS
   ================================================== */

.program-quick-links-section {
    position: relative;
    margin-top: -65px;
    padding: 2.5rem 1rem;
    background-color: #003f72; /*#084b7a;*/ /*#002d72;*/
}

.program-quick-links-inner {
    width: min(100%, 1200px);
    margin-inline: auto;
}

.program-icon-grid {
    display: grid;
    grid-template-columns: repeat(var(--icon-count), minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0;
}

.program-icon-grid + .program-icon-grid,
.program-icon-grid + .program-action-grid {
    margin-top: 2rem;
}

.program-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.75rem;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
}

.program-icon-link i {
    color: inherit;
}

.program-icon-link:hover,
.program-icon-link:focus-visible {
    color: #fdb813;
    text-decoration: none;
}

.program-icon-link:focus-visible {
    outline: 3px solid #fdb813;
    outline-offset: 4px;
}


/* ==================================================
   ACTION BUTTONS
   ================================================== */

.program-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

/* One button */
.program-action-grid:has(.program-action-link:only-child) {
    grid-template-columns: 1fr;
}

.program-action-grid:has(.program-action-link:only-child) .program-action-link {
    width: calc((100% - 3rem) / 3);
    justify-self: center;
}

/* Two buttons */
.program-action-grid:has(.program-action-link:nth-child(2):last-child) {
    grid-template-columns: repeat(2, calc((100% - 3rem) / 3));
    justify-content: center;
}

.program-action-link {
    display: block;
    padding: 0.8rem 1rem;
    background-color: #fdb813;
    color: #0a2140;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.program-action-link:hover {
    background-color: #ffffff;
    color: #0a2140;
    text-decoration: none;
}

.program-action-link:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
}


/* ==================================================
   BACKGROUND / DEGREE SECTION
   ================================================== */

.program-background-inner {
    display: flex;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 4rem 20px;
    box-sizing: border-box;
}

.program-background-inner-left {
    justify-content: flex-start;
}

.program-background-inner-right {
    justify-content: flex-end;
}

.program-background-content {
    width: min(100%, 450px);
    padding: 2.5rem;
    background-color: rgba(0, 45, 114, 0.9);
    color: #ffffff;
    font-family: var(--fontBlinnInner);
    font-size: 1.25rem;
    line-height: 1.3;
}

.program-intro-section-no-links {
    margin-bottom: -65px;
}


/* ==================================================
   RESPONSIVE
   ================================================== */

@media screen and (max-width: 900px) {
    .program-intro-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media screen and (max-width: 800px) {
    .program-background-inner {
        display: block;
        padding: 0;
    }

    .program-background-content {
        width: 100%;
        max-width: none;
        padding: 2rem 1rem;
    }
}

@media screen and (max-width: 700px) {
    .program-icon-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem 1.5rem;
    }

    .program-action-grid,
    .program-action-grid:has(.program-action-link:only-child),
    .program-action-grid:has(.program-action-link:nth-child(2):last-child) {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .program-action-grid:has(.program-action-link:only-child) .program-action-link {
        width: 100%;
    }

    .program-action-grid .program-action-link {
        grid-column: auto !important;
    }
}


/* ==================================================
   TEMPORARY DEMO OVERRIDE
   Return legacy sections to normal document flow.
   ================================================== */

.wrapper-sections {
    top: 0 !important;
    margin-top: 0 !important;
}




.blinn-callout {
    background: #fff;
    border: 1px solid #d7dde5;
    border-left: 8px solid;
    border-radius: 12px;
    padding: 1.75rem 2rem;
    margin: 0 0 2rem;
    color: #1f2933;
}

.blinn-callout--gold {
    border-left-color: #fdb813;
}

.blinn-callout--red {
    border-left-color: #a6192e;
}

.blinn-callout h2 {
    margin: 0 0 0.75rem;
    font-size: 1.4rem;
}

.blinn-callout > :first-child {
    margin-top: 0;
}

.blinn-callout > :last-child {
    margin-bottom: 0;
}


#blue-welcome .blinn-callout a {
    color: #0a2140;
    font-size: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

#blue-welcome .blinn-callout a:hover {
    color: #0a2140;
    text-decoration-thickness: 3px;
}

#blue-welcome .blinn-callout a:focus-visible {
    outline: 3px solid #fdb813;
    outline-offset: 3px;
}




.program-intro-wrapper {
    width: min(100% - 2rem, 1200px);
    margin-inline: auto;
}









/*elemen451 form*/
    .program-intro-form lum-root {
        color: #000 !important;
    }

    .program-intro-form lum-root h1,
    .program-intro-form lum-root h2,
    .program-intro-form lum-root h3,
    .program-intro-form lum-root p,
    .program-intro-form lum-root label,
    .program-intro-form lum-root span,
    .program-intro-form lum-root .lum-df-label {
        color: #000 !important;
    }

    .mdt .lum-forms-toggle .mat-button-toggle.mat-button-toggle-checked {
    background-color: #f6f6f6;
    /* color: #fff; */
}

    .mdt .mat-mdc-raised-button.mat-primary {
    background-color: #0a2240;
    max-width: 100px;
    text-align: center;
}


.program-intro-form lum-root .elm-form-step-submit-btn {
    display: block !important;
    width: 100px !important;
    margin: 1rem auto 0 !important;
    background-color: #0a2240 !important;
    color: #fff !important;
}

.program-intro-form lum-root .elm-form-step-submit-btn .mdc-button__label {
    color: #fff !important;
}



/* Element451 reCAPTCHA disclosure */
.program-intro-form lum-root elm-recaptcha-branding .branding {
    color: #333 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center;
}

.program-intro-form lum-root elm-recaptcha-branding .branding a {
    color: #0a4f7a !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    text-decoration: underline !important;
}


.program-intro-form lum-root .mat-mdc-card-header {
    display: none !important;
}


.program-intro-form lum-root .mat-mdc-form-field-subscript-wrapper {
    display: none !important;
}




.program-intro-form lum-root .mat-mdc-card {
    border-top-width: 0 !important;
    border-top-style: none !important;
}




