.tsi {
    --tsi-paper: #f7f5ef;
    --tsi-ink: #27372f;
    --tsi-green: #496d56;
    --tsi-border: #e3e7de;
    --tsi-muted: #748078;
    background: var(--tsi-paper);
    color: var(--tsi-ink);
    padding: 40px 24px 56px;
    font-family: "Microsoft JhengHei","Noto Sans TC",sans-serif;
    font-size: 15px;
    line-height: 1.6
}

    .tsi * {
        box-sizing: border-box
    }

    .tsi [hidden] {
        display: none !important
    }

.tsi-wrap {
    max-width: 1200px;
    margin: 0 auto
}

.tsi-heading {
    margin-bottom: 24px
}

.tsi-eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
    color: #839079;
    font-weight: 600
}

.tsi h1 {
    font-size: 30px;
    line-height: 1.4;
    margin: 8px 0 10px;
    font-weight: 700;
    color: var(--tsi-ink)
}

.tsi-heading p, .tsi-note {
    color: var(--tsi-muted);
    margin: 0
}

.tsi-note {
    margin-bottom: 22px;
    font-size: 14px
}

.tsi-card {
    background: #fff;
    border: 1px solid var(--tsi-border);
    border-radius: 12px;
    padding: 26px 28px;
    margin-bottom: 24px;
    box-shadow: 0 2px 6px rgba(58,72,42,.025)
}

.tsi-section-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 20px;
    border-bottom: 1px solid #edf0e8;
    margin-bottom: 24px
}

.tsi-step {
    background: #e8eee5;
    color: var(--tsi-green);
    font-size: 13px;
    font-weight: 700;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex-shrink: 0
}

.tsi h2 {
    font-size: 19px;
    color: var(--tsi-ink);
    margin: 0 0 4px;
    font-weight: 700
}

.tsi-section-heading p {
    color: var(--tsi-muted);
    font-size: 13px;
    margin: 0
}

.tsi-grid {
    display: grid;
    gap: 22px
}

.tsi-grid-four {
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.tsi-span-two {
    grid-column: span 2
}

.tsi-field {
    min-width: 0
}

    .tsi-field label {
        display: inline-block;
        font-size: 14px;
        font-weight: 600;
        color: #54634e;
        margin: 0 0 8px
    }

.tsi-required {
    color: #b95260
}

.tsi-field input, .tsi-field select, .tsi-field textarea {
    width: 100%;
    border: 1px solid #dfe4da;
    border-radius: 6px;
    padding: 10px 12px;
    background: white;
    color: #394537;
    font: inherit;
    font-size: 16px;
    min-height: 46px;
    line-height: 1.4
}

.tsi-field textarea {
    resize: vertical;
    min-height: 76px
}

    .tsi-field input::placeholder, .tsi-field textarea::placeholder {
        color: #a0a99b;
        font-size: 14px
    }

    .tsi-field input:focus, .tsi-field select:focus, .tsi-field textarea:focus {
        outline: 0;
        border-color: #8ca882;
        box-shadow: 0 0 0 3px rgba(114,144,99,.12)
    }

.tsi-field input:disabled, .tsi-field select:disabled {
    background: #f3f5ef;
    color: #748078
}

.tsi-field-help {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: var(--tsi-muted)
}

    .tsi-field-help p {
        margin: 0
    }

.tsi-field-note {
    display: block;
    color: var(--tsi-muted);
    font-size: 12px;
    margin-top: 7px
}

.tsi .field-validation-error {
    display: block;
    color: #a93e4b;
    font-size: 12px;
    margin-top: 6px
}

.tsi .field-validation-valid {
    display: none
}

.tsi .input-validation-error {
    border-color: #b95260
}

.tsi-errors {
    background: #fbefef;
    border: 1px solid #efcccc;
    padding: 16px 20px;
    margin: 0 0 22px;
    border-radius: 8px;
    color: #9e3447;
    font-size: 14px
}

    .tsi-errors ul {
        margin: 6px 0 0;
        padding-left: 20px
    }

.tsi .validation-summary-valid {
    display: none
}

.tsi-submit {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center
}

    .tsi-submit p {
        color: var(--tsi-muted);
        font-size: 13px;
        margin: 0
    }

.tsi-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 24px;
    border: 1px solid var(--tsi-green);
    border-radius: 7px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    color: white;
    background: var(--tsi-green);
    text-decoration: none;
    cursor: pointer;
    min-height: 47px
}

    .tsi-button:hover, .tsi-button:focus {
        background: #365540;
        color: white;
        text-decoration: none
    }

    .tsi-button:focus-visible {
        outline: 3px solid #8ca37a;
        outline-offset: 3px
    }

    .tsi-button:disabled {
        opacity: .65;
        cursor: wait
    }

.tsi-button-secondary {
    background: #fff;
    color: var(--tsi-green)
}

.tsi-school-field {
    position: relative
}

.tsi-school-results {
    position: absolute;
    top: 79px;
    left: 0;
    right: 0;
    z-index: 50;
    max-height: 310px;
    overflow-y: auto;
    background: white;
    border: 1px solid #cbd9c3;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(39,55,47,.14)
}

.tsi-school-option {
    padding: 12px 14px;
    border-bottom: 1px solid #edf0e8;
    cursor: pointer;
    color: var(--tsi-ink);
    font-size: 14px
}

    .tsi-school-option:last-child {
        border-bottom: 0
    }

    .tsi-school-option[aria-selected="true"], .tsi-school-option:hover {
        background: #edf3e7
    }

    .tsi-school-option strong {
        display: block;
        overflow-wrap: anywhere
    }

    .tsi-school-option small {
        display: block;
        font-size: 12px;
        color: var(--tsi-muted);
        margin-top: 3px;
        overflow-wrap: anywhere
    }

.tsi-result {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 40px
}

.tsi-result-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin: 0 auto 22px;
    border-radius: 50%;
    font-size: 30px;
    color: var(--tsi-green);
    background: #e8eee5
}

.tsi-result h2 {
    font-size: 24px;
    margin-bottom: 15px
}

.tsi-result p {
    color: var(--tsi-muted);
    margin: 0 0 22px
}

.tsi-receipt {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
    margin: 24px 0;
    padding: 22px;
    background: #f6f8f3;
    border-radius: 8px
}

    .tsi-receipt dt {
        font-size: 13px;
        font-weight: 400;
        color: var(--tsi-muted)
    }

    .tsi-receipt dd {
        margin: 7px 0 0;
        color: var(--tsi-ink);
        font-size: 18px;
        overflow-wrap: anywhere
    }

@media(max-width:1099px) {
    .tsi-grid-four {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width:650px) {
    .tsi {
        padding: 26px 16px 36px
    }

        .tsi h1 {
            font-size: 25px
        }

    .tsi-card {
        padding: 22px 18px;
        margin-bottom: 18px
    }

    .tsi-grid-four {
        grid-template-columns: minmax(0,1fr)
    }

    .tsi-span-two {
        grid-column: auto
    }

    .tsi-section-heading {
        gap: 10px
    }

        .tsi-section-heading p {
            font-size: 12px
        }

    .tsi-grid {
        gap: 18px
    }

    .tsi-field-help {
        display: none
    }

    .tsi-submit {
        flex-direction: column;
        align-items: stretch;
        gap: 14px
    }

    .tsi-result {
        padding: 30px 20px
    }

    .tsi-receipt {
        gap: 10px;
        padding: 18px 12px
    }

        .tsi-receipt dd {
            font-size: 16px
        }

    .tsi-school-results {
        max-height: 250px
    }
}

/* Shared teacher special issue form and application results. */
.tsi .tsi-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.tsi-application {
    --tsi-paper: #fff9e8;
    --tsi-ink: #303b44;
    --tsi-muted: #63717c;
    --tsi-border: #b7cdd8;
    --tsi-surface: #fff;
    --tsi-info: #f1f6f9;
    --tsi-accent: #397fa6;
    --tsi-action: #ef8a17;
    --tsi-error: #b83b36;
    --tsi-success: #34734e;
    padding: 20px 24px 28px;
    background: var(--tsi-paper);
    color: var(--tsi-ink);
    font-size: 15px
}

    .tsi-application .tsi-wrap {
        max-width: 900px
    }

    .tsi-application .tsi-card, .tsi-application .tsi-process-note {
        background: var(--tsi-surface);
        border: 1px solid var(--tsi-border);
        border-radius: 16px;
        box-shadow: none
    }

    .tsi-application .tsi-form-card {
        padding: 22px 22px 30px;
        margin: 0 0 20px
    }

    .tsi-application .tsi-required-note {
        font-size: 14px;
        margin: 0 0 34px
    }

    .tsi-application .tsi-required {
        color: var(--tsi-error)
    }

    .tsi-application .tsi-form-row {
        display: grid;
        gap: 20px 12px;
        margin-bottom: 34px;
        align-items: start
    }

    .tsi-application .tsi-form-three {
        grid-template-columns: repeat(3,minmax(0,1fr))
    }

    .tsi-application .tsi-form-two {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 24px
    }

    .tsi-application .tsi-field label, .tsi-application .tsi-field-label {
        display: inline-block;
        font-size: 15px;
        font-weight: 400;
        color: var(--tsi-ink);
        margin: 0 0 5px
    }

    .tsi-application .tsi-field input:not([type=checkbox]), .tsi-application .tsi-field select, .tsi-application .tsi-field textarea {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding: 8px 10px;
        border: 1px solid #c8d3da;
        border-radius: 2px;
        background: var(--tsi-surface);
        color: var(--tsi-ink);
        font-size: 16px;
        line-height: 1.5
    }

    .tsi-application .tsi-field textarea {
        resize: vertical;
        min-height: 42px
    }

        .tsi-application .tsi-field input::placeholder, .tsi-application .tsi-field textarea::placeholder {
            font-size: 14px;
            color: var(--tsi-muted)
        }

        .tsi-application .tsi-field input:focus, .tsi-application .tsi-field select:focus, .tsi-application .tsi-field textarea:focus {
            border-color: var(--tsi-accent);
            box-shadow: 0 0 0 3px rgba(57,127,166,.16)
        }

    .tsi-application .tsi-field input[readonly], .tsi-application .tsi-field select:disabled {
        background: var(--tsi-info);
        color: var(--tsi-muted)
    }

    .tsi-application .tsi-field .input-validation-error {
        border-color: var(--tsi-error)
    }

    .tsi-application .field-validation-error {
        color: var(--tsi-error)
    }

    .tsi-application .tsi-errors {
        background: #fff2f0;
        border-color: #e5bab7;
        color: var(--tsi-error)
    }

    .tsi-application a:not(.tsi-button) {
        color: var(--tsi-accent)
    }

    .tsi-application .tsi-region-selects {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 6px
    }

        .tsi-application .tsi-region-selects > div {
            min-width: 0
        }

        .tsi-application .tsi-region-selects select {
            padding-left: 6px;
            padding-right: 2px
        }

    .tsi-application .tsi-school-field {
        grid-column: span 2
    }

    .tsi-application .tsi-school-input {
        position: relative
    }

    .tsi-application .tsi-school-results {
        top: calc(100% + 4px);
        background: var(--tsi-surface);
        border-color: var(--tsi-border);
        border-radius: 4px;
        box-shadow: 0 8px 24px rgba(48,59,68,.14)
    }

    .tsi-application .tsi-school-option {
        border-color: #dce6ec
    }

        .tsi-application .tsi-school-option[aria-selected="true"], .tsi-application .tsi-school-option:hover {
            background: var(--tsi-info)
        }

    .tsi-application .tsi-field-note {
        font-size: 12px;
        line-height: 1.5;
        margin-top: 6px
    }

    .tsi-application .tsi-other-field {
        margin-top: 12px
    }

    .tsi-application .tsi-quantity-field select {
        display: block;
        width: 125px;
        max-width: 100%
    }

    .tsi-application .tsi-copy-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px 12px
    }

        .tsi-application .tsi-copy-row > input {
            flex: 1 1 140px;
            width: 0 !important;
            min-width: 140px !important
        }

    .tsi-application .tsi-field .tsi-copy-label {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        flex: 0 0 auto;
        margin: 0;
        min-height: 32px;
        font-size: 14px;
        color: var(--tsi-muted);
        cursor: pointer
    }

    .tsi-application .tsi-copy-label input[type=checkbox] {
        appearance: auto;
        flex: 0 0 15px;
        width: 15px;
        height: 15px;
        min-height: 0;
        padding: 0;
        margin: 0;
        border-radius: 0;
        accent-color: var(--tsi-accent);
        cursor: pointer
    }

    .tsi-application .tsi-address-field {
        grid-column: span 2
    }

    .tsi-application .tsi-submit {
        display: block
    }

    .tsi-application .tsi-button {
        min-height: 40px;
        padding: 8px 14px;
        gap: 0;
        border: 1px solid var(--tsi-action);
        border-radius: 3px;
        background: var(--tsi-action);
        color: var(--tsi-ink);
        font-size: 15px;
        font-weight: 400
    }

        .tsi-application .tsi-button:hover, .tsi-application .tsi-button:focus {
            background: #da7810;
            border-color: #da7810;
            color: #25313a
        }

        .tsi-application .tsi-button:focus-visible {
            outline: 3px solid var(--tsi-accent);
            outline-offset: 3px
        }

    .tsi-application .tsi-process-note {
        margin: 0 0 16px;
        padding: 12px 16px;
        font-size: 15px
    }

        .tsi-application .tsi-process-note span {
            color: var(--tsi-accent)
        }

    .tsi-application .tsi-information h2 {
        margin: 0 2px 7px;
        font-size: 17px;
        line-height: 1.5;
        font-weight: 600;
        color: var(--tsi-ink)
    }

    .tsi-application .tsi-information .tsi-notice-heading {
        color: var(--tsi-error)
    }

    .tsi-application .tsi-information-card, .tsi-application .tsi-process-note {
        background: var(--tsi-info)
    }

    .tsi-application .tsi-information-card {
        padding: 14px 18px;
        margin: 0 0 16px;
        font-size: 14px;
        line-height: 1.8
    }

        .tsi-application .tsi-information-card ul {
            padding-left: 21px;
            margin: 0
        }

        .tsi-application .tsi-information-card li {
            overflow-wrap: anywhere
        }

    .tsi-application.tsi-campaign .tsi-information,
    .tsi-application.tsi-campaign .tsi-campaign-subtitle,
    .tsi-application.tsi-campaign #tsi-form,
    .tsi-application.tsi-campaign .tsi-login-prompt {
        font-family: Montserrat,"Noto Sans TC","Noto Sans",Arial,"文泉驛正黑","WenQuanYi Zen Hei","儷黑 Pro","LiHei Pro","微軟正黑體","Microsoft JhengHei","標楷體",DFKai-SB,sans-serif
    }

    .tsi-application.tsi-campaign .tsi-campaign-subtitle {
        font-size: 21.25px;
        font-weight: 500;
        line-height: 25.5px
    }

    .tsi-application.tsi-campaign #tsi-form,
    .tsi-application.tsi-campaign .tsi-login-prompt {
        font-size: 18px;
        line-height: 1.7
    }

    .tsi-campaign #tsi-form .tsi-required-note,
    .tsi-campaign #tsi-form .tsi-field label:not(.tsi-copy-label),
    .tsi-campaign #tsi-form .tsi-field-label,
    .tsi-campaign #tsi-form .tsi-field input:not([type=checkbox]),
    .tsi-campaign #tsi-form .tsi-field select,
    .tsi-campaign #tsi-form .tsi-field textarea {
        font-size: 18px
    }

    .tsi-application.tsi-campaign .tsi-required.text-danger {
        color: #e74c3c !important
    }

    .tsi-campaign #tsi-form #Quantity {
        width: 125px;
        max-width: 100%
    }

    .tsi-campaign #tsi-form #MailingAddress {
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .tsi-application.tsi-campaign .btn-warning {
        font-family: inherit;
        color: #000;
        background-color: #ff8d07;
        border-color: #ff8d07
    }

        .tsi-application.tsi-campaign .btn-warning:hover,
        .tsi-application.tsi-campaign .btn-warning:focus {
            color: #000;
            background-color: #e67e00;
            border-color: #e67e00
        }

        .tsi-application.tsi-campaign .btn-warning:disabled {
            cursor: wait
        }

    .tsi-campaign #tsi-submit-button:hover {
        color: #fff
    }

    .tsi-application.tsi-campaign .tsi-information h2 {
        font-size: 17px;
        font-weight: 500;
        line-height: 25.5px
    }

    .tsi-application.tsi-campaign .tsi-information-card {
        font-size: 18px;
        font-weight: 400;
        line-height: 35px
    }

    .tsi-application .tsi-result-card {
        width: 100%;
        padding: 26px 22px 30px;
        margin: 0;
        text-align: left
    }

        .tsi-application .tsi-result-card h2 {
            margin: 0 0 12px;
            font-size: 22px;
            line-height: 1.5
        }

        .tsi-application .tsi-result-card p {
            margin: 0 0 20px;
            color: var(--tsi-muted);
            font-size: 15px;
            line-height: 1.8
        }

.tsi-application-summary {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px 24px;
    margin: 24px 0;
    padding: 22px 0;
    border-top: 1px solid #dce6ec;
    border-bottom: 1px solid #dce6ec
}

    .tsi-application-summary > div {
        min-width: 0
    }

    .tsi-application-summary dt {
        margin: 0 0 6px;
        color: var(--tsi-muted);
        font-size: 14px;
        font-weight: 400
    }

    .tsi-application-summary dd {
        margin: 0;
        color: var(--tsi-ink);
        font-size: 16px;
        line-height: 1.7;
        overflow-wrap: anywhere;
        white-space: pre-wrap
    }

    .tsi-application-summary .tsi-status-pending {
        color: var(--tsi-accent)
    }

    .tsi-application-summary .tsi-status-approved {
        color: var(--tsi-success)
    }

    .tsi-application-summary .tsi-status-rejected {
        color: var(--tsi-error)
    }

.tsi-summary-address {
    grid-column: 1 / -1
}

@media(max-width:768px) {
    .tsi-application {
        padding: 16px 14px 22px
    }

        .tsi-application .tsi-form-card {
            padding: 20px 16px 24px
        }

        .tsi-application .tsi-required-note {
            margin-bottom: 24px
        }

        .tsi-application .tsi-form-three, .tsi-application .tsi-form-two {
            grid-template-columns: minmax(0,1fr);
            gap: 22px
        }

        .tsi-application .tsi-form-row {
            margin-bottom: 22px
        }

        .tsi-application .tsi-school-field, .tsi-application .tsi-address-field {
            grid-column: auto
        }

        .tsi-application .tsi-information-card {
            padding: 13px 14px
        }

        .tsi-application .tsi-process-note {
            padding: 11px 14px
        }

        .tsi-application .tsi-school-results {
            max-height: 250px
        }

        .tsi-application .tsi-result-card {
            padding: 22px 16px 24px
        }

    .tsi-application-summary {
        grid-template-columns: minmax(0,1fr);
        gap: 20px;
        padding: 20px 0
    }
}

/* Campaign header is limited to the application Index page. */
body.tsi-campaign-page > header {
    font-family: "Microsoft JhengHei","微軟正黑體","Open Sans",sans-serif,"Microsoft JhengHei UI";
    font-size: 18px;
    line-height: 1.6
}

    body.tsi-campaign-page > header .topnav-1 {
        display: none !important
    }

@media(min-width:1400px) {
    body.tsi-campaign-page > header .container {
        max-width: 1320px
    }
}

.tsi.tsi-campaign {
    --tsi-paper: #fff5b5;
    --tsi-nav-height: 50px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--tsi-paper)
}

.tsi-campaign .tsi-wrap {
    max-width: 900px
}

.tsi-application.tsi-campaign .tsi-campaign-nav {
    position: sticky;
    top: 0;
    z-index: 995;
    min-height: 50px;
    padding: 0 20px;
    overflow-x: auto;
    background: #fff;
    font-family: Montserrat,"Noto Sans TC","Noto Sans",Arial,"文泉驛正黑","WenQuanYi Zen Hei","儷黑 Pro","LiHei Pro","微軟正黑體","Microsoft JhengHei","標楷體",DFKai-SB,sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7
}

    .tsi-application.tsi-campaign .tsi-campaign-nav ul {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        width: max-content;
        min-width: 100%;
        min-height: 50px;
        list-style: none;
        margin: 0;
        padding: 0
    }

    .tsi-application.tsi-campaign .tsi-campaign-nav li {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        padding: 0
    }

        .tsi-application.tsi-campaign .tsi-campaign-nav li + li::before {
            content: "";
            flex: 0 0 auto;
            width: 1px;
            height: 25px;
            margin-right: 12px;
            background: #878787
        }

.tsi-application.tsi-campaign .tsi-campaign-nav a {
    display: inline-block;
    padding-right: 15px;
    color: #363636;
    text-decoration: none;
    white-space: nowrap
}

    .tsi-application.tsi-campaign .tsi-campaign-nav li:first-child a {
        color: #ff0000
    }

    .tsi-application.tsi-campaign .tsi-campaign-nav a:hover,
    .tsi-application.tsi-campaign .tsi-campaign-nav a:focus {
        text-decoration: underline
    }

.tsi-application.tsi-campaign .tsi-campaign-nav a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px
}

.tsi-campaign-hero {
    display: block
}

    .tsi-campaign-hero img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 3.3;
        object-fit: cover;
        object-position: center top
    }

.tsi-campaign-content {
    padding: 20px 24px 28px
}

.tsi-campaign-heading {
    border-bottom: 1px solid #d8cea0;
    margin-bottom: 14px;
    padding-bottom: 16px
}

.tsi .tsi-campaign-heading h1 {
    margin: 0;
    font-family: "Noto Serif TC","PMingLiU",serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere
}

.tsi-campaign-subtitle {
    color: #008fbd;
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px
}

.tsi-campaign .tsi-login-prompt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin: 0;
    padding: 32px 28px;
    text-align: left;
    font-size: 15px;
    line-height: 1.6;
    color: var(--tsi-ink)
}

.tsi-campaign .tsi-login-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%
}

    .tsi-campaign .tsi-login-group > span {
        white-space: nowrap
    }

.tsi-campaign .tsi-login-prompt .tsi-button {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 3px 8px;
    font-size: 14px;
    line-height: 1.5;
    white-space: nowrap
}

#tsi-application-content {
    scroll-margin-top: calc(var(--tsi-nav-height) + 16px)
}

@media(max-width:768px) {
    .tsi-campaign-hero img {
        aspect-ratio: 800 / 498;
        object-fit: contain
    }

    .tsi-application.tsi-campaign .tsi-campaign-nav ul {
        justify-content: flex-start
    }

    .tsi-campaign-content {
        padding: 18px 14px 22px
    }

    .tsi .tsi-campaign-heading h1 {
        font-size: 24px
    }

    .tsi-campaign-heading {
        padding-bottom: 12px;
        margin-bottom: 12px
    }

    .tsi-campaign-subtitle {
        font-size: 16px
    }

    .tsi-campaign .tsi-login-prompt {
        padding: 24px 16px
    }
}
